计算社会初探
“计算社会科学”的学科概念已提出四年多,但国内信息科学界的很多学者认为计算社会科学基本等同于社会计算,或者干脆将计算社会科学看作社会计算的一部分,我认为为计算社会科学与社会计算之间确有交叉,但两者同时也有不同的侧重面向。社会计算关注的重点有两个:
计算社会科学关注的重点主要是使用信息存储、分析技术研究社会科学领域中的各种问题,发现社会运行规律。 计算社会在发现社会规律过程中的处理流程如下:
数据计算社会科学以计算机等现代计算科学技术工具获取和分析海量社会化数据,数据形式主要包括文本 、图像 、视频和音频等,其大部分来源于Web网络信息,还有一部分来源于传感设备。 例如: 在R软件中有很多包可以方便爬取,比如RCurl拿网页,xmlParse对标准XML文件解析,XPath匹配想要的内容,如抓取财经数据http://vip.stock.finance.sina.com.cn/q/go.php/vIR_CustomSearch/index.phtml 这里很容易能够拿到表格里的内容: 实例分析计算社会科学领域研究者眼中的社会网络分析对象,主要包括对虚拟社会网络下的人物节点分析 、社群挖掘和社会图关系分析。 人物节点个体网络行为分析市根据具体网络行为来分析人物个体,比如2015年首届天池大数据大赛的题目“阿里移动推荐算法”。 社群挖掘社群挖掘是社会网络分析的另一研究重点,社群通常由性质相似或功能相近的人物节点构成,在一定程度上反映了个体自发、无序行为背后的局部弱规则性和全局有序性口因此,发现虚拟网络中有意义的 、相对稳定的社群对网络信息的搜索与挖掘 、信息的推荐以及网络演化与扩散的预测具有重要价值 。 社交网络图分析/计算如上社交网络图在计算机存储的方式使用传统的关系型数据库的话会产生性能问题。比如要查询Richard指向谁,直接通过索引查询就可以找到其他人;但要查找谁指向Richard,就会引发数据库的全表扫描。但从图中明显只要判别下入度就可以了。 Neo4J 简单分析图数据库,有几个特点:
GraphX GraphX是 Spark中用于图(e.g.,Web-Graphs and Social Networks)和图并行计算(e.g.,PageRank and Collaborative Filtering)的API,可以认为是GraphLab(图像处理模型的开源图计算框架)和Pregel(google图算法引擎)在Spark(Scala)上的重写及优化,跟其他分布式图计算框架相比,GraphX最大的贡献是,在Spark之上提供一栈式数据解决方案,可以方便且高效地完成图计算的一整套流水作业。GraphX最先是伯克利AMPLAB的一个分布式图计算框架项目,后来整合到Spark中成为一个核心组件。 其中GraphLab是图算法库,图中使用的是PageRank算法,可以参见: PageRank可以被用来挖掘意见领袖,除此之外,目前GraphLab最新版本已支持 社会建模社会建模技术由信息科学家和数学家提出并发展完善起来,是指对社会空间中个体或群体的心理和行为交互模式人际关系、社群结构等复杂社 会性问题,进行抽象描述并建立仿真模型。通 过仿真模型,研究者可以模拟社会演化进程、社会现象 的发展 、人类社会行为及其变化过程,可进 一 步结合实验分析或为现实提供决策支持。 目前,在社会科学领域应用最广泛的仿真模型是基于智能主体的社会仿真模型(agent—based models,ABMs),ABMs模型可以很好地模拟信息传 播 、社会规范的出现、集群行为等人类现象。 基于ABMs模 型,研究人员发展出在计算机上建立“人工社会 (artificialsociety)”的构想 。人类社会是由大量真实社会个体构成的复杂系统,人工社会则是在计算机上模拟出的由大量虚拟社会个体模 型构成的复杂系统。其研究思路是在计算机中建立多个Agent模型,对不同特性的Agent设定不同的运行规则,让这些Agent相互作用并遵循一定规则运行,最后通过观察大量Agent相互作用的涌现属性,找到人工社会的规律,并用这些规律理解和解释现实人类社会中的宏观现象。 每个Agent都有简单的规则,这里拿鸟群飞行模拟为例:一个鸟群各个体初始位置杂乱无章,但每个个体都有如下三个规则:
初始位置和500次迭代后的位置如图: 初始的混沌状态按照几个简单的规则就能让整个系统处于稳定状态2,通过这个模型对系统的影响,可以判别规则的合理性和可行性。 复杂人类社会模型目前还不存在,有的只是对单一现象的研究模型,这里推荐一款游戏《模拟城市》,虽然是利用已知规律来建模,但其设计思想和画面风格很适合将来投身于社会建模的人群。
(编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |