发明内容
本发明提供一种联合识别和连接命名实体的方法及装置,以实现同步处理命名实体识别和实体连接,缓解错误传播问题,从而提高命名实体识别和连接的精度。
第一方面,本发明实施例提供了一种联合识别和连接命名实体的方法,包括:
对输入文本的分词标注词性,生成分词文本;
连接所述分词文本和至少一个预设实体库;
根据连接结果生成的至少一个备选答案组合,确定命名实体识别和连接的结果。
进一步地,根据连接结果生成的至少一个备选答案组合,确定命名实体识别和连接的结果包括:
当所述分词为第一级分词,则根据第一级分词和所述预设实体库中预设命名实体的匹配结果,生成第一级分词的分词答案组合;
当所述分词非第一级分词,则根据所述分词文本中本级分词和所述至少一个预设实体库中预设命名实体的匹配结果以及上一级分词的筛选分词答案组合,生成本级分词的分词答案组合;
根据所述本级分词答案组合的评分,得到命名实体识别和连接的结果。
进一步地,根据所述本级分词答案组合的评分,得到命名实体识别和连接的结果包括:
将最后一级分词的分词答案组合中评分最高的分词答案组合确定为命名实体识别和连接的结果。
进一步地,对所述分词答案组合评分包括:
抽取所述分词答案组合的特征,生成相应的答案特征集合;
根据所述答案特征集合和预设模型参数,确定所述分词答案组合的评分。
进一步地,抽取所述分词答案组合的特征,生成相应的答案特征集合包括:
抽取所述分词答案组合中各级分词的特征,并组成特征向量,作为所述分词答案组合的答案特征集合;
所述根据所述答案特征集合和预设模型参数,确定所述分词答案组合的评分包括:
根据所述预设模型参数,确定所述特征向量对应的权重向量;
计算所述权重向量的转置向量和所述特征向量的数量积,并将所述数量积作为所述分词答案组合的评分。
第二方面,本发明实施例还提供了一种联合识别和连接命名实体的装置,包括:
分词文本生成模块,用于对输入文本的分词标注词性,生成分词文本;
分词文本连接模块,用于连接所述分词文本和至少一个预设实体库;
结果确定模块,用于根据连接结果生成的至少一个备选答案组合,确定命名实体识别和连接的结果。
进一步地,结果确定模块包括:
首级分词答案组合生成子模块,用于当所述分词为第一级分词,则根据第一级分词和所述预设实体库中预设命名实体的匹配结果,生成第一级分词的分词答案组合;
分词答案组合生成子模块,用于当所述分词非第一级分词,则根据所述分词文本中本级分词和所述至少一个预设实体库中预设命名实体的匹配结果以及上一级分词的筛选分词答案组合,生成本级分词的分词答案组合;
结果确定子模块,用于根据所述本级分词答案组合的评分,得到命名实体识别和连接的结果。
进一步地,结果确定子模块具体用于:
将最后一级分词的分词答案组合中评分最高的分词答案组合确定为命名实体识别和连接的结果。
进一步地,结果确定子模块包括:
答案特征集合生成单元,用于抽取所述分词答案组合的特征,生成相应的答案特征集合;
分词答案组合评分确定单元,用于根据所述答案特征集合和预设模型参数,确定所述分词答案组合的评分。
进一步地,答案特征集合生成单元具体用于:
抽取所述分词答案组合中各级分词的特征,并组成特征向量,作为所述分词答案组合的答案特征集合;
分词答案组合评分确定单元具体用于:
根据所述预设模型参数,确定所述特征向量对应的权重向量;
计算所述权重向量的转置向量和所述特征向量的数量积,并将所述数量积作为所述分词答案组合的评分。
本发明通过同步处理命名实体识别和实体连接,解决先命名实体识别,后实体连接造成的错误传播的问题,实现提高命名实体识别和连接的精度的效果。
实施例三
图3为本发明实施例三提供的一种联合识别和连接命名实体的方法的流程图,本实施例的技术方案是在上述实施例的基础上进一步细化,其中,步骤230是根据本级分词答案组合的评分,得到命名实体识别和连接的结果。可选地,对本级分词答案组合评分包括:
步骤310、抽取分词答案组合的特征,生成相应的答案特征集合。
其中,分词答案组合的特征包括:各分词、各分词的前一个分词、各分词的后一个分词、各分词的前两个分词、各分词的后两个分词、各分词的词性、各分词的前一个分词词性、各分词的后一个分词词性、分词在预设实体库中的各命名实体类别中的匹配结果、分词在预设实体库中的各命名实体类别中的匹配唯一性和/或分词答案组合中分词匹配结果的联系。优选的,抽取分词答案组合中各级分词的特征,将根据预设规则将特征转化为特征数值,并将特征数值组成特征向量,作为分词答案组合的答案特征集合。
步骤320、根据答案特征集合和预设模型参数,确定分词答案组合的评分。
优选的,根据预设模型参数,确定特征向量对应的权重向量;计算权重向量的转置向量和特征向量的数量积,并将数量积作为分词答案组合的评分。
本实施例的技术方案,通过答案特征集合和预设模型参数确定分词答案组合的评分,进而确定命名实体识别和连接的结果。
以下为本发明的一个优选实施例,示例的,S1、给定一个输入文本:“唱首周董的东风破”,使用预设文本预处理分词系统ICTCLAS对输入文本分词和词性标注,得到分词文本x,以及每个分词的词性信息,得到分词结果为:“唱(动词)/首(量词)/周董(名词)/的(助词)/东风破(名词)”。
S2、给定一个整理好的预设实体库(这里以音乐领域的预设实体库为例),其中含有“东风破”这首歌的歌曲如表1所示:
表1
编号 |
歌手(ARTIST) |
歌曲(SONG) |
1001 |
梁伶 |
东风破 |
1002 |
浮瑶 |
东风破 |
1003 |
周杰伦 |
东风破 |
给定分词后的文本“唱/首/周董/的/东风破”,在第i=1位置处(即考虑分词“唱”),枚举所有候选答案组合y(x,KB,1)。
对每个分词,均有ARTIST、SONG两种可能的实体类型或者非实体类型O来标识;如果标识为ARTIST或者SONG时,会进一步枚举出可以连接到预设实体库中对应记录的编号或者默认的NIL符号(NIL符号表示在预设实体库中找不到可以连接的实体)。
表2给出了所有候选答案组合y(x,KB,1):
表2
S3、给定一个可能的答案组合y[1:1]∈y(x,KB,1)(例如上表中的第1个答案组合)抽取特征,得到特征集合Φ(x,y[1:1],KB),具体如下:
a)传统命名实体识别时使用的特征
1.每个分词本身。例如:唱,特征表示:f1(词=唱)=1;
2.每个分词的前一个分词,后一个分词。例如:“唱”的前一个分词是NIL(表示不存在),后一个分词是“首”,特征表示:f2(词=唱&&前一个词=NIL)=1,f2(词=唱&&后一个词=首)=1;
3.每个分词的前两个分词,后两个分词。例如:“唱”的前两个分词是NIL和NIL(表示不存在),后两个分词是“首”和“周董”,特征表示:f3(词=唱&&前两个词=NIL、NIL)=1,f3(词=唱&&后两个词=首、周董)=1;
4.每个分词的词性。例如:唱(动词),特征表示:f4(词=唱&&词性=v)=1;
5.每个分词的前一个分词的词性,后一个分词的词性。例如:“唱”的前一词的词性是NIL(表示不存在),后一个词的词性是“量词”,特征表示:f5(词=唱&&前一词的词性=NIL)=1,f5(词=唱&&后一词的词性=m)=1;
b)传统实体连接时使用的特征
6.如果某个分词被认为是某类型的命名实体时,是否可以在预设实体库的相应列中检索到。例如:针对第1个答案组合,“唱”被认为不属于任何类型的实体,故忽略;针对第2个答案组合,“唱”被认为是ARTIST时,在知识库的ARTIST列中检索不到,特征表示:f6(词=唱&&是ARTIST&&在ARTIST列中)=-1;
7.如果在预设实体库中可以检索到对应的分词,是否是唯一的。
例如:针对第1个答案组合,“唱”被认为不属于任何类型的实体,故忽略;针对第2个答案组合,“唱”被认为是ARTIST时,在知识库的ARTIST列中检索不到,同样忽略。
c)同时考虑命名实体识别和连接的特征
8.如果在某答案组合中某实体名为歌曲名,且其在预设实体库中对应实体的歌手名为答案组合中另一实体名,则奖励该答案组合,否则惩罚该答案组合。例如:针对第1-3个答案组合,不存在此类特征,故忽略;针对第2个答案组合,“唱”被认为是ARTIST时,在知识库的ARTIST列中检索不到,同样忽略。
S4、给定特征集合Φ(x,y[1:1],KB),即上述[1,1,1,1,1,1,1,1]构成的特征向量,从训练好的模型参数W中查得每个特征对应的权重,构成权重向量,假设为w=[0.4,0.3,0.2,0.1,0.5,0.5,0.5,0.5],对候选答案使用公式score(x,y[1:i],KB)=WT·Φ(x,y[1:i],KB)计算得分,此时得分为3。类似地,我们可以计算出表2中其他两个候选答案组合的得分,从而得到得分前k个候选答案,通常我们只保留前3个候选答案。
S5、接下来再往下扩展一个分词到i=2位置时,只需要在当前的前k个候选答案的基础上进行扩展,回到步骤2。枚举所有候选答案组合Y(x,KB,2),如表3所示
表3
编号 |
候选答案组合y(x,KB,2) |
得分 |
是否进入下一步扩展 |
4 |
唱(O)/首(O) |
6 |
是 |
5 |
唱(O)/首(ARTIST/NIL) |
4 |
是 |
6 |
唱(O)/首(SONG/NIL) |
4 |
是 |
7 |
唱(ARTIST/NIL)/首(O) |
3 |
否 |
8 |
唱(ARTIST/NIL)/首(ARTIST/NIL) |
2 |
否 |
9 |
唱(ARTIST/NIL)/首(SONG/NIL) |
2 |
否 |
10 |
唱(SONG/NIL)/首(O) |
3 |
否 |
11 |
唱(SONG/NIL)/首(ARTIST/NIL) |
2 |
否 |
12 |
唱(SONG/NIL)/首(SONG/NIL) |
2 |
否 |
S6、给定一个可能的答案组合y[1:2]∈y(x,KB,2)(例如表3中的第4个答案组合),对其抽取特征,得到特征集合Φ(x,y[1:2],KB),具体如下:
a)传统命名实体识别时使用的特征
1.每个分词本身。例如:唱,特征表示:f1(词=唱)=1,f1(词=首)=1;
2.每个分词的前一个分词,后一个分词。例如:“唱”的前一个分词是NIL(表示不存在),后一个分词是“首”,特征表示:f2(词=唱&&前一个词=NIL)=1,f2(词=唱&&后一个词=首)=1;f2(词=首&&前一个词=唱)=1,f2(词=首&&后一个词=周董)=1;
3.每个分词的前两个分词,后两个分词。例如:“唱”的前两个分词是NIL和NIL(表示不存在),后两个分词是“首”和“周董”,特征表示:f3(词=唱&&前两个词=NIL、NIL)=1,f3(词=唱&&后两个词=首、周董)=1;f3(词=首&&前两个词=NIL、唱)=1,f3(词=首&&后两个词=周董、的)=1;
4.每个分词的词性。例如:唱(动词),特征表示:f4(词=唱&&词性=v)=1,f4(词=首&&词性=m)=1;
5.每个分词的前一个分词的词性,后一个分词的词性。例如:“唱”的前一分词的词性是NIL(表示不存在),后一个分词的词性是“量词”,特征表示:f5(词=唱&&前一词的词性=NIL)=1,f5(词=唱&&后一词的词性=m)=1;f5(词=首&&前一个词的词性=v)=1,f5(词=首&&后一次的词性=n)=1;
b)传统实体连接时使用的特征
6.如果某个分词被认为是某类型的实体时,是否可以在预设实体库的相应列中检索到。例如:针对第8个答案组合,特征表示:f6(词=唱&&是ARTIST&&在ARTIST列中)=-1,f6(词=首&&是ARTIST&&在ARTIST列中)=-1;
7.如果在预设实体库中可以检索到对应的分词,是否是唯一的。在第4-12的答案组合中,不存在此类特征,故忽略。
c)同时考虑命名实体识别和连接的特征
8.如果某可能的答案组合中某实体名为歌曲名,且其在预设实体库中对应实体的歌手名为答案组合中另一实体名,则奖励该答案组合,否则惩罚该答案组合。在第4-12的答案组合中,不存在此类特征,故忽略。
S7、给定特征集合Φ(x,y[1:2],KB),即上述[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]构成的特征向量,从训练好的模型参数W中查得每个特征对应的权重,构成权重向量,假设为W=[0.4,0.4,0.3,0.2,0.3,0.2,0.1,0.5,0.1,0.5,0.5,0.5,0.5,0.5,0.5,0.5],对候选答案使用公式score(x,y[1:i],KB)=WT·Φ(x,y[1:i],KB)计算得分,此时得分为6。类似地,我们可以计算出表3中其他几个候选答案组合的得分,取前3个候选答案做下一步扩展。
S8、接着继续往下逐个地扩展分词,假设上一步扩展到第i=4位置后的前3个候选答案组合如下:
表4
编号 |
候选答案组合y(x,KB,4) |
得分 |
是否进入下一步扩展 |
13 |
唱(O)/首(O)/周董(ARTIST/1003)/的(O) |
20 |
是 |
14 |
唱(O)/首(O)/周董(ARTIST/NIL)/的(O) |
15 |
是 |
15 |
唱(O)/首(O)/周董(O)/的(O) |
12 |
是 |
接下来往下扩展最后一个词,即第i=5个词“东风破”。枚举所有候选答案组合y(x,KB,5),如表5所示
表5
S9、给定一个可能的答案组合y[1:5]∈y(x,KB,5)(例如表5中的第20个答案组合),对其抽取特征,得到特征集合Φ(x,y[1:5],KB),具体如下:
a)传统命名实体识别时使用的特征(此处省略)
1.每个分词本身。
2.每个分词的前一个分词,后一个分词。
3.每个分词的前两个分词,后两个分词。
4.每个分词的分词性。
5.每个分词的前一个分词的词性,后一个分词的词性。
b)传统实体连接时使用的特征
6.如果某个分词被认为是某类型的实体时,是否可以在知识库的相应列中检索到。例如:针对第20个答案组合,“东风破”被认为是SONG时,在知识库的SONG列中可以检索到,特征表示:f6(词=东风破&&是SONG&&在SONG列中)=1;
7.如果在知识库中可以检索到对应的词,是否是唯一的。
例如:针对第20个答案组合,“东风破”被认为是SONG时,在知识库的SONG列中可以检索到,且不唯一,特征表示:f7(词=东风破&&是SONG&&在SONG列中&&是否唯一)=1。
c)同时考虑命名实体识别和连接的特征
8.如果在某答案组合中某实体名为歌曲名,且其在知识库中对应实体的歌手名为答案组合中另一实体名,则奖励该答案组合,否则惩罚该答案组合。
例如:针对第20个答案组合,实体名“东风破”在知识库中对应实体的编号为1003,该实体所对应的歌手名为“周杰伦”,刚好对应于该答案组合中“周董”(此处的“周董”与“周杰伦”匹配可以额外使用一部同义词词典辅助判断),因此需要奖励该答案组合。而上表中第19个答案组合中的实体名“东风破”在知识库中对应实体的编号为1002,该实体所对应的歌手名为“浮瑶”,与答案组合中的“周董”不能匹配,则需要惩罚该答案组合。特征表示:f8(符合判断条件)=1。
S10、给定特征集合Φ(x,y[1:5],KB),从训练好的模型参数W中查得每个特征对应的权重,构成权重向量,对候选答案使用公式score(x,y[1:i],KB)=WT·Φ(x,y[1:i],KB)计算得分。第20个候选答案得分最高,所以得到命名实体识别和连接的结果为“唱(O)/首(O)/周董(ARTIST/1003)/的(O)/东风破(SONG/1003)”。