写点什么

借助情感分析教计算机理解情感

  • 2019-06-19
  • 本文字数:2269 字

    阅读完需:约 7 分钟

借助情感分析教计算机理解情感

情感分析教计算机识别文本中的人类情感。基本原则是在简单性和准确性之间进行权衡。方法有很多,从使用与情绪相关的单词列表,到使用词嵌入、神经网络和注意机制等深度学习技术。


Johnson Controls 首席数据科学家Donagh Horgan将在RebelCon.io 2019大会上介绍为 Twitter 构建的一个情感分析器。大会将于 6 月 19 日至 20 日在爱尔兰科克举行。根据活动网站介绍:


  • RebelCon 连续第三年将科克软件工程社区聚集在一起,举行为期两天的研讨会,讨论软件行业的最新技术、文化和开发实践;

  • RebelCon 是由开发者社区为社区举办的非营利性技术会议。


在他的演讲中,Horgan 将展示如何迭代地为 Twitter 情感分析构建一个 AI 驱动的管道。


在过去的几年里,情感分析被用于越来越多的应用程序:它用于在客户支持中根据客户的感知情感倾向对进来的问题进行排序,在市场调研和民意调查中了解人们如何思考某些话题,在论坛和在线讨论区中检测辱骂、威胁和怒火。Johnson Controls 利用情感分析来发现暴力威胁,以更好地保护客户及其员工。


据 Horgan 说,情感分析在生命安全方面有着很大的机会。过去一年里发生了几起大规模枪击事件,犯罪嫌疑人事先在公共或半公共论坛上发布了警告。他看到了让机器分析这类内容从而拯救生命的可能;这种分析的成本将非常低。


InfoQ 采访了 Donagh Horgan,了解我们可以如何使用情感分析来教机器理解情感。


InfoQ:什么是情感分析?


Donagh Horgan:情感分析是人工智能的一个领域,它致力于教计算机识别文本中的人类情感。情感分析的目的是理解书面文本中的各种情感和强度。

通常,对于人类而言,这是一项简单的任务。例如,如果我告诉你“这部电影很棒”,你不用太考虑就会知道,我(1)对这部电影的评价很高(2)而且感到兴奋(3)。但是,对于机器来说,学习如何做到这一点更加困难,因为语言并不简单。例如,我可以说,“This movie is better than that one,”但不是“This movie is gooder than that one”,而那种知识是与生俱来的。

但是,计算机是通过算法工作的,要写出一套精确的、可维护的规则来理解英语中出现的所有异常情况是非常困难的。更糟糕的是,有许多不同的语言。这是个棘手的问题。


InfoQ:情感分析是如何工作的?


Horgan:有几种不同的方法,但基本原则是在简单性和准确性之间进行权衡。一种简单的方法是列出与你想要跟踪的每种情感相关的单词。例如,你可以做一个正面词汇表(好、很好、优秀)和一个负面词汇表(不好、极差、糟糕)。然后,你拿起你感兴趣的那篇文章,把其中出现的所有正面和负面的单词都记下来。如果总体上是正面的,那么你就可以得出结论:文本是正面的;否则,你可以得出结论:它是负面的。

你可以通过给每个单词设定一个“强度(strength)”,从而使这个过程更加准确。例如,“好”可能是 60%正面,但“很棒”听起来更加正面,你可能会给一个 80%的分数。并不像听起来那么费力,网上有免费开放的情感词列表(例如,Python 库pattern),所以你通常不需要自己整理。

但简单的单词计数往往无法识别细微的差别,无法掌握更多专用的语言结构。例如,我可能会告诉你,“这部电影非常好”,这可能会生成一个中性或者负面分数,取决于你如何看待“非常(awfully)”这个词。虽然借助单词计数可以变通地解决解决这个问题,但一般来说,这些方法还不足以彻底地解决该问题。

一个解决方案是使用机器学习算法,让计算机学习单个单词或词对或更长一点的文本与给定情感相关的概率。我不会介绍这里用到的数学知识,但构建一个合理的朴素贝叶斯模型(或者至少是比单词计数要好)并不难。


InfoQ:情感分析有多可靠?我们可以相信其分析结果吗?


