我是一名大学生,正在寻找一个NLP库,在基于Java的Web应用程序中为夏季业余爱好项目进行主题提取和情感分析。
为您提供一些关于我正在尝试做什么的背景...我想构建一个基于Java的Web应用程序,它将从Reddit提交的标题中提取主题,以及确定OP的情绪。标题(如果可能的话)。
示例输入:
我目前正在尝试使用AlchemyAPI,但听起来好像存在更好的NLP库。优选地,我不会限制在给定时间段内有限数量的API请求(AlchemyAPI具有配额)。我听说过GATE,LingPipe和OpenNLP的名字 - 但是,我不确定它们是否符合我的需求。
我正在寻找有经验的用户的框架/库/ api建议,甚至更好的比较。我在NLP方面的经验非常有限,这就是为什么我在这里寻求帮助(ps:如果有人有任何资源可以学习更多,请访问www.nlp-class.org,请告诉我!):)
答案 0 :(得分:4)
首先,我强烈建议使用python,因为NLP库比java更加用户友好,并且为单人项目维护的代码要少得多。
我无法想到任何关于任何分类的事情,所以我的建议是训练两个分类器,一个用于主题,一个用于情感。你必须标记数据和定义特征,但我认为这不会太难,特别是在你建立一个“情感”字词的字典时。标记数据是一个痛苦的屁股,但这和良好的功能是你如何获得良好的分类。
主题分类:
将NLTK与朴素贝叶斯分类器一起使用,并将特征定义为单词(小写),以及单词双字母和三元组。
情感分类:
与主题分类器相同的功能,但也有一个功能,即单词w在带有连接c的情感词典中。因此,“坏”一词意味着“不良情绪”。
一旦您积累了足够的培训/测试数据,您就可以根据需要训练分类器并优化功能,然后就可以针对您想要的任何其他数据运行分类器。
通用库(Java):
库(Python):