一种融合图转换器和共同注意力网络的自动事实验证方法

文档序号:28917118发布日期:2022-02-16 11:34阅读:106来源:国知局
一种融合图转换器和共同注意力网络的自动事实验证方法

1.本发明属于人工智能技术领域,具体涉及互联网的声明,对网络中出现的声明,提出了一种融合图转换器和共同注意力网络的自动事实验证方法。


背景技术:

2.互联网的快速发展,将我们置身于一个信息爆炸的时代。网络中的每个人都能以极低甚至“零”成本的方式创造信息,同时每个人也都可以成为信息传播路径上的一个节点。这种获取、创造和传播信息的便捷,使得互联网上存在一定数量的虚假信息。这就需要对互联网的信息有一个判断,但是人工检验不仅费时费力,而且成本很高。那么能否设计一种自动的事实验证系统进行辅助呢?所谓事实验证就是指给定一个声明(claim),要求系统从大规模文本语料库中抽取相关句子作为证据(evidence),并利用这些证据验证声明的正确性。系统需要给出证据对声明的三类判断,支持 (supported)、反对(refuted)或信息不足(notenoughinfo)。
3.现有的事实验证方法通常使用包含检索文档、抽取证据和声明验证的三阶段模型。首先根据给定的声明在形如维基百科的语料库中检索文档,其次在检索到的文档中抽取相关的句子作为证据,最后根据抽取的证据对声明做出判断。
4.现有的方法都使用了较为简单的方式处理多条证据,将证据仅进行物理拼接或者只考虑单独的(证据,声明)对,而没有考虑证据间的关系。
5.举例来说,只有同时结合证据(1)“谋杀是指在没有正当理由的情况下非法杀害另一个人,特别是有预谋的非法杀害另一个人”和证据(2)“1931年3月,23岁的巴加特
·
辛格被判有罪并处以绞刑”我们才可以对声明“巴加特
·
辛格是被谋杀的”做出反对(refuted)的判断。而现有的模型大多将证据(1)和证据(2)视为两个独立的句子,未能考虑两者之间的联系,即证据(1)是对证据(2)中“谋杀”一词的解释,从而无法做出正确的推理。


技术实现要素:

