自然语言处理(NLP),尤其是英语,已经发展成为如果存在"完美"的引理词,词干将成为一种古老技术的阶段.这是因为词干分析器将单词/标记的表面形式改变为一些无意义的词干.
然后,"完美"变形器的定义是值得怀疑的,因为不同的NLP任务需要不同级别的词形还原.例如,在动词/名词/形容词形式之间转换单词.
词干
[in]: having
[out]: hav
Run Code Online (Sandbox Code Playgroud)
Lemmatizers
[in]: having
[out]: have
Run Code Online (Sandbox Code Playgroud)
所以问题是,英语词干器今天有用吗?因为我们有大量的英语词汇化工具
如果不是,那么我们应该如何着手构建强大的lemmatizers可以取nounify,verbify,adjectify和adverbify
预处理?
如何将词形还原任务轻松扩展到与英语具有相似形态结构的其他语言?
对于词形还原,spacy有一个单词列表:形容词,副词,动词......以及例外列表:adverbs_irreg ...对于常规词汇,有一套规则
我们以"更广泛"这个词为例
因为它是一个形容词,所以词典化的规则应该从这个列表中取出:
ADJECTIVE_RULES = [
["er", ""],
["est", ""],
["er", "e"],
["est", "e"]
]
Run Code Online (Sandbox Code Playgroud)
据我所知,这个过程将是这样的:
1)获取单词的POS标签,以了解它是否是名词,动词......
2)如果不是应用其中一个规则,则直接替换不正常情况列表中的单词.
现在,如何决定用"呃" - >"e"而不是"呃" - >""来获得"宽"而不是"wid"?
在这里它可以测试.