数据集

微博社会语言学语料库

2026 July 15

maikurokosmos_socioling_weibo_dataset 是一个中文微博(Weibo)话语语料库,从每日热搜话题中采样,并为社会语言学研究做了标注。它被设计成持续增长的:大多数日子会新增一个热搜话题,而且会刻意在不同领域之间轮换选题,因此语料库会不断累积覆盖不同主题、不同语域、不同社群的博文,并特别关注饭圈语言与网络社群黑话

在 Hugging Face 查看数据集 ↗

1. 数据集基本信息

  • 来源:微博公开博文,按每日热搜话题(话题 / 热搜)采样。
  • 节奏:大约每天一个新话题,每次采集约 200 条热门博文,语料库持续增长。
  • 规模:目前 1000+ 条,并在增加。
  • 语言:中文(普通话;包含网络用语、饭圈黑话与中英夹杂)。
  • 分析单位:一行 = 一条微博博文。
  • 模型:背景提取与打标目前使用 Qwen3.7-Max(撰写时的最新版本);模型如有更新会在此说明。
  • 标注:两层,AI 生成的初标,加上人工复核的抽样子集(见复核层)。
  • 格式:Hugging Face 上为 CSV(自动转换为 Parquet);单一 train 划分。
  • 许可:CC BY-NC 4.0,仅供非商业学术研究使用(见许可与署名)。

2. 语料库是怎么构建的

每天的一批数据都走同一条流水线:

  1. 选话题。 挑选一个有一定体量 / 热度的微博热搜话题,并尽量让每天的选题落在与近期不同的领域。
  2. 采集博文。 在该话题下抓取约 200 条热门博文
  3. 梳理话题背景(AI 第一遍)。 由模型(目前为 Qwen3.7-Max)阅读该话题,产出一份背景简报:事件是什么,以及涉及的关键实体与术语清单。这一步很关键,因为微博话语如果不知道在说谁、说什么,往往根本读不懂。
  4. 给博文打标(AI 第二遍)。 同一模型第二遍结合上述背景简报,为每条博文分配标注标签。
  5. 人工复核。 每天会抽取一个最多 50 条的样本,抽取方式是部分随机、部分按规则命中可能出错的标签,再由人工逐条核对,确认或修正每个标签,结果单独保存进 reviewed_* 字段。把初标与这个复核子集对比,就是准确率 / F1 的计算依据。
  6. 发布。 把这批数据追加进数据集。

3. 每一行里有什么

每条博文都包含一些元数据、原始文本、一套 AI 初标标签,以及一套对应的人工复核标签。

字段含义
hf_public_record_key每行的稳定标识符。
date该话题 / 批次的采集日期。
keyword该博文所属的热搜关键词 / 话题。
text微博博文正文。
validity(初标) 博文是否可用,以及不可用的原因。
target_type(初标) 博文主要在讲什么、或指向什么。
stance(初标) 博文对该对象的立场。
emotion_category(初标) 主导情绪。
emotion_subtype(初标) 该情绪之下更细的类别。
mf_main(初标) 所基于的道德基础(若有)。
mf_direction(初标) 该道德基础的哪一极。
satire(初标) 博文是否为反讽 / 讽刺。
review_selected该行是否被抽入当日的人工复核样本。
reviewed_validityreviewed_satire上述每个标签的人工核对版本。

4. 标注方案

下面是完整的标签取值,也就是这套码本(codebook)。每个维度都有对应的 reviewed_* 版本(见复核层)。有几个取值采用了非标准拼写,如 outfit_or_appearenceidol_doration,这些是字段里的原始写法,原样保留。

有效性

有效性(validity) 表示博文是否可用,以及不可用的原因。

取值含义
general正常、切题的博文,含有可解读的内容。
noise离题或无实质内容的噪声(广告、垃圾、乱码、无关闲聊)。
stanning_and_other_spamming饭圈式刷屏,即控评、打投应援(饭圈控评、打投)及类似 spam。

