掌桥专利:专业的专利平台
掌桥专利
首页

基于异步服务的智能问答方法和系统

文献发布时间:2024-04-18 19:58:21


基于异步服务的智能问答方法和系统

技术领域

本发明实施例涉及人工智能领域,尤其涉及一种基于异步服务的智能问答方法和系统。

背景技术

智能问答是自然语言处理技术的重要应用,主要通过对用户输入的问题进行处理,根据输入分析出问题关键内容并生成回答,为用户提供知识查询。

专利CN116821295A公开了一种智能问答方法、装置、计算机设备及介质,专利CN116860920A公开了一种基于常识图谱的模型生成和智能问答方法与系统,均可以利用知识图谱实现智能问答。但在不具备知识图谱的情况下,以及在知识储备过程中如何应对用户问答,仍是亟待解决的问题。

发明内容

本发明实施例提供一种基于异步服务的智能问答方法和系统,允许用户提供知识来源,边问答边进行知识储备,并提高问答响应效率。

第一方面,本发明实施例提供了一种基于异步服务的智能问答方法,应用于基于异步服务的智能问答系统,所述系统包括SaaS端和PaaS端;

所述方法包括:

在所述SaaS端构建与客户端交互的智能问答服务;在所述PaaS端构建与所述智能问答服务交互的WEB服务,以及用于实现知识向量化的异步服务;

响应于客户端针对特定知识主题的新增知识请求,所述智能问答服务向所述WEB服务请求身份认证通过后,将所述知识主题关联的各知识文件信息发送至所述WEB服务请求新增知识,所述WEB服务通过异步消息请求所述异步服务将各知识文件向量化,完成知识新增;

响应于客户端针对所述知识主题的问答请求,所述智能问答服务根据所述知识主题向所述WEB服务请求答案,所述WEB服务调用大语言模型根据所述知识主题关联的、向量化后的各知识文件进行回答;

其中,在所述异步服务将任一知识文件向量化的过程中,所述智能问答服务和WEB服务用于响应客户端针对其它知识主题的问答请求,或利用所述知识主题关联的、向量化后的其它知识文件响应客户端针对所述知识主题的问答请求;各知识主题包括通用知识、不同课程或不同培训班。

第二方面,本发明实施例提供了一种基于异步服务的智能问答系统,包括SaaS端和PaaS端;所述SaaS端构建有与客户端交互的智能问答服务;所述PaaS端构建有与所述智能问答服务交互的WEB服务,以及用于实现知识向量化的异步服务;其中,

响应于客户端针对特定知识主题的新增知识请求,所述智能问答服务用于向所述WEB服务请求身份认证通过后,将所述知识主题关联的各知识文件信息发送至所述WEB服务请求新增知识,所述WEB服务通过异步消息请求所述异步服务将各知识文件向量化,完成知识新增;

响应于客户端针对所述知识主题的问答请求,所述智能问答服务用于根据所述知识主题向所述WEB服务请求答案,所述WEB服务调用大语言模型根据所述知识主题关联的、向量化后的各知识文件进行回答;

其中,在所述异步服务将任一知识文件向量化的过程中,所述智能问答服务和WEB服务用于响应客户端针对其它知识主题的问答请求,或利用所述知识主题关联的、向量化后的其它知识文件响应客户端针对所述知识主题的问答请求;各知识主题包括通用知识、不同课程或不同培训班。

本发明实施例允许用户针对特定知识主题上传知识文件并提问,系统优先根据上传的知识文件生成答案,使问答结果更符合用户需求。为了提高系统响应速度,本实施例采用SaaS端与PaaS端结合的云服务架构,通过三个异步并行线程将问答响应任务和知识文件向量化任务分离,并通过相互配合将两项任务分别划分为身份认证、状态识别、数据补偿、获取备用答案等不同阶段,三线程分别执行不同阶段的操作,共同实现了边问答边进行知识储备。在任一知识文件向量化的过程中,智能问答服务和WEB服务可以对用户的其他问答作出响应,避免单线程下由于知识储备造成的问答堵塞,提高问答响应效率。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供一种基于异步服务的智能问答系统的示意图;

