命名实体识别 NER

文章目录

  • 搭建NER分类器
  • 评估NER分类器
  • NER方法
    • 基于规则的方法(Rule-based Approach)
    • 投票模型(Majority Voting)
    • 基于分类模型-----非时序模型:逻辑回归,SVM ...
      • 特征工程
      • Feature Encoding

搭建NER分类器

  1. 定义实体种类
  2. 准备训练数据
  3. 训练NER

评估NER分类器

精确率/召回率
F1-score

NER方法

  1. 基于规则(比如正则)
  2. 投票模型(Majority Voting)
  3. 利用分类模型
    1. 非时序模型:逻辑回归,SVM …
    2. 时序模型:HMM,CRF,LSTM-CRF

基于规则的方法(Rule-based Approach)

命名实体识别 NER_第1张图片

投票模型(Majority Voting)

简述:统计每一个单词的实体类型,记录针对于每一个单词,概率最大的实体类型。
该模型不需要训练,只需进行统计即可。
比如,我们想输入一句话中每个单词(这里以 phone 为例)的实体类型。

  1. 遍历语料库中所有的句子。
  2. 如果这个句子包含phone单词,那么记录下 它的实体类型 比如:count[’ B-tos '] ++.
  3. 当语料库中所有的句子都遍历了一遍后,那么phone最终的实体类型就是 数组count[ ]中值最大的一个(假设 类型‘B-tos’最大)。

该模型最大的缺点是,以后输出的所有单词的实体类型都固定了。比如这里的phone 以后就永远是 ‘B-tos’.

该模型优点是, 简单。而且效果不会特别差。一般作为基准模型。

基于分类模型-----非时序模型:逻辑回归,SVM …

该方法最只要的一步就是:特征工程

特征工程

在自然语言中常见的特征有:
这里以 “ The professor Colin proposed model for NER in 1999” 中的Colin为例

  1. Bag-of-word features

    • 当前词:Colin
    • 前后词:professor, proposed
    • 前前,后后词: the,model
    • Bi-gram: professor Colin, Colin Propused
    • Tri-gram: …
  2. 词性----features

    • 当前词:名词
    • 前后词:名词,动词
    • 前前后后词:冠词,名词
  3. 前缀和后缀

    • 当前词:Co, in
    • 前后词: pr, or, pr, ed
    • 前前后后词:… …
  4. 当前词的特性

    • 词长
    • 含有多少个大写字母
    • 是否大写开头
    • 是否包含 " - "
    • 前面词是否包含大写
    • 是否包含数字

Feature Encoding

常见的特征种类:离散型(Categoral),连续型(Continue),Ordinal Feature

  1. 离散型(Categoral feature)

  2. 连续型(Continue)
    比如身高:178,180
    A:将连续性数据 直接缩放到 (0, 1)之间
    B:将连续性数据 缩放到 高斯分布N(0, 1)之间
    C: 连续型 数据 离散化

  3. Ordinal Feature
    比如像 成绩排名:A,B,C,D,E. 就是一个 Ordinal Feature。总共虽然只有5类,但是类别之间是有大小区别的。比如这里 A - B == B - C.
    而离散型(Categoral feature) 的类之间是没有区别的,比如男,女.

处理Ordinal Feature的方法:

  1. 直接当成 连续型特征
  2. 进行one -hot
  3. List item

你可能感兴趣的:(自然语言处理,自然语言处理,机器学习)