一种同时针对多个命名实体的精准情感信息提取方法与流程

文档序号:17131224发布日期:2019-03-16 01:15阅读:512来源:国知局
一种同时针对多个命名实体的精准情感信息提取方法与流程

本发明涉及自然语言处理技术领域,尤其涉及一种同时针对多个命名实体的精准情感信息提取方法。



背景技术:

随着互联网的发展,网络上出现了大量用户参与的,对于诸如人物、事件和产品等有价值的评论信息,一方面,这些具有主观色彩的评论反映了大众舆论对某一事件或产品的看法,具有社会和商业价值;另一方面,海量信息分析不可能依靠人工完成,如果从文本中挖掘用户情感信息成为一个重要的问题。

情感分析可以在多个粒度上进行,包括文档级、语句级和实体级。所谓实体,是人名、地名、机构名以及其他所有以名称为标识的实体。

针对实体进行情感分析,首先需要对文本中的实体指称进行识别,这一问题称为命名实体识别(nameentityrecognition,ner)。命名实体识别常用的方法有:基于规则和词典的方法、基于统计的方法和两者结合的方法;随着一些公开知识库的发展,也出现了利用知识库中已有的知名实体进行识别的方法。

现有的很多应用场景需要实体级别的细粒度情感分析,而很多文本中涉及对多个实体的情感表述,因此针对特定实体的情感信息提取成为关键。提取出来的情感信息,一方面可以直接应用到情感分类系统中,另一方面可以作为实体的某种语义表示,针对具体业务需求进行后续处理。

现有的系统大多是在句子级别上进行情感分析,而没有将情感特征与句子中出现的实体关联起来;实际应用场景中搜集的互联网数据的噪音很多,粗粒度情感分析方法的错误率更高。最近也出现了一些针对实体进行的情感词提取方法,但很多采用的是比较简单的距离算法,没有从语义理解的层面进行深层的分析。



技术实现要素:

本发明要解决的技术问题是针对上述现有技术的不足,提供一种同时针对多个命名实体的精准情感信息提取方法,完成了实体级别上的细粒度情感信息提取。

为解决上述技术问题,本发明所采取的技术方案是:一种同时针对多个命名实体的精准情感信息提取方法,采用基于双向lstm模型的实体识别算法,针对识别出的实体进行句法分析,从文本中抽取出与该实体相关的、具有情感倾向性的词语,以进行针对特定实体的精准情感分析;

具体包括以下步骤:

步骤1、对实体识别的语料库进行bio标注,并作为训练数据;

步骤2、对语料库中的字进行id序号标注,从而实现对字进行词向量化的处理;

步骤3、搭建基于双向lstm模型的bilstm-crf实体识别模型,并使用训练数据对模型进行训练,保存训练完成的模型;

步骤4、针对需要对多个命名实体进行精准情感信息提取的业务,建立实体数据库,作为对标注语料的补充;

步骤5、对测试文本进行预处理,利用训练好的bilstm-crf实体识别模型和实体数据库对测试文本进行命名实体的提取;

步骤6、对测试文本进行分词、词性标注和句法分析,分别得到分词结果、词性标注结果及句法分析树;

步骤7、根据步骤6得到的分词结果和句法分析树,将测试文本转为图结构进行表示,为情感词和实体提供一种关联度的度量方法;

步骤8、根据句法分析的不同语法关系,对图结构的边的权值进行修正;

步骤9、对于通过步骤5提取出来的实体,在步骤8中得到的图结构中,利用最短路径算法得到文本中所有词到该实体的距离,并且按照距离从小到大对词语进行相关度排序,得到词语和实体间关联度的高低顺序;

步骤10、根据词性对相关度排序后的情感词结果进行筛选,将词性为形容词、修饰性名词、副词或动词的词语认为是具有情感倾向性的词,剔除无情感倾向性的词汇,从而得到与特定实体相关的情感词,最后表示为<实体,情感词序列>的元组。

采用上述技术方案所产生的有益效果在于:本发明提供的一种同时针对多个命名实体的精准情感信息提取方法,通过来源多样化的训练语料库进行命名实体模型的训练,可以识别文本中大多数常见的人名、地名和机构名。相比于基于词典的方法,能够更好地解决未登录词带来的召回率下降问题,并且有更好的扩展性;通过双向lstm神经网络充分学习上下文信息,提高了识别的正确率;通过建立实体数据库,能够根据需求添加所要跟踪的其他类型实体,从而更好地适应生产环境。另一方面,通过句法分析将文本的情感信息建模成<实体,情感词序列>的元组完成了针对特定实体的、细粒度的情感信息提取。

附图说明

图1为本发明实施例提供的一种同时针对多个命名实体的精准情感信息提取方法的流程图;

图2为本发明实施例提供的双向lstm模型进行实体识别的网络结构图;

图3为本发明实施例提供的句法分析树的示意图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

一种同时针对多个命名实体的精准情感信息提取方法,如图1所示,包括以下步骤:

步骤1、对实体识别的语料库进行bio标注,并作为训练数据;

