写点什么

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

  • 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:005372
用户头像

发布了 736 篇内容, 共 474.8 次阅读, 收获喜欢 1548 次。

关注

评论

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

新质生产力与智能制造:推动制造业转型升级的双引擎

天津汇柏科技有限公司

智能制造 新质生产力

解锁阿里巴巴1688数据宝藏:API助力批量获取商品价格、标题、图片及库存

技术冰糖葫芦

API boy api 货币化 pinduoduo API

即时通讯技术文集(第36期):《跟着源码学IM》系列专题 [共12篇]

JackJiang

即时通讯;IM;网络编程

实用技巧:排查数据异常/数据波动问题,该如何下手?

feng

大数据 分布式 后端

哔哩哔哩游戏宣布《碧蓝航线》将启动鸿蒙原生应用开发

最新动态

DCDN连接云和用户:加速企业全球拓展之旅

MasterInTech

阿里云 CDN

前端代码规范 - 图片相关

南城FE

前端 代码规范 图片优化

✅实现百万级数据从Excel导入到数据库的方式

派大星

数据导入 Java 面试题 互联网大厂面试 百万数据

OpenHarmony 4.1 Release版本正式发布,邀您体验

OpenHarmony开发者

Open Harmony

从人力外包到测试工具与平台:打造完整的测试解决方案

霍格沃兹测试开发学社

火山引擎 VeDI:剪映产品如何应用A/B测试验证新功能效果

字节跳动数据平台

大数据 A/B测试 企业号 4 月 PK 榜 对比试验 数字化增长

LigaAI x 极狐GitLab,共探 AI 时代研发提效新范式

LigaAI

人工智能 DevOps 极狐GitLab LigaAI 研发效能管理

程序员精选常用ChatGPT提示词合集

蓉蓉

openai ChatGPT GPT-4

“大模型驱动的软件研发” 华为云助推企业研发智能化升级

华为云开发者联盟

人工智能 华为云 大模型 华为云开发者联盟 企业号2024年4月PK榜

利用Python实现数据可视化

技术冰糖葫芦

API Explorer API boy api 货币化

BOE(京东方)2024年一季度净利润预计8亿元-10亿元,三位数增长叩响高质量发展“开门红”

科技热闻

TiProxy 问题解答 & 未来规划

TiDB 社区干货传送门

新版本/特性发布 新版本/特性解读 数据库连接 8.x 实践

实况窗助力美团打造鸿蒙原生外卖新体验,用户可实时掌握外卖进展

HarmonyOS开发者

HarmonyOS

NL2SQL进阶系列(1):DB-GPT-Hub、SQLcoder、Text2SQL开源应用实践详解

汀丶人工智能

自然语言处理 大语言模型 NL2SQL

tidb 6.1.4 table cache 导致的集群QPS异常问题

TiDB 社区干货传送门

集群管理 管理与运维 故障排查/诊断 6.x 实践

碳视野 | 今后五年国家重点支持三类双碳项目!

AMT企源

数字化转型 双碳 碳管理

华大北斗芯片再登纽伦堡国际嵌入式展EW2024

江湖老铁

基于香橙派AIpro将开源框架模型转换为昇腾模型

华为云开发者联盟

华为云 昇腾 华为云开发者联盟 企业号2024年4月PK榜 香橙派AIpro

百度官方!打造「大模型全开发周期系列课程」,AI应用开发入门课率先发布!(内含英雄帖)

飞桨PaddlePaddle

百度 开发者 BAIDU 百度飞桨 飞桨星河社区

20个Python 正则表达式应用与技巧

华为云开发者联盟

Python 开发 华为云 华为云开发者联盟 企业号2024年4月PK榜

HTML API 设计指南:打造高效、可维护的接口

Apifox

JavaScript html 程序员 前端 HTML API

写给职场新人|从迷茫到屡获殊荣的技术人成长之路

京东零售技术

人工智能 架构 后端 技术成长 企业号 4 月 PK 榜

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