112 什么是文档情感分类?
到目前为止,我们讲完了对话系统的基础知识。一般来说,对话系统分为"任务型"和"非任务型"这两种基本类型。针对任务型对话系统,我们重点介绍了其各个组件的任务,以及这些组件都有哪些模型给予支撑。针对非任务型对话系统,也就是"聊天机器人”,我们主要介绍了如何利用深度学习技术来对一个聊天机器人进行建模,以及非任务型对话系统所面临的挑战都有哪些。
今天,我们转入文本分析的另外一个领域,同时也是在实际系统中经常会使用的一个子领域,那就是文本"情感分析”(Sentiment Analysis)。所谓情感分析,就是指我们要针对一段文本来判断这段文本的文字"色彩”,到底是褒义,还是贬义,到底是抒发了什么情感。
文本情感分析是一个非常实用的工具,比如,我们需要分析用户对于商品的评价带有什么样的情感,从而能够更好地为商品的推荐和搜索结果服务。再比如,通过文本的情感分析,我们可以了解到用户针对某一个时事的观点异同,以及观点分歧在什么地方,从而能够更加清晰地了解新闻的舆情动态。
今天,我们首先从最基础的文档情感分类(Document Sentiment Classification)这个问题说起。
基于监督学习的文档情感分类
文档情感分类属于文本情感分析中最基本的一种任务。这种任务的假设是,一段文本的作者通过这段文本是想对某一个”实体“(Entity)表达一种情绪。这里的实体其实包括很多种类型的对象,比如可能是商品,某个事件,也可能是某个人物。我们这里讨论的文本单元可以是一个文档,也可以是一个句子等其他的文本段落。
值得注意的是,我们在这一类任务中,限制一个文本单元只表达,或者主要表达一种情感。很明显,这种假设是比较局限的。一般来说,在实际的应用中,一个文本单元,特别是比较长的单元例如文章,则往往包含多于一种的情绪。因此,我们可以看到文档情感分类其实是一种简化了的情感分析任务。
同时,一个文本单元还可能对多个"实体"进行情感表达。比如一个用户针对某种款式相机的多个方面进行了评价,那么每一个方面都可以作为一个实体,而这种时候,用户的情感可能就更难仅以一种情感来加以概括了。
在最基本的文档情感分类的情况下,我们往往把这类任务转化成为一种监督学习任务,也就是说,我们希望通过一个有标签的训练集学习到一个分类器(Classifier)或者回归模型(Regression),从而能够在未知的数据上预测用户的情感。
这里往往有两种形式的监督学习任务。一种是把文档分类为几种,最简单的情况下是两种情感。这就是二分或者多类分类问题。另外一种则是认为文档会有一种情感,但是每一种情感之间有好坏的顺序区分,比如,评分"好”,就比"一般"要好,也就是说,这些评分之间有一个次序问题。那么,很多时候,这种问题会被归结为一种**“次序回归”(Ordinal Regression)问题**。
在明确了我们需要构建什么样的监督学习任务以后,对于这些任务而言,如何选取"特性”(Feature)就是一个很重要的工作了。诚然,对于每一个具体的任务而言,我们往往需要选取不同的特性,但是在过去的很多实践中,经过反复验证,有一些特性可能会有比较好的效果。我在这里做一个简单的总结。
首先,我们曾经多次提到过的”词频 “(Term Frequency)以及更加复杂一些的TF-IDF词权重法都是经常使用的文字特性。在文档情感分类中,这一类特性被认为非常有效。
另外一种使用得比较频繁的特性就是”词类“(Part of Speech)。词类提供了句子中每个词的成分,比如哪些词是动词,哪些词是名词等等。这些词性可以跟某种特定的情感有很密切的联系。
还有一种很直观的特性就是”情感词汇“。比如,我们已经知道了"好”、“不错"等词表达了正向的情感,而"差”、“不好”、“不尽人意"等词表达了负向的情感。我们可以事先收集一个这类情感词汇的集合。这个集合里的词汇可以跟最后文档的情感有很直接的联系。
最后,需要指出的是,如何开发一个合适的特性往往是文档分类的重点工作。
除了特性以外,在文档情感分类这个任务中,传统上经常使用的文字分类器有”朴素贝叶斯 “(Naïve Bayes)分类器、“支持向量机“(Support Vector Machines)等。
基于非监督学习的文档情感分类
情感词汇已经为我们对大段文字乃至整个文档的分类有了很强的指导意义,因此,也有一些方法寻求利用非监督学习的方式来对文档进行情感分类。注意,这里所谓的非监督学习,是指我们并不显式地学习一个分类器,也就是说,不存在一个训练数据集,不需要我们提前收集数据的标签。
这一类思想的核心其实就是设计一套”打分机制“(Scoring Heuristics),来对整个文档做一种粗浅的判断。当然,这种打分机制背后都有一种理论来支撑。
比如,有一种打分模式依靠首先识别的"词类"进行分析,特别是大量的相邻的两个词的词性,诸如"特别好”。这里,“特别"是副词,“好"是形容词,然后就可以得出在某些情况下,副词和形容词的这种搭配特别多的时候,并且在正向的情感词比较多的时候,整个文档也许就是比较偏向正向的情感。
我们需要指出的是,这种方法虽然听上去比较"山寨”,但是对于很多产品和项目来说,获取大量高质量的标签信息往往是非常耗时,甚至是不可能的,例如上百万的用户对产品的评价数据。因此,在没有训练数据的情况下,利用某种打分机制,可以通过最简单的一些情感词库开发出文档情感分类的算法,这其实也不失为一种快速迭代的方式。
总结
今天我为你介绍了一类基础的文字情感分析任务——文档情感分类的基本技术要点。
一起来回顾下要点:第一,我们讲了基于监督学习的文档情感分类任务以及这类任务下的重要特性和模型;第二,我们聊了如何在没有大规模训练数据的基础上进行非监督的文档情感分类。
最后,给你留一个思考题,如何把文档情感分类任务扩展到可以针对多种实体多种情感的分析呢?
文章列表
- 面试AI技术内参-003精读2017年KDD最佳应用数据科学论文
- 面试AI技术内参-075现代推荐架构剖析之三:复杂现代推荐架构漫谈
- 面试AI技术内参-093聊一聊程序化直接购买和广告期货
- 面试AI技术内参-030ACL2018论文精读:什么是端到端的语义哈希?
- 面试AI技术内参-116掌握计算机视觉任务的基础模型和操作
- 面试AI技术内参-018TheWeb2018论文精读:如何从文本中提取高元关系?
- 面试AI技术内参-121计算机视觉领域的深度学习模型(一):AlexNet
- 面试AI技术内参-123计算机视觉领域的深度学习模型(三):ResNet
- 面试AI技术内参-033经典搜索核心算法:语言模型及其变种
- 面试AI技术内参-146数据科学团队必备的工程流程三部曲
- 面试AI技术内参-094归因模型:如何来衡量广告的有效性
- 面试AI技术内参-155人工智能技术选择,该从哪里获得灵感?
- 面试AI技术内参-089广告的竞价策略是怎样的?
- 面试AI技术内参-001聊聊2017年KDD大会的时间检验奖
- 面试AI技术内参-076基于深度学习的推荐模型之一:受限波兹曼机
- 面试AI技术内参-126计算机视觉高级话题(三):产生式模型
- 面试AI技术内参-009如何将深度强化学习应用到视觉问答系统?
- 面试AI技术内参-012精读2017年NIPS最佳研究论文之三:如何解决非完美信息博弈问题?
- 面试AI技术内参-112什么是文档情感分类?
- 面试AI技术内参-045文档理解的重要特例:多模文档建模
- 面试AI技术内参-054机器学习排序算法经典模型:LambdaMART
- 面试AI技术内参-067推荐的Exploit和Explore算法之一:EE算法综述
- 面试AI技术内参-101基础文本分析模型之二:概率隐语义分析
- 面试AI技术内参-147数据科学团队怎么选择产品和项目?
- 面试AI技术内参-149微软研究院:工业界研究机构的楷模
- 面试AI技术内参-074现代推荐架构剖析之二:基于多层搜索架构的推荐系统
- 面试AI技术内参-073现代推荐架构剖析之一:基于线下离线计算的推荐架构
- 面试AI技术内参-000开篇词你的360度人工智能信息助理
- 面试AI技术内参-059简单推荐模型之二:基于相似信息的推荐模型
- 面试AI技术内参-106序列建模的深度学习利器:RNN基础架构
- 面试AI技术内参-117计算机视觉中的特征提取难在哪里?
- 面试AI技术内参-144数据科学家必备套路之三:广告套路
- 面试AI技术内参-114文本情感分析中如何做意见总结和搜索?
- 面试AI技术内参-016TheWeb2018论文精读:如何对商品的图片美感进行建模?
- 面试AI技术内参-结束语雄关漫道真如铁,而今迈步从头越
- 面试AI技术内参-057基于深度学习的搜索算法:局部和分布表征下的搜索模型
- 面试AI技术内参-119基于深度学习的计算机视觉技术(二):基本的深度学习模型
- 面试AI技术内参-078基于深度学习的推荐模型之三:利用深度学习来扩展推荐系统
- 面试AI技术内参-056基于深度学习的搜索算法:卷积结构下的隐含语义模型
- 面试AI技术内参-069推荐的Exploit和Explore算法之三:汤普森采样算法
- 面试AI技术内参-114复盘3自然语言处理及文本处理核心技术模块
- 面试AI技术内参-025ICML2018论文精读:模型经得起对抗样本的攻击?这或许只是个错觉
- 面试AI技术内参-023CVPR2018论文精读:如何从整体上对人体进行三维建模?
- 面试AI技术内参-154在人工智能领域,如何快速找到学习的切入点?
- 面试AI技术内参-017TheWeb2018论文精读:如何改进经典的推荐算法BPR?
- 面试AI技术内参-071推荐系统评测之二:线上评测
- 面试AI技术内参-084雅虎的广告点击率预估模型
- 面试AI技术内参-090如何优化广告的竞价策略?
- 面试AI技术内参-092如何设置广告竞价的底价?
- 面试AI技术内参-107基于门机制的RNN架构:LSTM与GRU
- 面试AI技术内参-148曾经辉煌的雅虎研究院
- 面试AI技术内参-027ICML2018论文精读:优化目标函数的时候,有可能放大了不公平?
- 面试AI技术内参-150复盘6数据科学家与数据科学团队是怎么养成的?
- 面试AI技术内参-138数据科学团队养成:Onsite面试面面观
- 面试AI技术内参-034机器学习排序算法:单点法排序学习
- 面试AI技术内参-036机器学习排序算法:列表法排序学习
- 面试AI技术内参-042如何评测搜索系统的在线表现?
- 面试AI技术内参-058简单推荐模型之一:基于流行度的推荐模型
- 面试AI技术内参-066高级推荐模型之三:优化复杂目标函数
- 面试AI技术内参-070推荐系统评测之一:传统线下评测
- 面试AI技术内参-100基础文本分析模型之一:隐语义分析
- 面试AI技术内参-142数据科学家必备套路之一:搜索套路
- 面试AI技术内参-145如何做好人工智能项目的管理?
- 面试AI技术内参-129数据科学家基础能力之系统
- 面试AI技术内参-143数据科学家必备套路之二:推荐套路
- 面试AI技术内参-057复盘1搜索核心技术模块
- 面试AI技术内参-078复盘2推荐系统核心技术模块
- 面试AI技术内参-082Google的点击率系统模型
- 面试AI技术内参-098LDA变种模型知多少
- 面试AI技术内参-103为什么需要Word2Vec算法?
- 面试AI技术内参-060简单推荐模型之三:基于内容信息的推荐模型
- 面试AI技术内参-077基于深度学习的推荐模型之二:基于RNN的推荐系统
- 面试AI技术内参-134职场话题:数据科学家应聘要具备哪些能力?
- 面试AI技术内参-120基于深度学习的计算机视觉技术(三):深度学习模型的优化
- 面试AI技术内参-118基于深度学习的计算机视觉技术(一):深度神经网络入门
- 面试AI技术内参-140人工智能领域知识体系更新周期只有5~6年,数据科学家如何培养?
- 面试AI技术内参-002精读2017年KDD最佳研究论文
- 面试AI技术内参-006精读2017年EMNLP最佳短论文
- 面试AI技术内参-065高级推荐模型之二:协同矩阵分解
- 面试AI技术内参-086Twitter的广告点击率预估模型
- 面试AI技术内参-087阿里巴巴的广告点击率预估模型
- 面试AI技术内参-104Word2Vec算法有哪些扩展模型?
- 面试AI技术内参-113如何来提取情感实体和方面呢?
- 面试AI技术内参-037查询关键字理解三部曲之分类
- 面试AI技术内参-049PageRank算法的核心思想是什么?
- 面试AI技术内参-109对话系统之经典的对话模型
- 面试AI技术内参-125计算机视觉高级话题(二):视觉问答
- 面试AI技术内参-132数据科学家高阶能力之如何系统提升产品性能
- 面试AI技术内参-026ICML2018论文精读:聊一聊机器学习算法的公平性问题
- 面试AI技术内参-022CVPR2018论文精读:如何研究计算机视觉任务之间的关系?
- 面试AI技术内参-007精读2017年ICCV最佳研究论文
- 面试AI技术内参-038查询关键字理解三部曲之解析
- 面试AI技术内参-048搜索索引及其相关技术概述
- 面试AI技术内参-083Facebook的广告点击率预估模型
- 面试AI技术内参-085LinkedIn的广告点击率预估模型
- 面试AI技术内参-096复盘4广告系统核心技术模块
- 面试AI技术内参-102基础文本分析模型之三:EM算法
- 面试AI技术内参-126复盘5计算机视觉核心技术模块
- 面试AI技术内参-128数据科学家基础能力之机器学习
- 面试AI技术内参-1522017人工智能技术发展盘点
- 面试AI技术内参-124计算机视觉高级话题(一):图像物体识别和分割
- 面试AI技术内参-013WSDM2018论文精读:看谷歌团队如何做位置偏差估计
- 面试AI技术内参-011精读2017年NIPS最佳研究论文之二:KSD测试如何检验两个分布的异同?
- 面试AI技术内参-031经典搜索核心算法:TF
- 面试AI技术内参-047多轮打分系统概述
- 面试AI技术内参-050经典图算法之HITS
- 面试AI技术内参-079广告系统概述
- 面试AI技术内参-080广告系统架构
- 面试AI技术内参-081广告回馈预估综述
- 面试AI技术内参-091如何控制广告预算?
- 面试AI技术内参-097LDA模型的前世今生
- 面试AI技术内参-115什么是计算机视觉?
- 面试AI技术内参-151精读AlphaGoZero论文
- 面试AI技术内参-096如何利用机器学习技术来检测广告欺诈?
- 面试AI技术内参-137数据科学团队养成:电话面试指南
- 面试AI技术内参-153如何快速学习国际顶级学术会议的内容?
- 面试AI技术内参-141数据科学家团队组织架构:水平还是垂直,这是个问题
- 面试AI技术内参-004精读2017年EMNLP最佳长论文之一
- 面试AI技术内参-005精读2017年EMNLP最佳长论文之二
- 面试AI技术内参-052机器学习排序算法经典模型:RankSVM
- 面试AI技术内参-061基于隐变量的模型之一:矩阵分解
- 面试AI技术内参-110任务型对话系统有哪些技术要点?
- 面试AI技术内参-131数据科学家高阶能力之评估产品
- 面试AI技术内参-150聊一聊谷歌特立独行的混合型研究
- 面试AI技术内参-139成为香饽饽的数据科学家,如何衡量他们的工作呢?
- 面试AI技术内参-024CVPR2018论文精读:如何解决排序学习计算复杂度高这个问题?
- 面试AI技术内参-046大型搜索框架宏观视角:发展、特点及趋势
- 面试AI技术内参-029ACL2018论文精读:什么是对话中的前提触发?如何检测?
- 面试AI技术内参-108RNN在自然语言处理中有哪些应用场景?
- 面试AI技术内参-105Word2Vec算法有哪些应用?
- 面试AI技术内参-028ACL2018论文精读:问答系统场景下,如何提出好问题?
- 面试AI技术内参-156内参特刊和你聊聊每个人都关心的人工智能热点话题
- 面试AI技术内参-014WSDM2018论文精读:看京东团队如何挖掘商品的替代信息和互补信息
- 面试AI技术内参-095广告投放如何选择受众?如何扩展受众群?
- 面试AI技术内参-032经典搜索核心算法:BM25及其变种(内附全年目录)
- 面试AI技术内参-019SIGIR2018论文精读:偏差和流行度之间的关系
- 面试AI技术内参-055基于深度学习的搜索算法:深度结构化语义模型
- 面试AI技术内参-043文档理解第一步:文档分类
- 面试AI技术内参-072推荐系统评测之三:无偏差估计
- 面试AI技术内参-008精读2017年ICCV最佳学生论文
- 面试AI技术内参-035机器学习排序算法:配对法排序学习
- 面试AI技术内参-039查询关键字理解三部曲之扩展
- 面试AI技术内参-040搜索系统评测,有哪些基础指标?
- 面试AI技术内参-041搜索系统评测,有哪些高级指标?
- 面试AI技术内参-053机器学习排序算法经典模型:GBDT
- 面试AI技术内参-063基于隐变量的模型之三:分解机
- 面试AI技术内参-064高级推荐模型之一:张量分解模型
- 面试AI技术内参-068推荐的Exploit和Explore算法之二:UCB算法
- 面试AI技术内参-099针对大规模数据,如何优化LDA算法?
- 面试AI技术内参-127数据科学家基础能力之概率统计
- 面试AI技术内参-156近在咫尺,走进人工智能研究
- 面试AI技术内参-021SIGIR2018论文精读:如何对搜索页面上的点击行为进行序列建模?
- 面试AI技术内参-010精读2017年NIPS最佳研究论文之一:如何解决非凸优化问题?
- 面试AI技术内参-122计算机视觉领域的深度学习模型(二):VGG&GoogleNet
- 面试AI技术内参-044文档理解的关键步骤:文档聚类
- 面试AI技术内参-088什么是基于第二价位的广告竞拍?
- 面试AI技术内参-111聊天机器人有哪些核心技术要点?
- 面试AI技术内参-130数据科学家高阶能力之分析产品
- 面试AI技术内参-030复盘7一起来读人工智能国际顶级会议论文
- 面试AI技术内参-015WSDM2018论文精读:深度学习模型中如何使用上下文信息?
- 面试AI技术内参-062基于隐变量的模型之二:基于回归的矩阵分解
- 面试AI技术内参-020SIGIR2018论文精读:如何利用对抗学习来增强排序模型的普适性?
- 面试AI技术内参-133职场话题:当数据科学家遇见产品团队
- 面试AI技术内参-135职场话题:聊聊数据科学家的职场规划