指向对象类型

指向对象类型(target_type) 表示博文主要在讲什么、或指向什么。

取值含义
person具体的某个人。
outfit_or_appearence某人的穿搭、外形、颜值。
action某个行为、举动或事件。
opinion某个观点、言论。
group_or_organization群体或组织。
works_or_creations作品或创作(歌曲、节目、画作、产品…)。
scenery风景或场景。
others其他。

立场

立场(stance) 表示博文对其指向对象的态度。

取值含义
support支持 / 赞同。
oppose反对 / 批评。
neutral中立 / 客观。
no_clear_stance看不出明确立场。
irrelevant实际与该对象无关。

情绪大类与细类

情绪大类(emotion_category) 是主导情绪,情绪细类(emotion_subtype) 是其之下更细的情绪。

emotion_categoryemotion_subtype
anger(愤怒)personal_anger, moral_outrage, fury
disgust(厌恶)physical_disgust, moral_contemp, rejection
annoyance(烦躁)annoyance
like(喜欢)idol_doration, simple_liking, admiration, solidarity
sadness(悲伤)disappointed, empathy, grieve, hopeless
happiness(快乐)simple_happy, pride, gloat, looking_forward_and_hope
fear(恐惧)anxious, fear, concerned
surprise(惊讶)astounded, happily_surprised, shock
none(无)general
uncertain(不确定)uncertain

道德框架

主道德基础(mf_main) 是博文所基于的道德基础,取自道德基础理论(Moral Foundations Theory);道德方向(mf_direction) 表示所表达的是该基础的哪一极,因此取值取决于 mf_main。

mf_mainmf_direction
care_vs_harm(关怀 / 伤害)care · harm
fairness_vs_cheating(公平 / 欺骗)fairness · cheating
loyalty_vs_betrayal(忠诚 / 背叛)loyalty · betrayal
authority_vs_subversion(权威 / 颠覆)authority · subversion
sanctity_vs_degradation(神圣 / 堕落)sanctity · degradation
liberty_vs_oppression(自由 / 压迫)liberty · oppression
none(无)none

mf_direction 另外还允许独立取值 uncertain

反讽

反讽(satire) 标注博文是否使用了反讽。

取值含义
yes使用了反语、讽刺或反讽,字面措辞可能与真实含义相反。
no直白 / 真诚。

复核层

上面每个字段都有一个 reviewed_* 对应版本,另外还有 review_selected 标记。

  • review_selected:该行是否被抽去人工复核。抽取方式是部分随机、部分按规则,把看起来可能标错的行挑出来重点核对。
  • reviewed_*:人工判定结果。若与初标一致,说明原标注被判为正确;若不一致,说明已被修正。
  • 在复核子集上把初标与 reviewed_* 对比,正是打标准确率 / F1 的计算方式。

5. 可以用来做什么研究

因为选题刻意在不同领域间轮换,又因为部分标签专门标出了饭圈式刷屏(stanning)等 spam,这个语料库尤其适合:

  • 社群与亚文化语言:观察特定社群、亚文化到底怎么说话;stanning_and_other_spamming 这个有效性取值、以及像 idol_doration 这样带饭圈色彩的情绪,都是特意设置的。
  • 不同社群对比:面对可比的事件,不同社群是否表现出不同的用语习惯、框架与情绪语域。
  • 追踪网络流行语:跟踪流行词与梗如何冒头、扩散、消退,横跨不同话题与日期。
  • 社会语言学视角的用语变化:在一个持续增长、带日期的语料库上追踪用语随时间的变化。
  • 真实语境下的立场、情绪与道德框架:在杂乱的真实文本上做中文立场 / 情绪 / 道德基础分类。
  • AI 与人工标注对比:初标与 reviewed_* 的划分是现成的基准,也是所报告准确率 / F1 的依据。

6. 局限与负责任使用

7. 许可与署名

8. 参与审计或反馈