
NLP
韩明宇
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
迁移学习与模型融合问题若干
1.word2vec与Elmo模型在语义学习上差异是什么?word2vec就是nlp中预训练的一种方式。但是word2vec有一个缺点就是无法解决多义词,因为每一个词只有用一个向量表示。ELMO是“Embedding from Language Models"简称。在此之前word embedding本质是个静态方式,静态的意思就是说单词训练好之后就固定了,在以后使用时,单词不会跟着上下文...原创 2020-03-22 16:41:20 · 902 阅读 · 0 评论 -
利用词袋模型和TF-IDF实现Large Movie Review Dataset文本分类
目录文本分类简介数据集介绍数据预处理提取特征训练分类器模型评估 文本分类简介 文本分类是指在给定分类体系,根据文本内容自动确定文本类别的过程。最基础的分类是归到两个类别中,称为二分类问题,例如电影评论分类,只需要分为“好评”或“差评”。分到多个类别中的称为多分类问题,例如,把名字分类为法语名字、英语名字、西班牙语名字等。一般来说文本分类大致分为如下几个步骤:...原创 2019-05-10 17:04:07 · 3294 阅读 · 0 评论 -
CS224N笔记——机器翻译和GRU以及LSTM
目录复习使用RNN的机器翻译GRULSTM 复习 Word2Vec:Glove:Nnet&Max-margin:,Multilayer Nnet&Backprop:,RNN:,Cross Entropy:Mini-batch SGD: 使用RNN的机器翻译 红圈所示特征表示必须能捕捉整个原文短语的语义,但是RNN无法记...原创 2019-08-19 20:53:57 · 463 阅读 · 0 评论 -
CS224N刷题——Assignment2.3_RNN:Language Modeling
Assignment #23.Recurrent Neural Networks: Language Modeling在这一节中,计算RNN语言模型的梯度。语言模型是NLP中的一个核心任务,语言模型也存在于语音识别、机器翻译等许多其他系统的核心部分。给定一个单词(表示为一个one-hot行向量)序列,语言模型根据下列模型预测下一个单词:其中是单词表中的一个单词。下面计算RN...原创 2019-05-24 21:57:06 · 248 阅读 · 0 评论 -
CS224N笔记——RNN和语言模型
目录传统语言模型循环神经网络语言模型损失函数训练RNN时的困难梯度消失问题梯度消失实例防止梯度爆炸减缓梯度消失困惑度结果问题:softmax太大且太慢一个实现技巧序列模型的应用双向和深层RNNs双向RNNs深层双向RNNs评测 传统语言模型 语言模型就是计算一个单词序列(句子)的概率的模型。可以用于机器翻译中,判断译文序列中...原创 2019-08-19 20:53:51 · 338 阅读 · 0 评论 -
word2vec训练与相似度计算
中文语料预处理 采用维基百科里的中文网页作为训练语料库,下载地址为:https://dumps.wikipedia.org/zhwiki/20190301/zhwiki-20190301-pages-articles.xml.bz2维基百科提供的语料是xml格式的,因此需要将其转换为txt格式。由于维基百科中有很多是繁体中文网页,故需要将这些繁体字转换为简体字。另外,在用语料库训练词向...原创 2019-05-18 13:50:22 · 3353 阅读 · 2 评论 -
CS224N笔记——神经机器翻译与Attention机制
目录神经机器翻译NMT神经机器翻译的架构神经机器翻译的青铜时代现代神经机器翻译的序列模型RNN EncoderDecoder:循环语言模型机器翻译的发展神经机器翻译的四大优势统计/神经机器翻译神经机器翻译主要由工业界促进Attention:朴素RNN&长序列Attention机制词语对齐同时学习翻译和对齐Scoring 神经...原创 2019-08-19 20:54:01 · 914 阅读 · 0 评论 -
CS224N刷题——Assignment3.1_A window into NER
Assignment #3A primer on named entity recognition这一节作业我们会建立几种不同的模型来实现命名实体识别(NER)。NER是信息抽取的一个子任务,旨在将文本中的命名实体定位并分类为预先定义的类别,如人名、组织、地点、时间表达式、数量、货币值、百分比等。对于上下文中给定的一个单词,预测它是否代表下列四个类别中的一个:人名(PER):例如“Ma...原创 2019-08-19 20:54:20 · 492 阅读 · 0 评论 -
CS224N笔记——深入GRU和LSTM
目录深入GRUUpdate GateReset Gatetanh-RNN与GRU的对比GRU与LSTM的对比深入LSTM训练一个RNNEnsemble 深入GRU RNN的梯度消失:损失在反向传播中必须经过所有中间节点。GRU额外添加了一些“捷径”红线,允许梯度直接流过去,而不是连乘的方式递减过去。Update Gate用来自适应学...原创 2019-05-31 16:18:30 · 382 阅读 · 0 评论 -
CS224N笔记——依存句法分析
语言学的两种观点 如何描述语法,有两种主流观点,其中一种是短语结构文法(上下文无关文法),英文术语是:Constituency = phrase structure grammar = context-free grammars (CFGs)。这种短语语法用固定数量的rule分解句子为短语和单词、分解短语为更短的短语或单词。一个取自WSJ语料库的短语结构树示例:另一种是依存结构...转载 2019-05-29 19:34:42 · 1450 阅读 · 0 评论 -
论文笔记《Neural Machine Translation by Jointly Learning to Align and Translate》
中文题名:基于联合学习对齐和翻译的神经机器翻译目录摘要背景:神经机器翻译任务定义编码器-解码器框架(基线)编码器(基线)解码器(基线)模型效果存在的问题学习对齐和翻译RNNenc vs RNNsearchRNNsearch的编码器RNNsearch的解码器注意力思想注意力机制RNNsearch模型的解码器的计算步骤RNNsearc...原创 2019-06-20 00:11:26 · 1076 阅读 · 1 评论 -
达观杯文本分类——基于N-gram和LogisticRegression
任务与数据 建立模型通过长文本数据正文(article),预测文本对应的类别(class)。数据包含2个csv文件:train_set.csv:此数据集用于训练模型,每一行对应一篇文章。文章分别在“字”和“词”的级别上做了脱敏处理。共有四列: 第一列是文章的索引(id),第二列是文章正文在“字”级别上的表示,即字符相隔正文(article);第三列是在“词”级别上的表示,即词...原创 2019-06-20 10:32:49 · 1765 阅读 · 0 评论 -
CS224N刷题——Assignment3.2_Recurrent neural nets for NER
Assignment #32. Recurrent neural nets for NER每一个RNN单元利用一个sigmoid将隐藏状态向量和输入结合起来,然后在每一个时间步利用隐藏状态来预测输出:其中是词向量,是RNN单元的参数,是softmax的参数。和之前一样,V是单词表的大小,D是词向量的大小,H是隐藏层的大小,C是预测的类别数(这里是5)。为了训练模型,我们对每...原创 2019-06-17 14:48:40 · 497 阅读 · 2 评论 -
deeplearning.ai——字符级语言模型-恐龙岛
数据集包含了所有恐龙的名字,构建一个字符级语言模型来创建新的恐龙名称,算法能够学习不同的名称模式,并随机生成新的名称。完成这项作业能够学到:如何存储文本数据以便使用RNN进行处理 如何合成数据,通过在每个时间步采样预测值并将其传递给下一个RNN单元 如何构建一个字符级文本生成循环神经网络 为什么剪裁梯度很重要1 - Problem Statement1.1 - Datas...原创 2019-07-15 17:07:29 · 665 阅读 · 0 评论 -
论文笔记《BERT》
论文题目:BERT-Bidirectional Encoder Representations from TransformersMasked Language Model(MLM)随机掩码语言模型:给定一个输入序列:[CLS] The dog jumped over the log. [SEP] 随机mask15%的token:[CLS] The dog jumped [MAS...原创 2019-07-18 20:13:53 · 508 阅读 · 0 评论 -
论文笔记《Attention Is All You Need》
论文模型:Transformer目录Transformer之前的经典算法模型1.循环神经网络2.带有注意力机制的循环神经网络3.注意力权重函数4.卷积神经网络自注意力机制自注意力函数编码自注意力解码自注意力自注意力机制与注意力机制的区别并行的注意力头多头注意力Transformer模型框架模型框架编码器解码器编码器与解码...原创 2019-07-17 21:52:11 · 846 阅读 · 0 评论 -
CS224N刷题——Assignment1.4_情感分析
Assignment #14.Sentiment Analysis现在,通过你训练的词向量,我们将进行一个简单的情感分析。对于斯坦福情感树库数据集中的每个句子,我们将使用该句子中所有词向量的平均值作为其特征,并尝试预测所述句子的情感等级。这些短语的情感等级在原始数据集中以实际值表示,这里我们只使用五个类:“very negative (−−)”, “negative (−)”, “ne...原创 2019-05-15 11:24:32 · 705 阅读 · 0 评论 -
CS224N笔记——反向传播
目录两层神经网络的反向传播电路图解释流动图解释实际神经网络中的误差信号 两层神经网络的反向传播 将输出s展开:对求偏导:矩阵形式:其中,对求偏导:其中,综上,任意层的通用公式为: 电路图解释 反向传播时每通过一级,就用链式法则乘以这一级的导数。其中,sigmoid相关的元件可以合并为...原创 2019-05-14 15:44:52 · 244 阅读 · 0 评论 -
实现一个基础的spelling corrector
题目假设:有一个真实英文词汇的大辞典。 只实现错误单词到正确单词的更正。 只考虑不同于错误单词的单个字符(插入、删除或替换)的更正。实现原理:参考Peter Norvig的spelling corrector给定一个单词,我们的任务是选择和它最相似的拼写正确的单词。(如果这个单词本身拼写就是正确的, 那么最相近的就是它自己)。当然,不可能绝对的找到相近的单词,比如说给定 late...原创 2019-04-05 19:14:05 · 714 阅读 · 0 评论 -
正则表达式在NLP的基本应用
匹配字符串 通过使用re.search(regex,string)这个方法,可以检查这个string字符串是否匹配正则表达式regex。如果匹配到,这个表达式会返回一个match对象,如果没有匹配到则返回None。1.获取包含关键字的句子import retext_string = '文本最重要的来源无疑是网络。我们要把网络中的文本获取形成一个文本数据库。利用一个爬虫抓取到网络...原创 2019-03-28 19:40:15 · 1470 阅读 · 0 评论 -
基于规则的中文分词
正向最大匹配(Maximum Match Method, MM法)的基本思想为:假定分词词典中的最长词有i个汉字字符,则用被处理文档的当前字串中的前i个字作为匹配字段,查找字典。若字典中存在这样的一个i字词,则匹配成功,匹配字段被作为一个词切分出来。如果词典中找不到这样的一个i字词,则匹配失败,将匹配字段中的最后一个字去掉,对剩下的字串重新进行匹配处理。如此进行下去,直到匹配成功,即切分出一个词或...原创 2019-03-28 20:30:31 · 788 阅读 · 0 评论 -
Jieba分词简介
Jieba分词官网:https://github.com/fxsjy/jieba 三种分词模式 Jieba提供了三种分词模式:精确模式,试图将句子最精确地切开,适合文本分析; 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义; 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。import jiebasent...原创 2019-03-28 21:15:29 · 20250 阅读 · 1 评论 -
基于HMM和维特比算法的中文分词
隐马尔可夫模型(HMM)是将分词作为字在字串中的序列标注任务来实现的。其基本思路是:每个字在构造一个特定的词语时都占据着一个确定的构词位置,现规定每个字最多只有四个构词位置:即B(词首)、M(词中)、E(词尾)和S(单独成词),那么下面句子(1)的分词结果就可以直接表示成如(2)所示的逐字标注形式:(1)中文/分词/是/文本处理/不可或缺/的/一步!(2)中/B文/E分/B词/E是/S文/...原创 2019-04-17 10:33:27 · 3472 阅读 · 7 评论 -
CS224N笔记——词向量表示
目录Word meaningWord2vec introductionWord2vec目标函数的梯度 Word meaning 如何表示一个词的词义?在韦氏词典中meaning的词义为:(1)用单词、短语等表示的想法;(2)人们想要通过单词、符号等表示的想法;(3)在写作、艺术等作品中表达的思想。如何用计算机处理词义?最常用的方法:用分类资源来处理词义...原创 2019-04-26 17:24:54 · 345 阅读 · 0 评论 -
GloVe推导过程
GloVe GloVe使用了词与词之间的共现(co-occurrence)信息。我们定义X为共现词频矩阵,其中元素为词j出现在词i的环境(context)的次数。这里的“环境”有多种可能的定义。举个例子,在一段文本序列中,如果词j出现在词i左边或者右边不超过10个词的距离,我们可以认为词j出现在词i的环境一次。令为任意词出现在词i的环境的次数,那么,为词j出现在词i的环境的概率。这一概...转载 2019-05-02 18:01:43 · 705 阅读 · 0 评论 -
关键词提取算法TF-IDF
简介 TF-IDF算法(Term Frequency-Inverse Document Frequency,词频-逆文档频率算法)是一种基于统计的计算方法,常用于评估在一个文档集中一个词对某份文档的重要程度,由两部分组成:TF算法以及IDF算法。TF算法是统计一个词在一篇文档中出现的频次,其基本思想是,一个词在文档中出现的次数越多,则其对文档的表达能力也就越强。 IDF算法则是统计一...转载 2019-04-18 21:39:15 · 3357 阅读 · 2 评论 -
CS224N笔记——Word Window分类与神经网络
目录分类的背景分类问题中更新词向量Window classification神经网络 分类的背景 关于分类给定训练集:其中是一个d维向量,是一个c维one-hot向量,N是训练集样本数。在传统的机器学习方法中,往往通过诸如逻辑斯谛回归和SVM找到分类决策边界:softmax细节把给定输入x时的输出为y的概率计算分成两步:(1)用(W的第y行)乘...原创 2019-05-03 14:37:30 · 599 阅读 · 0 评论 -
奇异值分解(Singular Value Decomposition, SVD)——快速教程
原文作者:Dr. Edel Garcia原文地址:https://fenix.tecnico.ulisboa.pt/downloadFile/3779576344458/singular-value-decomposition-fast-track-tutorial.pdf摘要:本快速教程提供了使用奇异值分解(SVD)算法分解矩阵的说明。教程涵盖奇异值、左右特征向量以及计算矩阵的full ...翻译 2019-04-19 10:30:45 · 2766 阅读 · 0 评论 -
潜在语义索引(Latent Semantic Indexing, LSI)——快速教程
原文作者:Dr. Edel Garcia原文地址:https://apluswebservices.com/wp-content/uploads/2012/05/latent-semantic-indexing-fast-track-tutorial.pdf摘要:本快速教程提供了使用奇异值分解(SVD)计算方法和Term Count Model对查询和文档评分以及对结果排序的说明。 关键...翻译 2019-04-19 15:16:13 · 5968 阅读 · 0 评论 -
主题模型(Topic Model)与LDA算法
Topic Model 主题模型(Topic Model)是以非监督学习的方式对文档的隐含语义结构(latent semantic structure)进行聚类(clustering)的统计模型。主题模型认为在词(word)与文档(document)之间没有直接的联系,它们应当还有一个维度将它们串联起来,主题模型将这个维度称为主题(topic)。每个文档都应该对应着一个或多个的主题,而...转载 2019-04-19 16:37:10 · 15602 阅读 · 2 评论 -
CS224N刷题——Assignment1.1&1.2_Softmax&神经网络基础
Assignment #11.Softmax(a)证明softmax对输入中的常量偏移保持不变,即对于任何输入向量x和任何常量c,式中,x+c意味着将常数c加到x的每个维上。记住:注:在实践中,我们利用这一性质,在计算数值稳定性的softmax概率时,选择。(即从x的所有元素中减去其最大元素)(b)给出n行和d列的输入矩阵,使用(a)部分的优化方法计算每行的soft...原创 2019-04-30 20:02:59 · 428 阅读 · 0 评论 -
CS224N笔记——高级词向量表示
目录复习近似:skip-gram模型和负采样其他方法综合两者优势:GloVe评测词向量 复习 word2vec主要思想遍历整个语料库中的每个单词 预测每个单词(窗口的中心词)的上下文词汇在每个窗口进行随机梯度下降法(SGD)词向量的随机梯度在每个窗口,只有最多2m+1个单词,非常稀疏。我们也可以只更新实际出现过的词向量。解决方案:每次更新...原创 2019-05-01 15:51:03 · 325 阅读 · 0 评论 -
CS224N刷题——Assignment1.3_word2vec
Assignment #13.word2vec(a)假设已有一个与skip-gram模型的中心词c对应的预测词向量,并使用word2vec模型中的softmax函数进行词预测:其中w表示第w个词,是词汇表中所有单词的“输出”词向量。假设在预测中使用交叉熵损失函数,单词o是预期单词(在one-hot标签向量中的第o个元素是1),推导关于的梯度。提示:使用问题2中的符号会有帮助。例...原创 2019-05-06 21:53:02 · 467 阅读 · 0 评论 -
中文信息熵的计算
摘要:本文介绍了利用基于词的一元模型、二元模型、三元模型估计中文信息熵的计算方法,并通过中文维基百科语料得到三种统计语言模型计算得到的中文信息熵分别为13.711比特/词、6.402比特/词、1.508比特/词。关键词:信息熵;统计语言模型 引言 信息是个很抽象的概念。人们常常说信息很多,或者信息较少,但却很难说清楚信息到底有多少。比如一本五十万字的中文书到底有多少信息量。直...原创 2019-03-18 10:22:27 · 12750 阅读 · 0 评论