产品属性描述语识别方法研究与实现_第1页
产品属性描述语识别方法研究与实现_第2页
产品属性描述语识别方法研究与实现_第3页
产品属性描述语识别方法研究与实现_第4页
产品属性描述语识别方法研究与实现_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录摘 要1Abstract2前 言3第一章绪 论51.1研究背景及意义51.2本文的主要工作61.3本文的组织结构6第二章语料集的产生82.1语料来源82.2语料爬取82.3语料标注102.3.1 属性描述语102.3.2 BIO标注法112.3.3 标注结果122.4 本章小结12第三章基于CRF模型的识别方法133.1CRF模型原理133.1.1CRF网络结构133.1.2CRF训练原理133.2实验过程153.3实验结果与分析163.4本章小结17第四章基于Bi-LSTM-CRF模型的识别方法184.1Bi-LSTM模型原理184.1.1 Bi-LSTM的由来184.1.2 Bi-L

2、STM的单元结构204.2 Bi-LSTM-CRF模型结构214.3实验过程224.3.1有预训练的词嵌入234.3.2无预训练的词嵌入244.4实验结果与分析244.4.1有预训练的词嵌入244.4.2无预训练的词嵌入254.4.3 CRF模型与Bi-LSTM-CRF模型274.4.3 实验结果分析274.5本章小结28第五章 总结与展望295.1本文总结295.2后续工作展望29参考文献31致 谢3333摘 要随着互联网的快速发展,网上购物成为日常生活中必不可少的一部分。但在面对琳琅满目的产品时,人们往往在选择上而大费工夫,由此产品评论逐渐成为人们了解产品的首要依据。在产品评论中,产品的属

3、性描述对于用户了解产品有极大的帮助。本文提出了一种基于序列标注模型的产品属性描述语的识别方法。首先,利用爬虫程序从京东网站上选取了3000条电子产品相关的评论,中文分词后使用BIO标注法对其进行手工标注。其次,利用标注好的语料分别训练CRF模型和Bi-LSTM-CRF模型。最后,用构建好的学习器自动标注测试集中的词语,根据预测标签和实际标签的对比结果分别计算基于这两种模型的方法的准确率、召回率、F1值1。通过实验结果的对比与分析,有预训练的词嵌入的Bi-LSTM-CRF模型性能最优,平均准确率达82.1475%,平均召回率达80.7888%,平均F1值达81.4625%。有预训练的词嵌入的Bi

4、-LSTM-CRF模型拥有较好的识别产品属性描述语的效果。关键词: 产品属性描述语;Bi-LSTM-CRF模型;产品评论AbstractWith the rapid development of the Internet, online shopping is becoming one of the most important part in daily life. However, in the face of a dazzling array of products, people often have to spend a lot of time to choose the produ

5、cts, thus product reviews have gradually become the primary basis for people to know the product. In product reviews, product feature descriptions are extremely helpful for users to understand the product.This paper proposes a method for identifying product feature descriptors based on sequence anno

6、tation model. First, 3,000 electronic product-related reviews were selected from the JD.com website using a crawler program, and the BIO tagging method was used to tag the words by hand after segmenting Chinese words. Secondly, the CRF model and the Bi-LSTM-CRF model were trained separately using ma

7、rked corpus. Finally, with the constructed model, the words in the test set are automatically tagged, and the precision rate, recall rate, and f-score1 of the methods based on these two models are respectively calculated according to the predicted and actual tags.According to the comparison and anal

8、ysis of experimental results, the pre-trained word embedded Bi-LSTM-CRF model has the best performance, the average precision rate is 82.1475%, the average recall rate is 80.7888%, and the average f-score is 81.4625%. Bi-LSTM-CRF model with pre-trained word embedding has better effect on identifying

9、 product feature descriptors.Keywords: product feature descriptions;Bidirectional LSTM-CRF model;product review前 言随着互联网的快速发展,电子商务平台如淘宝网,京东商城越来越受到人们的欢迎,网上购物称为人们生活中不可缺少的一部分。但在面对琳琅满目的产品,高低不等的价格,信誉未知的商家时,人们往往在选择产品上需要花费大量的时间,而产品评论是买家在网上发布的主观看法,具有真实性,因此产品评论逐渐具有非常重要的意义。客户可以从评论中判断商品各个方面的优劣,从而加快选择的速度,而商家也可以通

