语言模型和数据集

https://zh.d2l.ai/chapter_recurrent-neural-networks/language-models-and-dataset.html

“我想吃奶奶” 其实也没有那么令人不安,你们觉得呢? :joy:

stop driving the car, please.

4 Likes

NLP领域tokenizer的总结。
https://cloud.tencent.com/developer/article/1865689

def seq_data_iter_random(corpus, batch_size, num_steps):

减去1,是因为我们需要考虑标签

num_subseqs = (len(corpus) - 1) // num_steps

请问这里减去一该如何解释,为什么说考虑标签就要减去1呢

这一节的seq_data_iter_sequrntial函数中offset=random.randint(0, num_steps),offset应该等于random.randint(0, num_steps-1),要不然开始index随机取到num_steps的时候,会缺少最前面的那个子序列。如有错误,请更正我谢谢~

因为这里的标签,是移位了一个词元的原始序列。如果不减去这个1,就有可能使得原始序列中的最后一个元素被列进样本中而没有与之对应的标签(数组越界了)。

1 Like

两种方法的偏移量不一致,请问可以任意取偏移量吗?
image
image

1 Like

第二个应该改成num_steps-1, 否则当 offset= num_steps时,会缺失最后一个batch

公式总是显示不出来,有人知道怎么解决吗?

觉得是无关痛痒的,此处只是开头砍掉前缀而已。最终控制长度的是下行取整

这一节觉得有点乱,开始说laplace smoothing可以解决尾部低频词问题,接着zipf’s law又推翻了前者。。