文本挖掘小探索:避孕药内容主题分析

作者:冯大福

舆情监测一直是众多品牌关注的地方,尤其品牌想知道在品牌推广,品牌策略,品牌广告中出现的问题,从而能进行策略上的改进,但是现在很多人都是读帖子,笔者在4年前做舆情分析时候就是读帖子,至今没有太多改善,关注舆情监测中的主题挖掘部分,主题挖掘可以使数据分析师,减轻工作量,去掉读帖子等一系列等的复杂工作,大致了解主题规律。

本文是笔者早前发在某网站上的,由于笔者最近太忙,将本文修改下呈现给大家:

本文分析逻辑:

数据处理

1.数据源:

从各大网站论坛,微博等爬虫关于某避孕药的内容

关键字段名称包含:

  • content Author: 发帖作者(第D列)
  • Content Forward: 转发的内容(第F列)
  • Content_Main: 发帖内容(第G列)
  • Title:发帖内容(第H列)

其他字段和本文不想关,不阐述

2.加载数据包(r语言)和需要在中文分词中插入的中文词语:

  1. Rwordseg:(4年前用的分词包,不知道现在更新与否),分词包就是让R语言识别中文,按照单词来视为一个值
  2. 插入单词:因为Rwordseq中文词性包含不了其他奇怪词汇,例如: 妈富隆、优思明、短期避孕药、治疗多囊等。插入单词作为模型的变量值

3.读入文本分析处理

去掉数字、特殊字符、标准符号

数据探索:大概了解下数据现状

1.根据变量值(单词)统计各个单词出现的次数

2.根据单词量画词云图

3.重新转化用于聚类的数据格式

根据以上数据探索的词频,词作为colname,词频表示数值,每一行是帖子内容作为id标示

例如:

即每个帖子出现了某词的词频的次数,帖子1中出现避孕药2次,优思明4次,囊中1次

R语言tm包来作处理

即:分词之后生成一个列表变量,用列表变量构建语料库。

由于tm包中的停用词()都是英文(可以输入stopwords()查看),所以大家可以去网上查找中文的停用词,用removeWords函数去除语料库中的停用词:

生成语料库之后,生成词项-文档矩阵(Term Document Matrix,TDM),顾名思义,TDM是一个矩阵,矩阵的列对应语料库中所有的文档,矩阵的行对应所有文档中抽取的词项,该矩阵中,一个[i,j]位置的元素代表词项i在文档j中出现的次数。

4.注意:

默认的加权方式是TF,即词频,这里采用Tf-Idf,该方法用于评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度:

  1. 在一份给定的文件里,词频 (term frequency, TF) 指的是某一个给定的词语在该文件中出现的次数。这个数字通常会被归一化,以防止它偏向长的文件。
  2. 逆向文件频率 (inverse document frequency, IDF) 是一个词语普遍重要性的度量。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。
  3. 某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的TF-IDF。因此,TF-IDF倾向于保留文档中较为特别的词语,过滤常用词。

同时,需要用removeSparseTerms()函数进行降维

数据挖掘

1.查看频率&基本统计

其实就是在数据挖掘查看数据基本统计,目的看下数据逻辑符合不符合社会认知

例如下图:查看优思明和它相关概率高于0.6的词有哪些

下图为整体数据(由于归一化)做的数据统计

2.LDA

LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构。所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”

具体的算法核心在这里略,因为写太多可能读者看不懂。

VEM = LDA( sample.dtm2, k=10, control = list(seed= SEED)),

根据上面所形成的raw data形成主题词:

解读:

主题分类10个主题,在这个文本中,但是还需要优化

  • 第一个主题是女性服用避孕药后作用会不会增加流产风险?
  • 第二个主题是女性避孕和激素的关系(需要优化)
  • 第三个主题医生推荐优思明会不会影响月经(需要优化)
  • 第四个主题口服避孕药会不会影响月经
  • 第五个主题治疗痤疮,激素,多囊
  • 第六个主题和第四个主题一样(需要优化)
  • 第七个主题同上
  • 第八个主题,杂文帖子
  • 第九个主题,会不会是吃完避孕药后发胖
  • 第十个主题,优思明女性服用避孕

