词向量

SemEval2019Task3_ERC | (6) Hybrid Features for Emotion Recognition in Textual Conversation

落花浮王杯 提交于 2020-02-13 17:25:09
原文下载 提取码:n8lx 目录 1. 比赛介绍 2. 模型描述 3. 实验 1. 比赛介绍 SemEval2019Task3_ERC是2019年Semantic Evaluation的第三个任务,对话情感识别。 使用的数据集是EmoContext,该对话数据集为纯文本数据集,来自社交平台。分为训练集、验证集和测试集。其中训练集、验证集、测试集各包含30,160、2755和5509个对话,每个对话都包含三轮(2人对话数据集(Person1,Person2,Person1)),因此训练集、验证集、测试集各包含90,480、8265和16,527个子句(utterances)。 这个数据集存在严重的类别不均衡现象,和其他数据不均衡现象有所区别,它在训练集比较均衡,但在验证集和测试集中每一个情感类别数据大约占总体的<4%(符合实际情况,实际对话中大部分子句是不包含任何情感的),具体统计情况如下: 与一般的判断给定文本/句子情感的任务不同,该任务的的目标是,给定一个对话(3轮),判断最后一轮/最后一个子句说话者所表达的情感,建模时需要利用对话的上下文(context)来判断最后一个子句的情感。 数据集的每个对话中,只有最后一个子句有情感标签,该数据集的情感标签分为三类:Happiness、Sadness、Anger还有一个附加的标签(others)

文本向量学习笔记

自古美人都是妖i 提交于 2020-02-11 06:31:19
文本向量其实是文本的一个数字化表达,以利于计算机理解文本,文本向量表达文本的好坏就决定了计算能否准确文本的意思。 文本向量分为 词向量,文档向量,句向量。 文本向量算法学习笔记 : 词袋模型:简单的统计词频,不能表示句中的词序,也无法表达语议。 词向量模型: 上下文相似的词其语议也相似。 词向量直观理解学习笔记: 词义相似度高在空间上越近。 深度神经网络语言模型学习笔记: 神经网络求取文本向量,是在不断优化训练网络带来的结果,他把文本向量先全部拼接在一起保留词序与语议,回避了词袋模型的缺点。 CBOW模型原理讲解学习笔记: CBOW模型去除了隐藏层,虽然使参数大量减少,但是各种词的条件组合计算太多,而输出层W(t)的候选词是整个词库太大了,为了降低这部分的计算量CBOW采用了哈夫曼树、正负采样两者结合的技术降低了计算量,从而使CBOW模型成为了可以实际商业化的模型。 Gension建立词向量模型学习笔记 : 学习这个视频我有个疑问,难道我们都需要训练词向量吗?咨询老师得到的回复是词向量文件未必需要重新训练,可以使用其它公司已经训练好的,重新训练主要是在现有的词向量起的作用不大,有很多词的词向量没有,经常在一些专业领域中没有就需要重新训练了。 至于学习实现代码个人所花费的时间最主要是在Gensim,jieba这两个第三方工具的API使用上,以及Python日志处理代码理解。

第二讲 cs224n系列之word2vec & 词向量

*爱你&永不变心* 提交于 2020-02-07 09:48:47
本系列是一个基于深度学习的NLP教程,2016年之前叫做CS224d: Deep Learning for Natural Language Processing,之后改名为CS224n: Natural Language Processing with Deep Learning。新版主讲人是泰斗Chris Manning和Richard Socher(这是旧版的讲师),两人分别负责不同的章节。博主在学习的同时,对重点内容做成系列教程,与大家分享! 系列目录(系列更新中) 第二讲 cs224n系列之word2vec & 词向量 1.语言模型 神经概率语言模型(Neural Probabilistic Language Model)中词的表示是向量形式、面向语义的。两个语义相似的词对应的向量也是相似的,具体反映在夹角或距离上。甚至一些语义相似的二元词组中的词语对应的向量做线性减法之后得到的向量依然是相似的。词的向量表示可以显著提高传统NLP任务的性能,例如《基于神经网络的高性能依存句法分析器》中介绍的词、词性、依存关系的向量化对正确率的提升等。 2.word2vec word2vec是一个计算word vector的开源工具。当我们在说word2vec算法或模型的时候,其实指的是其背后用于计算word vector的CBoW模型和Skip-gram模型

神经网络与推荐系统初步简介