图2是本发明实施例提供的一种基于异步服务的智能问答方法的流程图;

图3是本发明实施例提供的另一种基于异步服务的智能问答方法的流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行清楚、完整的描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

本发明实施例提供一种基于异步服务的智能问答方法。为了说明该方法,优先说明实现该方法的系统架构。图1是本发明实施例提供一种基于异步服务的智能问答系统的示意图。如图1所示,该系统包括用户侧和服务侧,用户侧包括部署在用户设备的客户端,用于接收用户的指示与操作;服务侧采用云服务模式,包括SaaS端和PaaS端,用于根据用户的指示与操作提供服务。其中,PaaS端为完整的应用平台,包括开发环境、运行环境、数据库和中间件等,本实施例基于此应用平台开发了智能问答服务并部署于SaaS端,该服务可以表现为软件应用程序,用户可以通过客户端或互联网页面访问该应用程序,直接与智能问答服务交互。进一步的,PaaS端部署有WEB服务和异步服务,WEB服务能够对智能问答服务进行身份认证并直接与其交互,及时响应智能问答;异步服务则以异步方式实现问答背后的知识储备过程,同时也能够向智能问答服务提供知识储备的反馈信息。

基于以上系统架构,图2是本发明实施例提供的一种基于异步服务的智能问答方法的流程图。该方法适用于需要根据特定知识来源进行智能问答的情况,由上述智能问答系统执行。如图1所示,该方法具体包括:

S110、在所述SaaS端构建与客户端交互的智能问答服务;在所述PaaS端构建与所述智能问答服务交互的WEB服务,以及用于实现知识向量化的异步服务。

为了实现根据特定的知识来源进行智能问答,本实施例允许用户上传知识文件作为指定的知识来源,并通过知识文件向量化实现知识储备。由于提出问题和知识储备均是由用户临时发起的,系统需要边问答边进行知识储备,为了平衡问答时效性要求较高但知识储备过程耗时较长的矛盾,本实施例采用SaaS和PaaS结合的云服务模式,在所述SaaS端构建与客户端交互的智能问答服务,在所述PaaS端构建与所述智能问答服务交互的WEB服务,以及用于实现知识向量化的异步服务,由三种异步并行的独立线程配合完成边问答边进行知识储备的过程,以满足用户的时效性要求。具体过程将下文中详细说明。

S120、响应于客户端针对特定知识主题的新增知识请求,所述智能问答服务向所述WEB服务请求身份认证通过后,将所述知识主题关联的各知识文件信息发送至所述WEB服务请求新增知识,所述WEB服务通过异步消息请求所述异步服务将各知识文件向量化,完成知识新增。

本实施例通过知识主题实现知识分类,便于用户针对特定领域上传知识文件并进行知识查询。可选的,知识主题可以划分为通用知识、课程或培训班几类,包括知识名称、知识描述等内容。当知识主题类型为课程或培训班时,不同的知识主题对应不同的课程或培训班,知识名称可以为课程名称或培训班名称,知识描述可以为具体课程或培训班的相关描述。

结合图3,在一具体实施方式中,用户针对特定知识主题新增知识的过程可以包括如下步骤:

