序列标注

自然语言处理中的序列标注问题

在目前, 比较主流的技术是语言模型(如LSTM, BERT)+CRF(条件随机场)。想要了解CRF(条件随机场), 首先了解一下隐马尔可夫模型(Hidden Markov Model), 是一种概率图模型(CRF也是), 只要理解了HMM模型和维特比解码算法(viterbi algorothm), 理解条件随机场就成了分分钟的事.
1.NER(命名实体识别)问题概述;

命名实体识别(英语:Named Entity Recognition,简称NER), 是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等等, 并把我们需要识别的词在文本序列中标注出来。
例如有一段文本: 济南市成立自由贸易试验区.
我们要在上面文本中识别一些区域和地点, 那么我们需要识别出来内容有:
济南市(地点), 自由贸易试验区(地点).
在我们今天使用的NER数据集中, 一共有7个标签:

  1. "B-ORG": 组织或公司(organization)
  2. "I-ORG": 组织或公司
  3. "B-PER": 人名(person)
  4. "I-PER": 人名
  5. "O": 其他非实体(other)
  6. "B-LOC": 地名(location)
  7. "I-LOC": 地名

文本中以每个字为单位, 每个字必须分别对应上面的任一标签.
但为什么上面标签除了"O"(其他)之外都是一个实体类型对应两个标签呢?
请小伙伴们仔细看标签前面有分为"B"和"I"的不同, "B"表示begin, 实体开头的那个字使用"B"对应的标签来标注, 在实体中间或结尾的部分, 用"I"来标注.
比如说"自贸区"对应的标注是: 自(B-LOC)贸(I-LOC)区(I-LOC), 这三个字都对应一个"地名"的标签, 但是第一个字属于实体开头的字, 所以使用"B"开头的标签, 后面两个字的标签都是"I"开头.
注意, "B"后面是不可以跟其他类型的"I"的, 例如: 自(B-PER)贸(I-LOC)区(I-LOC) 就是属于错误的标注, 因为实体开头"B"标注成了人名, 即使实体中间标注成了地名, 这个实体的标注方法也是非法的.
上面的原因就是我们要从语言模型(例如BERT, LSTM)后面再加上概率图模型, 例如条件随机场, 用来约束模型的输出, 防止出现不合规的标注输出.

2.什么是隐马尔可夫模型(HMM);

的的第三方
3.HMM模型的参数;

反射否
4.用HMM解决序列标注问题, HMM的学习算法;

发顺丰
5.维特比算法(Viterbi Algorithm)(HMM的预测算法).

唯品会:HMM和CRF的优缺点


 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页