6.本发明的目的是解决现有的自动事实验证方法未考虑到证据间的相关性的问题,创新性地提出了一种融合图转换器和共同注意力网络的自动事实验证方法。
7.本发明提出的自动事实验证方法包含检索文档、抽取证据和验证声明三个阶段。本发明主要关注自动事实验证的第三阶段:声明验证。为了解决上述问题,在声明验证中引入了图神经网络。图神经网络是一种基于连接主义的模型,它通过图的节点之间的信息传递来捕捉图的依赖关系,通过图上的信息传递和聚合来学习更好的节点表示。因此,本发明方法通过引入图转换器来学习证据间的潜在关系并更新证据的表示。除此之外,本方法还引入了共同注意力机制来对声明和证据之间的关系进行推理。共同注意力机制是一种双向的注意力,通过共同注意力机制,声明和证据可以相互学习两者之间的潜在关系,且使得推理过程具有解释性。
8.综上所述,融合图转换器和共同注意力网络进行自动事实验证是一个创新的研究
思路,具有重要的研究意义和研究价值。
9.本发明的技术方案
10.融合图转换器和共同注意力网络的自动事实验证方法,该方法的具体步骤如下:
11.第1、获取事实验证数据集;
12.收集社交媒体中的声明ci以及可以支持或者反对声明ci的证据集合e={e
i,1
,...e
i,j

…ei,n
} 和标签yi作为样本,构造事实检测数据集。
13.第2、根据声明检索相关的文档;
14.给定一个涉及一个或多个可解析到维基百科页面实体的待验证声明,通过实体链接的方法识别声明中潜在的实体,使用识别到的实体作为查询条件在维基百科中搜索相关文档。如声明中提及实体“trevor griffiths”,本发明将其作为查询条件通过在线的维基百科api 检索相关的文档。
15.定义1:实体链接,定义如下:
16.将声明ci中所提及的实体链接到知识库(如维基百科)中相应实体的过程。
17.第3、使用排序模型在检索到的文档中抽取与声明最相关的至多5个句子作为证据;
18.抽取文档中的句子,使用bert base对句子进行编码,取状态[cls]来表示声明和抽取句子的编码结果,计算声明和抽取句子之间的相似度,使用排序模型对其进行排序,选取得分最高的5个句子作为证据。排序模型使用pairwise loss来进行优化。
[0019]
定义2:pairwise,定义如下:
[0020]
考虑两两样本间的偏序关系,典型的代表有ranksvm、lambdamart。
[0021]
第4、使用微调的bert系列预训练语言模型进行编码;
[0022]
在fever数据集上微调bert系列预训练语言模型,使得预训练语言模型可以很好的适用于fever任务,使用第3步抽取到的句子作为证据,构建(证据,声明)对,使用以下微调后的预训练语言模型对(证据,声明)对进行编码,以很好的学习声明和证据之间的潜在关系:
[0023]ei,j
=plm(e
i,j
,ci)
[0024]
其中plm表示微调后的bert系列预训练语言模型,本发明用到的包括bertbase、 bertlarge、robertabase和robertalarge,ci为第i个声明,e
i,j
为声明ci的第j个证据,(e
i,j
,ci)表示将e
i,j
和ci进行物理拼接。
[0025]
定义3:微调,定义如下:
[0026]
微调是指在已经训练好的语言模型的基础上,加入少量的特定任务的参数,例如对于分类问题在语言模型的基础上加一层softmax网络,然后在新的语料上重新训练来进行微调,从而很好的适用于新任务。
[0027]
定义4:预训练语言模型,定义如下:
[0028]
对于大多数的自然语言处理任务,构建一个大规模的有标签的数据集是一个很大的挑战。相反,大规模的无标签语料是相对容易构建的,为了充分利用这些无标签数据,我们可以先利用它们获取一个好的语言表示,再将这些表示用于其他任务。预训练的好处如下:
[0029]
(1)预训练可以从大规模语料中学习得到通用的语言表示,并用于下游任务。
[0030]
(2)预训练提供了更优的模型初始化方法,有助于提高模型的泛化能力和加速模型收敛。
[0031]
(3)预训练可以当作是在小数据集上一种避免过拟合的正则化方法。
[0032]
第5、构建事实验证模型;
[0033]
本发明所提出的事实验证模型为融合图转换器和共同注意力网络的深度模型,该模型将事实验证视为自然语言推理任务。首先通过构建图转换器来学习证据间的潜在关系并更新证据的表示,之后将图转换器的输出和声明编码器的输出作为双层注意力网络的输入进行推理。
[0034]
定义5:自然语言推理,定义如下:
[0035]
自然语言推理主要是判断两个句子(premise,hypothesis)或者两个词之间的语义关系,为了保证模型能够集中在语义理解上,该任务最终退化为一个分类任务,目前类别主要是三分类(entailment,contradiction,neutral),对应于事实验证任务即为(sopported、refuted、 not enough info)。
[0036]
第5.1、使用图转换器来学习证据间的隐含关系;
[0037]
首先将(证据,声明)对和声明作为顶点vi,构建全连接的、无向的、无权重的证据图g,图的顶点集合为v=[vi],vi∈rd,将证据图g输入图转换器中学习证据间的隐含关系,获取顶点的表示:
[0038]
定义6:证据图g,定义如下:
[0039]
证据图g的顶点由声明和证据构成,其为无向的、无权重的、并且顶点自环的全连接图。
[0040]
图转换器是transformer网络在图数据结构上的一种应用,计算方式与transformer网络相似;通过计算节点与相邻节点的相似性,得到加权权重对相邻节点特征的加权求和得到graphattention的输出结果;图转换器同样的利用了多头注意力机制,将所有的 attention结果的输出串联后做映射,并与输入相加得到attention模块输出
[0041][0042]
其中n表示n个头的注意力,本发明中n的取值为4,

