一种基于双向依赖语法树表征的用户评论属性抽取方法与流程

文档序号:15095786发布日期:2018-08-04 14:32阅读:325来源:国知局

本发明涉及计算机自然语言处理技术领域,尤其涉及一种基于双向依赖语法树表征的用户评论属性抽取方法。



背景技术:

现代人的生活越来越离不开互联网。在互联网环境里,人们不断地对人或物表达和抒发着自身的观点和情感。尤其表现在网上购物和餐饮行业,能够对商品和服务进行客观或主观地评价,几乎是每个参与者的诉求,这就导致了大量的用户评论文本的不断产生。如何从巨量的评论数据中挖掘出对商家和用户有用的信息,是评论观点挖掘技术需要应对的问题。过去的研究工作中,无论是对用户的整个评论文本进行情感分类,即积极、消极或中立,还是细粒度地对评论文本中涉及的评论属性抽取、属性对应的情感极性分类等,都有了长足的进步。然而抽取及分类精度却还有极大的提升空间,尤其是细粒度评论观点挖掘技术的提升空间更大。

细粒度评论观点挖掘具体说来涉及4个方面的工作,即用户评论属性抽取,属性评论情感词抽取,属性情感极性分类和评论属性分类。举个例子来说,这个披萨又大又好吃,披萨是需要抽取的用户评论属性,可理解为披萨是披萨店的“属性”;大和好吃是需要抽取的情感词;用户对披萨的情感极性通过情感词表现为积极;披萨属于食物分类。可以看出用户评论属性抽取是细粒度评论观点的核心任务,该任务的抽取准确度在大部分挖掘算法中对后续抽取及分类任务的好坏有决定性作用。目前有关用户评论属性抽取的技术按特征可以分为三类;第一类是应用跨领域的先验知识,如电商领域的抽取规则可以应用到餐饮行业等;第二类是应用语言结构和语法特征,如语法依赖树、短语解析树和词性等;第三类是应用深度学习抽取出的深度特征。这三类技术中,提取深度特征的深度学习近年来取得了突破性的性能优势。

然而大部分现有应用在用户评论属性抽取任务中的深度学习算法,只是停留在对文本序列特征和浅层次依赖特征提取上,对深层次依赖特征提取以及序列特征和依赖特征的融合应用上还存在大量的不足。针对该问题,本发明提出一个新的依赖语法特征抽取方法,将其与序列特征在同一个框架下进行融合,并应用到用户评论属性抽取中,提高该任务的准确率。



技术实现要素:

本发明的目的在于通过设计网络结构增强语法依赖特征的表达,并将该特征与语言序列特征相结合,以提升用户评论属性抽取任务的准确率。

实现本发明目的的技术方案如下:

一种基于双向依赖语法树表征的用户评论属性抽取方法,包括:

步骤1:对特定领域下的用户评论文本进行预处理,再进行分句、分词得到分词序列;最后对分词序列构建语法依赖树;

步骤1.1:对用户评论文本进行预处理;

步骤1.2:利用自然语言处理工具,对预处理后的文本序列进行分句和分词,得到分词序列S={w1,w2,...,wi,...,wN},其中N为矩阵序列长度,wi为组成评论文本的单词;然后对分词序列和对应的标签序列L={t1,t2,...,ti,...,tN}进行统计和编号,构造对应的词汇表V和标签表T={B-AP,I-AP,O},其中B-AP表示评论属性开始词,I-AP表示评论属性中间词,O表示其它非属性单词,其中wi∈V,ti∈T;

步骤1.3:利用自然语言依赖树构建工具,对预处理后的分词序列进行依赖语法树的构建;词与词之间的依赖关系表示为:通过关系分别连接某个父节点p和它的若干孩子节点其中np表示孩子节点的数量,关系连接表示语法依赖关系;

步骤2:将词向量输入到依赖语法树中,按自底向上和自顶向下两个方向构建双向依赖语法树表征网络,按单词序列输入顺序拼接两个方向的表征网络输出作为依赖语法特征;

步骤2.1:利用词向量矩阵初始化每个分词序列中的单词,即其中表

示实数,d是词向量维度,|V|表示词汇表大小;

