(一)问答系统概述

以上内容来自于《自然语言处理实践,聊天机器人的技术原理与应用》

问答系统是信息检索系统的一种高级形式,它通过 Web 搜索或链接知识库等方式,检索到用户问题的答案,并用准确、简洁的自然语言回答用户。问答系统更接近信息检索中的语义搜索,针对用户用自然语言提出的问题,通过一系列的方法生成问题的答案,但与信息检索系统的不同在于,问答系统根据用户的问题直接给出精准的答案,而不是给出一系列包含候选答案的页面。系统生成答案的过程虽然也涉及简单的上下文处理,但通常是通过指代消解和内容补全完成处理操作的。问答系统主要针对特定领域的知识进行一问一答,侧重于知识结构的构建、知识的融合与知识的推理。
问答系统在任务上与很多相关领域的任务有共同点。例如,问答系统与信息检索均需要根据用户提出的问题在 Web 上进行答案信息的检索,问答系统与数据库查询(Database Query)均需要在数据库或知识库上进行答案信息的查询。问答系统与信息检索、数据库查询又有所不同,下面是三者各自的特点及各自适用的场景。
三者特点的对比如下。
1.信息检索
(1)以关键字作为输入,以文档或结构化的数据作为输出
(2)用户需要让搜索引擎「明白」搜索意图。
(3)想要获得令人满意的信息可能要依赖多种检索操作。
(4)信息检索是一个回复驱动的信息获取过程。
2.数据库查询
(1)以结构化的查询语句为输入,以数据记录(data record)或数据聚合(aggregation)等为输出。
(2)用户需要预先理解数据库的模式和数据库查询语言的语法。
(3)令人满意的查询结果可能依赖于多次查询操作。
3.问答系统
(1)以自然语言问题为输入,以准确的答案为输出。
(2)让机器承担更多数据解释的工作。
(3)问答系统是一个问题驱动的信息获取过程(Query-driven Information Access)。
三者适用场景的对比如下。
1.信息检索适用于简单信息的获取,问题可以用简单的关键字概括,并且网络上有大量相关的文档可供参考。
2.数据库查询适用于问题规模小而集中,仅存在少量语义异构信息的场景,这类场景对精确率和召回率的数值要求较高。
3.问答系统适用于特殊而复杂的信息需求,可以从多样化的、非结构化的信息中获取问题的答案,并且需要对问题进行更多自动化的语义理解。
现有的问答系统根据其问题答案的数据来源和回答的方式的不同,大体上可以分为以下 3 类。

  1. 基于 Web 信息检索的问答系统(Web Question Answering,WebQA)WebQA 系统以搜索引擎为支撑,理解分析用户的问题意图后,利用搜索引擎在全网范围内搜索相关答案反馈给用户。典型的系统有早期的 Ask Jeeves 和 AnswerBus 问答系统。
  2. 基于知识库的问答系统(Knowledge Based Question Answering,KBQA)KBQA 系统通过结合一些已有的知识库或数据库资源(例如 Freebase、DBpedia、Yago、Zhishi.me 等),以及利用如维基百科、百度百科等非结构化文本的信息,使用信息抽取的方法提取有价值的信息,并构建知识图谱作为问答系统的后台支撑,再结合知识推理等方法为用户提供更深层次语义理解的答案。
  3. 社区问答系统(Community Question Answering,CQA)CQA 系统也叫基于社交媒体的问答系统,例如 Yahoo! Answers、百度知道、知乎等问答平台。大多数问题的答案由网友提供,问答系统会检索社交媒体中与用户提问语义相似的问题,并将答案返回给用户。

KBQA系统简介
KBQA 系统是目前应用最广泛的问答系统之一,适用于人们生活的方方面面,例如在医疗、银行、保险、零售等行业建立相应专业知识的问答系统(智能客服系统),可以给用户提供更好的服务。知识库(Knowledge Base,KB)是用于知识管理的一种特殊的数据库,用于相关领域知识的采集、整理及提取。知识库中的知识源于领域专家,是求解问题所需领域知识的集合,包括一些基本事实、规则和其他相关信息。知识库的表示形式是一个对象模型(object model),通常称为本体,包含一些类、子类和实体。不同于传统的数据库,知识库中存放的知识蕴含特殊的知识表示,其结构比数据库更复杂,可以用来存放更多复杂语义表示的数据。知识库早被应用于专家系统,它是一种基于知识的系统,包含表示客观世界事实的一系列知识及一个推理机(inference engine),并依赖一定的规则和逻辑形式推理出一些新的事实 。KBQA 是基于知识库中的专业知识建立的问答系统,也是目前最主流的问答系统。常见的知识库有 Freebase、DBpedia 等。知识库一般采用 RDF 格式对其中的知识进行表示,知识的查询主要采用 RDF 标准查询语言 SPARQL。除此之外,还有一些(例如维基百科等)无结构化文本知识库。虽然不同的问答系统会有不同的体系架构,但一般来说,KBQA 系统包含问句理解、答案信息抽取、答案排序和生成等核心模块,其基本架构如图 所示。
在这里插入图片描述问句理解模块提取问题中的实体后,答案信息抽取模块通过在知识库中查询该实体得到以该实体节点为中心的知识库子图,并依据某些规则或模板从提取到的子图中抽取相应的节点或边,得到表征问题和候选答案特征的特征向量,最后将候选答案的特征向量作为分类模型的输入,通过模型输出的分值对候选答案进行筛选,从而得出最终答案。细化的 KBQA 系统各模块间的关系如图所示:
在这里插入图片描述
绝大多数的 KBQA 系统都包含以上 4 个核心功能模块,虽然几个模块的顺序可能不尽相同,但不同系统中每个模块完成的功能大体上一致。
主流的KBQA方法
实现 KBQA 系统的方法(根据其实现原理)可以分为基于模板匹配的方法、基于语义分析的方法、基于图遍历的方法、基于深度学习的方法和其他优化方法。

  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
faq检索式问答系统可以作为毕业设计的一部分。faq检索式问答系统是一种基于简单问题和回答的系统,常用于电子商务网站、客服平台等。作为毕业设计的一部分,可以选择该领域的相关问题和答案作为知识库,设计并开发出一个功能完善的问答系统。 毕业设计的设计和开发过程包括以下几个步骤:需求分析、系统设计、编码实现和系统测试。在需求分析阶段,需要明确系统的功能和特性,并确定系统所要解决的问题。设计阶段即是设计系统的整体框架,包括数据库设计、系统架构设计等。在编码实现阶段,可以选择使用合适的编程语言和开发框架来实现系统的各个功能模块。最后,在系统测试阶段,可以进行功能测试、性能测试和用户测试等,确保系统的稳定和可靠性。 对于faq检索式问答系统的开发,需要熟悉相关的技术,如自然语言处理、机器学习、数据库管理等。同时,还需要有良好的系统设计和编程能力。在毕业设计中,可以扩展系统的功能,如用户注册和登录模块,管理员后台管理模块等,提升系统的实用性和完整性。 总之,faq检索式问答系统是可以作为毕业设计的一部分,并且可以根据个人的兴趣和需求进行功能扩展。对于计算机相关专业的学生,通过设计和开发faq检索式问答系统可以提升自己的技术能力和实践经验,为日后的就业或进修打下良好的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值