
自然语言处理
文章平均质量分 67
爱编程真是太好了
这个作者很懒,什么都没留下…
展开
-
ChatGPT:探索RLHF与GPT的完美结合
ChatGPT已经发布一周了热度依旧不减,ChatGPT也各种大显神通,为各大网友“出谋划策”,有写周报的,有写绩效的甚至还有写论文的,作为一个NLP从业者,除了好好体验下其中的乐趣,其背后的原理当然也要有所了解,本文就从其技术细节为大家一一揭开奥秘。原创 2022-12-14 17:09:57 · 6557 阅读 · 0 评论 -
如何使用预训练模型优雅的生成sentence embedding
前言预训练语言模型在目前的大部分nlp任务中做个微调都能取得不错的一个结果,但是很多场景下,我们可能没办法微调,例如文本聚类,我们更需要的是文本的向量表示;又亦如文本匹配,特别是实时搜索场景,当候选集数量较多时,直接使用ptm做匹配速度较慢。那么如何优雅的使用预训练模型生成文本embedding呢?本文将会从不同的预训练模型与不同的优化方法去介绍文本embedding的生成方式,如有理解错误,欢迎大家指正。本文所有的测试结果基于哈工大开源的LCQMC数据集,共20+w条数据,测试方法是计算两个句子的S原创 2021-04-15 20:04:59 · 7831 阅读 · 6 评论 -
后Transformer时代
前言Transformer(下文用Tm代替)引领了预训练模型的潮流,创造了NLP中的无数SOTA。Tm从RNN的串行结构进化成了并行结构,但是因为其高复杂度的模型结构,时间复杂度达到了O(n2)O(n^2)O(n2),那么Tm能否把时间复杂度降低的同时效果也能保留呢?目前大部分的预训练语言模型base版本,其支持的文本最大长度仅有512,如果想让其支持更长的序列,对于显存的要求也是极高的,对于过长的序列,Tm又该怎么处理呢?也因这两个问题的存在,这两年提出了很多优秀的Tm改版,本文会为读者介绍分享这些新原创 2020-10-16 17:30:33 · 480 阅读 · 0 评论 -
Transformer-XL全解读
MotivationTransformer最大的问题在于没有办法建模超过最大长度的序列,例如base bert其支持的序列最大长度是512,超过了该长度的序列需要进行截取,再把截取后的片段分别用bert进行编码,该方法虽然可行,但是存在上下文碎片化的问题,也就是说每个片段是单独建模的,互相之间没有上下文信息,并且,不同的片段位置编码都是从0开始,明显是有问题的。可见Transformer对于较长的序列建模能力有限,如何解决该弊端就该Transformer-XL大显身手了。Transformer-XL原创 2020-10-21 10:08:44 · 7494 阅读 · 4 评论 -
全网最通俗的条件随机场CRF
对概率无向图模型建模,首先需要求其联合概率分布,求一个无向图的联合概率,则需要求其最大团,设每个最大团的概率为Φc(Yc)\Phi_c(Y_c)Φc(Yc),那么无向图的联合概率为:P(Y)=1Z∏cΦc(Yc)P(Y) = \frac{1}{Z} \prod_c \Phi_c(Y_c)P(Y)=Z1c∏Φc(Yc)Z=∑Y∏cΦc(Yc)Z= \sum_Y \prod_c \Ph...原创 2019-12-13 11:27:25 · 1717 阅读 · 0 评论 -
文本匹配、文本相似度模型之DRCN
本文是我的匹配模型合集的其中一期,如果你想了解更多的匹配模型,欢迎参阅我的另一篇博文匹配模型合集所有的模型均采用tensorflow进行了实现,欢迎start,代码地址简介DRCN和DIIN的结构十分相似,包括输入层与特征提取层, DRCN在特征提取阶段结合了DenseNet的连接策略与Attention机制,在interaction阶段,也、采取了更加多样化的交互策略,接下来就为大家详细...原创 2019-06-03 18:49:22 · 6278 阅读 · 2 评论 -
Transformer模型详解
转载请注明出处,原文地址简介Attention Is All You Need是一篇Google提出的将Attention思想发挥到极致的论文。这篇论文中提出一个全新的模型,叫 Transformer,抛弃了以往深度学习任务里面使用到的 CNN 和 RNN ,目前大热的Bert就是基于Transformer构建的,这个模型广泛应用于NLP领域,例如机器翻译,问答系统,文本摘要和语音识别等等方向...原创 2019-01-11 12:32:01 · 107448 阅读 · 50 评论 -
最通俗易懂的XLNET详解
Two-Stream Self-Attention for Target-Aware RepresentationsXLNET其中一个优化点是基于目标感知表征的双流自注意力虽然排列语言模型能满足目前的目标,但是对于普通的transformer结构来说是存在一定的问题的,为什么这么说呢,看个例子,假设我们要求这样的一个对数似然,pθ(Xzt∣xz<t)p_{\theta} (X_{...原创 2019-06-24 10:35:41 · 64569 阅读 · 20 评论 -
NLP竞赛tricks
长期更新中,如果其中提到的技巧对您有帮助,请点个赞。本文是对于我之前参加过的NLP比赛总结出来的一些经验,希望这些tricks能对大家有所帮助。输入1、字向量2、词向量3、位置编码,tm的相对位置编码或者w2v思路的位置编码4、对于字向量与词向量如果要采用相加的形式组合在一起,可以把词向量重复n词,n表示的是当前词有多少个字序列标注问题1、采用BI0做数据标注2、预测开始位置与结...原创 2019-09-03 21:26:12 · 1426 阅读 · 0 评论 -
从统计学看NLP之概述(1)
前言在我看来NLP的所有思想都是基于统计学来的,不管是HMM,CRF还是说目前火热的神经网络,而目前入行NLP领域的同学可能大部分都没有接触过其中的统计学原理,所谓的神经网络没可解释性也导致大家没兴趣去研究为什么NLP的神经网络要这么去设计。在接下来的一系列文章中,我将会给大家从统计学的角度来揭开NLP原理的神秘面纱。机器翻译说到机器翻译,目前大部分都是采用seq2seq的模型,如果你是一...原创 2019-09-11 22:14:12 · 1093 阅读 · 0 评论 -
从统计学看NLP之维特比Vertbi(2)
前言上一篇博客中简单介绍了下维特比算法,但是没有细纠其中的细节,本文将会以一个分词的例子来讲解维特比算法。分词分词已经是目前比较成熟的技术了,市面上也有很多优秀的包供大家使用,但是你真的明白了其中的原理吗。分词的方式有基于匹配规则的,也有基于语言模型,深度学习模型来的,但是其原理终究还是离不开上一篇博客介绍的那个流程即预分词+语言模型。本文将会给大家先简单介绍一下基于匹配规则的分词方式,最...原创 2019-09-17 16:04:11 · 447 阅读 · 0 评论 -
一文揭开ALBERT的神秘面纱
前言RoBERTa没霸榜几天,这不Google爸爸就又放大招,这次的新模型不再是简单的的升级,而是采用了全新的参数共享机制,反观其他升级版BERT模型,基本都是添加了更多的预训练任务,增大数据量等轻微的改动。这次ALBERT的改进,不仅提升了模型的整体效果再一次拿下来各项榜单的榜首,而且参数量相比BERT来说少了很多。对于预训练模型来说,提升模型的大小是能对下游任务的效果有一定提升,然而如果进...原创 2019-10-02 16:36:31 · 30299 阅读 · 4 评论 -
tensorflow word2vec源码分析
简介最近在编写文本匹配模型时输入需要传入词向量,并在训练的过程中更新词向量。由于之前都是采用的gensim来生成词向量,词典和嵌入矩阵都不太方便获取到,因此决定采用tensorflow来训练词向量,但是据我在网上的了解,tensorflow训练的词向量整体效果还是不如gensim,gensim的源码我没有看过,如果对此清楚的童鞋请留言,十分感谢。不过在模型的训练阶段,还是会对词向量进行更新,因此...原创 2019-06-12 14:52:55 · 962 阅读 · 0 评论 -
文本匹配、文本相似度模型之DIIN
本文是我的匹配模型合集的其中一期,如果你想了解更多的匹配模型,欢迎参阅我的另一篇博文匹配模型合集所有的模型均采用tensorflow进行了实现,欢迎start,代码地址简介DIIN模型和其他匹配模型的结构都很接近,也是采用CNN与LSTM来做特征提取,但是在其输入层,作者提出了很多想法,同时采用了词向量、字向量,并且添加了一些额外的特征例如词性等,其本意在于能额外输入一些句法特征,CNN部分...原创 2019-05-31 09:51:21 · 4757 阅读 · 0 评论 -
GPT2.0 Language Models are Unsupervised Multitask Learners 论文解读
转载请注明出处,原文地址本文是对《Language Models are Unsupervised Multitask Learners》的翻译,部分内容可能会存在理解错误,如有错误欢迎指正交流。简介在自然语言处理任务中,如QA、机器翻译、阅读理解、文本摘要、都是在特定数据集上的典型的监督学习任务。我们的模型在一个数百万级别的WebText的数据集上进行非监督训练后,来验证这些NLP任务。当...原创 2019-02-22 17:40:34 · 11765 阅读 · 1 评论 -
BERT原理详解
转载请注明出处,原文地址简介之前的文章从attention讲解到了transformer,本文将会针对目前大热的BERT进行讲解,bert的内部结构主要是transformer,如果您对transformer并不了解,请参阅我之前的博文。从创新的角度来看,bert其实并没有过多的结构方面的创新点,其和GPT一样均是采用的transformer的结构,相对于GPT来说,其是双向结构的,而GPT...原创 2019-02-18 18:45:52 · 14778 阅读 · 0 评论 -
BERT完全指南-从原理到实践
转载请注明出处,原文地址简介本文将会从BERT的原理开始讲起,并带领大家分析tansformer的源码,并分别介绍如何使用BERT做本文分类与句向量的生成。顺便说一句,BERT世界第一,不接受任何反驳。原理篇本章将会先给大家介绍BERT的核心transformer,而transformer又是由attention组合而成,希望这两篇博客能让大家对transformer有一个详细的了解。...原创 2019-01-11 12:33:42 · 10494 阅读 · 0 评论 -
使用BERT生成句向量
转载请注明出处,原文地址在阅读本文之前如果您对BERT并不了解,请参阅我的其他博文BERT完全指南简介之前的文章介绍了BERT的原理、并用BERT做了文本分类与相似度计算,本文将会教大家用BERT来生成句向量,核心逻辑代码参考了hanxiao大神的bert-as-service,我的代码地址如下:代码地址:BERT句向量传统的句向量对于传统的句向量生成方式,更多的是采用word emb...原创 2019-02-19 11:41:39 · 36338 阅读 · 73 评论 -
Rasa使用指南02
转载请注明出处,原文地址前言对于还不清楚Rasa是什么的小伙伴,请先参阅我的Rasa使用指南01最近工作很忙,重心也一直在模型方面,例如BERT、GPT-2等等,对于Rasa系列的博文实在是没有时间更新。最近有不停的收到一些小伙伴发来的信息,希望能看到Rasa使用指南02,既然如此,那就满足各位好了,近期也会花更多的时间来更新此系列的内容,如果您对此系列的文章感兴趣那就给我一个评论、一个点赞...原创 2019-03-01 16:16:36 · 10362 阅读 · 16 评论 -
Rasa使用指南01
前言本文内容基于Rasa官网文档,做了翻译与整理,并添加一些自己的理解,方便大家上手Rasa,想了解更多内容的小伙伴可关注Rasa官网Rasa是一个基于多轮对话的框架,其中包含两个模块Rasa core与Rasa nlu。Rasa nlu是用来理解语义的,包括意图识别,实体识别,它会把用户的输入转换为结构化的数据,例如在下图的例子中,nlu会识别出用户打算发一封邮件(意图),邮箱地址amy@...原创 2018-09-30 16:56:37 · 18666 阅读 · 9 评论 -
文本匹配、文本相似度模型之BiMPM
转载请注明出处,原文地址简介本文是对论文BiMPM:BilateralMulti-PerspectiveMatchingforNaturalLanguageSentences的解读。该模型主要用于做文本匹配,即计算文本相似度。文本匹配是NLP领域较为常见的技术,但是大部分的匹配方法都是从单一的角度去做匹配,例如ANCNN把两个句子通过同样权重的网络结构,把得到的向量进行相似度计算。BiMPM...原创 2019-03-19 15:41:32 · 5432 阅读 · 1 评论 -
文本相似度,文本匹配模型归纳总结
本文将会整合近几年来比较热门的一些文本匹配模型,并以QA_corpus为测试基准,分别进行测试,代码均采用tensorflow进行实现,每个模型均会有理论讲解与代码实现,现已添加到我的github欢迎star项目代码与论文讲解都在持续更新中,如没有找到实现的代码,或相关论文讲解,请给我一首歌的时间ABCNN详解[DSSM详解] 待更新[ConvNet详解] 待更新[ESIM详解] 待更新...原创 2019-05-13 19:18:52 · 23151 阅读 · 20 评论 -
文本匹配、文本相似度模型之ABCNN
简介本文将会介绍以CNN与attention机制做文本匹配的模型即ABCNN,这里给出论文地址ABCNN这里是我的代码实现在文本任务上,大部分模型均是采用以LSTM为主的结构,本文的作者采用了CNN的结构来提取特征,并用attention机制进行进一步的特征处理,作者一共提出了三种attention的建模方法,下文会详细介绍。在开始讲解之前,我们简单说明下attention机制,例如我们有...原创 2019-05-13 19:19:20 · 5148 阅读 · 0 评论 -
文本匹配、文本相似度模型之DSSM
本文是我的匹配模型合集的其中一期,如果你想了解更多的匹配模型,欢迎参阅我的另一篇博文匹配模型合集所有的模型均采用tensorflow进行了实现,欢迎start,代码地址简介DSSM是2013年提出来的模型,主要应用场景为query与doc的匹配,在这之前,用的更多的还是一些传统的机器学习算法,例如LSA,BM25等。DSSM也算是深度学习在文本匹配领域中的一个先驱者,接下来我们会先从其结构开...原创 2019-05-14 18:17:30 · 9071 阅读 · 0 评论 -
文本匹配、文本相似度模型之ESIM
本文是我的匹配模型合集的其中一期,如果你想了解更多的匹配模型,欢迎参阅我的另一篇博文匹配模型合集所有的模型均采用tensorflow进行了实现,欢迎start,代码地址简介ESIM模型主要是用来做文本推理的,给定一个前提premise ppp 推导出假设hypothesis hhh,其损失函数的目标是判断ppp与hhh是否有关联,即是否可以由ppp推导出hhh,因此,该模型也可以做文本匹配,...原创 2019-05-20 19:31:52 · 12664 阅读 · 0 评论 -
Transformer源码解读
转载请注明出处之前我们一起了解了attention、transformer的原理,本文将会基于github的一个 transformer (下文会针对我对该代码的一个改版讲解)开源代码进行代码分析讲解,该代码相比于Google提供的tensor2tensor/transformer代码更简单,也更容易理解。这里简单说一下代码怎么运行:下载数据集 IWSLT 2016 German–Engl...原创 2019-01-17 10:28:51 · 9254 阅读 · 18 评论