步骤2.2:构建双向依赖树表征网络,自底向上依赖网络的父节点p和它的孩子集合为通过如下的公式得到自底向上依赖网络的输出

其中,和分别表示输入门,输出门和遗忘门;表示神经元记忆状态;表示隐藏层状态;σ是logistic函数;⊙表示元素逐一乘法;W↑(*),是需要训练的权重矩阵;b↑(*)神经元偏置向量,其中*∈{i,o,f,u};r(k)表示语法关系类型到对应训练参数的映射函数;公式中的p,k,l均是变量下标,替换后变量在神经元中的含义不变,只是对应到不同的对象上;

步骤2.3构建自顶向下依赖网络,其父节点p和它的孩子集合为通过如下的公式得到自顶向下依赖网络的输出

其中,和分别表示输入门,输出门和遗忘门;表示神经元记忆状态;表示隐藏层状态;σ是logistic函数;⊙表示元素逐一乘法;W↓(*),是需要训练的权重矩阵;b↓(*)神经元偏置向量,其中*∈{i,o,f,u};r(k)表示语法关系类型到对应训练参数的映射函数;公式中的p,k,l均是变量下标,替换后变量在神经元中的含义不变,只是对应到不同的对象上;

步骤2.4将各个节点自底向上依赖网络的输出和自顶向下的依赖网络的输出拼接,作为各个节点的最后依赖语法特征,表示为:

双向依赖树表征网络中各训练权重大小为d×d,偏置大小为d,大小为2d维向量;步骤3:将依赖语法特征输入双向LSTM神经网络,利用该网络来获取单词序列间的序列特征,实现依赖语法特征和序列特征的隐性融合,包括:

双向LSTM由前向LSTM与后向LSTM单元组成,前向LSTM和后向LSTM的输出分别为和则双向LSTM的输出由前向输出和后向输出拼接得来,表示为:前向LSTM及后向LSTM,其计算方式均采用以下计算过程:

令第j个神经LSTM单元接收到依赖语法特征前一个LSTM单元的隐藏状态hj-1和神经元状态cj-1,则当前LSTM单元的隐藏状态hj和神经元状态cj的计算公式如下:

cj=ij⊙uj+fj⊙cj-1,

hj=oj⊙tanh(cj),

其中,ij,oj,fj分别表示输入门,输出门和遗忘门;权重矩阵W(*)大小是d×2d,U(*)大小是d×d,偏置b(*)大小为d,其中*∈{i,o,f,u};σ是logistic函数;⊙表示元素逐一乘法;

双向LSTM最后的输出向量gj大小为2d;

步骤4:将融合特征输入到条件随机场来生成输入分词序列对应的标注序列,包括:

将融合特征g={g1,g2,...,gj,...,gN}输入条件随机场,令y={y1,y2,...,yj,...,yN}是对应的实际输出标签序列,其中yj∈T;所有可能的标签序列y′的集合表示为则线性链条件随机场概率模型定义为对于给定融合特征g在y′上的条件概率p(y|g;W,b),其具体表达式如下:

