Giter Club home page Giter Club logo

chinese_ner_tensorflow's Introduction

该模型是一个基于字符的BiLSTM-CRF序列标注模型。

运行代码环境:Python 3 和TensorFlow 1.2

模型介绍

整个模型共分三层:

第一层:向量查找层。目的是将输入的字符汉字转化为对应的字符向量(采用的是one-hot方法)

第二层:双向LSTM。目的是有效地自动提取输入信息的特征。

第三层:CRF层。顶层使用CRF对句子中的字符打标签,完成标注。

Network

训练方法

输入如下命令,开始训练模型

python main.py --mode train --dataset_name MSRA

语料库选择,修改--dataset_name参数(MSRA, ResumeNER, WeiboNER,人民日报)

使用预训练的字向量,设置参数--use_pre_emb true,默认为false

备注:(增加了自动选择对应数据集tag的功能)

训练其他语料库的话,由于不同语料库的实体类别可能存在差异,需要修改data.py代码中的tag2label, 如果需要运行demo,还需要修改utils.py里的get_entity()系列方法

MSRA实体类别 标签(BIO标记法)
人名 B-PER I-PER
地名 B-LOC I-LOC
机构名 B-ORG I-ORG
人民日报实体类别 标签(BIO标记法)
人名 B-PERSON I-PERSON
普通地名 B-LOC I-LOC
行政区划地名 B-GPE I-GPE
机构名 B-ORG I-ORG
其他 B-MISC I-MISC
WeiboNER实体类别 标签(BIO标记法)
人名 B-PER.NAM I-PER.NAM
地名 B-LOC.NAM I-LOC.NAM
机构名 B-ORG.NAM I-ORG.NAM
GPE-political B-GPE.NAM I-GPE.NAM
人名(nominal) B-PER.NOM I-PER.NOM
地名(nominal) B-LOC.NOM I-LOC.NOM
机构名(nominal) B-ORG.NOM I-ORG.NOM
ResumeNER实体类别 标签(IOBES标记法)
人名 B-NAME M-NAME E-NAME、S-NAME
民族/种族 B-RACE M-RACE E-RACE、S-RACE
国家 B-CONT M-CONT E-CONT、S-CONT
地名 B-LOC M-LOC E-LOC、S-LOC
专业 B-PRO M-PRO E-PRO、S-PRO
学历 B-EDU M-EDU E-EDU、S-EDU
职位 B-TITLE M-TITLE E-TITLE、E-TITLE
组织机构 B-ORG M-ORG E-ORG 、S-ORG

测试方法

输入如下命令完成测试集测试

python main.py --mode test --dataset_name MSRA --demo_model 1522858865

备注:训练过程中,每开始一次都会在“data_path_save/”目录下产生一个文件夹(以时间转换为整数来命名的),将训练的参数保存。 当测试的时候,想用哪次训练的参数进行测试,就将该次训练的文件名赋值给“--demo_model",即替换上面命令中的"1522858865"。 ”1522858865“是我在训练时的最后参数。

演示

在这里可以输入一段文本,查看识别结果。

运行命令如下;

python main.py --mode demo --dataset_name MSRA --demo_model 1522858865

运行程序后,会提示输入一段文本,输入后就可以看到通过该代码识别的结果。

demo

参考

[1] Determined22/zh-NER-TF

chinese_ner_tensorflow's People

Contributors

jhwen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.