词向量及语言模型

本文介绍了词向量的概念,包括one-hot vector和分布式表示,重点讲解了word2vec模型,包括CBOW和Skip-gram模型的工作原理,以及词向量的计算和相似性衡量方法。
摘要由CSDN通过智能技术生成

一、词向量

词向量word embedding):词的向量表征。

很多初识机器学习、深度学习等的同学,包括我,一定对词向量比较迷惑,为什么说前者之前都要提到词向量?答案:为了将输入数据表示成向量,在向量上进行数学建模。这样把词表示为计算机适合处理的方式。

词向量表示方法:

1)one-hot vector:将所有单词排序,排序之后每个单词就会有一个位置,然后用一个与单词数量等长的数组表示某单词,该单词所在的位置数组值就为1,而其他所有位置值都为0。

例如:

“话筒”表示为 [0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 …]
“麦克”表示为 [0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 …]
每个词都是茫茫 0 海中的一个 1。
但是,问题在于:a 、这样编码太稀疏了,会导致维度非常高,因为单词的数量级通常在10^6级别,维度高就导致计算困难。b、我们无法简单的从这样的编码中得知单词之间的关系。原因在于:每个词本身的信息量都太小。所以,仅仅给定两个词,不足以让我们准确判别它们是否相关。

2)Distributed representation

其是一种既能表示词本身又可以考虑语义距离的词向量表示方法。

该方法最早由 Hinton在 1986 年提出。它是一种 低维实数向量,这种向量一般长成这个样子:
[0.792, −0.177, −0.107, 0.109, −0.542, …]。
将 word映射到一个新的空间中,并以多维的连续实数向量进行表示叫做“Word Represention” 或 “Word Embedding”。
采用低维空间表示法,不但解决了维数灾难问题,并且挖掘了word之间的关联属性,从而提高了向量语义上的准确度。

二、语言模型
早期的自然语言处理采用硬编码的规则来实现。在上世纪80年代,机器学习被应用于自然语言处理中,统计语言模型被提出来,并广泛应用于机器学习模型中。我们这里的语言模型就是指统计语言模型。

我们认识一下什么是一个好的模型?对某个我们认为正确的句子,比如『狗啃骨头』,一个好的模型将能给出很高的概率。而对于不合理的句子,比如『骨头啃狗』它将给出很低的概率。这里面的一个重要的概念就是句子的概率。统计语言模型,简单而言,就是计算某一个句子的概率:P(w1, w2, w3, …)。其中w表示句子中的单词。

1、N-gram neural model。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值