Introduction
约 415 个字 预计阅读时间 1 分钟
Note
一些专业术语的翻译可能欠妥,会标注英文
课程简介
CS224N 是Stanford 著名的NLP课程,这门课使用PyTorch框架,建议学习前有一定Python基础,这门课提供了一个PyTorch 入门教程。
NLP 简介
定义
Natural language processing is a field of science and engineering focused on the development and study of automatic systems that understand and generate natural (that is, human,) languages.
表示句子 Representing words
能指与所指 Signifier and signified
语言的含义是很复杂的,设法表示出语义是个没有尽头的话题,也是NLP的重点之一。
词向量 word vector
对于一个单词,我们使用一个只有一位是1的向量表示,比如: \({v}_{\text{tea }} = \left\lbrack \begin{matrix} 0 \\ 0 \\ 1 \\ \vdots \\ 0 \end{matrix}\right\rbrack\) \({v}_{\text{coffee }} = \left\lbrack \begin{matrix} \vdots \\ 0 \\ 0 \\ 1 \\ \vdots \end{matrix}\right\rbrack\)
这样coffee和tea就被分别表示出来了,这种表示相当于建立了单词到向量的一一映射,其实不止如此,我们计算这两个向量的点乘:\({v}_{\text{tea }}^{\top }{v}_{\text{coffee }} = {v}_{\text{tea }}^{\top }{v}_{\text{the }} = 0\),点乘为0说明这两个词不是同一个单词。
此外可能还有相关信息的描述,比如
这个向量说明tea不是复数,不是第三人称单数形式的动词,是饮料的下位词(hyponym是语言学术语,表示下位次),是chai的同义词。
但是在如今的NLP领域我们并不会采用这种描述方式,这个方式有如下缺陷: * 人工标注属性的成本很高 * 向量的维度也很高
实际上,我们会采用 Word2vec