word2vec

层次softmax (hierarchical softmax)理解

梦想的初衷 提交于 2020-08-11 12:14:18
基于word2vec模型学习词的语义向量表示,已在NLP许多任务中都发挥了重要的作用,接下来对词向量学习中的hierarchical softmax的应用做一个分析和学习 CBOW(Continuous Bag-of-Word) One-word context 假设我们vocabulary size 为 V V V ,hidden layer 神经元个数为 N N N ,假设我们只有一个上下文单词,则根据这个上下文单词预测目标词,类似于一个bigram model,如下图所示: 输入是一个one-hot编码的vector(大小为 V V V ),假设只给定一个上下文word,对于输入编码, { x 1 , x 2 , . . . , x v } \{x_1, x_2,...,x_v\} { x 1 ​ , x 2 ​ , . . . , x v ​ } ,只有一个为1,其它都为0。如上图所示,第一层的参数权重 W V ∗ N W_{V*N} W V ∗ N ​ , W W W 中的每一行是一个 N N N 维度的向量,代表的就是单词 w w w 的向量 v w v_w v w ​ 表示。 从hidden layer到output layer,也有一个不同的权重矩阵 W ′ = { w i j ′ } W^{'}=\{w_{ij}^{'}\} W ′ = { w i j ′ ​ }

第二次作业:卷积神经网络 part 2

耗尽温柔 提交于 2020-08-10 09:26:23
【第二部分】 代码练习 MobileNetV1 网络 MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications, 2017 https://arxiv.org/abs/1704.04861 VGG,GoogleNet,ResNet进一步提高CNN的性能。但是到ResNet,网络已经达到152层,模型大小动辄几百300MB+。这种巨大的存储和计算开销,严重限制了CNN在某些低功耗领域的应用。在实际应用中受限于硬件运算能力与存储(比如几乎不可能在手机芯片上跑ResNet-152),所以必须有一种能在算法层面有效的压缩存储和计算量的方法。而MobileNet/ShuffleNet正为我们打开这扇窗。 Mobilenet v1是Google于2017年发布的网络架构,旨在充分利用移动设备和嵌入式应用的有限的资源,有效地最大化模型的准确性,以满足有限资源下的各种应用案例。Mobilenet v1核心是把卷积拆分为Depthwise+Pointwise两部分。 Depthwise 处理一个三通道的图像,使用3×3的卷积核,完全在二维平面上进行,卷积核的数量与输入的通道数相同,所以经过运算会生成3个feature map。卷积的参数为: 3 × 3 × 3 = 27,如下所示:

第二次作业:卷积神经网络 part 2

我们两清 提交于 2020-08-10 08:38:19
一、 问题总结 MobileNetV2 版本中,对数据的处理中,加入的 Inverted residual block ,提升通道数,但是 ResNet 首先进行降通道降低计算量,两个网络为什么进行这种不一样的操作。 二、 代码练习 2.1 MobileNet V1 简介: MobileNet 是 Google 于 2017 年发布的网络架构,因为之前的 VGG , GoogleNet,ResultNet 进一步提高 CNN 的性能,但是到 ResNet 网络已经达到了 152 层,参数量到了 300 多 MB ,这不仅是巨大的存储和计算开销,也严重限制了 CNN 的应用。 MobileNet 应运而生,其中 V1 版本的主要核心是把卷积拆分为 Depthwise+Pointwise 两部分,代码如下: 核心部分: 网络结构:32×32×3 ==>32×32×32 ==> 32×32×64 ==> 16×16×128 ==> 16×16×128 ==> 8×8×256 ==> 8×8×256 ==> 4×4×512 ==> 4×4×512 ==>2×2×1024 ==> 2×2×1024 然后是池化 ==> 1×1×1024 最后全连接到 10 个输出节点 在 CIFAR10 数据集的分类测试结果如下: 2.2 MobileNet V2 简介: V1 版本中存在问题:结构简单

第二次作业:卷积神经网络 part 2

