【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

《知识图谱》:知识问答的分类体系

  • 2019-11-03
  • 本文字数:4011 字

    阅读完需:约 13 分钟

《知识图谱》:知识问答的分类体系

本文节选自《知识图谱:方法、实践与应用》一书,本书系统地介绍知识图谱涉及的关键技术,如知识建模、关系抽取、图存储、自动推理、图谱表示学习、语义搜索、知识问答、图挖掘分析等。此外,本书还尝试将学术前沿和实战结合,让读者在掌握实际应用能力的同时对前沿技术发展有所了解。


知识问答通过自然语言对话的形式帮助人们从知识库中获取知识,它不但是知识图谱的核心应用之一,也是自然语言处理的重要研究方向。随着新技术的不断涌现,知识问答技术取得了长足的进步,在工业界也有广泛的应用。


本文围绕问答系统四大要素——问题、答案、知识库、智能体,简要梳理知识问答系统的特征并研究知识问答的分类体系。

1. 问题类型与答案类型

在知识问答中,首先可以通过对问题的类型(Question Type)理解问答目标。问答系统可以针对问题类型,选择对应的知识库、处理逻辑来生成答案。问题分类体系在很大程度上按照目标答案的差异而区分,所以这里将问题类型和答案类型合并,统一考虑为问题类型。通过对问题的类型(也就是用户问题所期望的答案的类型)的分析,问答系统可以有针对性地选择有效的知识库和处理逻辑解答一类问题。


早期的工作包括 TREC 测试集问题分类研究和 ISI QA 问题类型分类体系,另外还有更详细的综述。LI 等人通过观察 TREC 的 1000 个问题的数据,从答案类型出发建立了一个问题分类体系,包含 6 个大类和 50 个细分类,并对各类问题的占比进行了统计。从统计结果中可以看出,TREC 中的大部分问题都集中在这几类数据,占总体问题数量的 78%。其中,81 个问题询问地点(LOCATION)、138 个问题询问定义或描述


(DESCRIPTION)、65 个问题询问人物(HUMAN)、94 个问题询问事物(例如动物、颜色、食品等)。可见,在知识问答中,一个合理的分类体系能够体现出问题的类型分布, 从而帮助开发者有针对性地设计问答解决方案,并形成良好的问答系统。图 1 展示了 ISI QA 问题类型分类体系及实例,例如“Who was Jane Goodall?”这类问题就可以归属为人物定义型问题(WHY-FAMOUS-PERSON)。



图 1 ISI QA 问题类型分类体系及实例


后续也出现了基于功能的问题分类体系。例如,在英文中一个以“Why”开头的问题侧重询问原因,而以“How”开头的问题侧重询问解决方式。但是在中文里,带有“怎么样”这个词的问题,其意图有可能是询问原因,也有可能是询问解决方式。BU 等人根据百度知道的数据,建立了一个基于功能(Function-Based)的问题分类体系。和 LI 等人 从答案类型出发构建分类体系类似,BU 等人从利用功能以达成用户目标的角度来构建分类体系。相比于 LI 等人专注于面向事实的知识问答的分类,BU 等人提出的分类体系更面向通用问题。


表 1 展示了 BU 等人提出的问题分类体系机制,其中的事实类别和 LI 等人提出的分类体系中的大部分类别相对应。图 2 统计各个类在百度知道中的占比。



表 1 BU 等人提出的问题分类机制



图 2 基于功能的问题分类体系在百度知道中的


综合分类体系的探索工作,本文从问答的功能出发,面向知识图谱问答的构建(即假定知识库的主题为知识图谱)整理出两种问题类型:事实性客观问题和主观深层次问题。


(1)事实性客观问题。特点是语法结构简单(拥有明确的主谓宾结构,不包括例如并列、否定等复杂结构)、语义结构清晰(通常是关于某个事物或事件的简单描述性属性或关系型属性,可以通过简单的数据库查询解答)。事实型问题是知识问答中处理频度较高的一种问题类型,其中包含了谓词型问题(答案是一个单一的对象)、列表型问题(返回的不止一个答案,而是一列答案)。这两种主要是返回某些对象,从查询的角度来看,类似于数据库的 Select 操作。而对错型的问题更像 SPARQL 中的 Ask 类型的查询。实际上,这并不需要理解为一种“硬边界”的分类,也可能存在某些问题属于多个类别的情况。可以细分如下:


① 询问命名实体的基本定义(ENTITY)


  • 事物的分类(IS-A),例如“热带水果有哪些?”

  • 事物的别名(ALIASEs),例如“番茄是西红柿吗?”

  • 事物的定义(WHAT-IS),例如“什么是西红柿?”


② 询问实体属性,包括描述性属性和关系性属性 (PROPERTY)


  • 人(WHO),例如“谁写了《平凡的世界》?”

  • 地点(WHERE),例如“《平凡的世界》的主人公是哪里人?”

  • 时间(WHEN),例如“北京奥运会是在哪一年举办的?”

  • 属性(ATTRIBUTE),例如“西红柿是什么颜色的?”