10、过了解评论及时改进产品,形成一种良性循环和双赢局面。显而易见,产品评论中包含了大量的重要信息,越来越多的企业或学者开始分析挖掘其潜在的价值。由于网络上的产品评论数量庞大,并且每条评论中针对产品不同方面的褒贬不同,如何有效的处理评论并提取出评论中最重要简洁的信息成为目前研究的热点问题。目前,对产品评论的标注主要是属性三元组标注,分别为描述语,类别和情感极性。其中,描述语是评论中描述产品属性类别的词语,如评论“这手机的外观真好看”中的“外观”一词,类别是评论中关于产品不同方面的归纳词,如评论“这手机的外观真好看”中的类别是“手机#设计”,而情感极性分为正面,负面和中性。在句子级评论中,首先识别产品

11、的属性描述语,有助于归类标注产品的属性类别,再通过不同的类别,分析评论中的情感极性。所以,识别产品属性描述语是分析产品评论中针对产品不同类别中不同情感的重要基础。识别产品属性描述语具有重要的意义。本文主要介绍了识别产品评论中产品属性描述语的方法,以京东商城中电子产品领域的评论作为语料,从中选取了3000条进行标记训练,研究各个模型的标注效果并分析原因。本文实验部分的主要任务如下:(1)编写python爬虫程序,从京东网上选取3000条电子产品的评论作为本文实验的语料。(2)调用Python里的jieba包对3000条评论进行中文分词处理。每个词语占一行,句子与句子之间用“=”隔开。(3)以6:

12、2:2的比例将语料分为训练集,测试集,验证集,确定好属性描述语的标注规范后,分别对三个语料集用BIO标注法手工标注。(4)根据序列标注模型的需要,使用python中的gensim库,调用word2vec函数,将所有语料中的词语映射到一个语义向量空间,即构建预训练好的词嵌入。(5)将标记好的训练集训练构建学习器,利用验证集调整参数,最后将学习器自动标注出的结果和测试集手工标注的结果进行比较。比较的要素有准确率,召回率和F1值。(6)将各个模型的实验结果进行综合对比分析,总结各个模型的优缺点。找到标注效果最好的识别方法。第一章绪 论本章首先介绍了产品属性描述语识别技术的研究背景和意义,初步了解为什

13、么要进行产品属性描述语的识别,然后阐述了本文的实验主要进行的工作,最后总结了本文的文章组织结构。1.1研究背景及意义随着互联网的快速发展,电子商务平台如淘宝网,京东商城逐渐成为了人们生活中必不可少的部分,人们习惯于在网络上购买产品,并把自己的主观看法发表在网络上以供其他人浏览。由于网络上所展现的产品过于繁多,价格也参差不齐,买家在购买的时候,必然要花费大量时间去做筛选,并且越来越倾向于通过产品评论来了解产品真实的情况,由此产品评论具有非常重要的意义。客户可以从评论中判断商品各个方面的优劣,而商家也可以通过阅读评论及时改进产品,形成一种良性循环。大量的企业人员和学者开始将目光投向产品评论上,想要

14、通过文本的分析来挖掘出隐藏在评论中的潜在价值,比如产品各个方面的属性,买家的情感喜好等等。研究人员在给产品评论进行情感分析方面做了很多的工作,但是在分析产品情感时,除了分析产品的整体情感外,也应该从更细的粒度上来分析,如产品的各个属性2。由于网络上的产品评论数量庞大,仅手工进行属性归类必然不现实,于是研究人员开始研究产品评论中的属性描述语,通过属性描述语来确定评论中产品的属性类别。本文从京东网站上抓取了3000条电子产品评论(手机,平板,电脑)作为实验的数据。了解到大多数用户较倾向于在京东网上买电子产品,因此选择京东网作为来源,产品评论更具多样性和代表性,对识别属性描述语这项实验更加全面有效。

15、本文主要研究的内容是利用中文分词技术,再结合BI-LSTM网络和CRF模型对京东电子产品评论进行属性描述语的识别。在每条评论中,属性描述语可能有多个,也可能一个没有,但通过属性描述语,可以更加准确的对产品属性类别分类,有助于商家对产品的各个方面有更加全面的认识,扬长避短,将产品好的方面继续保持,将不足的方面加以改进,可以推动产品质量的提升,商家服务品质的提升,让客户更加放心地在网上购物,带动经济的发展。因此,产品属性描述语的识别具有非常重要的意义。1.2本文的主要工作本文主要是用从京东网上选取的3000条电子产品评论作为实验语料,对其进行中文分词后手工标注属性描述语,再使用不同的序列标注模型构

