1. 研究目的与意义(文献综述包含参考文献)
{title}自然语言处理(Natural Language Processing,简称NLP)就是用计算机来处理、理解以及运用人类语言,它属于人工智能的一个分支。
从研究内容来看,自然语言处理包括语法分析、语义分析、篇章理解等。
从应用角度来看,自然语言处理的包括机器翻译、信息检索、文本分类、情感分析、舆情监控和观点挖掘等。
情感词识别技术(Sentiment Word Identification,SWI)是情感分析和观点挖掘等众多应用中最基本、最重要的技术之一。
在对文本进行情感分析时,情感词典常常起着十分重要的作用。
过去构建情感词典的方法通常是人工手动标记情感词或者选择种子词,然而,这种手工标记的方法存在以下三个固有的缺点。
首先,缺少种子词可能会导致较低的鲁棒性,因为这些种子词集中丢失任何关键的情感词,都可能会导致情感词典的性能变得很差。
其次,即使我们得到了大量的种子词,种子词的情感极性在不同的领域也不总是相同的。
最后,随着移动互联网的快速普及和发展,越来越多的网络新词逐渐被创造和传播开来,并且这些新词中很多就带有情感倾向,然而这些新情感词并未在情感词典中出现,因此很难被准确的提取出来。
鉴于以上三点原因,如何从数据集中自动抽取情感词,同时判断它的情感极性就受到了科研人员的关注。
目前情感词的提取方法可以总结为以下四类。
1. 计算已知情感词与候选词之间的相似度此类方法假设极性相同的情感词之间相似度高,极性相反的情感词之间相似度低,没有极性的词与正、负极性的情感词之间相似度持平。
因此,首先选取一个情感词典,对于候选词,计算它与情感词典中正、负极性情感词的相似度,相似度越大,该候选词是情感词的可能性越大。
相似度计算的方法有基于上下文相似度,例如翟东海等人提出的基于双粒度模型的中文情感特征词提取,有基于共现的点互信息(PMI),例如柳文婷提出的基于改进互信息的新情感词提取方法2. 利用优化模型计算候选词的情感强度在优化模型中,候选词的情感极性强度通常被视为待确定的参数,构造一个关于该参数的目标函数,并且最小化这个目标函数,从而得到每个候选词的情感极性及其强度,最终判断候选词是不是情感词。
例如Kun-Hu Luo等人提出了一种利用传播优化模型的新方法--基于传播的受限优化模型(PR-COM),Deng Z H等人提出了基于L1正则化的优化模型。
3. 基于机器学习提取情感词此类方法一般是将候选词的情感极性判别转化为三分类问题,正极性、负极性和无极性,根据情感词典或者候选词所在文档的极性,对候选词进行分类。
例如刘德喜等人设计的基于上下文词汇(N-Gram)为特征的分类方法,该方法使用情感词典作为训练样本,使用情感词在语料集里的N-Gram作为特征,训练支持向量机(SVM)分类器,然后对候选情感词进行分类,最终得到新情感词。
4. 情感词和修饰对象同步抽取此类方法假定情感词和修饰对象存在某种联系,因此可以将它们结合起来同步抽取。
例如蒋玉婷等人首先基于情感词典对文本中情感词进行判定,然后通过条件随机场模型将情感要素的提取转化为标记出情感词和修饰对象的相对位置,即序列标注任务,从而提取出大量候选的修饰对象和情感词对,再对候选标签进行去重,最后使用K-Means聚类方法按照置信度排序,挑选出情感词。
下面对毕设将要使用到的相关模型进行介绍,包括word2vec词向量模型、TextCNN神经网络模型、BiLSTM神经网络模型、Transformer神经网络模型、BERT预训练语言模型和RoBERTa预训练语言模型。
2013年,Mikolov等人提出了word2vec词向量模型。
它构造了一个类似于神经网络语言模型的词向量生成模型,通过将所有的单词向量化,从而定量的挖掘词与词之间的关系,提取语义信息。
卷积神经网络(CNN)模型具有卷积层和池化层,可以对局部特征进行提取。
TextCNN是CNN的一种变型,它通过设置不同大小的卷积核,实现对不同局部特征的提取,从而使最终的特征向量可以表达更多的信息。
双向长短期记忆(Bidirectional Long Short-Term Memory,LSTM)模型是对循环神经网络(RNN)模型的改进,解决了RNN在处理长序列时出现的梯度弥散或梯度爆炸的现象,并且可以捕捉到序列中长距离的语义关系。
Transformer模型由论文《Attention is All You Need》提出,它利用位置编码(Positional Encoding)提供自然语言的语序信息,使用自注意力机制(Self Attention Mechanism)和前馈神经网络(Feedforward Neural Network)进行计算。
Transformer模型主要分为两大部分,分别是Encoder和Decoder。
Encoder负责将输入(一个语言序列)映射成隐藏层,Decoder负责将隐藏层映射为输出(另一个语言序列)。
Encoder主要包含Positional Encoding、Multi-Head Attention、Feed Forward和Add My ridiculous dog is amazing,情感极性为positive时,模型应该返回amazing。
拟采用的研究手段:通过文献调研,了解相关的自然语言处理技术的相关概念、特性、原理,掌握当前主流的word2cev词嵌入技术、各类神经网络模型(TextCNN、BiLSTM、Transformer)和预训练语言模型(BERT,RoBERTa)的基本原理。
基于几种不同的神经网络构建端到端的情感词提取模型,并且尝试对模型的结构进行改进,通过模型训练、调参优化,选取出最优秀的情感词提取模型。
准备构建的神经网络有以下8种:TextCNN、BiLSTM、Transformer、BiLSTM-CNN、BiLSTM-Attention、BiLSTM-Attention-CNN、Transformer-CNN和Transformer-BiLSTM。
构建双阶段情感词提取模型,首先对预训练语言模型进行微调,作为情感词提取的第一阶段,然后使用BiLSTM和CNN神经网络模型作为第二阶段,结合原始数据和第一阶段的结果再次进行特征抽取,从而得到精度更高的情感词提取结果。
开发系统环境为64位Windows10,采用Python3.7为本系统的主要开发语言,PyTorch1.3.0作为深度学习相关模型框架,主要代码编辑器使用Pycharm。
