链氪巴士
  1. 首页
  2. 站点导航
  3. 文章
  4. 快讯
  5. 软件
  6. 书刊
  7. 关于

zh-NER-TF:简单的中文命名实体识别BiLSTM-CRF模型

该项目是一个基于Python3和TensorFlow1.2构建的用于中文命名实体识别的BiLSTM - CRF模型。旨在识别PERSON、LOCATION和ORGANIZATION三种命名实体。包含模型结构、数据集来源与格式、运行方式等多方面内容,是一个较为完整的中文命名实体识别...

访问官网 →

【Github】项目名:zh – NER – TF:简单的中文命名实体识别BiLSTM – CRF模型

项目简介

该仓库包含构建一个非常简单的基于字符的BiLSTM – CRF序列标记模型的代码,用于中文命名实体识别任务。目标是识别三种类型的命名实体:PERSON(人物)、LOCATION(地点)和ORGANIZATION(组织)。代码基于Python3和TensorFlow1.2运行,并且参考了https://github.com/guillaumegenthial/sequence_tagging。

项目结构

模型结构方面,第一层为查找层,将每个字符的独热向量转换为字符嵌入,这里是随机初始化嵌入矩阵,后续可添加语言知识。第二层是BiLSTM层,可有效利用过去和未来的输入信息并自动提取特征。第三层是CRF层,对句子中的每个字符进行标记,相比Softmax层,它能利用句子级别的标记信息并对不同标记之间的转换行为进行建模。

数据集

数据集看起来像是MSRA语料库的一部分,从./data_path/original/link.txt中的链接下载。./data_path包含预处理的数据文件(train_data和test_data)以及将每个字符映射到唯一id的词汇文件word2id.pkl。数据文件的格式为每个字符后跟着其所属的标记,如“中B – LOC”。如果要使用自己的数据集,需要将语料库转换为上述格式并生成新的词汇文件。

运行方式

训练:python main.py –mode = train;测试:python main.py –mode = test –demo_model = 1521112368(1521112368是作者训练的模型,可设置为想要测试的模型);演示:python main.py –mode = demo –demo_model = 1521112368,可以输入一个中文句子,模型将返回识别结果。

项目总结

这个项目提供了一个简单有效的中文命名实体识别的模型实现,从模型结构到数据集处理以及运行方式都有详细的说明。欢迎大家留言讨论关于这个项目的任何想法或者改进建议。

项目地址

GitHub链接直达