句子成分识别方法、装置、计算机设备和存储介质与流程

文档序号:31671682发布日期:2022-09-28 01:05阅读:33来源:国知局
句子成分识别方法、装置、计算机设备和存储介质与流程

1.本技术涉及自然语言处理技术领域,特别是涉及一种句子成分识别方法、装置、计算机设备和存储介质。


背景技术:

2.句法分析是自然语言处理中的关键技术之一,其基本任务是确定句子的句法结构或者句子中词汇之间的依存关系。例如,采用依存句法分析方法,得到词与词之间的依赖关系,依赖关系如与中心词为主谓关系等。因此,依赖关系能够用于分析句子成分。具体是基于依存句法分析和规则方法。
3.但是,依存句法分析和规则的方法,需要人工定义规则并维护,操作复杂。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种操作简单的句子成分识别方法、装置、计算机设备和存储介质。
5.一种句子成分识别方法,所述方法包括:
6.获取句子以及要识别的句子成分;
7.获取所述句子成分对应的问询;
8.将所述问询以及所述句子输入到预先训练好的句子成分识别模型,获得所述句子成分在所述句子中的开始位置和结束位置;所述句子成分识别模型基于问询和标识了各句子成分所在位置的句子集训练得到;
9.根据所述句子成分的所述开始位置和结束位置,获取所述句子成分对应文本内容。
10.在其中一个实施例中,将所述问询以及所述句子输入到预先训练好的句子成分识别模型,获得所述句子成分在所述句子中的开始位置和结束位置,包括:
11.将所述问询的各单词的词向量、位置向量和标识向量作为问询的输入特征,以及将所述句子各单词的词向量、位置向量和标识向量作为句子的输入特征,输入到预先训练好的句子成分识别模型;
12.通过所述句子成分识别模型对所述问询的输入特征和所述句子的输入特征进行处理,得到句子各单词的词表征;其中,所述处理包括问询的输入特征和句子的输入特征的注意力交互处理;
13.根据句子各单词的词表征,获得所述句子成分在所述句子中的开始位置和结束位置。
14.在其中一个实施例中,根据句子各单词的词表征,获得所述句子成分在所述句子中的开始位置和结束位置词表征,包括:
15.根据所述句子每个位置的词表征,若判断对应的所述位置为所述句子成分的开始位置,则将所述位置加入开始位置集合,若判断对应的所述位置为所述句子成分的结束位
置,则将所述位置加入结束位置集合;
16.若所述开始位置集合中的开始位置与结束位置集合中的结束位置的位置匹配概率大于阈值,则得到所述句子成分的开始位置和结束位置。
17.在其中一个实施例中,所述方法还包括:
18.若所述句子成分的开始位置和结束位置之间有谓语成分,则确定所述句子成分为从句;
19.将所述开始位置和结束位置在所述从句范围内的句子成分,确定为所述从句的下属句子成分。
20.在其中一个实施例中,所述方法还包括:
21.获取用于训练的句子集,所述句子集包括各句子的训练语料,所述训练语料包括句子、句子成分、句子成分对应的问询,句子成分开始位置和句子成分结束位置;
22.利用所述训练句子集对待训练的句子成分识别模型进行训练的步骤,包括:将所述句子集中句子的训练语料输入待训练的句子成分识别模型,所述句子成分识别模型根据所述句子成分以及句子成分对应的问询,输出预测的对应句子成分的预测开始位置和预测结束位置,根据所述句子成分开始位置和预测开始位置的差异,所述句子成分结束位置和所述预测结束位置的差异,调整所述句子成分识别模型;
23.重复利用所述训练句子集对待训练的句子成分识别模型进行训练的步骤,直到满足训练结束条件,获得训练好的句子成分识别模型。
24.在其中一个实施例中,所述获取用于训练的句子集,包括:
25.获取句子、句子成分的问询以及标注的句子成分的开始位置和结束位置;
26.根据所述句子、问询以及句子成分的开始位置和结束位置,分别构建句子的各句子成分用做模型输入的训练语料;
27.根据各句子所述训练语料,得到训练句子集。
28.在其中一个实施例中,根据所述句子成分的所述开始位置和结束位置,获取所述句子成分对应文本内容,包括:根据所述句子成分的所述开始位置和结束位置,在所述句子上标识出所述句子成分对应文本内容
29.一种句子成分识别装置,所述装置包括:
30.输入获取模块,用于获取句子以及要识别的句子成分;
31.问询获取模块,用于获取所述句子成分对应的问询;
32.位置获取模块,用于将所述问询以及所述句子输入到预先训练好的句子成分识别模型,获得所述句子成分在所述句子中的开始位置和结束位置;所述句子成分识别模型基于问询和标识了各句子成分所在位置的句子集训练得到;
33.识别模块,用于根据所述句子成分的所述开始位置和结束位置,获取所述句子成分对应文本内容。
34.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
35.获取句子以及要识别的句子成分;
36.获取所述句子成分对应的问询;
37.将所述问询以及所述句子输入到预先训练好的句子成分识别模型,获得所述句子
成分在所述句子中的开始位置和结束位置;所述句子成分识别模型基于问询和标识了各句子成分所在位置的句子集训练得到;
38.根据所述句子成分的所述开始位置和结束位置,获取所述句子成分对应文本内容。
39.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
40.获取句子以及要识别的句子成分;
41.获取所述句子成分对应的问询;
42.将所述问询以及所述句子输入到预先训练好的句子成分识别模型,获得所述句子成分在所述句子中的开始位置和结束位置;所述句子成分识别模型基于问询和标识了各句子成分所在位置的句子集训练得到;
43.根据所述句子成分的所述开始位置和结束位置,获取所述句子成分对应文本内容。
44.上述句子成分识别方法、装置、计算机设备和存储介质,将句子成分的识别当作问答任务,根据句子成分对应的问询,利用句子成分识别模型,输出句子成分在句子中的开始位置和结束位置,根据开始位置和结束位置,获得句子成分对应的文本内容,得到每个句子成分对应的文本内容。该方法通过将成分分析任务当作问答任务,构建每个句子成分的问询,提前训练好句子成分识别模型即可,操作简单,便利性高。
附图说明
45.图1为一个实施例中句子成分识别方法的应用环境图;
46.图2为一个实施例中句子成分识别方法的流程示意图;
47.图3为一个实施例中将问询以及句子输入到预先训练好的句子成分识别模型,获得句子成分在句子中的开始位置和结束位置步骤的流程示意图;
48.图4为另一个实施例中句子成分识别模型的结构示意图;
49.图5为一个实施例中句子成分识别模型训练步骤的流程示意图;
50.图6为一个实施例中句子成分识别装置的结构框图;
51.图7为一个实施例中计算机设备的内部结构图。
具体实施方式
52.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
53.本技术提供的句子成分识别方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。终端获取用户输入的要分析的句子,将识别指令以及句子发送至服务器,服务器获取句子以及要识别的句子成分;获取句子成分对应的问询;将问询以及句子输入到预先训练好的句子成分识别模型,获得句子成分在句子中的开始位置和结束位置;句子成分识别模型基于问询和标识了各句子成分所在位置的句子集训练得到;根据句子成分的开始位置和结束位置,获取句子成分对应文本内容。
54.其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
55.在一个实施例中,如图2所示,提供了一种句子成分识别方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
56.步骤202,获取句子以及要识别的句子成分。
57.在语言学习中,识别句子成分,可以更好的理解语义。句子的组成成分叫句子成分,也叫句法成分。在句子中,词与词之间有一定的组合关系,按照不同的关系,可以把句子分为不同的组成成分。句子成分由词或词组充当。如,英语的句子成分包括主语、谓语、宾语、表语、定语、状语、补足语和同位语等。
58.步骤204,获取句子成分对应的问询(query)。
59.本技术中,将每种句子成分的识别当作问答任务,待分析的句子作为已知的上下文,针对某一句子成分的问询,根据上下文(即待分析的句子)执行该问答任务,问答任务的输出,即是对应的句子成分。因此,问询即是句子成分的识别任务的输入。
60.可以理解的是,每个句子成分对应的问询的内容是已经设置好的。以语言为英文为例,不同句子成分对应的问询如表1所示。
61.表1不同句子成分对应的问询
[0062][0063]
可以理解的是,句子成分的问询不限于表1的形式,不同句子成分的问询不同,只需区分使不同句子成分的问询内容不同即可。
[0064]
一种实施方式中,获取预设的所有句子成分对应的问询,以获得所有句子成分的分析结果。如,获取主语、谓语、宾语、表语、定语、状语、补足语和同位语的问询,以获得句子的主语、谓语、宾语、表语、定语、状语、补足语和同位语。在语言学习的应用场景,用户输入待分析句子后,自动获取预设置的所有句子成分对应的问询。
[0065]
一种实施方式中,获取指定要分析的句子成分,进而获取指定句子成分对应的问询,以获得指定句子成分的分析结果。例如,在语言学习界面,提供有句子输入框以及可选的句子成分选项,用户输入句子后,选择指定要分析的句子成分,如“主语”,则获取预先设置的“主语”对应的问询。
[0066]
步骤206,将问询以及句子输入到预先训练好的句子成分识别模型,获得句子成分在句子中的开始位置和结束位置。
[0067]
具体地,句子成分识别模型基于问询和标识了各句子成分所在位置的句子集训练得到。其中,句子集中的各句子标识了句子成分在句子中的位置,包括开始位置和结束位置。
[0068]
句子成分识别模型可采用elmo,bert,albert,roberta等,对问询和标识了各句子
成分所在位置的句子集进行训练,得到训练好的成分识别模型。
[0069]
利用训练好的成分识别模型,将问询以及句子作为成分识别模型的输入,输出句子成分在句子中的开始位置和结束位置。
[0070]
步骤208,根据句子成分的开始位置和结束位置,获取句子成分对应文本内容。
[0071]
开始位置和结束位置之间的单词,即为句子成分的文本内容。根据开始位置和结束位置,可确定句子成分对应的文本内容从第几个单词开始,到第几个单词结束。例如,谓语成分对应的开始位置和结束位置为(2,4),则谓语成分对应的文本内容从第2个位置的单词开始,到第4个位置的单词结束,即第3个位置和第4个位置的单词为谓语成分的文本内容。以句子“he refused to talk about the sufferings he had during the disaster”为例,输出主语的开始位置为0,结束位置为1,则该句子的主语为he。
[0072]
一个实施例中,根据句子成分的开始位置和结束位置,获取句子成分对应文本内容,包括:根据句子成分的开始位置和结束位置,标识句子成分的文本内容。其中,可以根据需求,标识出全部句子成分的文本内容,也可以标识出指定句子成分的文本内容。标识的方式可以是在句子上将每个句子成分的文本内容使用标记标识出来,同时在相应的标记下标识所属的句子成分。如,用红色框圈出主语的文本内容,并在红色框上方标识为主语。通过这种方式,能够直观地看到每个句子成分的文本内容。标识的方式还可以是以列表的形式将各成分标识以及文本内容展示,文本内容为成分标识的属性值。如,主语:he。
[0073]
上述的句子成分识别方法,将句子成分的识别当作问答任务,根据句子成分对应的问询,利用句子成分识别模型,输出句子成分在句子中的开始位置和结束位置,根据开始位置和结束位置,获得句子成分对应的文本内容,得到每个句子成分对应的文本内容。该方法通过将成分分析任务当作问答任务,构建每个句子成分的问询,提前训练好句子成分识别模型即可,操作简单,便利性高。
[0074]
在另一个实施例中,如图3所示,将问询以及句子输入到预先训练好的句子成分识别模型,获得句子成分在句子中的开始位置和结束位置,包括:
[0075]
s302,将问询的各单词的词向量、位置向量和标识向量作为问询的输入特征,以及将句子各单词的词向量、位置向量和标识向量作为句子的输入特征,输入到预先训练好的句子成分识别模型。
[0076]
一个实施例中,句子成分识别模型的结构如图4所示,包括输入层402,中间层404和输出层406。
[0077]
在输入层,将问询以及待分析句子一起作为输入,在问询第一个单词之前加上开始符[cls],在问询的最后一个单词与句子的第一个单词之间,加上分割符[sep],则输入为input={[cls],q1,q2,...,qm,[sep],x1,x2,...,xm}.其中,q1...qm分别表示问询中的单词,x1...xn表示待分析句子中的单词。输入层除了词向量,还需要加上位置向量,以及标识向量。其中,标识向量标识该单词是问询还是句子。
[0078]
s304,通过句子成分识别模型对问询的输入特征和句子的输入特征进行处理,得到句子各单词的词表征;其中,处理包括问询的输入特征和句子的输入特征的注意力交互处理。
[0079]
其中,利用句子成分识别模型的注意力机制,注意力机制让输入序列(比如词序列)中的每个元素聚焦到其它的元素上。通过注意力交互处理,问询的特征和句子的特征相
互注意,问询的单词的特征参与到句子的单词的特征中,句子的单词的特征参与到问询的单词的特征,二者的单词相互关注注意,最终使句子的词表征融入了问询的特征。
[0080]
其中,中间层可以使用多种预训练的模型,获得每个单词对应的上下文相关的词表征{tc,t1’,t2’,...,tm’,ts,t1,t2,...,tn,ts}。中间层所使用的预训练的模型如,elmo,bert,albert,roberta等,图4所示的以bert为例。其中,在利用bert模型对输入特征进行处理时,问询的输入特征和句子的输入特征的注意力交互处理,利用到问询的信息,通过输入该句子成分对应的问询,与用户输入的句子进行注意力交互,从而定位用户输入句子中对应这个成分的位置。
[0081]
s306,根据句子各单词的词表征,获得句子成分在句子中的开始位置和结束位置。
[0082]
经句子成分识别模型能够输出问询的各单词的词表征以及句子各单词的词表征,因为句子的词表征已融入了问询的特征,可将问询的词表征{tc,t1’,t2’,...,tm’,ts}直接丢弃,不使用,只使用句子各单词的词表征,对句子成分进行预测。在待分析句子中每个单词对应的词表征e={t1,t2,...,tn,ts}上进行预测,判断是否是为句子成分的开始位置或者结束位置,从而得到句子成分在句子中的开始位置和结束位置。
[0083]
具体地,根据句子各单词的词表征,获得句子成分在句子中的开始位置和结束位置,包括:
[0084]
根据句子每个位置的词表征,若判断对应的位置为句子成分的开始位置,则将位置加入开始位置集合,若判断对应的位置为句子成分的结束位置,则将位置加入结束位置集合,若开始位置集合中的开始位置与结束位置集合中的结束位置的位置匹配概率大于阈值,则得到句子成分的开始位置和结束位置。具体地,对于每个位置,判断是否是开始位置以及是否是结束位置,看作二分类问题,公式如下:
[0085]
p
start
=softmax
row
(e

t
start
)∈r
nx2
[0086]
p
end
=softmax
row
(e

t
end
)∈r
nx2
[0087]
其中,是第i个位置是否是开始位置的概率,是第i个位置是否是结束位置的概率,t
start
∈r
dx2
,t
end
∈r
dx2
是句子成分识别模型的参数,e为词表征e={t1,t2,...,tn,ts},d是输出词ti的维度。
[0088]
若是开始位置的概率大于不是开始位置的概率,则i认为是开始位置,将位置的编号i加入开始位置集合pos
start
,如将位置i加入到开始位置集合。同理,是第j个位置是否是结束位置的概率,若是结束位置的概率大于不是结束位置的概率,则j认为是结束位置,将位置的编号j加入到结束位置集合pos
en
d,如将位置j加入到结束位置集合,可得:
[0089][0090][0091]
其中,pos
start
为开始位置集合,pos
en
d为结束位置集合,是第i个位置是否是开始位置的概率,是第j个位置是否是结束位置的概率。
[0092]
将已获得的开始结束位置的集合pos
start
,pos
en
d进行位置匹配得到最终成分的开始结束位置。位置匹配考量的角度是开始位置的编号应当小于结束位置的编号。具体地,可
利用一个分类器进行判断。分类器是预先训练好的,以开始位置的编号小于结束位置的编号为限制条件。具体地,根据开始位置集合和结束位置集合中该位置的词表征判断对于pos
start
集合中的开始位置i和pos
en
d集合中的开始位置j,是否位置匹配,公式如下:
[0093]
p
i,j
=sigmoid(m
·
conact(ei,ej))
[0094]
其中,m∈r
1x2d
是分类器参数,p
i,j
为位置匹配概率,ei为第i个位置的词表征,ej为第j个位置的词表征,conact为连接函数,将ei和ej接接。
[0095]
若位置匹配概率p
i,j
大于阈值,则认为位置《i,j》即是待识别句子相应成分的开始结束位置,其中i为开始位置,j为结束位置。
[0096]
一个句子中可能存在多个相同句子成分的情况,相应的开始位置集合和结束位置集合中的元素分别为多个,在这种情况下,需要计算开始位置集合的每个元素(即开始位置)与结束位置集合中的每个元素(即结束位置)的匹配情况。例如,一个句子中存在两个主句,则开始位置集合和结束位置集合中的元素分别为两个,如开始位置预测为(0,7),结束位置预测为(1,8),则需要计算四个组合位置的位置匹配概率。具体为计算(0,1)的位置匹配概率,表示开始位置为0,结束位置为1,计算(0,8)的位置匹配概率,表示开始位置为0,结束位置为,计算(7,1)的位置匹配概率,表示开始位置为7,结束位置为1,计算(7,8)的位置匹配概率,表示开始位置为7,结束位置为8。最终(0,1),(7,8)位置匹配概率超过匹配阈值,则该句子成分对应的开始结束位置包括(0,1),(7,8),对应的第1个单词和第8的单词为该句子成分对应的文本内容。
[0097]
本实施例中,通过对句子的开始位置、结束位置以及开始位置和结束位置的匹配情况进行判断,能够提高成分识别的准确性。
[0098]
在实际应用中,尤其是在英语学习中,除了单个词语作为成分外,还存在句子充当成分的,例如句子"he refused to talk about the sufferings he had during the disaster."中的定语从句“he had during the disaster”,能够识别到该定语从句为定语成分,在该定语成分中也存在下属成分,如主语he,谓语had等。本实施例中,进一步判断是否有谓语成分在其开始位置和结束位置之间,来判断是否是从句。如果是从句,则将开始位置和结束位置在从句范围内句子成分,确定从句的下属句子成分,从而得到嵌套的结果。
[0099]
例如,针对句子"he refused to talk about the sufferings he had during the disaster.",识别到一个定语成分的开始位置和结束位置为(7,12),对应的文本内容为“he had during the disaster”,识别到该从句的位置范围内,存在一个主语成分的开始位置和结束位置为(7,8),对应的文本内容为“he”,识别到一个谓语成分的开始位置和结束位置为(8,9),对应的文本内容为“had”,识别到一个状态成分的开始位置和结束位置为(9,12),对应的文本内容为“during the disaster”,即该从句的开始位置和结束位置之前存在谓语成分,那么,将开始位置和结束位置在从句范围内的句子成分,“he”、“had”以及“during the disaster”分为该从句的下属句子成分。
[0100]
采用该方法,能够识别到嵌套的句子分成,能够准备分析句子的层次,句子成分的识别结果更准确。
[0101]
在一个实施例中,句子成分识别模型的训练过程,如图5所示,包括以下步骤:
[0102]
s502,获取用于训练的句子集,句子集包括各句子的训练语料,训练语料包括句子、句子成分、句子成分对应的问询,句子成分开始位置和句子成分结束位置。
[0103]
其中,获取训练语料,多个训练语料组成句子集。训练语料包括句子、句子成分、句子成分对应的问询,句子成分开始位置和句子成分结束位置。
[0104]
具体地,获取训练句子集,包括:获取句子、句子成分的问询以及标注的句子成分的开始位置和结束位置;根据句子、问询以及句子成分的开始位置和结束位置,分别构建句子的各句子成分用做模型输入的训练语料;根据各句子训练语料,得到训练句子集。
[0105]
具体地,将每种成分的识别当作一个问答任务,待分析的句子作为已知的上下文。因此,对于每一种成分,需要设计该成分对应的问询。即每种句子成分对应一个问询,如表1所示。这里成分的种类可以根据不同的任务进行设计。对于只需要识别主谓宾的任务,只需要设计主谓宾三种成分对应的问询。实验发现,每种成分的问询设计的越详细,与其他成分的区分度越高,识别的准确度越高。
[0106]
集中的每条样本包括待分析句子及其对应的成分。英文常见的句子成分可分为:主语、谓语、宾语、表语、定语、状语、补足语和同位语,样本形式如表2所示。
[0107]
表2句子成分识别样本形式
[0108][0109]
对句子成分识别语料进行预处理,主要包括过滤一些特殊字符,例如非ascii字符,将网址,电话等用统一字符进行替换,过滤一些不合法的样例,例如成分标注的开始位置大于结束位置等。
[0110]
本技术的句子成分识别方法,将每种成分的识别当作一个问答任务。因此,在准备训练语料时,需要将表1中的一条样例处理成多个样例,每种成分对应一个样例,例如,对于表1中待处理的句子"he refused to talk about the sufferings he had during the disaster."中的主语成分,可处理成如下表3的形式。
[0111]
表3模型输入样例
[0112][0113]
其中,context是待分析文本,加上[sep]结束符是为了保证成分结束位置end_position不出界。element_type是成分的类别,query是该成分对应的人工构造的问题。start_position是成分开始位置,span_position是成分的开始结束位置。对于该样例,存在两个主语成分,因此start_position,end_position以及span_position分别都有两个。可以理解的是,针对句子的每个句子成分,均构建用于模型输入的训练语料集,将句子成分的原始数据,转换成模型所需的数据格式。对于待分析句子中的每一种成分,都包含相应的问询(query)以及该成分的开始结束位置。
[0114]
s504,利用训练句子集对待训练的句子成分识别模型进行训练的步骤,包括:将句子集中句子的训练语料输入待训练的句子成分识别模型,句子成分识别模型根据句子成分以及句子成分对应的问询,输出预测的对应句子成分的预测开始位置和预测结束位置,根据句子成分开始位置和预测开始位置的差异,句子成分结束位置和预测结束位置的差异,调整句子成分识别模型。
[0115]
具体地,利用图4所示的句子成分识别模型进行训练。输入待分析句子以及相应的问询来预测该成分所有的开始结束位置。
[0116]
将问询的各单词的词向量、位置向量和标识向量作为问询的输入特征,以及将句子各单词的词向量、位置向量和标识向量作为句子的输入特征,输入到句子成分识别模型。通过句子成分识别模型对问询的输入特征和句子的输入特征进行处理,得到句子各单词的词表征;其中,处理包括问询的输入特征和句子的输入特征的注意力交互处理。根据句子各单词的词表征,获得句子成分在句子中的预测开始位置和预测结束位置。
[0117]
具体地,根据句子每个位置的词表征,若判断对应的位置为句子成分的开始位置,则将位置加入开始位置集合,若判断对应的位置为句子成分的结束位置,则将位置加入结束位置集合;若开始位置集合中的开始位置与结束位置集合中的结束位置的位置匹配概率大于阈值,则得到句子成分的预测开始位置和预测结束位置。
[0118]
再根据句子成分开始位置和预测开始位置的差异,成分结束位置和预测结束位置的差异,进行反向传播,调整纠错模型的参数。
[0119]
可见,句子成分识别模型需要处理三个任务:1.开始位置的预测,判断每个位置是
否是开始位置,可将该任务看作一个二分类问题。2.结束位置的预测,判断每个位置是否是结束位置,可将该任务看作一个二分类问题。3.开始结束位置是否匹配,对于每一个开始位置和每一个结束位置,判断它们是否匹配,可将该任务看作一个二分类问题。对于每一个任务,使用交叉熵损失,模型整体的损失函数是三者之和,可以通过超参数α,β,γ进行控制比例:
[0120]
l
start
=ce(p
start
,y
start
)
[0121]
l
end
=ce(p
end
,y
end
)
[0122]
l
span
=ce(p
start,end
,y
start,end
)
[0123]
l
all
=αl
start
+βl
end
+γl
span
[0124]
其中,l
start
开始位置预测的损失函数,l
end
为结束位置预测的损失函数,l
span
为开始位置和结束位置匹配的损失函数,l
all
为模型的整体损失函数。
[0125]
在训练过程中,最小化损失函数l
all
的值,训练模型,保存在验证集上成分识别效果最好的模型。
[0126]
s506,满足训练结束条件,获得训练好的句子成分识别模型。
[0127]
具体地,若未满足训练结束条件,则迭代执行利用训练样本对待训练的句子成分识别模型进行训练的,直到满足训练结束条件,得到训练好的句子成分识别模型。结束条件包括迭代次数达到最大迭代次数,或是模型输出精度达到要求。
[0128]
本技术的句子成分识别方法,将句子成分识别当作问询任务,直接提取出待分析句子的成分。对于含有从句的成分的样例,通过后处理的方式,可以得到句子成分的嵌套结构。相比原有的方式更见简单,并且在自己整理的测试集合上f1值可以达到93.02%,说明了该方法的有效性。
[0129]
以英语成句子的成分识别为例,对于句子"he refused to talk about the sufferings he had during the disaster.",组合不同的问询,分别输入到基于问答的句子成分识别模型,从而得到每种成分对应的开始结束位置。理想情况下如下所示:
[0130]
表4实际应用的例子
[0131][0132]
结合待分析的句子,以及每种成分对应的开始结束位置,并进行从句成分的后处理操作可得最终的结果:
[0133][0134]
应该理解的是,虽然图2、3和5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、3和5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0135]
在一个实施例中,如图6所示,提供了一种句子成分识别装置,包括:
[0136]
输入获取模块602,用于获取句子以及要识别的句子成分。
[0137]
问询获取模块604,用于获取句子成分对应的问询。
[0138]
位置获取模块606,用于将问询以及句子输入到预先训练好的句子成分识别模型,获得句子成分在句子中的开始位置和结束位置;句子成分识别模型基于问询和标识了各句子成分所在位置的句子集训练得到。
[0139]
识别模块608,用于根据句子成分的开始位置和结束位置,获取句子成分对应文本内容。
[0140]
上述句子成分识别装置,将句子成分的识别当作问答任务,根据句子成分对应的问询,利用句子成分识别模型,输出句子成分在句子中的开始位置和结束位置,根据开始位置和结束位置,获得句子成分对应的文本内容,得到每个句子成分对应的文本内容。该方法通过将成分分析任务当作问答任务,构建每个句子成分的问询,提前训练好句子成分识别模型即可,操作简单,便利性高。
[0141]
在其中一个实施例中,位置获取模块,包括:输入模块,用于将问询的各单词的词向量、位置向量和标识向量作为问询的输入特征,以及将句子各单词的词向量、位置向量和标识向量作为句子的输入特征,输入到预先训练好的句子成分识别模型;
[0142]
词特征处理模块,用于通过句子成分识别模型对问询的输入特征和句子的输入特征进行处理,得到句子各单词的词表征;其中,处理包括问询的输入特征和句子的输入特征的注意力交互处理;
[0143]
分析模块,用于根据句子各单词的词表征,获得句子成分在句子中的开始位置和结束位置。
[0144]
在其中一个实施例中,词特征处理模块,用于根据句子每个位置的词表征,若判断对应的位置为句子成分的开始位置,则将位置加入开始位置集合,若判断对应的位置为句子成分的结束位置,则将位置加入结束位置集合;若开始位置集合中的开始位置与结束位置集合中的结束位置的位置匹配概率大于阈值,则得到句子成分的开始位置和结束位置。
[0145]
在另一个实施例中,还包括:
[0146]
嵌套识别模块,用于若句子成分的开始位置和结束位置之间有谓语成分,则确定句子成分为从句;将开始位置和结束位置在从句范围内的句子成分,确定为从句的下属句子成分。
[0147]
在另一个实施例中,还包括训练模块,包括:
[0148]
句子集获取模块,用于获取用于训练的句子集,句子集包括各句子的训练语料,训练语料包括句子、句子成分、句子成分对应的问询,句子成分开始位置和句子成分结束位置;
[0149]
训练模块,用于利用训练句子集对待训练的句子成分识别模型进行训练的步骤,包括:将句子集中句子的训练语料输入待训练的句子成分识别模型,句子成分识别模型根据句子成分以及句子成分对应的问询,输出预测的对应句子成分的预测开始位置和预测结束位置,根据句子成分开始位置和预测开始位置的差异,句子成分结束位置和预测结束位置的差异,调整句子成分识别模型;重复利用训练句子集对待训练的句子成分识别模型进行训练的步骤,直到满足训练结束条件,获得训练好的句子成分识别模型。
[0150]
在另一个实施例中,句子集获取模块,用于获取句子、句子成分的问询以及标注的句子成分的开始位置和结束位置;根据句子、问询以及句子成分的开始位置和结束位置,分别构建句子的各句子成分用做模型输入的训练语料;根据各句子训练语料,得到训练句子集。
[0151]
在另一个实施例中,识别模块,用于根据句子成分的开始位置和结束位置,在句子上标识出句子成分对应文本内容。
[0152]
关于句子成分识别装置的具体限定可以参见上文中对于句子成分识别方法的限定,在此不再赘述。上述句子成分识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0153]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储训练句子集和句子成分对应的问询数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种句子成分识别方法。
[0154]
本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0155]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各实施例的方法的步骤。
[0156]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各实施例的方法的步骤。
[0157]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0158]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0159]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并
不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1