源代码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. Burp Suite Spider Module - 网络爬虫模块

    Web application spdiering 和scanning 可以结合使用. Burp Suite 的Spider Module - Options 主要包含:Crawler Setting ...

  2. 给咱的服务器安装BBR脚本

    yum -y install wget ##ContOS Yum 安装 wget apt-get install wget ##Debian Ubuntu 安装 wget 先给咱的服务器安装wget, ...

  3. PyQt5多线程和定时器

    多线程 一般情况单线程就可以很好的完成任务,但是对于GUI程序来说,单线程就不能完全满足需求.如果有耗时流程,在单线程的情况下,界面操作就会卡死,直到耗时操作完成,才会响应界面操作.为了解决这个问题, ...

  4. 【思维+大数(高精度)】number 计蒜客 - 45276

    题目: 求 1 到 10^n 的数字中有 3 的数字的数量. 输入格式 1 个整数 n. 输出格式 共一行,1 个整数,表示答案. 数据范围 对于 10% 的数据,n≤8 对于 30% 的数据,n≤1 ...

  5. html地图定位

    利用高德地图api实现简单的地图功能,包括定位,地图缩放,搜索,列表展示等等基础功能 <!doctype html> <html> <head> <meta ...

  6. 橘子origin游戏平台如何绑定登陆验证/二次验证码?

    任天堂游戏公司4月份16万用户数据被黑客盗取,官方呼吁用户绑定二次验证码.疫情期间游戏用户暴涨,黑客活动频率也在增长,想起R星俱乐部用户绑定两步验证给十金的长期活动实在是明智之举,下面说下橘子游戏平台 ...

  7. React Native 控制一个component的显示隐藏

      // 首先在constructor里:   this.state = { visible: false }   // 然后在点击事件设置:   this.setState({ visible: t ...

  8. Mysql concat() group_concat()用法

    数据库表: 关键字:concat 功能:将多个字符串连接成一个字符串 使用:concat(column1, column2,...)  字段中间可以加连字符 结果:连接参数产生的字符串,如果有任何一个 ...

  9. Python灰帽子:黑客与逆向工程师的Python编程之道PDF高清完整版免费下载|百度云盘

    百度云盘免费下载:Python灰帽子:黑客与逆向工程师的Python编程之道PDF高清完整版免费下载 提取码:8nki 目录  · · · · · · 第1章 搭建开发环境 11.1 操作系统要求 1 ...

  10. lua中 table.getn(t) 、#t、 table.maxn(t) 这三个什么区别?

    lua中 table.getn(t) .#t. table.maxn(t) 这三个什么区别? RTlocal t = {1,888,x= 999,b=2,5,nil,6,7,[10]=1,8,{z = ...