我寻找该需要的话和标记化的许多100s -1的长字符串,移除停止词和茎用在IR系统一个类或方法。

例如:

  

“的大肥猫,说: '你最有趣的家伙,我知道' 的袋鼠......”

标记生成器将消除标点和返回话的ArrayList

停用词去除器将消除字,如“该”,“为”等等

的词干将减少每个字中的他们的“根”,例如,“最有趣”将变得有趣

预先非常感谢。

有帮助吗?

解决方案

据我所知 Lucene的可以做你想做的。随着StandardAnalyzerStopAnalyzer你可以停止词删除。在与Lucene contrib-snowball(其中包括来自雪球工作)的项目,你可以做太多的词干组合。

但也制止考虑这个回答:词干算法产生真实字

其他提示

这些是在自然语言处理的标准要求,所以我会看起来在这样的工具包。既然你需要Java我与OpenNLP开始: http://opennlp.sourceforge.net/

如果你可以看看其他语言也有NLTK(蟒蛇)

请注意“你最有趣的家伙,我知道”不规范的语法,这使得它更难比“你是我知道的最有趣的人”的过程。不是不可能,但更难。我不知道那将等同于任何系统的“你”到“你”。

我已经处理了一些我合作过的任务的问题,所以让我给一个标记建议。由于我没有看到它直接给出答案,我经常用edu.northwestern.at.utils.corpuslinguistics.tokenizer.*为我的家人断词的。我看到一些我曾经的PennTreebankTokenizer类案件。这里是你如何使用它:

    WordTokenizer wordTokenizer = new PennTreebankTokenizer();
    List<String> words = wordTokenizer.extractWords(text);

这项工作的联系是这里。只是一个声明,我与西北,组,或他们的工作没有隶属关系。我只是有人谁使用代码偶然。

下面是noreferrer"> NLP工具共英语 - words.txt

下面是许多 Java实现看门stemer 的)中的一个。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top