gpt4 book ai didi

python - 使 SpaCy 基于规则的匹配运算符变得贪婪

转载 作者:行者123 更新时间:2023-12-04 17:34:25 25 4
gpt4 key购买 nike

<分区>

将 SpaCy 的基于规则的模式匹配器与“+”运算符结合使用,我得到了可能的最长跨度(以及其中的所有跨度)。我想知道是否有办法只返回最长的跨度。

import spacy
nlp = spacy.load('en_core_web_sm')
from spacy.matcher import Matcher
matcher = Matcher(nlp.vocab)

doc = nlp("I have a BA in English Literature. I received a certificate in Computational Linguistics. I have a Computer Science BA.")

matcher.add("education", None,
[{'TAG': 'NN'}, {'POS': 'ADP'}, {'POS': 'PROPN', 'OP': '+'}],
[{'POS': 'PROPN', 'OP': '+'}, {"POS": "NOUN"}])

matches = matcher(doc)

for match_id, start, end in matches:
# Get the matched span
matched_span = doc[start:end]
print(matched_span.text)

输出是:

英语学士学位

英语文学学士

计算证书

计算语言学证书

科学学士

计算机科学学士学位

有没有一种简单的方法让它只返回“最贪婪”的跨度? (例如“英语文学学士学位”、“计算语言学证书”和“计算机科学学士学位”?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com