首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以根据文本的结构来猜测用户的情绪吗?

可以根据文本的结构来猜测用户的情绪吗?
EN

Stack Overflow用户
提问于 2009-06-01 00:43:30
回答 10查看 14.1K关注 0票数 56

我假设需要使用自然语言处理器来解析文本本身,但是对于根据用户编写的文本检测用户情绪的算法,您有什么建议吗?我怀疑它是否非常准确,但我仍然感兴趣。

编辑:我绝对不是语言学或自然语言处理方面的专家,所以如果这个问题太笼统或太愚蠢,我道歉。

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2009-06-06 07:12:51

这是称为sentiment analysis的自然语言处理领域的基础。尽管你的问题很笼统,但它肯定不是愚蠢的--例如,亚马逊对产品评论中的文本进行了这种研究。

如果你是认真的,那么一个简单的版本可以通过以下方式实现-

  1. Acquire是一个正面/负面情绪的语料库。如果这是一个专业项目,你可能会花一些时间自己手动标注语料库,但如果你很匆忙,或者只是想一开始尝试一下,那么我建议你看看Bo Pang和Lillian Lee的研究中的sentiment polarity corpus。使用该语料库的问题是它不是为您的领域量身定做的(具体地说,语料库使用电影评论),但它仍然应该将您的数据集applicable.
  2. Split到句子中,无论是积极的还是消极的。对于情感极性语料库,你可以将每个评论分成它的复合句子,然后将整个情感极性标签(积极或消极)应用到所有这些句子。将语料库分为两部分- 90%用于训练,10%用于测试。如果你使用的是Weka,那么它可以处理将机器学习算法(如支持向量机,朴素贝叶斯,最大熵)的语料库拆分到单词级别的训练语料库。这个模型被称为bag of words model,它只是将句子表示为它所组成的单词。这与许多垃圾邮件过滤器运行的模型相同。为了更好地介绍机器学习算法,有一个名为Weka的应用程序,它实现了一系列这些算法,并为您提供了一个操作它们的图形用户界面。然后,您可以从尝试使用此model.
  3. Apply对测试语料库进行分类时所犯的错误中测试机器学习模型的性能。此机器学习算法将此机器学习算法发送给您的用户posts。对于每个用户帖子,将帖子分成句子,然后使用机器学习的模型对其进行分类。

所以,是的,如果你是认真的,那么它是可以实现的-即使没有计算语言学的经验。这将是一个相当多的工作,但即使使用基于word的模型也可以获得良好的结果。

如果您需要更多帮助,请随时联系我-我总是很乐意帮助其他对NLP感兴趣的人。]

小笔记-

  1. 仅仅是将一段文本分成几个句子,这是一个称为sentence boundary detection的领域。有许多工具,开源或免费,可以做到这一点,但对于你的任务,一个简单的空格和标点符号拆分应该是fine.
  2. SVMlight也是另一个机器学习器考虑,事实上,他们的归纳支持向量机做了一个类似的任务,我们正在研究-试图分类哪些路透社文章是关于“企业收购”与1000个积极和1000个消极的examples.
  3. Turning句子到特征进行分类可能需要一些工作。在这个模型中,每个单词都是一个特征-这需要对句子进行标记化,这意味着将单词和标点符号彼此分开。另一个技巧是将所有单独的单词标记都小写,这样“我恨你”和“我恨你”最终都会被认为是相同的。有了更多的数据,你可以尝试并包括大写是否有助于对某人是否生气进行分类,但我相信,至少在最初的努力中,单词应该足够了。

编辑

我刚刚发现LingPipe实际上有一个tutorial on sentiment analysis,它使用了我刚才提到的Bo Pang和Lillian Lee情感极性语料库。如果您使用Java,这可能是一个很好使用的工具,即使不是这样,它也会经历我上面讨论的所有步骤。

票数 67
EN

Stack Overflow用户

发布于 2009-06-01 00:56:02

毫无疑问,根据用户输入的文本来判断用户的情绪是可能的,但这不是一件微不足道的事情。我能想到的事情:

  • 大写字母倾向于表示激动、烦恼或沮丧,当然是一种情绪反应,但一些新手这样做是因为他们没有意识到重要性,所以你不能假设不看他们写的其他东西(以确保这不是caps);
  • Capitals中的全部只是强调的一种形式)。有些人在使用emotional;
  • Scanning时会犯更多的拼写、语法错误和打字错误,因为表情图标可以让你很清楚地了解用户的感受,但也可能是这样的:)可以被解释为快乐,"I
  • so“,甚至带有讽刺意味;
  • 使用咒语往往有明确的含义,但也不明确。许多人的口语化演讲通常会包含一些四个字母的单词。对于其他一些人来说,他们甚至不会说“地狱”,而是说“significant;
  • Groups”,所以任何脏话(甚至是“colloquial;
  • Exclamation”)都是标点符号的significant;
  • Groups(比如@#$@$@),在咒骂词不一定合适的情况下,往往会被脏话取代,所以这不太可能是表示惊讶、震惊或exasperation.

的脏话。

你可能想看看Advances in written text analysis,甚至是Determining Mood for a Blog by Combining Multiple Sources of Evidence

最后,值得注意的是,书面文本通常被认为比实际情况更负面。这是公司电子邮件交流中的一个常见问题,只是举个例子。

票数 12
EN

Stack Overflow用户

发布于 2009-06-01 00:51:19

我真不敢相信我是认真对待这件事的。假设一个一维的情绪空间:

如果文本中包含脏话,-10 ,

  • 。,我认为感叹号往往是负面的,所以-2情绪。,

  • ,当我沮丧时,我会输入非常。短的。句子。-5情绪。

我越是思考这个问题,就越清楚地知道,这些符号中的许多通常都表示极端的情绪,但并不总是清楚是哪种情绪。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/933212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档