Python中的Twitter的情感分析

问题:

我正在寻找文字情感分析http://en.wikipedia.org/wiki/Sentiment_analysis)的开源实现,最好在python中。有谁熟悉这样的开源实现我可以使用?
我正在撰写一个在Twitter上搜索一些搜索词的应用程序,例如“youtube”,并将“快乐”的推文与“悲伤”的推文进行比较。
我正在使用Google的appengine,所以在python中。我希望能够将返回的搜索结果从twitter中分类,我想在python中这样做。
到目前为止我还没有找到这样的情绪分析器,具体来说不是在python中。
你熟悉这样的开源实现我可以用吗?最好这是已经在python,但如果没有,希望我可以把它翻译成python。
注意,我正在分析的文本很短,它们是tweet。所以理想情况下,这个分类器是针对这样的短文本进行了优化的
BTW,twitter确实支持搜索中的“:)”和“:(”运算符,其目的是为了做到这一点,但不幸的是,他们提供的分类并不是那么好,所以我想我可能会试一试。
谢谢!
BTW,早期的演示是here,到目前为止,我已经有代码here,我很乐意与任何感兴趣的开发人员一起开源。

回答:

对于大多数这些应用程序,您必须为自己的代码进行统计分类任务。正如Lucka所说,NLTK是Python中自然语言操纵的完美工具,只要您的目标不会干扰其许可证的非商业性质。但是,我建议其他软件包进行建模。我没有发现许多强大的先进的机器学习模型可用于Python,所以我将提出一些独立的二进制文件,轻松与之配合。
您可能对The Toolkit for Advanced Discriminative Modeling感兴趣,这可以很容易地与Python进行连接。这已被用于自然语言处理的各个领域的分类任务。您还可以选择一些不同的型号。只要你已经熟悉实现一个朴素贝叶斯分类器,我建议从最大熵分类开始。如果没有,您可能需要查看并编码一个,以便真正获得对统计分类的正确理解,作为机器学习任务。
得克萨斯大学奥斯汀计算语言学小组举办了大多数项目,其中大部分项目都使用了这个伟大的工具。您可以查看Computational Linguistics II的课程页面,了解如何使其工作,以及以前的应用程序。
另一个同样工作的伟大工具是Mallet。 Mallet的区别在于有更多的文档和更多的可用模型,如决策树,它在Java中,在我看来,这使得它有点慢。 Weka是一整套不同机器学习模式的一个大包,其中包括一些图形的东西,但它实际上主要用于教学目的,而不是真正的投入生产。
祝你好运与你的任务真正困难的部分可能是您需要的知识工程的数量,您可以为您分类您的模型将学习的“种子集”。它需要相当大,取决于你是做二进制分类(快乐vs悲伤)还是一整套情绪(这将需要甚至更多)。确保使用这些工程数据进行测试,或者进行十次或者一次的测试,以确保在实际操作前先做好预测。最重要的是玩得开心!在我看来,这是NLP和AI的最好的部分。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Sentiment analysis for Twitter in Python

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

26 + = 30