1、Word2Vec词向量表示

利用浅层神经网络模型自动学习词语在语料库中的出现情况,把词语嵌入到一个高维的空间中,通常在100-500维,在高维空间中词语被表示为词向量的形式。

特征词向量的抽取是基于已经训练好的词向量模型。

<aside> 💡 几何上,词的特征向量是高维空间中的一个点

</aside>

2、K-means聚类算法

聚类算法旨在数据中发现数据对象之间的关系,将数据进行分组,使得组内的相似性尽可能的大,组间的相似性尽可能的小。

算法思想是:首先随机选择K个点作为初始质心,K为用户指定的所期望的簇的个数,通过计算每个点到各个质心的距离,将每个点指派到最近的质心形成K个簇,然后根据指派到簇的点重新计算每个簇的质心,重复指派和更新质心的操作,直到簇不发生变化或达到最大的迭代次数则停止。

<aside> 💡 1. 随机选 k 个质心,给所有点分 k 类 2. 重新计算每个类质心 3. 重复1-2

</aside>

<aside> 💡 从表示学习的观点看,是数据点嵌入到 d 维,指定了 k 个标签,每个标签也嵌入到 d 维 loss = distance(data, label) 本质为标签的嵌入表示学习

</aside>

3、基于Word2Vec词聚类关键词提取方法的实现过程

主要思路是对于用词向量表示的词语,通过K-Means算法对文章中的词进行聚类,选择聚类中心作为文本的一个主要关键词,计算其他词与聚类中心的距离即相似度,选择topK个距离聚类中心最近的词作为关键词,而这个词间相似度可用Word2Vec生成的向量计算得到。

具体步骤如下:

  1. 对语料进行Word2Vec模型训练,得到词向量文件;
  2. 对文本进行预处理获得N个候选关键词;
  3. 遍历候选关键词,从词向量文件中提取候选关键词的词向量表示;
  4. 对候选关键词进行K-Means聚类,得到各个类别的聚类中心(需要人为给定聚类的个数);
  5. 计算各类别下,组内词语与聚类中心的距离(欧几里得距离或曼哈顿距离),按聚类大小进行降序排序;
  6. 对候选关键词计算结果得到排名前TopK个词语作为文本关键词。

<aside> 💡 类内 topk 词为新词

</aside>