layout: post
title: 基于社交媒体的企业行为事件挖掘--系列[1]
categories: Case
description: 利用word2vec+触发器识别企业事件
keywords: word2vec、企业事件
利用Word2vec+trigger的方式识别企业事件
目录
- [背景]
- [1. 研究背景]
- [2. 研究方法]
- [3. 研究结果]
- [4. 总结]
背景
企业事件挖掘是我自大四的毕业设计到现在依旧跟进的研究内容,从微博数据抓取--> 数据预处理 -->模型对比-->事件演化分析均是一步一步探索而来,刚刚开始学习自然语言处理,过程还是有点艰辛,第一期的任务早已经完成了,甚至可以基于社交媒体企业事件挖掘写一系列文章,万事开头难,先从第一期的内容开始。
接下来文章的将从 **研究背景 - 研究方法 - 研究结果 **三大部分进行介绍。
1. 研究背景
研究背景的逻辑框架通过下面的图给表示出来:
在信息技术和移动互联网技术快速发展的同时,信息资源也呈现指数增长,基于传统的统计方法进行数据分析面临巨大挑战,从海量数据中挖掘有价值的信息成为一种必然趋势。社交媒体(Social Media,又称社会化媒体)作为目前最重要的信息源之一,它在社会舆论、信息传播、企业营销等方面发挥着其他媒介不可替代的作用。据新浪《2016微博企业白皮书》统计,截至2016年12月底,微博企业账号注册量已达到130万,越来越多的企业利用社交媒体塑造企业品牌、产品营销推广、客户关系管理,由于社交媒体具有先天媒体属性,对比传统的信息传播方式(比如电视、报刊杂志、新闻网站、企业官网),企业加入社交媒体平台,不仅可以通过平台获取及时有用的信息,更重要的是可以发布大量与企业经营活动相关信息,逐渐,企业信息在社交媒体平台中累积,更重要的是,这些信息中隐含了大量的企业行为,具有重要的研究价值和应用价值(如图1.1-1华为在其官方账号发布与英特尔进行全球HPC合作的相关信息),因此,如何从海量社交媒体数据中识别企业行为成为了一个非常有意义的研究主题。
然而,从海量社交媒体数据中识别企业行为并非易事。这里主要有三个挑战:
第一, 在社交媒体中,用户生成内容(User-generated Content,简称UGC)多为短文本,这些短文本具有表达类型多样、表意模糊不清、噪音多、主题多等特点,它严重阻碍了企业行为识别的有效性;
第二, 识别方法,传统的自然语言处理方法并不能有效地从企业信息中识别企业行为,比如词袋模型3(Bag of Words,简称BOW),它是基于词频统计方法,所以表征文档也仅仅表征了文档中的词语频率,忽略了词语间的语义和位置关系;
第三, 企业行为一般是由一系列动词触发(如上图触发动词有合作、携手、联合等),由于人工标注动词需要结合动词的使用语境,所以人工对标记所有触发企业行为动词非常耗时耗力;
为了克服这些挑战,笔者利用浅层神经网络模型训练词向量,将企业行为刻画成可以计算的高维向量,只需要标记部分触发企业行为的种子数据,再利用已经标注的种子数据中的动词对未知动词进行同义词识别,从而形成企业行为触发器,再利用触发器和种子数据表征企业行为,从而对新文档进行企业行为识别。
2. 研究方法
2.1 企业定义
企业行为是指企业为了追求一定目标而进行的相关商业或社会活动。社交媒体中的企业行为是指企业利用社交媒体平台发布企业相关信息从而达到产品发布、销售、推广以及粉丝(客户)关系管理等目标的一系列行为。本文, **企业行为主要由动词刻画, **因此,本文主要是通过抽取文本中的动词对企业行为进行表征。
2.2 研究框架
- 研究方法的框架如下:
企业行为识别方法框架如上图表示,此框架分为两部分,右边是主要企业行为识别分类器,左边是待识别的新文档。
针对右边的企业行为识别分类器介绍如下:(1)对原始数据进行预处理;(2)用预处理后数据训练词表征;(3)从预处理后的数据中选择具有代表性的种子数据,并为种子数据打上企业行为标签;(4)将种子数据抽取动词序列,并基于词表征计算种子数据集中企业行为向量(5)根据企业行为对语料库中剩余动词进行相似度识别,从而行为企业行为触发器;(6)基于触发器形成企业行为向量进行企业行为识别。
针对左边的待识别的新文档,对于一篇新的文档,首先进行数据预处理,再抽取动词语序,然后用动词向量表征新的文档。最后根据已有的企业行为向量与新的文档向量进行相似度计算,取相似度的最大值所对应的企业行为,所以企业行为事件挖掘问题可以通过下图表示出来:
数据预处理
1.数据抓取,微博数据抓取的代码可以参考我的github项目 Weibo_Spider
2.数据清洗,使用Python3.5中Beautifulsoup1对数据集中html5标签进行解析,并利用Python编写程序,删除重复记录,最后得到可利用的文本数据。
3.分词处理,使用Jieba1对文本进行分词,jieba分词可以确定词性,也便于后续实验抽取动词序列
4.删除一字词和停用词,由于中文文本中经常包含大量无(一字词和停用词)的词,为了获得更好的实验效果,所以必须删除这些无意义的词
5.Word2vec 训练词向量, Word2vec是google 2013年提出的词表征工具,将语料库中所有文本分词、删除一字词和停用词之后将词序列放入Word2vec模型训练词向量,这样可以将词映射到高维向量中,词均能通过向量进行表征。
触发器识别
首先利用Word2ve训练的词向量表征人工标注的种子词,再对语料库中剩余的高频动词进行触发器识别,同义或经常共同出现的词他们的相似度会很高。
企业行为识别
首先对于一个微博文章用动词的平均向量进行表征,得到每一条微博的向量表征,再计算企业行为向量与微博中心向量的cosine相似度,如果最大的相似度大于阈值,那么该条微博的企业行为属于对应的最大相似度的企业行为。
3. 研究结果
-
数据
本次的实验数据来自微博网站1,数据对象是国内知名手机企业的官方微博账号(包括华为、小米、魅族、中兴、联想、酷派、OPPO、VIVO、HTC和TCL十家企业),下图展示了四家企业账号发布信息具体实例。
实例
下表是具体的每个企业的微博账号对应的微博数量以及从开微博起到2016年08月的时间间隔数据
微博名(ID:**********) | 微博总数(条) | 时间间隔 |
---|---|---|
联想(ID:2183473425) | 17690 | 2011/07/15 - 2016/08/07 |
酷派官方微博(ID: 1689575103) | 13485 | 2010/06/04 - 2016/08/05 |
中兴通讯(ID:1689575103) | 10372 | 2010/12/22 - 2016/08/10 |
vivo智能手机(ID:1809745371) | 10238 | 2010/09/03 - 2016/08/10 |
小米公司(ID:1771925961) | 7964 | 2011/02/28 - 2016/08/05 |
TCL通讯中国(ID:1807956030) | 7376 | 2011/01/01 - 2016/08/14 |
OPPO(ID:1710173801) | 6168 | 2010/03/22 - 2016/08/09 |
华为中国区(ID: 2557129567) | 6046 | 2012/02/10 - 2016/08/1 |
HTC官方微博(ID: 1890174912) | 5917 | 2010/11/28 - 2016/08/10 |
魅族科技(ID: 2683843043) | 3618 | 2014/02/17 - 2016/08/07 |
- 参数实验结果
- Word2vec 参数实验结果:
- 触发器参数实验结果
a. 高频动词影响结果:
b.相似度阈值以及触发器影响结果:
- 分类器参数实验
a. 分类器阈值实验结果:
- 分类预测效果
为了验证我们提出的企业行为识别模型的有效性,我们比较了其他四种方法,这四种方法分别是词袋(Bag of words,简称BOW),TFIDF(term frequency–inverse document frequency)+BOW、TFIDF加权以及LDA(Latent Dirichlet Allocation)。
对比他们的召回率、准确率和F_value得到如下结果:
从上图可以明显看出,我们的模型优于其他方法。
4. 总结
后续企业行为事件挖掘会从企业行为演化角度分析,从而研究每个企业不同企业行为的演化过程,包括某一企业的行为对比演化分析,每一个行为不同企业的对比分析。
如有疑问或想要更加详细了解也可以与本人联系:dengwenjun818@gmail.com
敬请期待,下一个系列吧。