当前位置:   article > 正文

spaCy V3.0 基于规则匹配(3)----基于规则的命名实体识别NER_spacy ner

spacy ner

EntityRuler是一个spaCy管道组件,可以通过基于patterns字典添加命名实体,能够方便基于规则和统计方式的命名实体识别方法相结合,从而实现功能更强大的spaCy管道。

1 实体patterns

实体patterns是一个字典,包含两个键:“label”,指定模式匹配时的实体标签,“pattern”,匹配模式。EntityRuler接受两种类型的pattern:

  • 1 用于精确字符匹配的短语模式(Phrase patterns):
  {
   "label": "PROPER_N", "pattern": "喘振区"}
  • 1
  • 2
  • 2 词符模式(Token patterns) ,用字典描述一个词符(Token)或词符(Token)列表:
{
   "label": "T", "pattern": [{
   "POS": "NOUN", "OP":"?"},{
   "POS": "NOUN"}, {
   "ORTH": "温度"}]}

#对于例句:  "冷渣器内部冷却水管泄漏造成灰渣板结。轴承绝缘击穿,电机漏磁电流通过轴承造成油膜破坏。"

#其结果为:轴承温度,盘根温度,电机线圈温度
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

2 EntityRuler的用法

EntityRuler是一个spaCy管道组件,通常通过nlp.add_pipe添加到spaCy管道。 当对文本调用nlp对象时,会在doc中找到匹配项,将其作为实体添加到doc.ents,并使用指定的pattern标签作为实体标签。如果有匹配项存在重叠,则以长度优先的模式匹配。等长时,则选择文档中先出现的匹配项。

nlp = spacy.load("zh_core_web_sm")
user_dict = get_user_dict('c:/user_dict.txt')
nlp.tokenizer.pkuseg_update_user_dict(user_dict)
ruler = nlp.add_pipe('entity_ruler')
patterns = [{
   "lab
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/814190
推荐阅读
相关标签
  

闽ICP备14008679号