③ 复杂知识图谱查询


  • 询问实体列表或统计结果,例如“唐宋八大家是哪几位?”“北京奥运会中国得了多少枚金牌?”“北京四月份的平均气温是多少?”“北京最大的公园是哪一个?”

  • 询问实体差异,例如“颐和园和圆明园哪里相似,哪里不同?”

  • 询问实体关系,例如“王菲和章子怡有什么关系?”“A 公司和 B 公司有没有控制关系?”


(2)主观深层次问题。包括除事实型问题之外的其他问题,例如观点型、因果型、解释型、关联型与比较型等。这一类问题本身的语法结构并不复杂,但是这些问题需要一定的专业知识和主观的推理计算才能解答,而且这一类问题有时甚至不止一个答案,需要结合用户偏好和智能体的配置找到不同的最优解。可以细分如下:


① 问解释(WHY),例如“为什么天空是蓝色的?”“为什么眼睛会近视?”


② 问方法(HOW),例如“怎么做戚风蛋糕?”“如何在 Windows 上创建一个文件夹?”


③ 问专家意见(CONSULT),例如“左侧内踝骨折累及关节面多少天能下地走路?今年 89 岁。”


④ 问推荐(RECOMMENDATION),例如“哪个歌手跟刘德华类似?”


另外,问题类型并非问题理解中的唯一语义要素。问题焦点(Focus)指的是问句中出现的与答案实体或属性相关的元素,例如问句“In which city was Barack Obama born?” 中的 city,以及“What is the population of Galway?”中的 population。问题主题(Topic) 反映问题是关于哪些主题的,例如问句“What is the height of Mount Everest?”询问的是关于地理及山脉的信息,而“Which organ is affected by the Meniere’s disease?”的问题主题则是医疗方面的内容。

2. 知识库类型

从知识库的内容边界,或者知识库覆盖了哪些领域来看,知识问答可以分两类。一是领域相关的问答系统,只回答与选定领域相关的问题。这一类系统相对专注,需要领域专家的深入参与,虽然问题覆盖面小,但是答案的正确率高。早期的成功问答系统都是与领域相关的。近年来,企业的智能客服通常采用领域相关的问答系统,并且逐步转向基于知识图谱的解决方案。二是领域无关的问答系统,基于开放知识库回答任意问题。这一类系统答案虽然覆盖面大,但答案的正确率有限。开放域问答系统经常使用万维网数据(尤其是百科网站、社区问答等)作为数据源解答用户的问题。由于用户的期望较高,开放问题结构并不总是简单,开放域知识相对稀疏等原因,实用产品的用户体验还有待提高。


从知识库的信息组织格式来看,知识库可以是基于文本表示,也可以采用其他组织形式。第一,文本类知识库利用纯文本承载知识,也是最常见的知识组织形式。这类知识库不但支持基于搜索的问答系统,也可以与基于知识图谱的结构化抽取技术结合,支持基于语义查询的解决方案。另外,常见问答对(FAQ)或社区问答也是知识问答(尤其是智能客服)最容易获取的知识,可以直接通过问题匹配帮助用户获取答案。第二,半结构化或结构化的知识库。这一类知识库侧重知识的细粒度组织,利用结构体现知识的语义。电子表格、二维表或者关系数据库是最常见的结构化知识,实体和属性通过简单的二维表表示,大多数事实性客观问题都可以被此类知识解答。图数据库,例如 RDF、属性图、语义网络等,将通过节点、有向边来形成基于图的知识组织,并且利用节点和边的名称与上下文对接自然语言处理并支持语义相似度计算,同时还能支持复杂的结构化图查询机制。第三,除文字外,知识也可以存储在图片、音频、视频等媒体中,这些都可以作为知识问答中答案的一部分,更有效地反馈给终端用户,从而丰富答案的表示并满足更多的交互场景需求。第四,知识库并不限定于文本、符号系统或多媒体,也可以利用可计算的机器学习模型承载。例如近年来出现的端到端的问答系统可以直接使用分布式表示模型记录习得的知识。


另外,知识库的存储访问机制也是知识问答需要考虑的因素。知识问答的知识可以采用单一的集中数据存储(例如数据表、数据库),或者分布式存储(例如分布式数据、数据仓库),甚至是基于互联网的全网数据(例如 Linked Data)。

3. 智能体类型

智能体利用知识库实现推理。根据知识库表示形式的不同,目前的知识问答可以分为传统问答方法(符号表示)以及基于深度学习的问答方法(分布式表示)两种类型。传统问答方法使用的主要技术包括关键词检索、文本蕴涵推理以及逻辑表达式等,深度学习方法使用的技术主要是 LSTM、注意力模型与记忆网络(Memory Network)等。


传统的知识库问答将问答过程切分为语义解析与查询两个步骤。如图 3 所示,首先将问句“姚明的老婆出生在哪里”通过语义解析转化为 SPARQL 查询语句。这个例子中的难点是将问句中的“老婆”映射到知识图谱中的关系“配偶”,这也是传统的知识库问答研究的核心问题之一;再从知识库(知识图谱)中查询,得到问题的答案“上海”。



