我一直在尝试斯坦福 NLP 工具包及其词形还原功能。我很惊讶它如何对某些单词进行词形还原。例如:
depressing -> depressing
depressed -> depressed
depresses -> depress
它无法将 depressing
和 depressed
转换为相同的引理。类似的情况也发生在令人困惑
和困惑
、无望
和无望
。我感觉它唯一能做的就是删除 s
如果这个词是这样的形式(例如 feels -> Feel
)。对于英语 Lematizatiors 来说,这种行为正常吗?我希望他们能够将常见单词的这种变体转化为相同的引理。
如果这是正常的,我应该使用词干分析器吗?并且,有没有办法在StanfordNLP中使用像Porter(Snowball等)这样的词干分析器?他们的文档中没有提到词干分析器;但是,API 中有一些 CoreAnnotations.StemAnnotation
。如果斯坦福NLP 无法实现,您建议在 Java 中使用哪些词干分析器?
最佳答案
词形还原很大程度上取决于标记的词性。只有具有相同词性的标记才会映射到相同的引理。
在句子“This is fusion”中,confused
被作为形容词进行分析,因此它被词形还原为 confused
。相比之下,在句子“我将你与其他人混淆了”中,confusing
被分析为动词,并被词形还原为 confuse
。
如果您希望将不同词性的标记映射到相同的引理,您可以使用词干算法,例如 Porter Stemming ,您可以简单地在每个 token 上调用它。
关于java - 斯坦福自然语言处理 (StanfordNLP) 词形还原无法处理 -ing 单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30210494/