python - 在 MATCHER 规则中设置标签?
问题描述
使用 Matcher() 规则,有一种方法可以在规则 fe 中直接在令牌上标记/设置“标签”:
[{ 'DEP' : 'ROOT', 'SET_LABEL' : 'ACTION' }],
......... many more ....
然后在python代码中:
if token.label == 'ACTION' : ........
如果您有更多的模式每个人都使用不同的 LABEL,那么使用 on_match 是没有用的,因为没有反馈发生了哪个 MATCH !?
理想的东西将是一种后spacy“解析器”,它作用于spacy提供的标记信息。
解决方案
您应该进一步阅读文档,但基本上您可以拥有一个名为 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 不会有秘密。希望这是你需要的
推荐阅读
- eclipse - 在 Eclipse 中通过 Ivy / Ant 使用本地依赖项
- python - opencv python中的detectAndCompute()方法给出命令行错误
- docker - 如何确认在 docker 容器中进行的安装
- typescript - vscode - “实现接口” -> 禁用内联导入
- python-3.x - 将参数传递给 for 循环中的视图函数(表单)以填充表单烧瓶 wtforms sqlalchemy
- drake-r-package - bind_plans 和地图转换
- angular - BehaviorSubject 未返回角度的最新值
- rstudio - R Studio 字体输出
- mysql - 删除 SQL 表中的重复条目?
- python-3.x - python中的图像压缩