java - 如何将复数名词转换为单数名词

标签 java nlp

在最近的一个项目中,我面临着将复数名词转换为单数形式的任务。我知道一些词性标记算法和工具可以识别名词的复数形式并将其标记为“NNS”,但我不知道有任何算法可以将它们转换为单数形式。我尝试过词干提取,但词干提取似乎过于激进,无法转换单词。它给出了这样的东西:

parties -> parti

但我想要的是:

fish -> fish
classes -> class
parties -> party
goods -> goods
cups -> cup

如果没有一本包含每个英文单词的大字典,这似乎是一个难题。有没有成熟的算法可以做到?我也很高兴了解是否有任何库可以做到这一点,尤其是 Java 中的库。谢谢。

最佳答案

您想要的是词形还原器而不是词干分析器。 java中有多种实现。我发现斯坦福 CoreNLP 最容易从命令行使用。 Morpha 也相当受欢迎。

PS您的问题是重复的。我回答这个问题是因为通过谷歌找到答案非常困难。

关于java - 如何将复数名词转换为单数名词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23946819/

相关文章:

python - 从Python和标点符号列表中删除表情符号和@users,NLP问题,我的表情符号功能不起作用

nlp - 如何使用自然语言处理来检查段落是否包含预定义的主题?

java - Libgdx 中的返回键

java - 自定义字符串分隔符 stringtemplate-4

java - 正则表达式非法重复

python - MultiheadAttention 中的 attn_output_weights

Wink Tokenizer JS 的 Python 替代(等效)

java - 如何在Spring Controller 中从URL服务器inputStream

java - 使用 log4j 在一行中获取多个日志

java - 如何从文本中提取命名实体+动词