02 选择最可能的句子(Picking the Most Likely Sentence)
这一节在讲什么 这一节要解决一个很关键的问题: 模型已经学会“给某个翻译打概率”了,但怎么真正挑出“最好的翻译”? 这一步不是训练问题,而是“搜索问题”。 机器翻译其实是条件语言模型 普通语言模型学的是: [P(y)] 也就是一句话本身出现的概率。 而机器翻译学的是: [P(y \mid x)] 意思是:给定输入法语句子 $x$,某个英语句...
这一节在讲什么 这一节要解决一个很关键的问题: 模型已经学会“给某个翻译打概率”了,但怎么真正挑出“最好的翻译”? 这一步不是训练问题,而是“搜索问题”。 机器翻译其实是条件语言模型 普通语言模型学的是: [P(y)] 也就是一句话本身出现的概率。 而机器翻译学的是: [P(y \mid x)] 意思是:给定输入法语句子 $x$,某个英语句...
这一节在讲什么 这一节讲的是最基础的 seq2seq,也就是“输入一个序列,输出另一个序列”。最典型的例子就是: 输入法语句子:Jane visite l'Afrique en septembre. 输出英语句子:Jane is visiting Africa in September. 课程想说明的是:只要你能把输入句子先“压缩理解”成一个向量,再让另一个网络根据...
这一节在讲什么 这一节讲一个非常重要、也非常现实的问题: 词嵌入会学到人类文本中的偏见。 而如果这些嵌入再被用到招聘、录取、贷款、司法等系统里,问题会非常严重。 课程里的警示例子 论文里曾发现,一些词向量会表现出这样的类比: Man : Computer Programmer Woman : Homemaker 或者: Father ...
这一节在讲什么 这节课讲词嵌入在一个非常实用的任务里的应用:情感分类。 任务形式是: 输入一段文本 输出这段文本表达的是正面、负面还是几星评价 课程里的例子 例如餐馆评论: The dessert is excellent. -> 四星 Service was quite slow. -> 两星 Good for a quick ...
这一节在讲什么 这一节讲另一种经典词向量算法:GloVe。 它和 Word2Vec 的不同点在于: 它更直接利用“词与词共现次数”这个全局统计信息。 GloVe 的直觉 设: [X_{ij}] 表示单词 $i$ 和单词 $j$ 在语料中彼此接近时的共现次数。 如果两个词经常出现在相近位置,说明它们有更强关系。 所以 GloVe 想做的是: ...
这一节在讲什么 这一节讲怎么解决上一节 Word2Vec 的最大问题: softmax 太慢。 办法就是把“大词表多分类”改造成“少量二分类”,这就是负采样。 核心思路 与其问: “orange 的附近到底是哪一个词?” 不如改成问: “orange 和 juice 这两个词,是不是一对真的邻近词?” 这就从一个巨大的多分类问题,...
这一节在讲什么 这一节讲 Word2Vec,重点是其中的 Skip-Gram 思想。 它比上一节的完整神经语言模型更简单,也更高效。 Skip-Gram 的核心想法 不是“给很多上下文词,预测中间词”, 而是反过来: 给一个中心词,去预测它附近可能出现的词。 例如句子: [\text{I want a glass of orange juice to g...
这一节在讲什么 这一节开始讲: 词嵌入到底怎么学出来? 课程先从一个“预测下一个词”的神经语言模型讲起,因为这个思路最容易理解。 基本想法:用语言模型逼出好词向量 例子: [\text{I want a glass of orange ___}] 希望模型预测出最后的词: [\text{juice}] 如果要把这个任务做好,模型就会被迫学会: ...
这一节在讲什么 这一节把前面的词嵌入概念正式写成矩阵形式。 核心结论只有一句: 学习词嵌入,本质上就是在学习一个嵌入矩阵 $E$。 嵌入矩阵长什么样 假设: 词表大小是 $V=10000$ 每个词向量维度是 $d=300$ 那么嵌入矩阵可以写成: [E \in \mathbb{R}^{300 \times 10000}] 你可以把它理...
这一节在讲什么 这节课讲词嵌入一个非常有名的性质: 向量之间的差,能编码某些语义关系。 最著名的例子就是类比推理: [\text{man : woman :: king : queen}] 为什么这很神奇 如果词向量真的学得好,那么: man -> woman 这条变化方向 king -> queen 这条变化方向 应该很相似。...