本文是对泰迪杯的官网上的优秀作品的思路摘抄和总结,夹杂一些博主自己的想法。 官网地址:http://www.tipdm.org/bdrace/tzjingsai/
题目: 近年来,网络舆情对政治生活秩序和社会稳定的影响与日俱增。同时,网络舆情突发事件如果处理不当,极有可能诱发民众的不良情绪,引发群众的违规和过激行为,进而对社会稳定形成严重威胁。 附件二_网络舆情数据.zip为通过网络爬虫工具从某社区采集的网络舆情信息,请基于关联度分析法,从资源集合中找出与用户信息.xls中存在关联的用户,并进行关联度排序。 提示: 1.本题意在通过研究,实现通过网络爬虫工具从某些社区采集的网络舆情信息与指定的用户进行关联度分析。由于用户的姓名、住址、身份证号、电话号码、QQ号码、E-mail、MSN等信息与用户存在着不同程度的关联,舆情资源集合中这些信息的出现模式,也间接的反映了资源与用户的关联。 2.研究过程(仅作参考): (1)设置不同的权重,表征用户与其姓名、住址、身份证号、电话号码、QQ号码、E-mail、MSN等信息的关联规则; (2)将用户的姓名、住址、身份证号、电话号码、QQ号码、E-mail、MSN等信息定义为关键字; (3)对舆情资源进行中文分词; (4)进行词频统计; (5)用户与舆情资源的关联度分析。
思路一 采用中文分词技术,通过计算人物属性(姓名,性别,住址)和每个事件中相对应的分词结果中相同的字数,得出用户和事件之间的关联度,通过 clementine软件,得出用户和用户的关联度。从而可以知道一个事件背后,这个人有多大关系,同时还能看出,这个人和其他人是否有关系。从而在一件事中,找出幕后操纵者和同伙。
整篇文章分为三步: 步骤一:数据预处理 重复值处理: 同样的事件可能会出现很多次,而经过访问,这些事件大多是抓取时间不同,代表了网站有更新。该事件的频率可以作为一个热度进行考虑,但在本次挖掘中,我们是研究用户与用户之间的关系,一个事件可能关系着几个用户,那么如果本事件重复出现,就会使这 2 个用户的关联更大,影响着最后结果的正确性。因此把重复事件全都去掉,只保留第一次出现的事件,同时提取了重复事件频率。 属性转换与处理: 1)在用户表中,有身份证一列,而在 html 文件中,几乎没出现过身份证号,为了能充分体现着一项数据,因此可以把身份证转换:性别,出生年月日,发证地。 2)在分值后,由于分词软件的词库是有限大的,因此有些词语是识别不了。因此,对于这些分词异常的词语,要进行人工处理,修正。 3)为了找出用户与用户之间的关系,需要事件连将用户连接起来。因此,各事件中找出具有用户任一属性(例如:姓名,住址,关键字)的事件,然后转化成“用户-事件-用户”这样结构的一张表。 步骤二:建模和诊断
因为编号以 1031 开头的事件均为新闻,有效属性值太少,故主要研究编号以1083开头的事件。
用户个人信息数据的获取 一些招聘以及买卖场合,贴主会公布个人信息,如手机,QQ,性别等,且含个人信息的网址主要是西祠胡同(www.xici.net)。故特通过replace pioneer 文本处理软件,按照合适的正则表达式来提取含贴主个人信息的事件。并将提取得到的QQ手机性别等信息作为与该事件相关的重要属性。
缺失的居住地的属性的获取 1) 网络舆情数据集 新闻网站占了多数,从而造成大量与事件有关的居住地的缺失。地方网站能很好的代表了贴主的住址地或者相关的地址(如西子论坛(bbs.xizi.com))。为了跟用户表的属性相对应,我们将此作为贴主最可能的居住地。虽然对于新闻来说,事件标题所含的地址不一定能代表贴主的居住地,但仍以最大匹配为原则,根据事件标题分词得到地点对缺失值进行补充。 2) 用户信息数据集 对于用户表中的居住地,我们要比较身份证上的信息和表中原有居住的信息。如果二者相同,那么不做修改;如果二者不同,对该居住地进行扩充,得到身份证地址-居住地地址。
用户和事件匹配模型 QQ、手机、MSN 等属性具有唯一性,故先对这些属性与用户的 QQ,手机,MSN 进行查找。 1)找不到用户跟 html中的 QQ、MSN、手机有相同的,因此把用户的姓名,地址,性别(其中姓名是由 2 部分组成:html 中提取的作者、爆料人 、标题分词后的人名;性别由 html 中提取的性别,所以有大量缺失值;地址由两部分组成:原来的地址加身份证地址)作为用户的 3 个主要属性,通过这 3 个属性,去比较每个事件。分别得到各属性的相同字数,组成一个 3 维向量。 举例:如事件 10834508-再曝萍乡巨贪姚波无法无天。因其对应的是新闻网,且相应的 html 没有性别,住址等信息,则根据标题分词得到姚波、江西萍乡,而每个用户的向量是根据每个属性所含的字数多少进行设置,如王林,男,江西萍乡,则对应向量为(2,1,4),则上述两个向量的关联向量是根据对应属性字数相同来得到,为(0,0,4),再通过(2,1,4)和(0,0,4)求欧式距离得到一个距离,如此,可以得到每个事件跟每个用户的欧氏距离,描绘每个人对编号的散点图,找到距离最短的点,作为他的近似匹配事件。 总结:实际上就是因为找不到匹配的事件,所以退而求其次再求其次,找个字数差不多的事件作为近似事件。 但是博主觉得这个方法有一些小问题。首先,对于性别这一栏,男、女是两个对立的概念,但是他们字数相等。而雌雄同体与男、女这两种性别占的字数相差很远,但是在意思上,男与雌雄同体的差别和男与女的差别要小一些(毕竟雌雄同体也有雄的一面啊)。当然如果分词效果不理想,将会更糟。”美丽可爱的博主、女博主、啊吧啊吧啊吧啊“这三个词,用脚趾头都知道前两个词含义更近,但是悲催的是:在字数上,后两个更近。就是因为分词系统没有把“美丽可爱的博主“分成”美丽可爱“、”的“、”博主“。但是我理解作者,短短时间内做成这样已经非常不容易了,而且我说的很简单,但是真正要去实现,是很困难的。写这些只是给读者看看。
陷阱 发现某些用户对所有事件的距离始终保持很小,因为该用户的自身向量长度比较小。那么会造成一个问题:就算这个用户与事件没有关联,求得的欧式距离仍比较小。为消除量纲的影响,我们将距离标准化。对每个用户取出距离最短的 5 个事件,然后通过Clementine 软件求出结果。
用户和用户之间的关联度 将用户和事件匹配模型中的结果排序。取出每个人距离最短的事件。从而通过事件连接 2 个用户,找出用户之间的关系。
步骤三:模型优化 模型优点 1、利用 clementine 软件,过程容易操作,而且结果直观。 2、结果可靠,运用置信度,提升度分析。 模型缺点 1、鉴于 clementine 的输入结构局限性,模型中,性别,姓名,地名设置了同样的权重,所以匹配的数量会非常多,实际上,如果设置好各项的权重,那么区分细度会更大。 2、很容易发现,几乎每个人之间都会有直接或间接联系,当匹配数取相对较小时,所有人都成为了一个集体。这里博主就要装逼了:著名的“邓巴数”表明人的大脑所提供的认知能力只能使一个人与大约150人维持稳定的人际关系。所以数字设多大,大家都懂的。博主将关于“邓巴数”的理论补充在最后,有兴趣大家就看看。 模型改进 1、以上分析只知道用户与某个事件是否有关联,并不知道用户与各个事件的关联度排序。 2、改进模型缺点中的那两个。
结果分析 1)下图的结果就是满足设置条件,并且按照置信度从大到小排序的。
由于数据集中 0 居多,即该事务级较稀疏,因此支持度较不可信,所以本文主要从置信度和提升度两方面来分析。由于提升度一般都是大于 1 才有效,因此设置了筛选条件为:提升度>1。另外,还设置了置信度>20%。 从图中可以看到各个用户之间的关联,其中,多个用户与余晓明都有关联。再结合附件二中的用户信息表内容,发现余晓明这一用户的多个属性都与其他用户有相同之处。这说明此次关联是合理的,是和用户信息表紧密联系的。 2)模型改进1处的解决方案 因为表格之间的数值难以直接体现事件与用户之间的距离差,但因数据量过大,只选取用户和事件的距离进行进一步分析。在分析前,先消除量纲。使用SAS画出相应的散点图或雷达图作为数据可视化的方法。 在文章中,这里作者写的较为简略。博主觉得应该先根据事件的分词结果,对事件做个聚类,对于每一个类的事件,计算用户和事件的关联度。当然最简单的想法就是取平均值了。最后根据相关度排序即可并作图。
关于“邓巴数” 邓巴提出过”社会脑假说”。这一假说表明,与其他动物相比,灵长类动物似乎选择了一种独特的进化策略:呆在一个相对稳定的种群中彼此协助。在这种共同生活的过程中,灵长类个体需要在种群中彼此建立某种长期的“社会关系”。则负责处理复杂抽象思维的新大脑皮层在整个大脑中所占的比例就越大,能够处理的人际关系就越稳定,平均数也就越多。 对于人类的种群大小,邓巴的估计是148(150左右),这就是著名的“邓巴数”。邓巴此前的研究表明,一个人的新皮层的大小是有限的,它所提供的认知能力只能使一个人与大约150人维持稳定的人际关系。也就是说,人们的朋友圈不会超过150个。对于超过这个数字的人,人们最多只能记住一些人的面孔和名字,但他们对彼此的了解极其有限,无法通过自己的努力促进双方的关系。而一家社交网站统计了用户的平均好友数——猜猜有多少?,上下130个,仍然非常接近邓巴的数量。 我们现在全体起立,为海王们探索大脑皮层,挑战人类极限的行为鼓掌。