word2vec

word2vec how to get words from vectors?

筅森魡賤 提交于 2019-12-01 20:55:33
I use ANN to predict words from words. The input and output are all words vectors. I do not know how to get words from the output of ANN. By the way, it's gensim I am using You can find cosine similarity of the vector with all other word-vectors to find the nearest neighbors of your vector. The nearest neighbor search on an n-dimensional space, can be brute force, or you can use libraries like FLANN, Annoy, scikit-kdtree to do it more efficiently. update Sharing a gist demonstrating the same: https://gist.github.com/kampta/139f710ca91ed5fabaf9e6616d2c762b 来源: https://stackoverflow.com

pyltp的安装与简单实用分词

橙三吉。 提交于 2019-12-01 20:11:53
from pyltp import Segmentor segmentor=Segmentor() segmentor.load("cws.model")#你自己的路径 words=segmentor.segment("元芳你怎么看") print("|".join(words)) segmentor.release() 首先要寻找相应python版本的库,在那个虚拟环境下使用:如3.5版本的用我的tensorflow虚拟环境, 这个方法首先要下载pyltp相应的whl安装包,这里提供一个免费可用的下载地址: windows下python3.5 https://link.zhihu.com/?target=http%3A//mlln.cn/2018/01/31/pyltp%E5%9C%A8windows%E4%B8%8B%E7%9A%84%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85/pyltp-0.2.1-cp35-cp35m-win_amd64.whl Windows下python3.6 https://link.zhihu.com/?target=http%3A//mlln.cn/2018/01/31/pyltp%E5%9C%A8windows%E4%B8%8B%E7%9A%84%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85

'file' object has no attribute 'rfind' [closed]

五迷三道 提交于 2019-12-01 19:55:56
I am trying to save a word2vec to a file. model = Word2Vec(sentences, size=vector_size, window=5, min_count=5, workers=4) fo = open("foo.txt", "wb") model.save(fo) I am getting the following error in genericpath.py File "word2Vec_impl.py", line 39, in <module> model.save(fo, separately=None) File "C:\Python27\lib\site-packages\gensim\models\word2vec.py", line 669, in s ave super(Word2Vec, self).save(*args, **kwargs) File "C:\Python27\lib\site-packages\gensim\utils.py", line 269, in save pickle(self, fname) File "C:\Python27\lib\site-packages\gensim\utils.py", line 608, in pickle with smart

Word Representation and Word Embeddings · Amy Huang

冷暖自知 提交于 2019-12-01 15:25:37
Word Representation,意指用一組數字來代表文字的行為/方式。事實上,有很多種方式可以用一組數字代表文字,目前兩個主流的方式分別為 Distributional Semantics 和 Word Embeddings,而 Word Embeddings 是近年來常用的方式。[1] 為什麼需要 Word Representation? 文字之所以重要,是因為文字本身帶有意涵,我們能從文字中讀到的是其背後的意義,想要對文字的意涵做更多的分析,在計算語言學中就引發了一個問題: 「 有沒有辦法用一組數字來代表文字的意涵? 」 有了這樣的一組數字,我們便可將文字可以放到數學模型中分析。 Word Representation 的演變 要把文字轉成數字,簡單的方法就是做 one-hot encoding/representation (統計上稱為 dummy variable),也就是令一個向量,長度為所有出現過的字的個數(vocabulary list),這個向量的每一個位置會對應到 vocabulary list 裡面的某一個字,則每個字可以由某個位置為1,其餘為0的向量代表。如下圖所示 我們可以觀察到兩個點: 字的向量跟 vocabulary list 的順序有關係;也就是說換個順序,字就有不同的向量表示,所以 vocabulary list 要先固定。

让你上瘾的网易云音乐推荐算法,用Word2vec就可以实现

匆匆过客 提交于 2019-12-01 13:23:16
大数据文摘作品 作者:Ramzi Karam 编译: Chloe 朝夕 修竹 Aileen 上个周被网易云音乐的听歌报告刷屏,文摘菌这才发现,朋友圈不乏年度听歌成千上万的音乐重度患者。这群人可能中的不是音乐的毒,而是这套个性化音乐推荐算法真的太懂你。 这也又引起了一波对推荐算法的讨论。本文作者发现了一个有7亿多条歌曲的数据集,利用 Word2vec, 用这个训练集来训练机器学习模型, 优化我们的音乐推荐结果。 中东和北非地区最大的音乐流媒体平台Anghami每个月产生7亿多条歌曲数据流。这也意味着所有这些流媒体产生的大量数据对我们来讲是一个宝贵的训练集,我们可以用这个训练集来训练机器学习模型使其更好地理解用户品味, 并优化我们的音乐推荐结果。 在本文中,我们将介绍 一个从大量流数据中提取歌曲嵌入信息的神经网络方法 ,以及如何用这一模型生成相关推荐。 每个点代表一首歌曲。点间距离越近,歌曲越相似 什么是推荐系统? 推荐系统分为两大类: 基于内容的推荐系统: 着眼于需要推荐物品的属性。对音乐来说,属性包括歌曲流派、每分钟节拍数等等。 协同过滤系统: 依据用户历史数据来推荐其他相似用户曾经接触过的物品。这类系统不关注内容本身的属性,而是基于有很多共同喜爱的歌曲和艺术家的人们通常喜欢相同风格的音乐这一原则进行推荐的。 当有足够多数据支撑时,协同过滤系统在推荐相关物品方面效果非常好

fine tuning pre-trained word2vec Google News

安稳与你 提交于 2019-12-01 09:23:03
问题 I am currently using the Word2Vec model trained on Google News Corpus (from here) Since this is trained on news only until 2013, I need to updated the vectors and also add new words in the vocabulary based on the news coming after 2013. Suppose I have a new corpus of news after 2013. Can I re-train or fine tune or update the Google News Word2Vec model? Can it be done using Gensim? Can it be done using FastText? 回答1: You can have a look at this: https://github.com/facebookresearch/fastText

配送交付时间轻量级预估实践

感情迁移 提交于 2019-12-01 07:49:44
1. 背景 可能很多同学都不知道,从打开美团App点一份外卖开始,然后在半小时内就可以从骑手小哥手中拿到温热的饭菜,这中间涉及的环节有多么复杂。而美团配送技术团队的核心任务,就是将每天来自祖国各地的数千万份订单,迅速调度几十万骑手小哥按照最优路线,并以最快的速度送到大家手中。 在这种场景下,骑手的交付时间,即骑手到达用户附近下车后多久能送到用户手中,就是一个非常重要的环节。下图是一个订单在整个配送链路的时间构成,时间轴最右部分描述了交付环节在整个配送环节中的位置。交付时间衡量的是骑手送餐时的交付难度,包括从骑手到达用户楼宇附近,到将餐品交付到用户手中的整个时间。 交付时间的衡量是非常有挑战的一件事,因为骑手在送餐交付到用户手中时会碰到不同的问题,例如:骑手一次送餐给楼宇内多个用户,骑手对于特定楼宇寻址特别困难,骑手在交付楼宇附近只能步行,老旧小区没有电梯,写字楼无法上楼,或者难以等到电梯等等。交付时间预估需要具备刻画交付难度的能力,在定价、调度等多个场景中被广泛使用。例如根据交付难度来确定是否调节骑手邮资,根据交付难度来确定是否调节配送运单的顺序,从而避免超时等等。总的来说,交付时间预估是配送业务基础服务的重要一环。 但是,交付时间预估存在如下的困难: 输入信息较少,且多为非数值型数据,目前能够被用来预估的仅有如下维度特征:交付地址、交付点的经纬度、区域、城市

fastText与Word2Vec之间的比较

江枫思渺然 提交于 2019-12-01 05:09:30
本篇文章总结了试验fastText跟Word2Vec在embedding上的performance,源于 这篇文章 。 Dataset 训练embedding的数据集有两个,一个是 text8 corpus,一个是nltk自带的 brown corpus。Groundtruth是 questtions-words 文本,可以从 这里 下载。 text8 Corpus Download 1 wget http://mattmahoney.net/dc/text8.zip brown Corpus Download 12345678 import nltk# 从当中选择brown corpus进行下载nltk.download()# Generate brown corpus text filewith open('brown_corp.txt', 'w+') as f: for word in nltk.corpus.brown.words(): f.write('{word} '.format(word=word)) Model Training 用fastText和Word2Vec分别对上述两个数据集进行训练,得到word embeddings。 fastText Training 下载 fastText 源码,对上述两个数据集进行训练。 12 ./fasttext

Understanding the output of Doc2Vec from Gensim package

血红的双手。 提交于 2019-12-01 02:09:02
问题 I have some sample sentences that I want to run through a Doc2Vec model. My end goal is a matrix of size (num_sentences, num_features). I'm using the Gensim package. from gensim.models.doc2vec import TaggedDocument from gensim.models import Doc2Vec # warning: long sample of data. It's just 40 sentences really though. labeled_sents = [TaggedDocument(words=['u0644', 'u0646', 'u062f', 'u0646', 'u060c', 'u0628', 'u0631', 'u0637', 'u0627', 'u0646', 'u06cc', 'u06c1', 'u06a9', 'u0627'], tags='400'),

word2vec预训练词向量

守給你的承諾、 提交于 2019-11-30 23:06:41
NLP中的Word2Vec讲解   word2vec是Google开源的一款用于词向量计算 的工具,可以很好的度量词与词之间的相似性;   word2vec建模是指用 CBoW模型 或 Skip-gram模型 来计算不同 词语的向量(word vector)    CBoW是给定上下文来预测输入词、Skip-gram给定输入词预测上下文,但最终都会得到词向量矩阵W 上图为词向量的部分可视化结构 Statistical Language Model (统计语言模型)    在深入word2vec之前,首先回顾下nlp中的一个基本问题: 如何计算一段文本序列在某种语言下出现的概率?(Ngram) 统计语言模型给出了这一类问题的一个基本解决框架。对于一段文本序列: 它的概率可表示为: 即将序列的联合概率转化为一系列条件概率的乘积。问题变成了如何去预测这些给定previous words下的条件概率:                          由于其巨大的参数空间,这样一个原始的模型在实际中并没有什么用。我们更多的是采用其简化版本——Ngram模型:   常见的如bigram模型(N=2)和tirgram模型(N=3)。事实上,由于模型复杂度和预测精度的限制,我们很少会考虑N>3的模型。我们可以用最大似然法去求解Ngram模型的参数——等价于去统计每个Ngram的条件词频