【发布时间】:2019-02-17 07:52:50
【问题描述】:
我输入的句子包含我需要匹配的自定义多词实体,因此为此我使用了出色的 spacy-lookup 库。但是,它有一个缺陷。它无法识别它作为实体的句子中的复数词。例如,如果我将banana 声明为一个实体,并将short blue bananas 作为一个句子,它不会识别出bananas 是一个实体。我目前对此的“修复”是做这样的事情:
# Start by lowering inputLine (just in case) and removing any whitespace trailing/leading.
doc = nlp(inputLine.lower().strip())
# Lemmatize the words so things like bananas => banana.
words = list(map(lambda token: token.lemma_, doc))
lemmatized = ' '.join(words)
基本上在原始句子上运行 nlp 并将引理串在一起以创建一个新句子。但是,这需要我在词形化的句子上运行 nlp 以使用 spacy-lookup 提取实体,而这只是感觉......错了。我是否在管道中遗漏了一些东西,使 spacy-lookup 能够检查引理而不是原始单词,因此只需要调用一次 nlp?
【问题讨论】:
-
成员变量
lemma_包含什么? -
它包含
banana,这是我需要的。