word2vec

Understanding gensim word2vec's most_similar

一世执手 提交于 2021-01-28 10:48:53
问题 I am unsure how I should use the most_similar method of gensim's Word2Vec. Let's say you want to test the tried-and-true example of: man stands to king as woman stands to X ; find X. I thought that is what you could do with this method, but from the results I am getting I don't think that is true. The documentation reads: Find the top-N most similar words. Positive words contribute positively towards the similarity, negative words negatively. This method computes cosine similarity between a

维基百科语料中的词语相似度探索

戏子无情 提交于 2021-01-23 04:54:39
之前写过《 中英文维基百科语料上的Word2Vec实验 》,近期有不少同学在这篇文章下留言提问,加上最近一些工作也与 Word2Vec 相关,于是又做了一些功课,包括重新过了一遍Word2Vec的相关资料,试了一下gensim的相关更新接口,google了一下" wikipedia word2vec " or " 维基百科 word2vec " 相关的英中文资料,发现多数还是走得这篇文章的老路,既通过gensim提供的维基百科预处理脚本"gensim.corpora.WikiCorpus"提取维基语料,每篇文章一行文本存放,然后基于 gensim 的Word2Vec模块训练词向量模型。这里再提供另一个方法来处理维基百科的语料,训练词向量模型,计算词语相似度( Word Similarity )。关于Word2Vec, 如果英文不错,推荐从这篇文章入手读相关的资料: Getting started with Word2Vec 。 这次我们仅以英文维基百科语料为例,首先依然是下载维基百科的最新XML打包压缩数据,在这个英文最新更新的数据列表下: https://dumps.wikimedia.org/enwiki/latest/ ,找到 " enwiki-latest-pages-articles.xml.bz2 " 下载,这份英文维基百科全量压缩数据的打包时间大概是2017年4月4号

现代NLP中的零样本学习

亡梦爱人 提交于 2021-01-18 05:54:34
点击上方“AI公园”,关注公众号,选择加“星标“或“置顶” 作者: Joe Davison 编译:ronghuaiyang 导读 使用最新的NLP技术来进行零样本学习的一些进展和工作。 自然语言处理现在是一个非常令人兴奋的领域。近年来,社区已经开始找到一些非常有效的方法,从互联网上大量的未标记数据中学习。从无监督模型进行迁移学习的成功使得我们在下游监督学习任务上超越了几乎所有现有的基准。随着我们继续开发新的模型架构和无监督的学习目标,“state of the art”持续的成为许多任务中的目标,在这些任务中有大量的标签数据可用。 随着模型的持续增长,一个主要的优势是我们看到下游任务对大量标注数据的依赖在缓慢减少。Open AI团队发布了一份预印本,描述了他们迄今为止最大的模型GPT-3,包含1750亿个参数。这篇论文的题目是 "Language Models are Few-Shot Learners" ,它表明了超大的语言模型可以在下游任务中以比小型模型少得多的特定任务的数据进行竞争。 随着参数数量的增加,GPT-3少样本学习的性能也在增加 然而,这种尺寸的模型在实际应用中仍然是不实际的。例如,GPT-3的最大版本必须跨几十个GPU,才能放到内存中。在许多真实世界的情况中,标注数据要么缺少要么完全不可用。比GPT-3小得多的模型,如BERT,仍被证明在其权重中编码了大量信息

秋招面试经验分享

