关于情感分析的自然语言处理工具列表-您推荐哪个[关闭]
Posted
技术标签:
【中文标题】关于情感分析的自然语言处理工具列表-您推荐哪个[关闭]【英文标题】:List of Natural Language Processing Tools in Regards to Sentiment Analysis - Which one do you recommend [closed] 【发布时间】:2012-08-31 06:03:20 【问题描述】:首先抱歉我的英语不太完美...我来自德国;)
因此,对于我的一个研究项目(学士论文),我需要分析关于某些公司和品牌的推文的情绪。为此,我需要编写自己的程序脚本/使用某种修改过的开源代码(没有 API ——我需要了解正在发生的事情)。
您将在下面找到我找到的一些 NLP 应用程序的列表。我现在的问题是您会推荐哪种方法以及哪种方法?哪一个不需要长夜调整代码?
例如:当我在推特上播放音乐播放器 >iPod
哪个软件足够聪明,可以理解重点是 iPod 而不是天气?
还有哪个软件是可扩展的/资源高效的(我想分析几条推文,不想花数千美元)?
机器学习和数据挖掘
Weka - 是用于数据挖掘的机器学习算法的集合。它是最流行的文本分类框架之一。它包含多种算法的实现,包括朴素贝叶斯和支持向量机(SVM,在 SMO 下列出)[注意:其他常用的非 Java SVM 实现是 SVM-Light、LibSVM 和 SVMTorch]。一个相关的项目是 Kea(Keyphrase Extraction Algorithm),一种从文本文档中提取关键短语的算法。
Apache Lucene Mahout - 一个孵化器项目,用于在 Hadoop map-reduce 框架之上创建通用机器学习算法的高度可扩展分布式实现。
自然语言处理工具
LingPipe - (技术上不是“开源”,见下文)Alias-I 的 Lingpipe 是一套用于文本语言处理的 Java 工具,包括实体提取、语音标记 (pos)、聚类、分类等... 是业界最成熟、应用最广泛的开源 NLP 工具包之一。它以其速度、稳定性和可扩展性而闻名。它的最佳功能之一是大量精心编写的教程,可帮助您入门。他们有一个竞争链接列表,包括学术和工业工具。请务必查看他们的博客。 LingPipe 是在包含源代码的免版税商业许可下发布的,但从技术上讲它不是“开源”。
OpenNLP - 托管各种基于 Java 的 NLP 工具,这些工具执行句子检测、标记化、词性标记、分块和解析、命名实体检测以及使用Maxent 机器学习包。
Stanford Parser and Part-of-Speech (POS) Tagger - 斯坦福 NLP 小组的用于句子解析和词性标注的 Java 包。它具有概率自然语言解析器的实现,包括高度优化的 PCFG 和词法依赖解析器,以及词法 PCFG 解析器。它具有完整的 GNU GPL 许可证。
OpenFST - 用于操作加权有限状态自动机的包。这些通常用于表示概率模型。它们用于为语音识别、OCR 纠错、机器翻译和各种其他任务的文本建模。该库由 Google Research 和 NYU 的贡献者开发。它是一个 C++ 库,旨在快速且可扩展。
NTLK - 自然语言工具包是用于教学和研究分类、聚类、语音标记和解析等的工具。它包含一组用于实验的教程和数据集。它由墨尔本大学的 Steven Bird 撰写。
意见查找器 - 一个执行主观分析的系统,自动识别意见、情绪、推测和其他私人状态何时出现在文本中。具体来说,OpinionFinder 旨在识别主观句子并标记这些句子中主观性的各个方面,包括主观性的来源(持有者)以及表达积极或消极情绪的短语中包含的单词。
Tawlk/osae - 用于对社交文本进行情感分类的 Python 库。最终目标是拥有一个“正常工作”的简单库。它应该有一个容易进入的障碍,并有完整的记录。我们使用在 negwords.txt 和 poswords.txt 上收集的推文进行停用词过滤,实现了最佳准确性
GATE - GATE 已有 15 年以上的历史,并且正在积极用于涉及人类语言的所有类型的计算任务。 GATE 擅长各种形状和大小的文本分析。从大公司到小型初创公司,从价值数百万欧元的研究联盟到本科项目,我们的用户社区是此类系统中最大和最多样化的,并且分布在除一个大陆之外的所有大陆1。
textir - 一套用于文本和情感挖掘的工具。这包括用于稀疏多项逻辑回归的“mnlm”函数、简洁的偏最小二乘例程“pls”和用于在潜在主题模型中进行有效估计和维度选择的“topics”函数。
NLP 工具套件 - 这里的 JULIE 实验室提供了一个全面的 NLP 工具套件,用于语义搜索、信息提取和文本挖掘等应用目的。我们不断扩展的大部分工具套件都基于机器学习方法,因此与领域和语言无关。
...
附带说明:您会推荐 twitter 流式传输还是 get API?
就我而言,我是 python 和 java 的粉丝 ;)
非常感谢您的帮助!!!
【问题讨论】:
【参考方案1】:我不确定我能提供多少帮助,但我以前曾使用过手动 NLP。我想到了几个问题 - 并非所有产品都与语言无关(即人类语言,而不是计算机语言)。如果您打算分析德语推文,那么您选择的产品能够处理德语就很重要。很明显我知道,但很容易忘记。还有一个事实是,在 Twitter 上,缩略词和首字母缩略词比比皆是,而且语言结构受到字符限制的限制,这意味着语法并不总是与语言的预期结构相匹配。
在英语中,如果您必须编写自己的代码,从句子中提取名词可以稍微简化一些。专有名词有首字母大写,一串这样的词(可能包括“of”)是名词短语的一个例子。以“a/an/my/his/hers/the/this/these/those”开头的词要么是形容词,要么是名词。不幸的是,之后变得更难了。
有一些规则可以帮助识别复数,但也有很多例外。我这里当然是说英语,我的德语口语很差,并不能帮助我理解我害怕的语法。
【讨论】:
以上是关于关于情感分析的自然语言处理工具列表-您推荐哪个[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
文本情感分析的基础在于自然语言处理情感词典机器学习方法等内容。以下是我总结的一些资源。
论文推荐最新十二篇情感分析相关论文—自然语言推理框架网络事件多任务学习实时情感变化检测多因素分析深度语境词表示