自然语言处理之词向量技术

Posted 深度学习圈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自然语言处理之词向量技术相关的知识,希望对你有一定的参考价值。

1. 词向量技术

词向量(word2vec)是一种表示自然语言中单词的方法,即把每个词都表示为一个N维空间内的点,即一个高维空间内的向量,通过这种方法,把自然语言计算转换为向量计算。词向量的基本内容包括:

  • 问题引入

  • 基于统计方法的词向量

  • 基于语言模型的词向量

2 问题引入

2.1 向量空间分布的相似性

在计算机中表示词语时,当词语转换为向量之后,应保持词语之间在空间中具有相似性。

2.2 向量空间子结构和目标

词语的向量不仅能表示空间分布,还应保证空间子结构一直。


词向量的最终目标是:词向量的表示可以作为机器学习、深度学习的输入和空间表示。
自然语言处理之词向量技术(二)

2.3 实现词向量的挑战

挑战一:如何把词转换为向量?自然语言单词是离散信号,比如“香蕉”、“橘子”、“水果”在我们看来就是3个离散的词。我们应该如何把离散的单词转换为一个向量。


挑战二:如何让向量具有语义信息?我们知道,“香蕉”和“橘子”更加相似,而“香蕉”和“句子”就没有那么相似,同时,“香蕉”和“食物”,“水果”的相似程度,可能介于“橘子”和“句子”之间。那么,我们该如何让词向量具备这样的语义信息?

3 基于统计方法的词向量

3.1 OneHotEncoder

独热码,在英文文献中称做ont-hot code,直观来说就是有多少个状态就有多少比特,而且只有一个比特为1,其他全为0的一种码制。
自然语言处理之词向量技术(二)

3.2 词袋模型

词袋模型(Bag of Words,简称BoW),即将所有词语装进一个袋子里,不考虑其词法和语序的问题,即每个词语都是独立的,把每一个单词都进行统计,同时计算每个单词出现的次数。


词袋模型的三部曲:分词(tokenizing),统计修订词特征值(counting)与标准化(normalizing)。

文档的向量表示可以直接将各词的词向量表示加和。
自然语言处理之词向量技术(二)

4 基于语言模型的词向量

4.1 语言模型的概念

N-Gram是一种基于统计语言模型的算法。它的基本思想是将文本里面的内容按照字节进行大小为N的滑动窗口操作,形成了长度是N的字节片段序列。


每一个字节片段称为gram,对所有gram的出现频度进行统计,并且按照事先设定好的阈值进行过滤,形成关键gram列表,也就是这个文本的向量特征空间,列表中的每一种gram就是一个特征向量维度

4.2 文本离散表示的缺点

词向量的表示太稀疏,很难捕捉文本的含义

n-gram词序列随语料库膨胀太快

各种距离度量都无法满足语义的内容


以上是关于自然语言处理之词向量技术的主要内容,如果未能解决你的问题,请参考以下文章

Deep Learning(深度学习)之词向量的内部任务评价和外部任务评价方法

pytorch之词嵌入

词向量技术原理及应用详解

用深度学习来获取文本语义: 词向量应用于自然语言处理

NLP之词向量

北航面向自然语言处理的预训练技术研究综述