基于Word2Vec的藏文文本语义预测分析研究
2021-03-29丁海兰
丁海兰
(兰州交通大学 文学与国际汉学院,甘肃 兰州 730070)
0 引言
1 词向量
介于计算机只能识别1和0进行自然语言处理,那么想让计算机处理文本,就必须把文本转化成计算机所能识别的语言,其最直接的方法就是把词转化成词向量.词的向量化是指把词进行数学化表示,主要有one-hot representation、Distributed representation和word2vec模型训练词向量三种表示方式.第一种方式是用一个很长的向量来表示一个词,其分量为1,其余全部为0,1,其缺憾是无法提供语义信息;第二种方式是由Hinton最早提出,他是将词映射到一个低维且稠密的100~200大小的实数向量空间中,这样使得词义越相近的词距离越近;第三种方式是借鉴Bengio提出的NNLM模型(Neural Network Language Model)以及Hinton的Log-Linear模型、Mikolov模型等,都提出了Word2Vec的语言模型,Word2vec可以高速有效地训练词向量[1].
2 Word2Vec工具

2.1 Word2Vec的两种训练模型
词向量其实是将词映射到一个语义空间,得到的向量.Word2Vec则是借用神经网络的方式实现的,考虑文本的上下文关系,Word2Vec有CBOW 和Skip-gram共两种模型,这两种模型在训练的过程中类似.Skip-gram 模型是用一个词语作为输入,来预测它周围的上下文,CBOW模型是拿一个词语的上下文作为输入,来预测这个词语本身.
2.1.1 Skip-gram训练模型
如果是用一个词语作为输入,来预测它周围的上下文,那这个模型叫做Skip-gram 模型.首先确定窗口大小Window,对每个词生成2*window个训练样本,(i,i-window),(i,i-window+1),…,(i,i+window-1),(i,i+window).紧接着确定batch_size,注意batch_size的大小必须是2*window的整数倍,这确保每个batch包含了一个词汇对应的所有样本.训练算法有两种:层次Softmax和 Negative Sampling[2].最后将神经网络迭代训练一定次数,得到输入……