基于机器学习的NLP情感分析(1)——概述

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31150399/article/details/79758075

主要参考文献

CSDN:基于机器学习的NLP情感分析(一)---- 数据采集与词向量构造方法(京东商品评论情感分析)

0 情感分析(Sentiment Analysis)

情感分析(Sentiment analysis),又称倾向性分析,意见抽取(Opinion extraction),意见挖掘(Opinion mining),情感挖掘(Sentiment mining),主观分析(Subjectivity analysis),它是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程。

通常情感分析任务包括如下几类(我爱公开课:斯坦福大学自然语言处理第七课“情感分析(Sentiment Analysis)”):

  1. 简单分类Simplest task: Is the attitude of this text positive or negative?
  2. 复杂分类More complex: Rank the attitude of this text from 1 to 5
  3. 高级Advanced: Detect the target, source, or complex attitude types

主流思想:

基于情感词典:是指根据已构建的情感词典,对待分析文本进行文本处理抽取情感词,计算该文本的情感倾向,即根据语义和依存关系来量化文本的情感色彩。最终分类效果取决于情感词库的完善性,另外需要很好的语言学基础,也就是说需要知道一个句子通常在什么情况为表现为Positive和Negative。

基于机器学习:是指选取情感词作为特征词,将文本矩阵化,利用logistic Regression, 朴素贝叶斯(Naive Bayes),支持向量机(SVM)等方法进行分类。最终分类效果取决于训练文本的选择以及正确的情感标注。

例子:知乎:NLP情感分析|流程概述(一)

现状:主流的是第一种方法,原因是不是所有的文本都是标注好的,机器学习的方法大多数情况都是需要对数据进行人工标注的,人工标注非常耗时耗力。另外对于特定领域,判断情感需要很多的专业知识,例如要判断一条金融新闻是利好还是利空。

1 数据采集

使用python3.5比较好,因为3.5对中文更友好;需要额外下载request库。

1.1 python3.5+anaconda+TensorFlow 安装

anaconda和TensorFlow快速安装参考下列步骤:

  • 安装之前需要注意:Windows只有python3.5才能调用tensorflow,所以要下载对应python3.5版本的anaconda3-4.2.0

在官网下载时,注意不要盲目选择版本,留意下图中的3.5版本

anaconda官网:https://www.anaconda.com/download/

下载目录:https://repo.continuum.io/archive/.winzip/ 

(参考CSDN:Tensorflow学习笔记(一)Win7+python3.5+Tensorflow+pycharm

  • python3.5版本的anaconda4.2.0安装选择正确的安装包(如图)下载安装即可。
(参考CSDN:win7安装Anaconda+TensorFlow+配置PyCharm 安装python3.5版本的anaconda4.2.0)
  • TensorFlow安装:安装前先为tensorflow新建一个干净的环境:conda create -n tensorflow python=3.5 然后pip install tensorflow等待安装成功即可。
(参考CSDN:Tensorflow学习笔记(一)Win7+python3.5+Tensorflow+pycharm 或者CSDN:【深度学习】windows下安装TensorFlow )
  • 配置pycharm:在【file】->【project:...】->【project interpreter】中配置即可。

(参考CSDN:win7安装Anaconda+TensorFlow+配置PyCharm )


另外,anaconda和TensorFlow详细安装解释见:TensorFlow在windows上安装与简单示例 ,生动细致,常见雷区,以及小例子。

1.2 爬取数据

爬虫入门:使用python抓取并分析京东商品评论数据

京东爬虫,可抓取京东商品信息和评论

分布式爬虫:从京东"窃取"150+万条数据

2 分词

中文分词可利用jieba, THULAC,ICTCLAS

jieba:易用,可以添加自定义词库或者删除“无效词”(stopwords)。自定义词库按需求添加,可以不适用;但是“无效词”表达情感时没有明确的情感指向但却很常用(词频很高),因此这些词的TF-IDF仍然可能非常高,所以需要主动删除,以避免引入噪声。

3 向量词构造

TF-IDFbigram等。

TF-IDF用于计算词库中最具代表性的词 。

TF-IDF(term frequency–inverse document frequency)是一种用于资讯检索与资讯探勘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜寻引擎应用,作为文件与用户查询之间相关程度的度量或评级。除了TF-IDF以外,因特网上的搜寻引擎还会使用基于连结分析的评级方法,以确定文件在搜寻结果中出现的顺序。博客园:TF-IDF及其算法

4 分类

4.1 特征相关性

PMI CSDN:点互信息(PMI,Pointwise Mutual Information)

4.2 模型选择


展开阅读全文

没有更多推荐了,返回首页