16、建学习器,最后将自动标注的结果和测试集进行比较,从准确率、召回率和F1值三个要素,来分析比较目前所使用的几个模型的性能与效果。本文的主要工作如下所述:(1)了解什么是产品属性描述语。目前,已有不少学者针对英文产品评论中属性词抽取方法进行研究3。通过浏览相关的测评网站,下载已经标注好的英文语料和中文语料,初步掌握产品属性描述语的含义。再通过下载相关的学术文献,深层次了解识别产品属性描述语的目的,意义,以及常见的产品评论属性词识别方法设计思路。(2)对语料进行人工标注处理。使用BIO标注法对分完词的语料手工标注。比如:虽然/外观/改变/不/大/,/但/硬盘容量/比较/合适/,/挺/满意/的/。显然

17、,“外观”、“硬盘容量”为产品属性描述语,为其标注相应的符号。每一行的格式为:词语tab键标注符号。(3)了解掌握实验所需要的序列标注模型。本次实验中用到的序列标注模型主要有条件随机场(CRF)和长短期记忆网络(LSTM)。通过阅读相关的文献,结合深度学习和序列模型的网课的学习,能够基本了解序列标注模型的原理和使用方法,为接下来的构建学习器做准备。(4)了解什么是词嵌入。利用gensim库中的word2vec方法对语料集进行预训练,将词语映射到一个语义空间,即词嵌入,以便用于LSTM模型之中,了解有无预训练的词嵌入是否会对实验结果有影响,并分析原因。(5)分别使用CRF模型和LSTM模型进行本

18、次的实验。首先将标注好的语料按照6:2:2的比例划分为训练集,验证集和测试集。然后使用训练集分别训练构建各个学习器,并使用验证集调整参数,将最优的参数保存,最后将学习器标注出来的结果同测试集作比较,根据准确率、召回率和F1值三个要素来判断各个模型的性能与效果,并对结果进行原因分析。1.3本文的组织结构本文一共有五章,如下简单概括了每一个章节的内容:第一章:绪论。本章主要阐述了本次课题的研究背景和意义,还有所完成的工作,最后列举了本文的组织结构。第二章:语料集的产生。本章主要从语料的来源、语料的爬取方法和语料的人工标注方法来叙述如何构建语料集。第三章:基于CRF模型的识别方法。本章主要介绍了CR

19、F模型的基本原理,了解了CRF模型的网络结构和训练原理。其次叙述了基于CRF模型的实验流程,并对实验结果进行分析。第四章:基于Bi-LSTM-CRF模型的识别方法。本章主要介绍了Bi-LSTM-CRF模型的基本原理,基于Bi-LSTM-CRF模型的实验流程,以及分析了有预训练的词嵌入和无预训练的词嵌入对学习器效果的影响。第五章:总结与展望。本章总结了全文,并对后续工作和改进提出了展望。第二章语料集的产生上一章节中简单介绍了本次实验的研究背景和意义,以及本次实验的主要流程和工作,对产品属性描述语的识别有了基本的认识。从本章开始,将按照流程详细叙述如何识别属性描述语。让我们先从语料集的建立开始说起

20、。2.1语料来源京东作为最受欢迎的IT产品网商之一,旗下产品种类俱全,产品评论区评论的具有很强的严谨性、真实性和可靠性,符合本次实验对语料的要求,因此选择京东网作为来源,编写爬虫程序从网上爬取手机,平板,电脑三样电子产品的评论各1000条。2.2语料爬取由于需要的语料数目巨大,不可能一一从网上复制粘贴下来,由此便需要借助网络爬虫程序,自动从网络下将语料抓取到本地保存。本次实验所用的编程语言是python3.5版本,编程环境为pycharm,用到的库包有json,etree,urllib3和minidom。具体编程步骤如下:(1)从搜索页面开始爬取,搜索页的网址为:“图2.1 搜索页面(2)用e

21、tree解析返回当前页面的数据,找到每个产品的产品id(如图2.2所示),根据产品id可以访问各个产品的详细页面,如:“图2.2 产品列表网页源代码(3)根据商品ID和页号,获取商品评论,由于京东的产品评论返回的是JSON格式,数据类型为GBK编码的字节数组,因此先解码,再用json模块解析,并获取评论部分。如图2.3所示,在返回页面中依旧通过etree解析,找到评论。图2.3 JSON格式的产品评论(4)将爬取到的评论以xml格式保存到本地。如图2.4所示。图2.4 xml格式的语料2.3语料标注由于人工分词和机器分词肯定会有所差别,如果先标注属性描述语,有可能在分词环节中分的词语和事先标注

