【发布时间】:2019-07-27 11:56:21
【问题描述】:
我在下面运行简单的代码来获取包含单词的所有标记(例如,包含acompared、notcompared、thiscompared的单词)。
但是,spaCy 正则表达式不返回任何内容。 python re上的正则表达式单词fine。
能否让我知道这是否是 spaCy 问题或如何解决该问题?
它返回 [],空列表。
import plac
from spacy.lang.en import English
from spacy.matcher import PhraseMatcher, Matcher
from spacy.tokens import Doc, Span, Token
import spacy
nlp = spacy.load("en_core_web_sm")
text = """
"Net income was $9.4 million acompared to the prior year of $2.7
million.",
"Revenue exceeded twelve billion dollars, with a loss of $1b. run",
"""
doc = nlp(text)
pattern = [{"LOWER": {"REGEX": "\b\wcompared\w\b"}}]
matcher = Matcher(nlp.vocab)
matcher.add("item", None, pattern )
matches = matcher(doc)
print(matches)
print(matcher)
此代码应返回“比较”令牌的位置。
【问题讨论】:
-
我没有看到这个正则表达式也适用于 python re,因为你有
\wcompared\w所以它会尝试匹配word followed by compared followed by word (surrounded by word boundaries )这在文本中不可用