本秂侑毒 提交于 2020-02-07 07:44:06
作者:一人 1.深度神经网络对于任何领域都是适用的 深度神经网络(Deep Neural Networks, DNN)在过去的数年已经在图像分类、语音识别、自然语言处理中取得了突破性的进展。在实践中的应用已经证明了它可以作为对于一种十分有效的技术手段应用在大数据相关领域中。深度神经网络通过众多的简单线性变换层次性的进行非线性变换对于数据中的复杂关系能够很好的进行拟合,即对数据特征进行的深层次的挖掘。 因此作为一种技术手段,深度神经网络对于任何领域都是适用的。 2.推荐系统简介 推荐系统的功能是帮助用户主动的找到满足偏好的个性化物品并推荐给用户。在本质上可以当做一个个性化的搜索引擎,输入的数据为用户行为信息、偏好信息等,返回的结果为最符合查询条件的物品列表。数学化的表示: 物 品 列 表 = f ( 用 户 偏 好 ) − − − − − − − − − − − 公 式 ( 1 ) 我们的推荐引擎就扮演者这里的函数的角色,它主要需要完成两部分的工作: A > 针对查询条件对物品的相关性进行估计。 B > 晒选出topN个最相关的物品。 因此,推荐系统的关键就是对上面 函数的一种求解 。 实际应用中的物品数量很大,因此在满足业务需要的前提下,对于所有物品使用评估函数进行评估是不实际的。因此为了实现性能与效果的平衡,大多的推荐系统将以上的计算过程分为两个部分: 推荐召回 推荐排序

词向量概况

人盡茶涼 提交于 2020-02-07 06:54:23
Reference: http://licstar.net/archives/328 ( 比较综合的词向量研究现状分析) 序:为什么NLP在模式识别里面比较难? Licstar 的文章开头这么提到: 语言(词、句子、篇章等)属于人类认知过程中产生的高层认知抽象实体,而语音和图像属于较为底层的原始输入信号 。 语音、图像数据表达不需要特殊的编码,而且有天生的顺序性和关联性,近似的数字会被认为是近似特征。然而语言就麻烦了。 比如通俗的One-hot Representation就是一种不是很好的编码方式,编出来的数据比图像、语音的信号表达方式差很多。 还可以对比的是:统计数据。为什么数据挖掘模型简单?因为统计数据是人工build出来的,特征维度特低,是经过人脑这个大杀器提炼出来的超浓缩特征。 所以数据挖掘不需要深度学习啊,特征提取啊什么的,而且也没法这么做。大数据下,你跑个十几层的神经网络试试? 问题:语序不分 在NLP中,表达一个句子很简单。比如CV loves NLP,只要我们对所有单词建立一个词库。 那么CV loves NLP 可以表示成二进制编码[0,1,0,0,0,1,0,0,1],即出现的词是1,不出现为0。 这就是著名的One-hot Representation特征表示法,用它能完成NLP中的很多任务,然而就这么满足了? 那么问题来了,NLP loves CV和CV

动态记忆网络(DMN)

