word2vec 在 非 自然语言处理 (NLP) 领域的应用

word2vec 本来就是用来解决自然语言处理问题的,它在 NLP 中的应用是显然的。

比如,你可以直接用它来寻找相关词、发现新词、命名实体识别、信息索引、情感分析等;你也可以将词向量作为其他模型的输入,用于诸如文本分类、聚类等各种自然语言处理问题。

事实上,word2vec 的思想和工具,还可以应用于自然语言处理之外的其他领域。一个词,无非就是个符号;句子是词的序列,无非也就是个符号序列。如果我们能够在其他的应用场景中,构造出一些符号,还有这些符号形成的序列,那我们就可以试一把 word2vec。

下面是,根据网络上的资料,整理的 word2vec 在自然语言处理领域之外的一些应用。

【社交网络】

应用场景:在社交网络中,给当前用户推荐 他/她 可能关注的大V

映射关系:每一个大V 就是一个词;将每个用户关注的大V,按照关注的顺序排列,形成文章

【App 商店】

应用场景:App 商店中,向用户推荐感兴趣的 App

映射关系:每个 App 就是一个词;将每个用户下载的 App,按照下载的顺序排列,形成文章

【广告系统】

应用场景:广告主在媒体网站上打广告,媒体网站提供一个后台管理系统,可以让广告主自行决定要将广告推荐给哪些目标人群。

映射关系:每一个页面就是一个词;将每个用户浏览的页面,按照浏览的顺序排列,形成文章。

这样,根据训练后的词向量,就可以计算出页面之间的相关程度。

那目标用户怎么计算呢?浏览与广告主的广告页 相关的页面 的用户 就是广告主潜在的 目标用户。把这些用户推荐给广告主就可以了。

应用场景:广告系统中广告主上线了一支新广告,如何估算用户对新广告的 CTR(Click-Through-Rate),即点击通过率。

映射关系:和上面给广告主推荐目标用户一样的做法,可以计算出每个广告页对应的向量

然后,对这些广告页做一个聚类,把相似的广告页聚在一个簇中。用新广告所在簇的 CTR 来近似新广告的 CTR。

【向量快速检索】

综合以上各种应用,将各种文档转换成向量之后,常见一个基本操作就是输入一个文档(对应的向量),寻找和它最相关的 top k
个文档(对应的向量)。如果要所有文档都比对一遍的话,那时间复杂度就是 O(n)。这在实际的工程应用中就太慢了。因此,需要借助
redis,或者引入 kd-tree, simhash, 聚类等算法来加速检索。

【 原文链接】http://www.ipaomi.com/2017/09/22/word2vec-在-非-自然语言处理-nlp-领域的应用/

参考:

    1. word2vec在工业界的应用场景
    2. 深度学习word2vec笔记之应用篇
    3. word2vec有什么应用
    4. A non-NLP application of Word2Vec
    5. Word2Vec with Non-Textual Data
上一篇:sql增删查改


下一篇:Windows Server 2003单网卡搭建VPN