QA机器人第一节——介绍

简介: QA机器人第一节——介绍

今天就是简单讲解一下QA问答机器人,后面陆续再给大家逐步完善


问答机器人介绍


目标


  1. 知道问答机器人是什么
  2. 知道问答机器人实现的逻辑


1. 问答机器人


在前面的课程中,我们已经对问答机器人介绍过,这里的问答机器人是我们在分类之后,对特定问题进行回答的一种机器人。至于回答的问题的类型,取决于我们的语料。


当前我们需要实现的问答机器人是一个回答编程语言(比如python是什么,python难么等)相关问题的机器人

2. 问答机器人的实现逻辑

主要实现逻辑:从现有的问答对中,选择出和问题最相似的问题,并且获取其相似度(一个数值),如果相似度大于阈值,则返回这个最相似的问题对应的答案


问答机器人的实现可以大致分为三步步骤:


  1. 对问题的处理
  2. 对答案进行的机器学习召回
  3. 对召回的结果进行排序


2.1 对问题的处理


对问题的处理过程中,我们可以考虑以下问题:


  1. 对问题进行基础的清洗,去除特殊符号等
  2. 问题主语的识别,判断问题中是否包含特定的主语,比如python等,提取出来之后,方便后续对问题进行过滤。
  • 可以看出,不仅需要对用户输入的问题进行处理,获取主语,还需要对现有问答对进行处理
  1. 获取问题的词向量,可以考虑使用词频,tdidf等值,方便召回的时候使用


2.2 问题的召回link


召回:可以理解为是一个海选的操作,就是从现有的问答对中选择可能相似的前K个问题。


为什么要进行召回?


主要目的是为了后续进行排序的时候,减少需要计算的数据量,比如有10万个问答对,直接通过深度学习肯定是可以获取所有的相似度,但是速度慢。

所以考虑使用机器学习的方法进行一次海选


那么,如何实现召回呢?


前面我们介绍,召回就是选择前K个最相似的问题,所以召回的实现就是想办法通过机器学习的手段计算器相似度。


可以思考的方法:


  1. 使用词袋模型,获取词频矩阵,计算相似度
  2. 使用tfidf,获取tdidf的矩阵,计算相似度


上述的方法理论上都可行,知识当候选计算的词语数量太多的时候,需要挨个计算相似度,非常耗时。


所以可以考虑以下两点:


  1. 通过前面获取的主语,对问题进行过滤
  2. 使用聚类的方法,对数据先聚类,再计算某几个类别中的相似度,而不用去计算全部。


但是还有一个问题,供大家慢慢思考:


不管是词频,还是tdidf,获取的结果肯定是没有考虑文字顺序的,效果不一定是最好的,那么此时,应该如何让最后召回的效果更好呢?

2.3 问题的排序link


排序过程,使用了召回的结果作为输入,同时输出的是最相似的那一个。


整个过程使用深度学习实现。深度学习虽然训练的速度慢,但是整体效果肯定比机器学习好(机器学习受限于特征工程,数据量等因素,没有办法深入的学会不同问题之间的内在相似度),所以通过自建的模型,获取最后的相似度。


使用深度学习的模型这样一个黑匣子,在训练数据足够多的时候,能够学习到用户的各种不同输入的问题,当我们把目标值(相似的问题)给定的情况下,让模型自己去找到这些训练数据目标值和特征值之间相似的表示方法。


那么此时,有以下两个问题:


1.使用什么数据,来训练模型,最后返回模型的相似度


训练的数据的来源:可以考虑根据现有的问答对去手动构造,但是构造的数据不一定能够覆盖后续用户提问的全部问题。所以可以考虑通过程序去采集网站上相似的问题,比如百度知道的搜索结果。


2.模型该如何构建


模型可以有两个输入,输出为一个数值,两个输入的处理方法肯定是一样的。这种网络结构我们经常把它称作孪生神经网络。

很明显,我们队输入的数据需要进行编码的操作,比如word embedding + LSTM/GRU/BIGRU等


两个编码之后的结果,我们可以进行组合,然后通过一个多层的神经网络,输出一个数字,把这个数值定义为我们的相似度。


当然我们的深层的神经网络在最开始的时候也并不是计算的相似度,但是我们的训练数据的目标值是相似度,在N多次的训练之后,确定了输入和输出的表示方法之后,那么最后的模型输出就是相似度了。


召回优化link


前面我们介绍了问答机器人的实现的大致思路,那么接下来,我们就来一步步的实现它


目录
相关文章
|
存储 NoSQL 机器人
QA 机器人实现最后一步——代码的封装和提供接口
QA 机器人实现最后一步——代码的封装和提供接口
524 0
|
机器学习/深度学习 存储 人工智能
QA机器人排序模型
QA机器人排序模型
399 0
|
自然语言处理 算法 机器人
QA机器人召回优化
QA机器人召回优化
1158 0
|
数据采集 机器人 数据挖掘
QA机器人第二节——召回
QA机器人第二节——召回
456 0
|
机器学习/深度学习 自然语言处理 机器人
QA-对话系统-问答系统-聊天机器人-chatbot相关资源
QA-对话系统-问答系统-聊天机器人-chatbot相关资源
945 0
QA-对话系统-问答系统-聊天机器人-chatbot相关资源
|
人工智能 自然语言处理 机器人
9.9K star!大模型原生即时通信机器人平台,这个开源项目让AI对话更智能!
"😎高稳定、🧩支持插件、🦄多模态 - 大模型原生即时通信机器人平台"
606 0
|
数据采集 自动驾驶 机器人
数据喂得好,机器人才能学得快:大数据对智能机器人训练的真正影响
数据喂得好,机器人才能学得快:大数据对智能机器人训练的真正影响
1225 1
|
弹性计算 自然语言处理 Ubuntu
从0开始在阿里云上搭建基于通义千问的钉钉智能问答机器人
本文描述在阿里云上从0开始构建一个LLM智能问答钉钉机器人。LLM直接调用了阿里云百炼平台提供的调用服务。
1288 4
从0开始在阿里云上搭建基于通义千问的钉钉智能问答机器人
|
机器人
陌陌自动回复消息脚本,陌陌自动打招呼回复机器人插件,自动聊天智能版
这是一款为陌陌用户设计的自动回复软件,旨在解决用户无法及时回复消息的问题,提高成交率和有效粉丝数。软件通过自动化操作实现消息检测与回复功能
|
机器学习/深度学习 人工智能 自然语言处理
TsingtaoAI具身智能机器人开发套件及实训方案
该产品套件创新性地融合了先进大模型技术、深度相机与多轴协作机械臂技术,构建了一个功能强大、灵活易用的人机协作解决方案。其核心在于将智能决策、精准感知与高效执行完美结合,为高校实训领域的发展注入新动力。
1466 10

热门文章

最新文章