python word2vec使用_使用Python可视化Word2vec的结果

作者|Mate Pocs

编译|VK

来源|Towards Data Science

Word2vec绝对是我在自然语言处理研究中遇到的最有趣的概念。想象一下,有一种算法可以成功地模拟理解单词的含义及其在语言中的功能,它可以在不同的主题内来衡量单词之间的接近程度。

我认为可视化地表示word2vec向量会很有趣:本质上,我们可以获取国家或城市的向量,应用主成分分析来减少维度,并将它们放在二维图表上。然后,我们可以观察可视化的结果。

在本文中,我们将:

从广义上讨论word2vec理论;

下载原始的预训练向量;

看看一些有趣的应用程序:比如对一些单词进行算术运算,比如著名的king-man+woman=queen等式

根据word2vec向量看看我们能多精确地来绘制欧洲的首都。

word2vec的原始研究论文和预训练模型来自2013年,考虑到NLP文献的扩展速度,目前它是老技术。较新的方法包括GloVe(更快,可以在较小的语料库上训练)和fastText(能够处理字符级的n-gram)。

Quick Word2Vec简介

自然语言处理的核心概念之一是如何量化单词和表达式,以便能够在模型环境中使用它们。语言元素到数值表示的这种映射称为词嵌入。

Word2vec是一个词嵌入过程。这个概念相对简单:通过一个句子一个句子地在语料库中循环去拟合一个模型,根据预先定义的窗口中的相邻单词预测当前单词。

为此,它使用了一个神经网络,但实际上最后我们并不使用预测的结果。一旦模型被保存,我们只保存隐藏层的权重。在我们将要使用的原始模型中,有300个权重,因此每个单词都由一个300维向量表示。

请注意,两个单词不必彼此接近的地方才被认为是相似的。如果两个词从来没有出现在同一个句子中,但它们通常被相同的包围,那么可以肯定它们有相似的意思。

word2vec中有两种建模方法:skip-gram和continuous bag of words,这两种方法都有各自的优点和对某些超参数的敏感性……但是你知道吗?我们将不拟合我们自己的模型,所以我不会花时间在它上面。

当然,你得到的词向量取决于你训练模型的语料库。一般来说,你确实需要一个庞大的语料库,有维基百科上训练过的版本,或者来自不同来源的新闻文章。我们将要使用的结果是在Google新闻上训练出来的。

如何下载和安装

首先,你需要下载预训练word2vec向量。你可以从各种各样的模型中进行选择,这些模型是针对不同类型的文档进行训练的。

我用的是最初的模型,在Google新闻上受过训练,你可以从很多来源下载,只需搜索“Google News vectors negative 300”。或者, 在这里下载:https://github.com/mmihaltz/word2vec-GoogleNews-vectors。

注意,这个文件是1.66gb,但它包含了30亿字的300维表示。

当谈到在Python中使用word2vec时,再一次,

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值