【论文解读】NER任务与MRC

论文:https://arxiv.org/pdf/1910.11476v6.pdf 前沿: 在之前的NER任务中常常分为两种:nested NER和 flat NER。从直观的角度来看,nested NER考虑到了实体嵌套问题。 发展: flat NER的任务通常形式化为序列标记任务:序列标记模型,但是这种序列标记的模型无法考虑到实体嵌入关系问题。如中国移动是一个公司实体,而中国是一个国家实体,在flat NER中可能只能提取出中国移动整体却忽视...

Bert实战:中文命名实体识别

使用bert实现的一个NER10标签任务 github:nlp-code/bert命名实体识别.ipynb at main · cshmzin/nlp-code (github.com)bert介绍博客:Simple to Bert | Ripshun Blog数据集来源:CLUE官网(细粒度NER任务) 获取数据: # 获取数据 import json train_data = [] dev_data = [] test_data = [] for line in open('train.json','r',encoding='UTF-8'): train_dat...

实战-使用bert实现多分类

前面以及介绍过bert的理论知识,以及它相应的实现方法,那么让我们通过实战加深对bert的了解。 我们将通过bert实现一个文本多分类任务,具体是kaggle上的一个真假新闻的任务。具体如下: 文件地址:https://www.kaggle.com/c/fake-news-pair-classification-challenge/data 模型形式:BERT + Linear Classifier参考链接:LeeMeng - 進擊的 BERT:NLP 界的巨人之力與遷移學習参考博客:Simple to Ber...

Simple to Bert

2018年是nlp重大改革的一年,bert的横空出世使得未来nlp的发展有利跨时代的进步,其在多个领域的完美成功使nlp研究方向有了很大的改变,一直到现在很多比赛的榜单都是由bert或者其畸形霸占。本文让我们简单了解bert,看看它是如何达到如此成就的。 Bert: bert其实并没想象中的那么复杂,只要了解其中的几个知识点和两幅图便可以知晓它的原理和思想。而bert与其他网络之间也有很多参考和改变,...

Pre-training in nlp

什么是预训练: AI 中的预训练是指使用一个任务训练模型,以帮助它形成可用于其他任务的参数,从而节约大量的时间和资源。(站在巨人的肩膀上解决问题) 训练前的概念受到人类的启发。由于天生的能力,我们不必从零开始学习所有东西。相反,我们转移和重用我们过去学到的旧知识,以了解新知识并处理各种新任务。在人工智能中,训练前模仿人类处理新知识的方式。即:使用以前学习过的任务的模型参数...

kafka

# 背景 kafka是一种分布式的基于发布与订阅的消息队列。 异步处理 用户请求服务后需等待服务完成再得到结果信息,这是同步处理。对于异步处理,用户提交请求后,请求放入消息队列后,无需等待执行完成,用户即可结束进程。异步处理可以实现解耦,异步通信,缓冲缓解服务器压力,提高灵活性和峰值处理能力。 消息队列的两种模式 1点对点模式 一对一,消费者主动拉取数据,消息收到后清楚...

Attention is All you need论文解读

地址: 1706.03762v5.pdf (arxiv.org) abstrat 作者在abstract中先是简述了一种传统的翻译模型:encoder and decoder + Attention注意力机制(回顾:Simple to seq2seq And attention | Ripshun Blog),然后引出了他们新的简单网络模型:Transformer,在实验中Transfromer有了很高的表现: 28.4BLEU 在WMT2014 English to Germen41.8BLEU 在WMT2014 English to Freach 运行3.5天在8台gpu...

Attention模型构建(pytorch)

介绍完seq2seq+attention(Simple to seq2seq And attention | Ripshun Blog),我们来构建一个用pytorch写的模型. 第一步:构建Encoder: 代码: class encode(nn.Module): def __init__(self): super(encode,self).__init__() self.embedd = nn.Embedding(dic_num,dim_num) self.gru = nn.GRU(dim_num,hid_dim_num,num_layers,bidirectional=True) ...

Simple to seq2seq And attention

seq2seq简介 Seq2seq将输入序列转换为输出序列。它通过利用循环神经网络(递归神经网络)或更常用的LSTM、GRU 网络来避免梯度消失问题。当前项的内容总来源于前一步的输出。Seq2seq主要由一个编码器和一个解码器。 编码器将输入转换为一个隐藏状态向量,其中包含输入项的内容。 解码器进行相反的过程,将向量转换成输出序列,并使用前一步的输出作为下一步的输入。维基百科:https://zh.wikipedia.org/...

FastText与word2vec的区别

准备 了解fasttext需要先从其原理涉及的知识开始。 N-gram和cbow(参考:Word2vec And Doc2vec – 文本向量化 | Ripshun Blog)层次softmax 层次softmox(Hierarchical Softmax) 在前文章中我介绍了一些关于word embedding的算法,而在神将网络算法中word2vec比较流行,在提高速度方面主要介绍了负采样的方法,本章主要介绍Hierarchical Softmax以及其在FastText上的运用。 这是一...