写点什么

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

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

发布了 779 篇内容, 共 533.9 次阅读, 收获喜欢 1578 次。

关注

评论

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

Java实战干货|Spring Boot整合MyBatis框架快速实现数据操作

三十而立

Java spring springboot

SpringBoot 实现 MySQL 百万级数据量导出并避免 OOM 的解决方案

Java你猿哥

Java MySQL spring Spring Boot ssm

SpringBoot 集成 Druid 数据源

Java你猿哥

Java Spring Boot 后端 ssm Druid

牧云助手:一款面向技术爱好者的远程主机管理工具

百川云开发者

运维 主机管理 终端远程协助

马士兵教育2023年全新Java架构师学习路线「首发版」

Java你猿哥

Java 学习 架构 面试 后端

如何重装mac系统,u盘安装苹果macos系统教程

互联网搬砖工作者

携手共进丨九科信息入选信通院“铸基计划”高质量数字化转型产品及服务全景图,并受邀出席高质量数字转型创新大会

九科Ninetech

云智一体,深入生命科学

Baidu AICLOUD

基因测序 AI制药 AI for Science

一个小网站的云原生实践

松然聊技术

架构 云原生

硬核!阿里大佬都在内卷的SpringBoot从入门到实战笔记

Java你猿哥

Java Spring Boot ssm 实战 Spring全家桶

三天吃透Spring Cloud面试八股文

程序员大彬

Java 面试 SpringCloud

DevOps|研发效能不是老板工程,是开发者服务

laofo

DevOps cicd 研发效能 持续交付 平台工程

焱融科技荣登《2022中国企业数智化创新TOP50》榜单

焱融科技

文件存储 分布式文件存储 数智化 高性能存储 全闪存储

自己动手写虚拟机

ScratchLab

虚拟机 kvm

面试造飞机?GitHub顶级“java面试手册2023”(统计通过率95%)

三十而立

Java GitHub 面试 java面试

浅析三款大规模分布式文件系统架构设计

Java你猿哥

架构 分布式 架构设计 分布式架构 系统架构设计手册

强大的ai技术图像编辑器:Luminar Neo 激活版

真大的脸盆

图像编辑 编辑图像 图像处理工具

手把手教你Mac重装系统不再难:苹果电脑重装系统教程

互联网搬砖工作者

华大北斗芯片亮相纽伦堡国际嵌入式展EW2023

江湖老铁

互联网工程师1000道Java面试题整理全集,助你一路绿灯

Java你猿哥

Java 面试 SSM框架 八股文 Java八股文

战损版JavaAgent方法耗时统计工具实现

Java你猿哥

Java Spring Boot Java Agent ssm

TGO笔记-AIGC分享之投资视角(61/100)

hackstoic

AI ChatGPT 创业投资

抽丝剥茧还原真相,记一次神奇的崩溃

阿里技术

debug

Notification(状态栏通知)详解

芯动大师

android Android Studio Notification

Jetpack-Compose 学习笔记(二)—— Compose 布局你学会了么?

修之竹

android 前端 android jetpack

爆火!阿里新版23年面试突击进阶手册,Github标星51k!

Java你猿哥

Java 面试 ssm 面经 八股文

Photoshop 2023 (版本 24.2)的新增功能和增强功能

互联网搬砖工作者

如何学习分布式系统,分布式是什么,这里有很好的解释,很全

三十而立

Java 分布式

这六种目前最常见分布式事务解决方案!请拿走不谢

三十而立

Java 程序员 分布式 IT

PyTorch 深度学习实战 | 基于YOLO V3的安全帽佩戴检测

TiAmo

数据采集 PyTorch

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