5 Star 13 Fork 7

liuyaox / roadmap_nlp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
05-Language_Model.md 1.90 KB
一键复制 编辑 原始数据 按行查看 历史
liuyaox 提交于 2020-02-22 00:17 . update

5. Language Model

5.1 Overview

Keywords: BOW NNLM (Tools: Onehot TFIDF Ngram)

Statistical Language Models

Code

5.2 NGram Model

P(w1,w2,⋯,wm)=P(w1)P(w2|w1)P(w3|w1,w2)⋯P(wm|w1,⋯,wm−1),随后可使用马尔可夫假设(P(wi|w1,⋯,wi−1)=P(wi|wi−n+1,⋯,wi−1))进行简化,n=1,2,3,...

Article

5.3 Bag-of-Word (BOW)

BOW, BOW + NGram, BOW + TFIDF, BOW + NGram + TFIDF, 其实还可以再推进一步:BOW + NGram + TFIDF + SVD

并非严格狭义的语言模型,不是用于预测下一个字或句子,而是用于表征文本

5.4 NNLM

Purpose: To predict N-th word using previous N-1 words

2003年提出神经网络语言模型NNLM,模型结构很简单:

Input(1~N-1 words, onehot)-->Embedding(Lookup Table)-->Concate-->Dense(tanh)-->Softmax(N-th word)

NNLM VS Word2Vec:

Word2Vec与NNLM基本类似,结构非常相似,Word2Vec中的CBOW和Skip-gram结构更简化一些,删除了隐层Dense(tanh)

因为是语言模型,而语言模型本质上就是看到上文预测下文,Word Embedding只是它的副产品,它的训练方式是:上文 --> 下一个word

而Word2Vec是专门为了Word Embedding而生的,更加灵活一些,有CBOW和Skip-gram这2种训练方式: CBOW: 上下文 --> 中间的word Skip-gram:中间的word --> 上下文

5.5 Character-Level Model

Character-Aware Neural Language Models - Harvard2015

Code

Article

Python
1
https://gitee.com/liuyaox/roadmap_nlp.git
git@gitee.com:liuyaox/roadmap_nlp.git
liuyaox
roadmap_nlp
roadmap_nlp
master

搜索帮助