
NLP
XP-Code
这个作者很懒,什么都没留下…
展开
-
Word2Vec之Skip-Gram
参考:[1] : https://www.hankcs.com/nlp/word-vector-representations-word2vec.html[2] : https://www.cnblogs.com/wevolf/p/10781636.html[3] : https://looperxx.github.io/CS224n-2019-01-Introduction%20and%2...原创 2020-03-05 14:28:16 · 1188 阅读 · 0 评论 -
n-gram 语言模型的平滑技术
1. 统计语言模型首先一个句子的概率 P(S):但是存在两个问题:参数空间过大数据稀疏严重,词同时出现的情况可能没有,组合阶数高时尤其明显。2. n-gram模型为了解决第一个问题引入马尔科夫假设(Markov Assumption):一个词的出现仅与它之前的若干个词有关:然后利用极大似然估计(Maximum Likelihood Estimation,MLE)计算每一项的...原创 2020-02-28 16:59:14 · 2014 阅读 · 0 评论 -
Attention机制详解
一、Attention 原理在Encoder-Decoder结构中,Encoder把所有的输入序列都编码成一个统一的语义特征c再解码,因此, c中必须包含原始序列中的所有信息,它的长度就成了限制模型性能的瓶颈。如机器翻译问题,当要翻译的句子较长时,一个c可能存不下那么多信息,就会造成翻译精度的下降。相比于原始的Seq2Seq模型的Decoder中只通过同一个向量c去计算隐状态,Attentio...原创 2020-02-23 16:33:01 · 12874 阅读 · 0 评论 -
Encoder-Decoder、Seq2Seq、Attention 以及Transformer之间的关系
一、Encoder-Decoder 模型首先我们来了解一下Encoder-Decoder 模型, Encoder-Decoder 主要是 NLP 领域里的概念,它并不特值某种具体的算法,而是一类算法的统称,称之为Encoder-Decoder结构更合适。Encoder-Decoder 算是一个通用的框架,在这个框架下可以使用不同的算法来解决不同的任务。Encoder-Decoder 这个框架很好...原创 2020-02-23 01:09:01 · 3106 阅读 · 1 评论 -
Transformer 模型详解
概要目前在序列建模和转换问题中,如语言建模和机器翻译,所采用的主流框架为Encoder-Decoder框架。传统的Encoder-Decoder一般采用RNN作为主要方法,基于RNN所发展出来的LSTM和GRU也被曾认为是解决该问题最先进的方法。但是RNN的主要缺陷在于并行训练的不足。针对机器翻译问题,原论文文(Attention is all you need)提出了一种“Transforme...原创 2020-02-20 19:50:53 · 10095 阅读 · 8 评论 -
LDA主题模型
一、简介首先,主题模型(topic model)是以非监督学习的方式对文集的隐含语义结构(latent semantic structure)进行聚类(clustering)的统计模型。隐含狄利克雷分布(Latent Dirichlet Allocation,LDA) 模型是一种常见的主题模型,在主题模型中占有非常重要的地位,常用来文本分类。LDA由Blei, David M.、Ng, And...原创 2020-02-15 21:51:45 · 1055 阅读 · 0 评论 -
NLP基础:NLTK使用
NLTKNLTK在NLP上的应用情感分析文本相似度文本分类一、安装NLTKsudo pip install nltkpython3>>> import nltk>>> nltk.download()其中 nltk.download() 用来下载nltk自带的一些语料库测试布朗大学的语料库:>>> from nlt...原创 2019-04-26 16:40:31 · 1600 阅读 · 0 评论 -
ChatterBot构建聊天机器人
一、预备知识机器人应答逻辑(Logic Adapter),针对每个部分设计了不同的适配器Closet Match Adapter:字符串模糊匹配(编辑距离)Closet Meaning Adapter:借助nltk的WordNet,近义词评估Time Logic Adapter:处理涉及实践的提问Mathematical Evaluation Adapter:涉及数学运算存储器后段...原创 2019-04-26 16:41:55 · 874 阅读 · 0 评论 -
用隐马尔科夫模型实现中文分词
隐马尔科夫模型通常用来解决序列标注问题,因此可以将分词问题转化为一个序列标注问题来进行建模。例如可以对中文句子中得每个字做以下标注:B表示一个词开头的第一个字,E表示一个词结尾的最后一个字,M表示一个词中间的字,S表示一个单字词,那么隐藏状态空间就是{B, E, M, S}。同时对隐藏状态的转移概率可以给出一些先验知识:B和M后面只能是M或者E,S和E后面只能是B或者S。而每个字就是模型中得观测...原创 2019-08-12 18:11:15 · 2637 阅读 · 3 评论