青春壹個敷衍的年華 提交于 2020-08-10 08:36:46
一、问题总结 在深度学习模型中,为什么每次训练的测试结果不同? 二、代码练习 1、MobileNetV1 #深度可分离卷积 class Block(nn.Module): def __init__(self, in_planes, out_planes, stride=1): super(Block, self).__init__() # Depthwise 卷积,3*3 的卷积核,分为 in_planes,即各层单独进行卷积 self.conv1 = nn.Conv2d(in_planes, in_planes, kernel_size=3, stride=stride, padding=1, groups=in_planes, bias=False) self.bn1 = nn.BatchNorm2d(in_planes) # Pointwise 卷积,1*1 的卷积核 self.conv2 = nn.Conv2d(in_planes, out_planes, kernel_size=1, stride=1, padding=0, bias=False) self.bn2 = nn.BatchNorm2d(out_planes) def forward(self, x): out = F.relu(self.bn1(self.conv1(x))) out = F.relu

基于doc2vec计算文本相似度

时光总嘲笑我的痴心妄想 提交于 2020-08-09 17:07:56
@ 基于doc2vec计算文本相似度 Doc2vec ​Doc2vec又叫Paragraph Vector是Tomas Mikolov基于word2vec模型提出的,其具有一些优点,比如不用固定句子长度,接受不同长度的句子做训练样本,Doc2vec是一个无监督学习算法,该算法用于预测一个向量来表示不同的文档,该模型的结构潜在的克服了词袋模型的缺点。 ​Doc2vec模型是受到了word2vec模型的启发,word2vec里预测词向量时,预测出来的词是含有词义的,比如上文提到的词向量’powerful’会相对于’Paris’离’strong’距离更近,在Doc2vec中也构建了相同的结构。所以Doc2vec克服了词袋模型中没有语义的去缺点。假设现在存在训练样本,每个句子是训练样本。和word2vec一样,Doc2vec也有两种训练方式,一种是PV-DM(Distributed Memory Model of paragraphvectors)类似于word2vec中的CBOW模型,另一种是PV-DBOW(Distributed Bag of Words of paragraph vector)类似于word2vec中的skip-gram模型 最近空闲之余,正好公司也有相应的业务需求,分享一下我最新的作品,一起体会一下nlp世界的魅力,希望各位能喜欢,哈哈哈哈,好了废话不多说

使用片段嵌入进行文档搜索

血红的双手。 提交于 2020-08-09 14:42:50
作者|Ajit Rajasekharan 编译|VK 来源|Towards Data Science 从文档中获取的句子片段的嵌入可以作为该文档的提取摘要方面,并可能加速搜索,特别是当用户输入是一个句子片段时。这些片段嵌入不仅比传统的文本匹配系统产生更高质量的结果,也是问题的内在驱动的搜索方法。现代向量化表示挑战创建有效的文档嵌入,捕捉所有类型的文档,使其通过使用嵌入在文档级别进行搜索。 例如“蝙蝠是冠状病毒的 来源 ”、“穿山甲 中 的冠状病毒”,由介词、形容词等连接一个或多个名词短语的短序列。这些突出显示的连接词在很大程度上被传统搜索系统忽略,它们不仅可以在捕获用户意图方面发挥关键作用(例如,“蝙蝠中的冠状病毒”不同于“蝙蝠是冠状病毒的来源”或“蝙蝠中不存在冠状病毒”)的搜索意图,但是,保留它们的句子片段也可以是有价值的候选索引,可以用作文档的摘要提取方面(子摘要)。通过将这些句子片段嵌入到适当的嵌入空间(如BERT)中,我们可以使用搜索输入片段作为对该嵌入空间的探测,以发现相关文档。 需要改进使用片段的搜索 找到一个有文献证据支持的综合答案来回答“COVID-19来源什么动物?”或者“冠状病毒与之结合的受体”,即使是在最近发布的covid19数据集这样的小数据集上(约500 MB的语料库大小,约13k文档,8500多万单词,文本中约有100万个不同的单词),也是一个挑战。

Origin绘制散点图个性化设置散点颜色