22、的词语有差别,比如:“这台电脑反应速度快”,先标注的属性描述语为“反应速度”,但在之后的分词中会分为:“这/台/电脑/反应速度快”,所以属性描述语应该标注为“反应速度快”。所以,我们需要先将语料进行中文分词处理,然后进行人工标注。2.3.1 属性描述语产品属性描述语是指描述产品某一个属性类别的词语,一般而言,产品属性类别的描述语多表现为名词和名词短语4。比如评论“电脑外观霸气,键盘手感很好!”中属性描述语为“外观”,“键盘手感”,再比如评论“包装很严实,全新pad,运行速度很快,信得过京东。”中属性描述语为“包装”,“运行速度”。其中需要注意的是不同的评论中对同一个属性类别的描述会有所差别的,

23、比如描述属性类别“电脑#设计”这个类别的描述语可以为“外观”,“样子”,“外形”等等,标注过程中常见的属性描述语见表2.1。类别描述语设计类外观,做工,外观设计,制造工艺,款式,颜值,颜色,色彩,厚度,重量,配件配置类风扇,屏幕,键盘,鼠标,固态硬盘,内存,音响,音响效果,音效,配置,像素,声音,显示,电池,画面,运行内存,运存,电容笔速度类开机速度,运行速度,反应速度,速度(不包括与物流有关的速度),使用速度,系统性能类开机,性能,蓝屏,黑屏,运行,反应,卡顿,系统,闪屏,操作系统,启动,待机,无线信号包装类包装,包装盒,包装袋,包装箱价格类价格,价值,性价比,功能类人脸识别功能,指纹识别功

24、能,散热,分屏功能,续航能力整体类质量,品质,质感,手感,触感,整体,各方面,总体,表2.1 属性描述语2.3.2 BIO标注法序列标注问题实际上是分类问题的一个推广,在分类问题中,输入的个数和输出的个数不一定相等,但是序列标注问题中,输入的是一个观测序列,而输出的是等长的标记序列。属性描述语的识别就是序列标注问题。因此我们选择用BIO标注法对其进行标注。BIO标注法是将观测序列标注为一个仅由“B-X”、“I-X”、“O”组成的标记序列。其中,“B-X”指标注的是归为X类别的属性描述语的开头词语,“I-X”指标注的是归为X类别的属性描述语的中间位置词语,而“O”指标注的是不属于任何类别的词语。

25、由于本文的实验是识别属性描述语而无需进行属性类别的识别,因此,这里简单使用“B”、“I”、“O”三个字符标注。比如:“收到平板后感觉质量的确不错!”,经过中文分词和标注处理后的文本如图2.5所示。图2.5 处理后的语料格式2.3.3 标注结果在本次实验中,一共选取了3000条电子产品评论作为语料,对测试集中的属性描述语进行统计,600条评论中有786个词语被标注为属性描述语。由于每条评论中可能有多个属性描述语,也可能一个没有,所以786个是符合实际情况的。另外也可以看出,每条评论中,真正能够表述产品属性类别的词语是非常少的,因此识别产品描述语能够减少大量阅读评论的时间,提取出真正有用的简洁的信

26、息。2.4 本章小结本章详细介绍了语料集的产生。首先介绍了语料的来源,阐述了为什么选择京东网站作为语料来源的原因。其次介绍了使用python编程程序抓取评论的思路与流程。然后介绍了如何标注语料,这是处理语料最关键的环节,因为人工标注会有主观性,也可能会发生标错,漏标的问题,因此要十分注意,反复检查,保证尽量减小对后续实验结果的影响。最后通过评论数和标注的属性描述语的个数对比,更加说明了识别属性描述语这项工作的重要性。第三章基于CRF模型的识别方法上一章节里从语料的来源,抓取和标注三个环节详细介绍了如何建立语料集。在建立好语料集后,将分别选用CRF和LSTM模型实现对属性描述语的识别。本章中将从

27、CRF模型的原理以及实验过程具体概述基于CRF模型的识别方法。3.1CRF模型原理3.1.1CRF网络结构CRF(条件随机场)模型是由Lafferty等人5提出的用于序列标注的模型。输入为可观测的序列,记为,输出为观测序列所对应的标注序列,记为。如图3.1所示,CRF模型中,输入层与输出层直接相连,且没有隐藏层,输出层之间也用横线相连,表示CRF模型中将直接输出标注序列,而不是输入一个得到一个。图3.1 CRF网络结构图3.1.2CRF训练原理在训练CRF模型6-7时,我们首先需要知道输入序列被标注为输出序列的概率: (式 3.1)(1)指的是只依赖于输入序列的归一化函数8,即输入序列X被标注

