代码地址

https://github.com/SenticNet/personality-detection

1. 摘要

这篇文章讲的是基于深度学习, 通过提取文本特征,得到一个人的五大性格的倾向(是/否)。 具体来说:使用CNN(卷积神经网络)对文本进行性格特征的抽取,并且在得到文档语义特征之后 将其和文档格式特征组合起来变成总特征, 然后对其进行二分类,得到结果。

2. 方法综述

我们的步骤包括输入信息预处理, 过滤, 特征提取和二分类。其中我们提取的特征包括两个方面, 一个是在文档层面上的文本格式特征。

另一个文档层面上的语义特征,把提取的这两个特征组合起来用于最后的二分类。

特别的, 文档层面上的语义特征的提取是 先把每个词用向量表示出来, 然后输入到CNN, CNN通过把词组成n-grams, n-grams组成句子, 句子组成文档的这样一种层次方式 得到文档层面上的语义特征 , 后面会详细说到。

2.1 输入信息预处理

包括分句, 数据清理, 合并, 比如转换成小写之类的。

2.2 文档层面的格式特征提取

我们使用Mairesse baseline feature set 这个特征集这个规范提取格式方面的特征, 包括此的个数, 平均句子长度等

2.3 数据过滤

因为有些句子可能并没有包含有用的性格信息, 我们将这些信息过滤掉, 提高CNN的表现, 具体细节文章没有给出,需要自行看代码。

2.4 单词层面上的特征提取

首先通过word embedding(词嵌入)把单词变成一个向量,或者说把词空间映射成一个连续的向量空间, 使用的词嵌入方式是 word2vec embeddings, 在这个过程中我们得到了文档的表示方式: 可变长度的句子, 其中句子是由可变长度的单词向量组成(每个单词的特征是固定的)

2.5分类

我们使用CNN进行分类, 其中他的输入是词向量,那么句子就表示成为一组词向量, 然后在网络的某个层把词嵌入到句子, 此时句子的词向量将变成一个固定的数字。在这一层文档变表示成为不定长度的句子向量,最后在一层把文档变成固定长度的文档向量, 然后把这个向量和前面提取的格式特征组合在一起, 此向量就是我们对一个文档的总特征表示, 我们将把这个总特征用于最后的分类。

3. 分类网络结构



分类网络包括5个步骤, 7个层次,每个性格方面都有一个结构相同的分类网络, 所以一共时5个分类网络,分别对5个性格方面进行分类

3.1 步骤

  • 词向量化 (使用word2vec词嵌入)
  • 句子向量化
  • 文档向量化
  • 对文档进行分类

3.2 层次

  • input (word vectorization)
  • convolution (sentence vectorization)
  • max pooling (sentence vectorization),
  • 1-max pooling (document vectorization),
  • concatenation (documentvectorization),
  • linear with Sigmoidactivation (classifcation)
  • twoneuron softmax output (classifcation)

每个层的具体细节在论文里给出, 虽然比较简洁, 需要结合代码来查看。

