java - 斯坦福自然语言处理 (StanfordNLP) 词形还原无法处理 -ing 单词

标签 java nlp stanford-nlp stemming lemmatization

我一直在尝试斯坦福 NLP 工具包及其词形还原功能。我很惊讶它如何对某些单词进行词形还原。例如:

depressing -> depressing
depressed -> depressed
depresses -> depress

它无法将 depressingdepressed 转换为相同的引理。类似的情况也发生在令人困惑困惑无望无望。我感觉它唯一能做的就是删除 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/

相关文章:

python - 处理 "StanfordTokenizer will be deprecated in version 3.2.5"警告

java - 在窗口关闭时销毁存储在数据库中的用户 session

java - 使用 Gson-extras 反序列化带有 transient 变量的多态 JSON

java - Wicket - 每次 ajax 刷新组件时执行 javascript

python - scikit-learn:FeatureUnion 包含手工制作的功能

nlp - Apache UIMA 与 Apache Opennlp 有何不同

nlp - 为什么在本地运行 CoreNLP 时 'corenlp.run' 会产生不同的结果?

java - 如何才能让 Eclipse 在我编辑代码时自动更新窗口中的代码?

Python beam 搜索生成相同序列的 Keras LSTM 模型

nlp - 我可以使用哪些工具来查找词性模式