上述问题的解答:https://github.com/gutfeeling/word_forms!感谢@Divyanshu Srivastava
>>> from word_forms.word_forms import get_word_forms
>>> get_word_forms("president")
>>> {'n': {'presidents', 'presidentships', 'presidencies', 'presidentship', 'president', 'presidency'},
'a': {'presidential'},
'v': {'preside', 'presided', 'presiding', 'presides'},
'r': {'presidentially'}}
>>> get_word_forms("elect")
>>> {'n': {'elects', 'electives', 'electors', 'elect', 'eligibilities', 'electorates', 'eligibility', 'elector', 'election', 'elections', 'electorate', 'elective'},
'a': {'eligible', 'electoral', 'elective', 'elect'},
'v': {'electing', 'elects', 'elected', 'elect'},
'r': set()}
上一个答案:
反向词干提取是不可能的,因为大多数词干分析器使用应用于原始词的一些规则集来创建基本词。
但是有一种叫做实现(或“表面实现”)的崇高词形还原。
您可以使用一些公开的词形还原数据集/字典来做到这一点。
示例:https://raw.githubusercontent.com/richardwilly98/elasticsearch-opennlp-auto-tagging/master/src/main/resources/models/en-lemmatizer.dict [Apache OpenNLP]
我在 Python 中找不到直接库,但在 Java 中找到了一个 (pynlg)
此外:如果你有足够多的原始词,你可以创建一个反向词典来进行词形还原或词干提取!