我使用Spacy创建了一个简单的程序来学习如何使用它。我创建了一个模式来识别用户何时输入“ 1天”或“ 3周”,如下所示:
[{"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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句