28、为所有可能的输出序列Y的指数和,我们可以使用动态规划算法来算出,如下是的一般计算方式: (式 3.2)(2)是状态转移函数,用于得到标记的转移特征,例如: (式 3.3)由于CRF模型直接输出预测的序列,使用状态转移函数可以根据标签的上下文,避免一些错误情况,比如标签“O”后面不可能接“I”。(3)是发射特征函数,用于得到当前标记的特征,例如: (式 3.4)(4)和为状态转移函数和发射特征函数的权重值,一开始是随机值,之后当训练模型的时候会去调整这两个值。主要是根据发射特征值和状态转移值来计算。发射特征值考察的是一个词被标记为某个标签的概率大小,这个概率是根据发射特征矩阵中对应位置的值所得,

29、比如一个词的编号为,这个词被标注的标签编号为,则在发射特征矩阵中的第p行第q列找到对应的发射值。如图3.2所示。图3.2 发射矩阵例子状态转移值考察的是前一个标签转接此刻的标签的概率大小,这个概率也是根据状态转移矩阵中对应位置的值所得,比如一个词被标注的标签编号为q,前一个词被标注的标签编号为,则在状态转移矩阵中的第p行第q列找到对应的状态转移值,如图3.3所示。两者之和决定了当前输入序列被标记为预测序列的总的概率大小。图3.3 状态转移矩阵例子CRF模型中的参数一开始都是随机的值,由损失函数可知,在训练过程中我们需要这个概率越大越好,从而不断优化上述的权重值,以及发射特征矩阵和状态转移矩阵。

30、损失函数的式子如下: (式 3.5)3.2实验过程在基于CRF模型的实验中,本文直接使用了CRF+工具包来完成实验。CRF+工具包中有三个主要的文件,一个是crf_learn.exe执行文件,一个是crf_test.exe执行文件,还有一个是template.txt模板文件。本文一共选择了3000条电子产品评论作为实验语料,将其中文分词后,利用BIO标注法对其进行人工标注,具体过程可见本文第二章内容。实验中将语料按6:2:2的比例分为训练集,验证集和测试集。实验的流程如下:(1)用训练集训练CRF模型。使用cmd语句,“crf_learn.exe template.txt train.txt

31、model”,输入为训练集中的词序列和标注序列,将训练好的模型的参数存放在model文件中。其中,模板文件中的特征参数如图3.4所示, U00到U04每一行会生成一组函数,这里的函数实质上就是上节所述的发射特征函数,反映一个词被标记为某个标签的概率,在模板文件中,还包含了前后两个词对当前词的标签的影响。U05到U06是Bigram的一种替代写法,每一行也会生成一组函数,即状态转移函数,反映前一个标签转接此刻的标签的概率。图3.4 模板文件特征参数(2)用训练好的CRF模型标注测试集并输出结果文件。使用cmd语句,“crf_test.exe m model test.txt”,先解析model文

32、件中保存的模型参数,然后训练模型,最后将预测的标注序列和test文件输出到新的文件中,文件名为output.txt,文件中每一行的格式为:词语Tab实际标签Tab预测标签。(3)计算准确率,召回率和F1值。通过输出文件output.txt中的结果,计算CRF模型标注结果的准确率,召回率和F1值。为接下来和Bi-LSTM-CRF模型对比做准备。3.3实验结果与分析实验中,测试集共人工标注了786个属性描述语,模型预测了670个属性描述语,其中有578个是预测正确的。基于CRF模型的标注结果如图3.5所示。CRF模型的准确率较高,召回率稍低一点,但最终评估效果还是要看F1值。分析原因如下:(1)C

33、RF模型中计算的是一种联合概率,通过动态规划算法对标注的序列进行整体优化,而忽略了产品评论中的上下文信息,所以标注效果略差。(2)CRF模型中没有隐藏层。产品评论中需要依赖于一些长远的信息,而CRF模型无法实现这个要求。图3.5 基于CRF模型的标注结果其中准确率、召回率和F1值的定义如下9:准确率(Precision)=标注正确的属性描述语的个数/预测为属性描述语的个数召回率(Recall)=标注正确的属性描述语的个数/实际为属性描述语的个数F1值(F-score)=2*准确率*召回率/(准确率+召回率)3.4本章小结本章首先从CRF模型的网络结构和CRF的训练原理两方面详细介绍了CRF模型

