文本预处理、语言模型、循环神经网络基础 #d2l#
文本预处理
手动处理
读入分词词典 读入 分词使用单词
split(' ')即可,对于字母则直接
list()
库处理
spacy和NLTK
import spacy
from nltk.tokenizen import word_tokenize
语言模型
对于一段词序列w1,w2,…,wTw_1,w_2,\dots,w_Tw1,w2,…,wT其概率为:
P(w1,w2,…,wT)=P(w1)P(w2∣w1)⋯P(wT∣w1w2…wT−1)
P(w_1,w_2,\dots,w_T) = P(w_1)P(w_2|w_1)\cdots P(w_T|w_1w_2 \dots w_{T-1})
P(w1,w2,…,wT)=P(w1)P(w2∣w1)⋯P(wT∣w1w2…wT−1)
为降低处理复杂度,采用马尔可夫假设,即一个词的出现仅与前nnn个词相关,于是上式写为:
P(w1,w2,…,wT)=∏t=1TP(wt∣wt−(n−1),…,wt−1)
P(w_1,w_2,\dots,w_T) = \prod_{t=1}^T P(w_t|w_{t-(n-1)},\dots,w_{t-1})
P(w1,w2,…,wT)=t=1∏TP(wt∣wt−(n−1),…,wt−1)
循环神经网络基础
H=ϕ(XWxh+bh)
\bm{H} = \phi (\bm{X}\bm{W}_{xh}+b_h)
H=ϕ(XWxh+bh)
其中ϕ\phiϕ为激活函数,H\bm{H}H为隐藏层输出。输出层输出O\bm{O}O为:
O=HWhq+bq
\bm{O}=\bm{H}\bm{W}_{hq} + \bm{b}_q
O=HWhq+bq
加入隐藏状态后。有:
Ht=ϕ(XtWxh+Ht−1Whh+bh)
\bm{H}_t = \phi (\bm{X}_t \bm{W}_{xh}+\bm{H}_{t-1}\bm{W}_{hh}+\bm{b}_h)
Ht=ϕ(XtWxh+Ht−1Whh+bh)
输出层得:
Ot=HtWhq+bq
\bm{O}_t=\bm{H}_t\bm{W}_{hq} + \bm{b}_q
Ot=HtWhq+bq
应对梯度爆炸,使用:
min(θ∥g∥,1)g
min(\frac{\bm{\theta}}{\left\|\bm{g}\right\|},1)\bm{g}
min(∥g∥θ,1)g
其中θ\bm{\theta}θ为阈值。
- 点赞
- 收藏
- 分享
- 文章举报
- ElitesAI·动手学深度学习PyTorch版学习笔记-文本预处理;语言模型;循环神经网络基础
- 《动手学深度学习》笔记 Task02:文本预处理;语言模型;循环神经网络基础
- 02深度学习_文本预处理/语言模型/循环神经网络基础
- Task02:文本预处理;语言模型;循环神经网络基础
- 文本预处理、语言模型、循环神经网络基础
- 动手学深度学习(文本预处理+语言模型+循环神经网络基础)
- 动手学深度学习 Task02:文本预处理;语言模型;循环神经网络基础
- 动手学深度学习(二)——文本预处理&语言模型&循环神经网络
- 使用循环神经网络实现语言模型——源自《TensorFlow:实战Goole深度学习框架》
- 基于循环神经网络搭建语言模型
- 基于神经网络语言模型的中文新闻文本聚类算法
- 84、循环神经网络实现语言模型
- tensorflow17《TensorFlow实战Google深度学习框架》笔记-08-02 使用循环神经网络实现语言模型 code
- 《动手学深度学习》第二十四天---语言模型,循环神经网络
- 基于循环神经网络实现基于字符的语言模型(char-level RNN Language Model)-tensorflow实现
- 84、循环神经网络实现语言模型
- 使用TensorFlow训练循环神经网络语言模型
- 深度学习基础模型算法原理及编程实现--06.循环神经网络
- 文本表示(一)神经网络语言模型
- 用tensorflow实现自然语言处理——基于循环神经网络的神经语言模型