为君一笑 提交于 2021-01-13 02:19:18
微信公众号: 衣介书生 有任何问题或建议,欢迎在公众号留言。 欢迎关注该公众号。 如果你觉得文章对你有帮助,欢迎赞赏 [1] 我的秋招之路 以下内容主要是我对我参加过的面试的一些个人记录(可能不是那么全面,仅供参考),所有的岗位都是机器学习岗或者深度学习岗。拿到的 offer 从定级上来看基本都是 special offer 或者 super special offer。我会尽最大努力去分享一些专业知识相关的个人笔记供大家参考,如果发现笔记中有任何错误或者不明确的地方也请大家及时指正。 内容目录 美团算法专场(未通过) 美团金融 美团平台 阿里国际事业部(未通过) 作业帮提前批(通过) 京东广告部寻猎计划(通过) 迅雷人工智能研究员提前批(通过) 百度提前批(通过) 一点资讯提前批(通过) 爱奇艺提前批(通过) 搜狐算法专场(通过) 京东金融寻猎计划(通过) 依图(未通过) 宜信提前批(通过) 腾讯桌面安全事业部(流程中断) 猿辅导(通过) 美团算法专场(未通过) 经验教训:简历上的内容都没有准备好,自己做的比赛都没有讲清楚,算法相关的知识也没有做过梳理,面试之前还是要好好梳理一下自己做过的各个项目。毕竟面试时间有限,衡量你能力的硬性指标就是面试官提出的问题你回答得如何。 美团金融 自我介绍 介绍一下商铺定位这个赛题你怎么做的 GBDT的原理 GBDT是如何分裂节点的

FastText 介绍

强颜欢笑 提交于 2021-01-09 12:00:09
FastText 介绍 在面试百度的NLP工程师时,被问及常用的词向量表示学习方法有哪些,我说知道word2vec,然后大佬又问我知道FastText么... 这就很尴尬了,不会! 不同于word2vec, fasttext利用的是词的形态学信息,也就是词的内部构造信息,也就是子词信息。话说,利用fasttext是不是可以拿汉语的偏旁部首来训练字向量?不过n-gram是需要字符序列信息的,汉字的笔画顺序?emmmmmm.........不过利用字向量得到词向量确实很方便。 那什么是子词信息?fasttext采用的character n-gram来做的,比如 where 这个词,那么它的character 3-gram 子词包含如下 <wh, whe, her, ere, re>以及本身<where> 这对尖括号的妙处在于,可以方便的讲her这个单词与where的子词her进行区分,her的character 3-gram子词包含的是<her> 不包含 her,于是这两个便可以区分开来。 那么为什么要利用子词信息呢?脸书的研究者们认为,像word2vec这类词分布表示模型,词与词之间的信息没有更好的共享,也就是参数没有得到有效的共享,分解为粒度更小的子词后,通过共享子词表示,来达到信息共享的目的。 具体的做法做法 给定一个character n-gram 字典,假设大小为G

基于PCA和t-SNE可视化词嵌入

心已入冬 提交于 2021-01-07 08:35:55
作者|Marcellus Ruben 编译|VK 来源|Towards Datas Science 当你听到“茶”和“咖啡”这个词时,你会怎么看这两个词?也许你会说它们都是饮料,含有一定量的咖啡因。关键是,我们可以很容易地认识到这两个词是相互关联的。然而,当我们把“tea”和“coffee”两个词提供给计算机时,它无法像我们一样识别这两个词之间的关联。 单词不是计算机自然就能理解的东西。为了让计算机理解单词背后的意思,这个单词需要被编码成数字形式。这就是词嵌入的用武之地。 词嵌入是自然语言处理中常用的一种技术,将单词转换成向量形式的数值。这些向量将以一定的维数占据嵌入空间。 如果两个词有相似的语境,比如“tea”和“coffee”,那么这两个词在嵌入空间中的距离将彼此接近,而与具有不同语境的其他词之间的距离则会更远。 在这篇文章中,我将逐步向你展示如何可视化嵌入这个词。由于本文的重点不是详细解释词嵌入背后的基本理论,你可以在本文和本文中阅读更多关于该理论的内容。 为了可视化词嵌入,我们将使用常见的降维技术,如PCA和t-SNE。为了将单词映射到嵌入空间中的向量表示,我们使用预训练词嵌入GloVe 。 加载预训练好的词嵌入模型 在可视化词嵌入之前,通常我们需要先训练模型。然而,词嵌入训练在计算上是非常昂贵的。因此,通常使用预训练好的词嵌入模型。它包含嵌入空间中的单词及其相关的向量表示

