标记化器,停止字删除,在java中词干生成

rmbxnbpk  于 2021-07-05  发布在  Java
关注(0)|答案(4)|浏览(420)

我正在寻找一个类或方法,需要一个长字符串的许多100个字和标记,删除停止字和词干在红外系统中使用。
例如:
“大肥猫,对袋鼠说‘我认识的最有趣的家伙’…”
标记器将删除标点符号并返回 ArrayList 字里行间
停止词删除器会删除诸如“the”、“to”等词
词干分析器会减少每个单词的“词根”,例如“funniest”会变得有趣
非常感谢。

nbnkbykc

nbnkbykc1#

阿法克·卢克内可以做你想做的事。与 StandardAnalyzer 以及 StopAnalyzer 你可以停止删除单词。结合 Lucene contrib-snowball (其中包括从雪球的工作)项目你也可以做词干。
但是对于词干分析,也要考虑以下问题的答案:生成真实单词的词干分析算法

xzlaal3s

xzlaal3s2#

下面是nlp工具的综合列表。有时自己创建这些代码是有意义的,因为它们会更轻,而且您可以对内部工作有更多的控制:使用简单的正则表达式进行标记化。对于停止词,只需将下面的列表或其他列表推到哈希集中:
通用英语单词.txt
下面是porter(stemer)的许多java实现之一。

apeeds0o

apeeds0o3#

我已经处理了许多我曾经处理过的任务中的问题,所以让我给出一个标记器建议。由于我不认为这是一个直接给出的答案,我经常使用 edu.northwestern.at.utils.corpuslinguistics.tokenizer.* 作为我的标记者家族。我看到了一些我使用 PennTreebankTokenizer 班级。以下是您如何使用它:

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

这项工作的链接在这里。只是一个免责声明,我与西北大学,该集团,或他们的工作没有任何联系。我只是偶尔使用代码的人。

xfb7svmp

xfb7svmp4#

这些是自然语言处理中的标准要求,所以我会查看这些工具箱。既然您需要java,我就从opennlp开始:http://opennlp.sourceforge.net/
如果你可以看看其他语言,还有nltk(python)
请注意,“我认识的最搞笑的家伙”不是标准语法,这比“你是我认识的最搞笑的家伙”更难处理。不是不可能,但更难。我不知道有什么系统能把“你的”等同于“你是”。

相关问题