首页 / 资料库 / 微软 · AI 入门

资料库6 分钟读完MIT语言模型自然语言处理

语言模型

译自《Language Modeling》 · 查看英文原文

原文出处Language Modeling 原作者:Microsoft · 许可证:MIT License 中文译本由诸葛AI学院整理,仅供学习参考,版权归原作者与微软所有。

Word2Vec、GloVe 这类语义嵌入(semantic embedding),其实是迈向语言模型(language model)的第一步。所谓语言模型,就是设法理解(或者说表示)语言本质的模型。

课前小测

语言模型背后的主要想法,是在无标注数据集上做无监督(unsupervised)训练。这件事重要,因为我们手头有海量无标注文本,而有标注文本的数量,永远受限于我们肯在标注上花多大力气。最常见的做法是构建能预测缺失单词的语言模型,因为在文本里随机遮掉一个词、拿它当训练样本,操作起来很容易。

训练嵌入

前面的例子里我们用的是预训练好的语义嵌入,但这些嵌入本身是怎么训练出来的,也值得看一看。可用的思路有这么几种:

  • N-Gram 语言建模:看着前面 N 个词(N-gram)来预测一个词
  • 连续词袋(Continuous Bag-of-Words,CBoW):在词序列 $W_{-N}$, ..., $W_N$ 中预测中间的词 $W_0$
  • 跳词(Skip-gram):用中间的词 $W_0$ 预测一组相邻的词 {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$}

原文此处有一张图,出自讲"词转向量"的那篇论文,把上面几种算法摆在一起做了示意(图来自这篇论文)。

示例 Notebook:训练 CBoW 模型

继续在下面的 notebook 里学习:

小结

上一课我们看到词嵌入灵验得像魔法。现在知道了,训练词嵌入不是多复杂的任务。需要的话,我们完全可以针对特定领域的文本,训练自己的词嵌入。

课后小测

复习与自学

作业:训练 Skip-Gram 模型

实验作业里,我们请你把本课的代码改一改,去训练 skip-gram 模型而不是 CBoW。具体要求读这里

这篇在讲什么,跟咱们的课怎么对?

资料库是大厂公开教材的中文译本,偏原理和工程做法。想看面向中小企业的白话版本,去入门课场景课