自然语言处理之词向量技术
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词序列随语料库膨胀太快
各种距离度量都无法满足语义的内容
以上是关于自然语言处理之词向量技术的主要内容,如果未能解决你的问题,请参考以下文章