34、的基本原理,其次概述了基于CRF模型的属性描述语识别方法,实验中直接使用了封装好的CRF+工具包训练模型,再预测测试集的标签,最后分析实验的结果,并和下章基于Bi-LSTM-CRF模型的结果进行对比分析。第四章基于Bi-LSTM-CRF模型的识别方法上一章节里具体概述了基于CRF模型的识别方法。了解了CRF模型的基本原理以及如何使用CRF模型实现属性描述语的识别。在本章中将先具体描述基于Bi-LSTM模型并结合CRF模型(下文称为Bi-LSTM-CRF模型)的识别方法,针对词嵌入效果展开有无词嵌入的对比实验,之后结合第三章的内容,将CRF模型与Bi-LSTM-CRF模型综合对比,分析结果。4.

35、1Bi-LSTM模型原理4.1.1 Bi-LSTM的由来为了能详细地阐述原理,本文将先从最传统的神经网络讲起。如图4.1所示,一般标准的神经网络就是将输入经过一些隐藏层得到输出,结构简单清晰,实际效果却不太理想,主要是存在两个问题,其一是在序列标注问题中,每条评论的长短不一,因此每次的输入长度和输出长度会不一样,我们需要找到获得最长评论的长度,然后通过padding函数,将每条评论都填充到最长的长度。其二是无法共享从评论中不同位置处学到的特征。图4.1 传统神经网络结构图为了解决上述两个问题,产生了新的循环结构的神经网络,称为循环神经网络(RNN)10。循环神经网络的结构如下图4.2所示,从左

36、向右读入评论中的每个词语,经过隐藏层输出预测的结果,同时每个时间步的参数也是共享的,但是这种单向的循环神经网络只能共享评论中的上文信息,而无法获取下文信息,由此引入了双向循环神经网络(BRNN),前向和后向的信息将共同影响输出,如图4.3所示。图4.2 循环神经网络结构图图4.3 双向循环神经网络结构图虽然循环神经网络可以兼顾上下文的内容,但却无法避免长期依赖的问题11,因此引入了长短期记忆网络(LSTM),它是循环神经网络(RNN)的一种特殊类型,而双向长短期记忆网络(Bi-LSTM)则是在此基础上搭建了双向循环结构,如图4.4所示。图4.4 Bi-LSTM网络结构图4.1.2 Bi-LST

37、M的单元结构为了解决循环神经网络中的梯度爆炸或梯度消失的问题,Hochreiter等人12提出了一个新的网络结构长短期记忆网络(Long Short Term Memory Network, LSTM)。Bi-LSTM是在LSTM的基础上搭建了双向循环的结构,但内部单元结构相同,因此本文就以LSTM来叙述其内部结构。作为RNN的特殊类型,LSTM引入了一种新的机制,称为“门”,利用“门”可以学习长期依赖信息并决定信息“遗忘”还是“保留”。图4.5为LSTM的一个单元结构。图4.5 LSTM的一个单元结构LSTM13一共有三个门结构,分别是输入门,遗忘门和输出门,通过这三个门结构可以更新或保持细

38、胞状态。(1)计算遗忘门的值。以当前单元的输入和上一单元的输出作为遗忘门的输入,得到时刻遗忘门的值: (式 4.1) 其中,遗忘门中有一个Sigmoid层,使得输出在01之间,0代表旧细胞状态中的信息将全部遗忘,1代表旧细胞状态中的信息将全部留下。(2)计算输入门的值。仍然以当前单元的输入和上一单元的输出作为输入门的输入,得到时刻输入门的值: (式 4.2)其中,输入门中有一个Sigmoid层,使得输出在01之间,0代表不选择任何新信息更新到旧的细胞状态中,1代表将新信息全部更新到旧的细胞状态中。(3)计算候选细胞状态值。将当前单元的输入和上一单元的输出通过tanh层(使得值在-1到1之间)得

39、到候选细胞状态值: (式 4.3)(4)计算新的细胞状态值。将旧的细胞状态值与遗忘门值相乘,过滤掉一些需要遗忘的信息,再将输入门的值和候选细胞状态值相乘,得到新的更新后的信息,最后将上述两项相加,得到时刻的细胞状态值: (式 4.4)(5)计算输出门的值。仍然以当前单元的输入和上一单元的输出作为输出门的输入,得到时刻输出门的值: (式 4.5)其中,输出门中有一个Sigmoid层,使得输出在01之间,将决定细胞状态中的哪个部分被输出。(6)计算时刻的输出: (式 4.6)4.2 Bi-LSTM-CRF模型结构如图4.6所示分别为基于Bi-LSTM-CRF模型的网络图,有关CRF模型的基本原理在