表示将n个注意力头生成的特征进行串联,表示节点i的相邻节点集合,为权重矩阵,表示第n个头关于节点vi和vj的注意力,由以下公式给出:
[0043][0044]an
表示第n个头的注意力,为了使梯度稳定,进行了归一化即除以对于任意两个向量qi和kj,a由以下公式给出:
[0045]
[0046]
g(vi,vj)=(wqvi)
t
wkvj[0047]
其中wq∈rd×d、wk∈rd×d为权重矩阵。
[0048]
feedforward网络计算方式如下:
[0049][0050]
其中norm为layernormalization即层归一化,ffn为一个双层感知机网络,为节点vi经过一个模块的输出;图转换器通过堆叠l个以上公式所述的模块来得到最终编码结果本发明中l的取值为6;
[0051]
第5.2、对声明进行编码;
[0052]
使用声明编码器对声明进行编码,本发明中依旧使用微调后的预训练语言模型对声明进行编码,取状态[cls]作为声明的表示:
[0053]ci
=plm(ci)
[0054]
其中plm为微调后的预训练语言模型,ci为第i个声明;
[0055]
第5.3、构建双层的共同注意力网络来进一步推理声明和证据间的关系;
[0056]
首先从图转换器和声明编码器获取双层注意力网络第一层的输入和
[0057][0058][0059]
其中表示e个证据和一个声明经过图转换器编码后的结果,为声明编码器的编码结果。第一层共同注意力网络首先计算两者间的关联矩阵m1:
[0060][0061][0062][0063]
注意力权重和分别为矩阵m1的列向量归一化和行向量归一化;之后,分别根据声明和证据的注意力权重矩阵计算声明和证据的内容矩阵和
[0064][0065][0066]
根据证据的内容矩阵和声明的注意力矩阵计算声明关于证据的共同注意力矩阵
[0067][0068]
以上描述了单层的共同注意力网络的推理过程,总的来说,一层共同注意力网络可以用下式表示:
[0069]
[0070]
为了构建两层的共同注意力网络,将第一层共同注意力网络的输出和输入双向 bilstm中获取第二层共同注意力网络的输入和
[0071][0072][0073][0074][0075]
其中h为bilstm的隐藏状态的大小,m2为第二层的关联矩阵,其值可以反映每个证据和声明之间的相关性;
[0076]
将两层共同注意力网络的输出进行拼接并输入bilstm中得到矩阵u。
[0077][0078]
第6、融合图转换器和共同注意力网络,通过深度神经网络模型进行验证。
[0079]
将矩阵u输入单层的线性的线性神经网络来获得最终的预测输出
[0080][0081]
其中wu为可学习的参数矩阵,b为偏置项,通过训练来最小化损失函数,损失函数如下:
[0082][0083]
其中y
*
为真实标签。
[0084]
本发明的优点和积极效果:
[0085]
本发明开创性地提出了一种融合图转换器和共同注意力网络的自动事实验证方法,针对现有的事实验证方法未能充分地考虑证据间的依赖关系,提出使用图数据结构来对证据间的关系进行建模,并使用图转换器来进行节点间的信息传递,从而学习到更好的节点表示,并设计共同注意力网络来对证据和声明间的关系进行推理。本发明有效地对证据间的关系进行了建模,除此之外其推理的过程具备可解释性,从而很大程度的提高了自动事实验证任务的性能。
附图说明
[0086]
图1为融合图转换器和共同注意力网络的自动事实验证方法的流程图。
[0087]
图2为事实验证数据集的样例示意图。
[0088]
图3为自动事实验证方法的三阶段模型示意图。
[0089]
图4为图转换器的示意图。
[0090]
图5为证据图的示意图。
[0091]
图6为共同注意力网络的示意图。
[0092]
图7为事实验证数据集的样例划分示意图。
[0093]
图8为自动事实验证模型的性能示意图。
[0094]
图9为消融实验的结果示意图。
[0095]
图10为在事实证据上的模型性能示意图。
[0096]
图11为多证据和单证据推理的模型性能示意图。
[0097]
图12为需要多证据推理的样例示意图。
[0098]
图13为关联矩阵示意图,其中,(a)为支持样例的关联矩阵输出结果;(b)为信息不足声明的关联矩阵。
具体实施方式
[0099]
本发明提出了一种融合图转换器和共同注意力网络的自动事实验证方法,方法的主要流程如图1所示。下面结合附图详细说明本发明的具体实施方式。
[0100]
本发明的具体实施过程分为六个步骤,获取自动事实验证数据集;根据声明文本,抽取其中的实体作为检索条件在维基百科中检索相关的文档;使用排序模型在检索到的文档中抽取与声明最相关的五个句子作为证据;使用微调后的预训练语言模型对声明和证据进行编码;构建融合图转换器和共同注意力网络的自动事实验证模型;输入测试样例,通过深度神经网络模型对其进行推理。
[0101]
第1步、样例说明
[0102]
图2列举了三个典型的事实验证样例,分属supported、refuted和notenoughinfo三类。每个样例均包含声明、证据和标签三个部分,其中加黑词为验证声明时的关键信息。以“supported”样例为例,声明为“bhagatsinghwasmurdered.”bhagatsingh是被谋杀的。证据(1)“amurderistheunlawfulkillingofanotherhumanwithoutjustificationorvalidexcuse,especiallytheunlawfulkillingofanotherhumanbeingwithmaliceaforethought.”给出了谋杀的定义:“谋杀是在没有正当理由的情况下非法杀害另一个人,尤其是蓄意非法杀害另一个人。”证据(2)“bhagatsinghwasconvictedandhangedinmarch1931,aged23.”描述了“1931年3月,23岁的巴加特
·
辛格被判有罪并处以绞刑。”综合证据(1)和证据(2)可以判定证据集合不支持声明,因此给定“refuted”的判断。“supported”样例同理,只有同时结合证据(1)和证据(2)才能对声明做出“supported”的判断。没有证据支撑或反对的声明则被标记为“notenoughinfo”。
[0103]
第2步、根据声明检索相关的文档
[0104]
图3的documentretrieval阶段为根据声明中的实体检索相关文档的过程。比如“supported”样例的声明中提及实体“aljardine”和“jardine”,本发明将实体“aljardine”和“jardine”作为查询条件通过在线的维基百科api检索相关的文档。系统返回两篇文档,分别为《aljardine》和《jardine》。
[0105]
第3步、使用排序模型在检索到的文档中抽取与声明最相关的5个句子作为证据图3的sentenceselection阶段为选取证据的过程:抽取第2步返回的文档中的句子,使用预训练语言模型对句子进行编码,取状态[cls]来表示声明和抽取句子的编码结果,计算声明和抽取句子之间的相似度,使用排序模型对其进行排序,选取得分最高的5个句子作为证据(即图中实线以上的部分)。排序前五的句子为:
[0106]
(1)alancharlesjardine(bornseptember3,1942)isanamericanmusician,singerandsongwriterwhoco-foundedthebeachboys.
[0107]
(2)heisbestknownastheband'srhythmguitarist,andfor
occasionallysingingleadvocalsonsinglessuchas"helpme,rhonda"(1965),"thenikissedher"(1965),and"comegowithme"(1978).
[0108]
(3)in2010,jardinereleasedhisdebutsolostudioalbum,apostcardfromcalifornia.
[0109]
(4)in1988,jardinewasinductedintotherockandrollhalloffameasamemberofthebeachboys.
[0110]
(5)sirernestjardine,1stbaronet(1859-1947),scottishmp.
[0111]
第4步、使用微调的预训练语言模型对声明和证据进行编码
[0112]
图3的sentenceencoding阶段为对(证据,声明)对进行编码的过程:在fever数据集上微调预训练语言模型,使得预训练语言模型可以很好的适用于fever任务,使用第3步抽取到的证据,构建(证据,声明)对,使用微调后的预训练语言模型对(证据,声明)对进行编码,以很好的学习声明和证据之间的潜在关系,构建的(证据,声明)对如下:
[0113]
声明ci:aljardineisanamericanrhythmguitarist.
[0114]
(证据,声明)对如下:
[0115]
(e
i,1
,ci)alancharlesjardine(bornseptember3,1942)isanamericanmusician,singerandsongwriterwhoco-foundedthebeachboys.aljardineisanamericanrhythmguitarist.
[0116]
(e
i,2
,ci)heisbestknownastheband'srhythmguitarist,andforoccasionallysingingleadvocalsonsinglessuchas"helpme,rhonda"(1965),"thenikissedher"(1965),and"comegowithme"(1978).aljardineisanamericanrhythmguitarist.
[0117]
(e
i,3
,ci)in2010,jardinereleasedhisdebutsolostudioalbum,apostcardfromcalifornia.aljardineisanamericanrhythmguitarist.
[0118]
(e
i,4
,ci)in1988,jardinewasinductedintotherockandrollhalloffameasamemberofthebeachboys.aljardineisanamericanrhythmguitarist.
[0119]
(e
i,5
,ci)sirernestjardine,1stbaronet(1859-1947),scottishmp.aljardineisanamericanrhythmguitarist.
[0120]
使用微调后的预训练语言模型对以上的声明和5个(声明,证据)对进行编码,得到以下6个编码结果:
[0121]ci
=plm(ci)∈rd[0122]ei,1
=plm(e
i,1
,ci)∈rd[0123]ei,2
=plm(e
i,2
,ci)∈rd[0124]ei,3
=plm(ei,3,ci)∈rd[0125]ei,4
=plm(e
i,4
,ci)∈rd[0126]ei,5
=plm(e
i,5
,ci)∈rd[0127]
第5步、构建事实验证模型
[0128]
如图3的claimverification部分所示。本发明所提出的事实验证模型为融合图转换器和共同注意力网络的深度模型,其将事实验证任务视为自然语言推理任务。首先通
过构建图转换器来学习证据间的潜在关系并更新表示,之后将图转换器的输出和声明编码器的输出作为双层注意力网络的输入进行推理。
[0129]
第5.1步、使用图转换器来学习证据间的隐含表示
[0130]
本发明通过堆叠6个如图4所示的块来构建图转换器。图转换器首先将ci和e
i,1
,e
i,2
,e
i,3
,e
i,4
,e
i,5
作为顶点,构建如图5所示的证据图g,图的顶点集合为v=[vi],vi∈rd,将证据图输入图转换器中学习证据间的隐含关系,将节点的表示更新为v
l
,更新过程如下:
[0131]
通过计算节点与相邻节点的相似性,得到加权权重对相邻节点特征的加权求和得到graphattention的输出结果。图转换器同样的利用了多头的机制,将所有的attention结果的输出串联后做映射,并与输入相加得到attention模块输出
[0132][0133][0134][0135]
g(vi,vj)=(wqvi)
t
wkvj[0136]
其中为节点i的相邻节点,