Horgan:遗憾的是,目前已知的所有方法都缺少某种形式的上下文。例如,单词计数过于强调单词,所以无法理解诸如“重大失败(great failure)”这样的短语。使用朴素贝叶斯算法就可以解决这个问题,因为它可以学会把情绪与词对、三个词或任意长度的短语关联起来,但是,对于特定的双重否定,如果你没有足够的样本,它就仍可能在“I can’t get no satisfaction”这样的句子上犯错。

现在的最新技术是深度学习,它使用词嵌入、神经网络和注意机制等技术,学习人类语言的复杂结构。但即使是这些模型也会搞不明白更复杂的语言结构,如讽刺和挖苦。事实上,甚至在人类中间,人们对情感的判断一致性也很少超过 80%。我认为这里的教训是,语言和情感绑定在一起,但这种关系并不总是清晰的,甚至对我们而言也是如此。目前,机器只能做得和我们一样好。


InfoQ:您在为 Twitter 构建情感分析器的过程中学到了什么?


Horgan:实际上相当多。它比听起来容易,也比听起来难。你可以试下现成的方法,它们有效,但如果你想使自己构建的东西非常准确,你得更具体一点。比如,你可以考虑发推特的人的个人资料。唐纳德·特朗普就是一个很好的例子,他要么非常正面,要么非常负面。将这类信息加入关于单个用户的算法中可以得到更好的结果。


InfoQ:如果 InfoQ 的读者想了解更多关于情感分析的内容,他们该如何入手?


Horgan:关于数据科学,有很多教程(有些更高级)通常是针对只想快速入手的计算机迷。一般来说,Natural Language Processing with Python是一个很好的起点,虽然这不是免费的。有很多有用的 Python 库提供了良好的文档和教程,如nltkspacytextblobvadergensim


InfoQ 正在以文章、问答、综述的形式对RebelCon.io 2019 大会进行报道。InfoQ 此前发表了 Sabine Wojcieszak 的文章“CI= 持续改进,DevOps 的动力源泉”。


查看英文原文Teaching Machines to Understand Emotions With Sentiment Analysis


2019-06-19 08:005576
用户头像

发布了 838 篇内容, 共 583.0 次阅读, 收获喜欢 1600 次。

关注

评论

发布
暂无评论
发现更多内容

重新定义内容创作和教育的新范式

百度开发者中心

人工智能 文心一言 文心大模型‘

业务不想停机,就得这么实现MongoDB迁移

NineData

mongodb 数据迁移 NineData MongoDB迁移 全量数据迁移

“AI+算力”为出海企业打上了一剂“强心针”

千流出海

媒体 采访 出海

软件测试/测试开发丨Selenium Web自动化多浏览器处理

测试人

Python 软件测试 自动化测试 测试开发 selenium

华润银行新一代国产供应链金融平台顺利投产上线 由腾讯云和中电金信联合打造

极客天地

ClickHouse在腾讯游戏营销效果分析中的探索实践

腾讯云大数据

Clickhouse

OpenHarmony使用ArkUI Inspector分析布局

OpenHarmony开发者

OpenHarmony

开发指导—利用CSS动画实现HarmonyOS动效(二)

HarmonyOS开发者

HarmonyOS

蚂蚁集团混沌工程 ChaosMeta V0.5 版本发布

ChaosMeta

云原生 测试 混沌工程 容灾 攻防演练

在线找 K8s 学习搭子,急!

阿里巴巴云原生

阿里云 云原生

AI应用如何进行测试?

互联网工科生

人工智能 AI

麒麟云容器运行时优化之容器停止优化

麒麟云

Kubernetes 云原生 银河麒麟云原生操作系统

数字先锋|携手九江市自然资源局,天翼云助力自然资源管理走向“智治”新路

天翼云开发者社区

人工智能 云计算

细数2019-2023年CWE TOP 25 数据,看软件缺陷的防护

华为云开发者联盟

安全 后端 华为云 华为云开发者联盟 企业号9月PK榜

Kruise Rollout:基于 Lua 脚本的可扩展流量调度方案

阿里巴巴云原生

阿里云 云原生

服务器使用必备条件、操作步骤及实践步骤详解

天翼云开发者社区

服务器

服务器显卡:驱动高性能计算和人工智能应用

天翼云开发者社区

服务器

【玩转鲲鹏DevKit系列】如何快速迁移软件包?

华为云开发者联盟

开发 华为云 鲲鹏 华为云开发者联盟 企业号9月PK榜

借助情感分析教计算机理解情感_AI&大模型_Ben Linders_InfoQ精选文章