• 什么是命名实体识别:
      • 命名实体识别(Named Entity Recognition,NER)就是从一段自然语言文本中找出相关实体,并标注出其位置以及类型。是信息提取, 问答系统, 句法分析, 机器翻译等应用领域的重要基础工具, 在自然语言处理技术走向实用化的过程中占有重要地位. 包含行业, 领域专有名词, 如人名, 地名, 公司名, 机构名, 日期, 时间, 疾病名, 症状名, 手术名称, 软件名称等。具体可参看如下示例图:

    6.1 命名实体识别介绍 - 图1
    6.1 命名实体识别介绍 - 图2
    6.1 命名实体识别介绍 - 图3


    • 命名实体识别的作用:
      • 识别专有名词, 为文本结构化提供支持.
      • 主体识别, 辅助句法分析.
      • 实体关系抽取, 有利于知识推理.

    • 命名实体识别常用方法:
      • 基于规则: 针对有特殊上下文的实体, 或实体本身有很多特征的文本, 使用规则的方法简单且有效. 比如抽取文本中物品价格, 如果文本中所有商品价格都是“数字+元”的形式, 则可以通过正则表达式”\d*.?\d+元”进行抽取. 但如果待抽取文本中价格的表达方式多种多样, 例如“一千八百万”, “伍佰贰拾圆”, “2000万元”, 遇到这些情况就要修改规则来满足所有可能的情况. 随着语料数量的增加, 面对的情况也越来越复杂, 规则之间也可能发生冲突, 整个系统也可能变得不可维护. 因此基于规则的方式比较适合半结构化或比较规范的文本中的进行抽取任务, 结合业务需求能够达到一定的效果.
        • 优点: 简单, 快速.
        • 缺点: 适用性差, 维护成本高后期甚至不能维护.

    • 基于模型: 从模型的角度来看, 命名实体识别问题实际上是序列标注问题. 序列标注问题指的是模型的输入是一个序列, 包括文字, 时间等, 输出也是一个序列. 针对输入序列的每一个单元, 输出一个特定的标签. 以中文分词任务进行举例, 例如输入序列是一串文字: “我是中国人”, 输出序列是一串标签: “OOBII”, 其中”BIO”组成了一种中文分词的标签体系: B表示这个字是词的开始, I表示词的中间到结尾, O表示其他类型词. 因此我们可以根据输出序列”OOBII”进行解码, 得到分词结果”我\是\中国人”.
      • 序列标注问题涵盖了自然语言处理中的很多任务, 包括语音识别, 中文分词, 机器翻译, 命名实体识别等, 而常见的序列标注模型包括HMM, CRF, RNN, LSTM, GRU等模型.
      • 其中在命名实体识别技术上, 目前主流的技术是通过BiLSTM+CRF模型进行序列标注, 也是项目中要用到的模型.

    • 医学文本特征:6.1 命名实体识别介绍 - 图4
      • 简短精炼
      • 形容词相对较少
      • 泛化性相对较小
      • 医学名词错字率比较高
      • 同义词、简称比较多

    • 小节总结:
      • 学习了什么是命名实体识别
      • 学习了命名实体识别的作用
      • 学习了命名实体识别常用方法
      • 学习了医学文本特征