背景
上篇文章【NLP】再看隐马尔可夫模型(HMM)原理已经介绍了隐马尔可夫模型的基本理论和相关概念。命名实体识别(named entity recognition, NER)又是NLP领域一项非常基础的任务也是信息抽取,知识图谱等领域中非常基础的内容。下面我们来看看如何使用HMM进行NER任务。程序数据与源码已上传GitHub:https://github.com/Htring/HMM_NER.
实验数据
程序里使用的数据来源与项目:https://github.com/luopeixiang/named_entity_recognition 的简历NER数据.
为了能够使用seqeval工具评估模型效果,将原始数据中“M-”开头的标签处理为“I-”.
模型实现
模型实现主要包含三个模块:
- 数据加载模块
- HMM模型实现模块
- 模型训练和模型使用模块
数据加载模块
延续以往书写dat