表示特征的串联。feedforward网络计算方式如下:
[0137][0138]
其中ffn为一个双层感知机网络。图转换器通过堆叠l个(本实施例中l的取值为6)以上模块来得到最终编码结果
[0139]
第5.2步、对声明进行编码
[0140]
本发明中依旧使用微调后的预训练语言模型对声明“aljardineisanamericanrhythmguitarist.”进行编码,取状态[cls]作为声明的表示:
[0141]ci
=plm(ci)∈rd[0142]
第5.3步、构建双层的共同注意力网络来推理声明和证据间的关系
[0143]
双层注意力网络的结构如图6所示。其首先从图转换器和声明编码器获取双层注意力网络第一层的输入和
[0144][0145][0146]
其中表示e个证据和一个声明经过图转换器编码后的结果,为声明编码器的编码结果。第一层共同注意力网络首先计算两者间的关联矩阵m1:
[0147][0148]
[0149][0150]
注意力权重和分别为矩阵m1的列向量归一化和行向量归一化;之后,分别根据声明和证据的注意力权重矩阵计算声明和证据的内容矩阵和
[0151][0152][0153]
根据证据的内容矩阵和声明的注意力矩阵计算声明关于证据的共同注意力矩阵
[0154][0155]
以上描述了单层的共同注意力网络的推理过程,总的来说,一层共同注意力网络可以用下式表示:
[0156][0157]
为了构建两层的共同注意力网络,将第一层共同注意力网络的输出和输入双向 bilstm中获取第二层共同注意力网络的输入和
[0158][0159][0160][0161][0162]
其中h为bilstm的隐藏状态的大小,m2为第二层的关联矩阵,其值可以反映每个证据和声明之间的相关性。
[0163]
将两层共同注意力网络的输出进行拼接并输入bilstm中得到矩阵u。
[0164][0165]
第6步、融合图转换器和共同注意力网络,通过深度神经网络模型进行分类。
[0166]
将矩阵u输入单层的线性的线性神经网络来获得最终的预测输出
[0167][0168]
对于声明“al jardine is an american rhythm guitarist.”模型预测的标签为“supported”。
[0169]
第7步、自动事实验证
[0170]
本发明进行自动事实验证的主要性能指标是标签准确性(label accuracy,la)和 fever score。实验结果表明,本发明在自动事实验证的性能上领先于其它方法。
[0171]
定义7:标签准确性(label accuracy,la),定义如下:
[0172]
标签准确性是一种通用的指标,在本应用中为不考虑检索证据的情况下计算三分类标签的准确率。
[0173]
定义8:fever score,定义如下:
[0174]
只有当检索到的证据至少与一个事实证据集重合,并且预测的标签正确,才会得到fever评分。
[0175]
本方法采用数据集fever。数据集中的声明分为支持(sopported)、反对(refuted)、信息不足(not enough info)三类,数据集的统计信息如图7所示。如图8所示,与其他方法相比本方法在自动事实验证的性能上取得了较大的提高。本方法将基线分为四组,第一组是来自fever任务的顶级模型,包括athene、ucl mrg和unc nlp。第二组则基于预训练语言模型bert base,与第一组相比,该组的性能有了显著的提高,这也显示了使用预训练语言模型对声明和证据进行编码的必要性。在第三组和第四组本方法则分别使用了 bert large和roberta large来对声明和证据进行编码。结果表明,本方法取得了很好的结果,特别是第四组本方法的两项指标在测试集上都优于kgat。除此之外,观察数据发现,随着预训练模型的提升,模型的性能也同步提升。
[0176]
为了进一步验证,本发明方法各模块对性能的影响,本发明进行了消融实验,实验结果如图9所示。allw.roberta large表示预训练模型使用roberta large且使用完整的模型进行训练。-graph表示去除图转换器只使用声明编码器进行训练,-claim表示去除声明编码器只使用图转换器进行训练,-co-attention表示将图转换器和声明编码器的结果直接拼接不经过双层共同注意力网络。实验结果表明,当去除图转换器后模型的性能大幅下降,其标签准确性在验证集和测试集分别下降了20.29%和17.91%,这也说明了图转换器在学习证据间关系时发挥了重要的作用。当去除声明编码器时,验证集和测试集的标签准确性分别下降了0.86%和0.74%,这表明在构建证据图的节点时虽然已经通过(证据,声明)对的方式引入了声明信息,单独的使用声明编码器对声明进行编码也是有必要的。除此之外,不使用共同注意力网络直接进行拼接,其标签准确性在验证集和测试集分别下降了9.58%和8.14%,表明了使用共同注意力网络进行推理的必要性。
[0177]
因为本发明主要关注的是事实验证的第三阶段即声明验证部分,为了消除检索的证据对于模型性能的影响,本发明从验证集中抽取证据被正确检索的样例构建子集。其性能如图10所示,实验结果表明相较于kgat,该发明在标签准确性上提高了7.2%。
[0178]
此外,为了证明本发明的去噪和推理能力,本发明将其与gear和kgat在另一场景下进行了比较。根据推理需要事实证据的数量,我们将除信息不足之外的声明分为两类,若推理这条声明需要多于一条证据则将该声明归为multiple类,若推理这条声明只需要一条证据则将该声明归为single类,实验结果如图11所示。单证据推理主要考察的是模型对于检索证据的去噪能力,因为单证据推理要求模型具备从检索到的证据中选取与推理声明最相关的句子的能力。而多证据推理则考察的是模型对于多证据进行融合推理的能力。本发明在两类实验中都取得了最优的结果,这也说明了本发明在去噪和推理方面的优越性。
[0179]
除此之外,本发明还进行了样例学习。如图12所示为需要多证据推理的样例,为了验证声明,我们需要同时结合证据(1)和证据(2)的信息进行推理。图13(a)为该样例的关联矩阵输出结果,m1和m2分别为共同注意力网络的第一层和第二层输出,其值越大,表明该证据对推理声明做出的贡献越大。关联矩阵的结果与样例一致,证据(1)和(2)获得了最高的关联分数,且m2较m1效果更好,这不仅说明了本发明两层共同注意力网络优秀的推理能力,同时表明了本发明具备可解释性。图13(b)为信息不足声明的关联矩阵,因为信息不足的声
明无事实证据,因此检索到的证据对推理此类声明的贡献应该基本相同,与图示一致。
[0180]
综上所述,使用融合图转换器和共同注意力网络的模型进行自动事实验证,有效地解决了现有的自动事实验证方法未能充分考虑证据间的相关性问题,除此之外,其推理过程具有可解释性,从而更好地完成事实验证问题。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1