步骤一、响应于客户端针对特定知识主题的新增知识请求,所述智能问答服务将所述知识主题关联的各知识文件信息在SaaS端的第一状态标注为待转换,并向所述WEB服务请求身份认证,认证通过后将各知识文件信息和SaaS端的回调地址发送至所述WEB服务请求新增知识。具体的,需要新增知识时,用户需要指定知识主题和关联的至少一个知识文件;客户端将知识主题及各知识文件的信息封装于新增知识请求中,发送至智能问答服务(对应图3中的步骤1)。其中,知识主题可以包括知识主题名称、类型和描述,每个知识文件的信息可以包括文件名称、文件路径、文件描述等。可以将知识ID、知识主题和知识文件信息称为知识信息,如表1所示。智能问答服务收到新增知识请求后,提取上述知识信息并在SaaS端创建该知识信息的状态标识,标注为“待转换”(对应图3中的步骤2)。可选的,在同一知识主题关联多个知识文件的情况下,可以在SaaS端为各知识文件分别创建状态标识并标注为“待转换”,实现各知识文件的单独管理。完成状态标注后,智能问答服务向WEB服务请求身份认证。如果是首次登录,WEB服务向智能问答服务分配安全token,智能问答服务将token保存在本地,后续每次交互前通过token进行身份认证(对应图3中的步骤3)。认证通过后,智能问答服务将知识信息和SaaS端的回调地址封装于另一新增知识请求中发送至WEB服务(对应图3中的步骤4)。需要说明的是,表1仅给出了知识信息的一个示例,实际应用中可以根据需要增减或减少部分内容,本实施例不作具体限制。

表1 待新增的知识信息示例

步骤二、响应于所述智能问答服务的新增知识请求,所述WEB服务根据各知识文件信息在PaaS端标注的第二状态向所述异步服务发送异步消息,以请求所述异步服务将各知识文件转换为向量,其中,所述异步消息包括所述各知识文件信息和所述回调地址。本步骤在PaaS端对知识信息的状态进行了第二次标注,使SaaS端和PaaS端均能够掌握知识信息的转换状态。为了便于区分和描述,将SaaS端标注的状态称为第一状态,将PaaS端标注的状态称为第二状态。可选的,每个知识文件都标注有自己的第二状态。WEB服务收到智能问答服务发送的新增知识请求后,从该请求中提取各知识文件的信息并将其第二状态标注为待转换(对应图3中的步骤5)。对于待转换状态的知识文件,所述WEB服务将该知识文件的信息和回调地址封装于异步消息,发送至所述异步服务,以请求所述异步服务将所述知识文件转换为向量(对应图3中的步骤6)。

步骤三、响应于所述异步消息,所述异步服务调用大语言模型的向量库算法,将各知识文件转换为向量,根据转换结果标注各知识文件的第二状态并根据所述回调地址向所述智能问答服务反馈。具体的,异步服务可以实时或周期性监听异步消息(对应图3中的步骤7);当监听到异步消息时,从异步消息中提取知识文件信息,并根据知识文件中的文件路径和文件名称提取文件文本,从而调用向量库算法将文本数据转换为数值向量存储于向量库中,完成知识新增(对应图3中的步骤8)。示例性的,可以利用Word2Vec模型实现向量化,或直接调用ES(Elasticsearch)向量库的API接口进行数据向量化,具体转换过程为现有技术,在此不再赘述。然后,异步服务将该知识文件信息的第二状态更新为转换成功;特殊的,如果网络异常等原因导致向量库算法失败或存储于向量库失败,则将所述第二状态更新为转换失败(对应图3中的步骤9)。状态更新后,异步服务根据异步消息中封装的回调地址,向智能问答服务反馈转换结果(对应图3中的步骤10)。

步骤四、响应于任一知识文件信息的转换结果为转换成功,所述智能问答服务将所述知识文件信息的第一状态更新为转换成功,并向客户端展示为可用知识。可选的,所述智能问答服务可以将所述知识主题和所述知识文件信息均向客户端展示为可用知识。尽管所述知识主题下可能还关联有其它未转换成功的知识文件,但由于当前知识文件已转换成功,该知识主题就已经拥有可用的知识源,用户就可以针对该知识主题进行查询。

