是否可以根据文本的结构来猜测用户的心情?
nlp
4
0

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

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

参考资料:
Stack Overflow
收藏
评论
共 5 个回答
高赞 时间 活跃

在这方面我的记忆力不好,但我相信我对文本的语法结构和整体音调进行了一些研究。这也可以像短单词和情感表达单词一样简单(嗯,粗话很明显)。

编辑 :我注意到,第一个回答的人的职位基本上相似。对于较短的句子,确实有一些严肃的想法。

收藏
评论

如果您支持字体,则粗体红色文本可能是生气的用户。绿色常规尺寸的文本与蝴蝶剪贴画是一个快乐的人。

收藏
评论

这是称为情感分析的自然语言处理领域的基础。尽管您的问题很笼统,但这肯定不是愚蠢的-例如,此类研究是由Amazon对产品评论中的文字进行的。

如果您对此很认真,则可以通过以下方式实现一个简单的版本-

  1. 获得积极/消极情绪的语料库 。如果这是一个专业项目,您可能需要花费一些时间并自己手动注释一个语料库,但是如果您很着急或只是想先进行实验,那么我建议您查看Bo Pang和Lillian Lee的情感极性语料库 。研究。使用该语料库的问题在于,它不是针对您的域定制的(特别是,语料库使用电影评论),但仍然适用。

  2. 将数据集分为正或负的句子 。对于情感极性语料库,您可以将每个评论分为其复合句子,然后将所有情感极性标记(正或负)应用于所有这些句子。将该主体分为两部分-90%用于培训,10%用于测试。如果您使用的是Weka,则可以为您处理语料库的拆分。

  3. 在单词级别上将机器学习算法 (例如SVM,朴素贝叶斯,最大熵)应用于训练语料库。此模型称为单词袋模型 ,它只是将句子表示为组成的单词。这是许多垃圾邮件过滤器运行的模型。为了很好地介绍机器学习算法,有一个名为Weka的应用程序,该应用程序实现了这些算法的范围,并为您提供了可与它们一起使用的GUI。然后,您可以根据尝试使用该模型对测试语料库进行分类时所犯的错误,来测试机器学习模型的性能。

  4. 将这种机器学习算法应用于您的用户帖子 。对于每个用户帖子,请将帖子分成句子,然后使用您的机器学习模型对它们进行分类。

因此,是的,如果您对此很认真,那么即使没有以往在计算语言学方面的经验,也可以实现。这将是很多工作,但是即使使用基于单词的模型也可以实现良好的结果。

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


小笔记 -

  1. 仅将一段文本分成句子是NLP的一个领域,称为句子边界检测 。有许多工具(OSS或免费工具)可以执行此操作,但是对于您的任务,只需在空格和标点符号上进行简单拆分即可。
  2. SVMlight也是另一个要考虑的机器学习者,事实上,他们的归纳SVM与我们正在研究的任务类似,它试图用1000个肯定的例子和1000个否定的例子来分类哪些Reuter文章涉及“企业收购”。
  3. 将句子变成特征进行分类可能需要一些工作。在此模型中,每个单词都是一个功能-这需要对句子进行标记化,这意味着单词和标点符号必须彼此分开。另一个技巧是将所有单独的单词标记小写,以使“我恨你”和“我恨你”最终都被认为是相同的。有了更多数据,您可以尝试并还包括大写是否有助于对某人是否生气进行分类,但我认为至少对于最初的尝试而言,单词应该足够。

编辑

我刚刚发现LingPipe实际上有一个关于情绪分析教程,使用的是我正在谈论的Bo Pang和Lillian Lee Sentiment Polarity语料库。如果您使用Java,这可能是一个很好的工具,即使没有使用,它也会经过我上面讨论的所有步骤。

收藏
评论

毫无疑问,可以根据用户输入的文字来判断用户的心情,但这并不是一件小事。我能想到的事情:

  • 大写字母往往表示激动,烦恼或沮丧,并且肯定是一种情感反应,但随后又有一些新手这样做,因为他们没有意识到其重要性,因此,如果不查看他们写的内容,就无法假设(确保它不是全部大写);
  • 大写实际上只是强调的一种形式。其他使用某些激进的颜色(例如红色)或使用粗体或更大的字体;
  • 有些人情绪激动时会做出更多的拼写,语法错误和错别字。
  • 扫描表情符号可以使您清楚地了解用户的感受,但是类似:)可以被解释为高兴的,“我告诉过您”,甚至具有讽刺意味。
  • 专有名词的使用往往具有明确的含义,但又没有明确的含义。许多人的口语演讲通常会包含某些四个字母的单词。对于另一些人,他们甚至可能不说“地狱”,而是说“ heck”,因此任何冒口(甚至是“吸”)都是重要的;
  • 在不一定要使用专有名词的情况下,成组的标点符号(例如@#$ @ $ @)往往会被替换为专有名词,因此口语化的可能性较小;
  • 感叹号可能表示意外,震惊或激怒。

您可能想查看书面文本分析方面的进展,甚至可以通过结合多种证据来确定博客的心情

最后,值得注意的是,书面文字通常被认为比实际文字更负面。举一个例子,这是公司电子邮件通信中的一个普遍问题。

收藏
评论

我不敢相信我会认真对待这个...假设一个一维的情绪空间:

  • 如果文字中包含诅咒字眼,则表示-10情绪。
  • 我认为感叹会趋于消极,所以-2情绪。
  • 当我感到沮丧时,我输入Very。短。句子。 -5心情。

我越思考这个,很明显,很多这样的能指表示一般的极端情绪,但它并不总是很清楚什么的心情就越多。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号