【NLP-ChatBot】搜索引擎的最终形态之问答系统(FAQ)详述

FAQ 是什么?是知识库还是客服问答记录? 4️⃣ 如果 FAQ 无匹配,AI 可以参考。,但 FAQ 可能来自客服问答的总结归纳。让我们详细拆解它的概念和区别👇。2️⃣ AI 检索 FAQ,匹配到。3️⃣ 提供 FAQ 答案。,但不完全等同于知识库。 阅读详情

本篇介绍聊天机器人中出现的比较早的一种:问答系统。问答系统跟检索技术很相似,基本的功能就是,用户可以向系统咨询信息,系统通过“检索”,向用户返回精准、有效的信息。所以,常常有人说,问答系统是搜索引擎的最终形态。

作者&编辑 | 小Dream哥

1 什么是问答系统

我们之前介绍过,按照应用场景的不同,聊天机器人可以分为问答系统,对话系统以及闲聊机器人三类。今天我们就来详细讲一讲其中的问答系统。

问答系统是基于用户的问题,给定一个回答,不涉及到多轮对话。通常用于智能搜索,智能家居中的家电控制等场景。问答系统往往不需要调用业务能力,只需要完成对用户问题的匹配及回答。

我们之前介绍过,问答系统的任务其实就是,对用户的输入进行相似度或者相关性计算,然后在相应的FAQ库里,寻找该用户输入对应的答案,并返回给用户。

2 问答系统(QA)中的语料库

通常,一个问答系统,都是针对某一个领域的。例如,一个淘宝卖家的问答系统,针对的是买家常问的商品类型和价格信息问题作出回答。

因此,要构建一个问答系统第一步就是整理FAQ库。一个FAQ库应该如下的内容:

1.标准问。标准问是问答系统设计者设计的标准问题,例如,“***商品的价格是多少?”。标准问的个数,决定了问答系统的规模,通常由业务专家给定。

2.相似问。一个标准问通常会对应多个相似问,与标准问表达相同的意思,但往往会不那么规范,较口语化,相似问通常要求覆盖面越广越好。例如,“****商品多少钱呀?”。相似问早期由业务专家拟定,数据师扩写,后期会不断修缮、规整和增加。

3.答案。一个标准问对应一个答案,返回给用户。由业务专家拟定。

FAQ库的质量,对于一个问答系统非常的重要,但是FAQ库的建立和维护往往都是一件极其费时费人力的事情。当一个FAQ库规模变大时,相似问之间的界限开始变的迷糊,会给算法带来非常大的挑战;另一方面,当FAQ库规模很大时,后期的维护也变得非常的困难。例如,当系统出现bad case,数据师很难判断bad case出现的原因,无法判断是哪条标准问对应的相似问加错了,从而很难修改。

对于一个问答系统而言,高质量FAQ库需要建立的时候就异常用心,通常需要业务专家和算法工程师通力合作;在使用时也需要倍加用心的维护,这时,需要培养多位既了解算法特性,又熟悉业务场景的数据师。这大概是目前生产中大部分问答系统采用维护方案了。

3 问答系统Q-A的匹配方式

在问答系统中,模型算法的任务其实就根据用户输入的问题匹配到相应的答案。这看起来是个简单的问题,实际上不然。

一方面,一个标准问,用户可能的问法有很多,很多时候都无法预料,需要不断的完善;另一方面,FAQ库的规模通常很大,标问数目可以达到数万,相似问的数据可能就更多了。这么大数目的预料,长度不一,算法难度很大。

模型的训练过程,其实就是让模型能够学习到问题-答案(Q-A)对之间的联系,或者Query集的特征。如下图所示,是QA中匹配用户query的模式。

640?wx_fmt=png

由此可知,目前QA系统的实现,主要有以下三种方式:

1.计算用户输入Query和Question的相似度。通过计算用户输入Query与FAQ语料集中Question之间的相似度,选出相似度最高的Question,再通过Q-A map找到相应的答案返回给用户。

2.计算用户输入Query和Answer的之间的相关性。通过计算用户输入Query与FAQ语料集中Answer之间的相关度,选出相关度最高的Answer,返回给用户。

3.结合用户输入Query和Answer的之间的相关性以及用户输入Query和Question的相似度。通过结合相关性和相似度,选出最匹配的Answer,返回给用户。

4  问答系统中匹配的算法

由上节可知,问答系统中的匹配可以归结为query与FAQ库中标问和相似问的相似度计算与query与FAQ库中答案的相关性计算。总的来说,目前相似度或相关性计算有下面的几种方式。

1)规则匹配

也许有读者会觉得很惊讶,都9012了,还有人用规则匹配来做机器人?其实不必惊讶,目前,很多机器人都有规则匹配的部分,它可控,高效、易于实现。

