Oxford-NLP_Course

Natural Language Processing Course Offered by Oxford University

1. Problem Raising

Naive representation: one hot vectors among vocabulary.

“You shall know a word by the company it keeps.” – J.R. Firth

Richer representations expressing semantic similarity

Idea: produce dense vector representations based on context/use of words, using approaches:

count-based, predictive, and task-based.

2. Count-based methods

When we want to define a representation of target word, we use the words within the context of it as a context based representation for it. Then use a metric to measure the distance/similarity of two words.

Embedding层就是以one hot为输入、中间层节点为字向量维数的全连接层!而这个全连接层的参数,就是一个“字向量表”!从这个层面来看,字向量没有做任何事情!它就是one hot,别再嘲笑one hot的问题了,字向量就是one hot的全连接层的参数!

那么,字向量、词向量这些,真的没有任何创新了吗?有的,从运算上来看,基本上就是通过研究发现,one hot型的矩阵相乘,就像是相当于查表,于是它直接用查表作为操作,而不写成矩阵再运算,这大大降低了运算量。再次强调,降低了运算量不是因为词向量的出现,而是因为把one hot型的矩阵运算简化为了查表操作。这是运算层面的。思想层面的,就是它得到了这个全连接层的参数之后,直接用这个全连接层的参数作为特征,或者说,用这个全连接层的参数作为字、词的表示,从而得到了字、词向量,最后还发现了一些有趣的性质,比如向量的夹角余弦能够在某种程度上表示字、词的相似度。

Personal Understanding

我们已经拥有了一个naive的词向量表达方式,那就是one-hot的方法:构造一个词典,这个词典里面有 k k 个单词,那么就用 Rkone-hot vector来表示这个单词。
但是这样子构成的单词有缺点:1. word vector过于稀疏。2. 不能表示出上下文的context信息。因此要想办法对它改进。


举例

有一个词典,有六个字 我喜欢计算机 那么计算机的 one-hot matrix 表示就为

000100000010000001 [ 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 ]


该如何改进呢?想通过某种方式将它变换为:

word1word2word3 [ ⋯ w o r d 1 ⋯ ⋯ w o r d 2 ⋯ ⋯ w o r d 3 ⋯ ]

每一行作为一种改进版本的,比one-hot表示法优秀的word vector表示法,它所蕴含的词法和上下文信息更加丰富。


方法一:Count-based

这是一种handcrafted办法,通过手动设定的window宽度和直接数的办法来提取上下文信息。它的形式是离散的,类似于强化学习中的马尔可夫过程。

方法二:Neural embedding model

下面的东西其实都不需要,直接看这个博客https://blog.csdn.net/lecholin/article/details/78006897?locationNum=10&fps=1

讲解一:
严格来讲,神经网络都是有监督的,而Word2Vec之类的模型,准确来说应该是“自监督”的,它事实上训练了一个语言模型,通过语言模型来获取词向量。所谓语言模型,就是通过前n个字预测下一个字的概率,就是一个多分类器而已,我们输入one hot,然后连接一个全连接层,然后再连接若干个层,最后接一个softmax分类器,就可以得到语言模型了,然后将大批量文本输入训练就行了,最后得到第一个全连接层的参数,就是字、词向量表,当然,Word2Vec还做了大量的简化,但是那都是在语言模型本身做的简化,它的第一层还是全连接层,全连接层的参数就是字、词向量表。

讲解二 Word Level Semantics
输入是上下文中的词从嵌入矩阵E中提取的词向量,将它们求和(称为投影层,projection),然后直接通过连接到输出层做softmax,输出层的维度为词汇表Vocabulary的大小,每一维代表中某个wi作为中心词的概率。(以负对数似然作为损失函数)

这里写图片描述

Skip-gram模型由于涉及的参数少,因此计算速度同样非常快,相似的改进有position-specific projections等,在计算效率和结构化程度上平衡。

Conclusion: The heart of Count-based method is the notion of embedding matrix, then we make this method generic via DL.

Reference: A Comprehensive Introduction to Word Vector Representations.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值