本实施例中,使用bakeoff-3评测中采用的bio标注集对语料库进行标注,即b-per和i-per分别表示人名的首字和非首字,b-loc和i-loc代表地名的首字和非首字,b-org和i-org表示组织机构名的首字和非首字,o表示该字不属于命名实体的一部分。

步骤2、对语料库中的字进行id序号标注,从而实现对字进行词向量化的处理;

由于神经网络输入必须是向量,需要将每个字映射成一定维度的实数向量,这一过程称为字嵌入(wordembedding),本实施例中,采用随机向量化方法对字进行词向量化处理,向量维数为200。首先建立字到id的映射;在给定词表大小和映射结果向量的维度之后,就可以初始化一个向量表;每一个id作为该向量表的索引,从而每一个字都可以转化为一个固定维度的实数向量。

步骤3、搭建基于双向lstm模型的bilstm-crf实体识别模型,如图2所示,并使用训练数据对模型进行训练,保存训练完成的模型;

双向lstm网络是从循环神经网络rnn发展而来的,主要改进的是rnn中的长期依赖问题,即随着递归的进行,隐含层的输入对网络输出的影响逐渐衰减。它的改进之处在于在每个rnn单元中引入了一个记忆单元,该记忆单元通过三个控制门让信息有选择性地通过。双向则指的是通过构建前向和后向两个lstm网络,学习文本的前文和后文信息。

双向lstm的输出结果作为条件随机场(crf)的输入,计算输入字对应的最优标签序列,以最大概率的序列作为其最终类别标签。

通过在神经网络框架中初始化顺序模型(sequential),并通过逐次添加嵌入层(embeddinglayer)、双向lstm层(每个lstm层的输入维度为100)和crf层搭建步骤3所述模型,使用adam梯度下降算法训练,损失函数为crf损失函数,最后将训练好的模型参数保存。

步骤4、针对需要对多个命名实体进行精准情感信息提取的业务,建立实体数据库,作为对标注语料的补充;

步骤5、对测试文本进行预处理,利用训练好的bilstm-crf实体识别模型和实体数据库对测试文本进行命名实体的提取;

由于测试文本大多为互联网数据,首先需要对文本进行预处理,包括去除html标签和特殊符号等,为了使后续句法分析结果更精准,以句号为标识符对文本进行分句处理。

为了剔除表达符号对命名实体识别过程的影响,在进行识别的时候需要按照标点符号将文本切分为只包含纯文字的文本数据。

使用训练好的bilstm-crf实体识别模型对每一文本数据进行训练,得到预测的标签序列,然后识别以下模式:人名为b-per后若干个i-per,到第一个非i-per标签时停止,地名和机构名也以此类推。

查找实体数据库,进行字符串匹配,如果有符合数据库中命名实体的字符串,则加入识别结果集合中。

步骤6、对测试文本进行分词、词性标注和句法分析,分别得到分词结果、词性标注结果及句法分析树,这样充分利用句子中内容的语法关系,对每个词与实体词是否有关系以及关系的远近进行了建模;

本步骤采用pyltp库完成,其中分词和词性标注都被建模为序列标注问题,句法分析则采用mcdonald提出的基于图的依存分析算法。本步骤的输入是一个句子(以句号为标识),输出为分词结果、词性标注结果及句法分析树。进行本步骤前,需要将上一步骤识别出的实体名称添加到用户词典,然后依次进行分词、词性标注和句法分析。

对于每个词,句法分析得到的结果标识为(id,head_id,relate),其中id为该词在分词结果中的下标,head_id是其父节点的id,relate则为它们之间的语法关系如主谓关系、动宾关系等,整个句子的依存句法分析结果可以表示为如图3所示的树结构。

步骤7、根据步骤6得到的分词结果和句法分析树,为了方便进行距离计算,将测试文本转为无向图结构进行表示;这种用图的方式进行数据结构上的表示,为情感词和实体提供了一种关联度的度量方法;

采用这种方法的基本思想是,如果两个词之间通过某种语法关系连接,那它们之间的关联度较大。通过句法分析表征词语之间关联度,相对于传统的基于距离的方法,考虑了语义层面的信息,可以获得更精准的分析。

在进行转换时,每个词语对应图中一个节点,如果两个词之间有直接的依存关系(即对标识为id_x,id_y的两个词,如果句法分析结果中存在(id_x,id_y,relate)或(id_y,id_x,relate)三元组),则这两个节点之间有边相连。

步骤8、根据句法分析的不同语法关系,对图结构的边的权值进行修正;

具体修正的规则为:对于关系为定中关系、状中关系、主谓关系和动宾关系的边,其权值较小,不属于上述语法关系的边,边权值较大。

步骤9、对于通过步骤5提取出来的实体,在步骤8中得到的图结构中,利用最短路径算法得到文本中所有词到该实体的距离,并且按照距离从小到大对词语进行相关度排序,得到词语和实体间关联度的高低顺序;

步骤10、根据词性对相关度排序后的情感词结果进行筛选,将词性为形容词、修饰性名词、副词或动词的词语认为是具有情感倾向性的词,剔除无情感倾向性的词汇,从而得到与特定实体相关的情感词,最后表示为<实体,情感词序列>的元组。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1