我这里介绍一种规则匹配的方式,也有人称为句式法。所谓句式法,就是针对FAQ库中的标问和相似问进行分词、提炼出大量的概念,并将上述概念组合,构成大量的句式,句式再进行组合形成标问。例如,标问“华为mate30现在的价格是多少?”,拆出来“华为mate30”是cellphone概念,“价格是多少”是askMoney概念,“现在”是time概念,那么“华为mate30现在的价格是多少?”就是cellphone+askMoney+time。用户输入"华为mate30现在卖多少钱?"进行分词,可以得到相同的句式和概念组合,就能够命中“华为mate30现在的价格是多少?”这个相似问了。

2)深度学习语义匹配

语义匹配笔者之前有介绍相关的代表性论文,感兴趣的同学可以仔细看看,非常有好处:

语义匹配的技术,从早期的DSSM,利用词袋模型,计算句之间的相似度;到后面利用LSTM-DSSM来捕捉长时间序列的语义信息;再到现在的基于BERT的语义相似度计算与匹配。本质上,其实都是提取句子的语义特征,再通过数学运算计算相似度。

5 KBQA介绍

Knowledge Based Question&Answer(KBQA),是一种基于知识体系的问答系统,现在知识库更多的是指知识图谱了。

KBQA回答用户问题的方式通常有如下两个步骤组成:

1.利用NLU模块进行语义理解和解析,包括意图识别,实体识别,实体关系识别,实体匹配等。

2.利用知识图谱进行查询、推理得出答案

搭建KBQA中最重要最关键的一步就在于知识图谱的搭建。知识图谱对于绝大部分NLP任务都有极大的加成,个人认为是当前最有价值的NLP方向。

总结

搭建一个问答系统是非常耗费时间和人力的事情,不管是传统的QA,还是近来的KBQA。对传统的QA,FAQ库的建立和维护都异常费事;对于KBQA,知识图谱的搭建,就是一个难度巨大的工程。

近期我们会在知识星球实现问答系统,具体实现和优化,感兴趣扫描下面的二维码了解。

读者们可以留言,或者加入我们的NLP群进行讨论。感兴趣的同学可以微信搜索jen104,备注"加入有三AI NLP群"。

下期预告:聊天机器人-对话系统介绍

知识星球推荐

640?wx_fmt=png

扫描上面的二维码,就可以加入我们的星球,助你成长为一名合格的自然语言处理算法工程师。

知识星球主要有以下内容:

(1) 聊天机器人。考虑到聊天机器人是一个非常复杂的NLP应用场景,几乎涵盖了所有的NLP任务及应用。所以小Dream哥计划以聊天机器人作为切入点,通过介绍聊天机器人的原理和实践,逐步系统的更新到大部分NLP的知识,会包括语义匹配,文本分类,意图识别,语义匹配命名实体识别、对话管理以及分词等。

(2) 知识图谱。知识图谱对于NLP各项任务效果好坏的重要性,就好比基础知识对于一个学生成绩好坏的重要性。他是NLP最重要的基础设施,目前各大公司都在着力打造知识图谱,作为一个NLP工程师,必须要熟悉和了解他。

(3) NLP预训练模型。基于海量数据,进行超大规模网络的无监督预训练。具体的任务再通过少量的样本进行Fine-Tune。这样模式是目前NLP领域最火热的模式,很有可能引领NLP进入一个全新发展高度。你怎么不深入的了解?

转载文章请后台联系

侵权必究

640?wx_fmt=png
640?wx_fmt=png
640?wx_fmt=png

往期精选

基于句子相似度的FAQ问答系统 总结一波我的项目之一,历史久远,要把它理清一下。   Introduce:日趋增多的网络信息使用户很难迅速从搜索引擎返回的大量信息中找到所需内容。自动问答系统为人们提供了以自然语言提问的交流方式,为用户直接返回所需的答案而不是相关的网页,具有方便、快捷、高效等特点。 Process:本文的问答系统采用了一个FAQ(Frequently Asked Questions)问答库,并基于句子相似度... 阅读详情

相关推荐

AI工程实践指南:从Newsletter到可落地的Agent与视觉模型

人工智能正从概念验证迈向规模化工程落地,其核心已不再是单一模型性能,而是AI Agent的任务编排能力、视觉基础模型(如Segment Anything)的提示驱动分割能力,以及RAG、微调、安全围栏等系统级工程实践。理解这些技术的原理,关键在于把握开源协议约束、最小可行闭环验证、真实延迟与错误率等工程水位指标。它们共同构成AI从Demo走向生产系统的三大支柱:可复用、可监控、可演进。本文基于一线从业者对主流AI Newsletter的深度拆解,聚焦Auto-GPT类Agent架构瓶颈、SAM在医疗与电商场

