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

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 请帮我找出图案名称,谢谢
发布于 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
https://stackoverflow.com/questions/71722627
复制相似问题