确切来说,这10个主题还需要优化,文本经过人工看完应该提炼的的是优思明使用目的,大部分集中在避孕,安全,发胖,治疗痤疮等,少部分会集中副作用等。

结束语

由于4年前做脚本,因此好多需要优化,之后会将优化的和大家分享

优化内容包含

  1. 需要在文本库中添加月经不调,治疗痤疮,青春痘等词语
  2. 文本还需要继续处理改进去掉postend
  3. 主题数目需要加大
  4. 以及主题内容维度需要增加可以让他成为一句话

End.

来源:36大数据

原文发布于微信公众号 - PPV课数据科学社区(ppvke123)

原文发表时间:2017-09-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能LeadAI

译文 | 与TensorFlow的第一次接触(一)

本人对一直对高性能网络服务器,分布式存储比较感兴趣,在BAT时也一直从事架构开发,并没有做过机器学习相关工作,平时喜欢阅读分析开源代码,到目前为止已分析完约8套...

3526
来自专栏技术翻译

用Python从头开始构建一个简单的聊天机器人(使用NLTK)

我相信你一定听说过Duolingo:一款流行的语言学习应用。它以其创新的外语教学风格而广受欢迎,其概念很简单:一天五到十分钟的互动训练就足以学习一门语言。

1.1K1
来自专栏CDA数据分析师

盘点丨2018 年热门 Python 库丨TOP20

在解决数据科学任务和挑战方面,Python继续处于领先地位。去年,我对当时热门的Python库进行了总结。今年,我在当中加入新的库,重新对2018年热门Pyth...

1932
来自专栏机器学习-数据挖掘

基于多维数据频繁项挖掘的母机隐患排查

本文首先通过“啤酒与尿布”的故事入手,介绍机器学习中常见问题——频繁项挖掘的应用背景;其次,简要介绍频繁项挖掘最常用的两种算法——Apriori算法和FP-gr...

2376
来自专栏思影科技

PNAS:婴儿早期记忆能力比我们想象的要高

近日来自意大利帕多瓦大学的Silvia Benavides-Varela教授在美国国家科学院院刊(PNAS)上发表了一篇关于婴儿早期记忆的研究,这一工作使用近红...

36513
来自专栏AI研习社

资深算法工程师万宫玺:Java 工程师转型 AI 的秘密法宝——深度学习框架 Deeplearning4j | 分享总结

深度学习是人工智能发展最为迅速的领域之一,Google、Facebook、Microsoft 等巨头都围绕深度学习重点投资了一系列新兴项目,他们也一直在支持一些...

38710
来自专栏CDA数据分析师

7 款 Python 数据图表工具的比较

Python 的科学栈相当成熟,各种应用场景都有相关的模块,包括机器学习和数据分析。数据可视化是发现数据和展示结果的重要一环,只不过过去以来,相对于 R 这样的...

42810
来自专栏技术翻译

10个用于人工智能的开源工具/框架

TensorFlow™是一个开源软件库,最初由研究Google Brain Team的研究人员和工程师开发。TensorFlow用于使用数据流图进行数值计算。图...

1.3K2
来自专栏AI研习社

Java工程师转型AI的秘密法宝:深度学习框架Deeplearning4j | 回顾

深度学习是人工智能发展最为迅速的领域之一,Google、Facebook、Microsoft等巨头都围绕深度学习重点投资了一系列新兴项目,他们也一直在支持一些开...

5047
来自专栏机器之心

资源 | DMLC团队发布GluonCV和GluonNLP:两种简单易用的DL工具箱

选自 Gluon 机器之心编译 参与:思源、李亚洲 近日,DMLC 发布了简单易用的深度学习工具箱 GluonCV 和 GluonNLP,它们分别为计算机视觉和...

3138

扫码关注云+社区

领取腾讯云代金券