基于文本及用户信息及社交网络的性别分类

1 背景及目的

本文旨在研究中文微博用户的性别分类问题,即根据微博提供的中文文本信息对注册用户的性别 进行识别。虽然基于微博的性别分类已经有一定研究,但是针对中文的性别分类工作还很缺乏。本文首先 提出分别利用用户名和微博文本构建两个分类器对用户的性别类型进行判别,并对不同的特征(例如:字 特征、词特征等)进行了研究分析;

image.png

2 整体的流程

image.png

3 准备数据集

第一步是准备数据集,包括加载数据集和执行基本预处理,然后把数据集分为训练集和验证集。

3.1 数据来源

niracler的爬虫(代码)

image.png

3.2 数据格式

微博用户名数据

Key Value
user_id 用户ID
nickname 用户昵称;
weibo_num 微博数;
following 关注数;
followers 粉丝数;

微博用户关系网络数据

Key Value
user_id 用户ID
follow_id 他关注的用户ID

微博内容数据

Key Value
user_id 用户ID
weibo_content 存储用户的所有微博
weibo_place 存储微博的发布位置
publish_time 存储微博的发布时间
up_num 存储微博获得的点赞数
retweet_num 存储微博获得的转发数
comment_num 存储微博获得的评论数
publish_tool 存储微博的发布工具

微博用户基础数据

Key Value
user_id 用户ID
base_info 用户基础信息
other_info 用户其他信息

3.3 数据量

当前用户数:142056
当前用户信息数:68942
当前follow关系数:1114676
当前微博文章数:528558
待爬取用户数:883318
待爬取用户信息数:0
待爬取follow关系数:2234432
待爬取微博文章数:316856

3.4 进行初步的数据预处理

image.png

3.5 特征工程

接下来是特征工程,在这一步,原始数据将被转换为特征向量,另外也会根据现有的数据创建新的特征。为了从数据集中选出重要的特征,有以下几种方式:计数向量作为特征, TF-IDF向量作为特征, 单个词语级别TF-IDF, 多个词语级别TF-IDF(N-Gram), 词性级别TF-IDF

3.5.1 计数向量作为特征

计数向量是数据集的矩阵表示,其中每行代表来自语料库的文档,每列表示来自语料库的术语,并且每个单元格表示特定文档中特定术语的频率计数:

3.5.2 TF-IDF介绍

TF-IDF的分数代表了词语在文档和整个语料库中的相对重要性。TF-IDF分数由两部分组成:第一部分是计算标准的词语频率(TF),第二部分是逆文档频率(IDF)。其中计算语料库中文档总数除以含有该词语的文档数量,然后再取对数就是逆文档频率。

TF(t)=(该词语在文档出现的次数)/(文档中词语的总数)
IDF(t)= log_e(文档总数/出现该词语的文档总数)
TF-IDF向量可以由不同级别的分词产生(单个词语,词性,多个词(n-grams))

  • 词语级别TF-IDF:矩阵代表了每个词语在不同文档中的TF-IDF分数。
  • N-gram级别TF-IDF: N-grams是多个词语在一起的组合,这个矩阵代表了N-grams的TF-IDF分数。
  • 词性级别TF-IDF:矩阵代表了语料中多个词性的TF-IDF分数。

4 模型训练

最后一步是建模,利用标注数据集训练机器学习模型。

4.1 朴素贝叶斯

利用sklearn框架,在不同的特征下实现朴素贝叶斯模型。朴素贝叶斯是一种基于贝叶斯定理的分类技术,并且假设预测变量是独立的。朴素贝叶斯分类器假设一个类别中的特定特征与其它存在的特征没有任何关系。

image.png

4.2 线性分类器(Logistic Regression)

实现一个线性分类器(Logistic Regression):Logistic回归通过使用logistic / sigmoid函数估计概率来度量类别因变量与一个或多个独立变量之间的关系。

image.png

4.3 支持向量机模型

支持向量机(SVM)是监督学习算法的一种,它可以用来做分类或回归。该模型提取了分离两个类的最佳超平面或线。

image.png

4.4 Bagging Model

实现一个随机森林模型:随机森林是一种集成模型,更准确地说是Bagging model。它是基于树模型家族的一部分
[图片上传失败...(image-afdd34-1561692288187)]

4.5 神经网络

神经网络被设计成与生物神经元和神经系统类似的数学模型,这些模型用于发现被标注数据中存在的复杂模式和关系。一个浅层神经网络主要包含三层神经元-输入层、隐藏层、输出层。

4.5.1 神经网络的结构


Layer (type) Output Shape Param #

dense_1 (Dense) (None, 2500) 12502500


dense_2 (Dense) (None, 1250) 3126250


dense_3 (Dense) (None, 500) 625500


dense_4 (Dense) (None, 100) 50100


dense_5 (Dense) (None, 2) 202

Total params: 16,304,552
Trainable params: 16,304,552
Non-trainable params: 0


4.5.2 神经网络的结果

Screenshot_20190628_110903.png

4.6 各种方法的结果对比

image.png

5 待改进的地方

  1. 爬虫写的一点都不优雅

  2. 跑模型的时间实在太仓促了

  3. 应当尝试一下词嵌入模型

  4. 没有整理好代码以及PPT,有点乱

  5. 没有用上boosting算法

  6. 没有用上像是粉丝数这样的数据

  7. 中间结果应该存起来

6 参考文章

  • 中文微博用户性别分类方法研究
  • figure of imshow() is too small
  • 手把手教你在Python中实现文本分类(附代码、数据集)
  • Scrapy 使用写死的cookie 来爬需要登录的页面
  • 新浪微博爬虫,用python爬取新浪微博数据
  • 分布式网络数据抓取系统设计与实现
  • 使用 Docker Swarm 搭建分布式爬虫集群
  • 2019最新AI 自然语言处理之深度机器学习顶级项目实战课程
  • scikit-learn SVM.SVC() is extremely slow
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容