深度解析 KBQA 常用数据集:WebQSP 与 CWQ
一、引言
知识图谱问答(KBQA)是自然语言处理领域的关键任务,其核心挑战在于将自然语言问题转换为可执行的逻辑形式(如 SPARQL 查询)并从知识图谱中获取答案。WebQSP和CWQ是当前 KBQA 研究中最具代表性的两个数据集,分别覆盖了从多跳到复杂组合性问题的全场景。本文将从数据形式、标注特点、核心挑战等维度对两者进行深度解析,并对比其在 KBQA 研究中的定位与价值。
深度解析了 KBQA 领域两个核心数据集 WebQSP 与 CWQ。WebQSP 基于 Freebase,侧重多跳推理,提供显式推理链标注;CWQ 在此基础上扩展,支持复杂组合性问题,包含中间实体标注及答案别名。文章对比了两者的数据规模、结构特点及挑战,并给出了选择策略与研究建议,旨在帮助研究者理解数据形式以优化模型训练。
知识图谱问答(KBQA)是自然语言处理领域的关键任务,其核心挑战在于将自然语言问题转换为可执行的逻辑形式(如 SPARQL 查询)并从知识图谱中获取答案。WebQSP和CWQ是当前 KBQA 研究中最具代表性的两个数据集,分别覆盖了从多跳到复杂组合性问题的全场景。本文将从数据形式、标注特点、核心挑战等维度对两者进行深度解析,并对比其在 KBQA 研究中的定位与价值。
WebQSP 的每条数据以 JSON 格式组织,包含从原始问题到逻辑形式、推理路径、答案的完整标注。以下结合 WebQTrn-0 实例(关于'贾斯汀·比伯的兄弟叫什么名字'的查询),逐字段解析其数据形式与实际意义:
{"QuestionId":"WebQTrn-0",// 问题唯一标识,"Trn"表示来自训练集"RawQuestion":"what is the name of justin bieber brother?",// 原始用户输入,含标点"ProcessedQuestion":"what is the name of justin bieber brother",// 清洗后问题,去除标点符号"Parses":[// 标注者对问题的解析结果(可能有多个标注,此处为 1 个){"ParseId":"WebQTrn-0.P0",// 解析结果唯一标识,".P0"表示第 1 个标注"AnnotatorId":1,// 标注者 ID,用于区分不同标注者的结果"AnnotatorComment":{// 标注者对解析质量的评价"ParseQuality":"Complete",// 解析完整性:完整覆盖问题逻辑"QuestionQuality":"Good",// 问题质量:表述清晰,无歧义"Confidence":"Normal",// 标注者置信度:中等"FreeFormComment":"First-round parse verification"// 备注:首轮解析验证},"Sparql":"PREFIX ns: <http://rdf.freebase.com/ns/>\nSELECT DISTINCT ?x\nWHERE {\nFILTER (?x != ns:m.06w2sn5)\nFILTER (!isLiteral(?x) OR lang(?x) = '' OR langMatches(lang(?x), 'en'))\nns:m.06w2sn5 ns:people.person.sibling_s ?y .\n?y ns:people.sibling_relationship.sibling ?x .\n?x ns:people.person.gender ns:m.05zppz .\n}\n",// 对应问题的 SPARQL 查询"PotentialTopicEntityMention":"justin bieber",// 问题中提到的核心实体(原始表述)"TopicEntityName":"Justin Bieber",// 核心实体的标准化名称"TopicEntityMid":"m.06w2sn5",// 核心实体在 Freebase 中的唯一 ID(MID)"InferentialChain":[// 从核心实体到答案的推理关系链"people.person.sibling_s","people.sibling_relationship.sibling"],"Constraints":[// 答案需满足的约束条件{"Operator":"Equal",// 约束操作符:等于"ArgumentType":"Entity",// 约束参数类型:实体"Argument":"m.05zppz",// 约束参数(Freebase 中'男性'的 MID)"EntityName":"Male",// 约束参数的标准化名称:男性"SourceNodeIndex":1,// 约束作用的节点索引(对应推理链中的第 2 个关系)"NodePredicate":"people.person.gender",// 约束对应的关系:性别"ValueType":"String"// 约束值类型:字符串(实体名称)}],"Time":null,// 时间约束:无(问题不涉及时间)"Order":null,// 排序约束:无(问题不要求排序)"Answers":[// 问题的标准答案{"AnswerType":"Entity",// 答案类型:实体"AnswerArgument":"m.0gxnnwq",// 答案实体的 MID"EntityName":"Jaxon Bieber"// 答案实体的标准化名称}]}]}
QuestionId:WebQTrn-0是该问题在训练集中的唯一标识,便于数据集管理和结果追溯。RawQuestion与ProcessedQuestion:前者保留用户原始输入(含标点'?'),后者经过简单清洗(去除标点),为模型提供更统一的输入格式。例如原始问题中的'brother?'清洗后为'brother',减少无关符号对模型的干扰。AnnotatorId(标注者 1)和AnnotatorComment(解析完整、问题质量好)用于说明标注的可靠性。例如'First-round parse verification'表明该解析经过首轮验证,减少标注误差。PotentialTopicEntityMention:从问题中提取的核心实体原始表述('justin bieber'),即问题围绕的核心对象。TopicEntityName:核心实体的标准化名称('Justin Bieber'),统一实体表述(如避免'JB''Justin'等简称的歧义)。TopicEntityMid:m.06w2sn5是 Freebase 中贾斯汀·比伯的唯一标识,类似'身份证号',确保在知识图谱中准确定位实体。["people.person.sibling_s", "people.sibling_relationship.sibling"] 是从核心实体到答案的'关系链':
people.person.sibling_s('人物的兄弟姐妹关系')—— 从贾斯汀·比伯出发,找到所有与他存在兄弟姐妹关系的条目(对应 SPARQL 中的?y)。people.sibling_relationship.sibling('兄弟姐妹关系中的具体人物')—— 从关系条目?y 中提取关联的人物(对应 SPARQL 中的?x)。NodePredicate: "people.person.gender":约束作用的关系是'人物的性别'。Argument: "m.05zppz":Freebase 中'男性'的 MID,确保约束在知识图谱中可执行。Operator: "Equal":约束类型为'等于',即?x 的性别必须等于'男性'。AnswerArgument: "m.0gxnnwq":贾斯汀·比伯弟弟 Jaxon Bieber 在 Freebase 中的 MID,用于知识图谱中的精确匹配。EntityName: "Jaxon Bieber":答案的标准化名称,用于人工验证和模型输出的可读性评估。逻辑形式(SparQL)
SPARQL 是 WebQSP 中'自然语言→知识图谱查询'的桥梁,实例中的查询可拆解为:
PREFIX ns: <http://rdf.freebase.com/ns/> // 定义 Freebase 命名空间,简化后续关系引用 SELECT DISTINCT ?x // 查询目标:唯一的变量?x(即贾斯汀·比伯的兄弟) WHERE { FILTER (?x != ns:m.06w2sn5) // 过滤条件 1:排除贾斯汀·比伯本人 FILTER (!isLiteral(?x) OR lang(?x) = '' OR langMatches(lang(?x), 'en')) // 过滤条件 2:确保?x 是实体或英文文本 ns:m.06w2sn5 ns:people.person.sibling_s ?y . // 关系 1:贾斯汀·比伯(m.06w2sn5)有兄弟姐妹关系(sibling_s)指向?y ?y ns:people.sibling_relationship.sibling ?x . // 关系 2:?y(兄弟姐妹关系)关联到具体人物?x ?x ns:people.person.gender ns:m.05zppz . // 关系 3:?x 的性别是男性(m.05zppz) }
这段 SPARQL 精准对应自然语言问题:通过两层关系('贾斯汀·比伯→兄弟姐妹关系→具体人物')定位候选实体,再通过性别约束(男性)筛选出'兄弟',最终得到答案。
通过这个实例可见,WebQSP 的标注实现了'自然语言问题→核心实体→推理路径→约束条件→逻辑形式→答案'的全链条映射,为 KBQA 模型提供了从'理解问题'到'执行查询'的完整监督信号。
CWQ(Complex Web Questions)作为 WebQSP 的扩展数据集,核心定位是解决'复杂组合性问答'问题,其数据结构在保留知识图谱关联逻辑的基础上,新增了对'问题拆解、中间实体、答案多样性'的标注。以下结合实例(查询'拥有 George Washington Colonials 男篮的大学所在州是哪个'),逐字段解析其数据形式与背后的设计逻辑:
{"ID":"WebQTrn-3513_7c4117891abf63781b892537979054c6",// CWQ 问题唯一标识"answers":[// 问题的最终标准答案集合{"aliases":[// 答案实体的常用别名(多表述形式)"Washington D.C.","Washington","The District","U.S. Capital","District of Columbia / Washington city","The District of Columbia","District of Columbia","Washington DC"],"answer":"Washington, D.C.",// 答案实体的标准化名称"answer_id":"m.0rh6k"// 答案实体在 Freebase 中的唯一 MID}],"composition_answer":"george washington university",// 组合问题的'中间关键实体'(子任务答案)"compositionality_type":"composition",// 问题的组合类型"created":"2018-02-13T02:07:47",// 标注创建时间"machine_question":"what state is the the education institution has a sports team named George Washington Colonials men's basketball in",// 结构化改写后的问题"question":"What state is home to the university that is represented in sports by George Washington Colonials men's basketball?",// 用户原始自然语言问题"sparql":"PREFIX ns: <http://rdf.freebase.com/ns/>\nSELECT DISTINCT ?x\nWHERE {\nFILTER (?x != ?c)\nFILTER (!isLiteral(?x) OR lang(?x) = '' OR langMatches(lang(?x), 'en'))\n?c ns:education.educational_institution.sports_teams ns:m.03d0l76 . \n?c ns:organization.organization.headquarters ?y .\n?y ns:location.mailing_address.state_province_region ?x .\n}\n",// 对应问题的 SPARQL 查询(知识图谱执行逻辑)"webqsp_ID":"WebQTrn-3513",// 关联的 WebQSP 数据集问题 ID"webqsp_question":"what state is the george washington university in"// 关联的 WebQSP 原始问题}
WebQTrn-3513_7c4117891abf63781b892537979054c6WebQTrn-3513是关联的 WebQSP 训练集问题 ID,后半段哈希值是 CWQ 自身的唯一标识。这种设计的核心目的是体现 CWQ 对 WebQSP 的'复杂度扩展'——WebQSP 的问题是简单直接的(如webqsp_question:直接问'乔治华盛顿大学在哪个州'),而 CWQ 的问题则是在其基础上增加了'组合逻辑'(需先找到'有特定篮球队的大学',再找州),通过 ID 关联可直观对比两者的复杂度差异。2018-02-13T02:07:47CWQ 提供了两种问题文本,分别对应'真实用户输入'和'模型友好型输入':
What state is home to the university that is represented in sports by George Washington Colonials men's basketball?that is represented in sports by...),需模型理解'先定位大学、再找州'的逻辑。这是真实场景中用户可能的提问方式——不会直接给出中间实体(如'乔治华盛顿大学'),而是通过描述性条件间接指向目标。what state is the the education institution has a sports team named George Washington Colonials men's basketball in这是 CWQ 区别于 WebQSP 的关键字段,专门针对'需要拆解为子任务的复杂问题'设计:
composition(组合型)composition是最核心的一种,指问题需拆解为**'子任务→最终任务'两步及以上推理**。以实例为例:conjunction(合取型,如'同时满足 A 和 B 条件的实体')、comparative(比较型,如'比 A 大的 B'),覆盖真实场景中复杂问答的主要逻辑。george washington universityCWQ 的 SPARQL 查询比 WebQSP 更复杂,需覆盖'多实体关联 + 多跳推理',实例中的查询可拆解为 3 个核心步骤,对应问题的组合逻辑:
PREFIX ns: <http://rdf.freebase.com/ns/> // 定义 Freebase 命名空间,简化关系引用 SELECT DISTINCT ?x // 最终查询目标:?x(大学所在的州) WHERE { # 约束 1:排除'教育机构本身'作为答案(避免模型误将大学当作'州') FILTER (?x != ?c) # 约束 2:确保?x 是实体或英文文本(避免非英文/非实体结果) FILTER (!isLiteral(?x) OR lang(?x) = '' OR langMatches(lang(?x), 'en')) # 步骤 1:定位'拥有目标篮球队的教育机构'(子任务:对应 composition_answer) ?c ns:education.educational_institution.sports_teams ns:m.03d0l76 . # 解释:?c 是教育机构,通过'education.educational_institution.sports_teams'(教育机构的运动队)关联到'George Washington Colonials 男篮'(ns:m.03d0l76 是该球队的 Freebase MID),即?c=乔治华盛顿大学。 # 步骤 2:定位教育机构的总部地址 ?c ns:organization.organization.headquarters ?y . # 解释:?y 是?c(乔治华盛顿大学)的总部地址(通过'组织的总部'关系关联),即大学的物理地址。 # 步骤 3:从地址中提取'州/地区'(最终任务) ?y ns:location.mailing_address.state_province_region ?x . # 解释:?x 是?y(地址)对应的'州/地区'(通过'邮寄地址的州级区域'关系关联),即华盛顿特区。 }
可见,SPARQL 的每一步都精准对应问题的'子任务→最终任务'逻辑,是模型'理解问题→执行查询'的桥梁。
CWQ 的答案标注比 WebQSP 更注重'真实场景中的表述多样性',核心字段是aliases:
m.0rh6kWashington, D.C.Washington'The District''District of Columbia')aliases字段的作用是:
WebQTrn-3513 & webqsp_question: what state is the george washington university in| 维度 | WebQSP | CWQ |
|---|---|---|
| 问题复杂度 | 多跳推理(最多 4 跳),组合性较弱。 | 深度多跳(最多 4 跳)+ 组合性(如聚合、桥接)。 |
| 数据规模 | 训练集 4.7K,测试集 2K。 | 训练集 35K,验证/测试集各 4K/5K。 |
| 标注粒度 | 显式推理链(InferentialChain)。 | 隐式推理路径(通过 SPARQL 和组合性类型)。 |
| 答案多样性 | 单一标准化名称,无别名。 | 包含多语言别名,支持跨表述评估。 |
| 核心挑战 | 多跳关系解析的准确性。 | 复杂逻辑组合、长推理链的鲁棒性。 |
| 典型任务 | 自然语言到 SPARQL 的转换。 | 复杂问答、混合知识(文本+KG)推理。 |
WebQSP 和 CWQ 作为 KBQA 领域的标杆数据集,分别代表了多跳推理和复杂组合性问题的研究前沿。通过深入理解其数据形式和标注特点,研究者可针对性地设计模型,推动 KBQA 技术从实验室走向实际应用。未来,随着知识图谱规模的扩大和自然语言理解需求的增长,这两个数据集仍将在语义解析、可解释性推理等方向发挥关键作用。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online