动手学深度学习 PyTorch版 李沐视频课笔记
文章目录
一、语言模型
1. 语言模型和数据集
使用时光机器数据集构建词表,并打印前10个最常用的(频率最高的)单词。
Code:
import random
import torch
from d2l import torch as d2l
tokens = d2l.tokenize(d2l.read_time_machine())
# 因为每个⽂本⾏不⼀定是⼀个句⼦或⼀个段落,因此我们把所有⽂本⾏拼接到⼀起
corpus = [token for line in tokens for token in line]
vocab = d2l.Vocab(corpus)
vocab.token_freqs[:10]
Result:
2. 词频图
最流行的词看起来很无聊,这些词通常被称为停用词(stop words),因此可以被过滤掉
Code:
freqs = [freq for token, freq in vocab.token_freqs]
d2l.plot(freqs, xlabel='token: x', ylabel='frequency: n(x)',xscale='log', yscale='log')
Result:
3. 二元语法词频
Code:
bigram_tokens = [pair for pair in zip(corpus[:-1], corpus[1:])]
bigram_vocab = d2l.Vocab(bigram_tokens)
bigram_vocab.token_freqs[:10]
Result:
4. 三元语法词频
Code:
trigram_tokens = [triple for triple in zip