NLP入门
文章平均质量分 77
记录我NLP的历程。
rosefunR
每次都多付出一点. 欢迎关注公众号《机器学习与算法之道》
展开
-
NLP评估指标:双语替换评测(BLEU)
1. BLEU定义双语替换评测(英语:bilingual evaluation understudy,缩写:BLEU)是用于评估自然语言的字句用机器翻译出来的品质的一种算法。通过将各个译文片段(通常是句子)与一组翻译品质好的参考译文进行比较,计算出各个片段的分数。 接着这些分数平均于整个语料库,估算翻译的整体品质。此算法不考虑字句的可理解性或语法的正确性。双语替换评测的输出分数始终为0到1之间的数字。该输出值意味着候选译文与参考译文之间的相似程度,越接近1的值表示文本相似度越高。2. 示例双语替原创 2021-01-22 23:28:01 · 4475 阅读 · 1 评论 -
NLP介绍(1)
NLP主要研究方向信息抽取: 从给定文本中抽取重要的信息,比如时间、地点、人物、事件、原因、结果、数字、日期、货币、专有名词等等。通俗说来,就是要了解谁在什么时候、什么原因、对谁、做了什么事、有什么结果。文本生成: 机器像人一样使用自然语言进行表达和写作。依据输入的不同,文本生成技术主要包括数据到文本生成和文本到文本生成。数据到文本生成是指将包含键值对的数据转化为自然语言文本;文本到文本生成对输入文本进行转化和处理从而产生新的文本。问答系统: 对一个自然语言表达的问题,由问答系统给出一个精准的答案。需转载 2020-10-24 10:00:29 · 8555 阅读 · 0 评论 -
NLP: GPT模型和GPT2.0模型
1. 简介NLP模型的发展历程:从Word2Vec->ELMo->GPT->BERT->MT-DNN->GPT2,NLP技术越来越倾向于用更少的有监督数据+更多的无监督数据去训练模型。2. GPT 模型思想:先通过无标签的文本去训练生成语言模型,再根据具体的NLP任务(文本分类,QA等),来通过有标签的数据对模型进行微调。2.1 模型结构模型使用了2017年提出的Transformer结构,整体是多层单向Transformer:训练数据:8亿词的BooksCo原创 2020-09-07 09:35:07 · 11737 阅读 · 0 评论 -
NLP中perplexity PPL指标
1. 定义PPL是用在自然语言处理领域(NLP)中,衡量语言模型好坏的指标。它主要是根据每个词来估计一句话出现的概率,并用句子长度作normalize,公式为参考:语言模型评价指标Perplexity原创 2020-09-05 00:12:11 · 19453 阅读 · 0 评论 -
解读:ELMo模型
1. 前言ELMo模型是2018年3月份提出的,模型会根据上下文来推断每个词对应的词向量,能够根据语境来对多义词理解。2. ELMo模型双向LSTM语言模型:如果LSTM有L个输入节点,那么,BiLM会有2L+1和向量。BiLSTM向量的加权和:参考:Deep contextualized word representations...原创 2020-09-05 00:07:55 · 13775 阅读 · 1 评论 -
论文解读:词向量作为隐式矩阵分解(SGNS)
1. 前言解读SGNS(skip-gram with negative-sample)的训练方法。1.1 skip-gram 模型:利用当前时刻的词,预测它上下文的内容公式:对于序列 w1, w2, …, wT, Skip-gram最大化平均的log 概率。p(w|w_t) 使用softmax函数:这里, W是词汇表中单词的数量。1.2 Skip-gram + negative sampling:从上面可以看到,如果直接使用 softmax是不靠谱的, 因为计算量和词汇表的数量W有关,原创 2020-09-04 23:56:15 · 11664 阅读 · 0 评论 -
浅谈DeepWalk
1. 简介通过随机游走获得序列,然后word2vec向量化。算法:在定义好图,比如,把user 和 item 进行边连接,从一个 user出发,可以获得很多个与该user相关的其他item,然后作为一个序列。最终用word2vec,比如skip-gram + 层次softmax。从而向量化user.参考:原论文 DeepWalk: Online Learning of Social Representations;...原创 2020-05-14 11:19:02 · 8731 阅读 · 0 评论 -
Gensim简介及word2vec API
1. 简介Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。它支持包括TF-IDF,LSA,LDA,和word2vec在内的多种主题模型算法。参考:zhihu 15分钟入门Gensim;wiki Genism;...原创 2020-05-10 19:58:45 · 9698 阅读 · 0 评论 -
ELECTRA: NLP预训练模型
ELECTRA的全称是Efficiently Learning an Encoder that Classifies Token Replacements Accurately.NLP式的Generator-DiscriminatorELECTRA最主要的贡献是提出了新的预训练任务和框架,把生成式的Masked language model(MLM)预训练任务改成了判别式的Replaced t...原创 2019-11-02 19:58:25 · 13458 阅读 · 0 评论 -
Attention模型综述
1.引言Attention模型在14年的机器翻译中就被提出。优势有:1、提高MT,QA等的能力;2、提高神经网络的可解释性;3、克服RNN因过长而导致的丢失信息,记忆不够精准。2. Attention其中x1、x2、x3x_1、x_2、x_3x1、x2、x3是输入,y1、y2y_1、y_2y1、y2是输出,h1、h2、h3h_1、h_2、h_3h1、h2、h3是en...原创 2019-10-14 10:08:01 · 8950 阅读 · 2 评论 -
Transformer-XL
reference:谷歌、CMU重磅论文:Transformer升级版原创 2019-01-12 19:13:03 · 14288 阅读 · 0 评论 -
基于池的主动学习文本分类
Pool-Based Active Learning for Text Classification这篇文章是Kamal在1999年的文章,比较老,但拿来看看。1.介绍在标记的训练数据稀疏时使用大量未标记文档进行文本分类,通过对整个未标记文档池中选择标记请求来增强QBC(Query-by-Committee)主动学习算法,并明确地使用池来估计区域文档密度,将主动学习和期望最大化(EM)结合,...原创 2019-01-07 14:36:59 · 11842 阅读 · 0 评论 -
分层注意网络HAN介绍
背景HAN是微软提出的一个网络,试图从句子的单词,文档的句子分层次构建网络。1 模型1.1 GRU序列编码GRU两个门,重置门rtr_trt和更新门ztz_tzt,一起控制信息的流动。1.2 层次注意力机制1.2.1 词编码与解码编码过程词的注意力机制:1.2.2句子的编码与注意力机制句子编码也是GRU,并且应用注意力机制。2. 实践参看链接2。3....原创 2019-01-05 21:12:27 · 15671 阅读 · 1 评论 -
一种无监督模型(one model to learn them all)
背景这是Google17年的论文,提出了nlp领域的无监督模型。之前针对图像识别、语音识别、翻译等不同的工作,需要不同的模型,谷歌提出这个模型来,一口气搞定了图像识别、图像分类和多语言翻译。1 模型MultiModel由三部分组成:模式网络,编码器,自回归编码器。编码和解码使用了卷积、注意层、稀疏门控层等计算模块。(1)卷积层可以检测局部模式特征;(2)注意力机制层可以关注特定元...原创 2019-01-05 11:23:32 · 11604 阅读 · 0 评论 -
FastText介绍(word2vec,层次softmax,负采样)
背景fastText是Facebook2016年提出的文本分类工具,是一种高效的浅层网络。1 基本知识1.1 softmax回归有m个样本{(x(1),y(1)),...}\left\{ {(x^{(1)},y^{(1)}),...}\right\}{(x(1),y(1)),...}, y(i)∈{0,1}y^{(i)}\in \left\{ {0,1} \right\}y(i)∈{0,1...原创 2019-01-03 12:35:25 · 13989 阅读 · 1 评论 -
基于交叉可视(cross-view)训练的半监督序列建模
背景半监督学习结合迁移学习是一个研究热点,预训练表征与多种形式的半监督学习是互补的。这篇论文(具有交叉视训练的半监督序列建模(Semi-Supervised Sequence Modeling with Cross-View Training)),思想是确保对不同输入视图预测与主模型的预测一致,这和word dropout类似,允许利用未标注数据来加强模型的鲁棒性。与mean teacher等...原创 2018-12-30 21:49:27 · 12602 阅读 · 0 评论 -
基于循环卷积神经网络的文本分类
背景这是一篇15年的论文,引入递归的卷积神经网络来进行文本分类,没有人为设计特征,尽可能捕捉上下文信息,大大减少与传统的基于窗口的神经网络相比的噪声。同时使用一个自动判断哪些单词在文本分类中扮演的关键角色,以在文本中捕获关键组件的方法。1 介绍文本分类中关键问题是特征表示,这通常是基于单词 bag of words(bow 模型,词袋模型)。其中,unigrams、bigrams、 n-gr...原创 2018-12-25 23:10:28 · 14668 阅读 · 0 评论 -
基于监督和半监督的文本分类
1 背景这是16年提出的论文Supervised and Semi-Supervised Text Categorization using LSTM for Region Embeddings。文本分类在具体应用中包含,情感分析和话题分类任务等。基于CNN的“region Embedding + pooling”模式,每次卷积实质上是对小块区域的文本采样并生成其区域特征,池化过程则是综合所有...原创 2018-12-23 17:25:07 · 13972 阅读 · 0 评论 -
NLP三种词袋模型CountVectorizer/TfidfTransformer/HashVectorizer
1.TF-IDFTF-IDF(term frequency-inverse document frequency)是文本加权方法,采用统计思想,即文本出现的次数和整个语料中文档频率来计算字词的重要度。优点:过滤一些常见但是无关紧要的字词。tfidfi,j=tfi,j×idfi,jtfidf_{i,j} = tf_{i,j}\times idf_{i,j}tfidfi,j=tfi,j×id...原创 2018-12-19 08:59:31 · 12493 阅读 · 0 评论 -
浅谈Attention及Transformer网络
1 Transformer 模型结构Attention 的编码,把一个输入序列(x1,...,xn)(x_1,...,x_n)(x1,...,xn)表示为连续序列z=(z1,...,zn)\mathbf {z} = (z_1,...,z_n)z=(z1,...,zn).给定z\mathbf {z}z, 解码生成一个输出序列 (y1,...,ym)(y_1,..., y_m)(y1,.....原创 2018-12-09 18:51:41 · 19653 阅读 · 0 评论 -
浅谈NLP预处理及WordEmbedding(Word2Vec,Glove等)
背景今年看到一些算法比赛,使用 word2vec 方法越来越多了,似乎也成为了一个大杀器。一般只有特征是类别/离散特征基本上可以使用这种方法。1.原理这个就是它的原理,一个是CBOW,从上下文推断该时刻的概率;一个是Skip-gram,从该点推出上下文。reference: a non-nlp application of word2vec;...原创 2018-12-03 15:01:21 · 12171 阅读 · 0 评论 -
中文分词jieba
1、jieba简介jieba是基于python的开源中文分词项目。jieba分词的数据来源人民日报的切分语料等,这个参考链接2原作者的介绍。 来源主要有两个,一个是网上能下载到的1998人民日报的切分语料还有一个msr的切分语料。另一个是我自己收集的一些txt小说,用ictclas把他们切分(可能有一定误差)。 然后用python脚本统计词频。2、jieba思想 要统原创 2018-01-27 11:23:22 · 8959 阅读 · 0 评论 -
(坑)神经网络语言模型NNLM模型
参考:NNLM模型;licstar.net;神经网络语言模型原创 2018-01-26 22:46:24 · 12922 阅读 · 0 评论 -
知识图谱
1. 定义知识图谱在学术界还没有统一的定义,根据维基百科,知识图谱2012年首先由谷歌公司提出,是一个提供智能搜索服务的大型知识库。因此,这里我们可以将知识图谱理解为,对语义知识的一种形式化描述框架。2.组成整个场景由三个部分组成: 用户提问-> google建KG, 找答案->回答问题。1) 用户提问这里的关键在一个自然语言的query是如何转为KG的query。常用的...转载 2019-07-01 10:04:42 · 8338 阅读 · 0 评论 -
隐含狄利克雷分布LDA与python实践
1.理论隐含狄利克雷分布(英语:Latent Dirichlet allocation,简称LDA),是一种主题模型,它可以将文档集中每篇文档的主题按照概率分布的形式给出。同时它是一种无监督学习算法,在训练时不需要手工标注的训练集,需要的仅仅是文档集以及指定主题的数量k即可。此外LDA的另一个优点则是,对于每一个主题均可找出一些词语来描述它。LDA贝叶斯网络结构:2.实践def LDA...原创 2019-07-02 10:08:54 · 9834 阅读 · 0 评论 -
量子概率驱动的神经网络
1.模型结构参考:1.CNM: An Interpretable Complex-valued Network for Matching;2.公众号中文解读原创 2019-06-10 09:10:07 · 9796 阅读 · 0 评论 -
浅谈BERT
1. 背景BERT是预训练模型,能够显著提高下游任务效果,不使用label样本。成功的原因在于,代理任务的积累从简单的CBOW, skipgram,最终到 Masked-LM,nsp。深层网络越是深层、大容量的网络,越能抽取高层的特征、存储更丰富的知识,Resnet,各种 norm技术,SBBB结构( Shortcut 、BottleNeck、 Branches, BatchN...原创 2020-04-15 14:15:39 · 10673 阅读 · 0 评论