一种基于字模型的评论文本实体识别方法及装置技术领域
本发明属于信息技术领域,具体涉及一种基于字模型的评论文本实体识别方法及
装置。
背景技术
评论文本是指用户发布的对消费产品或服务的点评文本,包括但不限于商品,店
铺,旅游景点等,具体如购物网站的产品评价,旅游网站的旅游景点评论,观影网站的电影
评论等等。评论文本的实体识别是指从评论文本中找出用户点评的对象。评论文本作为消
费用户体验的直接反映,可以为产品或服务提供商,及其它消费用户提供重要参考。对该类
文本的实体识别,可以快速方便地定位消费产品或服务的评论信息,为相关决策提供有力
依据。
用户的评论文本不同于新闻文本,表述不规范,且包含很多噪音,使得传统方法很
难应用到该类文本的实体识别中。具体来说,一方面,文本类型丰富多样,语言碎片化严重,
导致核心实体的位置分布极不规律。另一方面,不同的用户表达方式,评论习惯差异巨大,
对同一实体可能有多个完全不同的表达。鉴于以上两点原因,规则匹配很难从评论文本中
准确识别出目标实体。
现有的技术中,基于人工的方法准确率相对较高,但成本高且无法处理海量文本;
基于规则的匹配能识别的文本内容很有限,只能识别出规范性表达的文本;基于分词的方
法会因为口语表达中的不规范,导致分词结果不准确,进而影响识别效果。
发明内容
本发明的目的在于提供一种基于字模型的评论文本实体识别方法及装置,可以从
大规模、表达口语化的评论文本中准确高效地提取文本中实体。
本发明提供的一种基于字模型的评论文本实体识别方法及装置,针对多类型混合
的评价性文本能有效地提取文本中的核心实体。该方法的主要步骤包括:使用标注好的训
练数据训练基于字的双向LSTM(Long-Short Term Memory,长短期记忆)模型;输入评价性
文本,使用训练好的双向LSTM模型进行核心实体识别;对上述模型输出结果进行字补齐,将
补齐后的结果作为最后识别出的实体输出;如果模型输出结果为空,则通过实体词典、文本
分词和词性生成一个候选实体作为核心实体。该方法中训练基于字的双向LSTM模型时要按
字对训练文本进行切分,同时截取定长的上下文一起构成字序列,同时采用采样窗口机制,
保证训练集中正负采样数量的均衡。
具体来说,本发明采用的技术方案如下:
一种基于字模型的评论文本实体识别方法,其主要步骤包括:(1)训练模型:使用
标注好的训练数据训练基于字的双向LSTM模型;(2)模型识别实体:使用训练好的基于字的
双向LSTM模型进行核心实体识别;(3)字补齐:对于模型输出结果非空的进行字补齐,将补
齐后的结果作为最后识别出的实体输出;(4)生成候选实体:对于模型输出结果为空的测试
文本,通过文本分词、词性标注和实体词典生成一个候选实体作为核心实体。
进一步地,步骤(1)训练模型时主要有以下几步:
i)对于标注好的训练文本,首先按照字进行切分(连续的英文及数字整体作为一
个字,标点符号作为一个字),以每个字为中心截取定长的上下文作为训练样本,上下文长
度不足的补0处理;
ii)如果一个字序列的中心字属于目标核心实体,则该样本为正样本,否则为负样
本;
iii)按上述操作后,一条长度为N的评价性文本被处理成N个定长字序列,然后以
核心实体首字和尾字为起点按定长采样窗口分别向前、向后选取字序列(长度不足的忽
略),连同核心实体对应的字序列一起作为该评价性文本的训练样本;
iv)训练样本集按字切分后生成字典,并依据字频对字进行编号,根据字编号将训
练样本转为数字序列;
v)处理完所有带标注的文本,生成训练样本集,训练双向LSTM模型。将训练样本集
分为训练和验证两部分,通过设置激活函数、损失函数等参数对LSTM模型进行训练。
进一步地,步骤(2)模型识别实体时主要有以下几步:
对测试文本同样进行字切分,以每个字为中心截取定长的上下文作为训练样本,
上下文长度不足的补0处理,一条长度为N的评价性文本被处理成N个定长字序列,并依据训
练集字典和编号转化为数字序列(未登录字编为0),将此N个序列输入到训练好的双向LSTM
模型中进行标注。
进一步地,步骤(3)对模型输出的非空结果进行字补齐时,首先对测试文本进行分
词,然后依据分词结果找到能够覆盖模型输出结果的最小分词序列,最后依据词性(如介
词、助词、连词、副词等)等规则迭代删除最小覆盖序列的首尾词。
进一步地,步骤(4)对于模型输出结果为空的测试文本,先对文本进行分词和词性
标注,把分词后的文本中首个满足如下条件之一的词作为候选实体:
i)在实体词典中,其中实体词典为用户自定义的核心实体集;
ii)词性为名词且在测试集文本中,该词词频不超过阈值。
一种基于字模型的评论文本实体识别装置,其包括:
模型训练模块,负责使用标注好的训练数据训练基于字的双向LSTM模型;
实体识别模块,负责使用训练好的基于字的双向LSTM模型对输入的评价性文本进
行核心实体识别;
字补齐模块,负责对基于字的双向LSTM模型输出的非空结果进行字补齐,将补齐
后的结果作为最终识别出的核心实体并输出;
候选实体生成模块,负责对基于字的双向LSTM模型输出的结果为空的评价性文
本,通过文本分词、词性标注和实体词典生成一个候选实体作为核心实体。
利用本发明提供的方法识别评价性文本的核心实体,具有以下优点:
1、该方法通过基于字的双向LSTM模型识别、基于分词词性的字补齐和基于词典生
成候选实体共同作用,解决了对多种语句描述风格的海量评价性文本的核心实体识别,为
用户决策判断提供有力依据;
2、在训练双向LSTM模型时采用字模型,有效地避免分词错误带来的不利影响;
3、在训练双向LSTM模型时使用采样窗口机制,保证了训练集中正负采样数量的均
衡,从而减小了训练样本体量,提高模型训练效率和有效性;
4、通过对双向LSTM模型提取的实体进行字补齐,可以充分利用模型得到的实体,
同时补全目标实体或删去并非目标实体的一些字,有效提高实体识别的准确率。
5、对于模型未识别出的文本,可以借助实体词典,通过文本分词、词性标注生成候
选实体,作为模型的有效补充。
附图说明
图1是本发明的面向评价性文本的核心实体识别方法的数据操作流程图。
图2是本发明的面向评价性文本的核心实体识别装置的模块组成图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和
附图,对本发明做进一步说明。
实例:一种面向评价性文本的核心实体识别方法及装置对于不同类型的评价性文
本找出其中的核心实体,其总体流程如图1所示,各功能模块如图2所示。以旅游评论为例,
“春天,颐和园的风景很美。”的核心实体为“颐和园”。
1)训练模型,使用标注好的训练数据训练基于字的双向LSTM模型。例如文本“北京
很堵。”,核心实体为“北京”。
i)对于标注好的训练文本,首先按照字进行切分(连续的英文及数字整体作为一
个字,标点符号作为一个字),以每个字为中心截取定长的上下文作为训练样本,上下文长
度不足的补0处理。
假设此处截取的上下文定长为2,则句长为5的文本“北京很堵。”可以转为如表1所
示的5个序列(|为分隔符,标粗为中心字):
表1.以每个字为中心截取定长上下文后的序列
ii)如果一个字序列的中心字属于标注核心实体,则该样本为正样本,否则为负样
本。
此处“北京”为核心实体,因此“0|0|北|京|很”和“0|北|京|很|堵”为正样本,其余
为负样本。
iii)按上述操作后,一条长度为N的评价性文本被处理成N个定长字序列,然后以
核心实体首字和尾字为起点按定长采样窗口分别向前、向后选取字序列(长度不足的忽
略),连同核心实体对应的字序列一起作为训练样本。
假设采样窗口为2,则由“北京很堵。”产生的训练样本如表2所示:
表2.训练样本
iv)训练集按字切分后统计字典并依据字频对字进行编号,根据字编号将训练样
本转为数字序列。
字典统计应基于全体训练本文,编号从1开始,字的编号顺序可随意,此处按字频
由大到小依次编号,如表3、表4所示:
v)处理完所有带标注的文本生成训练样本集,训练双向LSTM模型。
2)模型识别实体,使用训练好的双向LSTM模型进行核心实体识别。对测试文本同
样进行字切分,以每个字为中心截取定长的上下文作为训练样本,上下文长度不足的补0处
理,一条长度为N的评价性文本被处理成N个定长字序列,并依据训练集字典和编号转化为
数字序列(未登录字编为0),将此N个序列输入到训练好的双向LSTM模型中进行标注。
例如文本“广州很热。”经过上述操作可变为如表5所示的序列:
表5.测试文本的模型预测结果
使用训练好的双向LSTM模型可以预测每个序列的类别,如上表输入测试文本“广
州很热。”,模型最终输出为序列“11000”,类别为1表示测试文本中对应位置的字属于实体,
0则表示不属于实体。选择输出序列中首个连续的1片段,通过对应位置可以得出该句的核
心实体为“广州”。
如果模型输出预测序列不为0,即模型识别出实体片段,则将模型结果输出到步骤
3)进行字补齐;如果模型输出预测序列均为0,即模型未识别出实体,则将测试文本输出到
步骤4)。
3)字补齐,首先对测试文本进行分词,然后依据分词结果找到能够覆盖模型输出
结果的最小分词序列,最后依据词性(如介词、助词、连词、副词等)等规则迭代删除最小覆
盖序列的首尾词。
例如测试文本“厦大确实很美。”实际上核心实体为“厦大”。但模型输出序列为
“1111000”,即模型给出的实体为“厦大确实”。
对模型输出进行字补齐,首先通过分词工具对该句分词,可以得到分词结果为“厦
大|确实|很|美|。”,其中覆盖模型输出的分词序列是“厦大|确实”。最后依据该序列的词
性,“厦大”为名词,“确实”为副词,实体序列的首词为名词是可能的,序列的尾词为副词则
不可能,因此删去“确实”,得到最终的实体为“厦大”。
4)生成候选实体,对于模型未识别出核心实体的文本,通过实体词典、文本分词、
词性标注生成一个候选实体作为核心实体。要求候选实体在实体词典中或者为首个名词且
词频不大于阈值。
例如测试文本“厦大确实很美。”,分词结果为“厦大|确实|很|美|。”,如果实体词
典中存在“厦大”则将其作为核心实体,否则寻找分词后首个名词。由于评价文本中会出现
大量诸如“照片、汽车、电影”等泛指名词,而真正的评价对象往往不会频繁地出现,所以设
置一个词频阈值,挑选词频低的首个名词作为候选实体。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术
人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本
发明的保护范围应以权利要求书所述为准。