响应于任一知识文件信息的转换结果为转换失败,所述智能问答服务将所述知识文件信息的第一状态标注为转换失败。对于转换异常的文件,智能问答服务设置了数据补偿机制,定时查询第一状态长期处于待转换或转换失败的知识文件信息,例如每隔30分钟查询30分钟前至当前时刻一直处于待转换或转换失败状态的知识文件,并将查询到的知识文件信息和所述回调地址重新封装为新增知识请求,发送至所述WEB服务重新请求新增知识,直到第一状态更新为转换成功。相应的,由于数据补偿机制的存在,上述步骤二中当WEB服务接收到智能问答服务发送的新增知识请求时,首先查询该知识文件信息在PaaS端标注的第二状态,如果第二状态待转换或转换失败,则重复步骤二到步骤四的过程完成知识新增;如果第二状态为转换成功,表明异步服务已完成了知识文件向量化,只是智能问答服务由于网络异常或其他原因未更新为正确的第一状态,这时所述WEB服务直接根据所述回调地址向所述智能问答服务反馈转换结果,例如直接反馈PaaS端记录的第二状态。

S130、响应于客户端针对所述知识主题的问答请求,所述智能问答服务根据所述知识主题向所述WEB服务请求答案,所述WEB服务调用大语言模型根据所述知识主题关联的、向量化后的各知识文件进行回答。

如上所述,任一知识文件向量化完成后,该知识文件及其所属的知识主题即向客户端展示为可用知识。用户可以通过用户端针对该知识主题进行提问。问题将直接发送至智能问答服务,智能问答服务可以向用户展示“答案请求中,请等待”的提示并向WEB服务请求答案。WEB服务调用大语言模型,优先从该知识主题关联的已加入向量库的知识文件中学习答案,如果无法学习到答案再从其它资源(例如网络资源)中学习答案。

在一具体实施方式中,该过程可以包括如下步骤:

步骤一、所述WEB服务从大语言模型的向量库中调用所述知识主题关联的、向量化后的各知识文件,并计算各调用文件中各语言单元与问题的向量相似度。示例性的,可以利用Word2Vec模型生成的句子向量计算余弦距离,或直接调用ES向量库中的开源算法计算相似度,具体计算过程为现有技术,在此不再赘述。

在一具体实施方式中,计算向量相似度时可以借助提问针对的知识主题,对知识文件和问题的向量表示进行重新映射,以提取其中与知识主题紧密相关的成分。具体的,首先,可以利用向量库算法将知识主题转换为向量矩阵,以Word2Vec模型为例,可以将知识主题名称或描述中每个词元的嵌入式向量作行向量,按列依次排列为向量矩阵;然后,对所述向量矩阵进行主成分分析,得到表征知识主题主要语义信息的各特征向量。接着,针对任一调用文件中任一语言单元,计算该语言单元的向量与各特征向量的相似度,由各相似度构成所述语言单元新的向量表示,上述各相似度表征了语言单元在当前知识主题主要语义成分上的分量,能够更准确地反映该语言单元与知识主题的相关性。同理,计算问题向量与各特征向量的相似度,由各相似度构成所述问题新的向量表示,该向量中的各元素同样表征了用户提出的问题在当前知识主题主要语义成分上的分量,也能够更准确地反映该问题与知识主题的相关性。最后,根据两个新的向量表示计算所述问题与所述语言单元的向量相似度,相似度越大,该语言单元成为答案的可能性越大。上述具体实施方式根据知识主题的语义信息对文本向量进行了重构,有利于提取文本对知识主题的贡献程度,体现知识主题对智能问答结果的影响,特别适用于同一知识文件和/或同一语言单元关联于多个知识主题的情况。

步骤二、利用大语言模型将相似度大于设定阈值的语言单元加工为与问题格式匹配的答案。该步骤利用大语言模型的语句加工或段落加工功能,对原始文本表达进行调整,例如去除多余的符号或不通顺表达,添加与问题关联的衔接词等,得到最终答案并反馈给客户端。

步骤三、如果不存在相似度大于设定阈值的语言单元,所述WEB服务调用大语言模型根据网络资源或其他资源提供答案。整个问答过程中,智能问答系统优先根据该知识文件回答问题,使答案更具有针对性,更符合用户需要;当根据知识文件无法作答时,再将大语言模型通过网络资源提供的答案作为备选,以保证问答的完备性。

