13

我想知道什么是最好的基于 Java 的开源文本挖掘框架,以使用 botg 机器学习和字典方法。

我正在使用 Mallet,但没有那么多文档,我不知道它是否符合我的所有要求。

4

7 回答 7

6

老实说,我认为这里提供的几个答案非常好。但是,为了满足我的要求,我选择将Apache UIMAClearTK一起使用。它支持多种 ML 方法,我没有任何许可证问题。另外,我可以对其他 ML 方法进行封装,并利用 UIMA 框架,该框架组织良好且速度快。

谢谢大家有趣的答案。

最好的问候,乌克兰

于 2010-03-04T15:14:22.823 回答
4

虽然不是专门的文本挖掘框架,但Weka有许多通常用于文本挖掘任务的分类器,例如:SVM、kNN、多项式 NaiveBayes 等。

它还有一些过滤器可以处理文本数据,例如StringToWordVector可以执行 TF/IDF 转换的过滤器。

查看Weka wiki网站了解更多信息。

于 2010-02-20T18:49:17.403 回答
2

您可能已经了解 GATE: http: //gate.ac.uk/

...但这就是我们(在我的日常工作中)用于许多不同文本挖掘问题的方法。它非常灵活和开放。

于 2010-02-20T22:49:06.657 回答
2

我使用LingPipe——一套用于人类语言语言分析的 Java 库——用于文本挖掘(和其他相关)任务。

它是一个文档齐全的软件包,该站点包含几个教程,这些教程彻底解释了如何使用 LingPipe 完成特定任务,例如命名实体识别。还有一个新闻组,您可以在其中发布有关软件(或 NLP 相关任务)的任何问题,并得到软件包作者本人的及时回复;当然还有博客

源代码也很容易理解并且有据可查,对我来说,这总是一个很大的优势。

至于机器学习算法,有很多,从朴素贝叶斯到条件随机场。另一方面,对于字典匹配算法,它们有一个ExactDicitonaryChunker,它是 Aho-Corasich 算法的一个实现(这个任务的一个非常非常快的算法)。

总而言之,我认为它是 Java 最好的 NLP 软件包之一(我没有使用过那里的每一个软件包,所以我不能说它是最好的),我绝对推荐它来完成以下任务你手头有。

于 2010-02-20T20:32:27.150 回答
2

也许看看Java Open Source NLP and Text Mining tools

于 2010-02-20T19:10:51.637 回答
1

我使用 OpenNLP MaxEnt http://sourceforge.net/projects/maxent/为 CoNLL 数据构建了一个最大熵命名实体识别器,用于一次课程。

虽然需要使用自定义 perl 脚本进行大量数据预处理,但确实可以将所有特征提取到漂亮的数字向量中。

于 2010-02-20T22:54:04.617 回答
0

我们使用 lucene 处理来自互联网的实时流。它有一个原生的java api。

http://lucene.apache.org/java/docs/

然后,您可以使用 mahout,它是一组在 lucene 之上运行的机器学习算法。

http://lucene.apache.org/mahout/

于 2010-02-20T19:46:22.107 回答