首页 > 解决方案 > 给定一个词,我们可以使用 Spacy 获得所有可能的引理吗?

问题描述

输入词是独立的,不是句子的一部分,但我想获得它所有可能的引理,就好像输入词在具有所有可能 POS 标签的不同句子中一样。我还想获得单词引理的查找版本。

我为什么要这样做?

我已经从所有文档中提取了引理,并且我还计算了引理之间的依赖链接的数量。我已经使用en_core_web_sm. 现在,给定一个输入词,我想返回最常链接到输入词的所有可能词条的词条。

所以简而言之,我想token._lemma用所有可能的词性标签复制输入词的行为,以保持与我计算的引理链接的一致性。

标签: pythonnlpspacylemmatizationspacy-3

解决方案


我发现很难直接从 spaCy 中得到引理和变形,而不首先构造一个例句来给它上下文。这并不理想,所以我进一步观察,发现LemmaInflect做得很好。

> from lemminflect import getInflection, getAllInflections, getAllInflectionsOOV

> getAllLemmas('watches')
{'NOUN': ('watch',), 'VERB': ('watch',)}

> getAllInflections('watch')
{'NN': ('watch',), 'NNS': ('watches', 'watch'), 'VB': ('watch',), 'VBD': ('watched',), 'VBG': ('watching',), 'VBZ': ('watches',),  'VBP': ('watch',)}

推荐阅读