【发布时间】:2022-08-14 21:45:54
【问题描述】:
我正在研究 spacy,需要从文本中找到一些信息,例如电子邮件、电话号码和多个值。下面是我的代码。但是,我在匹配器中做错了一些事情,因此我没有得到想要的输出。下面是代码。
import spacy
nlp = spacy.load(\"en_core_web_sm\")
from spacy.matcher import Matcher
matcher = Matcher(nlp.vocab)
my_pattern = [{\"LOWER\": \"email\"}, {\"LOWER\": \"phone\"}]
matcher.add(\'MyPattern\', [my_pattern])
my_text = \"email: kashif.jilani@sample.com, phone: 1234567\"
my_doc = nlp(my_text)
desired_matches = matcher(my_doc)
for match_id, start, end in desired_matches:
string_id = nlp.vocab.strings[match_id]
span = my_doc[start:end]
print(span.text)