在MATCHER规则内设置标签?

时间:2019-08-01 16:05:23

标签: python nlp spacy

使用Matcher()规则,可以在规则f中直接在令牌上标记/设置“标签”。 :

[{ 'DEP' : 'ROOT', 'SET_LABEL' : 'ACTION' }],
......... many more ....

,然后在python代码中:

if token.label == 'ACTION' : ........

如果每个人都使用不同的LABEL的模式更多,则使用on_match不会很有用,因为没有发生MATCH的反馈!

理想的情况是使用某种后spacy的“解析器”来对spacy提供的标记信息起作用。

1 个答案:

答案 0 :(得分:3)

您应该进一步阅读该文档,但是基本上可以创建一个名为patterns.jsonl的文件,其中填充了如下所示的规则:

{"label": "LOGGIA", "pattern": [{"LOWER":"loggia"}]}

然后您可以使用:

访问标签
for ent in doc.ents :
        prediction.update({ent.label_ : ent.text})

如果您只希望使用标签而不需要其他标签,则可以使用nlp.disable_pipes('ner')。 看看https://course.spacy.io/,spacy不会有秘密。 希望这就是您所需要的