OD Blog

Thinking will not overcome fear but action will.

文本生成方法梳理

Text Generation

文本生成方法梳理  nlp领域个人还是非常喜欢文本生成这个方向,现在大致梳理一下文本生成的相关问题。 1. 文本生成方案  目前业界的文本生成方案主要有三种: (1)规则模板。典型的技术就是AIML语言。这种回复实际上需要人为设定规则模板,对用户输入进行回复。 优点:1、实现简单,无需大量标注数据;2、回复效果可控、稳定。 不足:1、如果需要回复大量问题,则需要人...

变分自编码器

Variational Autoencoder

变分自编码器  变分自编码器(vae)这个东西知道很久了,不过一直理解不是很深刻,现在总结一下查阅到的文档,同时记录一下自己的一些问题。 1. pytorch实现 class Encoder(torch.nn.Module): def __init__(self, D_in, H, D_out): super(Encoder, self).__init_...

模型蒸馏探索(Bert)

小且不差的模型

模型蒸馏探索(Bert) 1. 蒸馏是什么? ​  所谓的蒸馏,指的是从大模型(通常称为teacher model)中学习小模型(通常称为student model)。何以用这个名字呢?在化学中,蒸馏是一个有效的分离沸点不同的组分的方法,大致步骤是先升温使低沸点的组分汽化,然后降温冷凝,达到分离出目标物质的目的。那么,从大模型中,通过一定的技术手段,将原模型中的知识提取出来,这个过程很类...

流畅chatbot采样

coherent&surprise response

流畅chatbot采样 1. introduction ​  这篇博客可以作为chatbot旅程的终点了,前面已经介绍了模型相关的工作,那么做完模型训练以后,剩下的就是生成了。要注意的是,模型生成的内容并不是和训练过程类似的,要想生成流畅且通顺的response还是需要一些额外的处理,这里会介绍一些生成相关的工作,以便让自己训练的模型有用武之地,毕竟,辛辛苦苦做出来的东西,能用且可用才是...

subword系列算法

不同于传统分词的新奇方法

subword系列算法 1. 前言  nlp领域目前已经发展到一个非常高的层次了,这个层次不仅仅是模型和数据方面,还涌现出了很多非常巧妙的trick,这篇文章就记录一下关于tokenization方面的工作。  所谓的tokenization其实就是将文本切分成words或者subwords,然后转成ids以便模型处理。最初的nlp分词非常简单,对于英语类以空格分割的语言来说,简单的以...

Bert家族

nlp必备神器

Bert家族 1. introduction ​  Bert,目前nlp领域神器级模型,诞生于2018年,全称Bidirectional Encoder Representation from Transformers。该模型在其诞生时,在机器阅读理解顶级水平测试SQuAD1.1中表现出惊人的成绩:全部两个衡量指标上全面超越人类,并且还在11种不同NLP测试中创出最佳成绩,包括将GLUE...

nlp领域的巧妙trick

锦上添花的新想法

nlp领域的巧妙trick 1. adaptive softmax ​  ICML 2017文章,该方法的灵感来自于hierarchy softmax及其变体,通过一种近似策略来实现超大词典上的语言模型的有效训练。 1.1 特点 该算法的提出利用到了单词分布不均衡的特点(unbalanced word distribution)来形成将单词分成不同的类, 这样在计算softma...

transformer变体 1. Introduction  在这篇博客,我们详细的介绍了transformer的结构,也介绍了transformer还存在的问题,接着本篇文章将会介绍关于transformer的多种改进,让我们了解一下更加丰富多彩的transformer结构。 2.各种变体 2.1 Universal transformers(UT)  提出于2018年,是tra...

强大的transformer

新一代特征抽取器

强大的transformer 1. Introduction ​ 在transformer模型问世以前,序列建模任务最常用的模型就是sequence-to-sequence了,尤其是随着各种attention机制的加入,attention-based seq2seq模型获得了更好的性能从而得到了更广泛的应用。 ​ 不过RNN也有自己的问题: 无法并行,导致训练偏慢 ...

自然语言处理中的embeddings

Sense Embeddings

Sense Embeddings 1. Introduction ​ word Embedding方式虽然在很多NLP任务中都已经成为标配,但是这种方法不能很好的区分一词多义(polysems),因此近年来有很多关于Sense Embedding的研究。sense embedding技术要解决的一个突出问题就是meaning conflation deficiency,它希望通过直接建模...