alexhill2009的博客 526

FAQ检索式问答系统 or 智能客服的问答对如何构建

FAQ 指的是常见问答,也就是针对于某个业务,用户经常问的问题、重点关切的问题。对于一些销售型、服务型的公司,经常会在公司官网首页,或者APP中配置在线客服系统,为了节省客服人力开支,开发一个具备自动问答功能的客服机器人是有必要的。我们可以将一些固定的、简单的、常见的历史问题进行归纳总结制作“标准问题”,然后组织相关人员撰写答案,如此就生成了 FAQ 知识库了。比如某公司生成了某产品,那么会有产品手册,这样就可以从手册中总结一些问题。比如“XX产品都有什么型号?”,“XX型号空调是多少匹?

qkh1234567的博客 2887

第 1 讲:AI、LLM、Agent 到底是什么

本讲介绍了Agent的基本概念及其与聊天机器人的区别。主要内容包括:1)AI、机器学习、深度学习和大模型的关系;2)LLM(大语言模型)作为语言处理引擎的能力;3)Agent的核心定义——基于大模型能力,通过理解目标、调用工具、执行任务并动态调整来完成实际工作的系统;4)Agent与聊天机器人的关键差异在于任务导向性、工具调用和状态管理能力;5)Agent的五大基本能力:目标理解、上下文运用、工具调用、状态管理和反馈调整。课程通过旅行规划和故障排查等场景案例,帮助开发者理解如何构建具有实际执行能力的AI系统

weixin_43674738的博客 173

NLP——Question Answering 问答模型

语义分析(Semantic Analysis):这一步涉及到理解问题的含义,可能包括命名实体识别(Named Entity Recognition,即识别出问题中的实体,如人名、地名等)、实体链接(Entity Linking,即把问题中的实体链接到知识库中的实体)和关系抽取(Relation Extraction,即理解问题中的实体之间的关系)。这可能是一种结构化的表示(例如一个包含实体、关系和关键词的图)或者一种分布式的表示(例如一个向量,由词嵌入模型如Word2Vec或BERT生成)。

qq_42902997的博客 5405

给jetson nano 安装AX200网卡驱动

几经波折,因为在网上看到的基本都是amd版本而非arm版,然后最终选定V5.5是因为更新的几个版本的arm版本是false的(在https://kernel.ubuntu.com/~kernel-ppa/mainline/处选择版本时,得看在arm64上是false还是build succeeded,之前没经验呀刚刚才顿悟的) 1,参考文章https://blog.youkuaiyun.com/MIRANA0/article/details/106696334 学到了得下载如下四个: wget https://k

发嘎嘎的博客 2346

POI 写word,添加标题,表格,图片,自动生成目录,合并单元格

工程地址:https://github.com/zheng-chang-wei/word package com.example.demo1.poi; import org.apache.poi.xwpf.usermodel.XWPFDocument; import java.io.File; import java.io.FileOutputStream; public class ...

zheng_chang_wei的博客 6155

FAQ 检索式问答系统学习记录

FAQ 检索式问答系统学习记录

消极的人永远是对的,积极的人选择勇往直前 1905

AD9361 官方例程详解(一)

文章目录前言一、pandas是什么?二、使用步骤总结 前言 一、pandas是什么? 二、使用步骤 总结

weixin_44630490的博客 4万+

【NLP-ChatBot】我们熟悉的聊天机器人都有哪几类?

本篇是专栏中介绍聊天机器人的第一篇,会大概介绍聊天机器人的历史、特点、分类以及技术框架,让大家对聊天机器人有一个大致的了解。作者&编辑 | 小Dream哥 1 ...

hacker_long的专栏 2307

Python画常见分布的概率密度图

因为做概随大作业,了解了一些python画概率分布图的方法。

qq_44807946的博客 5204

hwasan实例分析踩内存之一:camx进程stack tag-mismatch的三种解决方案

hwasan实例分析踩内存之一:camx进程stack tag-mismatch的三种解决方案。

1291

Elastic:开发者上手指南

你们好,我是Elastic的刘晓国。如果大家想开始学习Elastic的话,那么这里将是你理想的学习园地。在我的博客几乎涵盖了你想学习的许多方面。在这里,我来讲述一下作为一个菜鸟该如何阅读我的这些博客文章。 我们可以按照如下的步骤来学习: 1)Elasticsearch简介:对Elasticsearch做了一个简单的介绍 2)Elasticsearch中的一些重要概念:cluster,n..........................................................

Elastic 中国社区官方博客 17万+

3篇1章6节:R基础绘图之图形的保存和导出技巧

