给定一个单词,我们可以使用 Spacy 得到它所有可能的引理吗?

PSK*_*PSK 3 python nlp lemmatization spacy spacy-3

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

我为什么要这样做?

我从所有文档中提取了引理,并且还计算了引理之间的依赖链接的数量。这两件事我都使用过en_core_web_sm。现在,给定一个输入单词,我想返回与输入单词的所有可能引理最常链接的引理。

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

小智 7

我发现如果不先构建一个例句来给出上下文,就很难直接从 spaCy 中获得引理和词形变化。这并不理想,所以我进一步观察,发现LemmaInflect做得很好。

> from lemminflect import getAllLemmas, 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',)}
Run Code Online (Sandbox Code Playgroud)