首先为我不太完美的英语道歉..。(我来自德国;)
因此,在我的一个研究项目(学士论文)中,我需要分析一些公司和品牌在推特上的情绪。为此,我需要编写我自己的程序/使用某种修改过的开源代码(没有APIs我需要了解正在发生的事情)。
下面是我找到的一些NLP应用程序的列表。我现在的问题是,你会推荐哪一种和哪种方法?哪一个不需要长时间的夜晚调整代码?
例如:当我在推特上看到音乐播放器>iPod<时,有人写道:“这是糟糕的一天,但至少我的iPod让我感到高兴”,甚至更难:“这一天很糟糕,但至少我的iPod弥补了这一天。”
哪个软件足够聪明,可以理解焦点集中在iPod而不是天气上?
另外,哪个软件具有可伸缩性/资源效率(我想分析几个tweet,而不想花费数千美元)?
机器学习与数据挖掘
Weka -是一组用于数据挖掘的机器学习算法。它是目前最流行的文本分类框架之一。它包含了各种算法的实现,包括朴素贝叶斯和支持向量机( SVM,在SMO下列出)注意:其他常用的非Java实现是支持向量机-Light、LibSVM和SVMTorch。一个相关的项目是Kea (键短语提取算法),这是一种从文本文档中提取关键字的算法。
Apache -一个孵化器项目,在Hadoop地图上创建高可伸缩性的通用机器学习算法的分布式实现--约简框架。
NLP工具
LingPipe -(技术上不是开源的,见下文)Alias的Lingpipe是一套用于文本语言处理的java工具,包括实体提取、语音标记(pos)、聚类、分类等.它是工业上最成熟和最广泛使用的开源NLP工具包之一。它以其速度、稳定性和可伸缩性而闻名。它最好的特性之一是大量的编写精良的教程,以帮助您入门。他们有一份与竞争的联系清单,包括学术和工业工具。一定要查看他们的博客。LingPipe是在包括源代码的免版税商业许可下发布的,但在技术上并不是“开放源代码”。
OpenNLP -托管了多种基于java的NLP工具,它们使用Maxent机器学习包执行句子检测、标记化、词性标注、分块和解析、命名实体检测和联合引用分析。
Stanford和来自Stanford组的部分词性标记(POS)标记- Java语句分析包和部分词性标记。它有概率自然语言解析器的实现,包括高度优化的PCFG和词汇化依赖解析器,以及一个词汇化的PCFG解析器。它有完整的GNU GPL许可证。
OpenFST -一个处理加权有限状态自动机的软件包。这些经常被用来表示一个可能的模型。它们用于为语音识别、OCR纠错、机器翻译和其他各种任务建立文本模型。这个图书馆是由谷歌研究公司和纽约大学的撰稿人开发的。它是一个快速和可伸缩的C++库。
NTLK --自然语言工具包是一种用于教学和研究分类、聚类、语音标记和分析的工具,等等。它包含一组用于实验的教程和数据集。它是由墨尔本大学的史蒂文·伯德写的。
意见发现-一个系统,执行主观性分析,自动识别意见,情感,推测和其他私人状态出现在文本中。具体来说,OpinionFinder的目的是识别主观句子,并标记这些句子的主体性的各个方面,包括主观性的来源(持有者)和包含在表达积极或消极情绪的短语中的单词。
Tawlk/osae -用于社交文本情感分类的python库。最终的目标是拥有一个简单的“只起作用”的库。它应该有一个容易进入的障碍,并被彻底记录在案。我们利用negwords.txt和poswords.txt上收集到的推特信息,使用停止词过滤,获得了最佳的准确率。
门门已有15岁以上的历史,可用于各种涉及人类语言的计算任务。门擅长各种形状和大小的文本分析。从大公司到小型初创企业,从数百万欧元的研究联盟到本科项目,我们的用户社区是这类系统中最大和最多样化的,并且分布在除一个continents1之外的所有系统中。
文本-一套用于文本和情感挖掘的工具。这包括“mnlm”函数,稀疏多项式logistic回归,“pls”,一个简明的偏最小二乘例程,以及“主题”函数,用于潜在主题模型的有效估计和维数选择。
NLP工具集-朱莉实验室提供了一个全面的NLP工具套件,用于语义搜索、信息提取和文本挖掘。我们不断扩展的工具套件大多基于机器学习方法,因此与领域和语言无关。
..。
顺便提一句:你会推荐twitter流还是get API?
对我来说,我是python和java的粉丝;)
非常感谢你的帮助!
发布于 2012-09-07 02:29:39
我不知道我能帮上多少忙,但我以前也用过手工轧制的NLP。有几个问题浮现在脑海中--并非所有的产品都是语言不可知论的(人类语言,也就是计算机语言)。如果你打算分析德语推文,重要的是你所选的产品能够处理德语。很明显我知道,但很容易忘记。还有一个事实是,twitter上有大量的缩略语和缩略语,语言结构受到字符限制的限制,这意味着语法并不总是与预期的语言结构相匹配。
在英语中,如果你必须编写自己的代码,从句子中提取名词可以简化一些。专有名词有首字母大写,这些词的串(可能包括" of ")是名词短语的一个例子。“a/ an /my/ be /her/the/this/this/the”the/this/this/the“后面的单词要么是形容词,要么是名词。不幸的是,事情变得更难了。
有一些规则可以帮助识别复数,但也有很多例外。当然,我在这里说的是英语,我的德语说得很差,这并不能帮助我理解语法。
https://stackoverflow.com/questions/12299724
复制相似问题