《Python 文本挖掘初探:社交媒体眼中的“外籍劳工”形象是怎样的?》
作为一名关注全球化与城市研究的css的学生,我常在香港的中环通过天桥见到周日聚会的外籍家庭佣工。她们是这座“全球城市”不可或缺的血液,但在本地的舆论场中,她们究竟是被视为“家庭的一份子”,还是仅仅是“劳动力”?
带着这个社会学疑问,我决定利用 Python 的文本挖掘技术,对自己采集的社交媒体评论进行一次“微观体检”。本文将介绍如何使用 Jieba(分词)、WordCloud(词云) 和 SnowNLP(情感分析) 来解构关于外籍劳工的文本数据。
1. 为什么选择计算方法?(Why Computational?)
传统的社会科学研究往往依赖访谈或问卷,这能提供深度的个案细节。但在大数据时代,面对成千上万条网络评论,我们需要一种能快速捕捉“总体舆论图景”的工具。
计算社会科学(CSS)为我们提供了两把利器:
-
词云 (Word Cloud):帮我们看见“显性议题”(大家都在讨论什么?)。
-
情感分析 (Sentiment Analysis):帮我们看见“隐性情绪”(大家是支持还是排斥?)。
本篇博客将作为我的入门级(Introductory)技术尝试,带大家跑通这一流程。
2. 工具箱准备
我们需要用到以下 Python 库:
下一步计划: 为了解决“语境缺失”的问题,我的下一篇 进阶博客 将尝试使用 LDA 主题模型 (Latent Dirichlet Allocation) ,去挖掘文本背后更深层的叙事结构,看看媒体是如何构建“外籍劳工”的立体形象的。
-
Jieba: 也就是“结巴”分词。中文句子不像英文有空格,计算机看不懂“我爱香港”,需要切分成“我/爱/香港”。
-
WordCloud: 将高频词汇可视化。
-
SnowNLP: 专门针对中文的情感分析库,能给句子打分(0-1分)。
# 在 Jupyter Notebook 中安装 !pip install jieba wordcloud matplotlib snownlp3. 实战演练
第一步:数据准备与预处理
为了演示,我选取了一组模拟的关于香港外籍家政工(FDWs)的网络评论数据(包含支持、抱怨、政策讨论等)。
-
import jieba import matplotlib.pyplot as plt from wordcloud import WordCloud # 模拟数据集(在实际研究中,这里通常是读取爬虫抓取的 txt/csv 文件) text_data = """ 香港的外籍家庭佣工是这座城市不可或缺的一部分。非常感谢她们照顾老人和孩子。 然而,外佣在假期时常常面临空间不足的问题,中环和维多利亚公园变得非常拥挤。 虽然她们为香港经济做出了巨大贡献,但有时也会遭遇雇主的苛待和社会排斥。 政府的政策应当更好地保障外籍劳工的权益,包括最低工资和居住环境。 有些外佣的工作态度很差,不仅偷懒还借钱不还,让人很头疼。 周日到处都是人,阻街而且非常吵闹,影响市容。 这是一个关乎全球公平的问题,我们需要反思全球照护链背后的剥削。 离乡背井来工作真的不容易,值得尊重。 """ # 文本清洗:去除无意义的停用词(Stopwords) # 我们不希望词云里出现大量的“的”、“了”、“是” stopwords = {'的', '了', '是', '在', '和', '更', '但', '也', '这', '为', '与', '很', '人'} print("数据准备就绪。") -

-
第二步:中文分词与词云生成
这是最直观的一步。我们看看计算机“读”出了什么核心词。
-
# 1. 使用 Jieba 进行分词 # cut_all=False 开启精确模式 seg_list = jieba.cut(text_data, cut_all=False) text_split = " ".join(seg_list) # 2. 设置词云参数 # 【关键点】Windows 需指定 simhei.ttf,Mac 需指定 PingFang.ttc,否则中文会显示乱码 font_path = 'C:/Windows/Fonts/simhei.ttf' # 请根据你的系统修改路径 wc = WordCloud( font_path=font_path, background_color="white", width=1000, height=600, stopwords=stopwords, collocations=False # 避免重复词语 ) # 3. 生成并显示 wc.generate(text_split) plt.figure(figsize=(10, 6)) plt.imshow(wc, interpolation='bilinear') plt.axis("off") plt.title("Keyword Analysis of FDW Discourse", fontsize=15) plt.show()
-
📊 结果解读: 生成的词云图中,我们可能会看到**“权益”、“空间”、“拥挤”、“贡献”**占据显著位置。这印证了 Henri Lefebvre 的“空间生产”理论——外籍劳工议题的核心矛盾,往往集中在城市公共空间的使用权与经济贡献之间的张力。
-
4. 技术反思与总结 (Reflection)
通过这不到 50 行代码,我们完成了从文本到洞察的转化。但作为研究者,我们也需要保持 Technical Imagination(技术想象力) 的审慎:
-
算法偏见:
SnowNLP是基于电商评论训练的,它可能将“拥挤”理解为负面,但在城市研究中,“拥挤”也可能代表活力。直接套用商业模型分析社会议题需要小心。 -
语境缺失:词云切断了词与词的联系(Context)。“不/喜欢”和“不喜欢”在简单的词袋模型中可能被误读。
更多推荐


所有评论(0)