图 3 基于符号表示(传统)的知识问答


不同于传统方法,基于分布式表示的知识库问答利用深度神经网络模型,将问题与知识库中的信息转化为向量表示,通过相似度匹配的方式完成问题与答案的匹配。图 4 描述了一种精简的分布式知识问答过程。首先,利用神经网络模型,将问题“姚明的老婆出生在哪里”表示成向量,这里使用的是一个递归神经网络的表达形式;然后取知识图谱中与实体“姚明”相关的实体向量,计算与问句向量的语义相似度,从而完成知识问答的过程。在整个过程中,并不需要确定问句中的“老婆”与知识图谱中的关系“配偶”的映射,这也是基于深度学习的问答方法的优势所在。



图 4 基于分布式表示的知识库问答


《知识图谱:方法、实践与应用》图书购买链接:


https://item.jd.com/12560557.html


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2019-11-03 08:003583

评论

发布
暂无评论
发现更多内容

2000字带您了解什么是 SD-WAN,它是如何工作的?

wljslmz

SD-WAN 网络技术 8月月更

开源一夏 | SSO单点登录流程源码学习

六月的雨在InfoQ

redis 开源 SSO 单点登录 8月月更

注册荣耀开发者,惊喜抽好礼!邀请5位好友赢50元购物卡~

荣耀开发者服务平台

开发者 手机 智慧屏 荣耀 honor

App Deploy as Code! SAE & Terraform 实现 IaC 式部署应用

阿里巴巴中间件

阿里云 Serverless Terraform 阿里云云原生

【Java秋招面试宝典300题】阿里P8爆肝2个月呕心整理,挑战30天打卡秋招上岸!(基础、Spring、MySQL、JVM、微服务分布式)

退休的汤姆

Java 面经 校招 Java工程师 秋招

字节大佬的「算法界Top1笔记」火爆Github,短时间获上万star

Geek_Yin

编程 程序员 数据结构 算法 #java

Python 教程之输入输出(8)—— print() 中的 Python 结束参数

海拥(haiyong.site)

Python io 8月月更

Python自学教程2:大牛们怎么写注释

和牛

Python 测试 8月月更

2022秋招,Java岗最全面试攻略,吃透25个技术栈Offer拿到手软

退休的汤姆

面经 社招 Java工程师 秋招 Java八股文

前端mcok原来可以如此丝滑

Liam

前端 前端开发 Postman Mock 前端工具

Go Go 简单的很,标准库之 fmt 包的一键入门

梦想橡皮擦

Python 爬虫 8月月更

如何实现跨数百个K8s集群的管理

云原生技术社区

istio 服务网格 K8s 多集群管理 Istio流量管理

Zebec社区利好频传,Galaxy Project上领取专属Zebec OAT

股市老人

jdk11或以上的module错误

Geek_5829b6

jdk Module

2022秋招,Java岗最全面试攻略,吃透25个技术栈Offer拿到手软

Geek_Yin

编程 程序员 java面试 金九银十 #java

你需要的露营预约管理系统来啦!最新的露营案例奉上!

天天预约

SaaS应用 预约工具 露营 营地管理

Shopee商家数字商品可配置系统设计与实现

Shopee技术团队

前端 Shopee

嘎嘎牛逼!对标P7+)互联网Java高级架构师面试标准手册

Geek_Yin

阿里巴巴 程序员人生 P7架构师 #java 程序员面试、

大数据编程培训班怎么样?

小谷哥

出海季收官,速来 Get 全球化发展实操手册

融云 RongCloud

加密世界的福音,Galaxy Project上领取专属Zebec OAT

EOSdreamer111

编程培训班怎么才能选择出靠谱?

小谷哥

开发者,有没有完全自主的国产化数据库技术?

Albert Edison

数据库 云原生 中间件 8月月更 开源SPL

web前端课程培训班哪里好?

小谷哥

阿里三面被面试官狂问Redis,简历上再也不敢写"精通"了

退休的汤姆

面试题 阿里 秋招 redis 底层原理

翻译 | Kubernetes Operator 对数据库的重要性

RadonDB

Kubernetes operator RadonDB 数据库·

深入解析Flutter下一代渲染引擎Impeller

字节跳动终端技术

flutter 字节跳动 渲染器 Impeller 渲染方案

2022年最新【Java经典面试800题】面试必备,查漏补缺;多线程+spring+JVM调优+分布式+redis+算法

Geek_Yin

编程 程序员 金九银十 #java Java面试八股文

签约计划第三季获奖名单公布,一起见证百人成团!

InfoQ写作社区官方

热门活动 签约计划第三季

武汉大数据培训班学习要多久

小谷哥

上海大数据培训学习怎么样

小谷哥

《知识图谱》:知识问答的分类体系_文化 & 方法_王昊奋_InfoQ精选文章