高质量图形导出是R语言用户在数据分析和科研工作中的重要技能。通过合理控制图形的分辨率、选择合适的颜色管理方案和文件格式,以及掌握批量保存图形的技巧,可以显著提升图形的展示效果和应用范围。这不仅有助于提高研究成果的展示质量,还能在各种专业场合中展现数据分析的精确性和美观性。

MD Code 1482

万字总结!5大AI应用场景+17个细分方向+40多个案例精选

万字总结!5大AI应用场景+17个细分方向+40多个案例精选。探讨现阶段 AI 应用的方向、实际体验及其对应价值,为想要做 AI 应用的小伙伴提供方向价值判断参考。这里筛选了我个人目前看到的比较亮眼且有实际应用场景的案例,对实际体验感受做了总结,也推荐大家自己上手感受。

代码讲故事 6393

Python实现PDB文件预处理

蛋白质结构研究依赖PDB文件存储的三维结构数据,但原始文件常含无关的水分子、离子和非标准残基等干扰信息。本文介绍了一个基于BioPython的Python预处理脚本,可自动清理PDB文件,主要功能包括:1)移除短于阈值的蛋白质链;2)过滤非标准氨基酸;3)可选保留水分子和金属离子。该脚本逻辑清晰,支持批量处理,能显著提升结构比对、分子对接等分析前的数据准备效率,为后续生物信息学研究提供更纯净的结构数据基础。

Protein Designer的博客 568

Spring AI 项目实战(十八):Spring Boot + AI + Vue3 + OSS + DashScope 实现高效语音识别系统(附完整源码)

本文介绍基于 Spring Boot AI 集成阿里云 OSS 与 DashScope 语音识别 API 的高效语音识别系统。该系统通过云端存储音频文件,解决传统本地存储的性能瓶颈与存储压力,支持同步 / 异步语音转文本,实现文件自动生命周期管理。文中详述技术选型、架构设计、核心代码实现(含前后端及配置)、部署流程,展现其高并发处理、可靠文件管理能力,适用于客服、教育等企业级场景,为语音识别应用提供实用解决方案。

博客 1537

【学术前沿】26 亿参数量,水平接近人类,Google 的开放领域聊天机器人意义何在?...

鼠年大吉HAPPY2020'S NEW YEAR来源:雷锋网科技巨头们时不时就声明在 AI 领域取得了突破性进展,对此我们已经见惯不惊了。当地时间 2020 年 1 月 28 ...

zandaoguang的博客 443

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

疫情数据可视化与预测系统实战设计

疫情数据可视化是公共卫生领域关键的技术实践,涉及实时数据采集、多源异构数据清洗、时间序列建模与动态交互图表呈现等核心环节。其技术原理建立在数据治理规范、时序平稳性检验、特征工程与模型可解释性基础之上,具备高容错、低延迟、强溯源等工程价值。典型应用场景包括政府疫情指挥中枢、医疗机构资源调度、公众健康信息服务平台及教学复现项目。本文聚焦真实部署环境下的技术选型权衡——如SQLite替代PostgreSQL应对资源约束、TF-IDF+UMLS实现轻量语义匹配、Savitzky-Golay滤波提升趋势识别精度,以及

weixin_34302798的博客 397

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Python深度学习:从入门到实战

亲爱的读者,欢迎您翻开这本书。我们即将探索的,是深度学习的宇宙——一个由数据、算法与算力构筑的奇妙世界。它既是严谨的科学,也是创造的艺术,更是一条通往未来智慧的修行之路。本书将带您从最基础的数学原理出发,亲手搭建神经网络,驾驭Transformer等前沿模型,最终将智慧转化为现实世界的价值。请放下畏惧,保持好奇。这不仅是一次知识的学习,更是一场思维的远行。来,随我一起,开启这趟非凡的旅程吧。

YunWisdom 163

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

小智ESP32 AI聊天机器人固件:从面包板到171个板卡变体,离一台能用的设备还差几步

小智ESP32是跑在ESP32系列芯片上的语音助手固件:离线语音唤醒、Opus语音流、对接Qwen/DeepSeek等大模型,再通过MCP协议让设备控制本地外设或调用云端能力。它目前维护138个板卡目录、171个固件变体,覆盖ESP32、C3、C5、C6、S3、P4六类芯片,38种界面语言。本文不讲"从零搭建",而是把几个真实决策点拆开:设备端和云端各干什么、板子怎么选、不装开发环境能不能烧进去、

gitblog_00266的博客 1114
上一篇: 【NLP实战】tensorflow词向量训练实战
下一篇: 【直播】如何设计性能更强大的深度卷积神经网络
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言有三

三人行必有AI

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值