2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

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

发布了 805 篇内容, 共 551.9 次阅读, 收获喜欢 1584 次。

关注

评论

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

Vue3 TypeScript 使用教程 - 实战 Vue3 element-plus 开发「待办清单」

蒋川

typescript 低代码 开发工具 Vue 3 Element Plus

网易数帆 Envoy Gateway 实践之旅:坚守 6 年,峥嵘渐显

网易数帆

云原生 Service Mesh istio api 网关 envoy

ZEGO 开发者文档速查|常用视频配置

ZEGO即构

音视频开发 视频配置

MDM结合ESB数据集成说明

agileai

数据治理 数据集成 企业服务总线 主数据平台 基础数据方案

开讲!XTransfer技术专家亮相Flink CDC Meetup

XTransfer技术

flink XTransfer

报名进入尾声,赶快申请加入 sealer 开源之夏吧!

阿里巴巴云原生

阿里云 开源 Kubernetes 云原生 sealer

什么是智能合约?3M互助dapp系统开发逻辑拆解

开发微hkkf5566

谁需要实验室内部管理系统?

低代码小观

实验室管理系统 数据管理系统 LIMS实验室信息管理系统 企业管理工具 检查系统服务

密码学系列之:ASN.1接口描述语言详解

程序那些事

密码学 程序那些事 5月月更 ASN.1

Hadoop3.0时代,怎么能不懂EC纠删码技术?

个推

大数据 hadoop hadoop3 大数据 开源

最佳实践|从Producer 到 Consumer,如何有效监控 Kafka

阿里巴巴云原生

kafka 阿里云 云原生 Promethues

什么是区块哈希?哈希游戏开发技术原理方案(源码搭建)

开发微hkkf5566

领航全球云经济行业创新,XTransfer入选Bessemer年度报告

XTransfer技术

如何实现24/7客户服务自动化?建设智能客服知识库

小炮

打造会“找”主人的麦克风,腾讯个性化语音增强技术荣获2022数博会领先科技成果奖

科技热闻

【LeetCode】单词距离Java题解

Albert

LeetCode 5月月更

面向服务的架构

力软低代码开发平台

模块七:作业

本人法海

「架构实战营」

得物Tech Leader对管理授权的思考是什么?/得物技术管理集锦

得物技术

管理 思考 技术管理 事前授权 任务分配

图解|高性能服务器设计之缓存系统一致性

C++后台开发

redis 后端开发 Linux服务器开发 高性能服务器 系统缓存

从Oracle日志解析学习数据库内核原理

沃趣科技

oracle 数据库内核

ETH合并在即,这次升级将带来哪些机遇?

区块链前沿News

以太坊 eth Hoo

中国20强游戏公司2021年财报分析:业绩大分化时代,开始优胜劣汰

易观分析

游戏公司

直播预告|来啦!「DevOps+MLOps Meetup」火热报名中!

第四范式开发者社区

人工智能 DevOps 极狐GitLab 特征平台 MLOps

200多家ISV入驻!阿里云计算巢发布一周年

阿里云弹性计算

计算巢

免费领 CRMEB 移动社交电商系统源码与授权

CRMEB

怎么用netty开发一个同时提供http和websocket的服务?

风斩断晚霞

Java spring Netty springboot websocket

浪潮云应用质效管理系统(AOM)荣获2022数博会领先科技成果“优秀项目”奖

云计算

React Echarts 使用教程 - 如何在 React 中加入图表(内附数据看板实战搭建案例)

蒋川

react.js 可视化 eCharts 组件库 图表库

MASA Auth - SSO与Identity设计

MASA技术团队

C# .net 设计 构架 Auth

融云漫话:通信中台

融云 RongCloud

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