点点圈 提交于 2020-02-07 02:53:28
论文:Ask Me Anything: Dynamic Memory Networks for Natural Language Processing 1、概述   Question answering(QA)是一个复杂的自然语言处理任务,它需要杰出的文本理解力和推理能力。自然语言处理中不部分任务都可以归结为 QA 问题。例如机器翻译(这句话翻译成法语是什么?);序列标注问题(包括词性标注、命名实体识别等);情感分类等。动态神经网络(DMN)是一个统一的神经网络框架,可以用来处理输出的问题序列,形成语义与情景记忆,然后生成相应的答案。DMN 的整体流程就是输入数据(包括数据和问题),然后生成相应的记忆片段,最后解析生成回答。 2、动态神经网络结构   动态神经网络包含了5个模块:输入模块、语义记忆模块、问题模块、片段记忆模块、回答模块。具体的网络结构如下:         1)输入模块   输入模块可以看作一个函数的中间过程,而这个函数最终将返回一个向量表示。输入模块将它的中间值发送给片段记忆模块,片段记忆模块基于问题模块输入的问题和注意机制完成上述函数的计算。输入模块是一个循环神经网络,一般选用GRU,它的输入是词向量(可以通过Glove或者word2vec获得),通过给定的词向量去计算隐藏状态 $c_t$ 。其计算公式如下:   $ c_t = SEQ-MODEL(L[w_t

textcnn多分类(keras实现)实例详解

 ̄綄美尐妖づ 提交于 2020-02-02 06:18:03
源代码地址: https://github.com/keras-team/keras/blob/master/examples/pretrained_word_embeddings.py 这是一个非常经典的代码,我增加了一定的注释和保存模型的代码 使用的语料库和数据集都是网站公开数据(百度直接搜索名字都能搜到,下面提供下载地址) 预料库: http://nlp.stanford.edu/data/glove.6B.zip 数据集: http://www.cs.cmu.edu/afs/cs.cmu.edu/project/theo-20/www/data/news20.html from __future__ import print_function import os import sys import numpy as np from keras.preprocessing.text import Tokenizer from keras.preprocessing.sequence import pad_sequences from keras.utils import to_categorical from keras.layers import Dense, Input, GlobalMaxPooling1D from keras.layers import Conv1D

gensim加载词向量文件

♀尐吖头ヾ 提交于 2020-02-01 12:18:02
# -*- coding: utf-8 -*- # author: huihui # date: 2020/1/31 7:58 下午 ''' 根据语料训练词向量,并保存向量文件 ''' import os import sys import gensim os.reload(sys) sys.setdefaultencoding('utf-8') # 需要提前分词 input_file = "corp_seg.txt" sentences = gensim.models.word2vec.Text8Corpus(input_file) # 训练词向量 model = gensim.models.word2vec.Word2Vec(sentences, sg=1, size=100, window=5, min_count=1, negative=3, sample=0.001, hs=1, workers=40) # 保存词向量文件 model.save("corp_word2vec.model") model.wv.save_word2vec_format("corp_word2vec.txt") # 加载词向量文件 model = gensim.models.word2vec.Word2Vec.load("corp_word2vec.model") model = gensim

Word2Vec实践

拥有回忆 提交于 2020-01-31 16:29:36
Word2Vec实践 1 gensim word2vec API概述 2 模型训练 1、读取数据 2、数据预处理 3、模型训练 4、效果测试 3 与Fasttext对比 1 Fasttext简介 2 Fasttext模型训练 3 两者对比 之前了解过Word2Vec的原理,但是没有做过项目实践,这次得到一批专利数据,所以自己上手实践一下。 数据参考: https://github.com/newzhoujian/LCASPatentClassification 1 gensim word2vec API概述 在gensim中,word2vec 相关的API都在包gensim.models.word2vec中。和算法有关的参数都在类gensim.models.word2vec.Word2Vec中。算法需要注意的参数有: 1) sentences: 我们要分析的语料,可以是一个列表,或者从文件中遍历读出。后面我们会有从文件读出的例子。 2) size: 词向量的维度,默认值是100。这个维度的取值一般与我们的语料的大小相关,如果是不大的语料,比如小于100M的文本语料,则使用默认值一般就可以了。如果是超大的语料,建议增大维度。 3) window:即词向量上下文最大距离,这个参数在我们的算法原理篇中标记为c,window越大,则和某一词较远的词也会产生上下文关系。默认值为5

【NLP】文本分类综合(rnn,cnn,word2vec,TfidfVectorizer)

淺唱寂寞╮ 提交于 2020-01-31 11:25:03
目录 0.中文评论情感分析(keras+rnn) 0.1 需要的库 0.2 预训练词向量 0.3 词向量模型 0.4 训练语料 (数据集) 0.5 分词和tokenize 0.6 索引长度标准化 0.7 反向tokenize 0.8 构建embedding matrix 0.9 padding(填充)和truncating(修剪) 0.10 用keras搭建LSTM模型 0.11 结论 0.12 错误分类 1.新浪新闻分类(tensorflow+cnn) 2.搜狐新闻文本分类(word2vec) 2.1 数据的准备 2.2 word2vec模型 2.3 特征工程: 2.4 模型训练,模型评估 2.4.1 标签编码: 2.4.2 逻辑回归模型 2.4.3 保存模型 2.4.4 交叉验证 2.4.5 模型测试 2.5 总结 3.搜狐新闻文本分类(TfidfVectorizer) 0.中文评论情感分析(keras+rnn) 0.1 需要的库 # 首先加载必用的库,jieba和gensim专门中文 # %matplotlib inline功能是可以内嵌绘图,并且可以省略掉plt.show()这一步 % matplotlib inline import numpy as np import matplotlib . pyplot as plt import re #正则化用 import