很久前做过一个命名实体识别的模块,现在有时间,记录一下. 一.要识别的对象 人名.地名.机构名 二.主要方法 1.使用CRF模型进行识别(识别对象都是最基础的序列,所以使用了好评率较高的序列识别算法CRF) 2.使用规则对相关数据进行后过滤. 三.具体实现 1.训练数据的生成 主要使用了人民日报免费部分,以及一些及它从网上找到的资源(时间长了,记不住了,好像还自己标注了些) 2.模板的生成    使用的是Unigram,由于考虑到要识别的实体一般情况下没有长距离依赖 以及训练时的效率问题,所以模…
follow: https://github.com/zjy-ucas/ChineseNER  这里边主要识别的实体如图所示,其实也就主要识别人名PER,机构ORG和地点LOC: B表示开始的字节,I表示中间的字节,E表示最后的字节,S表示该实体是单字节 例子:        实现架构: 1. 读取数据集,数据集共三个文件,训练集,交叉测试集和测试集,文件中每一行包含两个元素,字和标识.每一句话间由一个空格隔开                2. 处理数据集     1) 更新数据集中的标签,如…
三个月之前 NLP 课程结课,我们做的是命名实体识别的实验.在MSRA的简体中文NER语料(我是从这里下载的,非官方出品,可能不是SIGHAN 2006 Bakeoff-3评测所使用的原版语料)上训练NER模型,识别人名.地名和组织机构名.尝试了两种模型:一种是手工定义特征模板后再用CRF++开源包训练CRF模型:另一种是最近两年学术界比较流行的 BiLSTM-CRF 模型. 小白一枚,简单介绍一下模型和实验结果,BiLSTM-CRF 模型的数据和代码在GitHub上. 命名实体识别(Named…
pytorch实现BiLSTM+CRF用于NER(命名实体识别)在写这篇博客之前,我看了网上关于pytorch,BiLstm+CRF的实现,都是一个版本(对pytorch教程的翻译), 翻译得一点质量都没有,还有一些竟然说做得是词性标注,B,I,O是词性标注的tag吗?真是误人子弟.所以 自己打算写一篇关于pytorch上实现命名实体识别的翻译,加入自己的理解.前面是一些牢骚话 BiLSTM我上篇博客介绍了pytorch实现LSTM 链接,这里是BiLSTM,网络结构图如下 单向的LSTM,当前…
BERT-BiLSMT-CRF-NERTensorflow solution of NER task Using BiLSTM-CRF model with Google BERT Fine-tuningGitHub: https://github.com/macanv/BERT-BiLSTM-CRF-NER本文目录机构: 自己训练模型说明结果使用自己的数据2019.1.31更新,支持pip install package现在可以使用下面的命令下载软件包了: pip install bert-b…
自己也是一个初学者,主要是总结一下最近的学习,大佬见笑. 中文分词说到命名实体抽取,先要了解一下基于字标注的中文分词.比如一句话 "我爱北京天安门”. 分词的结果可以是 “我/爱/北京/天安门”. 那什么是基于字标注呢? “我/O 爱/O 北/B 京/E 天/B 安/M 门/E”. 就是这样,给每个字都进行一个标注.我们可以发现这句话中字的标注一共有四种.他们分别代表的意义如下. B | 词首M | 词中E | 词尾O | 单字 B表示一个词的开始,E表示一个词的结尾,M表示词中间的字.如果这个…
因为工作需要,调研了一下Stanford coreNLP的命名实体识别功能. Stanford CoreNLP是一个比较厉害的自然语言处理工具,很多模型都是基于深度学习方法训练得到的. 先附上其官网链接: https://stanfordnlp.github.io/CoreNLP/index.html https://nlp.stanford.edu/nlp/javadoc/javanlp/ https://github.com/stanfordnlp/CoreNLP 本文主要讲解如何在java…
准备工作,先准备 python 环境,下载 BERT 语言模型 Python 3.6 环境 需要安装kashgari Backend pypi version desc TensorFlow 2.x pip install 'kashgari>=2.0.0' coming soon TensorFlow 1.14+ pip install 'kashgari>=1.0.0,<2.0.0' current version Keras pip install 'kashgari<1.0…
命名实体识别 1. 问题定义 广义的命名实体识别是指识别出待处理文本中三大类(实体类.时间类和数字类).七小类(人名.机构名.地名.日期.货币和百分比)命名实体.但实际应用中不只是识别上述所说的实体类,还包括其他自定义的实体,如角色.菜名等等. 2. 解决方式 命名实体识别其本质是一个序列标注问题,序列标注就是对给定文本中每一个字符打上标签.标签的格式可以分为BO,BIO和BIEO三种形式.对于数据集较少的情况,建议使用BO,如果有大量数据可以选用BIEO格式. 命名实体识别的解决方案有三种:基…
中文电子病历命名实体识别(CNER)研究进展 中文电子病历命名实体识别(Chinese Clinical Named Entity Recognition, Chinese-CNER)任务目标是从给定的电子病历纯文本文档中识别并抽取出与医学临床相关的实体提及,并将它们归类到预定义的类别.最近把之前收集整理的一些CNER相关的研究进展放在了github上.主要内容包括Chinese-CNER的相关论文列表,以及目前各个主要数据集上的一些先进结果,希望对CNER感兴趣的读者有所帮助. github地…