我假设需要使用自然语言处理器来解析文本本身,但是对于基于用户所写文本来检测用户情绪的算法,您有何建议?我怀疑它会非常准确,但是我仍然很感兴趣。
编辑:我绝不是语言学或自然语言处理方面的专家,所以如果这个问题太笼统或愚蠢,我深表歉意。
这是称为情感分析的自然语言处理领域的基础。尽管您的问题很笼统,但肯定不是愚蠢的- 例如,此类研究是由Amazon对产品评论中的文字进行的。
如果您对此很认真,则可以通过以下方式实现一个简单的版本-
获得积极/消极情绪的语料库 。如果这是一个专业项目,您可能需要花费一些时间并自己手动注释一个语料库,但是如果您急于或只是想先尝试一下,那么我建议您看看Bo Pang和Lillian Lee的情感极性语料库。研究。使用该语料库的问题在于,它不是针对您的域而定制的(特别是,语料库使用电影评论),但是它仍然适用。
将数据集分为正或负的句子 。对于情感极性语料库,您可以将每个评论分为其复合句子,然后将总体情感极性标签(正或负)应用于所有这些句子。将该主体分为两部分-90%用于培训,10%用于测试。如果您使用的是Weka,则可以为您处理语料库的拆分。
*在单词级别上将 *机器学习算法 (例如SVM,朴素贝叶斯,最大熵)应用于训练语料库。该模型称为单词袋模型,它只是将句子表示为由其组成的单词。这是许多垃圾邮件过滤器运行的模型。为了很好地介绍机器学习算法,有一个名为Weka的应用程序,该应用程序实现了这些算法的范围,并为您提供了可与它们一起使用的GUI。然后,您可以根据尝试使用该模型对测试语料库进行分类时所犯的错误,来测试机器学习模型的性能。
将这种机器学习算法应用于您的用户帖子 。对于每个用户帖子,请将帖子分成句子,然后使用您的机器学习模型对它们进行分类。
因此,是的,如果您对此很认真,那么即使没有以前在计算语言学方面的经验,也可以实现。这将是很多工作,但是即使使用基于单词的模型也可以实现良好的结果。
如果您需要更多帮助,请随时与我联系-我总是很乐意帮助对NLP感兴趣的其他人=]
小笔记 -
编辑
我刚发现LingPipe实际上有一个关于情绪分析的教程,使用的是我所谈论的Bo Pang和Lillian Lee Sentiment Polarity语料库。如果您使用Java,这可能是一个很好的工具,即使没有使用,它也会经过我上面讨论的所有步骤。