代码地址

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. 第十章:Android消息机制

    Android的消息机制主要是指Handler的云心机制,Handler的运行需要底层的MessageQueue和Looper支持. Handler是Android消息机制的上层接口. 通过Handl ...

  2. OSCP Learning Notes - Information Gathering

    Common Tools Google Exploit-DB/Google Hacking DB WHOIS Netcraft theharvester Example: Google search: ...

  3. Python Hacking Tools - Port Scanner

    Socket Programming 1.  Scan the target Vulnerable Server. And test it by telnet. 2. Write the scanne ...

  4. Ethical Hacking - NETWORK PENETRATION TESTING(10)

    WPA Craking WPA was designed to address the issues in WEP and provide better encryption. The main is ...

  5. jmeter接口测试 -- 设置跨线程组的全局变量

    一.操作步骤 1.先提取被设置的变量 2.再用 [线程组] - [后置处理] - [BeanShell PostProcessor]来设置跨线程的全局变量:${__setProperty(新变量名,$ ...

  6. MySQL(一)简介与入门

    一.数据库简介 这个博客详细介绍:http://www.cnblogs.com/progor/p/8729798.html 二.MySQL的安装 这个博客详细介绍:https://blog.csdn. ...

  7. Linux版 乐影音下载器(视频下载器) 使用方法

    如果你不知道Linux为何物,那么请回去选择前两种下载方式之一. 只提供Linux 64位的乐影音下载器(点击下载),在Linux Mint 19.1  64位.Python 3.6环境下测试能正常运 ...

  8. 将ip加入到防火墙

    五分钟内访问次数最多的ip加入到防火墙 #!/bin/bash cat /etc/httpd/logs/access_log|grep `date -d '1-minute-ago' +%d/%b/% ...

  9. emacs org-mode 中文手册精简版(纯小白)

    一只小白看了大佬的讲解视频结合其他大佬给整理的笔记再结合emacs 官方英文手册,觉得自己的知识好像增加了. 当时自己在全网搜索的时候没有看到那种纯小白的手册,本小白就写了这个,就当奉献社会了.若有不 ...

  10. 第一章 Java快速入门

    1.1.安装开发环境 第一步:打开下载地址,下载对应平台的 JDK 安装包 第二步:打开下载软件,全部默认下一步傻瓜式安装 1.2.配置环境变量 第一步:配置JAVA_HOME 第二步:配置CLASS ...