第9章:深度探讨知识问答系统评测:智能背后的挑战与技术方案

简介: 第9章:深度探讨知识问答系统评测:智能背后的挑战与技术方案

🍋知识问答系统概述

在当今数字化信息爆炸的时代,知识问答系统以其高效解决用户问题的能力逐渐成为人工智能领域的热门话题。这种系统通过自然语言处理和机器学习技术,使计算机能够理解和回答用户提出的问题,为用户提供更智能化的服务。

🍋知识问答系统定义

知识问答系统是一种基于人工智能技术的应用,旨在通过处理自然语言,从结构化和非结构化的数据中提取信息,以回答用户提出的问题。与传统搜索引擎相比,知识问答系统更注重精准、直接的回答,为用户提供更加智能、便捷的信息服务。

🍋知识问答问题分类

  • 事实型问题

这类问题通常要求系统提供特定的事实性信息,如“地球的直径是多少?”或“谁是美国第一位总统?”

  • 推理型问题

推理型问题需要系统具备一定的逻辑推理能力,能够根据已有知识得出结论,例如“如果今天是星期五,那么后天是星期几?”

  • 开放性问题

开放性问题通常较为复杂,要求系统从大量信息中综合考虑并给出合理的回答,如“讲解一下人工智能的发展历史与未来趋势。”

🍋 知识问答评测技术方案

  • 人工评测

通过人工评测,专家评估系统在特定问题上的表现。这种方法能够提供高质量的评估结果,但成本较高,且可能受到评估者主观因素的影响。

  • 自动评测

利用自动化指标和度量标准,如准确率、召回率、F1值等,对系统性能进行客观评估。自动评测具有高效、成本低等优势,但对于一些复杂任务可能无法全面覆盖系统表现。

  • 基准测试集

构建丰富多样的基准测试集,涵盖不同类型的问题和知识领域,以确保系统在多样性场景下的性能稳定性。

  • 用户反馈

通过用户使用反馈,收集真实场景下系统表现的数据,了解用户需求和期望,为系统优化提供有力支持。

🍋自然语言知识问答评测

书中分别从自然语言、生活服务、开放知识问答评测进行讲解,时间问题本篇博客主要以自然语言知识问答评测为主要介绍点

🍋任务背景