2021年的第一盆冷水:有人说别太把图神经网络当回事儿

余生长醉 提交于 2021-01-06 09:11:02
图神经网络(GNN)是目前热门的研究方向,但我们是否应把注意力过多地放在这上面?数据科学家 Matt Ranger 从模型的本质、性能基准测试、实践应用等方面陈述了自己的观点。 选自 http:// singlelunch.com ,作者:Matt Ranger,机器之心编译,机器之心编辑部。 图神经网络(GNN)是机器学习中最热门的领域之一,在过去短短数月内就有多篇优秀的综述论文。但数据科学家 Matt Ranger 对 GNN 却并不感冒。他认为这方面的研究会取得进展,但其他研究方向或许更重要。 博客链接: https://www. singlelunch.com/2020/12 /28/why-im-lukewarm-on-graph-neural-networks/ 机器之心对这篇博客进行了编译整理,以下是博客内容。 模型的关键是压缩 图经常被认为是一种「非欧几里得」数据类型,但实际上并不是。正则图(regular graph)只是研究邻接矩阵的另一种方式: 如上图所示,充满实数的矩阵却被称为「非欧几里得」,这很奇怪。 其实这是出于实际原因。大多数图都相当稀疏,因此矩阵中会包含很多 0。从这个角度看,非零数值非常重要,这让问题接近于(计算上很难的)离散数学,而不是(容易的)连续、梯度友好的数学。 有了全矩阵,情况会变得容易 如果不考虑物理领域的内容,并假设存在全邻接矩阵

[Word Embedding系列] one-hot 编码

徘徊边缘 提交于 2020-12-29 10:55:00
https://zhuanlan.zhihu.com/p/105357841 本系列文章包括: 1) one-hot编码 2)word2vec的skip-gram模型 3)word2vec的CBOW模型 4)相关编程实现 本文介绍one-hot编码。 一、前言 自然语言处理的目标在于希望计算机能够理解(NLU,Understanding)和生成(NLG,Generating)自然语言。 无论是NLU过程还是NLG过程,与计算机打交道,就需要转换为计算机能够识别的数字编码方式, one-hot编码 是其中最简单的一种方法。 二、举例 给定一句话s = “I am a Chinese and I love China” 如何用one-hot来对每一个单词进行编码,为了简单,我们认为s构成了全体单词集合。 我们可以建立一个词汇表如下: 每个单词的one-hot编码获取步骤是: 1)建立一个|V|(代表词汇表总长度)的全零向量 2)将每个单词在词汇表对应的index维度置为1,其它元素保持不变,就能得到最终的one-hot向量 以s = “I am a Chinese and I love China”为例,下图给出了每个单词的one-hot表示: 得到了每个单词的embedding之后,就可以送入到机器学习或者深度学习模型中进行后续处理。 三、缺点 尽管one

Visualise word2vec generated from gensim

≯℡__Kan透↙ 提交于 2020-12-27 08:20:30
问题 I have trained a doc2vec and corresponding word2vec on my own corpus using gensim. I want to visualise the word2vec using t-sne with the words. As in, each dot in the figure has the "word" also with it. I looked at a similar question here : t-sne on word2vec Following it, I have this code : import gensim import gensim.models as g from sklearn.manifold import TSNE import re import matplotlib.pyplot as plt modelPath="/Users/tarun/Desktop/PE/doc2vec/model3_100_newCorpus60_1min_6window

Visualise word2vec generated from gensim

。_饼干妹妹 提交于 2020-12-27 08:18:05
问题 I have trained a doc2vec and corresponding word2vec on my own corpus using gensim. I want to visualise the word2vec using t-sne with the words. As in, each dot in the figure has the "word" also with it. I looked at a similar question here : t-sne on word2vec Following it, I have this code : import gensim import gensim.models as g from sklearn.manifold import TSNE import re import matplotlib.pyplot as plt modelPath="/Users/tarun/Desktop/PE/doc2vec/model3_100_newCorpus60_1min_6window