可以看出,本实施例的智能问答系统允许用户针对特征的知识主题上传知识文件,通过知识文件向量化完成知识入库后,才能利用该文件回答用户提出的问题。如果将知识文件向量化与用户问答部署为单线程服务,例如不存在异步服务,由WEB服务进行知识向量化,或将智能问答服务、WEB服务和异步服务三者合为同一线程,都会造成用户在客户端的提问长时间无法应答,极大影响用户体验。因此,在所述异步服务将任一知识文件向量化的过程中,所述智能问答服务和WEB服务即被释放,当客户端针对所述任一知识文件关联的知识主题提出问题时,智能问答服务和WEB服务利用所述知识主题关联的、已经完成向量化的知识文件提供答案;当客户端针对其它知识主题提出问题时,所述智能问答服务和WEB服务利用其他知识主题关联的知识文件提供答案。当然,这些问题均是针对已显示为可用知识的主体或文件提出的。结合图3,图中通过各服务线程下(用虚线表示)的白色矩形显示了该服务的生命线,可以看出智能问答服务、WEB服务和异步服务三个并行异步线程的生命线并非一直延续,而是根据请求即时启动即时关闭,将知识文件向量化任务和用户问答任务分离并分别划分为不同阶段,各线程分别完成不同阶段的操作,实现边问答边进行知识储备,提高问答响应效率。

综上所述,本实施例允许用户针对特定知识主题上传知识文件并提问,系统优先根据上传的知识文件生成答案,使问答结果更符合用户需求。为了提高系统响应速度,本实施例采用SaaS端与PaaS端结合的云服务架构,通过三个异步并行线程将问答响应任务和知识文件向量化任务分离,并通过相互配合将两项任务分别划分为身份认证、状态识别、数据补偿、获取备用答案等不同阶段,三线程分别执行不同阶段的操作,共同实现了边问答边进行知识储备。在任一知识文件向量化的过程中,智能问答服务和WEB服务可以对其他用户问答作出响应,避免单线程下由于知识储备造成的问答堵塞,提高问答响应效率。此外,在通过向量相似度匹配答案的过程中,本实施例通过对知识主题的主成分分析提取主要语义信息,并将这些主要语义信息作为向量标架重新构建文本的向量形式,使计算出来的向量相似度更能反映文本与知识主题的相关性,提供更准确的答案,特别适用于同一知识文件关联于多个知识主题的情况。

本发明实施例还提供一种基于异步服务的智能问答系统,如图1所示,该系统包括SaaS端和PaaS端;所述SaaS端构建有与客户端交互的智能问答服务;所述PaaS端构建有与所述智能问答服务交互的WEB服务,以及用于实现知识向量化的异步服务;其中,

响应于客户端针对特定知识主题的新增知识请求,所述智能问答服务用于向所述WEB服务请求身份认证通过后,将所述知识主题关联的各知识文件信息发送至所述WEB服务请求新增知识,所述WEB服务通过异步消息请求所述异步服务将各知识文件向量化,完成知识新增;

响应于客户端针对所述知识主题的问答请求,所述智能问答服务用于根据所述知识主题向所述WEB服务请求答案,所述WEB服务调用大语言模型根据所述知识主题关联的、向量化后的各知识文件进行回答;

其中,在所述异步服务将任一知识文件向量化的过程中,所述智能问答服务和WEB服务用于响应客户端针对其它知识主题的问答请求,或利用所述知识主题关联的、向量化后的其它知识文件响应客户端针对所述知识主题的问答请求;各知识主题包括通用知识、不同课程或不同培训班。

进一步的,该系统还用于实现上述任一实施例所述的基于异步服务的智能问答方法,具备上述任一实施例记载的有益效果。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案。

相关技术
  • 基于智能问答_人机交互机制的骚扰电话应对方法及系统
  • 基于双向长短期记忆神经网络的智能自动问答方法及系统
  • 一种基于家居智能服务机器人的智能家居交互问答系统
  • 一种基于人工智能的医疗问答服务方法、系统及设备
技术分类

06120116484213