40、上一章节中已经叙述过,本章不再赘述。图4.6 Bi-LSTM-CRF网络结构图在基于Bi-LSTM-CRF模型的产品属性描述语的识别中,输入的是训练集中用编号表示每个词和每个标注的序列串,在词嵌入层14中建立一个语义向量空间,每个词都被嵌在语义空间中的一个点上,这样含义相似的词语相似度会很大,提高序列标注的准确性。在Bi-LSTM层中,根据上述的原理介绍,这里会根据上下文内容更新信息。在Dropout层中,为了防止过拟合的发生,会在每次更新时随机丢弃一些特征。在全连接层中,接收上一层的输出作为输入,经过加权计算得到输出值输出给下一层。由于识别属性描述语是序列标注问题,在最后采用了CRF层,根据

41、CRF层中的状态转移矩阵,可以有效地使用过去和未来的标签来预测当前的标签,进一步提高序列标注的准确性15。Bi-LSTM-CRF的结构流程图4.7如下所示。图4.7 Bi-LSTM-CRF结构流程图 4.3实验过程在基于Bi-LSTM-CRF模型的实验中,我们进行了对比实验。分别是有预训练的词嵌入和无预训练的词嵌入。词嵌入指的是将高维度表示的词语转换成用低维度稠密向量来表示,并且每个向量之间的距离反映了词语之间的相似度。比如,词“苹果”在单词表中的标号为233,则这个词的向量表示方法为第233位上为1,其余皆为0,如,向量的维度为词语的个数。但在词嵌入中,将向量进行降维处理,将向量看成是空间坐

42、标的话,词“苹果”则会和词“梨子”坐标上离的很近,即表示它们的语义是相似的,会有相似的上下文信息,如“苹果汁很好喝”和“梨子汁很好喝”。图4.8所示。图4.8 词嵌入空间4.3.1有预训练的词嵌入本文一共选择了3000条电子产品评论作为实验语料,将其中文分词后,利用BIO标注法对其进行人工标注,具体过程可见本文第二章内容。实验的流程如下:(1)使用gensim库中的word2vec函数训练所有语料,得到预训练好的词嵌入矩阵。(2)将每个词按照出现频率由高到低排序后编号,再根据预训练好的词表,将每个词嵌入和每个词语的编号相对应,得到vocabulary字典。(3)按照6:2:2的比例将语料分为训

43、练集,验证集和测试集,分别将词语和标注所对应的编号添加到向量中组成序列串,得到train_x,train_y,test_x,test_y,val_x,val_y六组序列串。(4)按照Bi-LSTM-CRF模型结构流程图搭建好框架,输入train_x,train_y开始训练,利用验证集(val_x,val_y)调整参数,直到学习器的损失函数达到最小,保存最优参数。(5)用训练好的学习器预测测试集的标注,再与实际的标注做对比。(6)计算准确率、召回率和F1值,评估模型的性能与效果。4.3.2无预训练的词嵌入有预训练的词嵌入是在调用word2vec方法时,利用模型(本实验使用的是skip-gram模

44、型)对所有语料进行训练得到的最好参数,而无预训练的词嵌入是在训练学习器的过程中不断优化构建词嵌入。实验的流程如下:(1)将每个词按照出现频率由高到低排序后编号,得到vocabulary字典。(2)按照6:2:2的比例将语料分为训练集,验证集和测试集,根据vocabulary字典,分别将词语和标注所对应的编号添加到向量中组成序列串,得到train_x,train_y,test_x,test_y,val_x,val_y六组序列串。(3)按照Bi-LSTM-CRF模型结构流程图搭建好框架,输入train_x,train_y开始训练,利用验证集(val_x,val_y)调整参数,直到学习器的损失函数达

45、到最小,保存最优参数。其中,在更新过程中不断训练词嵌入。(4)用训练好的学习器预测测试集的标注,再与实际的标注做对比。(5)计算准确率、召回率和F1值,评估模型的性能与效果。4.4实验结果与分析本次实验先比较了有预训练的词嵌入和无预训练的词嵌入对Bi-LSTM-CRF模型性能的影响。之后联系第三章内容,将CRF模型和Bi-LSTM-CRF模型一起进行对比,分析出标注效果相对最好的模型。4.4.1有预训练的词嵌入实验中,测试集共人工标注了786个属性描述语,模型预测了773个属性描述语,其中有635个是预测正确的。有预训练的词嵌入的标注结果及损失函数如图4.9,4.10所示。图4.9 有预训练的

46、词嵌入标注结果图4.10 训练集和验证集的损失函数图4.4.2无预训练的词嵌入实验中,测试集共人工标注了786个属性描述语,模型预测了766个属性描述语,其中有622个是预测正确的。无预训练的词嵌入的标注结果及损失函数如图4.11,4.12所示。图4.11无预训练的词嵌入标注结果图4.12训练集和验证集的损失函数图4.4.3 CRF模型与Bi-LSTM-CRF模型如图4.13所示,CRF模型的准确率比Bi-LSTM-CRF模型要高一些,但是召回率要低很多。从F1值来看,有预训练词嵌入的Bi-LSTM-CRF模型标注效果最好,其次是无预训练词嵌入的Bi-LSTM-CRF模型,最后是CRF模型。图

