1.本发明涉及自然语言处理的情感分析
技术领域:
:,尤其是指一种融合位置信息的三元组抽取方法及系统。
背景技术:
::2.大数据时代的到来,使得数据信息结构愈发复杂,如何获取用户信息中的情感倾向性,成为当前研究的热门,情感分析也随之兴起。为了满足细腻情感的辨别要求,方面级情感分析成为了当前的情感分析领域中的热门。3.近两年来学者根据方面级情感分析任务目标的不同,将其分为包括4种子任务的单输出任务和包括3种子任务的复合输出任务共7种。单输出任务包括方面词提取、观点词提取、方面级情感分类、面向方面的观点提取4种,复合输出任务包括方面观点共提取、方面提取与情感分类、三元组提取3种。虽然目前的三元组提取任务很好的将方面、观点、情感极性三者剥离开,但在实际生活中,方面观点间会存在一定的语义联系,通过这种联系能够更好地反映出情感极性,而现阶段的研究中并没有能够耦合方面和观点的网络模型,对三元组抽取任务中方面、观点耦合性较差,导致情感极性依赖分析准确率不高。技术实现要素:4.为此,本发明所要解决的技术问题在于克服现有技术中的不足,提供一种融合位置信息的三元组抽取方法及系统,可以获得高精度的融合位置信息的三元组。5.为解决上述技术问题,本发明提供了一种融合位置信息的三元组抽取方法,包括:6.使用编码器获取方面词和观点词的隐藏状态向量;7.通过自注意力机制加强方面词和观点词间的联系,得到方面词的隐藏状态向量表示和观点词的隐藏状态向量表示;8.对方面词和观点词进行特征剥离,获取方面词和观点词的特征表示;9.通过方面标记操作得到方面词标记分布序列,通过观点标记操作得到观点词标记分布序列,通过位置偏移操作得到方面位置偏移和观点位置偏移,通过词级情感依赖分析得到情感极性;10.使用启发式规则对所述方面词标记分布序列、观点词标记分布序列和情感极性进行三元组解码,得到包括方面词位置信息、观点词位置信息和情感极性的三元组输出。11.作为优选的,所述使用编码器获取方面词和观点词的隐藏状态向量,具体为通过双向长短时记忆网络获取方面词隐藏状态向量和观点词隐藏状态向量12.作为优选的,所述通过自注意力机制加强方面词和观点词间的联系,得到方面词的隐藏状态向量表示和观点词的隐藏状态向量表示,具体为:13.针对单词对(wi,wj),其中wi表示方面词、wj表示观点词,使用自注意力机制加强wi和wj之间的连接:[0014][0015]其中,uij表示单词对wi,、wj之间关联性权重向量,v表示单位向量;wa1和wa2是权重矩阵,ba是偏置;[0016]计算单词对wi,、wj之间关联性权重归一化向量αij:[0017][0018]其中,exp()表示以自然常数e为底的指数函数,n表示单词对(wi,wj)的个数;[0019]计算方面词的隐藏状态向量表示和观点词的隐藏状态向量表示[0020][0021][0022]其中,s表示句子长度,ap表示方面词,op表示观点词。[0023]作为优选的,所述对方面词和观点词进行特征剥离,获取方面词和观点词的特征表示,具体为:[0024]使用线性降维linear函数对方面词和观点词进行线性降维,使用非线性激活函数relu对方面词和观点词进行特征剥离,在可学习的权重和偏置设置不同时得到两组方面词的特征表示和观点词的特征表示:一组为方面词的特征表示ri(ap)、观点词的特征表示另一组为方面词的特征表示ri(ap)'、观点词的特征表示[0025]作为优选的,所述通过方面标记操作得到方面词标记分布序列,通过观点标记操作得到观点词标记分布序列,具体为:[0026]使用bio标注方案对所述方面词的特征表示ri(ap)进行序列标记得到包含b、i、o的方面词标记分布序列pi(ap),使用bio标注方案对所述观点词的特征表示进行序列标记得到包含b、i、o的观点词标记分布序列序列标记的同时记录方面词标记信息和观点词标记信息。[0027]作为优选的,所述通过位置偏移操作得到方面位置偏移和观点位置偏移,具体为:[0028]根据方面词标记分布序列pi(ap)和观点词标记分布序列确定方面词和观点词的位置序列,根据方面词相对于观点词的位置得到方面位置偏移根据观点词相对于方面词的位置得到观点位置偏移[0029]作为优选的,所述通过词级情感依赖分析得到情感极性,具体为:[0030]将方面位置偏移拼接到所述方面词的特征表示ri(ap)'中得到将观点位置偏移拼接到所述观点词的特征表示中得到[0031]构建初始化biaffine评分器,使用所述和计算每个词对的情感倾向性得分为:[0032][0033]其中,表示单词对(wi,wj)的第k个情感依赖关系类型得分,w(k)是产生第k个分数的可训练权重,b(k)是产生第k个分数的偏置;[0034]构建方面标记的损失函数:[0035][0036]其中,表示方面词标记分布序列的第i个位置上第k种标记出现的概率,表示方面词标记分布序列的第i个位置上第k种标记出现的概率的真值分布,k是每个位置上的类别数;[0037]构建观点标记的损失函数:[0038][0039]其中,表示观点词标记分布序列的第i个位置上第k种标记出现的概率,表示观点词标记分布序列的第i个位置上第k种标记出现的概率的真值分布,k是每个位置上的类别数;[0040]构建情感依赖分析的损失函数:[0041][0042]其中,表示单词对(wi,wj)的第k个情感依赖关系类型的真实得分,si,j,k表示归一化后的[0043]根据所述方面标记的损失函数、观点标记的损失函数和情感依赖分析的损失函数构建biaffine评分器联合训练的损失函数:[0044][0045]其中,α是一个平衡项,用来平衡标记学习和情感依赖性解析;θ表示可训练参数,γ是θ的l2正则化控制项;[0046]对biaffine评分器进行训练直到联合训练的损失函数收敛,将所述方面词标记信息和观点词标记信息送入评分器评分,得到方面词和观点词间的情感倾向性得分根据情感倾向性得分计算单词对(wi,wj)的所有依赖类型的概率si,j:[0047][0048]将四个依赖类型的概率中的最大值对应的依赖类型作为当前的情感极性。[0049]作为优选的,所述使用启发式规则对所述方面词标记分布序列、观点词标记分布序列和情感极性进行三元组解码,得到包括方面词位置信息、观点词位置信息和情感极性的三元组输出,具体为:[0050]使用stop-on-non-i算法标准对所述方面词标记分布序列pi(ap)进行逆序遍历找到第一个i或b的位置p1ap,使用stop-on-non-i算法标准对所述观点词标记分布序列进行逆序遍历找到第一个i或b的位置p1op;[0051]继续逆序遍历方面词标记分布序列pi(ap)直到找到第一个b的位置p2ap,继续逆序遍历观点词标记分布序列直到找到第一个b的位置p2op,得到所述包括方面词位置信息、观点词位置信息和情感极性的三元组输出为[(p2ap,p1ap),(p2op,p1op),情感极性]。[0052]本发明还提供了一种融合位置信息的三元组抽取系统,包括视图层、控制层和业务处理层,[0053]所述视图层使用vue框架进行用户页面制作;[0054]所述控制层通过mvc框架实现,所述控制层与所述视图层之间进行信息交互;[0055]所述业务处理层与所述控制层进行信息交互,所述业务处理层使用融合位置信息的三元组抽取方法得到包括方面词位置信息、观点词位置信息和情感极性的三元组输出,所述控制层将三元组输出通过视图层显示给用户。[0056]作为优选的,所述业务处理层包括测试模块、训练模块和数据集更新模块,[0057]所述测试模块包括例句输入和结果显示,用户在所述例句输入中输入的例句会进行三元组抽取,得到的三元组输出在所述结果显示中显示;[0058]用户通过使用所述训练模块设置模型训练的参数;[0059]所述数据集更新模块用于收集用户输入的例句,扩大样本集。[0060]本发明的上述技术方案相比现有技术具有以下优点:[0061]本发明通过引入自注意力机制加强了方面词、观点词的词对间的隐藏状态向量表示联系,实现了方面和观点的耦合;同时通过引入位置信息确保方面词、观点词能够对应,并通过匹配有位置关系实现方面词和观点词的进一步耦合;本发明的通过耦合方面和观点,可以获得高精度的融合位置信息的三元组,并且泛化能力较强。附图说明[0062]为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中[0063]图1为本发明方法的示意图;[0064]图2为本发明实施例中方面标记操作和观点标记操作的示意图;[0065]图3为本发明实施例中位置偏移操作的示意图;[0066]图4为本发明实施例中三元组解码过程的示意图;[0067]图5为本发明实施例中的数据集数据分析图;[0068]图6为本发明实施例中剔除重叠三元组后将otpm与五种基线模型进行对比的实验结果;[0069]图7为本发明实施例中保留重叠三元组时将otpm与三种基线模型进行对比的实验结果;[0070]图8为本发明实施例中otpm与变体消融实验结果;[0071]图9为本发明实施例中otpm与变体案例研究分析;[0072]图10为本发明系统架构的示意图;[0073]图11为本发明系统的后台mvc模式的示意图;[0074]图12为本发明系统的测试界面的示意图;[0075]图13为本发明系统的训练界面的示意图;[0076]图14为本发明系统的数据更新界面和数据更新界面中的删除页面的示意图。具体实施方式[0077]下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。[0078]如图1所示,本发明的公开了一种融合位置信息的三元组抽取方法,包括:[0079]s0:建立包括编码器层、自注意力机制层、表示层、多任务学习层以及三元组解码层的模型结构。[0080]s1:在编码器层中,使用编码器获取方面词和观点词的隐藏状态向量。方面词即情感分析的对象,观点词即该对象的评价。[0081]本实施例中通过双向长短时记忆网络(bi-directionallongshort-termmemorynetwork,bilstm)获取方面词隐藏状态向量和观点词隐藏状态向量具体为:[0082]s1-1:对输入的语句进行编码,把语句中的各个词汇采用glove词向量模型,嵌入到某个低维向量空间中,得到词向量矩阵ei表示句中每个单词的词向量,表示词向量取值范围,de表示词向量维度,s表示句子长度;[0083]s1-2:鉴于上下文感知对句子编码至关重要,同时考虑到长短时记忆网络具有上下文感知能力,本发明使用双向长短时记忆网络作为句子的编码器获取词向量hi表示隐藏层状态向量,表示隐藏层状态向量的取值范围,r表示欧几里得空间,dh表示单方向隐藏层状态向量的维度。具体为:[0084]s1-2-1:bilstm主要包含有输入门、输出门和遗忘门三个门控单元,其隐藏层计算公式如下:[0085]it=σ(xtwxi+ht-1whi+bi),[0086]ft=σ(xtwxf+ht-1whf+bf),[0087]ot=σ(xtwxo+ht-1who+bo),[0088][0089][0090][0091]其中,xt表示t时的输入向量,it表示xt经过输入门后的输出向量,ft表示xt经过遗忘门后的输出向量,ot表示xt经过输出门后的输出向量,表示t时刻的单元记忆,ct表示t时刻的单元状态,ht表示t时刻的隐藏层状态向量;σ表示sigmoid激活函数,表示向量相乘;wxi、wxf、wxo和wxc分别表示xt在输入门、遗忘门、输出门和当前时刻细胞状态的参数矩阵,whi、whf、who和whc分别表示ht在输入门、遗忘门、输出门和当前时刻细胞状态的参数矩阵;b代表偏置项,bi、bf、bo、bc分别表示在输入门、遗忘门、输出门和当前时刻细胞状态的偏置。[0092]s1-2-2:在t时刻,bilstm的先向输出与后向输出分别为和将两个方向的矢量完成拼接后,得到t时刻的最终输出隐藏层状态向量为:[0093][0094]其中,表示向量拼接。使用公式的计算方法得到方面词隐藏状态向量和观点词隐藏状态向量[0095]s2:在自注意力机制层中,通过自注意力机制加强方面词和观点词间的联系,得到方面词的隐藏状态向量表示和观点词的隐藏状态向量表示。[0096]s2-1:针对单词对(wi,wj),其中wi表示方面词、wj表示观点词,使用自注意力机制强wi和wj之间的连接:[0097][0098]其中,uij表示单词对wi,、wj之间关联性权重向量,v表示单位向量,v用于求取方面、观点关联权重系数;wa1和wa2是权重矩阵,ba是偏置;[0099]s2-2:计算单词对wi,、wj之间关联性权重归一化向量αij:[0100][0101]其中,exp()表示以自然常数e为底的指数函数,n表示单词对(wi,wj)的个数;[0102]s2-3:计算方面词的隐藏状态向量表示和观点词的隐藏状态向量表示[0103][0104][0105]其中,s表示句子长度,ap表示方面词,op表示观点词。[0106]s3:在表示层中,对方面词和观点词进行特征剥离,获取方面词和观点词的特征表示。[0107]s3-1:先使用线性降维linear函数(本实施例中使用pytorch中的nn.linear函数)对方面词和观点词进行线性降维。[0108]s3-2:再使用非线性激活函数relu对方面词和观点词进行特征剥离,避免直接将隐藏状态输入到下一个单元中,减少过拟合的风险。在可学习的权重和偏置设置不同时得到两组方面词的特征表示和观点词的特征表示:一组为方面词的特征表示ri(ap)、观点词的特征表示另一组为方面词的特征表示ri(ap)'、观点词的特征表示[0109]具体为:[0110][0111][0112]其中,和分别是方面词的特征表示和观点词的特征表示,dr是表示向量维数;代表可学习的权重和偏置,g()是一个非线性函数,在本发明中设置为relu激活函数。[0113]方面词的特征表示ri(ap)、观点词的特征表示将在接下来的多任务结构方面、观点标记中作为输入。同时在特征表示阶段通过相同方法得到另一组表示这组表示将与之后的位置偏移相结合,用于词级情感依赖分析中。方面词的特征表示ri(ap)'、观点词的特征表示的计算方法与ri(ap)、相同,仅是可学习的权重和偏置设置不同。[0114]s4:在多任务学习层中,通过方面标记操作得到方面词标记分布序列,通过观点标记操作得到观点词标记分布序列,通过位置偏移操作得到方面位置偏移和观点位置偏移,通过词级情感依赖分析得到情感极性。[0115]s4-1:使用bio标注方案对一组所述方面词的特征表示ri(ap)进行序列标记得到包含b、i、o的方面词标记分布序列pi(ap),使用bio标注方案对一组所述观点词的特征表示进行序列标记得到包含b、i、o的观点词标记分布序列序列标记的同时记录方面词标记信息和观点词标记信息。[0116]本实施例中对方面词的特征表示ri(ap)、观点词的特征表示进行标记,将每个单词的标记分为b、i、o三种类别,b代表标记对象的开头,当标记对象长度超过1则标记对象其余部分标记为i,所有非标记对象标记为o。如图2所示,第一行为例句,第二行为方面标记,标记对象是方面词;第三行为观点标记,标记对象为观点词。以观点词标记为例,当观点词“friendly”长度为1时,标记为b;当观点词“outoftheworld”长度超过1时,其开头标记为b,其余标记为i;所有与观点词无关的单词全部标记为o。具体为:[0117]用两个序列标记器为句子中的每个单词标记,分别是方面词标记、观点词标记。通过bio标注方案标记得到两个分布序列pi(ap)表示方面词标记分布序列,表示观点词标记分布序列:[0118]pi(ap)=softmax(wt(ap)ri(ap)+bt(ap)),[0119][0120]其中,和是可训练参数,wt(ap)表示方面词学习的参数矩阵,表示方面词偏置,wt(op)表示观点词学习的参数矩阵,表示观点词偏置。而得到的标记结果是一个三维数组,它将分别表示b、i、o三个符号在该单词位置上的概率,通过选取最大概率来确定标记结果。[0121]s4-2:根据方面词标记分布序列pi(ap)和观点词标记分布序列确定方面词和观点词的位置序列,根据方面词相对于观点词的位置得到方面位置偏移根据观点词相对于方面词的位置得到观点位置偏移本实施例中在中心词左侧为负右侧为正;原理如图3所示。图中第二行表示观点词相对方面词偏移量,第三行表示方面词相对观点词的偏移量。在第二行中,可以看到以方面词“waters”为中心时,其对应的观点词“friendly”位置在其右侧,长度为1,所以位置偏移量起始点与截止点相同,记作(2,2)(这里两个2,左边表示起始位置,右边表示截止位置,长度为1所以开始结束位置相同,与当前中心词的单词数即为距离数);而当方面词“sashimi”为中心时,其对应的观点词“outoftheworld”长度为4,所以以方面词“sashimi”为原点,记作(2,5)。在第三行中,以观点词“friendly”为中心时,由于方面词长度为1,所以位置偏移量记作(-2,-2)。除此之外,当方面、观点的长度不为1时,以其第一个单词作为偏移量标记位置,如图观点词“outoftheworld”方面偏移量将标记在“out”上。[0122]s4-3:通过词级情感依赖分析得到情感极性。[0123]s4-3-1:将方面位置偏移拼接到另一组的所述方面词的特征表示ri(ap)'中得到将观点位置偏移拼接到另一组的所述观点词的特征表示中得到即在向量ri(ap)'和后各自接上位置信息的向量:[0124][0125][0126]其中,cat表示向量拼接操作;[0127]假设训练语句长度为s,在包含自配对的情况下,每个句子中都包含有|s|2个的词对,对每个词对的依赖类型都进行计算预测。依赖类型分为四个情况,分别是neu、neg、pos和no-dep,其中no-dep表示没有情感依赖,neu表示中立情感、neg表示消极情感、pos表示积极情感,通过这四个分类来处理各种依赖关系。此外,受表格填充方法的启发,情感依赖性仅适用于三元组中正好是一个方面的最后一个词和一个观点的最后一个词的词对。例如:“waitersarefriendlyandthesashimiisoutoftheworld.”对于三元组(sashimi,outoftheworld,nes),情感依赖关系简化为(sashimi,world,nes)。这样可以大大降低学习冗余度,并且当情感依赖在与方面和观点跨度相结合时仍然可用。[0128]s4-3-2:因为在句法依赖分析中已被证明拥有优秀的表达能力,所以本发明中使用biaffine评分器来捕捉每个词对中两个词的交互作用。构建初始化biaffine评分器,使用所述和计算每个词对的情感倾向性得分为:[0129][0130]其中,表示单词对(wi,wj)的第k个情感依赖关系类型得分,w(k)是产生第k个分数的可训练权重,b(k)是产生第k个分数的偏置,()t表示向量或矩阵的转置;[0131]s4-3-3:在方面和观点标记、位置偏移和词级情感依赖分析后,可以分别推导出方面标记的损失函数、观点标记的损失函数和情感依赖分析的损失函数,损失函数类型为交叉熵函数。[0132]构建方面标记的损失函数:[0133][0134]其中,表示方面词标记分布序列的第i个位置上第k种标记出现的概率,表示方面词标记分布序列的第i个位置上第k种标记出现的概率的真值分布,k是每个位置上的类别数(若位置上出现了b、i、o标记中的一种,类别数为1;若位置上出现了b、i、o标记中的两种,类别数为2;若位置上b、i、o都出现了,类别数为3);[0135]构建观点标记的损失函数:[0136][0137]其中,表示观点词标记分布序列的第i个位置上第k种标记出现的概率,表示观点词标记分布序列的第i个位置上第k种标记出现的概率的真值分布,k是每个位置上的类别数;[0138]构建情感依赖分析的损失函数:[0139][0140]其中,表示单词对(wi,wj)的第k个情感依赖关系类型的真实得分(即数据集中自带的得分),si,j,k表示归一化后的[0141]根据所述方面标记的损失函数、观点标记的损失函数和情感依赖分析的损失函数构建biaffine评分器联合训练的损失函数:[0142][0143]其中,α是一个平衡项,用来平衡标记学习和情感依赖性解析;θ表示可训练参数,表示所有θ对应的取值中的最小值;γ是θ的l2正则化控制项;本实施例中α取值1,γ取值10-5。[0144]s4-3-4:对biaffine评分器进行训练直到联合训练的损失函数收敛,将所述方面词标记信息和观点词标记信息送入评分器评分,得到方面词和观点词间的情感倾向性得分根据情感倾向性得分计算单词对(wi,wj)的所有依赖类型的概率si,j:[0145][0146]将四个依赖类型的概率中的最大值对应的依赖类型作为当前的情感极性。[0147]s5:在三元组解码层中,使用启发式规则对所述方面词标记分布序列、观点词标记分布序列和情感极性进行三元组解码,得到包括方面词位置信息、观点词位置信息和情感极性的三元组输出。[0148]s5-1:使用stop-on-non-i算法标准对所述方面词标记分布序列pi(ap)进行逆序遍历找到第一个i或b的位置p1ap,使用stop-on-non-i算法标准对所述观点词标记分布序列进行逆序遍历找到第一个i或b的位置p1op,建立初步三元组(p1ap,p1op,情感极性);[0149]s5-2:继续逆序遍历方面词标记分布序列pi(ap)直到找到第一个b的位置p2ap,继续逆序遍历观点词标记分布序列直到找到第一个b的位置p2op,得到所述包括方面词位置信息、观点词位置信息和情感极性的三元组输出为[(p2ap,p1ap),(p2op,p1op),情感极性]。p2ap是方面词的开始位置,p1ap是方面词的结束位置,p2op是观点词的开始位置,p1op是观点词的结束位置;当方面词或观点词的长度为1,即只含有一个b不含有i时,开始结束位置相同,p2ap=p1ap或p2op=p1op。本实施例中过程如图4,从单词序列“thecomputerisfastandgood.”中,得到了方面标记{o,b,o,o,o,o,o},观点标记{o,o,o,b,o,b,o},还有两个词级情感依赖关系。方面词“computer”对应两个观点词“fast”、“good”,所以有两个三元组,情感都是积极的。其中位置从0开始,方面词位置是1,观点词位置有两个分别是3,5。如图4所示初步三元组为(1,3,pos)和(1,5,pos)。得到的输出结果为[(1,1),(3,3),pos]和[(1,1),(5,5),pos]。[0150]本发明通过引入自注意力机制加强了方面词、观点词的词对间的隐藏状态向量表示联系,实现了方面和观点的耦合;同时通过引入位置信息确保方面词、观点词能够对应,并通过匹配有位置关系实现方面词和观点词的进一步耦合;本发明的通过耦合方面和观点,可以获得高精度的融合位置信息的三元组,并且泛化能力较强。[0151]为了进一步说明本发明的有益效果,本实施例中使用实验平台gtx1060tigpu、深度学习框架为pytorch,分别在方面级情感分析笔记本电脑领域数据集lap14和餐饮领域数据集rest14、rest15和rest16上进行实验。采用查准率p和宏观平均f1值来验证本发明(用otpm表示)的性能。[0152]从图5中观察到的一个关键现象是,数据集中存在大量的重叠情况,平均占所有四个数据集三元组总数的24.2%。这一现象表明三元组交互模拟的必要性。只有完全匹配的三元组,即所有方面词、观点词和情绪极性都符合标准,才会在评估过程中被视为真正例标记。并对准确度p和宏观平均f1值进行了配对测试,用于检验结果的准确性。[0153]将数据集中所有的重叠三元组剔除后,将本发明otpm与rinante(详见文献“daih,songy.neuralaspectandopiniontermextractionwithminedrulesasweaksupervision[j].expertsystemswithapplications,2019,102(3):89-100.”)、cmla(详见文献“wangw,pansj,dahlmeierd,etal.coupledmulti-layerattentionsforco-extractionofaspectandopinionterms[c]//proceedingsoftheassociationfortheadvancementofartificialintelligence.aaai,2017:273-284.”)、hast(详见文献“lix,bingl,lip,etal.aspecttermextractionwithhistoryattentionandselectivetransformation[j].internationaljournalofscientificengineeringandtechnology,2018,4(2):586-597.”)、unified(详见文献“lix,bingl,lip,etal.aunifiedmodelforopiniontargetextractionandtargetsentimentprediction[c]//proceedingsoftheassociationfortheadvancementofartificialintelligence.paloalto,ca,2019:6714-6721.”)和pipeline(详见文献“pengh,xul,bingl,etal.knowingwhat,howandwhy:anearcompletesolutionforaspect-basedsentimentanalysis[c]//proceedingsoftheassociationfortheadvancementofartificialintelligence.paloalto,ca,2020:8600-8607.”)五种基线模型进行对比实验,实验结果如图6所示。[0154]保留数据集中所有的重叠三元组时,将本发明otpm与m-cmla(在原cmla的基础上增加本发明中的多任务学习层)、m-hast(在原hast的基础上增加本发明中的多任务学习层)、ote-mtl(详见文献“zhangc,liq,songd,etal.amulti-tasklearningframeworkforopiniontripletextraction[c]//proceedingsofthe2020conferenceonempiricalmethodsinnaturallanguageprocessing.emnlp,2020:4677-4685”)三种基线模型进行对比实验,实验结果如图7所示。[0155]从图6可以看出,通过对比宏观平局f1值,本发明方法otpm在lap14、rest14、rest15、rest16中相较于五种基线模型分别提高了0.20%、7.12%、1.34%、4.70%,总体性能较好。从图7可以看出,otpm的宏观平均f1值在所有数据集上相较于三种基线模型均有所提升。因此,实验可以证明本发明otpm在处理观点三元组提取任务方面是有效的。同时,从图6和图7可以看出,otpm在剔除重叠三元组的数据集上的结果通常好于那些有重叠三元组的数据集。因此,实验表明重叠案例会更具挑战性,可以通过三元组交互模型来达到一定程度的解决效果。然而,相对于m-cmla与m-hast两者的优异表现,cmla和hast则表现较差。这一事实表明,通过解耦方面词和情感极性预测,并将其置于多任务学习方法下,可以增强模型并获得更好的结果。[0156]如图8所示,otpm-p是去除bilstm层后的自注意力层,仅通过位置偏移信息加强方面词、观点词耦合程度的模型变体、otpm-a是保留自注意力层,去除多任务中的位置偏移信息的模型变体。otpm-cat是使用一个方面-观点联合向量的激活的线性层来替换原有评分器的模型变体。通过图8数据可以看到,模型otpm-p和otpm-a两者的宏观平局f1值在四个数据集上相较原模型都有1%~2%的浮动下降,可以发现单一的自注意力层和位置偏移信息,其耦合效率没有两者结合来的更加明显。同时,实验转换思路,通过将方面观点进行直接联合的方式来加强关联性,发现otpm-cat实验结果并不理想,这可能是由于显式的直接关联不能模拟出方面、情感之间存在的隐藏关系,较为死板,可以看出otpm超过了它的所有变体。[0157]如图9所示,为了理解otpm耦合方面观点的标记方法相比基于统一标记的方法的优势,实验对测试集中的三个代表性例子进行了案例研究,这里选取模型otpm-cat作为对照,其中错误识别会标记“×”。从第一个例句可以看出两个模型在短跨度分类的情况下能准确识别出情感极性对于方面词“food”而言,其观点词“great”距离较近,能够轻易识别,同时情感极性判断为积极也较为容易;方面词“service”对应的观点词“dreadful”情况也基本类似。同时由于各自的方面词和观点词之间只是一对一的关系,例如“food”只有一个观点词“great”,而观点词“dreadful”则对应着方面词“service”,所以情感极性的识别不会出现混淆的错误。但在第二个例句中,由于方面词与观点词存在一对多的映射情况,“atmosphere”对应的观点词有“attractive”、“uncomfortable”,两者情感极性明显相反,导致模型otpm-cat根据不同极性的观点词,对方面“atmosphere”产生了两种相反的情感通过三元组结果(atmosphere,attractive,pos),(atmosphere,uncomfortable,neg)可以看到,前一个观点词情感为pos积极,后一个则是neg消极。但是本发明正确识别出了“atmosphere”相对更侧重于“attractive”的积极情感。第三个例句极具挑战性,其中包含了多个方面词与观点词,且这些方面词观点词之间不是单一映射,包含了多对多的映射,例如方面词“wificonnection”对应了两个观点词“speedy”、“pleased”;同样的观点词“pleased”也对应了多个方面“logon”、“wificonnection”、“batterylife”。可以看到otpm-cat表现一般,仅仅只识别出了一组三元组关系;而本发明正确识别出了四组三元组关系。[0158]通过实验可以证明,本发明方法可以获得高精度的融合位置信息的三元组;同时分别在笔记本方面的laptop14数据集,餐饮方面的rest14、15、16数据集上进行实验都可以得到高精度的结果,可以看出本发明的泛化能力较强。[0159]将本发明方法应用于手机app进行情感分析测试,本发明还公开了如图10所示的一种融合位置信息的三元组抽取系统,包括视图层、控制层和业务处理层。[0160]所述视图层在uniapp平台上开发,使用vue框架利用uview集成组件库进行用户页面制作;是一组用于建立用户界面的渐进式前端框架。和现在的bootstrap和react框架不同的是,vue结构能够实现数据信息的双向绑定,同时也会跟踪对页面中的各个组成部分的依赖性关联,而无需再次渲染组件树。同时vue也由于引入了虚拟dom技术,在当页面数据结果出现变化时,就可以智能地统计出所有需要完成渲染的组成部分,从而可以以最少的代价运用在dom操作上。本实施例中前端代码平台选用uniapp进行制作。它是使用vue.js开发各种前端应用的框架,可在ios、android、web(响应式)以及各种小程序(微信、支付宝、百度、头条、飞书、qq、快手、钉钉、淘宝等)快应用获得。同时平台中拥有各种丰富的开源组件库资源。在这里应用选择uview组件,这是一个高效集成的组件库,组件样式简单易修改,并且能够满足项目开发需求,拥有较好的适配性。[0161]所述控制层使用经典mvc框架,通过idea平台实现,所述控制层与所述视图层之间通过ajax方法进行信息交互;如图11所示,控制层主要使用mvc模式,mvc全称model-view-controller。图11中,实线代表方法调用,虚线代表事件。m代表业务模块,它可以存取数据的对象(又称javapojo),并且自带逻辑更新控制器,可以及时反馈数据变更。v代表数据视图的可视化,及用户能看到的交互界面,视图中不处理发生,只作为一种数据输入的方式。c指向的是控制器,控制器能接受从应用系统传来的消息并通过函数、模块和视图等实现应用需求。控制器本身并不能完成处理运算,只能先把所接受到的请求加以合理分配,然后发送至特定模型中加以处理,随后再选择采用什么视图方法显示返回的数据。mvc模式的耦合性低,视图层和业务层可以分离操作,功能修改可以单独改变业务流程或规则,ui设计则可以直接更改视图层代码。另外由于mvc模型复用性较高,因此该模型也可以通过多个视图同时访问一个服务端,只要前后端数据格式传输不变,就能复用在其他软件中。mvc部署速度快,生命周期成本低,很适合本发明的实际应用。[0162]所述业务处理层设置在python中,主要使用pytorch库进行模型训练、预测等操作,与所述控制层通过runtime.getruntime().exec()方法进行信息交互,所述业务处理层使用如权利要求1-8任一项所述的融合位置信息的三元组抽取方法得到三元组输出。所述控制层将三元组输出通过视图层显示给用户。[0163]所述业务处理层包括测试模块、训练模块和数据集更新模块。[0164]如图12所示为所述测试模块对应的测试界面,所述测试模块包括语言选择、数据集选择、模型选择、例句输入和结果显示,其中数据集选择是用来规定输入例句的范围,例如在笔记本方面选择laptop14数据集,餐饮方面可以选择rest14,15,16,在用户输入例句后会判断输入的例句是否正确。当用户选择需要的语言、数据集和模型(即本发明方法融合位置信息的三元组抽取方法otpm)后,在例句输入中输入的例句会传输到后台并送入相对应的模型中进行三元组抽取,返回的三元组输出在结果显示中显示;[0165]所述训练模块对应的训练界面如图13所示,用户通过使用所述训练界面设置模型训练的参数。所述训练界面较为简单,目前设置一些关键参数变量,后续可以进行更加详细的优化。通过选取数据集,设置学习率,耐心指数、batchsize、epoch等参数,学习率可以控制模型的学习步伐,学习率过大容易导致错过最佳模型;耐心指数可以在模型训练几轮没有提升后提前结束训练,本实验耐心指数设置为5,即5轮内没有提升提前结束训练;batchsize可以根据电子产品性能决定,batchsize越大训练越快,同时性能要求也越高;epoch控制训练轮次数,训练达到论次数训练停止,一般通过耐心指数提前结束,用户可以实现自定义训练。参数选择完成后,点击提交按钮,后台模型训练结束后,页面会返回“训练成功”的字样。[0166]所述数据集更新模块对应的数据集更新界面如图14(a),用于收集用户输入的例句,扩大样本集。以英文三元组为示例,用户通过人工输入例句中的方面词、观点词在句中的位置(从0开始),并选择pos、neg、neu三种极性关系之一,然后点击添加按钮,生成标签数组。如果遇到句子中存在多组三元关系可以继续添加。如遇到三元组关系输入错误,可以右滑窗口转到如图14(b)所示的删除页面,点击删除按钮,删除当前记录。最后在确定三元组关系输入无误后,可以进行提交。添加成功后返回“添加成功”的字样。图中在正在添加栏目中,7,8表示方面词位置序号;6表示观点词位置序号;pos表示情感极性为积极;在已添加三元组栏目中,“方面:4;观点:3;关系pos”表示方面词在位置4,观点词在位置3,其关系为积极。[0167]术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。[0168]本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0169]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0170]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0171]显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。当前第1页12当前第1页12
技术特征:1.一种融合位置信息的三元组抽取方法,其特征在于,包括:使用编码器获取方面词和观点词的隐藏状态向量;通过自注意力机制加强方面词和观点词间的联系,得到方面词的隐藏状态向量表示和观点词的隐藏状态向量表示;对方面词和观点词进行特征剥离,获取方面词和观点词的特征表示;通过方面标记操作得到方面词标记分布序列,通过观点标记操作得到观点词标记分布序列,通过位置偏移操作得到方面位置偏移和观点位置偏移,通过词级情感依赖分析得到情感极性;使用启发式规则对所述方面词标记分布序列、观点词标记分布序列和情感极性进行三元组解码,得到包括方面词位置信息、观点词位置信息和情感极性的三元组输出。2.根据权利要求1所述的融合位置信息的三元组抽取方法,其特征在于:所述使用编码器获取方面词和观点词的隐藏状态向量,具体为通过双向长短时记忆网络获取方面词隐藏状态向量和观点词隐藏状态向量3.根据权利要求2所述的融合位置信息的三元组抽取方法,其特征在于:所述通过自注意力机制加强方面词和观点词间的联系,得到方面词的隐藏状态向量表示和观点词的隐藏状态向量表示,具体为:针对单词对(w
i
,w
j
),其中w
i
表示方面词、w
j
表示观点词,使用自注意力机制加强w
i
和w
j
之间的连接:其中,u
ij
表示单词对w
i
,、w
j
之间关联性权重向量,v表示单位向量;w
a1
和w
a2
是权重矩阵,b
a
是偏置;计算单词对w
i
,、w
j
之间关联性权重归一化向量α
ij
:其中,exp()表示以自然常数e为底的指数函数,n表示单词对(w
i
,w
j
)的个数;计算方面词的隐藏状态向量表示和观点词的隐藏状态向量表示和观点词的隐藏状态向量表示和观点词的隐藏状态向量表示其中,s表示句子长度,ap表示方面词,op表示观点词。4.根据权利要求1所述的融合位置信息的三元组抽取方法,其特征在于:所述对方面词和观点词进行特征剥离,获取方面词和观点词的特征表示,具体为:使用线性降维linear函数对方面词和观点词进行线性降维,使用非线性激活函数relu对方面词和观点词进行特征剥离,在可学习的权重和偏置设置不同时得到两组方面词的特征表示和观点词的特征表示:一组为方面词的特征表示r
i(ap)
、观点词的特征表示另一
组为方面词的特征表示r
i(ap)
'、观点词的特征表示5.根据权利要求4所述的融合位置信息的三元组抽取方法,其特征在于:所述通过方面标记操作得到方面词标记分布序列,通过观点标记操作得到观点词标记分布序列,具体为:使用bio标注方案对所述方面词的特征表示r
i(ap)
进行序列标记得到包含b、i、o的方面词标记分布序列p
i(ap)
,使用bio标注方案对所述观点词的特征表示进行序列标记得到包含b、i、o的观点词标记分布序列序列标记的同时记录方面词标记信息和观点词标记信息。6.根据权利要求5所述的融合位置信息的三元组抽取方法,其特征在于:所述通过位置偏移操作得到方面位置偏移和观点位置偏移,具体为:根据方面词标记分布序列p
i(ap)
和观点词标记分布序列确定方面词和观点词的位置序列,根据方面词相对于观点词的位置得到方面位置偏移根据观点词相对于方面词的位置得到观点位置偏移7.根据权利要求6所述的融合位置信息的三元组抽取方法,其特征在于:所述通过词级情感依赖分析得到情感极性,具体为:将方面位置偏移拼接到所述方面词的特征表示r
i(ap)
'中得到将观点位置偏移拼接到所述观点词的特征表示中得到构建初始化biaffine评分器,使用所述和计算每个词对的情感倾向性得分为:其中,表示单词对(w
i
,w
j
)的第k个情感依赖关系类型得分,w
(k)
是产生第k个分数的可训练权重,b
(k)
是产生第k个分数的偏置;构建方面标记的损失函数:其中,表示方面词标记分布序列的第i个位置上第k种标记出现的概率,表示方面词标记分布序列的第i个位置上第k种标记出现的概率的真值分布,k是每个位置上的类别数;构建观点标记的损失函数:
其中,表示观点词标记分布序列的第i个位置上第k种标记出现的概率,表示观点词标记分布序列的第i个位置上第k种标记出现的概率的真值分布,k是每个位置上的类别数;构建情感依赖分析的损失函数:其中,表示单词对(w
i
,w
j
)的第k个情感依赖关系类型的真实得分,s
i,j,k
表示归一化后的根据所述方面标记的损失函数、观点标记的损失函数和情感依赖分析的损失函数构建biaffine评分器联合训练的损失函数:其中,α是一个平衡项,用来平衡标记学习和情感依赖性解析;θ表示可训练参数,γ是θ的l2正则化控制项;对biaffine评分器进行训练直到联合训练的损失函数收敛,将所述方面词标记信息和观点词标记信息送入评分器评分,得到方面词和观点词间的情感倾向性得分根据情感倾向性得分计算单词对(w
i
,w
j
)的所有依赖类型的概率s
i,j
:将四个依赖类型的概率中的最大值对应的依赖类型作为当前的情感极性。8.根据权利要求5-7任一项所述的融合位置信息的三元组抽取方法,其特征在于:所述使用启发式规则对所述方面词标记分布序列、观点词标记分布序列和情感极性进行三元组解码,得到包括方面词位置信息、观点词位置信息和情感极性的三元组输出,具体为:使用stop-on-non-i算法标准对所述方面词标记分布序列p
i(ap)
进行逆序遍历找到第一个i或b的位置p1
ap
,使用stop-on-non-i算法标准对所述观点词标记分布序列进行逆序遍历找到第一个i或b的位置p1
op
;继续逆序遍历方面词标记分布序列p
i(ap)
直到找到第一个b的位置p2
ap
,继续逆序遍历观点词标记分布序列直到找到第一个b的位置p2
op
,得到所述包括方面词位置信息、观点词位置信息和情感极性的三元组输出为[(p2
ap
,p1
ap
),(p2
op
,p1
op
),情感极性]。9.一种融合位置信息的三元组抽取系统,其特征在于:包括视图层、控制层和业务处理层,所述视图层使用vue框架进行用户页面制作;所述控制层通过mvc框架实现,所述控制层与所述视图层之间进行信息交互;所述业务处理层与所述控制层进行信息交互,所述业务处理层使用如权利要求1-8任一项所述的融合位置信息的三元组抽取方法得到包括方面词位置信息、观点词位置信息和
情感极性的三元组输出,所述控制层将三元组输出通过视图层显示给用户。10.根据权利要求9所述的融合位置信息的三元组抽取系统,其特征在于:所述业务处理层包括测试模块、训练模块和数据集更新模块,所述测试模块包括例句输入和结果显示,用户在所述例句输入中输入的例句会进行三元组抽取,得到的三元组输出在所述结果显示中显示;用户通过使用所述训练模块设置模型训练的参数;所述数据集更新模块用于收集用户输入的例句,扩大样本集。
技术总结本发明涉及一种融合位置信息的三元组抽取方法及系统,方法包括:使用编码器获取方面词和观点词的隐藏状态向量,通过自注意力机制加强方面词和观点词间的联系得到隐藏状态向量表示,对方面词和观点词进行特征剥离获取特征表示,通过标记操作得到方面词和观点词标记分布序列,通过位置偏移操作得到方面和观点位置偏移,通过词级情感依赖分析得到情感极性,使用启发式规则对方面词和观点词标记分布序列、情感极性进行三元组解码,得到包括位置信息和情感极性的三元组输出;系统包括视图层、控制层和业务处理层,业务层使用本发明方法得到三元组输出。本发明可以获得高精度的融合位置信息的三元组,并且泛化能力较强。并且泛化能力较强。并且泛化能力较强。
技术研发人员:钱雪忠 姜宇桐
受保护的技术使用者:江南大学
技术研发日:2022.07.19
技术公布日:2022/11/1