基于机器学习的中文文本情感分析系统【字数:10857】
ology is also gaining increasing popularity. We value them. At present, the mature algorithms are mainly divided into machine learning algorithm and emotional dictionary-based method. In this paper, several machine learning algorithms are described, and the text sentiment tendency analysis and result interface demonstration for Chinese comment dataset are realized. In addition, in order to make a comparison, the system also realizes the text sentiment tendency analysis based on sentiment dictionary method. The results are divided into positive and negative granularity. The machine learning algorithms involved in this paper are: K nearest neighbor algorithm (KNN), support vector machine (SVM), maximum entropy model (MaxEnt), naive Bayesian. Finally, we can input a sentence or a sentence related to takeout or hotel evaluation in the interface, select different algorithms, and get the predicted emotional orientation results of the text; and test the data set to show the accuracy of different algorithms and other data indicators.1 选题背景1.1 问题的提出在这个热衷于分享的网络时代,人们的衣食住行无不受到网络评论的影响。对于平台开发者和各行各业的商家来说,如果能够对用户的观点所映射的情感进行分析,就能够使他们更好地把握用户的好恶,从而优化平台细节,或者对商品加以改进,能够更加主动的迎合用户需求和市场。对政府部门来说,能够通过文本的情感分析更好的了解舆情;情报工作者通过对文本的情感分析工作能够帮助情报部门有效甄别危险信息。文本情感分析技术的应用广泛,也日益受到人们的关注。如图1是来自知网的文本情感分析关注指数,可以看出近几年来其受关注指数急速上升。/图1文本情感分析关注指数然而在社交平台上的评论数量级往往很大,时间成本和人力成本不允许人们逐条进行分析。如果我们借助机器学习算法对大量的数据集进行训练和预测,不仅可以节省人力和时间,同时也可以得出更加清晰的结论。本文对于这些算法的实现以及性能对比做出了探究和分析。1.2 国内外研究现状文本情感分析(Sentiment Analysis)是分析包含评论者情感色彩的评论文本的过程[1]。随着计算机技术的发展,该领域的研究发展不断更新。1.2.1 国外研究现状1997年Hatzivassiloglou和Mc Keown第一次着手对词语感情倾向的探究。研究通过对词语间的连词进行训练得到词语的含义连接图,再聚合同义或反义得到积极和消极两类词汇集。Nasukawa等[2]在2003年第一次提出“情感分析”一词,同年Dave等[3]第一次提出“意见挖掘”的概念。Das等[4]利用线上的股票评论提炼出情感倾向,Morinaga等利用互联网探究人们对产品的评价倾向;Pang等[5]通过监督学习途径实现了情感分类,而Turney[6]利用无监督学习方式完成了这一工作;Wiebe等成功提取出文本中带有主观情感色彩的部分;Jaap Kamps等实现了针对词库(例如Word Net)的词汇的相似程度运算,利用词语和相应的基准词(例如 happy和sad)之间的相似程度来评估句子的积极消极程度。1.2.2 国内研究现状国内方面,周咏梅等[7]提出了一种思路,通过建立中文微博情感词典来实现情感分析;徐琳宏等学者将知网中被标记过褒贬的词视为基准词,将待测词和基准词比较,利用刘群等人的相似度公式对两者的相似度进行运算,最终得到测试词语的积极消极程度。在篇章级的文本情感研究方面,许歆艺等提出了“文本纹理”特征的思路。1.3 研究目的和内容1.3.1 研究目的建立一个文本情感分析系统。文本情感分析应用广泛,商业方面可以帮助各行各业的平台开发者更及时、准确的了解大部分用户的需求和平台需要提升的地方,以及时根据需求对平台进行改进;政府工作者可以利用该技术分析识别大众舆论导向,更方便的实现对舆情的管理,进而形成更加积极向上的社会风气;在大众健康问题上,Cherry等[8]利用文本情感分析技术实现了对自杀倾向的有效干预,Chen等[9]利用情感分析技术实现了网络暴力语言的识别;Johnsen等[10]分析网上戒烟人员所发的消息,实现对其能否成功戒烟的预测。在金融领域,股市等交易市场也往往受到社会评论观点的影响,金融工作者可以利用该系统对收集到的相关讨论进行情感分析,以更好地把握和推测市场的最新动向;另外,在政治方面,该技术可以用来预测国际政治形势。在选举时,对民众的意见观点进行分析,可以帮助候选人了解民众意愿,预测当选成功率。Wang等[11]利用推特内容的分析得到了美国2012年大选的同步预测。Tumasjan等[12][13]同样通过分析网民发布的推特内容情感实现对候选人的当选率进行预测。了解几种机器学习算法以及情感词典算法在文本情感分析方面的优劣。几种机器学习方法包括支持向量机(SVM)、最大熵模型、朴素贝叶斯、K最近邻算法(KNN)都可以完成文本情感分析的工作。但在训练速度和准确度上各有千秋,本次研究将几种算法放在一起对同样的数据集进行训练和测试,分别用精确率、召回率、 F1值三个评价指标来对这些算法进行对比,以得出这些算法在中文文本情感倾向分析领域的应用价值。1.3.2 研究内容本次研究对象以电商平台用户对商品的评价为主,具体使用外卖平台的用户评论数据和宾馆预订平台的用户评论数据集,从食和住两个方面的数据集进行处理和训练的研究。在 PyCharm集成环境上利用 Python语言研究用几种机器学习技术对中文文本进行情感倾向分析,结果分为积极和消极两个粒度。同时实现情感词典法的文本情感分析,并对这五种算法的优缺点进行对比,其中,准确度的评价指标用精确率、召回率和F1值体现。本次项目目标主要实现两个功能一是对于输入的一句话,选择一种算法进行情感倾向预测,在界面显示预测结果;二是针对批量的数据集进行训练和预测,对几种算法的分析结果用不同的评价指标进行对比,在界面显示出比率数据。2 系统设计和准备工作2.1 总体思路设计本次研究旨在用机器学习算法实现对网络平台的评论数据集进行训练和预测,并实现基于情感词典的分析方法,进行算法对比。为实现总体目标,本次设计总体思路流程如图2所示,主要步骤为语料获取,情感词典建立,文本预处理,特征处理,主要算法实现,训练和预测,性能对比,最后用界面显示实现输入单句情感预测和批量数据预测的性能对比。/图2 总体实现流程2.2 机器学习算法分析文本情感流程文本分类的关键步骤是根据语料集合建造分类模型(也称为分类器),并且在训练和测试步骤用这个模型将待分析的文本映射到某一类别[14]。利用机器学习方法进行分析的基本流程如图3所示。/图3 机器学习方法分析文本情感基本流程2.3 情感词典方法分析文本情感流程利用机器学习算法实现文本情感倾向性需要大量数据集来训练得出模型,而基于情感词典的方法则不需要[15],主要思想是通过检索情感词典中的词,与文本中的词对比。一般用来作为文本情感分类的特征有情感词,句型,副词,否定词,连词,短语等[16],如果出现情感词典中的情感词、程度词、否定词或者特殊句式,就更新句子的情感值,对最终的情感值与0比较,判断句子的情感倾向是积极还是消极。利用情感词典算法分析的主要流程如图4所示。/图4 情感词典分析文本情感流程图2.4 准备工作2.4.1 语料准备本次研究所使用的数据集来自互联网平台评论,由于利用 Python爬虫技术在网上爬取到的数据需要清洗、统计、标注等工作,为了节省工作量,直接在 CSDN网站付费下载整理好的数据集,经过简单的去重过滤后得到三个数据集,包括一个宾馆评价数据集和两个外卖评价数据集。2.4.2 词典构建利用情感词典的方法进行文本的情感分析,最重要的就是情感词典的建立,一般建立情感词典的方法是利用已有词典来扩充所需词典[17]。目前,针对英文情感分析的词典较多,比较常用的中文情感词典有知网提供的 HOWNET,台湾大学简体中文情感极性词典 NTUSD,以及大连理工大学信息检索研究室提供的中文情感词汇库等。本文下载了HOWNET和NTUSD词典,在进行去重整理后,得到要用的情感词典。另外针对外卖评论领域增加了领域相关的情感词,如“好吃”,“送的慢”等。整理后的积极情感词共有4550个,其中有60个领域相关情感词,消极情感词共有4440个其中131个领域相关情感词,其中一般的积极词和消极词的情感分值的绝对值为1,对领域相关的情感词进行分数调整。整理构建了否定词词典。包含常用的否定词24个,如“并非”,“绝不”等。并给每个否定词设定权值为1。整理构建了程度副词词典。包含程度副词98个,如“超级”,“老是”等。并给每个程度副词按照语气强烈程度设定权值。表1中给出了不同权值的程度副词示例。表1 程度副词权值示例程度副词权值最/极其/根本2更/越发/格外1.75比较/不太/蛮1.5稍微/有点/略0.8整理构建了短语词典。包含领域相关短语43个,如“只有菜”,“小时才到”等。并给每个短语按照对句子情感影响程度设定了权值。整理构建了连词词典。包含连词27个,如“何况”,“然而”等。并给每个连词按照语气强烈程度设定了权值。整理构建了标点词典。包含表达情感的常用标点22个,如“!”“~”等。并给每个标点符号按照情感强烈程度设定了权值。另外手动增加了领域词242个,如“番茄炒蛋”,“满减优惠”,“太咸”等,并进行词性标注。3 相关技术与算法3.1 开发工具3.1.1 PyCharmPyCharm是一个十分方便并且十分流行的Python语言集成开发环境,它为Python开发者提供了一系列便于操作的功能。如错误代码高亮,代码跳转,集成单元测试,断点调试等。配置简单只需要下载安装PyCharm并导入配置Python解释器就可以使用了。编码帮助PyCharm的编码语法功能,对错误进行高亮提示功能和代码补全功能能够帮助使用者使得编码过程变的更简单。3.1.2 Python语言Python是一门非常适合用于研究机器学习的语言,选取Python作为此次设计的语言是因为Python语言有以下特点简单易懂。 Python语言的语法风格非常简单高效,实际代码与伪代码十分相似, Python的几行代码可以实现别的编程语言几十行才可以实现的功能,易读性很高。同时,Python的语法对缩进要求十分严格,这使得这门语言更加规范并且有非常优秀的可读性。Python提供了大量的标准库和第三方库。与机器学习有关的库如Numpy和Scipy,还提供语言处理等有关的库如jieba分词工具,非常适用于文本情感分析的机器学习。Python语言是一种被广泛使用的语言,相关网站平台有很多代码范例可供学习参考。3.1.3 界面实现工具PyQt5本次设计选用的界面图形化工具为PyQt5,它是一个基于Qt5框架的Python语言实现,由于其封装的完整性,PyQt5几乎可以实现所有Qt的功能。它的安装十分简单方便,直接在命令行用pip命令安装即可。用户可以直接在PyCharm上的External tools中引入QtDesigner和PyUIC工具,利用QtDesigner工具(通过pip安装)绘制图形界面,并修改简单的图形参数,保存生成ui文件。再对生成的ui文件用PyUIC工具转换为可以操作的.py文件,对其进行功能函数的编写,实现事件的响应。3.2 文本情感分析算法原理与实现3.2.1 支持向量机(SVM)支持向量机(Support Vector Machine)是一种有监督的学习方法,最开始由 Vapnik[18]提出。目前已被大面积应用在文本情感分类领域。主要思想理论为结构风险最小化,即在空间中找到这样一个超平面,使得超平面与距离它本身最近的点距离最远,使得模型的分类效果达到最佳。模型示意图如图5所示。/图5 SVM最优分割示意图关于 SVM 的基本模型[19],其数学思想为设训练数据集 T= {( x1 , y1 ),( x2 , y2 ),,( x N , y N )},其中,xi∈R n , yi∈{ -1,+ 1},i=1,2,,N,满足y[i] (w*x [i]+b )≥1 并使得min|| w || *|| w ||/2 ´ 由拉格朗日对偶性,求解对偶问题来得到原始问题的最优解。得到 max ∑α[i] -1/2∑α[i]*α[j]*y[i]*y[j]*x[i]*x[j] a ås.t.0≤α[i]≤C, α[i] * y[i]= 0 , i=1,2,3,,N上式中x [i]*x[j]代表这2个向量的内积,当遇到线性不可分的时候,用核函数K (x [i] *x [j])代替x [i] *x [j]。通过对偶问题的解,求得w和b,从而得到大间隔分离超平面以及分类决策函数。其中C被称为“惩罚因子”,C的值越大,经验风险越小,结构风险越大。本次研究SVM的算法实现主要依赖Python的scikit-learn库中集成的SVM算法-SVC(support vectors classification)类。主要实现步骤如下对每个句子中的特征词进行特征处理,转化为词向量;用fit方法用来训练数据,得到分类器模型;用predict方法将训练好的分类器对测试数据进行预测。3.2.2 最大熵模型最大熵模型(Maximum Entropy Model)依据最大熵原理。最大熵原理将熵最大的模型视为概率模型中最好的模型。熵被用来描述随机变量的不确定程度,不确定性越大,熵越大;当随机变量成为确定的值,熵的值是0。所有可能的情况均匀分布时熵最大。基于最大熵原理,要在所有满足约束的模型中选择具有最大熵模型的分类器[20]。国内黄文明等[21]提出了一个基于最大熵原理的中文短文本的情感分类模型。以 d 代表文档信息,构成文档 d 的上下文环境即特征空间为ƒc(d, c),特征空间由组成文档的特征组成,可以是单个词,也可以是短语。则在d发生的情况下属于类别 c 的概率公式用最大熵模型表示为 )Pcd=1Zdexp (∑λcƒcd,c)其中,Z(d)=∑exp(∑ λcƒc(d,c))为归一化因子,λc由训练样本训练得出,通过反复迭代得到λc的值。采用GIS方法实现最大熵模型对应的最优化问题 使λc等于任意值, 比如等于0。重复以下步骤直到收敛(连续两次λc的差值足够小)。λc(t+1)=λc(t)+1ClogEp(ƒc)Ep(n)(ƒc)3.2.3 朴素贝叶斯贝叶斯分类器是一个基于统计思想的分类方法,其基本思想基于贝叶斯公式P(A|B)=P(B|A)*P(A)/P(B)其中,由于P(A)不受到B的影响,又称P(A)是A的先验概率; P(A|B)是B发生的条件下A发生的概率,由于该值受到B事件的影响,又称为A的后验概率;同理,P(B| A)也被称作B的后验概率。P(B| A)/ P(B)是一个调整系数,使得预测概率更接近实际值。贝叶斯法则的思想可以被概括为后验概率=先验概率*调整系数。在应用中,假设某样本共有i个特征,分别为a1,a2,...,ai 。现有j个类别,分别为C1、C2、、Cj。贝叶斯分类器的目标是计算出该样本概率最大的那个类别,由贝叶斯公式,每种类别的概率值可以表示为以下算式P(C|a1,a2,...,ai) = P(a1,a2,...,ai |C)*P(C) / P(a1,a2,...,ai)对于某个特定的样本P(a1,a2,...,ai)是个固定的值,所以问题可以简化为P(a1,a2,...,ai |C)*P(C)朴素贝叶斯假设所有特征都是彼此独立的,所以问题又可以转换为P(a1,a2,...,ai |C)*P(C)=P(a1|C)*P(a2|C)* ... *P(ai |C)*P(C)按照以上思想,在本次研究中,对于数据集中某个待分类的句子,朴素贝叶斯分类器的主要实现步骤为计算出句子中每个词wi在积极词汇中出现的概率P(wi|pos),并计算乘积P(w1|pos)*P(w2|pos)*...*P(wi |pos);计算出数据集中所有积极词汇在总词汇中出现的概率P_pos;则该句子被划分为积极类的概率为p1=P(w1|pos)*P(w2|pos)*...*P(wi |pos)*P_pos;同理得出该句子被划分为消极类的概率p2;比较p1与p2的值,取较大的值所对应的类别作为待分类句子的情感类别。3.2.4 K最近邻算法(KNN)K最近邻(k-Nearest Neighbor)算法的主要思路为如果距离一个样本的最近的 k个样本的标记的大多数属于某一类别,则认为这个样本的标记也为这一类别,可以简单的认为该思想为“随大流”。其中,这k个样本的标记是已知正确的,k的值需要预先设定。关于距离计算方法,经常用的有欧氏距离、城市距离等。本次研究采用的距离度量方法为欧氏距离d=i=0Nx1i−x2i2按照以上思想,对于一个包含多个样本的数据集,其中的每个样本都有一个标记来区别他们自身属于哪一类别,KNN算法的主要实现步骤为要计算待分类样本和每个带有标记的样本之间的欧氏距离;找出距离最小的k个样本;选取这k个样本标记的最多的那个类别作为待分类样本的分类标记。3.2.5 情感词典法基于情感词典的分析是文本情感分析的基础方法,该方法需要构造一部情感词典,并且对词典中的词语进行词性和强度标注。实现情感分析的主要思路为将文本中的每句话分词,然后在词典中找出出现过的词并计算情感分值,识别特定句式如“要是就更好了”,计算情感分值。若最终分值总和大于0则认为该句子的情感倾向为积极,反之则认为该句子是消极的。表2给出了句子中可能的影响情感分值的情况。表2 影响情感分值的词语组合情况表情况序号可能出现的情况分值计算1情感词score=a2否定词+情感词score = (-1) n* a(n表示否定词的个数)3程度副词+否定词+情感词score= (-1) n* b* a其中,a表示情感词词典的分值,b表示程度副词的权值。按照以上思想,情感词典分析法的具体步骤为下载网络上的情感词典并整合,形成了积极词、消极词、程度副词、连词、否定词、短语句式、标点符号、领域相关词八个词典;根据语料调整部分情感词、连词、程度副词的权值;读取文本数据,根据标点对数据进行分句,并用Python带的jieba分词工具对句子进行分词和词性标注;对于每个分句查找是否有特殊句式,如“如果就好了”,“要的是给的是”等,若有则将情感分值加上对应的分值;查找分句是否有短语词典中的短语,如“没好吃”,若有则将情感分值加上相应分值;查找分句中在积极词词典和消极词词典出现的情感词,记录积极还是消极,以及位置,并将情感分值加上对应的分值; 往情感词前查找程度副词,若找到则将情感分值乘以程度副词对应的权值; 往情感词前查找否定词,若有则将情感分值乘以-1; 判断分句中是否有在连词词典里的词,有则将情感分值乘以对应权值;判断分句结尾是否有在标点词典里的标点,如“~”,“!”,“”等,有则将情感分值乘以对应权值;计算完一条评论所有分句的情感分值,得到情感倾向结果;计算并记录所有评论的分析结果,与原始情感标记比较,进行性能分析。3.3 特征处理算法3.3.1 特征提取词袋模型在机器学习算法中,为了让计算机更好地理解数据,需要对原始数据进行特征提取。特征是指数据所代表的部分特点,是机器算法用来作为分类的依据。文本特征提取的本质是将原始文本数据转换为可用于机器学习的数字特征。对原始数据进行特征提取主要有三个目的原始数据不能准确的反映对象的本质特征,不利于计算机学习过程;为了解决用原始数据容易出现过拟合的问题;解决原始数据维度太高,训练时间过长的问题。本次研究采用简单的词袋模型(bag of words model),主要思想为统计总词数,对于语料集中的每段文本,统计其中每个词在这句话中数出现的次数,用向量的形式表示文本。主要实现步骤为统计整个数据集(包含许多段文本)上的每个词语,创建一个标记。为每段文本创建一个特征向量,统计每个词语在这段文本出现的次数记录在向量中,即将文本转化为特征向量。3.3.2 特征选择卡方检验(Chi-squared test)对于某段文本,由于很多词语一次也没有出现过,在特征向量中会被标记为0,这样会形成稀疏矩阵,增加了不必要的数据冗余和数据存储,容易形成“维度灾难”,增加模型的复杂度。因此,要对特征集合进行选择,也叫做特征降维,来减少特征数量,使之具有代表性、提高分类性能。对特征向量集合进行特征选择主要有以下三个意义减少了冗余数据,可以提高计算速度;选择具有代表性的特征之后,可以减少噪音,从而提高分类的效率和准确度。能够更好地对模型进行理解和解释。实现特征选择需要计算出语料中每个词的信息量,选择信息量大的那些词作为特征。我们可以通过使用统计方法来选取具有代表性的特征。本研究选取卡方统计进行特征选择,卡方统计基于卡方公式X2=i=1k(Ai−Ei)2Ei主要思想是通过比较观察值和理论值之间的偏差χ2来判断事先做的假设是否成立。其中A表示观察值,E表示理论值,k为观察值的个数。在文本情感分类时,假设特征向量和类别之间符合卡方分布。对于特征词t和类别ci,该公式可以转换为以下形式X2t,ci=N∗(AD−BC)2A+B∗A+C∗B+D∗(C+D)其中A表示包含特征词t且是ci类的文本频数,B表示包含特征词t但不是ci类的文本频数,C表示不包含特征词t但是ci类的文本频数,D表示不包含特征词t且不是ci类的文本频数。计算得出的值越高,说明特征t包含的信息量越丰富,越具有代表性。3.3 准确度评价指标本次研究的一个重要目的是实现文本情感分析的算法性能对比,在准确度方面对精确率(precision)、召回率(recall)、F1值三个指标进行综合评价,从而得出一个更加合理的评价结果。这些指标是通过混淆矩阵计算出来的,混淆矩阵内容如表3所示。表3混淆矩阵实际情感值10预测情感值1TPFP0FNTN其中,TP指True Positive,表示实际值为正,预测结果为正;FP指False Positive,表示样本为负,预测结果为正;TN指TrueNegative,表示样本为负,预测结果为负;FN指FalseNegative表示样本为正,预测结果为负。精确率(precision)的计算公式P=TP/(TP+FP),表示在正确预测情感为积极的评论个数占所有预测为积极情感评论个数的比例。召回率(recall)的计算公式R=TP / (TP + FN),表示在正确预测情感为积极的评论个数占所有实际积极情感评论个数的比例。F1值的计算公式F1=2PR/(P+R),精确率和召回率有时会出现矛盾的情况,这时就需要对这两个指标进行综合考虑。4 系统实现和测试结果4.1 界面实现结果本次研究使用PyQt5中的QtDesigner工具绘制了简单的展示界面如图6所示,分为单句测试和批量数据测试部分。单句测试部分输入测试的句子,选择一种分析方法并点击对应按钮,在预测结果部分会显示给方法分析的预测结果。在批量数据测试部分,选择一种分析方法并点击对应按钮,在相应表格中会显示该方法的积极和消极评论的精确率、召回率和F1值。/图6 界面图4.2 功能实现结果本次研究之中完成了五种算法的实现,将数据集分别完成了数据集的训练和测试。单句测试结果示例,输入宾馆评论文本,选择朴素贝叶斯方法,结果如图7所示/图7单句测试结果示例图批量数据测试部分数据集为外卖评论,分别点击每种方法的按钮,经训练预测后,批量数据测试结果如图8所示/图8 批量数据测试结果图4.3 结果分析论文以网络平台评论数据集为研究对象,介绍了当前主流的文本情感分析算法的分析方法,以及对应的文本情感分析的实现流程;同时探索了基于情感词典方法以及几种主流的机器学习方法在中文文本情感分析问题上的性能表现差异,并最终分别实现了其算法,以及它们在语料库上的成功运行和结果展示。由批量数据运行界面显示的结果绘制出所有算法的准确度衡量指标柱状图,分类效果由高到低排列顺序如图9所示/图9 五种算法准确度指标对比5 总结与展望5.1 总结对于此次研究的所有算法,最终结果表明,在机器学习算法中,基于SVM模型的分类结果最好,准确度可以达到85%以上;基于KNN模型的分类结果表现最差,准确度在60% - 70%之间,并且KNN模型的训练结果与k值的选取有关;而基于情感词典的分析方法准确度较高,可以达到80%以上,缺点是人工工作量大,并且预测结果依赖于领域词的选取,可移植性差。根据测试结果界面呈现的结果显示五种算法的积极评论和消极评论的精确率、召回率、F1值,结合算法运行时所需的时间,这几种算法的性能分析总结在表格中,如表4所示表4算法优缺点对比总结算法准确度优点缺点基于词典较高(80%以上)易于理解人工工作量大基于k_NN比较低(60%- 70%)思想简单准确度低;计算量较大;耗内存;耗时间基于Bayes一般(70% - 80%)简单,高效,运算速度快,扩展性好准确度不高,达不到实用基于最大熵较高(83%以上)准确度高,原理简单计算复杂,训练时间久基于SVM最高(85%以上)准确度高训练耗时5.2 未来研究方向展望结合本次在中文文本情感分析和实现过程中遇到的问题,未来在该领域需要深入研究的方向有以下几个方面一词多义问题。由于语境的复杂性以及词语本身含义和表达习惯的多样性,同一词语可能会表达出几种不同的情感倾向。比如“配置和性能高”和“价格高”中的“高”,前者表达了积极情感,后者表达了消极情感。未来应该在更准确地识别词语表达的语义方面有更多的研究方法提出。中文句子结构识别问题。准确地识别句子结构,对于提高文本情感分析结果是很有意义的。目前关于英文的情感分析系统和应用技术较为成熟,而由于中文特有的语法和句子结构,在进行分析时无法借鉴在英文情感分析领域成果。未来应针对该问题提出更加有效的算法模型。致谢从本次论文的选题开始到设计实现再到论文即将完成,整个过程即是艰辛的又是快乐而充实的。此时,回首大学四年生涯,不免思绪万千,内心充满了感激和感恩之情。感谢我的室友和同学们,感谢他们在生活中给予我的包容,在学习上对我热情的帮助和鼓励,是他们在我遇到困难时给我继续奋斗下去的决心和勇气。同时,我要特别感谢我的家人们,一直以来,无论在生活上还是学习研究上,他们都给予我无限的支持与鼓励,用无微不至的关心让我在学习研究过程中保持乐观积极的心态和进取精神。参考文献[1]Pang B,Lee L.Opinion mining and sentiment analysis[J]. Foundations and Trends in Information Retrieval,2008,2(1-2):130-135.[2]Nasukawa T, Yi J. Sentiment analysis:capturing favorability using natural language processing[C]// International Conference on Knowledge Capture. 2003.[3] Dave, Lawrence, Pennock, et al. Mining the peanut gallery: Opinion extraction and semantic classification of product reviews[J]. Journal of Biological Chemistry, 2003, 289(51):35326-40.[4] Das S R, Chen M Y. Yahoo! For Amazon: Sentiment Parsing from Small Talk on the Web[J]. Social Science Electronic Publishing, 2001, 53(9):1375-1388.[5] Xu R, Chen T, Xia Y, et al. Word Embedding Composition for Data Imbalances in Sentiment and Emotion Classification[J]. Cognitive Computation, 2015, 7(2):226-240.[6] Turney P D. Thumbs up or thumbs down: semantic orientation applied to unsupervised classification of reviews[C]//Proceedings of the 40th annual meeting on association for computational linguistics. Association for Computational Linguistics, 2002: 417-424.[7]周咏梅,阳爱民,林江豪. 中文微博情感词典构建方法[J]. 山东大学学报(工学版), 2014,44(3)36-40.[8]Colin C, Mohammad S M, Berry D B. Binary Classifiers and Latent Sequence Models for Emotion Detection in Suicide Notes[J]. Biomedical Informatics Insights, 2012, 5(Suppl 1):147-154.[9]Chen, Y., Zhou, Y., Zhu, S., & Xu, H. (2012). Detecting offensive language in social media to protect adolescent online safety[C]//In Privacy, Security, Risk and Trust (PASSAT), 2012 International Conference on and 2012 International Confernece on Social Computing (SocialCom), pp. 71–80. IEEE. [10] Johnsen J K, Vambheim S M, Rolf W, et al. Language of motivation and emotion in an internet support group for smoking cessation: explorative use of automated content analysis to measure regulatory focus[J]. Psychology Research & Behavior Management, 2014, 7(default):19-29.[11]Wang H, Can D, Kazemzadeh A, et al. A system for real-time twitter sentiment analysis of 2012 us presidential election cycle[C]//Proceedings of the ACL 2012 System Demonstrations. Association for Computational Linguistics, 2012: 115-120.[12]Tumasjan A , Sprenger T O , Sandner P G , et al. Election Forecasts with Twitter - How 140 Characters Reflect the Political Landscape[J]. Social Science Electronic Publishing, 2011, 29(4):402-418.[13] Tumasjan, A., Sprenger, T. O., Sandner, P. G., & Welpe, I. M. (2010b). Predicting elections with Twitter: What 140 characters reveal about political sentiment[J]. Word Journal Of The International Linguistic Association, 178–185. [14]张庆庆.基于机器学习的文本情感分类研究[D].西安西北工业大学,201615.[15]马力, 宫玉龙. 文本情感分析研究综述[J]. 电子科技,2014,27(11)180.[16]李方涛.基于产品评论的情感分析研究[D].北京清华大学,201156.[17]孔杏,林庆.主观性文本情感分类研究综述[J]. 信息技术,2018,v.42;No.321(8)134-138+142.[18]Vapink V.SVM method of estimating density, conditional probability, and conditional density[C]. IEEE International Symposium on Circuits and Syatens,2000:749-752 . [19] 樊康新. 基于SVM 的网络文本情感分类系统的研究与设计[J].计算机时代, 2015(12) 34-37.[20] 李青松.文本情感分析研究[J].现代计算机,2019,0422.[21]黄文明,孙艳秋.基于最大熵的中文短文本情感分析[J].计算机工程与设计,2017,38(01)138-143.附录大学学院信息科技学院网络工程姓名葛俊爽论文题目基于机器学习的中文文本情感分析系统一、对待毕业实习的态度及实习期间遵守纪律情况优良(15—11分)一般(10—6分)较差(5—0)二、观察、收集、整理、查阅资料及运用数据的水平优良(30—21分)一般(20—11分)较差(10—0分)三、学生的独立工作能力和动手能力优良(20—16分)一般(15—11分)较差(10—0分)四、毕业论文写作的规范化程度优良(15—11分)一般(10—6分)较差(5—0分)五、毕业论文(设计)总体评价优良(20—16分)一般(15—6分)较差(5—0分)审查意见、成绩及能否提交答辩教务处制表大学学院信息科技学院网络工程姓名葛俊爽论文题目基于机器学习的中文文本情感分析系统一、论文选题的价值与合理性优秀(15—11分)一般(10—6分)较差(5—0)二、论文的难度、工作量大小和创新性优秀(30—21分)一般(20—11分)较差(10—0分)三、数据资料分析、归纳、概括及运算的能力优秀(20—16分)一般(15—11分)较差(10—0分)四、文字表达水平、文章的逻辑性优秀(15—11分)一般(10—6分)较差(5—0分)五、论文写作的规范化程度优秀(20—16分)一般(15—6分)较差(5—0分)评阅意见、成绩及能否提交答辩教务处制表大学本科生毕业论文(设计)答辩及综合评分表(由答辩小组填写)学院信息科技学院网络工程姓名葛俊爽论文题目基于机器学习的中文文本情感分析系统一、内容的科学性、应用性和创新性优秀(30—21分)一般(20—11分)较差(10—0)二、论文写作水平及知识面掌握程度优秀(30—21分)一般(20—11分)较差(10—0分)三、语言表达能力、逻辑思维能力、回答问题的正确性优秀(40—31分)一般(30—11分)较差(10—0分)论文答辩意见及成绩答辩小组负责人(签名) 年月日本科生毕业论文(设计)综合评定成绩(由答辩小组填写)毕业论文(设计)评阅成绩30%毕业论文(设计)答辩成绩40%综合评定成绩100%注综合评定成绩等级优秀(90-100),良好(80-89),中等(70-79),及格(60-69),不及格(60分以下)。答辩小组负责人(签名) 年月日
目录
摘要 1
关键字 1
Abstract: 1
Key words: 2
1 选题背景 2
1.1 问题的提出 2
1.2 国内外研究现状 2
1.2.1 国外研究现状 2
1.2.2 国内研究现状 3
1.3 研究目的和内容 3
1.3.1 研究目的 3
1.3.2 研究内容 3
2 系统设计和准备工作 4
2.1 总体思路设计 4
2.2 机器学习算法分析文本情感流程 4
2.3 情感词典方法分析文本情感流程 5
2.4 准备工作 6
2.4.1 语料准备 6
2.4.2 词典构建 6
3 相关技术与算法 7
3.1 开发工具 7
3.1.1 PyCharm 7
3.1.2 Python语言 8
3.1.3 界面实现工具PyQt5 8
3.2 文本情感分析算法原理与实现 8
3.2.1 支持向量机(SVM) 8
3.2.2 最大熵模型 9
3.2.3 朴素贝叶斯 10
3.2.4 K最近邻算法(KNN) 10
3.2.5 情感词典法 11
3.3 特征处理算法 12
3.3.1 特征提取:词袋模型 12
3.3.2 特征选择:卡方检验(Chisquared test) 12
3.3 准确度评价指标 13
4 系统实现和测试结果 13
4.1 界面实现结果 13
4.2 功能实现结果 14
4.3 结果分析 15
5 总结与展望 16
5.1 总结 16
5.2 未来研究方向展望 17
致谢 17
参考文献 17
基于机器学习的中文文本情感分析系统
引言
原文链接:http://www.jxszl.com/jsj/wljs/563973.html