47、4.13 综合实验结果对比4.4.3 实验结果分析从实验结果来看,首先基于有预训练的词嵌入的Bi-LSTM-CRF模型在准确率、召回率和F1值上都比基于无预训练的词嵌入的Bi-LSTM-CRF模型的要高出一点。可能的原因有:(1)word2vec方法中的skip-gram模型更适合做词嵌入,比之后动态训练词嵌入效果更好。(2)在预训练的词嵌入中,将所有语料都用来训练了,这样避免了未登录词的问题。而在无预训练的词嵌入中,仅仅是用训练集动态训练,没有测试集和验证集,所以可能会出现未登录词的问题,导致效果差一点。其次,CRF模型的准确率要高于Bi-LSTM-CRF模型,但召回率和F1值都低于Bi-L

48、STM-CRF模型。可能的原因有:(1)纯CRF模型计算的是联合概率,只考虑对输出的标注序列进行整体优化,会忽略输入序列的上下文信息特征(模板文件中仅考虑了每个词的前后两个词,不足以称为上下文信息),所以CRF的准确率比Bi-LSTM-CRF模型要高一些。(2)纯CRF模型没有复杂的隐藏层和“门”结构,无法处理一些长远的信息特征,另外针对数据量很大的情况下性能会下降,扩展性较差,所以CRF的召回率比Bi-LSTM-CRF模型要低一些。(3)F1值的计算涉及到准确率和召回率两项,任何一项偏低都会导致F1值偏低,所以综合情况来看有预训练词嵌入的Bi-LSTM-CRF模型F1值最高。4.5本章小结本

49、章首先介绍了Bi-LSTM模型的由来和结构原理,其次叙述了Bi-LSTM-CRF模型结构与层次框架,然后阐述了基于Bi-LSTM-CRF模型的实验流程。在实验过程中,本文采取了对比实验,先将实验分为有预训练的词嵌入和无训练的词嵌入,通过比较准确率,召回率和F1值发现,有预训练的词嵌入效果要好一点,并对此现象的原因进行了分析。一般基于词嵌入的模型对于语料集的要求很高,为了减小未登录词的影响,需要语料集的规模较为庞大,而在本次实验中由于使用了所有语料来构建词嵌入,所以性能较为理想。另外,本章结合了第三章的内容,将CRF模型的标注结果和Bi-LSTM-CRF模型的标注结果共同对比分析,得出有预训练词

50、嵌入的Bi-LSTM-CRF模型标注效果总体最佳,最后根据结果总结可能的原因。第五章 总结与展望5.1本文总结随着互联网的快速发展,电子商务平台如淘宝网,京东商城在人们的日常生活中广泛普及,人们开始在网络上购买产品,并把自己对于产品的主观看法发表在网络上以供其他人浏览。由于网络上产品款式品种繁多,价格差异大,买家在购买的时候,必然要花费大量时间去做筛选,并且越来越依赖于产品评论来了解产品真实的情况,由此产品评论逐渐被赋予了巨大的潜在价值。通过对产品评论的分析,我们可以了解买家对同一个产品不同的属性类别的所表达的意见与主观情感。由于网络上的产品评论数量庞大,为了能够自动识别产品评论中的属性描述语

51、,我们需要利用中文分词技术以及一些序列标注模型来完成这项工作。通过对产品评论的分析,客户可以从评论中判断商品的优劣,而商家也可以通过了解评论及时改进产品,形成双赢局面。本文首先介绍了识别属性描述语的研究背景和意义以及本文的主要工作。其次,本文介绍了如何构建语料集,了解了语料获取的来源,语料获取的方法和语料标注的方法。接着,我们分章节具体介绍了本文使用的序列标注的模型,CRF模型和Bi-LSTM-CRF模型,分别基于这两个模型做实验,对标注结果进行比较并分析产生这种结果的可能的原因。实验结果显示,带预训练词嵌入的Bi-LSTM-CRF模型标注效果最好, Bi-LSTM-CRF模型结合了Bi-LSTM模型和CRF模型的优点,既能提取长远的上下文信息特征,又能根据标注序列进行整体优化。5.2后续工作展望从实验结果上来看,所使用的CRF模型和Bi-LSTM-CRF模型都

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论