如何构建一个问答机器人(FAQ问答机器人)

开篇

下面的主要内容摘自腾讯知文的算法负责人的演讲,主要描述了腾讯知文问答系统的主要框架。

问答类型

第一种类型,任务驱动型。这种类型通常是用户希望去完成一些任务,比如查天气、查汇率等。

第二种类型,解决用户信息获取类的问题。这种类型也是我们这次分享的重点,我们将主要在这点展开。这也是目前业界落地最多的一种问答系统类型。

第三种类型,通用闲聊型。比如微软的小冰、苹果的 Siri 都支持通用闲聊,通用闲聊的加入会使对话系统更富于人性化,也可以加入个性化信息、用户画像信息,包括前面教授们提到的情感信息。

问答领域的数据

第一种,基于标准的、结构化的知识,比如说 FAQ 和 KG。FAQ 是常见问题解答,KG 是组织好的知识图谱,这两种都是比较结构化的数据类型。

第二种,数据以非结构化的形式存在,比如说表格、文档。

第三种,多模态、跨媒体问答,比如说 VQA,或可能存在视频、音频问答的语料库。

ps:就我的实习经验来说,在企业里往往是使用第一种数据去构建问答机器人的,同时,由于绝大多数的企业是没有能力构建KG的,所以大部分就FAQ的机器人。

通用的FAQ框架

由于图片比较模糊,所以就不放图了。

首先是问题处理模块,这一模块的工作包括查询、问询改写,错词纠正,同义词替换。第二步是

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
智能问答机器⼈概述 智能问答机器⼈概述 总览 处理逻辑: query–>控逻辑–>response 任务机器⼈ 指特定条件下提供信息或服务的机器⼈。 任务型机器⼈核⼼模块主要包括三部分: ⾃然语⾔理解模块 —— Language Understanding 对话管理模块 —— Dialog Management ⾃然语⾔⽣成模块 —— Natural Language Generation FAQ机器⼈ 客户⼀般咨询的是常见的 FAQ 问题,可以基于端到端的深度学习训练,将训练集标注好的问题和 FAQ 库⾥的标准问题编码成语义向 量,最后计算⽤户的输⼊和库⾥的标准问题的向量相似度,将最相似的 FAQ 返回给⽤户。 ⽰例流程: ⽤户:社保余额怎么查询? Preprocess:对query进⾏预处理,抽取NLP特征(纠错、标准化、⽂本特征提取) Retrieval:从问题索引召回候选集(query改写、倒排搜索/BM25) Matching:计算query与问句相似度并排序(冷⾃动匹配模型、深度匹配模型、知识图谱匹配、拒识模块) 可以在微信上关注社保公众号,在底部菜单… ⽤户 闲聊机器⼈ 当前主流的聊天机器⼈的设计⽬标主要集在四个⽅⾯: (1) 闲聊,即回答问候、情感和娱乐等信息; (2) 指令执⾏,帮助⽤户完成特定的任务,包括酒店及餐厅预订、机票查询、旅⾏向导、⽹络搜索等; (3) 问答,满⾜⽤户对知识和信息获取的需求; (4) 推荐,通过分析⽤户兴趣和话历史,推荐个性化内容。
根据提供的引用内容,我了解到聊天机器人主要分为闲聊机器人FAQ问答机器人两类。对于物流聊天机器人,可以考虑使用FAQ问答机器人的方式来实现。下面是一个简单的Python物流聊天机器人的实现示例: ```python # 导入必要的库 import random # 定义问题-答案字典 qa_dict = { "你好": ["你好,请问有什么可以帮助您的?"], "物流查询": ["您可以在我们的官网上查询物流信息。", "请问您需要查询哪个订单的物流信息?"], "订单状态": ["您可以在我们的官网上查询订单状态。", "请问您需要查询哪个订单的状态?"], "价格咨询": ["请问您需要咨询哪个产品的价格?"], "投诉": ["非常抱歉给您带来不便,您可以拨打我们的客服电话进行投诉。"], "其他问题": ["非常抱歉,我无法理解您的问题,请您换一种方式提问。"] } # 定义回答函数 def get_answer(question): # 遍历问题-答案字典,查找匹配的问题 for key in qa_dict.keys(): if key in question: # 如果找到匹配的问题,则随机返回一个对应的答案 return random.choice(qa_dict[key]) # 如果没有找到匹配的问题,则返回默认答案 return random.choice(qa_dict["其他问题"]) # 测试 print(get_answer("你好")) print(get_answer("物流查询")) print(get_answer("订单状态")) print(get_answer("价格咨询")) print(get_answer("投诉")) print(get_answer("其他问题")) ``` 该聊天机器人使用了一个问题-答案字典来存储问题和对应的答案,当用户输入一个问题时,机器人遍历问题-答案字典,查找匹配的问题,并随机返回一个对应的答案。如果没有找到匹配的问题,则返回默认答案。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值