基于Python 数据获取与词频分析的社会学应用研究
2020-08-12黄泽锐张泽庆
黄泽锐,张泽庆
(山西师范大学社会学与法学学院,山西 临汾041000)
很长一段时间以来,中国实行的是高中文理分科制度。但是随着社会的发展,学科逐渐专业化,人们面对的问题却似乎越来越复杂,计量经济、社会统计分析、数据可视化等领域对知识能力的要求完全不在“文理”这样的框架之内。事实上,问题不仅仅能靠一个领域的知识解决。《自杀论》这样的社会学著作非常经典,但是最让人佩服的却是优美的数理逻辑与超凡的社会学洞见完美的结合。现代社会,随着机器学习和人工智能领域的兴起,Python 也逐渐流行起来。在社会学研究中,学习和运用Python 可以为研究过程提供更加便利的数据获取与处理途径。
1 研究设计
本次新冠疫情不仅给中国人民带来严重的公共卫生危机,也深刻影响了社会各行各业的正常运行。教育部发布公告,2020 年全国普通高等学校统一招生考试延期1 个月举行。高考时间的推迟,不仅直接影响着考生的心态,对家长、教师也是一次严峻的考验。随着互联网的发展,微博逐渐成为当代政治舆情发布的重要平台[1]。因此,本文选取微博用户作为研究对象和数据来源,其具有样本代表性,且可以获取大量样本数据。
本文运用Python 语言的爬虫技术对目标微博用户的公开评论进行数据获取、分词处理和词频分析。以符号互动视角为指导,对获取的高频词进行分类整理与词意编码,分析这些高频词条符号背后的意义与价值,进而探究高考延期对微博用户的影响。
2 数据获得
本文数据来源于“央视新闻”微博,运用Python 获取微博用户公开的性别数据及评论数据31 849 条,并对所获数据进行词频分析,选取频率最高的400 个词条进行整理与编码,最终形成了考试相关因素、看法与态度两个三级编码,如表1 所示。
表1 高考延期评论的高频词条编码表
本研究基于Python3.8,程序设计流程如图1 所示。程序设计分为2 部分,第一部分为获取微博评论数据的爬虫设计,第二部分为分词与词频统计设计。
2.1 Python 爬虫设计
网络爬虫(Web crawler),又称为网页蜘蛛、网络机器人,是按照一定规则自动获取网络信息的程序。微博客户端的访问分为电脑端(PC)和手机端(Phone)两种链接模式,用if 语句对两种链接分类获取。而微博对未登录用户采取限制翻页措施,因此,需要用个人微博账号进行模拟登录,并设定需要的评论页数m(20 条/页),当m=max_page 时,输出得到的data 文件并存为txt 格式。
2.2 Python 分词和词频统计设计
使用Python 实现中文分词功能,需要加载jieba 模块。本文结合“百度停用词表”“哈工大停用词表”对模块自带的停用词表进行扩充,以获取更精确、更有意义的高频词条。随后,加载爬虫得到的data.txt 数据库进行词频统计并输出为data_gp.txt,根据词义进行分类整理。
图1 程序设计流程
3 数据处理与分析
本文在央视新闻微博评论区共获取女性用户数据25 219 条,占比79.2%;男性用户数据6 630 条,占比20.8%。女性用户比例显著高于男性用户比例。
3.1 考试相关因素
在高考延期的微博评论中,高考相关群体的高频词出现6 463 次,占总高频词的13.06%。其中,微博用户对高三考生表现出很高的关注度,且弟弟、妹妹、学妹、学弟、孩子等称呼使用较多,其次是同学和教师。有趣的是,前400 个高频词中的称呼语中,可以看到学姐称呼,却看不到学长称呼的出现。
相关考试与学期工作安排的高频词在微博评论中出现1 0131 次,大约占总高频词的1/5。微博用户对于中考、考研等考试也有较多关注,并且对学期的工作安排也有讨论。
数字和时间是比较有意思的一个点,词条共出现3 749次,占比7.58%。虽然占比相对较低,但是可以反映出一些有趣的变化。较多出现的数字是围绕本次高考推迟1 个月以及高考倒计时的讨论,而“778”“678”“2003”等数字有2 层意义:2003 年因为SARS 将高考从07-07、07-08 提前到06-07、06-08,一直延续至今;“678”有“录取吧”的谐音,预示着一个好兆头,而2020 年的“778”普普通通,少了一丝灵气。
3.2 看法与态度
微博网友对于高考延期发表自己看法的高频词达16 255 次,占总高频词的32.86%,“见证历史”词条的出现更是多达10 026 次,同样意义的词还有历史性、载入史册等。余下的高频词中,对高考延期的看法大多用使用描述震惊的词条,其中卧槽和woc 都是网络用语,表示惊叹的常用语;活久见是指“活得时间久什么事都可能见到”的意思;牛批指的是牛皮,表惊叹意;OMG 是oh my god 的缩写,意为我的天呐,网友常用于表示震惊的情境。还有一个符号值得关注,是“....”,这个不规范的省略号也是网络常用符号,有两种意义,一是震惊到说不出话来,二是表示无语、无奈的意思。
微博用户对此次高考延期表达自己积极态度的高频词有10 479 次,占总高频词的21.18%,“加油”词条出现6 957次,加油一词不仅可以给他人鼓舞,也可以对自己打气,表达同样意义的有努力、冲冲冲、奥利给、冲刺、奋斗等。其中,“奥利给”是网络用语,表达加油的意思。
还有一些微博用户对于高考延期表达了自己的消极态度,高频词出现2 395 次,占总高频词的4.84%。消极态度词条都表达出一些高考学子内心的痛苦,复习战线的拉长,增加了一些微博用户内心的压力;另一方面,太热、最热等词条是考生认为高考推迟到七月,酷暑炎热可能会对其的状态产生一定影响的表达。
4 总结
Python 获取数据与词频分析在社会学的研究中可以很好地应用,并且应该继续拓展其作用。Python 现已成为数据科学和智能科学等领域最流行的编程语言之一,但是在社会科学领域的使用较少。本文尝试将Python 语言及其模块应用于社会学研究中,对大量微博用户的评论数据进行获取和词频分析,运用符号互动视角对数据进行语义编码研究,可以得出以下结论。
4.1 微博女性用户对高考延期的关注度更高
从数据中可以看出,微博用户中的女性群体对于高考延期有着更多的评论以及更高的关注度。微博使媒体的传授结构有了改变,有利于女性在媒介中的充分表达[2]。微博具有使用人群广、传播速度快、易运用操作等特性,使用微博的女性用户逐渐颠覆传统媒体中女性的非自主性特质,成为发布微博、发表评论、表达看法的主要力量。从前400 个高频词中只有学姐称呼却没有学长称呼也可以看出,关注高考推迟的微博用户中,女性用户的数量占据绝对的主导地位。
4.2 微博用户对高考延期的看法和态度总体是积极向上的
由于新冠疫情在全球范围内还未得到控制,中国当前防控工作的中心已逐步转向严防境外输入。所以本次高考延期到七月举行,绝大多数的用户是表示理解和支持的。虽然有些微博用户对天气炎热可能导致考生发挥失常而抱有一丝顾虑,有些微博用户对备考战线的拉长心理压力倍增,但是微博用户的总体态度还是积极豁达、乐观向上的。
4.3 微博评论的高频词有许多新兴的网络用语
网络平台和监督机构需要合理引导网络用语的使用。互联网空间已逐渐成为人们分享生活、获取信息、表达情感的场所,随之而来的网络用语更是以其娱乐化、戏谑化的风格解构着社会传统话语体系[3]。微博用户对高考延期的看法和态度使用了一些新兴的网络用语,例如活久见(活的时间久什么事都可能见到)、奥利给(加油)等。这些用语在互联网平台中广泛使用,形成一种不仅流行于网络,也逐渐流行和影响现实的社会现象。因此,网络平台和网络监管机构需要健全监督机制,正确引导和使用网络用语,这对净化网络空间,优化传播媒体有着重要的作用。