鸟枪换炮,如何在推荐中发挥AI Lab开源中文词向量的威力?

2019 年 6 月 15 日 AINLP
导读:本文是“深度推荐系统”专栏的第二篇文章,这个系列将介绍在深度学习的强力驱动下,给推荐系统工业界所带来的最前沿的变化。本文则结合作者在工作中的经验总结,着重于介绍在推荐系统中如何使用腾讯AI Lab开源的中文词向量。
欢迎转载,转载请注明出处以及链接,更多关于深度推荐系统优质内容请关注如下频道。
知乎专栏:深度推荐系统
微博:深度传送门
公众号:深度传送门

近年来,深度学习技术在自然语言处理领域中得到了广泛应用。用深度学习技术来处理自然语言文本,离不开文本的向量化,即把一段文本转化成一个n维的向量。在当前“万物皆可embedding”的思想领导下,词向量既是NLP领域中一个非常基础的工具,也是推荐、广告等业务场景中用于召回以及排序等阶段的简单且实用的核武器,主要用于进行语义相似度度量等。

词向量的核心是word2vec[1],相应原理介绍不是本文介绍的重点。常用的训练工具有gensim,fasttext等,一般的训练步骤包括:收集语料 --> 文本过滤 --> 分词 --> 去除停用词 --> 训练模型。

目前,针对英语环境,工业界和学术界已发布了一些高质量的词向量数据,并得到了广泛的使用和验证。其中较为知名的有谷歌公司基于word2vec算法[1]、斯坦福大学基于GloVe算法[2]、Facebook基于fastText项目[3]发布的数据等。然而,目前公开可下载的中文词向量数据还比较少,并且数据的词汇覆盖率有所不足,

腾讯AI Lab开源中文词向量

腾讯AI Lab采用自研的Directional Skip-Gram (DSG)算法 [4] 作为词向量的训练算法。DSG算法基于基本的Skip-Gram,在文本窗口中词对共现关系的基础上,额外考虑了词对的相对位置,以提高词向量语义表示的准确性。

数据简介:mp.weixin.qq.com/s/2Sto

数据下载地址:ai.tencent.com/ailab/nl

索引词库大小:800w;词向量维度:200

如何在推荐中使用开源词向量

在推荐系统的基于内容召回策略中,一般需要根据用户已经点击过的文章所包含的tag词或者主题,为用户推荐与点击历史中最相似的文章。其中有一种做法就是从文章中抽取T个tag相应的词向量来表示这篇文章的文章向量(如vec_doc = w1 * vec_t1 + w2 * vec_t2 + ...,这里w1,w2是文章中tag词相应的权重);然后,根据用户的点击历史计算文章向量的相似度,取topk个返回。下面主要实际业务场景中简单的使用步骤:

  • 向量裁剪:从腾讯AI Lab官网下载下来的原始词向量库比较大,16G并且包含大量的停用词。这里可首先计算自己业务场景的tag库与这份开源中文自己向量的tag集合之间的交集得到裁剪后的向量库。

  • 加载词向量:可以使用gensim进行加载。可以参考gensim使用手册:radimrehurek.com/gensim

from gensim.models.word2vec import KeyedVectors
wv_from_text = KeyedVectors.load_word2vec_format('Tencent_AILab_ChineseEmbedding.txt', binary=False)
  • 部分测试数据

model=wv_from_text.wv

print(model.most_similar("如懿传"))
[('海上牧云记', 0.8060665130615234), ('孤芳不自赏', 0.7940512299537659),
('醉玲珑', 0.7932543754577637), ('凰权', 0.7888569831848145),
('古装剧', 0.7873178720474243), ('琅琊榜2', 0.7863854765892029),
('延禧攻略', 0.7858327031135559), ('那年花开月正圆', 0.7804251909255981),
('大剧', 0.7796347737312317), ('凤囚凰', 0.7741515040397644)]

print(model.similarity("郭靖","黄蓉"))
0.9186713635202067

print(model.n_similarity(["中国","北京"],["俄罗斯","莫斯科"]))
0.6441469472853117

print(model.doesnt_match(["洪七公","王重阳","郭靖","黄药师"]))
王重阳

工业实际应用注意事项

实际使用中我们发现业务场景的tag覆盖率与文章覆盖率都有极大比例的提升。同时也带来了业务CTR的明显提升。

  • 总体老说腾讯AI Lab开源的这份中文词向量的覆盖度比较高,精度也比较高。但是词向量里含有大量停用词,导致文件比较大加载速度较慢(数分钟),而且内存消耗较大,实际使用时根据场景需要裁剪以节省性能;

  • 根据不同领域的情况,有可能某些特定垂直领域的词语之间的相关性计算不是特别准,需要根据业务场景需要加入相应的语料进行增量训练后再使用;

  • 另外,随着时间的推移会不断出现新词,物名,人名等,就需要重新训练模型。如果后期AI Lab不再更新维护这份词向量的话,则需要自己进行维护迭代升级。

参考文献

  1. Distributed Representations of Words and Phrases and their Compositionality

  2. GloVe: Global Vectors for Word Representation

  3. Enriching Word Vectors with Subword Information

  4. Yan Song, Shuming Shi, Jing Li, and Haisong Zhang. Directional Skip-Gram: Explicitly Distinguishing Left and Right Context for Word Embeddings. NAACL 2018


推荐阅读:

推荐召回算法之深度召回模型串讲

相似词查询:玩转腾讯 AI Lab 中文词向量

玩转腾讯词向量:词语相似度计算和在线查询

腾讯词向量实战:通过Annoy进行索引和快速查询

玩转腾讯词向量:Game of Words(词语的加减游戏)

登录查看更多
16

相关内容

【斯坦福CS520】向量空间中嵌入的知识图谱推理,48页ppt
专知会员服务
101+阅读 · 2020年6月11日
【SIGIR2020】LightGCN: 简化和增强图卷积网络推荐
专知会员服务
72+阅读 · 2020年6月1日
深度学习自然语言处理概述,216页ppt,Jindřich Helcl
专知会员服务
212+阅读 · 2020年4月26日
斯坦福&谷歌Jeff Dean最新Nature论文:医疗深度学习技术指南
相似词查询:玩转腾讯 AI Lab 中文词向量
AINLP
11+阅读 · 2019年2月25日
资源 | 腾讯开源800万中文词的NLP数据集
THU数据派
15+阅读 · 2018年10月29日
800万中文词,腾讯AI Lab开源大规模NLP数据集
黑龙江大学自然语言处理实验室
10+阅读 · 2018年10月26日
论文 | 中文词向量论文综述(一)
黑龙江大学自然语言处理实验室
7+阅读 · 2018年8月13日
【推荐系统】详解基于内容的推荐算法
产业智能官
23+阅读 · 2018年1月11日
深度学习时代的推荐系统
大数据技术
8+阅读 · 2018年1月6日
Question Generation by Transformers
Arxiv
5+阅读 · 2019年9月14日
Domain Representation for Knowledge Graph Embedding
Arxiv
14+阅读 · 2019年9月11日
Music Transformer
Arxiv
5+阅读 · 2018年12月12日
Arxiv
4+阅读 · 2018年9月6日
Arxiv
7+阅读 · 2018年1月31日
VIP会员
相关资讯
相似词查询:玩转腾讯 AI Lab 中文词向量
AINLP
11+阅读 · 2019年2月25日
资源 | 腾讯开源800万中文词的NLP数据集
THU数据派
15+阅读 · 2018年10月29日
800万中文词,腾讯AI Lab开源大规模NLP数据集
黑龙江大学自然语言处理实验室
10+阅读 · 2018年10月26日
论文 | 中文词向量论文综述(一)
黑龙江大学自然语言处理实验室
7+阅读 · 2018年8月13日
【推荐系统】详解基于内容的推荐算法
产业智能官
23+阅读 · 2018年1月11日
深度学习时代的推荐系统
大数据技术
8+阅读 · 2018年1月6日
相关论文
Question Generation by Transformers
Arxiv
5+阅读 · 2019年9月14日
Domain Representation for Knowledge Graph Embedding
Arxiv
14+阅读 · 2019年9月11日
Music Transformer
Arxiv
5+阅读 · 2018年12月12日
Arxiv
4+阅读 · 2018年9月6日
Arxiv
7+阅读 · 2018年1月31日
Top
微信扫码咨询专知VIP会员