本文详细介绍了一个调查语言不确定性与社交媒体参与度相关性的数据科学项目。作者使用 Python 流水线抓取并分析了 X 平台上的 16,695 条阿拉伯语推文,为社交媒体分析提供了可复现的框架。
🚀 引言
社交媒体平台每天都在产生海量的对话数据。对于研究人员和数据科学家而言,这些数据为研究“语言如何在大规模范围内塑造在线互动”提供了绝佳的途径。
我构建了一个基于 Python 的数据分析流水线,从 X(原 Twitter)上收集并分析了 16,695 条阿拉伯语推文,以此来检验“语言不确定性”等语言信号是否会影响人们对帖子的回应方式。
本文将带你走过该项目背后的技术流程:数据收集、预处理、语言分类以及统计分析。
🛠️ 技术栈
该项目使用了一个简单的 Python 数据科学技术栈:
- Apify
- Python 3.11
- pandas
- numpy
- statsmodels
📦 从 X 平台收集推文
第一步是构建一个与黎巴嫩相关的推文数据集。
推文收集使用了 Apify,这是一个自动化平台,提供了一个推文抓取 Actor(智能体/自动化组件),能够通过 X 的网页界面检索可公开访问的推文。
使用的搜索查询是:
(لبنان OR بيروت) lang:ar
[译者注]:该查询检索包含“黎巴嫩”或“贝鲁特”的阿拉伯语推文。
收集窗口涵盖了连续 35 天(2025年12月15日至2026年1月18日),这是一个政治和经济讨论非常活跃的时期。最初的抓取产生了 17,343 条推文。
🧹 清洗与准备数据集
在进行分析之前,数据集需要进行几个预处理步骤:
- 基于推文标识符删除了重复的推文。这一步剔除了 648 条重复数据,最终数据集中保留了 16,695 条推文。
- 保留回复(Replies)和引用推文(Quote tweets)
值得注意的是,回复占了数据集的很大一部分(6,872 条推文,占比 41.2%)。这非常有价值,因为回复提供了对话互动的洞察,而不仅仅是消极的点赞。
📊 衡量参与度
为了衡量受众的反应,参与度被定义为以下指标的总和:
这个综合指标捕捉了用户与推文的整体互动。然而,社交媒体的参与度分布是极度倾斜的(长尾分布):极少数帖子获得了极高的参与度,而大多数帖子则几乎无人问津。
为了稳定数据分布,回归模型使用了以下对数转换:
log(1 + Total Engagement)
这是计算社会科学中对参与度数据进行建模的常用方法。
🔍 在阿拉伯语推文中检测语言不确定性
下一步是识别那些表达了“语言不确定性”的推文。
我没有训练一个复杂的机器学习模型,而是使用阿拉伯语不确定性词典构建了一个基于规则的分类器。该分类器包含 60 个不确定性标记,分为六个语言类别,例如:
- 情态表达:يمكن (may), ربما (perhaps), قد (might)
- 模糊表达:أظن (I think), يبدو (it seems)
- 疑问标记
- 显式不确定性:غير متأكد (not sure), ما بعرف (I don’t know)
- 谣言指标:يقال (it is said), إشاعة (rumor)
包含至少一个不确定性标记的推文会被分类为“不确定”。使用这种方法,有 4,997 条推文 (29.9%) 被分类为不确定。
🧠 处理阿拉伯语文本的上下文
处理阿拉伯语文本的一个挑战是常见词的歧义。例如,单词 من 可以表示“谁”或者“来自”。
为了减少假阳性,分类器包含了上下文敏感的规则。例如,这个词只有在出现在疑问上下文中时才被计算,而不是作为介词。这些规则在不需要完整的机器学习模型的情况下,显著提高了分类质量。
验证分类器
为了评估分类器,我进行了一步手动验证。由一位母语为黎巴嫩阿拉伯语的人对 200 条推文的抽样进行了注释。
分类器达到了:
- 准确率 (Accuracy)
- F1 分数
- Cohen’s κ
虽然模型倾向于过度预测不确定性(产生了一些假阳性),但对于大规模的观察性分析而言,这个基于规则的分类器表现得相当称职。
📈 使用回归模型建模参与度
为了测试语言不确定性是否与参与度相关,我评估了一个回归模型。该模型使用语言不确定性、推文长度、URL 的存在以及帐户验证状态来预测对数转换后的参与度。
因为同一个帐户可能会发布多条推文,所以标准误差在作者层面进行了聚类。所有分析都是使用 Python 生态库(pandas, numpy, scipy, statsmodels)完成的。
稳健性检查
社交媒体的参与度数据通常表现出过度离散(方差超过均值)。为了确保结果不依赖于特定的回归设定,我还评估了预测原始参与度计数的负二项回归模型。模型产生了一致的结果,表明研究发现是稳健的。
💡 分析揭示了什么?
流水线完成后,数据集揭示了一个清晰的模式:包含不确定性标记的推文显示出显著更高的参与度!
平均而言:
整体参与度对于“不确定”推文高出 51.5%。即使在控制了推文长度、链接和验证状态之后,不确定性仍然与大约 25% 的预期参与度增长相关。最强烈的差异出现在回复中,表明不确定性更能鼓励对话互动。
🎓 经验教训与最终思考
该项目突出了几个分析社交媒体数据的实用要点:
- 语言信号可以通过计算进行建模:像模糊或猜测这样的定性语言特征可以使用基于词典的方法进行操作。
- 参与度类型很重要:点赞、转推和回复代表了不同形式的互动。将参与度作为一个单一的聚合指标可能会掩盖重要的模式。
- 词典方法仍然有用:虽然机器学习模型主导了现代 NLP,但对于具有可解释语言类别的特定任务,基于规则的方法仍然表现良好。
通过结合数据抓取、基于规则的 NLP 技术和统计建模,定性的语言特征可以转化为大规模分析的可测量变量。
笔者锐评
在大模型横行、人人都在谈论 Agent(智能体)和 RAG 的今天,这位作者回归到了“基于规则的词典匹配+统计回归模型”这种看似“老派”的做法。但它恰恰证明了一点:在明确的垂直业务场景下,杀鸡焉用牛刀。可解释性强、不需要昂贵的 GPU 算力、运行速度快,基于 Python 生态和规则分类器依然能又快又好地完成高质量的数据挖掘。国内很多企业在做数据分析时往往容易陷入“唯 AI 论”的误区,其实有时候,一个扎实的 Python 数据流水线和对业务数据的深刻理解,远比套用一个黑盒大模型来得实在。
求点赞 👍 求关注 ❤️ 求收藏 ⭐️你的支持是我更新的最大动力!