其中,为势函数,和by′,y分别表示对应于标签对(y',y)的权重向量和偏置;

条件随机场的训练采用极大似然估计,即对于一个训练集合{(gj,yj)},对应的对数似然函数表示为:

条件随机场的预测,即用户评论属性标注的目标是找到条件最大的输出序列:

预测方法采用维特比算法,预测输出即输入分词序列对应的标注序列;最后根据标注序列中各个标注的含义得到输入文本的用户评论属性。

与现有技术相比,本发明的积极效果是:

一、本发明构建了一种双向依赖语法表征网络,增强了对依赖语法树中依赖语法特征的抽取性能;双向依赖语法表征网络构建在依赖语法树的基础上,与已有的构建在短语解析树上的网络表征模型相比,依赖语法树中各个节点都是单词本身,而短语解析树中非叶子节点表示的是短语依存属性,并非单词;所以本发明中的双向依赖语法表征网络更能直接关注词与词之间的依赖关系,更符合序列标注任务需求;与其它依赖语法表征网络相比,双向依赖语法表征网络采用类似于双向LSTM的门控机制传播,且合并了自底向上和自顶向下的特征输出,展现出更丰富的表征信息。

二、本发明通过中间的双向LSTM网络层,有效地融合地依赖语法特征和文本序列特征;而之前的研究工作中,大多只用到了单一的特征信息;融合特征最终输入到条件随机场中进行端到端的模型训练,进一步提升了用户评论属性的准确性。

附图说明

图1是基于双向依赖语法树表征的用户评论属性抽取方法网络结构图。

图2是用于验证本发明的4个数据集统计情况。

图3是不同方法的实验对比结果。

图4是方法内部各个部件组合的对比结果。

具体实施方式

下面结合附图对本发明的具体实施方式进行进一步说明。

步骤1:对特定领域下的用户评论文本进行预处理,再进行分句、分词,得到分词序列;最后对分词序列构建语法依赖树;

步骤1.1:对用户评论文本进行预处理。

步骤1.2:利用自然语言处理工具,对预处理后的文本序列进行分句和分词,得到分词序列S={w1,w2,...,wi,...,wN},其中N为矩阵序列长度,wi为组成评论文本的单词;然后对分词序列和对应的标签序列L={t1,t2,...,ti,...,tN}进行统计和编号,构造对应的词汇表V和标签表T={B-AP,I-AP,O},其中B-AP表示评论属性开始词,I-AP表示评论属性中间词,O表示其它非属性单词。可以得到wi∈V,ti∈T。

步骤1.3:利用自然语言依赖树构建工具,对预处理后的分词序列进行依赖语法树的构建;词与词之间的依赖关系可以表示为:通过关系分别连接某个父节点p和它的若干孩子节点其中np表示孩子节点的数量,关系连接这里表示语法依赖关系。

步骤2:将词向量输入到依赖语法树中,按自底向上和自顶向下两个方向构建双向依赖语法树表征网络,按单词序列输入顺序拼接两个方向的表征网络输出作为依赖语法特征;

步骤2.1:利用词向量矩阵初始化每个分词序列中的单词,即其中表示实数,d是词向量维度,|V|表示词汇表大小。

步骤2.2:构建双向依赖树表征网络,自底向上依赖网络的父节点p和它的孩子集合为通过如下的公式得到自底向上依赖网络的输出

其中,和分别表示输入门,输出门和遗忘门;表示神经元记忆状态;表示隐藏层状态;σ是logistic函数;⊙表示元素逐一乘法;W↑(*),是需要训练的权重矩阵;b↑(*)神经元偏置向量,其中*∈{i,o,f,u};r(k)表示语法关系类型到对应训练参数的映射函数;公式中的p,k,l均是变量下标,替换后变量在神经元中的含义不变,只是对应到不同的对象上。

步骤2.3构建自顶向下依赖网络,其父节点p和它的孩子集合为通过如下的公式得到自顶向下依赖网络的输出

其中,和分别表示输入门,输出门和遗忘门;表示神经元记忆状态;表示隐藏层状态;σ是logistic函数;⊙表示元素逐一乘法;W↓(*),是需要训练的权重矩阵;b↓(*)神经元偏置向量,其中*∈{i,o,f,u};r(k)表示语法关系类型到对应训练参数的映射函数;公式中的p,k,l均是变量下标,替换后变量在神经元中的含义不变,只是对应到不同的对象上。

最后将各个节点自底向上依赖网络的输出和自顶向下的依赖网络的输出拼接,作为各个节点的最后依赖语法特征,表示为:

双向依赖树表征网络中各训练权重大小为d×d,偏置大小为d,最后hwi大小为2d维向量。

步骤3:将依赖语法特征输入双向LSTM(Long Short-Term Memory,长短期记忆网络)神经网络,利用该网络来获取单词序列间的序列特征,实现依赖语法特征和序列特征的隐性融合,具体表现为:

双向LSTM由前向与后向LSTM单元组成,假设前向LSTM和后向LSTM的输出分别为和则双向LSTM的输出由前向输出和后向输出拼接得来,表示为:不论前向还是后向LSTM,其计算方式均采用以下计算过程:

假设第j个神经LSTM单元接收到依赖语法特征前一个LSTM单元的隐藏状态hj-1和神经元状态cj-1,则当前LSTM单元的隐藏状态hj和神经元状态cj的计算公式如下:

cj=ij⊙uj+fj⊙cj-1,

hj=oj⊙tanh(cj),

其中ij,oj,fj分别表示输入门,输出门和遗忘门;权重矩阵W(*)大小是d×2d,U(*)大小是d×d,偏置b(*)大小为d,其中*∈{i,o,f,u};σ是logistic函数;⊙表示元素逐一乘法。

双向LSTM最后的输出向量gj大小为2d。

步骤4:将融合特征输入到条件随机场来生成输入分词序列对应的标注序列,具体形式如下:

将融合特征g={g1,g2,...,gj,...,gN}输入条件随机场,假设y={y1,y2,...,yj,...,yN}是对应的实际输出标签序列,其中yj∈T。所有可能的标签序列y′的集合表示为则线性链条件随机场概率模型定义为对于给定融合特征g在y′上的条件概率p(y|g;W,b)。其具体表达式如下:

其中,为势函数,和by′,y分别表示对应于标签对(y',y)的权重向量和偏置。

条件随机场的训练采用极大似然估计,即对于一个训练集合{(gj,yj)},对应的对数似然函数表示为:

条件随机场的预测,即用户评论属性标注的目标是找到条件最大的输出序列:

预测方法采用维特比算法,预测输出即输入分词序列对应的标注序列。最后根据标注序列中各个标注的含义得到输入文本的用户评论属性。

本发明设计了一个双向依赖语法树表征网络,用来抽取文本的依赖语法特征;将依赖语法特征输入双向LSTM网络层中,使得依赖特征和文本序列特征实现有效融合;最后应用条件随机场将融合的特征转换为对应的标签信息;整个方法采用端到端的训练方式,采用梯度反向传播算法更新网络中的权重及偏置参数,同时微调对应的词向量;优化过程采用的常用的Adam优化器,应用了梯度裁剪及L2正则化技术,同时在实施例中采用了dropout技术防止数据过拟合。

为了验证本发明的有效性,本发明采用SemEval-2014Task4中的笔记本评论(Laptops)和餐馆评论(Restaurants)数据集,SemEval-2015Task12中的餐馆评论(Restaurants)数据集,以及SemEval-2016Task5中的餐馆评论(Restaurants)数据集共4个数据集作为本发明的实例数据并进行试验验证;并使用F1值作为本发明的评估度量,其计算公式如下:

其中,precision是精确率,recall是召回率。

4个数据集的统计数据情况如图2所示。在试验中还用到了由Amazon公开的商品评论语料和Yelp公开的餐饮评论语料通过word2vec训练得到的词向量,这两个词向量分别作为笔记本评论数据集和餐馆评论数据集的词向量初始化。

试验一

在4个数据集上对本发明的方法进行对比试验,主要对比方法有四个,分别是:各个数据集当年SemEval挑战的最好成绩(TopSys),LSTM结合条件随机场(LSTM+CRF),双向LSTM结合条件随机场(BiLSTM+CRF),双向LSTM和CNN字符编码结合条件随机场(BiLSTM+CNN+CRF)。相关结果如图3所示。由F1值的定义可知,对比结果中的F1值越高,表示对应的抽取方法越好。可以看出,在4种数据集的实验上,本发明都给出了最好的实验效果。相比LSTM+CRF和BiLSTM+CRF,本发明平均高出4.58%和3.64%的F1值,与BiLSTM+CNN+CRF相比,也平均高出0.93%的F1值。说明了本发明很好的抽取效果。

试验二

在4个数据集上对本发明的方法进行脱离(ablation)试验,即对本发明的各个部分进行拆分后重新组合,舍弃部分结构查看方法的有效性。共有4种方式参与对比,分别是:去掉双向依赖语法表征网络,即(BiLSTM+CRF);去掉自底向上依赖语法表征网络(DownTree+BiLSTM+CRF);去掉自顶向下依赖语法表征网络(UpTree+BiLSTM);保留全部结构(All+BiLSTM+CRF)。相关结果如图4所示。可以看出All+BiLSTM+CRF在4个数据集上均比BiLSTM+CRF有更好的F1值,说明双向依赖语法表征网络能够非常显著地提升抽取的准确度。All+BiLSTM+CRF在3个数据集上优于其它单向的表征网络,说明了双向依赖语法表征网络确实能够增强依赖特征的抽取性能,并在用户评论抽取中表现出独特的优势。

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