小编Vic*_*ia 的帖子

如何避免使用 Matcher 在 SpaCy 中重复提取重叠模式?

我需要通过 python Spacy Matcher 从 2 个列表中提取项目组合。问题如下:让我们有2个列表:

colors=['red','bright red','black','brown','dark brown']
animals=['fox','bear','hare','squirrel','wolf']
Run Code Online (Sandbox Code Playgroud)

我通过以下代码匹配序列:

first_color=[]
last_color=[]
only_first_color=[]
for color in colors:
    if ' ' in color:
        first_color.append(color.split(' ')[0])
        last_color.append(color.split(' ')[1])
    else:
        only_first_color.append(color)
matcher = Matcher(nlp.vocab)

pattern1 = [{"TEXT": {"IN": only_first_color}},{"TEXT":{"IN": animals}}]
pattern2 = [{"TEXT": {"IN": first_color}},{"TEXT": {"IN": last_color}},{"TEXT":{"IN": animals}}]

matcher.add("ANIMALS", None, pattern1,pattern2)

doc = nlp('bright red fox met black wolf')

matches = matcher(doc)

for match_id, start, end in matches:
    string_id = nlp.vocab.strings[match_id]  # Get string representation
    span = doc[start:end]  # The matched …
Run Code Online (Sandbox Code Playgroud)

python nlp matcher spacy

9
推荐指数
2
解决办法
1274
查看次数

标签 统计

matcher ×1

nlp ×1

python ×1

spacy ×1