随着知识图谱技术的进一步发展,问题理解和问题到知识图谱的语义关联都得到了较好的解决,这使得基于知识图谱的知识问答工程应用成为现实。为了进一步推动知识图谱技术的发展以及知识问答在具体行业的应用落地,CCKS 2020 以行业知识为核心构建了多个高质量的数据集(http://openkg.cn/group/coronavirus),并将这些数据集整合到一起,同开放领域知识库 PKUBAS一起作为问答任务的依据,开展本次评测任务。

这里面的数据集还算十分丰富的

🍋数据分析

此次知识问答评测需要使用NLP 技术理解问并进行查询构造,数据集由自然语言问句和对应的SPAROL查询语句标记组成。

下面以数据集中的典型问题(一跳夹式夹式+多跳)为例进行介绍

问题 1:凯文·杜兰特得过哪些奖?

查询语句:select ?x where {<凯文·兰特><主要奖项>?x.}

答案:“7次全明星(2010-2016”“5次NBA最佳阵容一阵(2010-2014”“NBA得分王(2010-2012;2014“NBA全明星赛MVP (2012”“NBA 常规赛MVP(2014)

以上就是一跳问题“凯文·杜兰特得过哪些奖?”的具体示例。该问题的查询路径如图9-7所示。

问题2:武汉大学出了哪些科学家?

查询语句:select ?x where {?x<职业><科学家_(从事科学研究的人群)>.?x<毕业院校><武汉大学>.}

答案:“<郭传杰><张贻明><刘西尧><石正丽><王小村>”

以上就是夹式问题"武汉大学出了哪些科学家?"的具体例子如下

问题3:詹妮弗·安妮斯顿出演了一部 1994 年上映的美国情景剧,这部美剧共有多少集?

查询语句: select?y where {?x<主演><詹妮弗·安妮斯顿>.?x<上映时间>"“1994"”.?x<集数>?y.)

答案:“236”

以上就是夹式+多跳问题“詹妮弗·安妮斯顿出演了一部1994 年上映的美国情景剧这部美剧共有多少集?”的具体示例。

🍋技术方案

下图展示了一个完整的技术方案的全流程

下面以问题“莫妮卡·贝鲁的代表作是什么?”为例,详说明该技术方案中的步骤

问题解析

预处理:

在这里可以看做分词,在中文分词领域,国内科研机构推出多种分工具(以基于规则和典方为)如,哈工大的LTP、中科院计算所的NLPIR、清华大学的THULAC和Python中文分词组件 Jieba 等。

实体识别:

在命名实体识别过程中,采用预训练模型+长短期记忆网络+条件随机场(BERT+LSTM+CRF)的方法对自然语言问句中的命名实体进行识别。首先通过BERT预训练模型对命名实体进行识别,再使用Bi-LSTM 网络对子中每个词语的实体类型进行预测(不包含实体、实体头、实体中、实体尾),最后利用 CRF 过滤不合理的预测结果,使得最终输出的结果更加“平顺”。

具体结构如下图

通过命名实体识别得到名为“莫妮卡·贝鲁奇”的实体指称,将该实体指称输入别名词典和分布式搜索分析引擎 Elasticsearch 中,得到备选实体。接下来,将用户问题输人问句结构分类模型中,以进行问句识别,得到该问题属于一跳问题。

在槽位预测过程中:

根据问题的分类,即可得知有哪几个语义槽需要填充。一跳问题“莫妮卡·贝鲁奇的代表作是什么?”对应的查询语句为“select ?x where <莫妮卡·贝鲁奇>代表作品>?x.)”, 括号内的结构**<莫妮卡·贝鲁奇><代表作品>分别对应主语、谓语、宾语**,还需要填充实体<莫妮卡·贝鲁奇 >、关系<代表作品>、查询宾语 。因此,通过槽位预测进一步得知该问题有一个实体槽位和一个关系槽位需要填充。

注意:槽位(Slot)通常指的是一个语义单元,用于填充特定信息或实体。在提到问题“莫妮卡·贝鲁奇的代表作是什么?”时,槽位预测的结果是需要填充一个实体槽位和一个关系槽位。具体地,实体槽位需要填充的是主语(<莫妮卡·贝鲁奇>),而关系槽位需要填充的是谓语(<代表作品>)。

实体分析

对根据实体识别步骤得到的备选实体进行实体检索,并将检索的结果进行实体链接通过语义特征和人工特征进行实体消歧,得到真正的实体为<莫妮卡·贝鲁奇 >。

查询构造

在知识问答过程中,查询构造旨在根据问题的实体和关系槽位填充,构造出问题的候选查询路径,通过路径排序筛选出正确查询路径,根据此路径在知识图谱中查找相应的实体目标,以作为问题的最终答案。

先根据槽位预测步骤预测的槽位进行实体的槽位填充,将实体填充到该查询语句中,得到查询语句“select ?x where 莫妮卡·贝鲁奇>?x.”。然后搜索<莫妮卡·贝鲁奇>的所有关系名称,和原文进行语义匹配并进行路径排序,得到关系<代表作品>。再将代表作品填人槽位预测所预测的关系槽位中,进行关系的槽位填充,得到查询语句“select ?xwhere <莫妮卡·贝鲁奇代表作品?x”,并转化为知识查询语言最后将得到的知识库查询语言在知识库中查询并得到答案:《西西里的美丽传说》《狼族盟约》《不可撤销》《重装上阵》等。

查询构造过程的根本目标是提高查询路径的召回率。这里涉及两种不同类型的问句第一种类型,带约束的单关系问句。例如“谁是美国第一任总统?”,答案实体和实体“美国”之间只有一个“总统”的关系,但是也有“第一”的约需要被满足。针对这类复杂问题,提出了一种分阶段查询图生成方法,首先确定单跳关系路径,然后对其添加约束形成查询图。第二种类型,有多个关系跳跃的问句。例如“谁是又x 公司创给人的妻子?”,答案与“xx公司”有关,问句包含两种关系,即“创始人”和“妻子”。针对这类多跳问题,需要考虑更长的关系路径,以获取正确的答案。这里需要考虑限制搜索空间,即减少需要考虑的多跳关系路径的数量,因为搜索空间随着关系路径的长度呈指数级增长。因此,需要采取集束搜索(Beam Search)算法或根据数据构造特定的剪枝规则,减少产生的查询路径。待候选查询路径产生后,须在候选路径中使用排序模型(如深度模型ESIMBiMPM、Siamese LSTM等)进行评分,选择排序第一的查询路径作为最选择的路径。

接下来,讲解一下基于计算句子相似度的排序方法一一孪生网络(Siamese LSTM)。孪生网络是指网络中包含两个或两个以上完全相同的子网络,多应用于语句相似度计算、人脸匹配、签名鉴别等任务上。孪生网络语义匹配方法的工作流程图如下图。

两个句子输入后将其映射为一个向量,这里的词嵌入和编码(LSTM)参数相同,然后使用曼哈顿距离计算两边向量的差距,进而得出预测结果。

通过孪生网络方法,可以计算候选查询路径和查询问题的匹配得分,选出得分第一的查询路径作为最终选择的路径。

答案验证

答案验证模块的主要作用是验证答案的实体类型和关系类型,确定最终问题答案:莫妮卡·贝鲁奇的代表作有《西西里的美丽传说》《狼族盟约《不可撤销《重装上阵》等。

🍋实验结果

识别效果:F1平均值=0.901

识别性能:在NVTDIA 2080Ti GPU上,单词问答平均响应时间约200ms。

挑战与创造都是很痛苦的,但是很充实。


相关文章
|
7月前
|
存储 Java Apache
Velocityd的使用
Apache Velocity 是一个高效的 Java 模板引擎,主要用于动态文本生成,如网页、邮件或配置文件。其核心概念包括模板(Template)、上下文(Context)和引擎(VelocityEngine)。模板包含静态内容与动态指令,通过上下文传入数据,由引擎解析生成最终输出。Velocity 语法简洁,支持变量、条件判断、循环等逻辑控制,适用于 Web 开发及后端渲染场景。在 Spring Boot 等框架中集成方便,但需注意路径配置、编码设置及兼容性问题。
430 1
|
数据可视化 测试技术 PyTorch
智谱ChatGLM3魔搭最佳实践教程来了!
ChatGLM3-6B 是 ChatGLM 系列最新一代的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上
|
存储 虚拟化 Docker
Windows11 Docker镜像存储路径更改(非C盘路径)
本文是博主学习Docker的记录,对于C盘空间有限的同学,希望对大家有所帮助。
3593 0
Windows11 Docker镜像存储路径更改(非C盘路径)
|
5月前
|
人工智能 Java 数据库
Spring AI
Spring AI 为 Java 生态注入智能,提供统一抽象接口,简化大模型集成,助力开发者高效构建 AI 应用,推动企业智能化转型。
1043 147
|
SQL 安全 网络安全
确保你的数据库安全:如何防止SQL注入攻击
确保你的数据库安全:如何防止SQL注入攻击
|
11月前
|
人工智能 运维 监控
从大规模恶意攻击 DeepSeek 事件看 AI 创新隐忧:安全可观测体系建设刻不容缓
唯有通过全行业的协同努力,加强整体、完善的网络安全可观测建设,才能为 AI 技术的创新和发展构建一个安全而稳固的环境。我们期盼并相信,在攻克这些网络安全难题之后,AI 创新将迎来更加安全、灿烂的未来。
|
人工智能 算法 物联网
企业级RAG全链路优化关键技术
本文深入解析了企业级RAG全链路的关键技术、效果优化、性能优化及应用实践。
2758 2
企业级RAG全链路优化关键技术
|
数据采集 存储 前端开发
Puppeteer教程:使用CSS选择器点击和爬取动态数据
本文介绍如何使用Puppeteer结合CSS选择器爬取动态网页数据,以贝壳网的二手房价格为例,通过代理IP提高爬虫成功率。文章详细讲解了Puppeteer的安装和配置、代码实现及数据趋势分析,帮助读者掌握动态网页爬取技术。
568 1
Puppeteer教程:使用CSS选择器点击和爬取动态数据
|
安全 Serverless API
多模态数据信息提取解决方案评测
该方案展示了如何利用阿里云的多模态大模型服务进行文本、图片和文档的信息提取。通过函数计算(FC)调用百炼模型服务API,实现信息提取功能。具体步骤包括: 1. **开通百炼模型服务**:获取API Key,确保可以调用大模型。 2. **部署应用**:使用函数计算部署应用模板,配置参数并创建环境。 3. **访问示例应用**:通过提供的域名访问示例网站,测试信息提取功能。 4. **清理资源**:删除函数计算和OSS Bucket等资源,避免产生额外费用。 此方案具备多模态推理、易于扩展、灵活调用模式和便捷安全的云产品接入等优点,适用于多种业务需求。
553 28
|
安全 虚拟化 Docker
在win10中使用ModelScope官方镜像
为在办公环境笔记本win10上测试ModelScope的开源模型 ,记录踩坑过程
2644 0
在win10中使用ModelScope官方镜像

热门文章

最新文章