Python 空间模式
我正在用Spacy创建一个简单的程序来学习如何使用它。我创建了一个模式来识别用户何时输入“1天”或“3周”,如下所示:Python 空间模式,python,spacy,Python,Spacy,我正在用Spacy创建一个简单的程序来学习如何使用它。我创建了一个模式来识别用户何时输入“1天”或“3周”,如下所示: [{"IS_DIGIT": True},{"TEXT":"days"}], [{"IS_DIGIT": True},{"TEXT":"day"}]) 但是,我也希望它能够识别用户何时改为“4天”。我如何才能做到这一点?您可以通过以下方式实现: import
[{"IS_DIGIT": True},{"TEXT":"days"}],
[{"IS_DIGIT": True},{"TEXT":"day"}])
但是,我也希望它能够识别用户何时改为“4天”。我如何才能做到这一点?您可以通过以下方式实现:
import spacy
from spacy.matcher import Matcher
nlp = spacy.load("en_core_web_sm")
txt = "This will take 1 day. That will take 3 days. It may take up to 3 weeks."
doc = nlp(txt)
matcher = Matcher(nlp.vocab)
pattern = [{"IS_DIGIT":True},{"LEMMA":{"REGEX":"day|week|month|year"}}]
matcher.add("HERE_IS_YOUR_MATCH",None, pattern)
matches = matcher(doc)
for match_id, start, end in matches:
print(nlp.vocab.strings[match_id], doc[start:end])
HERE_IS_YOUR_MATCH 1 day
HERE_IS_YOUR_MATCH 3 days
HERE_IS_YOUR_MATCH 3 weeks
好的,谢谢!顺便问一下,你知道我该怎么做才能让模式同时识别“2天”和“4天”吗?你可能希望检查like_numtoken属性