新型社会计算系统的研制与开发是推动计算社会学从理论到实践的重要步骤,需要综合运用网络技术、通信技术、计算机以及人工智能技术,根据数据获取特点与业务逻辑要求,开发出可复用、动态交互性强的基础工具或典型系统。由于计算社会学涉及的数据对象多样,且任务需求差异巨大,所以计算社会学的工具也多种多样。早期社会计算工具研发具有极强的基础性和工具性,基于领域的典型业务逻辑,开发具有基础性的业务接口,方便其他研究人员的后续研究工作。例如,在网络分析方面,UCINET软件 [60] 是由加州大学团队开发的一款社交网络分析软件。它提供了大量典型的网络分析算法接口,包括探测凝聚子群和区域、中心性分析、网络分析等网络分析程序。同时,UCINET也包含了众多基于过程的分析程序,如聚类分析、奇异值分解、因子分析、角色和地位分析(结构、角色和正则对等性)和拟合中心-边缘模型。此外,UCINET能够实现对网络拓扑结构的可视化呈现。其他常用的社交网络分析工具还包括Gephi [61] 和Cytoscape [62] 等。这些软件工具实现对业务逻辑的高度抽象,通过交互式的访问接口,方便科研工作者对复杂网络拓扑的分析和可视化展示;同时项目工具实现开源共享,借助于社区的力量,不断推动工具的优化和改进。在自然语言处理方面,LIWC(Linguistic Inquiry and Word Count)是由Pennebarker等人于1990年开发的用于文本计量分析工具。LIWC对约4500个字词进行标注,共计拥有80种字词类别,包括32种心理特征类别、7种个性类别、22种语言功能类别等。因此LIWC在社会学研究中常常被用作一个测量语言心理特征的工具。例如哈佛大学的科研人员使用LIWC分析诊疗记录中的语言特征,并建立聚类模型对心理疾病患者症状的严重程度进行估计 [63] 。结果表明,单纯的基于用户的语言表达特征可以精准且高效地发现潜在的心理疾病患者。近年来,大量开源人工智能计算平台的成熟(见图0-13),例如TensorFlow、Deeplearning4j、Keras、百度飞桨、Caffe、PyTorch等,极大地降低了智能算法的使用门槛,是社会学研究的重大机遇和核心推动力,使得社会学研究者不用被智能算法所束缚,而是通过“可插拔式”的模块调用,实现海量数据的处理,从而能够更多地关注问题本身。
在系统研发方面,大量新型社会计算系统层出不穷,为领域的动态监控和智能决策提供了核心能力支撑。例如,在公共健康方面,社交网络已经成为大众获取信息和共享信息的重要平台,能够为公共健康研究提供更加有效和实时的疫情传播监控,保证了卫生部门应对疫情的及时性。针对疾病监控,Google Flu [64] 平台通过分析搜索引擎中关键词的时间变化趋势,如通过跟踪与流感相关的症状关键词,对流感的暴发和传播趋势进行预测。
国内在相关领域也研发了大量工具和系统性平台。其中,中国科学院计算技术研究所研发的NLPIR大数据语义智能分析平台融合了自然语言理解、文本挖掘和网络搜索技术等13项功能,能够支持多语种的自然语言处理任务,包括分词、词性标注、命名实体识别、情感分析等。哈尔滨工业大学社会计算与信息检索研究中心开发了一整套中文语言处理系统LTP(Language Technology Platform)。LTP提供了丰富且高效的中文语言处理模块(包括词法、句法、语义等6项中文处理核心技术),支持本地和分布式部署,为高效的文本语料分析提供了基础。西北工业大学群智计算团队研制了一个群智感知开源群平台CrowdOS(https://www.crowdos.cn/)如图0-14所示。CrowdOS采用众包的思想,通过对典型感知任务的抽象建模能力,将感知任务分为任务建模、任务分发、数据评估和优选等基本流程,通过群体的竞争和协作实现数据的分布式采集。该平台具有良好的扩展性,支持二次开发能力,能够为社会学研究中的数据采集提供良好的工具平台。
图0-13 开源人工智能计算平台
图0-14 CrowdOS系统平台接口