感情迁移 提交于 2020-08-09 09:07:55
背景 在做聚类时,经常要对结果进行可视化,如对不同类别的点设置不同的颜色以达到更好的展示效果。如使用word2vec之后,采用t-sne对数据所做的聚类效果,如下图所示。 此图来源:http://www.360doc.com/content/19/0706/11/52645714_847036805.shtml 具体绘制流程 数据如下图所示: 其中,第1和2列为散点图的横坐标和纵坐标,第4列(D(Y)列)为数据点的标签,第5列(E(Y))为数据点的颜色标签。 选中数据表中的第1和第二列,点击PLot>Scatter。 可绘制下面的图形: 双击上面的图形,会出现Plot Details操作框,在此框内可以设置和颜色。如下图设置标签列。 如下图可以这是颜色。 最终,绘制结果如下图所示: 来源: oschina 链接: https://my.oschina.net/u/4273264/blog/4327369

KeyError: “word 'word' not in vocabulary” in word2vec

半世苍凉 提交于 2020-08-08 06:37:08
问题 I am using word2vec , wiki corpus I trained, what can I do if the word I input not in vocabulary in word2vec ? Test it a bit: model = word2vec.Word2Vec.load('model/' + 'wiki_chinese_word2vec.model') model['boom'] Error: KeyError("word '%s' not in vocabulary" % word) 回答1: Use try & except to handle exceptions in Python. try block executes normally. If any exception or error occurs then except block will be executed. try: c = model['boom'] except KeyError: print "not in vocabulary" c = 0 回答2:

seq2seq聊天机器人

馋奶兔 提交于 2020-08-06 10:55:14
seq2seq聊天机器人 作者:魏祖昌 一、背景介绍 人工智能技术的进步,语音识别技术、自然语言处理等技术的成熟,智能客服的发展很好的承接当下传统人工客服所面临的挑战。智能客服能够24小时在线为不同用户同时解决问题,工作效率高等特点,这是传统人工客服不能替代的,它能为公司节省大量的人工客服成本。在这次疫情当中,由于总总原因,大家肯定多多少少都见识过各种各样的智能客服。本文就基于seq2seq来介绍一个聊天机器人。 二、seq2seq Seq2Seq即Sequence to Sequence,是一种时序对映射的过程,实现了深度学习模型在序列问题中的应用,其中比较突出的是自然语言中的运用。它主要由Encoder和Decoder两个部分组成,正如图一所示。 图一:论文中seq2seq结构( https://arxiv.org/pdf/1409.3215.pdf ) seq2seq模型的encoder非常简单(上图中ABC对应的部分),就是RNN,可以是多层(GRU,LSTM)。decoder在训练和测试的时候,稍微有点不同。decoder训练的时候输入由两部分组成,一部分是encoder的last state,另一部分是target序列,如上图中的第一个<EOS> WXYZ;其中两个<EOS>表示的是序列开始符和结束符;decoder测试的时候输入也是由两部分组成

机器学习实训课程|31章全免费!完整的自学教程+课件+安装包

扶醉桌前 提交于 2020-08-06 05:32:39
Python玩转机器学习(纯手工代码实现)课程旨在帮助同学们在机器学习领域打下坚实基础。课程注重算法原理讲解与数学公式推导并基于Python语言给出完整的代码实现,从零开始实现每一模块功能(非调用工具包)通过代码实例演示算法工作流程与实现方法。建议同学们在学习过程中先掌握算法原理,基于数学推导公式进行代码复现与实战演练。课程提供全部课程所需PPT,数据,代码。 机器学习|31章全免费!完整的自学教程+课件+安装包 ​ mp.weixin.qq.com 第一章: Python实战关联规则 1-关联规则概述 2支持度与置信度 3-提升度的作用 4-Python实战关联规则 5-数据集制作 6-电影数据集题材关联分析 第二章:爱彼迎数据集分析与建模 1-数据与任务分析 2-提取月份信息进行统计分析 3-房价随星期变化的可视化展示 4-房屋信息指标分析 5-提取房屋常见设施 6-房屋规格热度图分析 7-预处理与建模准备 8-随机森林与LightGBM 9-训练与评估 第三章:基于相似度的酒店推荐系统 1-数据与任务介绍 2-文本词频统计 3-ngram结果可视化展示 4-文本清洗 5-相似度计算 6-得出推荐结果 第四章:商品销售额回归分析 1-数据任务分析 2-特征工程制作 4-特征信息提取 5-标签变换. 6-输入数据制作 7-Xgboost训练模型 8-生成输出结果 第五章