Deep Learning-Based Document Modeling for Personality Detection from Text 阅读笔记的更多相关文章

  1. Predicting effects of noncoding variants with deep learning–based sequence model | 基于深度学习的序列模型预测非编码区变异的影响

    Predicting effects of noncoding variants with deep learning–based sequence model PDF Interpreting no ...

  2. 【RS】Deep Learning based Recommender System: A Survey and New Perspectives - 基于深度学习的推荐系统:调查与新视角

    [论文标题]Deep Learning based Recommender System: A Survey and New Perspectives ( ACM Computing Surveys  ...

  3. 论文笔记: Deep Learning based Recommender System: A Survey and New Perspectives

    (聊两句,突然记起来以前一个学长说的看论文要能够把论文的亮点挖掘出来,合理的进行概括23333) 传统的推荐系统方法获取的user-item关系并不能获取其中非线性以及非平凡的信息,获取非线性以及非平 ...

  4. 论文翻译:2021_Towards model compression for deep learning based speech enhancement

    论文地址:面向基于深度学习的语音增强模型压缩 论文代码:没开源,鼓励大家去向作者要呀,作者是中国人,在语音增强领域 深耕多年 引用格式:Tan K, Wang D L. Towards model c ...

  5. 个性探测综述阅读笔记——Recent trends in deep learning based personality detection

    目录 abstract 1. introduction 1.1 个性衡量方法 1.2 应用前景 1.3 伦理道德 2. Related works 3. Baseline methods 3.1 文本 ...

  6. Paper Reading——LEMNA:Explaining Deep Learning based Security Applications

    Motivation: The lack of transparency of the deep  learning models creates key barriers to establishi ...

  7. 高光谱图像分类简述+《Deep Learning for Hyperspectral Image Classification: An Overview》综述论文笔记

    论文题目<Deep Learning for Hyperspectral Image Classification: An Overview> 论文作者:Shutao Li, Weiwei ...

  8. Comparison of SIFT Encoded and Deep Learning Features for the Classification and Detection of Esca Disease in Bordeaux Vineyards(分类MobileNet,目标检测 RetinaNet)

    识别葡萄的一种虫害,比较了传统SIFT和深度学习分类,最后还做了目标检测 分类用的 MobileNet,目标检测 RetinaNet MobileNet 是将传统深度可分离卷积分成了两步,深度卷积和逐 ...

  9. 吴恩达《深度学习》-第一门课 (Neural Networks and Deep Learning)-第二周:(Basics of Neural Network programming)-课程笔记

    第二周:神经网络的编程基础 (Basics of Neural Network programming) 2.1.二分类(Binary Classification) 二分类问题的目标就是习得一个分类 ...

随机推荐

  1. echarts爬坑 : 怎么Line折线图设置symbol:none后Label不见了?

    用 echarts 时遇到了一个奇奇怪怪的问题. 这是一张折线图. 本来这个图是有数字显示的. series : [ { name:'搜索引擎', type:'line', stack: '总量', ...

  2. vue :关于引用jquery的二三问题

    webpack版本:3.6.0 首先是引用jquery. 有两个地方要改. 1 (项目地址)/build/webpack.base.conf.js 2 (项目地址)/src/main.js webpa ...

  3. 获取字符串指定字符的第n次出现位置

    create function uf_findx (@text nvarchar(max),@find_x varchar(200),@find_n int)returns intasbegin -- ...

  4. 记一次 Microsoft.Bcl.Async 使用经验

    起因: 由于公司项目使用场景存在很多的XP环境,导致使用.NET Framework版本不能大于4.0版本.最近开发新功能时:从nuget上下载一个开源dll(该dll 4.0 版本依赖 Micros ...

  5. 「从零单排canal 05」 server模块源码解析

    基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_read ...

  6. Spring Boot+MyBatis+MySQL读写分离

    读写分离要做的事情就是对于一条sql语句该选择去哪个数据库执行,至于谁来做选择数据库的事情,无非两个,1:中间件(比如MyCat):二:程序自己去做分离操作. 但是从程序成眠去做读写分离最大的弱点就是 ...

  7. Java 并发队列 BlockingQueue

    BlockingQueue 开篇先介绍下 BlockingQueue 这个接口的规则,后面再看其实现. 首先,最基本的来说, BlockingQueue 是一个先进先出的队列(Queue),为什么说是 ...

  8. Java程序斗地主发牌代码,List、Map集合的应用

    Java集合存储的灵活运用List集合存储 54个编号 Map <key,value> key 对应的是编号 , value 是 牌的花色(红方梅黑)+ 具体的一张牌 ,比如 黑桃2 用2 ...

  9. web自动化 -- HTMLreport(一)测试报告自定义测试用例名,重写ddt

    一.需求痛点 1.HTMLreport测试报告的用例名不明确 2.希望可以自定义HTMLreport测试报告的用例名 3.痛点截图 二.解决办法 1.原因分析 HTMLreport测试报告中的用例名是 ...

  10. python爬虫获取localStorage中的数据(获取token)

    # 此为获取东航登录时的token(经分析js得出此token存储于localstorage中) browser = webdriver.Chrome(executable_path='xxxx')b ...