与one-hot代码表示技术对应的是分散表示分散假说(Distributional )
Hypothesis ) :上下文中相似的词,意思相似的——词的意思也由上下文决定
基于方差假设的词语表示方法根据建模方式分为基于3种——矩阵的分布表示、基于聚类的分布表示、基于神经网络的分布表示
1 .根据矩阵的分布表示,构造词-语境矩阵
上下文:
文档:单词-文档矩阵
上下文中的每个单词:单词-单词矩阵
ngrams :即单词-n组矩阵
矩阵内的各要素是单词和上下文的共现次数,通常用tf-idf、取对数等方法进行加权和平滑
然后,利用SVD、NMF等手段将高维稀疏矩阵分解低维化,得到低维密矩阵
构建步骤:选择上下文; 统计共现次数,即矩阵中元素的值、tfidf权重; 基质降解、SVD、PCA; 代表性机型: LSA、GloVe
2 .基于聚类的分布表达聚类手段构建的词与其语境的关系代表模型:布朗聚类
3 .基于神经网络的分布表示word2vec(2 (仅两层浅层神经网络模型) ) ) ) ) ) ) ) ) ) )。
为什么要用高维向量表示语言/
“在文章《闲聊:神经网络与深度学习》中,笔者已经说过,建模过程中最重要的步骤是特征提取,在自然语言处理中也不例外。 在自然语言处理中,最核心的问题之一是如何以数字的形式有效地表达一个句子。 如果能做到这一点,句子的分类就不成问题了。 很明显,最初等想法之一是,给每个词唯一的编号1、2、3、4…,把句子看作编号的集合。 例如,假设1、2、3、4分别表示“我”、“你”、“爱”、“恨”,则“我爱你”为[ 1,3,2 ]的这一观点看起来有效,但例如,在稳定的模型中,3和4被认为非常接近。 因此,[ 1,3,2 ]和[ 1,4,2 ]应该给出相近的分类结果,但根据我们的编号,3和4所表示的词的意思完全相反,分类结果不一样。 因此,这种编码方式不能产生好的结果。 ”