词的表示
-
One-hot Representation(独热表示)
“苹果”表示为 [0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 …]
优点:简介,缺点:词之间是孤立的,维数灾难。
-
Distributed Representation(分布式表示)
词向量或者词嵌入(word embedding)是用一个向量来表示一个词,一定程度上可以用来刻画词之间的语义距离。
给出一个文档,用一个单词序列比如 “我喜欢苹果”,然后对文档中每个不同的单词都得到一个对应的低维向量表示,“苹果”表示为 [0.11, −0.77, −0.71, 0.10, −0.50, …]。
优点:低维、相似词的词向量距离相近,缺点:计算复杂。
分布假说
上下文相似的词,其语义也相似。
语言模型
文本学习:词频、词的共现、词的搭配。
语言模型判定一句话是否为自然语言。机器翻译、拼写纠错、音字转换、问答系统、语音识别等应用在得到若干候选之后,然后利用语言模型挑一个尽量靠谱的结果。
n 元语言模型:对语料中一段长度为
n
的序列 wn−i+1,...,wi−1 ,即长度小于 n 的上文,
n
元语言模型需要最大化如下似然:
P(wi|wn−i+1,...,wi−1)
wi
为语言模型要预测的
目标词,序列
wn−i+1,...,wi−1
为模型的输入,即上下文,输出则为目标词
wi
的分布。用频率估计估计
n
元条件概率:
P(wi|wn−i+1,...,wi−1)=count(wi|wn−i+1,...,wi−1,wi)count(wi|wn−i+1,...,wi−1)
通常,
n
越大,越能保留词序信息,但是长序列出现的次数会非常少,导致数据稀疏的问题。一般三元模型较为常用。
基于矩阵的分布表示
基于矩阵的分布表示主要是构建“词-上下文”矩阵,通过某种技术从该矩阵中获取词的分布表示。矩阵的行表示词,列表示上下文,每个元素表示某个词和上下文共现的次数,这样矩阵的一行就描述了改词的上下文分布。常见的上下文有:(1)文档,即“词-文档”矩阵;(2)上下文的每个词,即“词-词”矩阵;(3)n-元词组,即“词-n-元组”矩阵。矩阵中的每个元素为词和上下文共现的次数,通常会利用TF-IDF、取对数等技巧进行加权和平滑。另外,矩阵的维度较高并且非常稀疏,可以通过SVD、NMF等手段进行分解降维,变为低维稠密矩阵。
经典模型代表:Global Vector模型(GloVe)。
GloVe对“词-词”矩阵进行分解,只考虑矩阵非零的元素,同时采用了类似于推荐系统Latent Factor Model的方式进行矩阵分解。目标函数为:
J=∑xij≠0f(xij)(log(xij)−pTiqj+b(1)i+b(2)j)2
其中
b(1)i
和
b(2)