8.2.2 GloVe词向量化

8.2.2 GloVe词向量化

使用Glo Ve的方式进行词向量化的主要步骤为:创建TCM词汇表;用Glo Ve对TCM进行因子分解;查找最近的词向量。

1.创建TCM词汇表

在进行Glo Ve词向量化之前,需要先设定规则:“paris”→“france”,那么“germany”→?是使用Glo Ve词向量化需要获取的结果。下面以Wikipedia数据为语料进行展示。

首先读取数据,将数据下载到本地,然后手动或者使用下面的代码将数据解压到本地,设置工作路径,使用read Lines读取数据。

接下来创建词汇表,创建词汇表的方式和创建DTM的方式基本相同,具体步骤如下:使用itoken()设置分词器;使用create_vocabulary()创建词典;创建TCM矩阵。

设置分词器及创建词典的代码如下:

在创建TCM矩阵之前,为了提高准确率,可以通过设置prune_vocabulary参数将出现频率较小的词清洗掉,对应代码如下:

使用vocab_vectorizer()设置词汇向量化的参数,设置窗口长度为5,创建TCM矩阵的代码如下:

2.用GloVe对TCM进行因子分解

使用Glo Ve对TCM进行因子分解,创建词向量,对应代码如下:

3.查找最近的词向量

通过如下代码可以找到距离“paris-france+germany”最近的词向量。