我需要为关键字提取器找到一个与所有相关单词匹配的通用词根。
如何使用python nltk词法分析器将单词转换为相同的词根?
- 如:
- 泛化,泛化->一般
- optimal, optimized -> optimize (maybe)
- configure, configuration, configured -> configure
python nltk归纳器在使用词性(pos)标记参数时给出'generalize',用于'generalized'和'generalizing',但不用于'generalization'。
有办法做到这一点吗?
使用SnowballStemmer:
>>> from nltk.stem.snowball import SnowballStemmer
>>> stemmer = SnowballStemmer("english")
>>> print(stemmer.stem("generalized"))
general
>>> print(stemmer.stem("generalization"))
general
注:词源化与词干化密切相关。区别在于一个词干在不知道的情况下操作一个单词上下文,因此不能区分有根据词性不同有不同的含义
我看到的引理器的一个普遍问题是,它将更大的词识别为引理s。
的例子:在WordNet词法分析器(在NLTK中检查)中,
- generalized => generalalize
- Generalization => Generalization
- 概化=>概化
POS标签没有作为输入,所以它总是被认为是名词。