源代码github地址

https://github.com/sunxiangguo/2CLSTM

但是没有开放数据集, 所以需要自己填数据集

摘要

这篇文章说他们认为文本的结构也是一个包含人物性格的重要特征,所以他们使用了一个名叫2CLSTM的模型,由一个双向的LSTM(Long Short Term Memory networks)和一个CNN(卷积神经网络)组成,用于侦测人物性格。同时提出**Latent Sentence Group(LSG)**这个概念来表示一组在某些方面连接很紧密的句向量。最后用这个LSG来分类得到5大性格的true和false。

2CLSTM 过程

2CLSTM包括4个部分, 词嵌入, 2LSTM处理句向量,得到关于上下文的语义信息, CNN学习LSG特征, Softmax分类, 这也就是为什么这个总的模型叫做2CLSTM。

1. 词嵌入

词嵌入说白了就是把单词变成一个向量,或者说把词空间映射成一个连续的向量空间,这里提前使用了GloVe 的已经训练好的词矩阵得到词向量,把单词变为一个100维的向量, 论文里建议最好从数据集里训练出词向量。

2. 2LSTM处理

论文介绍了LSTM, 这里不做过多介绍,关键的一点就是作者通过对词 分别输入到两个LSTM得到词左边和词右边的上下文

此图可以说明

3. CNN学习LSGCNN学习LSG

Sentence Group表示在逻辑和语义结构上紧密相连的几个连续句子,如坐标关系,偏好关系,因果关系等。但是,探测这些具体关系对于大多数文本任务来说是不切实际的。实际运用上,我们经常专注于探测某些维度中句子向量之间的关系。这也就是为什么我们使用Latent 这个词。

所以我们得到LSG 的定义

Latent Sentence Group (LSG) is defined as a synthesis that consists of a number of sentence vectors which are closely connected in some coordinates.

LSG( Latent Sentence Group)定义为一组在某些方面连接很紧密的句向量。

具体我们使用CNN来学习到LSG特征, 每个word通过Fully connected layer ,得到句子向量。 然后在每个维度中,我们使用1,2,3-gram 内核来学习每个坐标中的LSG特征。 通过 dense layermax pooling layer ,最终得到LSG。

4. Softmax分类

把得到的LSG用Softmax来进行分类

使用此公式计算概率

Who Am I? Personality Detection based on Deep Learning for Texts 阅读笔记的更多相关文章

  1. 论文笔记之:Pedestrian Detection aided by Deep Learning Semantic Tasks

    Pedestrian Detection aided by Deep Learning Semantic Tasks CVPR 2015 本文考虑将语义任务(即:行人属性和场景属性)和行人检测相结合, ...

  2. Deep learning with Python 学习笔记(11)

    总结 机器学习(machine learning)是人工智能的一个特殊子领域,其目标是仅靠观察训练数据来自动开发程序[即模型(model)].将数据转换为程序的这个过程叫作学习(learning) 深 ...

  3. Deep learning with Python 学习笔记(10)

    生成式深度学习 机器学习模型能够对图像.音乐和故事的统计潜在空间(latent space)进行学习,然后从这个空间中采样(sample),创造出与模型在训练数据中所见到的艺术作品具有相似特征的新作品 ...

  4. Deep learning with Python 学习笔记(9)

    神经网络模型的优化 使用 Keras 回调函数 使用 model.fit()或 model.fit_generator() 在一个大型数据集上启动数十轮的训练,有点类似于扔一架纸飞机,一开始给它一点推 ...

  5. Deep learning with Python 学习笔记(8)

    Keras 函数式编程 利用 Keras 函数式 API,你可以构建类图(graph-like)模型.在不同的输入之间共享某一层,并且还可以像使用 Python 函数一样使用 Keras 模型.Ker ...

  6. Deep learning with Python 学习笔记(7)

    介绍一维卷积神经网络 卷积神经网络能够进行卷积运算,从局部输入图块中提取特征,并能够将表示模块化,同时可以高效地利用数据.这些性质让卷积神经网络在计算机视觉领域表现优异,同样也让它对序列处理特别有效. ...

  7. Deep learning with Python 学习笔记(6)

    本节介绍循环神经网络及其优化 循环神经网络(RNN,recurrent neural network)处理序列的方式是,遍历所有序列元素,并保存一个状态(state),其中包含与已查看内容相关的信息. ...

  8. Deep learning with Python 学习笔记(5)

    本节讲深度学习用于文本和序列 用于处理序列的两种基本的深度学习算法分别是循环神经网络(recurrent neural network)和一维卷积神经网络(1D convnet) 与其他所有神经网络一 ...

  9. Deep learning with Python 学习笔记(4)

    本节讲卷积神经网络的可视化 三种方法 可视化卷积神经网络的中间输出(中间激活) 有助于理解卷积神经网络连续的层如何对输入进行变换,也有助于初步了解卷积神经网络每个过滤器的含义 可视化卷积神经网络的过滤 ...

随机推荐

  1. Python Ethical Hacking - TROJANS Analysis(4)

    Adding Icons to Generated Executables Prepare a proper icon file. https://www.iconfinder.com/ Conver ...

  2. JS 原型与原型链终极详解(二)

    四. __proto__ JS 在创建对象(不论是普通对象还是函数对象)的时候,都有一个叫做__proto__ 的内置属性,用于指向创建它的构造函数的原型对象. 对象 person1 有一个 __pr ...

  3. nvm配置及常用指令、配置全局node_global

    1.nvm-windows下载 nvm下载链接点击最新版本nvm-setup.zip下载安装即可. 2.配置nvm环境变量(安装nvm会默认配置,可忽略) 环境变量打开方式:右键此电脑 > 属性 ...

  4. JVM系列之:Contend注解和false-sharing

    目录 简介 false-sharing的由来 怎么解决? 使用JOL分析 Contended在JDK9中的问题 padded和unpadded性能对比 Contended在JDK中的使用 总结 简介 ...

  5. 前缀和线性基HDU6579

    Operation 题解:看到区间最大异或和,首先想到的是线性基: 线性基可以处理的操作是: 在数列末尾插入一个数 查询全局的子集异或最大值 由于线性基的长度很短,因此我们可以将数列所有前缀的线性基保 ...

  6. 教孩子学编程 python语言版PDF高清完整版免费下载|百度云盘|Python入门

    百度云盘:教孩子学编程 python语言版PDF高清完整版免费下载 提取码:mnma 内容简介 本书属于no starch的经典系列之一,英文版在美国受到读者欢迎.本书全彩印刷,寓教于乐,易于学习:读 ...

  7. Kubernetes中强制删除Pod、namespace

    Kubernetes中强制删除Pod.namespace 解决方法 可使用kubectl中的强制删除命令 # 删除POD kubectl delete pod PODNAME --force --gr ...

  8. jmeter变量的声明和使用

    @@@@@@@@@@@@@@@ 据说好多人早上看时间不是为了起床,而是看还能睡多久 jmeter中变量的使用还是很广泛的,有语言基础的都知道变量是什么意思.在jmeter中变量的声明和调用也都有自己的 ...

  9. ParallelsDesktop下Kali安装

    1. 安装镜像 镜像百度云:链接:https://pan.baidu.com/s/1TFXwmvehDdO-cwtU__TmqQ 密码:f3ow Kali官网 ,需要最新或者想下载其他版本去官网下载吧 ...

  10. Spring报错: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [xxx]

    如果确实没有这个类,就挨个将总项目,子项目clean,install一下,注意他们的依赖关系.