腾讯词向量介绍
腾讯词向量(Tencent AI Lab Embedding Corpus for Chinese Words and Phrases)提供了预训练好的800万中文词汇的word embedding(200维词向量),可以应用于很多NLP的下游任务。
关于分词:可以使用任何开源分词工具,可以同时考虑细粒度和粗粒度的分词方式。
关于停用词、数字、标点:为了满足一些场景的需求,腾讯词向量并没有去掉这些,使用的时候需要自己构建词表并忽略其他无关词汇。
Tencent_AILab_ChineseEmbedding.txt文件内容:
第一行是词向量总数(8824330),和词向量维度(200)。
从第二行开始,每行是中文词以及它的词向量表示,每一维用空格分隔。
腾讯词向量使用举例
以查找近义词为例,介绍腾讯词向量的使用方法。
首先需要将已有的包含词和词向量的txt文件读入(使用KeyedVectors)
keyedVectors
可以很方便地从训练好的词向量中读取词的向量表示,快速生成 {词:词向量}
其中binary=False,加载的是txt文件,binary=True,加载的是二进制文件
然后构建词汇和索引的映射表,并用json格式离线保存,方便以后直接加载annoy索引时使用