文章目录基本介绍BertForTokenClassificationpytorch-crf实验项目参考基本介绍命名实体识别:命名实体识别任务是NLP中的一个基础任务.主要是从一句话中识别出命名实体.比如姚明在NBA打球 从这句话中应该可以识别出姚明(人), NBA(组织)这样两个实体.常见的方法是对字或者词打上标签.B-type, I-type, O, 其中B-type表示组成该类型实体的第一个字或词.I-type表示组成该类型实体的中间或最后字或词,O表示该字或词不组成命名实体,当然有的地方也…
声明:为了帮助初学者快速入门和上手,开始源学计划,即通过源代码进行学习.该计划收取少量费用,提供有质量保证的源码,以及详细的使用说明. 第一个项目是基于bert的命名实体识别(name entity recognition),pytorch实现 基于bert与语料模型在多个NLP任务上取的不错效果,包括在命名实体识别(name entity recognition)上,在bert之前,主要采用的模型是Bi-lstm + CRF的方式,取得了不错效果. Bert横空出世后,至今已经深度侵入到序列标…
自己也是一个初学者,主要是总结一下最近的学习,大佬见笑. 中文分词说到命名实体抽取,先要了解一下基于字标注的中文分词.比如一句话 "我爱北京天安门”. 分词的结果可以是 “我/爱/北京/天安门”. 那什么是基于字标注呢? “我/O 爱/O 北/B 京/E 天/B 安/M 门/E”. 就是这样,给每个字都进行一个标注.我们可以发现这句话中字的标注一共有四种.他们分别代表的意义如下. B | 词首M | 词中E | 词尾O | 单字 B表示一个词的开始,E表示一个词的结尾,M表示词中间的字.如果这个…
用CRF做命名实体识别(二) 用CRF做命名实体识别(三) 用BILSTM-CRF做命名实体识别 博客园的markdown格式可能不太方便看,也欢迎大家去我的简书里看 摘要 本文主要讲述了关于人民日报标注语料的预处理,利用CRF++工具包对模型进行训练以及测试 目录 明确我们的标注任务 语料和工具 数据预处理 1.数据说明 2.数据预处理 模型训练及测试 1.流程 2.标注集 3.特征模板 4.CRF++包的使用说明 总结与展望 正文 1.明确我们的标注任务 这篇文章主要是介绍用CRF模型去提取…
用CRF做命名实体识别(一) 用CRF做命名实体识别(三) 一. 摘要 本文是对上文用CRF做命名实体识别(一)做一次升级.多添加了5个特征(分别是词性,词语边界,人名,地名,组织名指示词),另外还修改了特征模板,最终训练了11个小时,F1值为0.98.(这里面有错误,计算F1值不应该计算全体的,应该只计算带有标注实体的词,不然量这么大,肯定F1值就大.最终改了计算F1值的方法,F1值为0.8856) 具体内容请看我的简书 欢迎扫码关注…
pytorch实现BiLSTM+CRF用于NER(命名实体识别)在写这篇博客之前,我看了网上关于pytorch,BiLstm+CRF的实现,都是一个版本(对pytorch教程的翻译), 翻译得一点质量都没有,还有一些竟然说做得是词性标注,B,I,O是词性标注的tag吗?真是误人子弟.所以 自己打算写一篇关于pytorch上实现命名实体识别的翻译,加入自己的理解.前面是一些牢骚话 BiLSTM我上篇博客介绍了pytorch实现LSTM 链接,这里是BiLSTM,网络结构图如下 单向的LSTM,当前…
文本情感分类: 文本情感分类采用LSTM的最后一层输出 比如双层的LSTM,使用正向的最后一层和反向的最后一层进行拼接 def forward(self,input): ''' :param input: :return: ''' input_embeded = self.embedding(input) #[batch_size,seq_len,200] output,(h_n,c_n) = self.lstm(input_embeded) out = torch.cat(h_n[-1,:,:…
很久前做过一个命名实体识别的模块,现在有时间,记录一下. 一.要识别的对象 人名.地名.机构名 二.主要方法 1.使用CRF模型进行识别(识别对象都是最基础的序列,所以使用了好评率较高的序列识别算法CRF) 2.使用规则对相关数据进行后过滤. 三.具体实现 1.训练数据的生成 主要使用了人民日报免费部分,以及一些及它从网上找到的资源(时间长了,记不住了,好像还自己标注了些) 2.模板的生成    使用的是Unigram,由于考虑到要识别的实体一般情况下没有长距离依赖 以及训练时的效率问题,所以模…
CRF与NER简介   CRF,英文全称为conditional random field, 中文名为条件随机场,是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫(Markov)随机场.   较为简单的条件随机场是定义在线性链上的条件随机场,称为线性链条件随机场(linear chain conditional random field). 线性链条件随机场可以用于序列标注等问题,而本文需要解决的命名实体识别(NER)任务正好可通过序列标注方…
摘要 本文主要是对近期做的命名实体识别做一个总结,会给出构造一个特征的大概思路,以及对比所有构造的特征对结构的影响.先给出我最近做出来的特征对比: 目录 整体操作流程 特征的构造思路 用CRF++训练模型 用CRF++测试模型并计算F1值 展望 用CRF做命名实体识别基本就做导这里了,我们发现(字+词性+边界+特征词+常用词)这几个特征可以达到比较好的效果,F1值为0.9293.再加入特征效果就会下降了,而且训练时间也会加长.后面打算用神经网络来做命名实体识别,目前主流方法是BILSTM-CRF…