文本情感感情剖析算法感情情感推算(文本情感感情剖析系统)
目录导读:
一:自然语言处理_一般处理程序
1。一般处理程序
语料获取 -> 文本预处理 -> 特征工程 -> 特征选择
1。语料获取
即需要处理的数据及用于模型训练的语料。
数据源可能来自网上爬取、资料积累、语料转换、OCR转换等,格式可能比较混乱。需要将url、时间、符号等无意义内容去除,留下质量相对较高的非结构化数据。
2。文本预处理
将含杂质、无序、不标准的自然语言文本转化为规则、易处理、标准的结构化文本。
①处理标点符号
可通过正则判定、现有工具(zhon包)等方式筛选清理标点符号。
②分词
将连续的自然语言文本,切分成具有语义合理性和完整性的词汇序列的过程。
一般看来英文较容易可通过空格符号分词,中文相对复杂,参考结巴分词、盘古分词、Ansj等工具。
常常见到的分词算法有:基于字符串匹配的分词方法、基于理解的分词方法、基于统计的分词方法和基于规则的分词方法,每种方法下面对应很多具体的算法。
③词性标注
为自然语言文本中的每个词汇付与一个词性的过程,如名词、动词、副词等。可以把每个单词(和它周围的一些额外的单词用于上下文)输入预先训练的词性分类模型。
常用隐马尔科夫模型、N 元模型、决策树
④stop word
英文中含大量 a、the、and,中文含大量 的、是、了、啊,这几个语气词、助词没有明显的实际意义,反而极易造成识别偏差,可适当进行过滤。
⑤词形还原
偏向于英文中,单数/复数,主动/被动,此刻进行时/过去时/将来时等,还原为原型。
⑥统计词频
由于一些频率过高/过低的词是无效的,对模型帮助很小,还会被当做噪声,做个词频统计用于停用词表。
⑦给单词付与id
给每一个单词一个id,用于构建词典,并且将原来的句子替换成id的表现形式
⑧依存句法剖析
通过剖析句子中词与词之间的依存关系,从而捕捉到词语的句法结构信息(如主谓、动宾、定中等结构关系),并使用树状结构来预示句子的句法结构信息(如主谓宾、定状补等)。
3。特征工程
做完语料预处理之后,接着下面需要慎重考虑怎样把分词后来的字和词语预示成计算机能够计算的那种。
假如要计算我们至少需要把中文分词的字符串转换成数字,确切的说或许应该是数学中的向量。有两种常用的预示模型分别为词袋模型和词向量。
①词向量
词向量是将字、词语转换成向量矩阵的计算模型。目前为止最常用的词预示方法是 One-hot,这一个方法把每个词预示为一个很长的向量。
②词袋模型
即不考虑词语原本在句子中的顺序,直接将每一个词语或者符号统一放置于一个集合(如 list),紧接着依照计数的方式对出现的次数进行统计。统计词频这只是最根本的方式,TF-IDF 是词袋模型的一个经典用法。
常用的预示模型有:词袋模型(Bag of Word, BOW),打比方说:TF-IDF 算法;词向量,打比方说 one-hot 算法、word2vec 算法等。
4。特征选择
在文本挖掘相关问题中,特征工程也是必不可少的。在一个实际问题中,构造好的特点向量,是要选择适合的、表达能力强的特点。
举个自然语言处理中的例子来说,我们想衡量like这个词的极性(正向情感感情还是负向情感感情)。俺们是可以预先挑选一些正向情感感情的词,打比方说good。紧接着我们算like跟good的PMI,用到点互信息PMI这个指标来衡量两个事物之间的相关性。
特征选择是一个很有挑战的过程,更加的多的依靠于经验和专业知识,并且有许多现成的算法来进行特征的抉择。目前,常常见到的特征选择方法主要有 DF、 MI、 IG、 CHI、WLLR、WFO 六种。
5。模型训练
在特征向量选择好了以后,接着下面要做的事情是依据应用需求来训练模型,我们使用不同的模型,守旧的有监督和无监督等机器学习模型,如 KNN、SVM、Naive Bayes、决策树、GBDT、K-means 等模型;深度学习模型打比方说 CNN、RNN、LSTM、 Seq2Seq、FastText、TextCNN 等。这几个模型在分类、聚类、神经序列、情感感情剖析等应用中都会用到。
当选择好模型后,则进行模型训练,其中包括了模型微调等。在模型训练的过程中须留意因为在训练集上表现很好,但在测试集上表现很差的过拟合问题以及模型不能很好地拟合数据的欠拟合问题。并 且,也要防止出现梯度消失和梯度爆炸问题。
6。模型评估
在机器学习、数据挖掘、推荐系统完成建模之后,需要对模型的作用做评价。模型的评价指标主要有:错误率、精确准确度、准确率、召回率、F1 值、ROC 曲线、AUC 曲线等。
7。投产上线
模型的投产上线方式主要有两种:一种是线下训练模型,紧接着将模型进行线上部署提供服务;另一种是在线训练模型,在线训练完成后将模型 pickle 持久化,提供对外服务。
3。NLP应用方向
1。命名实体识别
指识别自然语言文本中具有特定意义的实体,主要包括人名、地名、机构名、时间日期等。
传统机器学习算法主要有H妹子和CRF,深度学习常用QRNN、LSTM,当前主流的是基于bert的NER。
2。情感感情剖析
文本情感感情剖析和看法挖掘(Sentiment Analysis),又称意见挖掘(Opinion Mining)是自然语言处理范畴的一个重要研究方向。简单来讲,是对带有情感感情色彩的主观性文本进行剖析、处理、归纳和推理的过程。
情感感情剖析技术可以分为两类,一类是基于机器学习的方式方法,通过大量有标注、无标注的主观语料,使用统计机器学习算法,通过提取特征,进行文本情感感情剖析。另一类是基于情感感情词典的方式方法,依据情感感情词典所提供的词的感情极性(正向、负向),从而进行不同粒度的(词语、短语、属性、句子、篇章)下的文本情感感情剖析。
3。文章标签
文章标签是利用机器学习算法,对文章进行文字和语义的剖析后,提取出若干个重要的词或者短语(关键短语)。关键短语是NLP基础的算法模块,有了关键短语,能为后续的搜索、推荐等更高档的应用提供有力的抓手。
适用场景:1。个性化推荐:经过对文章的标签计算,结合用户画像,精确准确的对用户进行个性化推荐;2。话题聚合:依据文章计算的标签,聚合相同标签的文章,便于用户对同一话题的文章进行全方位的信息阅读;3。搜索:使用中心词可以对query进行相似度计算、聚类、改写等,可以 使用于搜索相关性计算。
4。案件串并
①信息抽取
运用实体抽取、关系抽取,从案情中抽取关键信息,如从警情中可以抽取报警人项目、报警人电话、案发地址等信息
②实体对齐
一样的实体在不同的案情中会有不同的表述,会给串并带来困难。可针对地址、人名、组织名进行对齐处理。
③文本聚类
对于关键片段类信息,无法像实体那样对齐,需要借助文本聚类技术进行关联。
④构建图谱
将信息抽取结果存入图谱。每个警情id对应一个节点,实体、属性、关键片段作为节点,对齐的实体、同一类的文本存为同一个节点。
除了来自于从警情中抽取的信息,还不错将其他警务系统中存在的结构化数据导入(如来自户籍信息的人物关系),从而丰富图谱。
⑤图谱检索
完成以上工作,即完成了案件串并的必要基础建设,接着下面通过图谱的查询功能自动完成案件的串并。first of all需要设定串并的条件,案件串并的条件在警务实战中已有许多的积累,如“具有相似的作案手段”,又如“相似作案手段,嫌疑人有共同联系人”,仅需要将这几个条件用图谱查询语言表达出来。
二:情感感情剖析之TF-IDF算法
mini。eastday/bdmip/1804142二十四336264、html
在这篇文章中,主要介绍的内容有:
1。将单词转换为特征向量
2。TF-IDF计算单词关联度
文本的预处理和分词。
怎样将单词等分类数据转成为数值格式,以方便我们后面使用机器学习来训练模型。
1。将单词转换为特征向量
词袋模型(bag-of-words model):将文本以数值特征向量的形式来预示。主要通过两个步骤来实现词袋模型:
1。为整个文档集(蕴含了很多的文档)上的每个单词创建一个唯一的标记。
2。为每个文档构建一个特征向量,主要蕴含每个单词在文档上的出现次数。
注意和提防:因为每个文档中出现的单词数量只是整个文档集中很少的一部分,从而会有许多的单词没有出现过,就会被标记为0。因 此,特征向量中大都的元素就会为0,就会产生稀疏矩阵。
下面通过sklearn的CountVectorizer来实现一个词袋模型,将文档转换成为特征向量
通过count。vocabulary_俺们是可以看出每个单词所相应的索引位置,每一个句子都是由一个6维的特点向量所组成。其中,第1列的索引为0,对应单词"and","and"在第1和二条句子中没有出现过,因此为0,在第3条句子中出现过一些,因此为一、特征向量中的值也被叫作原始词频(raw term frequency)简写为tf(t,d),预示在文档d中词汇t的出现次数。
注意和提防:在上面词袋模型中,我们是使用单个的单词来构建词向量,如此的序列被叫作1元组(1-gram)或单元组(unigram)模型。除了一元组以外,我们还不错构建n元组(n-gram)。n元组模型中的n取值与特别规定的应用场景有关,如在反垃圾邮件中,n的值为3或4的n元组可以求得相对较好的作用。下面举例说明一下n元组,如在"the weather is sweet"此句话中,
1元组:"the"、"weather"、"is"、"sweet"。
2元组:"the weather"、"weather is"、"is sweet"。
在sklearn中,可以设置CountVecorizer中的ngram_range参数来构建不同的n元组模型,默认ngram_range=(1,1)。
sklearn通过CountVecorizer构建2元组
2。TF-IDF计算单词关联度
在使用上面的方式方法来构建词向量的时刻也许会遇见一个问题:一个单词在不同类型的文档中都出现,这种类型的单词其实也就是说是不具备文档类型的区分能力。我们通过TF-IDF算法来构建词向量,从而来克服此问题。
词频-逆文档频率(TF-IDF,term frequency-inverse document frequency):tf-idf可以定义为词频×逆文档频率
其中tf(t,d)预示单词t在文档d中的出现次数,idf(t,d)为逆文档频率,计算公式如下
其中,nd预示文档的总数,df(t,d)预示蕴含单词t的文档d的数量。分母中加入常数1,是为了防止df(t,d)=0的情形,致使分母为0。取log的意图是保证当df(t,d)很小的时刻,不会致使idf(t,d)过大。
通过sklearn的TfidfTransformer和CountVectorizer来计算tf-idf
可以发现"is"(第2列)和"the"(第6列),它们在三个句子中都出现过,它们对于文档的分类所给出的信息并不会许多,因此它们的tf-idf的值相对来说都是还算小的。
注意和提防:sklearn中的TfidfTransformer的TF-IDF的计算与我们上面所定义TF-IDF的公式不全相同,sklearn的TF-IDF计算公式
通常来讲在计算TF-IDF之前,会对原始词频tf(t,d)做归一化处理,TfidfTransformer是直接对tf-idf做归一化。TfidfTransformer默认使用L2归一化,它通过与一个未归一化特征向量L2范数的比值,使得返回向量的长度为1,计算公式如下:
下面通过一个例子来说明sklearn中的TfidfTransformer的tf-idf的计算过程,以上面的第1句话"The sun is shining"为例子
1。计算原始词频
a、单词所相应的下标
b、计算第3句话的原始词频tf(t,d)
c、计算逆文档频率idf(t,d)
注意和提防:其他别的词在计算tf-idf都是0,由于原始词频为0,因此就不需要计算idf了,log是以自然数e为底。
d、计算tf-idf
因 此,第1个句子的tf-idf特征向量为[0,1,1、29,1、29,0,1,0]
e、tf-idf的L2归一化
三:Word文本中的文档部件里的域 打开之后并非一个方框,而是一个代码是怎么。。。
编者按
文本情感感情剖析是对带有主观感情色彩的文本进行剖析、处理、归纳和推理的过程。网络上每时每刻都会产生大量文本,这其中也蕴含大量的用户直接参加的、对人、事、物的主观评价信息,打比方说微博、论坛、汽车、购物评论等,这几个评论信息常常表达了人们的各式主观情绪,如喜、怒、哀、乐,以及情感感情倾向性,如褒义、贬义等。基于此,潜在的用户就能够通过浏览和剖析这几个主观色彩的评论来了解大众舆论对于某一事件或产品的观点。
百分点认知智能实验室基于前沿的自然语言处理技术和实际的算法落地实践,真真正正实现了整体精度高、定制能力强的企业级情感感情剖析架构。从单一模型到定制化模型演变、文本作用域优化、多模型(相关度)融合、灵活规则引擎、以及基于实体的感情倾向性判定,探索出了一套高精确准确、可定制、可干预的智能剖析框架,为舆情顾客提供了高效的预警研判服务。
本文作 者: 常全有 刘政
1。
情感感情剖析概述
文本情感感情剖析,即 Sentiment Analysis(SA),又称意见挖掘或情绪倾向性剖析。 针对通用场景下带有主观描述的中文文本,自动判断该文本的感情极性类别并给出对应的置信度,情感感情极性分为积极、消极、中性等。
在文本剖析的基础上,也衍生出了一系列细粒度的感情剖析任务,如:
基于方面的感情剖析(ABSA):一般称作 Aspect Based Sentiment Analysis。旨在识别一条句子中一个指定方面(Aspect)的感情极性。常见于电商评论上,一条评论中关系到关于价格、服务、售后等方面的评价,需要区分各自的感情倾向。
基于实体的感情倾向性判定(ATSA): 一般称作 Aspect-Term Sentiment Analysis。对于给定的感情实体,进行情感感情倾向性判定。在一句话中不同实体的感情倾向性也是不一样的,需要区别对待。
80%是采用[mask],my dog is hairy → my dog is [MASK]
10%是随机取一个词来代替mask的词,my dog is hairy -> my dog is apple
10%保持不变,my dog is hairy -> my dog is hairy
Token Embeddings:是词向量,第1个单词是CLS标志,可以 使用于后来的分类任务。
Segment Embeddings:用以区别两种句子,由于预训练不光做LM还要做以两个句子为输入的分类任务。
Position Embeddings:让BERT学习到输入的顺序属性。
ALBERT-xxlarge的表现完全超过BERT-large,同时参数量只有其占比的70%,不过Bert-large的速度要比ALBERT-xxlarge倍左右。
BERT-xlarge的性能相比于Bert-base是低效的,表明大参数模型相比于小参数模型更加难训练。
内存问题
训练时间会更长
模型退化
Attention feed-forward block(上图中蓝色实线区域):
参数大小: O(12 * L * H * H)
L:编码器层数 eg:12
H:隐藏层大小 eg:768
参数量占比:80%
优化方法:采用参数分享机制
Token embedding projection block(上图中红色实线区域):
参数大小:(V * E)
V:词表大小 eg:30000
E:词嵌入大小 eg:768
参数量占比: 20%
优化方法:对Embedding进行因式分解
标题:正常文章的标题
全文: 标题和正文的统称
情感感情摘要:根据顾客的输入特征词,从文章中抽取一段摘要;长度在256字符内。
关键词周边:只关注所配置关键词身边的文本作用域,通常是一句话。
主体(实体)词周边:根据顾客所配置的品牌词、主体词,选取相应的文本作用域。
自然语义:是指符合人们的感情判定标准,像 色情、暴力、违禁、、反动等言论都是敏感信息的范围。打比方说:"#28天断食减肥[超话]#美柚说我还有4天就来姨妈了,所以是快要来姨妈了体重就掉的慢甚至不掉了吗,心塞。" 属于敏感。
主体(实体)情感感情:一般关系到的是 人名、地名、机构名、团体名、产品名、品牌名、”我“、”作者“等; 假如监测主体为美柚,那么上述文本的感情倾向性就是非敏感。再举例如下:”墨迹天气又忘记签到了,这个记性愈来愈差“,墨迹天气是监测主体,那么属于非敏感。
业务规则: 是指以一种可预示、可量化、可汇总、可表达的形式汇总知识和规则,业已不符合自然语义的理解领域。
业务规则&自然语义:顾客的负面信息判定是结合业务规则,而且是符合自然语义判定标准的。
顾客数目:10
数据分布:从舆情系统中依照自然日,为每个顾客选取100条测试数据
对比条件:情感感情摘要、标题
通用情感感情模型
相关度模型
实体识别和信息抽取问题
实体级别的感情倾向性判定
Chi Sun, Luyao Huang, Xipeng Qiu: Utilizing BERT for Aspect-Based Sentiment Analysis via Constructing Auxiliary Sentence。 NAACL-HLT (1) 20二十四: 380-385
Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding。 NAACL-HLT (1) 20二十四: 4171-4186
Yifan Qiao, Chenyan Xiong, Zheng-Hao Liu, Zhiyuan Liu: Understanding the Behaviors of BERT in Ranking。 arXiv preprint arXiv:1904、07531 (20二十四)。
Zhenzhong Lan, Mingda Chen, Sebastian Goodman, Kevin Gimpel, Piyush Sharma, Radu Soricut:ALBERT: A Lite BERT for Self-supervised Learning of Language Representations。arXiv:1909、11942 [cs。CL]
Ashish Vaswani, 非也am Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N。 Gomez, Lukasz Kaiser, Illia Polosukhin:Attention Is All You Need。arXiv:1706、03762 [cs。CL]
Linyuan Gong, Di He, Zhuohan Li, Tao Qin, Liwei Wang, Tieyan Liu ; Proceedings of the 36th International Conference on Machine Learning, PMLR 97:2337-2346, 20二十四:Efficient Training of BERT by Progressively Stacking
https://github/thunlp/PLMpapers
jalammar。github。io/illustrated-bert/
https://www。bilibili/video/BV1C7411c7Ag?p=4
核心目标和价值
舆情系统的最核心需求,是能够精确准确及时的为顾客甄别和推送负面,负面识别的准确性直接作用与影响信息推送和顾客体验,其中基于文本的感情剖析在舆情剖析中的重要程度不用多说,下图简要展示了文本剖析以及情感感情剖析在舆情体系中的效果。
舆情数据通过底层的大数据采集系统,流入中间层的 ETL 数据处理平台,经过初级的数据处理转化之后,向上进入数据挖掘核心处理环节;此阶段进行数据标准化、文本深度剖析,如地域识别、智能分词、情感感情判定、垃圾过滤等,经过文本处理的最终,即脱离了原始数据的状态,具备了顾客属性,基于顾客定制的监测和预警规则,信息将在下一阶段实时的推送给终端顾客,负面判定的准确度、召回率,直接作用与影响顾客的服务体验和服务认可度。
难点与挑战
舆情业务中的感情剖析难点,主要展现在以下几个方面:
1、舆情的顾客群体是复杂多样的,涉及行业多达二十四个(如下图所示),不同行业数据特点或敏感判定方案不完全一样,靠一个模型难以解决所有问题;
2、舆情监测的数据类型繁多, 既有常规的新闻、电话悟 真 网012 14944。net等媒体文章数据,又有偏口语化的微博、贴吧、问答数据,情感感情模型常常需要针对不同渠道类型独立训练优化,而渠道粒度的模型在不同顾客上效果表现也差异巨大;
3、顾客对情感感情的诉求是有差别的,一些客户会有自己专属的判定条件。通用的感情模型难以适应所有顾客的感情需求。
4、随着时间推移,顾客积累和修正的感情数据难以发挥价值。无法实现模型增量训练和性能的迭代提高。
5、对于关注品牌、主体监测顾客,需要进行特定目标(实体)情感感情倾向性(ATSA)判定。那么信息抽取就是一个难题。
6、对于新闻类数据,通常来讲存在标题和正文两个文本域。怎样提取有价值的文本信息作为模型输入也是面临的困难。
2。
情感感情剖析在百分点舆情的发展历程
从20二十四年开始,百分点舆情便开始将机器学习模型应用在早期的负面判定中;到20二十四年,我们经过努力已经将深度迁移学习场景化和规模化,也取得了挺好的成果;
20二十四年:抓取百万级别的口碑电商评论数据,使用逻辑回归进行建模,做为情感感情剖析的BaseLine;
20二十四年:主要侧重于技术上的递进,进入深度学习范畴。引入word2vec在大规模语料集上进行训练,获得具有更佳语义信息的词向量预示,替代基于Tfidf等守旧的统计特征。随后在TextCnn、TextRnn等深度学习算法进行更新迭代,尽管得到数字指标的提高,不过对于实际业务的帮忙还是不足。
20二十四年:结合舆情全业务特点,需要能做到针对品牌、主体的感情监测。提出 Syntax and Ruler-based Doc sentiment analysis的方式,根据可扩充的句法规则以及敏感词库进行特别规定的剖析。该方式在敏感精确准确度指标上是有提升的,不过却有较低的召回。同时在进行规则扩充时,也比较繁琐。
20二十四年上半年:以Bert为代表的迁移学习诞生,并且能在下游进行fine-tune,使用较小的训练数据集,便能获取挺好的成绩。进行以舆情业务数据为基础,构建一个简易的文本平台标注平台,在其上进行训练数据的标注,构建了一个通用的感情模型分类器。评测指标 F1值为 0。87,后续对 ERNIE1、0 进行try,有两个百分点的提升。
20二十四年下半年:主要从舆情的业务问题入手,通过优化提取更加精确准确、贴近业务的感情摘要作为模型输入,使用定制化模型以及多模型融合方案,联合对数据进行情感感情打标。并提出基于情感感情实体(主体)的负面信息监测,下述统称ATSA(aspect-term sentiment analysis),使用 Bert-Sentence Pair 的训练方式, 将 摘要文本、实体联合输入,进行实体的感情倾向性判定。在定点顾客上取得挺好的成绩,最终的F1值能达到 0。9五、
20二十四年:将细化范畴做到顾客级别,定制私有化情感感情模型。同时将增大对特定实体的细粒度情感感情剖析(ATSA)的优化;并 且,通过内部 AI训练平台的规模化应用,做到模型的全生命周期管理,简化操作程序,加强对底层算力平台的资源管控。
3。
预训练语言模型与技术解析
下图大体概括了语言模型的发展状况(未完全统计):
在20二十四年度情感感情剖析实践中,率先使用预训练语言模型 Bert,提高了情感感情剖析的准确率。后来具有更小参数量的ALBERT的提出,使生产环境定制化情感感情模型成为可能。这里就主要介绍BERT以及ALBERT。
BERT
BERT(Bidirectional Encoder Representations from Transformerss)的全称是基于 Transformer 的双向编码器表征,其中「双向」预示模型在处理某一个词时,它能同时利用前面的词和后面的词两部分信息(如下图所示)。
在BERT中, 着重是以两种预训练的方式来建立语言模型。
1、MLM(Masked LM)
MLM可以理解为完形填空,作者会随机mask每一个句子中15%的词,以其上下文来做预测推算,比如:my dog is hairy → my dog is [MASK]。此处将hairy进行了mask处理,紧接着采用非监督学习的方式方法预测推算mask位置的词是什么,具体处理如下:
之后让模型预测推算和还原被遮盖掉或替换掉的部分。
2、NSP(Next Sentence Prediction)
first of all我们拿到属于上下文的一对句子,亦即两个句子,之后我们要在这两段连续的句子里面加一部分特殊 token: [cls] 上一句话,[sep] 下一句话。 [sep]
亦即在句子开头加一个 [cls],在两句话之中和句末加 [sep],具体地就好像下图一样:
BERT在文本摘要、信息检索、数据增强、阅读理解等任务中,亦有实际的应用和发展。更加的多关于Bert相关介绍,请参照百分点认知智能实验室往期文章。
ALBERT
ALBERT的全称是A Lite BERT for Self-supervised Learning of Language Representations(用于语言表征自监督学习的轻量级BERT),相比于Bert来讲,在保证参数量小的情形下,也能保持较高的性能。当然同样的模型还有 DistilBERT、TinyBERT。
1、ALBERT 和BERT的比较
下图是BERT和ALBERT在训练速度和性能上的整体比较:
2、ALBERT的目标
在基于预训练语言模型表征时,增添模型大小一般能够提升模型在下游任务中的性能。不过通过增添模型大小会带来以下问题:
在将Bert-large的隐层单元数增添一倍, Bert-xlarge在基准测试上准确率显著降低。
ALBERT核心目标就是解决上述问题, 接下来就来介绍ALBERT在精简参上的优化。
3、ALBERT模型优化
明确参数的分布,对于有效可靠的减少模型参数十分有用处。ALBERT同样也只使用到Transformer的Encoder阶段,如下图所示:
图中标明的蓝色方框和红色方框为主要的参数分布区域:
>E,所以ALBERT的词向量的维度是小于encoder输出值维度的。在NLP任务中,通常来讲词典都会很大,embedding matrix的大小是E×V。\n ALBERT采用了一种因式分解(Factorized embedding parameterization)的方式方法来降低参数量。first of all把one-hot向量映射到一个低维度的空间,大小为E,紧接着再映射到一个高维度的空间,当E<
具体参数优化如下:
Factorized embedding parameterization(对Embedding因式分解)
ALBERT认为,token embedding是没有上下文依赖的表述,而隐藏层的输出值不但包括了词本身之义还包括一些上下文信息,因此应该让H>>E,所以ALBERT的词向量的维度是小于encoder输出值维度的。在NLP任务中,通常来讲词典都会很大,embedding matrix的大小是E×V。
ALBERT采用了一种因式分解(Factorized embedding parameterization)的方式方法来降低参数量。first of all把one-hot向量映射到一个低维度的空间,大小为E,紧接着再映射到一个高维度的空间,当E<
可以看见,经过因式分解。参数量从O(V * H) 变为O(V*E + E*H),参数量将极大减小。如下图所示:在H=768条件下,对比E=128和E=768,参数量减少17%,而整体性能下降0。6%。
在后续的实验环境(所有的优化总结后),对 embedding size 的大小进行评估,总结出在 E=128时,性能达到最佳。
Cross-layer parameter sharing(跨层参数分享)
下图是对BERT-Base Attention分布的可视化。对于一个随机选择的句子,我们可视化来自不同Layer的Head的Attention分布。可以看见,底层的Attention分布类似于顶层的Attention分布。这一事实表明在一定程度上,它们的功能是相似的。
Transformerzhong gong享参数有多种方案,只分享feed-forward层,只分享attention层,ALBERT结合了上述两种方案,feed-forward层与attention层都实现参数分享,总之分享encoder内的所有参数。不过需要主要的是,这只是减少了参数量,推理时间其实没有减少。如下图所示:在采用 all-shared模式下,参数量减少70%,性能下降小于3%。
在经过上述的参数优化后,整体参数量有了非常大的缩减,训练速度也极大加快。后续作者又在模型变宽和模型变深上做了几组实验。如下:
模型变宽
当我们增添 H 大小时,性能会慢慢提高。在H=6144时,性能明显下降。如下图所示:
模型变深
在以ALBERT-large为基础参数,设置不同的layer大小,发现layer=48的性能要差于layer=二十四的性能,如下图所示:
一些实验预示NSP(BERT-style)非但没有作用,相反的会对模型带来一些损害。作者接着提出SOP(ALBERT-style)的优化模式。具体如下:
Inter-sentence coherence loss(句子连贯性)
在ALBERT中,为了去除主题识别的作用与影响,提出了一个新的任务 sentence-order prediction(SOP),SOP的正样本和NSP的获取方式是相同的,负样本把正样本的顺序反转即可。SOP由于是在同一个文档中选的,只关注句子的顺序其实没有主题方面的作用与影响。并且SOP能解决NSP的任务,不过NSP并不能解决SOP的任务,该任务的添加给最后的结果提升了一个点。
在后续的实验中, ALBERT在训练了100w步之后,模型依旧没有过拟合,于是乎作者果断移除了dropout,不料对下游任务的作用居然有一定的提升。
当然作者对于增添训练数据和训练时长也做了详尽的对比和测试,这里不再进行描述。
在最初的 ALBERT发布时,是只有中文的。感谢数据设计师徐亮以及所在的团队,于 20二十四 年 10 月,开源了首个中文预训练的中文版 ALBERT 模型。
项目地址:
https://github/brightmart/albert_zh
4。
情感感情剖析在舆情的应用实践
业务调研
20二十四上半年,舆情服务的整体情感感情判定框架已经迁移到以Bert训练为基础的感情模型上,总结出的测试指标 F1 值为 0。86,相较于旧版模型提升显著; 不过固然数据指标提升明显,业务端实际感受却并不明显。所以我们对表现性顾客进行采样调查,辅助我们找出生产指标和实验室指标差别所在。同时针对上文提到的关于舆情业务中情感感情剖析的痛点和难点,进行一次深度业务调研:
1、顾客情感感情满意度调查
2、文本作用域(模型输入文本选择)调研
这里将文本作用域分为以下几个层次,分布情况如下图所示:
3、情感感情判定因素
这里对判定因素做以下介绍:
我们针对上述调研结果进行详尽剖析,最终确定走情感感情细粒度模型的道路。
情感感情剖析的落地实践
精简版本的感情架构概览如下:
接着下面会基于此进行讲述,大体分为如下几个层次:
1、输入层
这里着重是获取相应文本输入,以及顾客的文本作用域规则和检索词、主体词,供下游的文本作用域生成提供相应的条件。
2、文本作用域
根据文本作用域规则,生成相应的模型输入,请参照上文对文本作用域的阐述。这里实验内容针对的是情感感情摘要。first of all将文本进行分句,紧接着根据对每一个句子和检索词进行匹配,通过BM25计算相关性。这里限制的文本长度在256内。在文本域优化后, 对线上的10家顾客进行对比剖析,实验条件如下:
进行对比剖析(顾客名称已脱敏),每个顾客的感情摘要和文本标题效果依次展示。如下图所示:
可以发现整体效果是有极大提升的。不过也可以看见部分顾客的敏感精确准确率是偏低的,这个和顾客的敏感分布有关,多数的敏感占比只有总数据量的 10% ~20%,有些甚至更加低。所以面临一个新的问题,怎样提升非均匀分布的敏感精确准确度。这个会在下文进行陈述。
3、情感感情判定因素
由上文的感情因素分布得知, 情感感情对象(实体)的因素占54%,基于实体的感情倾向性判定(ATSA)是一个普适需求。假如这里直接使用通用情感感情剖析判定(SA),在舆情的使用场景中会存在高召回,低精确准确的的情形。接着下面会对此进行相关处理方案的的论述。
4、模型层
在19年初, 使用Bert-Base(12L,768H)进行fine-tune,得到如下指标:情感感情准确性:0。866, 敏感精确准确率: 0。88,敏感召回:0。84,F1: 0。867;后来在ERNIE1、0上进行try,情感感情准确性能提升2个百分点。但是由于PaddlePaddle的生态问题,没有选择ERNIE。这是一个符合自然语义的感情模型, 不过对于舆情顾客来说,这还远远不够。
对生产环境的埋点日志剖析,发现顾客存在大量的屏蔽操作。选取近一个月屏蔽最多的10个话题进行剖析,如下图所示:
通过调研和剖析发现,这几个数据固然命里关键词,不过数据相关度有些低。在情感感情判定之前引入相关度判定, 对于非有关的数据,一律判定为非敏感。对于精确准确数据再次进行情感感情剖析判定,飞速增加敏感精确准确率。在工程上选取ALBERT进行模型训练可以达到部署多个模型的意图。观测到,单个模型在推理阶段,在Gpu(RTX 2080)上占用的显存大概在600MiB,极大节省资源。
部分顾客相关度模型效果如下:
顾客名称
准确率
正样本数量
负样本数量
数据来源
C1
0。95
619
1141
收藏、屏蔽数据
C2
0。97
5085
5二十四4
收藏、屏蔽数据
C3
0。93
450
450
收藏、屏蔽数据
C4
0。94
136
487
收藏、屏蔽数据
部分顾客实施相关度判定,因为数据特征比较明显,可以比较容易达到比较精确准确的数据效果,不过并不适合使用于所有顾客。相关度模型的引入,即达到筛选相关数据的意图,也能减少情感感情判定噪音数据的干扰,提升敏感精确准确度。
5、ATSA-面向情感感情实体的感情倾向性剖析
ATSA(aspect-term sentiment analysis) 要解决就是在特定情感感情实体下的感情倾向性判定问题。这里主要借鉴《Utilizing BERT for Aspect-Based Sentiment Analysis via Constructing Auxiliary Sentence》文中的思想。这份工作做得特别聪明,它把本来情感感情计算的常规的单句分类问题,通过加入辅助句子,改造成了句子对匹配任务。许多实验印证了:BERT是非常适合做句子对匹配类的工作的,因此这种转换无疑能更充分地发挥BERT的应用优势。
舆情中要解决的问题如下:
A公司和B公司的感情倾向性是非敏感的, 而C公司却是敏感的。要解决此问题,要面临两个问题:
在舆情的业务场景中,可以简化问题,因为情感感情实体是提前给定的, 所以不需要做实体识别和信息抽取, 仅需要对特定实体的感情倾向性进行判定。整体程序如下:
着重是利用 Bert Sentence-Pair,文本与实体联合训练,得到输出标签。目前实验证明,经过这种问题转换,在保证召回率提升的情形下,准确率和精确准确率都获得了提高。选择一个顾客进行对比测试,如下所示:
实验条件
实验方式
准确率
精确准确率
召回率
F1
依照自然日采样,测试样本为912条,其中敏感数据108条
ATSA
0。95
0。8
0。85
0。82
情感感情摘要
0。84
0。4
0。7
0。51
上述是一个正负样本及其不均衡的情形,增添敏感精确准确率将提高顾客的满意度。当前的实现的机制还略显简单,未来还将持续投入。
6、情感感情规则引擎
在部分顾客场景中, 他们的业务规那么是明确的或者是可穷举的。这里会做一些长尾词挖掘、情感感情新词发现等工作来进行辅助, 同时要支持实时的干预机制,快速响应。打比方说某些顾客的官方微博经常会发许多微博,他们会要求都判定成非敏感。这里不再做过多介绍。
5。
长期规划
AI 训练平台的构建
软件开发范畴和模型开发范畴的程序是不一样的,如下所示:
可以看见,构建模型是困难的。在舆情架构发展中,线上多模型是必然的趋势,也就象征着需要一个平台能够快速支持和构建一个定制化模型,来满足真实的应用场景。还得需要从底层的算力资源进行管控、舆情数据的标准化制定和积累、模型的生命周期管理等多方面进行衡量。关于 AI 训练平台的构建以及在舆情范畴的应用实践,我们将在后续文章做进一步阐述。
持续学习,增量迭代
随着舆情顾客对系统的深度使用,一般会有情感感情标签的人工纠正。所以需要保证模型可以进行增量迭代,减少顾客的负反馈。
多实体的感情倾向剖析
对蕴含有多个实体信息的文本,针对每一个系统识别到的实体,做自动情感感情倾向性判断(敏感、非敏感),并给出对应的置信度,包括实体库的构建。
提升垂直类情感感情情感感情剖析效果
在垂类上(App、餐饮、酒店等)情感感情倾向性剖析准确率上增大优化力度。
随着舆情业务的发展,各范畴顾客都沉淀了大量与业务贴近的优质数据,怎样有效使用这几个数据,形成情感感情效果联动反馈机制,为业务赋能,是情感感情剖析范畴面临的新的挑战。在20二十四年的实践中,通过场景化的感情剖析框架落地应用,对情感感情效果做到了模型定制化干预,真真正正提高了顾客满意度。这种机制具有整体精度高、定制能力强、业务感知明显的特征。在后续打工时,将以 模型训练自动化与人工反馈相结合的方式,将模型定制能力规模化、平台化,实现情感感情剖析在舆情场景下千人千面的作用。
百分点舆情觉察系统
百分点舆情觉察系统(MediaForce)是一款沉淀多年的网络公开舆情 SAAS 剖析系统,覆盖全网主流资讯站点及社交媒体的公开数据,帮助企业迅速发现舆情热点,掌握负面和舆论动向,为上万顾客提供精确准确的舆情剖析服务。
Refer:
四:人工智能技术应用:情感感情剖析概述
和其它的人工智能技术相比,情感感情剖析(Sentiment Analysis)显得有些特殊,由于其他别的范畴都是依据客观的数据来进行剖析和预测推算,但情感感情剖析则带有强烈的个人主观因素。情感感情剖析的目标是从文本中剖析出人们对于实体及其属性所表达的感情倾向以及看法,这项技术最早的研究始于2003年Nasukawa和Yi两位学者的关于商品评论的论文。
随着推特等社交媒体以及电商平台的发展而产生大量带有看法的内容,给情感感情剖析提供了需要的数据基础。时到现在日,情感感情识别已经在多个范畴被普遍的应用。例如在商品零售范畴,用户的评价对于零售商和生产商都是很重要的反馈信息,经过对海量用户的评价进行情感感情剖析,可以量化用户对产品及其竞品的褒贬程度,从而了解用户对于产品的诉求以及自己产品与竞品的对比优劣。在社会舆情范畴,通过剖析大众对于社会热点事件的点评可有效的掌握舆论的走向。在企业舆情方面,利用情感感情剖析可以快速了解社会对企业的评价,为企业的战略规划提供决策根据,提升企业在市场中的竞争角逐力。在金融交易范畴,剖析交易者对于gupiao及其他金融衍生品的态度,为行情交易提供辅助根据。
目前,绝大都的人工智能开放平台都具备情感感情剖析的能力,如图所示是玻森中文语义开放平台的感情剖析功能演示,可以看出除了通用范畴的感情剖析外,还有汽车、厨具、餐饮、新闻和微博几个特定范畴的剖析。
那么到底何谓情感感情剖析呢?从自然语言处理技术的角度来看,情感感情剖析的任务是从评论的文本中提取出评论的实体,以及评论者对该实体所表达的感情倾向,自然语言所有的核心技术问题,比如:词汇语义,指代消解,此役小气,信息抽取,语义剖析等都会在情感感情剖析中用到。于是,情感感情剖析被看作是一个自然语言处理的子任务,俺们是可以将人们对于某个实体目标的感情统一用一个五元组的格式来预示:(e,a,s,h,t)
以图为例,e是指某餐厅,a为该餐厅的性价比属性,s是对该餐厅的性价比预示了褒义的评价,h为发表评论者本人,t是19年7月27日。因此这条评论的感情剖析可以预示为五元组(某餐厅,性价比,正向褒义,评论者,19年7月27日)。
情感感情剖析依据处理文本颗粒度的区别,大体可以分为三个级别的任务,分别为篇章级、句子级和属性级。我们分别来看一下。
1、 篇章级情感感情剖析
篇章级情感感情剖析的目标是判断整篇文档表达的是褒义还是贬义的感情,例如一篇书评,或者对某一个热点时事新闻发表的评论,只要待剖析的文本超经过一句话的范围,即可看成是是篇章级的感情剖析。
对于篇章级的感情剖析来讲有一个前提假设,那么这样就是全篇章所表达的看法仅针对一个独立的实体e,且只蕴含一个看法持有者h的看法。这种做法将整个文档看成是一个整体,不对篇章中蕴含的具体实体和实体属性进行研究,使得篇章级的感情剖析在现实操作中比较局限,无法对一段文本中的多个实体进行独立剖析,对于文本中多个看法持有者的看法也无法辨别。
例如评价的文本是:“我认为这款手机很棒。”评价者表达的是对手机整体的褒义评价,但假如是:“我认为这款手机拍照功能很不错,但信号不是很好”如此的句子,在同一个评论中显现了褒义词又显现了贬义词,篇章级的剖析是无法分辨出来的,只能把它作为一个整体进行剖析。
但是好在有许多的场景是不需要区分看法评价的实体和看法持有者,例如在商品评论的感情剖析中,可以默认评论的对象是被评论的商品,评论的看法持有者也是评论者本人。诚然,这个也需要看被评论的商品具体是哪些东西,假如是亲子旅游如此的旅游服务,那么评论中就很有可能蕴含一个以上的看法持有者。
在实际打工时,篇章级的感情剖析无法满足大家对于评价更细致,假如需要对评论进行更精确,更细致的剖析,大家需要拆分篇章中的每一句话,这便是句子级的感情剖析钻石的问题。
2、 句子级情感感情剖析
与篇章级的感情剖析类似,句子级的感情剖析任务是判断一个句子表达的是褒义还是贬义的感情,固然颗粒度到了句子层级,不过句子级剖析与篇章级存在同样的前提假设是,那么这样就是一个句子只表达了一个看法和一种情感感情,并且仅有一个看法持有人。假如一个句子中蕴含了两种以上的评价或多个看法持有人的看法,句子级的剖析是无法分辨的。好从实际生活之中,绝大都的句子都只表达了一种情感感情。
既然句子级的感情剖析在有限性上与篇章级是相同的,那么进行句子级的感情剖析意义何在呢?关于此问题,需要先解释一下语言学上主观句与客观句的分别。在我们日常用语当中,依据语句中是否带有说话人的主观情感感情可以将句子分为主观句和客观句,比如:“我喜欢这款新手机。”就是一个主观句,表达了说话人内心的感情或看法,而:“这个APP昨天更新了新功能。”那么是一个客观句,陈述的是一个客观事实性信息,并不蕴含说话人内心的主观情感感情。通过分辨一个句子是否是主观句,可以帮助我们过滤掉一部分不含情感感情的句子,让数据处理更有效率。
不过在实操过程中,我们会发现如此的分类方法好像并不是非常准确,由于一个主观句也或许没有表达任何的感情信息,知识表达了期望或者猜测,比如:“我认为他此刻已经在回家的路上了。”此句话是一个主观句,表达了说话人的猜测,不过其实没有表达出任何的感情。而客观句亦有可能蕴含情感感情信息,表明说话者并不希望这个事实发生,比如:“昨天刚买的新车就被人刮花了。”此句话是一个客观句,但结合常识我们会发现,此句话中其实也就是说是蕴含了说话人的负面情感感情。
因 此,仅仅对句子进行主客观的分类还不足以达到对数据进行过滤的要求,大家需要的是对句子是否含有情感感情信息进行分类,假如一个句子直接表达或隐含了情感感情信息,则认为这个句子是含有情感感情看法的,对于不含情感感情看法的句子那么可以进行过滤。目前对于句子是否含有情感感情信息的分类技术通常都是采用有监督的学习算法,这一个方法需要大量的人工标注数据,基于句子特征来对句子进行分类。
也就是说,俺们是可以将句子级的感情剖析分成两步,第1步是判断待剖析的句子是否含有看法信息,第2步那么是针对这几个含有看法信息的句子进行情感感情剖析,发现其中情感感情的倾向性,判断是褒义还是贬义。关于剖析情感感情倾向性的方式方法与篇章级类似,仍然是可以采用监督学习或依据情感感情词词典的方式方法来处理,我们会在后续的小节详细讲解。
句子级的感情剖析相较于篇章级来讲,颗粒度更加细分,不过同样只能判断整体的感情,忽视了对于被评价实体的属性。同时它也无法判断比较型的感情看法,比如:“A产品的用户体验比B产品好多了。”对于这样一句话中表达了多个情感感情的句子,我们不能将其简单容易的归类为褒义或贬义的感情,而是需要更进一步的细化颗粒度,对评价实体的属性进行抽取,并且将属性与相关实体之间进行关联,这便是属性级情感感情剖析。
3、 属性级情感感情剖析
上文介绍的篇章级和句子级的感情剖析,都无法确切的知道评价者喜欢和不心爱的具体是哪些东西,并且也无法区分对某一个被评价实体的A属性持褒义倾向,对B属性却持贬义倾向的情形。但在实际的语言表达中,一个句子中可能蕴含了多个不同情感感情倾向的看法,比如:“我喜欢这家餐厅的装饰特色,但菜的味道却非常的一般。”类似于如此的句子,非常难通过篇章级和句子级的感情剖析获悉到对象的属性层面。
为了在句子级剖析的基础上更加细化,大家需要从文本中发现或抽取评价的对象主体信息,并依据文本的上下文判断评价者针对每一个属性所表达的是褒义还是贬义的感情,这种就叫作属性级的感情剖析。属性级的感情剖析关注的是被评价实体及其属性,包括评价者以及评价时间,目标是挖掘与发现评论在实体及其属性上的看法信息,使之可以生成有关目标实体及其属性完整的五元组看法摘要。具体到技术层面来看,属性级的感情剖析可以分为以下6个步骤:
关于文本中的实体抽取和指代消解问题,我们经过努力已经在知识图谱的相关章节中做了介绍,这里就不再赘述。针对篇章级、句子级、属性级这3种类型的感情剖析任务,人们做了大量的研究并提出了许多分类的方式方法,这类办法大体可以分为基于词典和基于机器学习两种,接下来由我们进行详细的讲解。
做情感感情剖析离不开情感感情词,情感感情词是承载情感感情信息最根本的单元,除了根本的词之外,一些蕴含了情感感情含义的短语和成语我们也将其统一叫作情感感情词。基于情感感情词典的感情剖析方法,着重是基于一个蕴含了已标注的感情词和短语的词典,在这个词典中包括了情感感情词的感情倾向以及情感感情强度,一般将褒义的感情标注为正数,贬义的感情标注为负数。
具体的步骤如图所示,first of all将待剖析的文本先进行分词,并对分词后的结果做去除停用词和无用词等文本数据的预处理。紧接着将分词的结果与情感感情词典中的词进行匹配,并依据词典标注的感情分对文本进行加法计算,最后的计算结果假如为正那么是褒义情感感情,假如为负那么是贬义情感感情,假如为0或情感感情倾向不明显的得分则为中性情感感情或无情感感情。
情感感情词典是整个剖析程序的核心,情感感情词标注数据的好赖直接决定了情感感情分类的最终,在这一方面可以直接采用已有的开源情感感情词典,例如BosonNLP基于微博、新闻、论坛等数据来源构建的感情词典,知网(Hownet)情感感情词典,大学简体中文情感感情极性词典(NTSUSD),snownlp框架的词典等,同样也可以使用哈工大整理的近义词词林拓展词典作为辅助,通过这个词典能找到情感感情词的近义词,拓展情感感情词典的范畴。
诚然,我们也可以依据业务的需要来自己训练情感感情词典,目前主流的感情词词典有三种构建方法:人工方法、基于字典的方式方法和基于语料库的方式方法。对于情感感情词的感情赋值,最简单容易的方法是将所有的褒义情感感情词赋值为+1,贬义的感情词赋值为-1,最后进行相加总结出情感感情剖析的结果。
不过这种赋值方式显然不符合实际的需求,在实际的语言表达中,存在着很多很多的表达方式能够改变情感感情的强度,最典型的就是程度副词。程度副词分为两种,一种是可来增强情感感情词原本的感情,这种叫作情感感情加强词,例如“很好”相较于“好”的感情程度会更强烈,“特别好”又比“很好”更强。另外一种是情感感情减弱词,例如“没那么好”固然也是褒义倾向,但情感感情强度相较于“好”会弱许多。假如显现了增强词,则需要在原来的赋值基础上增添情感感情得分,假如显现了减弱词则需要减少对应的情感感情得分。
另一种需须留意的情形是否定词,否定词的出现一般会改变情感感情词原本的感情倾向,变为相反的感情,例如“不好”就是在“好”前面加上了否定词“不”,使之成为了贬义词。早期的研究会将否定词搭配的感情词直接取相反数,即假如“好”的感情倾向是+1,那么“不好”的感情倾向就是-一、不过这种简单粗暴的规则无法对应上真实的表达情感感情,例如“太好”是一个比“好”褒义倾向更强的词,假如“好”的值为+1,那么“太好”可以赋值为+3,加上否定词的“不太好”变成-3则显然有点过于贬义了,将其赋值为-1或者-0。5可能更合适。
基于这样的状况,俺们是可以对否定词也添加上程度的赋值而不是简单容易的取相反数,对于表达强烈否定的词例如“不那么”赋值为±4,当遇见与褒义词的组合时褒义词则取负数,与贬义词的组合则取正数,例如贬义词“难听”的赋值是-3,加上否定词变成“不那么难听”的感情得分就会是(-3+4=1)。
第3种需须留意的情形是条件词,假如一个条件词出此刻句子中,则这个句子非常可能不太适宜用以做情感感情剖析,例如“假如我明天可以去旅行,那么俺必须则非常开心。”,在此句话中有明显的褒义情感感情词,不过由于存在条件词“假如”,使得这个句子的其实没有表达看法持有者的真实情感感情,而是一种假设。
除了条件句之外,还有一种语言表达也是需要在数据预处理阶段进行排除的,那么这样就是疑问句。例如“这个餐厅真的有你说的那么好吗?”,固然句子中显现了很强烈的褒义情感感情词“那么好”,但依然不能将它分类为褒义句。疑问句通常来讲会有固定的结尾词,例如“……吗?”或者“……么?”,不过也有的疑问句会省略掉结尾词,直接使用标点符号“?”,例如“你今日是不是不开心?”,这个句子中含有否定词和褒义词组成的“不开心”,但不能将其分类为贬义情感感情。
最后一种需须留意的情形是转折词,典型词是“不过”,出此刻转折词之前的感情倾向通常来讲与转折词后来的情感感情倾向相反,比如:“我上次在这家酒店的住宿体验特别好,不过这次却使俺很失望。”在这个转折句中,转折词之前的“特别好”是一个非常强的褒义词,但真实的感情表达却是转折词后来的“很失望”,最终应该将其分类为贬义情感感情。诚然,也存在显现了转折词,但语句本身的感情其实没有发生改变的情形,例如“你这次考试比上次有了很大的进步,不过我认为你能够做得更佳”,此处的转折词没有转折含义,而是一种递进含义。在实际操作中,我们所以需要先判断转折句真实的感情表达究竟是哪个,才能进行正确的剖析计算。
构建情感感情词典是一件比较耗费人工的事情,除了上述需须留意的问题外,还存在精确准确度不高,新词和互联网用语难以快速收录进词典等问题。同时基于词典的剖析方法也存在许多的有限性,例如一个句子可能显现了情感感情词,但其实没有表达情感感情。或者一个句子不含任何情感感情词,但却包含了说话人的感情。以及部分情感感情词之寓意会随着上下文语境的变化而变化的问题,例如“精明”这个词可以作为褒义词夸奖他人,也可以作为贬义词批评他人。
尽管目前存在诸多问题,但基于字典的感情剖析方法亦有着不值得选取代的优势,那么这样就是这种剖析方法通用性较强,大都情况下无需特别的范畴数据标注就能够剖析文本所表达的感情,对于通用范畴的感情剖析可以把它作为首选的方案。
我们在机器学习算法的章节介绍过许多分类算法,例如逻辑回归、朴素贝叶斯、KNN等,这几个算法皆可以用于情感感情识别。具体的做法与机器学习一样需要分为两个步骤,第1步是依据训练数据构建算法模型,第2步是将测试数据输入到算法模型中输出相应的最终,接着下面做具体的讲解。
first of all,大家需要备上一些训练用的文本数据,并人工给这几个数据做好情感感情分类的标注,通常来讲的做法下,假如是褒义和贬义的两分类,则褒义标注为1,贬义标注为0,假如是褒义、贬义和中性三分类,则褒义标注为1,中性标注为0,贬义标注为-1、
在这一环节中假如用纯人工方法来进行标注,也许会由于个人主观因素对标注的结果造成一定作用与影响,为了避开人的因素带来的作用与影响,也为了提高标注的效率,有一些其他取巧的方式方法来对数据进行自动标注。打比方说在电商范畴中,商品的评论除了文本数据之外通常来讲还会带有一个5星的等级评分,俺们是可以依据用户的5星评分作为标注根据,假如是1-2星则标注为贬义,假如是3星标注为中性,4-5星标注为褒义。又打比方说在社区范畴中,许多社区会对帖子有赞和踩的功能,这一数据也可以作为情感感情标注的参考根据。
第2步是将标注好情感感情倾向的文本进行分词,并进行数据的预处理,前文已经对分词有了许多的介绍,这里就不再过多的赘述。第3步是从分词的结果中标注出具备情感感情特征的词,这里特不要说一下,假如是对情感感情进行分类,不妨参考情感感情词典进行标注,也可以采用TF-IDF算法自动抽取出文档的特点词进行标注。假如剖析的是某个特定范畴的,还need标注出特定范畴的词,例如做商品评价的感情剖析,需要标注出商品名称,品类名称,属性名称等。第4步依据分词统计词频构建词袋模型,形成特征词矩阵,如表所示。在这一步可以依据业务需要给每个特征词付与权重,并通过词频乘以权重得到特征词分数。最后一步就是依据分类算法,将特征词矩阵作为输入数据,得到最后的分类模型。
当训练好分类模型之后,就能够对测试集进行分类了,具体的程序与建模程序类似,先对测试的文本数据进行分词并做数据预处理,紧接着依据特征词矩阵抽取测试文本的特点词构建词袋矩阵,并且将词袋矩阵的词频数据作为输入数据代入之前训练好的模型进行分类,得到分类的结果。
采用基于机器学习的方式方法进行情感感情剖析有以下几个不到之处,第1是每一个应用范畴之间的语言描述差别致使了训练得到的分类模型不能应用和其它的范畴,需要独立构建。第2是最后的分类效果取决于训练文本的抉择以及正确的感情标注,而人对于情感感情的理解带有主观性,假如标注出现偏差就会对最后的结果产生作用与影响。
除了基于词典和基于机器学习的方式方法,亦有一些学者将两者结合在一直使用,弥补补充两种方法的缺点,比独立采用一种方法的分类效果要更佳,另外,亦有学者try使用基于LSTM等深度学习的方式方法对情感感情进行剖析,相信在未来,情感感情剖析会应用在更加的多的产品中,帮助我们更佳的理解用户需求,提升用户使用智能产品的体验。
随着深度神经互联网等算法的应用,情感感情剖析的研究方向已经有了特别大的进展,但依然存在着一些难题是目前尚未解决的,在实操过程中需特别注意和提防以下几种类型数据:
情绪轮在用户体验设计上被普遍的应用,许多情感感情化设计都是基于情绪轮进行的。不过在人工智能范畴,将情绪进行多分类比情感感情剖析的三分类任务要难得多,目前大都分类方法的结果准确性都未到50%。这是由于情绪本身蕴含了太多的类别,并且不同的类别之间又可能具有相似性,一个情绪词在不同的语境下有可能表达的是不一样的情绪类别,算法非常难对其进行分类。即便是人工对文本进行情绪类别标注也常常效果不佳,由于情绪是特别主观性的,不同的人对不同的文本可能产生不同的理解,这使得人工标注情绪类比的过程异常困难。怎样让机器可以理解真实的情绪目前还是一个未能攻克的难题。
五:百度AI基于模型的文本情感感情倾向剖析
1、进入百度AI Studio终端
2、安装paddlehub
3、安装情感感情剖析模型
4、运行模型剖析文本的感情倾向
剖析结果:
[{
'text': '人工智能课程很有趣',
'sentiment_label': 1,
'sentiment_key': 'positive',
'positive_probs': 0。9572,
'negative_probs': 0。0428
}]
六:文本挖掘之中文情感感情剖析
情感感情剖析(Sentiment analysis,SA),又称倾向性剖析、意见抽取(Opinion extraction)、意见挖掘(Opinion mining)、情感感情挖掘(Sentiment mining)、主观剖析(Subjectivity analysis)
情感感情剖析是对带有情感感情色彩的主观性文本进行剖析、处理、归纳和推理的过程
情感感情剖析的意图是为了找出说话者/作者在某些话题上或者针对一个文本两极看法的态度。这个态度可能是他或她的个人判断或是评估,大概是他那个时候的感情状态(就是说,作者在做出这个言论时的情绪状态),或是作者有意向的感情交流(就是作者想要读者所体验的情绪)
文本情感感情剖析的应用非常广泛,如互联网舆情风险剖析,信息预测推算等。如通过Twitter用户情感感情预测推算gupiao走势,电影票房、选举结果等,均是将公众情绪与社会事件对比,发现一致性,并用于预测推算
first of all安装SnowNLP中文情感感情剖析库:
SnowNLP(Simplified Chinese Text Processing),是一个python语言创作的类库,可以方便的处理中文文本内容,其开发受到了TextBlob的启发
In ⓵:
数据载入
In ⓶:
Out⓶:
数据预处理
In ⓷:
In ⓸:
Out⓸:
In ⓻:
Out⓻:
将所有数据打分
In ⓽:
Out⓽:
将分数合并会原表格
In ⑪:
Out⑪:
计算指标
In ⑫:
Out⑫:
In [13]:
Out[13]:
In [14]:
Out[14]:
基础结论:中位数比平均值高不少,说明有少量异常低的评分拉低了均值
In [16]:
Out[16]:
看分数分布情况,直方图最合拍
In [17]:
Out[17]:
少量数据,柱状图也可以
In [18]:
Out[18]:
In [19]:
Out[19]:
In [20]:
以分数排序,查看打分准确率
In [22]:
Out[22]:
好评
In [23]:
Out[23]:
In [二十四]:
Out[二十四]:
差评
In [25]:
Out[25]:
In [26]:
Out[26]:
In [27]:
Out[27]:
In [28]:
Out[28]:
In [29]:
Out[29]:
In [30]:
Out[30]:
结论
准确率比瞎猜高,但达未到人工打分准确率
SnowNLP库的训练基准数据是基于电商销售产品训练的,对饭店留言数据的打分准确率一般
做情感感情剖析最好用户自行实现(网站增添打分功能,用户自行打分)


