首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在spacy span对象中获取模式名?

如何在spacy span对象中获取模式名?
EN

Stack Overflow用户
提问于 2022-04-03 02:50:43
回答 1查看 197关注 0票数 0

我试图在文本中找到表情符号,当我这样做的时候,我把表情符号分为两类(正反两类),我可以得到表情符号,但我也需要得到模式名。

代码语言:javascript
复制
import spacy 
from spacy.matcher import Matcher 

nlp = en_core_web_md.load()
matcher = Matcher(nlp.vocab)

pos_emoji = ["", "", ""]
neg_emoji = ["", "", ""]


pos_patterns = [[{"ORTH": emoji}] for emoji in pos_emoji]
neg_patterns = [[{"ORTH": emoji}] for emoji in neg_emoji]

matcher.add("posEmoji", pos_patterns)
matcher.add("negEmoji", neg_patterns)


doc = nlp(" I love Zara ")
for mid, start, end in matcher(doc):
    print(start, end, doc[start:end])
    print(doc[start:end].name_)  # Here I need to get the pattern name 

请帮我找出图案名称,谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-04-03 09:30:33

mid ("match id")在mid, start, end中是匹配模式名称的哈希值。使用nlp.vocab.strings[mid]查找相应的字符串。

请参阅:https://spacy.io/usage/rule-based-matching#adding-patterns

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71722627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档