Skip to content

腾讯词向量介绍

Ming Xu (徐明) edited this page Jan 2, 2025 · 4 revisions

腾讯词向量介绍

腾讯词向量主页:https://ai.tencent.com/ailab/nlp/en/embedding.html

词向量地址:https://modelscope.cn/models/lili666/text2vec-word2vec-tencent-chinese/summary

腾讯词向量(Tencent AI Lab Embedding Corpus for Chinese Words and Phrases)提供了预训练好的800万中文词汇的word embedding(200维词向量),可以应用于很多NLP的下游任务。

语料具有以下特点:

  • 覆盖面广:收录了许多领域专业词汇和常用俗语,如: “喀拉喀什河”, “皇帝菜”, “不念僧面念佛面”, “冰火两重天”, “煮酒论英雄" 等。

  • 新颖:包括了最近出现的新词和流行词,如: “新冠病毒”, “元宇宙”, “了不起的儿科医生”, “流金岁月”, “凡尔赛文学”, “yyds” 等。

  • 准确性高:基于大规模的预料以及精心设计的训练算法,能更准确地反映中文词语与短语的语义。

  • 数据来源:新闻、网页、小说。

  • 词表构建:维基百科、百度百科,以及Corpus-based Semantic Class Mining: Distributional vs. Pattern-Based Approaches论文中的方法发现新词。

  • 训练方法:Directional Skip-Gram: Explicitly Distinguishing Left and Right Context for Word Embeddings论文中有介绍。

  • 关于分词:可以使用任何开源分词工具,可以同时考虑细粒度和粗粒度的分词方式。

  • 关于停用词、数字、标点:为了满足一些场景的需求,腾讯词向量并没有去掉这些,使用的时候需要自己构建词表并忽略其他无关词汇。

Tencent_AILab_ChineseEmbedding.txt文件内容:

第一行是词向量总数(8824330),和词向量维度(200)。

从第二行开始,每行是中文词以及它的词向量表示,每一维用空格分隔。

腾讯词向量使用举例

以查找近义词为例,介绍腾讯词向量的使用方法。

首先需要将已有的包含词和词向量的txt文件读入(使用KeyedVectors)

keyedVectors可以很方便地从训练好的词向量中读取词的向量表示,快速生成 {词:词向量} 其中binary=False,加载的是txt文件,binary=True,加载的是二进制文件, 然后构建词汇和索引的映射表,并用json格式离线保存,方便以后直接加载annoy索引时使用。