NLP
Forlogen
无论世事如何,你都要成为一个更优秀的人。
展开
-
Pre-trained Models for Natural Language Processing: A Survey
预训练模型的出现对于NLP各个子领域都具有里程碑式的意义,不管是在文本分类,还是在阅读理解,甚至凡是和文本数据相关的任务都想着使用预训练模型来解决。尤其是以BERT为代表的众多模型的思想,设置被推广到了CV和语音领域的任务中。那么如何对现有的诸多预训练模型做合理的分类,并尽力弄清楚黑盒里所隐藏的秘密,并将其很好的应用于下游的具体任务中,对于任何具体的应用场景都十分重要。本文从以下四个方面对于发...原创 2020-04-12 23:20:35 · 1211 阅读 · 0 评论 -
Controlling the Amount of Verbatim Copying in Abstractive Summarization
[arXiv] ------- [github]文本摘要(Text Summarization)作为NLP中一个重要的子任务一直以来都受到了广泛的关注,虽然问题本身的定义很简单且直观,但目前已有的模型或方法得到的结果还没有达到理想。直到最近各种预训练模型的出现在一定程度上提升了评估指标的数值,并且不管是针对于长文档还是普通的短文档,最终生成的摘要结果还是很好的。但是如何更好的利用BERT等...原创 2020-03-10 10:57:33 · 613 阅读 · 0 评论 -
NCA(Neighborhood Components Analysis)
NCA是Jacob Goldberger和Sam Roweis等发表于2014年的NIPS上同名文章Neighborhood Components Analysis中的工作。之前在KNN算法的学习中提到,KNN算法两个很重要的问题表示K值的选择和距离度量方式的选择。其中K值可以通过交叉验证来看模型在验证集上的效果来启发式的选择最终的K,而距离度量通常选择的是欧式距离。通常这样的方法得到的KNN在...原创 2020-03-03 22:02:30 · 4514 阅读 · 0 评论 -
X-BERT eXtreme Multi-label Text Classification with BERT
X-BERT: eXtreme Multi-label Text Classification with BERT文本分类(text classifition)可以简单的分为二分类问题和多分类问题,现在的文本分类相挂钩的任务往往解决的都是前者,而当类别数较少时,多分类问题仍然可使用one-vs-all的方法将多分类问题转换为二分类问题处理。而本文所关注的是极端多分类(extreme multi...原创 2020-02-29 10:24:15 · 1920 阅读 · 0 评论 -
pytorch - Text Classification
本文将使用pytorch和pytorchtext实现文本分类,使用的数据集为IMDB。关于pytorchtext的简介和使用可阅读下面的两篇博文即可清楚其基本的常见用法A Comprehensive Introduction to Torchtext (Practical Torchtext part 1)Language modeling tutorial in torchtext (...原创 2020-02-27 21:20:12 · 1206 阅读 · 0 评论 -
Knowledge Distillation examples
根据 BERT and Knowledge Distillation关于知识蒸馏的介绍,我们已经知道了其的定义和基本流程,下面通过例子来具体看一下如何用代码来实现。首先导入所需的包from __future__ import absolute_import,unicode_literals,division,print_functionimport osimport tensorflow...原创 2020-02-24 14:43:50 · 530 阅读 · 0 评论 -
BERT and Knowledge Distillation
知识蒸馏知识蒸馏(Knowledge Distillation,KD)是想将复杂模型(teacher network)中的暗知识(dark knowledge)迁移到简单模型(student network)中。一般来说,老师网络具有强大的能力和表现,而学习网络则更为紧凑。通过知识蒸馏,希望学生网络能尽可能逼近亦或是超过老师网络,从而用复杂度更小的模型来获得类似的预测效果。Hinton在Dist...原创 2020-02-23 14:55:36 · 568 阅读 · 0 评论 -
Some Papers about BERT in Text Classifition, Data Augmentation and Document Ranking(二)
承接上篇:Some Papers about BERT in Text Classifition, Data Augmentation and Document Ranking(一)CEDR: Contextualized Embeddings for Document Ranking除了自然语言处理中BERT等预训练模型的直接应用,它们还可以应用任何和文本表示相关联的领域任务中。神...原创 2020-02-23 13:30:36 · 693 阅读 · 0 评论 -
Some Papers about BERT in Text Classifition, Data Augmentation and Document Ranking(一)
BERT用于各项任务示意图:从BERT的出现在现在的广泛使用,以原创 2020-02-23 10:56:35 · 559 阅读 · 0 评论 -
REALM: Retrieval-Augmented Language Model Pre-Training
REALM: Retrieval-Augmented Language Model Pre-Training从ELMO、BERT和GPT到如今多种多样的预训练模型的横空出世,pre-train + fine-tune逐渐成为了NLP中建模的新范式,众多研究人员也不断的针对于Transformer和预训练做出改进,其中包括对Transformer本身结构的改进、预训练策略的调整、预训练结合多任务...原创 2020-02-16 16:45:24 · 1467 阅读 · 0 评论 -
How Contextual are Contextualized Word Representations in BERT、ELMO and GPT-2 Embeddings
How Contextual are Contextualized Word Representations? Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddingsoffice blog在NLP的发展历程中,以Vorw2Vec、Glove和FastText为代表的静态词向量为文本在神经网络中的表示提供了一种强有力的工具,同时...原创 2020-02-14 22:06:09 · 767 阅读 · 2 评论 -
PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization
就在这几天微软发布了一款参数量多达170亿的史上最大的自然语言生成模型 Turing-NLG,在多种语言模型基准上均实现了SOTA。值得关注的是Turing-NLG在文本摘要上的表现,由于它已经非常善于理解文本了,因此不需要太多的配对数据就可以实现比已有模型更好的效果。从Facebook的BART、Google的PEGASUS到今天Microsoft的Truing-NLG,越来越大的预训...原创 2020-02-12 08:28:25 · 2036 阅读 · 0 评论 -
Topic-Aware Neural Keyphrase Generation for Social Media Language
ACL 2019 Topic-Aware Neural Keyphrase Generation for Social Media Languagegithub本文由腾讯AILab和香港中文大学联合发表,文章关注的问题为自然语言理解的中的关键短语(keyphrase)生成问题,另外所研究的场景是更为常见与广泛的社交媒体(social media)。背景随着网络技术和硬件设备的发展,人与人之...原创 2020-02-06 19:48:54 · 1773 阅读 · 1 评论 -
Enriching BERT with Knowledge Graph Embeddings for Document Classification
arXiv github这是GermEval 2019 Task 1 – Shared task on hierarchical classification of blurbs的一个实验性文章,文中所关注的问题总体上来说属于文本分类,但根据所使用的数据集具体来说是一个关于层次化标签的文本多分类任务。相对于基本的文本分类所使用的数据集,本文中所使用的的GermEval2019中样本的内容包含:...原创 2020-01-09 16:05:22 · 1029 阅读 · 1 评论 -
Multi-Hop Paragraph Retrieval for Open-Domain Question Answering
ACL 2019 Multi-Hop Paragraph Retrieval for Open-Domain Question AnsweringgithubQuestion Answering问题粗略的可以分为两类:Reading Comprehension,RC:模型需要根据给定的问题和对应的输入文档找出答案所在,而且根据问题所对应文档的数目可分为sigle-hop reasoning...原创 2019-12-25 22:57:32 · 951 阅读 · 0 评论 -
Retrieve, Read, Rerank: Towards End-to-End Multi-Document Reading Comprehension
ACL 2019 Retrieve, Read, Rerank: Towards End-to-End Multi-Document Reading Comprehensiongithub本文所关注的是阅读理解中的多文档输入问题,即如何根据问题在给定的多个输入文档中找到对应答案的区域。解决此类问题的一种方法便是retriever -> reader -> reranker的pipe...原创 2019-12-25 16:26:13 · 5900 阅读 · 1 评论 -
Bridging the Gap Between Relevance Matching and Semantic Matching for Short Text Similarity Modeling
MENLP 2019 Bridging the Gap Between Relevance Matching and Semantic Matching for Short Text Similarity Modeling这是一篇发表于今年EMNLP上一篇关于文本理解的文章,更准确的来说应该是理解NLP中的短文本语义匹配和神经信息检索(neural information retrieval,N...原创 2019-12-19 16:21:42 · 1230 阅读 · 0 评论 -
This Email Could Save Your Life: Introduce the Task of Email Subject Line Generation
ACL 2019 This Email Could Save Your Life: Introducing the Task of Email Subject Line Generation背景这是一篇发表于今年ACL上的文章,初看标题就很吓人,看完之后觉得可以将其归为标题党一族。本文和EMNLP 2018 Don’t Give Me the Details, Just the Summary...原创 2019-12-06 19:54:59 · 474 阅读 · 0 评论 -
A Fully Attention-Based Information Retriever
IJCNN 2018 A Fully Attention-Based Information Retriever背景本文解决的仍然是QA问题中基于RNNs架构的模型难以解决的一些问题和局限性,同时借着当时Transformer的热潮,提出了一种称为Fully Attention Based Information Retriever(FABIR)的QA模型,它可以简单的理解为Transform...原创 2019-11-22 23:01:05 · 279 阅读 · 0 评论 -
Adaptive Document Retrieval for Deep Question Answering
EMNLP 2018 Adaptive Document Retrieval for Deep Question Answering背景阅读理解模型的处理过程可以分为两步:从文档集中根据问题检索可能包含答案的文档从检索到的文档中寻找包含答案的具体区域现有的方法在以上的两步各自都可以取得不错的效果,但是很少有人思考针对于不同的数据集到底应该检索多少文档。如果按照某种经验来做,往往会带来...原创 2019-11-21 16:39:46 · 241 阅读 · 0 评论 -
Simple and Effective Multi-Paragraph Reading Comprehension
ACL 2018 Simple and Effective Multi-Paragraph Reading Comprehensiongithub背景本文是华盛顿大学和艾伦研究所发表在ACL 2018 年上的工作,它主要关注的问题是阅读理解(Reading Comprehension),并提出了一种处理整篇文档作为输入的段落型QA模型。现有的模型虽然可以在短文档QA问题上取得不错的效果,但是...原创 2019-11-21 15:06:54 · 1073 阅读 · 0 评论 -
Self-Supervised Learning for Contextualized Extractive Summarization
ACL 2019 Self-Supervised Learning for Contextualized Extractive Summarization背景本文所表述的内容十分的清晰明了,同样也很简单,即如何使用不同的预训练策略来提升抽取式摘要任务的效果。作者指出:现有的模型在抽取句子使用交叉熵训练模型时,往往只考虑了句子级别的信息,并没有很好的捕获全局或说是文档级的信息,因此对于最后的生成...原创 2019-11-21 10:08:54 · 636 阅读 · 0 评论 -
Coarse-Grain Fine-Grain Coattention Network for Multi-Evidence Question Answering
ICLR 2019 Coarse-Grain Fine-Grain Coattention Network for Multi-Evidence Question Answering背景本篇文章所关注的问题是机器阅读理解(Machine Reading Comprehension),即根据查询在给定的文档中寻找相应答案的部分,具体来说是多事实QA(multi-evidence QA)问题。现有...原创 2019-11-20 23:22:54 · 626 阅读 · 0 评论 -
Fast Abstractive Summarization with Reinforce-Selected Sentence Rewriting
ACL 2018 Fast Abstractive SUmmarization with Reinforce-Selected Sentence Rewritinggithub背景对于文档摘要任务来说,整体上可以将任务解耦为两部分:选出显著性较高的K个句子(抽取式到此结束)对于选择出的句子进行重写(抽象式)因此对于抽象式方法来说,以上的两步中每一步的效果优劣都对于整体的效果有着显著...原创 2019-11-20 21:14:12 · 1520 阅读 · 0 评论 -
HIBERT Document Level Pre-training of Hierarchical Bi-Transformers for Document Summarization
ACL 2019 HIBERT: Document Level Pre-training of Hierarchical Bidirectional Transformers for Document Summarization背景对于抽取式摘要生成来说,模型最终的任务是为文档中的句子分配对应的标签,从而来表示某个句子是否会出现在最后的摘要中。因此,抽取式任务本质上可以看做是:句子排序任务...原创 2019-11-20 21:04:26 · 981 阅读 · 0 评论 -
BART:Denoising Seq2Seq Pre-training for Natural Language Generation, Tranlation and Comprehension
BART:Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Tranlation and Comprehension看看文章的研究机构就知道这不是一篇简单的文章,本文在之前多种相关的预训练模型的基础上,提出了一种基于DAE的Seq2Seq预训练模型。模型整体上采用标准的基于Transform...原创 2019-11-02 15:13:29 · 1443 阅读 · 0 评论 -
Text Generation based Variational Autoencoders
金秋十月注定是忙碌的,最近在总结自己的想法并进行代码实现,毕竟毕业才是大事呀,所以也没有时间总结自己看过的文章,结过就攒了一大堆,时间长了细节部分就记不清了,希望在这个月末将其总结出来,同时也希望为下一阶段的工作打好基础Text Generation based Variational Autoencoders在前面介绍的关于文本摘要生成的文章中,绝大多是的模型仍然是基于RNN的Seq2Se...原创 2019-10-30 16:15:57 · 1578 阅读 · 4 评论 -
Headliner 源码解读 - 1
Headliner是一个类似于tensorflow_addons、fairseq、OpenNMT的用于构建Seq2Seq模型的开源库,它整体的代码基于tensorflow2.0构建,并提供了关于数据预处理、基准模型和模型评估的API,极大地方便用户快速的构建基准模型,并且允许用户可以根据自己的要求修改源代码定制化模型,从而避免重复造轮子所浪费时间。下面就来看一下整个库的重要部分是如何实现的。He...原创 2019-10-18 10:06:49 · 521 阅读 · 0 评论 -
Using Seq2Seq + Attention to process text summarization task
Seq2SeqSeq2Seq模型已经发展成为了NLP中的一种标准的模型范式,NLP中的诸多任务皆使用Seq2Seq模型来处理,其中模型可以使用RNN、LSTM、GRU、Transformer和BERT等。有关Seq2Seq模型的介绍,可见如下的几篇文章,写的都很好:淺談神經機器翻譯 & 用 Transformer 與 TensorFlow 2 英翻中Visualizing A N...原创 2019-10-17 19:05:02 · 800 阅读 · 0 评论 -
MaskGAN
MaskGAN:Better Text Generation via Filing in the ______github传统的基于Seq2Seq的文本生成模型都是使用自回归方式来逐个的生成词,在每一时刻生成的词不仅依赖于Encoder的上下文向量,同时也依赖于Decoder已生成的部分。模型的训练普遍使用最大似然优化和teacher forcing的方式,同时使用验证困惑度(validati...原创 2019-09-26 09:59:43 · 1817 阅读 · 0 评论 -
Sentence Centrality Revisited for Unsupervised Summarization
ACL 2019 Sentence Centrality Revisited for Unsupervised Summarizationgithub单文档的文本摘要任务已经取得了不错的进展,不同的研究人员纷纷提出了不同的解决思路和摘要模型,有关进展可浏览之前的几篇博文,这里就不再赘述:Development of Neural Network Models in Text Summari...原创 2019-09-29 22:45:03 · 1374 阅读 · 2 评论 -
MMR(最大边界相关算法)
最大边界相关算法用于计算查询文本和搜索文档之间的相似度,然后对文档进行排序。算法公式为MMR(Q,C,R)=Argmaxdi,in,ck[λsim(Q,di)−(a−λ)maxdj,k(sim(di,dj))]\text{MMR}(Q,C,R) = Arg \max_{d_{i},in,c}^k [\lambda sim(Q,d_{i}) - (a- \lambda) \max_{d_{j}...原创 2019-10-09 14:46:06 · 6064 阅读 · 2 评论 -
Development of Neural Network Models in Text Summarization - 4
本系列博文主要介绍了在文本摘要领域神经网络模型的一些发展,主要基于如下几类模型:Basic Encoder-Decoder modelEncoder-Decoder + AttentionDeep Reinforced modelBert based modelGAN based modelConsiderationConsiderationEMNLP 2018 《On ...原创 2019-08-15 16:42:01 · 555 阅读 · 0 评论 -
SeqGAN
论文地址:https://arxiv.org/abs/1609.05473GitHub:https://github.com/LantaoYu/SeqGAN [python2]https://github.com/princewen/tensorflow_practice/tree/master/GAN/seqgan [python3]收录于:AAAI 2017GAN已经在视觉领域取得了...原创 2019-07-10 22:31:24 · 1154 阅读 · 0 评论 -
RNN情感分类及Tensorflow2.0实现
最近被科研按在地上疯狂的摩擦,没有安排时间看文章,没有安排时间总结博客,天天就忙着鼓励自己别放弃了…感觉自己节奏有点乱了,趁着假期前希望把节奏尽快的调整过来吧。下面介绍基于RNN的情感分类的例子并给出tensorflow2.0的具体实现,主要还是对于官方文档的理解,并在其中加入了自己的一些感悟。数据集直接使用tensorflow的keras.dataset中集成的IMDB,通过tf.kera...原创 2019-09-25 15:00:32 · 2711 阅读 · 0 评论 -
RNN文本生成-TensorFlow2.0实现
加载数据,这里可以使用自己的数据集# 加载数据def get_data_from_file(train_file, batch_size, seq_size): with open(train_file, encoding='utf-8') as f: text = f.read() text = text.split() ...原创 2019-09-16 10:09:10 · 1913 阅读 · 5 评论 -
Lecture 7 Vanishing Gradients and Fancy RNNs
上一讲主要讲的是传统的语言模型到神经语言模型的过渡,其中涉及的是标准RNN,包括它的构成以及在多种NLP任务上的应用。RNN虽然作为一种神经语言模型相比于传统的模型具有一定的优势,但是它仍然存在着一系列的问题,比如:序列进行,计算困难难以捕捉长程依赖另外一个大问题便是梯度消失,这一讲更加详细的来了解标准RNN中的梯度消失问题,并介绍RNN的几个变体,包括:LSTMGRUBidi...原创 2019-07-26 15:12:27 · 321 阅读 · 0 评论 -
RNNs_gradients_vanishing
内容来源于CS224n(2017)第七讲给出的示例代码,整理以便学习。理解RNN中的梯度消失问题本例将使用只有两层的简单的循环神经网络来了解下使用sigmoid和Relu的不同之处# Setupimport numpy as npimport matplotlib.pyplot as plt%matplotlib inlineplt.rcParams['figure.figsize...原创 2019-07-25 21:34:37 · 201 阅读 · 0 评论 -
Lecture 6 Language Models and Recurrent Neural Networks
这一讲的主要内容包括如何从前面所讲的经典语言模型过渡到现在的神经网络语言模型,而神经语言模型主要介绍循环神经网络(Recurrent Neural Networks,RNNs)。如何理解语言模型(Language Model)呢?这里可以简单的将其看作是根据前面已有的句子部分来预测下一个词是什么。例如当前已有“the students opened their”,那么根据训练语料库,模型给出的...原创 2019-07-25 21:23:46 · 253 阅读 · 0 评论 -
BERT后时代的应用(一)
2018年是NLP发展中十分重要的一年,ELMO、BERT、GPT等强大的预训练模型的出现,大幅度的提升了诸多NLP任务的效果。同时基于BERT的改进模型也如雨后春笋一般冒了出来,例如百度的ERNIE和清华大学的ERNIE等。那么作为一个没有卡的穷学习如何也赶上这波潮流,充分的借助预训练模型做一些工作呢?下面就针对使用BERT来解决某些NLP任务和IR任务的文章做一个简述,希望在明白如何将BERT...原创 2019-07-20 15:27:16 · 1515 阅读 · 0 评论