CN115062134B - 知识问答模型训练及知识问答方法、装置和计算机设备 - Google Patents
知识问答模型训练及知识问答方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN115062134B CN115062134B CN202210986177.8A CN202210986177A CN115062134B CN 115062134 B CN115062134 B CN 115062134B CN 202210986177 A CN202210986177 A CN 202210986177A CN 115062134 B CN115062134 B CN 115062134B
- Authority
- CN
- China
- Prior art keywords
- initial
- entity
- question
- information
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种知识问答模型训练方法、装置、计算机设备、存储介质和计算机程序产品。该方法包括:将训练询问语句输入初始知识问答模型进行编解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并进行实体分类识别,得到初始实体标注信息;基于初始答复语句和训练答复语句得到答复损失信息,并基于训练实体标签和初始实体标注信息得到实体标注损失信息;基于答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型并进行循环迭代,得到目标知识问答模型,目标知识问答模型用于对询问语句生成对应的答复语句。采用本方法能够提高知识问答的准确性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种知识问答模型训练及知识问答方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着知识图谱技术的发展,出现了知识问答技术,知识问答是利用知识图谱来回答使用者的问题。目前,知识问答通常是通过三个流程来进行的,即首先通过实体提及识别来识别出问题里的实体提及。然后再通过实体链接将实体提及链接到相应的知识库中,得到实体名称。最后再通过关系分类来识别出询问的具体属性,最后得到问题的回复。然而,这种知识问答方法容易产生级联误差,即使每个流程都会产生误差,导致最终的结果误差较大,使知识问答的准确性低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高知识问答准确性的知识问答模型训练及知识问答方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种知识问答模型训练方法。所述方法包括:
获取训练询问语句、训练答复语句和训练实体标签;
将训练询问语句输入到初始知识问答模型中进行语义表征编码,得到问句初始表征向量,并对问句初始表征向量进行解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并对问句初始表征向量进行实体分类识别,得到初始实体标注信息;
基于初始答复语句和训练答复语句进行答复损失计算,得到答复损失信息,并基于训练实体标签和初始实体标注信息进行实体标注损失计算,得到实体标注损失信息;
基于答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型,将更新知识问答模型作为初始知识问答模型,并返回获取训练询问语句、训练答复语句和训练实体标签的步骤迭代执行,直到达到训练完成条件时,得到目标知识问答模型,目标知识问答模型用于对询问语句生成对应的答复语句。
第二方面,本申请提供了一种知识问答模型训练装置。所述装置包括:
训练获取模块,用于获取训练询问语句、训练答复语句和训练实体标签;
初始训练模块,用于将训练询问语句输入到初始知识问答模型中进行语义表征编码,得到问句初始表征向量,并对问句初始表征向量进行解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并对问句初始表征向量进行实体分类识别,得到初始实体标注信息;
损失计算模块,用于基于初始答复语句和训练答复语句进行答复损失计算,得到答复损失信息,并基于训练实体标签和初始实体标注信息进行实体标注损失计算,得到实体标注损失信息;
迭代模块,用于基于答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型,将更新知识问答模型作为初始知识问答模型,并返回获取训练询问语句、训练答复语句和训练实体标签的步骤迭代执行,直到达到训练完成条件时,得到目标知识问答模型,目标知识问答模型用于对询问语句生成对应的答复语句。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取训练询问语句、训练答复语句和训练实体标签;
将训练询问语句输入到初始知识问答模型中进行语义表征编码,得到问句初始表征向量,并对问句初始表征向量进行解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并对问句初始表征向量进行实体分类识别,得到初始实体标注信息;
基于初始答复语句和训练答复语句进行答复损失计算,得到答复损失信息,并基于训练实体标签和初始实体标注信息进行实体标注损失计算,得到实体标注损失信息;
基于答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型,将更新知识问答模型作为初始知识问答模型,并返回获取训练询问语句、训练答复语句和训练实体标签的步骤迭代执行,直到达到训练完成条件时,得到目标知识问答模型,目标知识问答模型用于对询问语句生成对应的答复语句。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取训练询问语句、训练答复语句和训练实体标签;
将训练询问语句输入到初始知识问答模型中进行语义表征编码,得到问句初始表征向量,并对问句初始表征向量进行解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并对问句初始表征向量进行实体分类识别,得到初始实体标注信息;
基于初始答复语句和训练答复语句进行答复损失计算,得到答复损失信息,并基于训练实体标签和初始实体标注信息进行实体标注损失计算,得到实体标注损失信息;
基于答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型,将更新知识问答模型作为初始知识问答模型,并返回获取训练询问语句、训练答复语句和训练实体标签的步骤迭代执行,直到达到训练完成条件时,得到目标知识问答模型,目标知识问答模型用于对询问语句生成对应的答复语句。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取训练询问语句、训练答复语句和训练实体标签;
将训练询问语句输入到初始知识问答模型中进行语义表征编码,得到问句初始表征向量,并对问句初始表征向量进行解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并对问句初始表征向量进行实体分类识别,得到初始实体标注信息;
基于初始答复语句和训练答复语句进行答复损失计算,得到答复损失信息,并基于训练实体标签和初始实体标注信息进行实体标注损失计算,得到实体标注损失信息;
基于答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型,将更新知识问答模型作为初始知识问答模型,并返回获取训练询问语句、训练答复语句和训练实体标签的步骤迭代执行,直到达到训练完成条件时,得到目标知识问答模型,目标知识问答模型用于对询问语句生成对应的答复语句。
上述知识问答模型训练方法、装置、计算机设备、存储介质和计算机程序产品,通过将训练询问语句输入到初始知识问答模型中进行语义表征编码,得到问句初始表征向量,通过使用问句初始表征向量解码生成初始实体的同时进行实体分类识别,得到初始实体标注信息,然后计算答复损失信息和实体标注损失信息,使用答复损失信息和实体标注损失信息进行模型更新,从而使得到的更新知识问答模型更加准确,并在不断迭代循环后,提高了得到的目标知识问答模型的准确性,目标知识问答模型用于对询问语句生成对应的答复语句,从而提高了得到的答复语句的准确性,即提高了知识问答的准确性。
第一方面,本申请提供了一种知识问答方法。所述方法包括:
接收查询请求,查询请求携带有询问语句;
将询问语句输入到目标知识问答模型中进行语义表征编码,得到问句初始表征向量,并对问句初始表征向量进行解码,得到目标实体、目标询问属性以及目标实体表征信息;目标知识问答模型是将训练询问语句输入到初始知识问答模型中进行编解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并对问句初始表征向量进行实体分类识别,得到初始实体标注信息,基于初始答复语句和训练答复语句进行答复损失计算,得到答复损失信息,并基于训练实体标签和初始实体标注信息进行实体标注损失计算,得到实体标注损失信息,基于答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型,将更新知识问答模型作为初始知识问答模型并进行循环迭代,直到达到训练完成条件时得到的;
基于目标实体、目标询问属性以及目标实体表征信息得到目标答复语句,将目标答复语句返回查询请求对应的请求端。
第二方面,本申请还提供了一种知识问答装置。所述装置包括:
请求接收模块,用于接收查询请求,查询请求携带有询问语句;
模型处理模块,用于将询问语句输入到目标知识问答模型中进行语义表征编码,得到问句初始表征向量,并对问句初始表征向量进行解码,得到目标实体、目标询问属性以及目标实体表征信息;目标知识问答模型是将训练询问语句输入到初始知识问答模型中进行编解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并对问句初始表征向量进行实体分类识别,得到初始实体标注信息,基于初始答复语句和训练答复语句进行答复损失计算,得到答复损失信息,并基于训练实体标签和初始实体标注信息进行实体标注损失计算,得到实体标注损失信息,基于答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型,将更新知识问答模型作为初始知识问答模型并进行循环迭代,直到达到训练完成条件时得到的;
答复得到模块,用于基于目标实体、目标询问属性以及目标实体表征信息得到目标答复语句,将目标答复语句返回查询请求对应的请求端。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收查询请求,查询请求携带有询问语句;
将询问语句输入到目标知识问答模型中进行语义表征编码,得到问句初始表征向量,并对问句初始表征向量进行解码,得到目标实体、目标询问属性以及目标实体表征信息;目标知识问答模型是将训练询问语句输入到初始知识问答模型中进行编解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并对问句初始表征向量进行实体分类识别,得到初始实体标注信息,基于初始答复语句和训练答复语句进行答复损失计算,得到答复损失信息,并基于训练实体标签和初始实体标注信息进行实体标注损失计算,得到实体标注损失信息,基于答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型,将更新知识问答模型作为初始知识问答模型并进行循环迭代,直到达到训练完成条件时得到的;
基于目标实体、目标询问属性以及目标实体表征信息得到目标答复语句,将目标答复语句返回查询请求对应的请求端。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收查询请求,查询请求携带有询问语句;
将询问语句输入到目标知识问答模型中进行语义表征编码,得到问句初始表征向量,并对问句初始表征向量进行解码,得到目标实体、目标询问属性以及目标实体表征信息;目标知识问答模型是将训练询问语句输入到初始知识问答模型中进行编解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并对问句初始表征向量进行实体分类识别,得到初始实体标注信息,基于初始答复语句和训练答复语句进行答复损失计算,得到答复损失信息,并基于训练实体标签和初始实体标注信息进行实体标注损失计算,得到实体标注损失信息,基于答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型,将更新知识问答模型作为初始知识问答模型并进行循环迭代,直到达到训练完成条件时得到的;
基于目标实体、目标询问属性以及目标实体表征信息得到目标答复语句,将目标答复语句返回查询请求对应的请求端。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
接收查询请求,查询请求携带有询问语句;
将询问语句输入到目标知识问答模型中进行语义表征编码,得到问句初始表征向量,并对问句初始表征向量进行解码,得到目标实体、目标询问属性以及目标实体表征信息;目标知识问答模型是将训练询问语句输入到初始知识问答模型中进行编解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并对问句初始表征向量进行实体分类识别,得到初始实体标注信息,基于初始答复语句和训练答复语句进行答复损失计算,得到答复损失信息,并基于训练实体标签和初始实体标注信息进行实体标注损失计算,得到实体标注损失信息,基于答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型,将更新知识问答模型作为初始知识问答模型并进行循环迭代,直到达到训练完成条件时得到的;
基于目标实体、目标询问属性以及目标实体表征信息得到目标答复语句,将目标答复语句返回查询请求对应的请求端。
上述知识问答方法、装置、计算机设备、存储介质和计算机程序产品,通过使用目标知识问答模型得到询问语句对应的目标答复语句,该目标知识问答模型是通过将训练询问语句输入到初始知识问答模型中进行编解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并对问句初始表征向量进行实体分类识别,得到初始实体标注信息,然后计算得到答复损失信息和实体标注损失信息,再使用答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型,将更新知识问答模型作为初始知识问答模型并进行循环迭代,直到达到训练完成条件时得到的,能够提高得到的目标知识问答模型的准确性,从而使得到的目标答复语句更加准确,从而提高了知识问答的准确性。即能够直接生成目标实体、目标询问属性以及目标实体表征信息,从而能够避免产生级联误差,从而提高了得到的目标答复语句的准确性。
附图说明
图1为一个实施例中知识问答模型训练方法的应用环境图;
图2为一个实施例中知识问答模型训练方法的流程示意图;
图3为一个实施例中得到初始实体表征信息的流程示意图;
图4为一个实施例中通过初始知识问答模型进行解码的流程示意图;
图5为一个具体实施例中实体描述信息结构树的示意图;
图6为一个实施例中得到初始实体标注信息的流程示意图;
图7为另一个实施例中得到初始实体标注信息的流程示意图;
图8为一个具体实施例中初始知识问答模型的架构示意图;
图9为一个实施例中知识问答方法的流程示意图;
图10为一个具体实施例中知识问答方法的流程示意图;
图11为一个具体实施例中精准问答页面的示意图;
图12为一个具体实施例中目标知识问答模型的架构示意图;
图13为一个实施例中知识问答模型训练装置的结构框图;
图14为一个实施例中知识问答装置的结构框图;
图15为一个实施例中计算机设备的内部结构图;
图16为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
自然语言处理(Nature Language processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
本申请实施例提供的方案涉及人工智能的语义理解、知识图谱等技术,具体通过如下实施例进行说明:
本申请实施例提供的知识问答模型训练方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。服务器104接收到终点102发送的模型训练指令,服务器104根据模型训练指令从数据存储系统中获取训练询问语句、训练答复语句和训练实体标签;服务器104将训练询问语句输入到初始知识问答模型中进行语义表征编码,得到问句初始表征向量,并对问句初始表征向量进行解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并对问句初始表征向量进行实体分类识别,得到初始实体标注信息;服务器104基于初始答复语句和训练答复语句进行答复损失计算,得到答复损失信息,并基于训练实体标签和初始实体标注信息进行实体标注损失计算,得到实体标注损失信息;服务器104基于答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型,将更新知识问答模型作为初始知识问答模型,并返回获取训练询问语句、训练答复语句和训练实体标签的步骤迭代执行,直到达到训练完成条件时,得到目标知识问答模型,目标知识问答模型用于对询问语句生成对应的答复语句。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群或者云服务器来实现。
在一个实施例中,如图2所示,提供了一种知识问答模型训练方法,以该方法应用于图1中的服务器为例进行说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤202,获取训练询问语句、训练答复语句和训练实体标签。
其中,训练询问语句是指训练时使用的询问语句,该询问语句是指描述问题的自然语言文本语句。训练答复语句是指训练时使用的答复语句,作为训练询问语句对应的标签,答复语句是指描述问题答复的自然语言文本语句。该训练语句和训练答复语句的可以是各种自然语言的语句,包括但不限中文、英文、日文和俄文等。其中,训练询问语句和训练答复语句可以是同一种自然语言的语句,也可以是不同自然语言的语句。比如,训练询问语句和训练答复语句都可以是中文语句,或者询问语句为中文语句,答复语句为英文语句等。训练实体标签是指训练询问语句中实体对应的标签,可以是使用序列标注预先标注好的。
具体地,服务器可以直接从数据库中获取到保存的训练询问语句、训练答复语句和训练实体标签。服务器也可以从终端获取到上传的训练询问语句、训练答复语句和训练实体标签。服务器还可以从提供数据服务的服务端获取到训练询问语句、训练答复语句和训练实体标签。服务器还可以从提供业务服务的服务端获取到训练询问语句、训练答复语句和训练实体标签。在一个实施例中,服务器可以获取到训练询问语句和对应的训练答复语句,然后对训练询问语句进行序列中的实体标注,得到训练实体标签。
步骤204,将训练询问语句输入到初始知识问答模型中进行语义表征编码,得到问句初始表征向量,并对问句初始表征向量进行解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并对问句初始表征向量进行实体分类识别,得到初始实体标注信息。
其中,初始知识问答模型是指模型参数初始化的知识问答模型,该知识问答模型用于对询问语句生成对应的答复语句。问句初始表征向量是指使用初始化模型参数生成的训练询问语句对应的语义表征向量。初始实体是指使用初始化模型参数识别出的训练询问语句中的实体,实体是指知识图谱中的实体,是具有可区别性且独立存在的某种事物,实体可以是人,地方,组织机构,概念等等。 初始询问属性是指使用初始化模型参数识别出的训练询问语句中要询问的实体属性。初始实体表征信息是指使用初始化模型参数识别出的实体表征信息,该实体表征信息是用于唯一表征实体的信息,是能够消除歧义的信息。当实体具有多个含义时,通过实体表征信息能够确定具体对应的实体。初始答复语句是指使用初始化模型参数生成的训练询问语句对应的答复语句。初始实体标注信息是指使用初始化模型参数识别得到的训练询问语句中的实体位置标注。
具体地,服务器使用神经网络来建立初始知识问答模型的架构,并初始化模型参数,得到初始知识问答模型。该初始知识问答模型可以是一个进行序列转换的神经网络模型。然后可以将训练询问语句输入到初始知识问答模型中,该初始知识问答模型可以对训练询问语句进行语义表征编码,即提取训练询问语句对应的语义信息,得到问句初始表征向量。其中,可以是将训练询问语句划分成各个字符,对每个字符进行语义表征编码得到对应的表征向量,最终得到问句初始表征向量。然后同时对问句初始表征向量进行解码和实体分类识别。即对问句初始表征向量进行解码,解码得到初始实体、初始询问属性以及初始实体表征信息,然后使用初始实体、初始询问属性以及初始实体表征信息获取初始询问属性对应的属性值,然后根据初始实体、属性值和初始实体表征信息得到初始答复语句。然后可以使用命名实体识别对问句初始表征向量中实体进行实体分类识别,得到初始实体标注信息。
步骤206,基于初始答复语句和训练答复语句进行答复损失计算,得到答复损失信息,并基于训练实体标签和初始实体标注信息进行实体标注损失计算,得到实体标注损失信息。
其中,答复损失信息用于表征初始答复语句与训练答复语句之间的误差。实体标注损失信息是指用于表征初始实体标注信息与训练实体标签之间的误差。
具体地,服务器可以是使用分类损失函数来计算初始答复语句和训练答复语句之间的误差,得到答复损失信息。同时使用分类损失函数计算训练实体标签和初始实体标注信息之间的误差,得到实体标注损失信息,其中分类损失函数可以是交叉熵损失函数、对数损失函数等。
步骤208,基于答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型,将更新知识问答模型作为初始知识问答模型,并返回获取训练询问语句、训练答复语句和训练实体标签的步骤迭代执行,直到达到训练完成条件时,得到目标知识问答模型,目标知识问答模型用于对询问语句生成对应的答复语句。
其中,更新知识问答模型是指模型初始化参数进行更新后得到的知识问答模型。训练完成条件是指训练得到目标知识问答模型的条件,可以是训练迭代次数达到最大次数或者模型损失信息达到预设阈值或者模型参数不在发生变化等等。目标知识问答模型是指最终训练完成的知识问答模型。
具体地,服务器计算答复损失信息和实体标注损失信息的总和,得到目标损失信息,然后服务器判断是否达到训练完成条件,比如,比较目标损失信息和预设损失阈值,当目标损失信息达到预设损失阈值时,说明训练完成。当目标损失信息未达到预设损失阈值时,说明训练未达到训练完成条件。此时,服务器使用目标损失信息通过梯度下降算法反向更新初始知识问答模型中的初始化参数,得到更新知识问答模型。将更新知识问答模型作为初始知识问答模型,并返回获取训练询问语句、训练答复语句和训练实体标签的步骤迭代执行,直到达到训练完成条件时,得到目标知识问答模型,目标知识问答模型用于对询问语句生成对应的答复语句。
上述知识问答模型训练方法,通过将训练询问语句输入到初始知识问答模型中进行语义表征编码,得到问句初始表征向量,通过使用问句初始表征向量解码生成初始实体的同时进行实体分类识别,得到初始实体标注信息,然后计算答复损失信息和实体标注损失信息,使用答复损失信息和实体标注损失信息进行模型更新,从而使得到的更新知识问答模型更加准确,并在不断迭代循环后,提高了得到的目标知识问答模型的准确性,目标知识问答模型用于对询问语句生成对应的答复语句,从而提高了得到的答复语句的准确性,即提高了知识问答的准确性。
在一个实施例中,如图3所示,步骤204,将训练询问语句输入到初始知识问答模型中进行语义表征编码,得到问句初始表征向量,并对问句初始表征向量进行解码,得到初始实体、初始询问属性以及初始实体表征信息,包括:
步骤302,将训练询问语句转换为字符序列,将字符序列输入到初始知识问答模型中。
其中,字符序列是指由训练询问语句中的字符组成的序列。
具体地,服务器将训练询问语句按照字符进行划分,得到各个询问字符,根据训练询问语句中字符的顺序将各个询问字符拼接成字符序列。然后将字符序列作为初始知识问答模型的输入。
步骤304,通过初始知识问答模型提取字符序列对应的语义表征向量,得到问句初始表征向量;
步骤306,通过初始知识问答模型对问句初始表征向量进行解码,得到初始实体、初始询问属性和待匹配实体表征信息,并基于初始实体获取对应的各个实体描述信息。
其中,待匹配实体表征信息是指需要进行匹配验证的实体表征信息。
具体地,服务器通过初始知识问答模型提取字符序列对应的语义表征向量,即可以依次分别对字符序列中的每个字符进行编码,得到的每个字符对应的语义表征向量,将所有字符对应的语义表征向量进行合并得到问句初始表征向量。通过初始知识问答模型对问句初始表征向量进行解码,得到初始实体、初始询问属性和待匹配实体表征信息,并基于初始实体可以从知识库中查找到对应的各个实体描述信息。
步骤308,通过初始知识问答模型将待匹配实体表征信息与各个实体描述信息进行信息匹配,当匹配成功时,将待匹配实体表征信息作为初始实体表征信息。
其中,各个实体描述信息是指同一实体不同的描述信息,该实体描述信息用于说明实体对应的不同含义。比如,人名“刘某”是一个多义词,该实体描述信息可以包括是“中国影视男演员”或者“某大学教授”或者“某公司总监”或者“某城市政府工作人员”等,每个实体描述信息都用于描述出人名“刘某”不同的含义,使用实体描述信息可以使人名“刘某”消除歧义。每个实体描述信息都以字符串的形式提供。
具体地,服务器通过初始知识问答模型将待匹配实体表征信息与各个实体描述信息进行信息一致性匹配,当在各个实体描述信息中未匹配到待匹配实体表征信息时,说明该待匹配实体表征信息生成有误,此时需要将训练询问语句输入到初始知识问答模型中重新生成待匹配实体表征信息,然后再进行匹配。直到当在各个实体描述信息中匹配到待匹配实体表征信息时,此时匹配成功,将待匹配实体表征信息作为初始实体表征信息。
在上述实施例中,通过初始知识问答模型将待匹配实体表征信息与各个实体描述信息进行信息匹配,当匹配成功时,将待匹配实体表征信息作为初始实体表征信息,从而使生成的初始实体表征信息限制在各个实体描述信息的范围内,从而能够提高了生成的初始实体表征信息的准确性。
在一个实施例中,如图4所示,步骤306,通过初始知识问答模型对问句初始表征向量进行解码,得到初始实体、初始询问属性和待匹配实体表征信息,包括步骤:
步骤402,通过初始知识问答模型使用预设起始向量和问句初始表征向量进行解码,得到初始起始字表征向量。
其中,预设起始向量是指预先设置好的用于表征起始的特殊字符对应的向量。初始起始字表征向量是指使用初始化模型参数解码得到的信息中起始字对应的表征向量。
具体地,服务器中的初始知识问答模型将预设起始向量和问句初始表征向量进行合并,得到合并后的向量,然后将合并后的向量进行解码,可以使用神经网络解码器进行解码,得到输出的初始起始字表征向量。
步骤404,通过初始知识问答模型对初始起始字表征向量和问句初始表征向量进行解码,得到初始中间字表征向量。
其中,初始中间字表征向量是指使用初始化模型参数解码得到的信息中的中间字对应的表征向量,
具体地,服务器中的初始知识问答模型将初始起始字表征向量和问句初始表征向量进行合并,得到合并后的向量,然后将合并后的向量进行解码,可以使用神经网络解码器进行解码,得到输出的初始中间字表征向量。
在一个具体的实施例中,可以解码得到多个初始中间字表征向量,此时,说明解码得到的信息中的中间字有多个。该多个是指至少两个。每次在进行解码时都使用上一次解码得到的初始中间字表征向量和问句初始表征向量进行解码,得到当前解码得到的初始中间字表征向量。
步骤406,通过初始知识问答模型对初始中间字表征向量和问句初始表征向量进行解码,得到初始终止字表征向量。
其中,初始终止字表征向量是指使用初始化模型参数解码得到的信息中终止字对应的表征向量。该终止字可以是表征结束的特殊符号。
具体地,服务器中的初始知识问答模型将初始中间字表征向量和问句初始表征向量进行合并,得到合并后的向量,然后将合并后的向量进行解码,可以使用神经网络解码器进行解码,得到输出的初始终止字表征向量,此时说明解码完成。
步骤408,通过初始知识问答模型使用初始起始字表征向量、初始中间字表征向量、初始终止字表征向量确定初始实体、初始询问属性和待匹配实体表征信息。
具体地,服务器中的初始知识问答模型使用初始起始字表征向量、初始中间字表征向量、初始终止字表征向量确定对应的起始字、中间字和终止字,然后使用起始字、中间字和终止字确定初始实体、初始询问属性和待匹配实体表征信息。
在上述实施例中,通过使用预设起始向量和问句初始表征向量进行解码,得到初始起始字表征向量。对初始起始字表征向量和问句初始表征向量进行解码,得到初始中间字表征向量。对初始中间字表征向量和问句初始表征向量进行解码,得到初始终止字表征向量,最后使用初始起始字表征向量、初始中间字表征向量、初始终止字表征向量确定初始实体、初始询问属性和待匹配实体表征信息,从而能够对每个要生成的字依次进行解码生成,从而提高了解码生成的准确性。
在一个实施例中,步骤206,即基于初始答复语句和训练答复语句进行答复损失计算,得到答复损失信息,包括步骤:
使用初始起始字表征向量和训练答复语句计算初始起始字表征向量对应的起始字损失信息;使用初始中间字表征向量和训练答复语句计算初始中间字表征向量对应的中间字损失信息;使用初始终止字表征向量和训练答复语句计算初始终止字表征向量对应的终止字损失信息;计算起始字损失信息、中间字损失信息、终止字损失信息的损失信息总和,得到答复损失信息。
其中,起始字损失信息用于表征使用初始化参数解码生成的起始字与训练答复语句中对应字之间的误差。中间字损失信息用于表征使用初始化参数解码生成的中间字与训练答复语句中对应字之间的误差。终止字损失信息用于表征使用初始化参数解码生成的终止字与训练答复语句中对应字之间的误差。
具体地,服务器使用分类损失函数计算初始起始字表征向量和训练答复语句中对应字的表征向量之间的误差,得到起始字损失信息,再计算初始中间字表征向量和训练答复语句中对应字的表征向量之间的误差,得到中间字损失信息,再计算初始终止字表征向量和训练答复语句中对应字的表征向量之间的误差,得到终止字损失信息。最后计算起始字损失信息、中间字损失信息、终止字损失信息的损失信息总和,得到答复损失信息。
在一个具体的实施例中,可以使用如下所示的公式(1)和公式(2)计算损失信息。
其中,是指初始起始字表征向量,该初始起始字表征向量用于表征字典中每个字的概率,最大概率对应的字为初始起始字,可以使用概率表示。Loss1表示预测得到的字与真实答复字之间的损失信息。Loss2表示所有损失信息的总和,即答复损失信息。Y是指模型输出。X是指模型输入。n为答复语句中字的总数量,表示第k个答复语句中的字对应的预测概率。通过公式(1)计算初始答复语句中每个字的损失信息,通过公式(2)计算所有损失信息总和。
在上述实施例中,通过计算起始字损失信息、中间字损失信息、终止字损失信息,然后计算损失信息总和,得到答复损失信息,从而使得到的答复损失信息更加准确。
在一个实施例中,步骤302,将训练询问语句转换为字符序列,将字符序列输入到初始知识问答模型中,包括步骤:
将训练询问语句进行字符划分,得到各个问句字符;获取起始标记符号和终止标记符号,将起始标记符号、终止标记符号和各个问句字符按照训练询问语句的字符顺序进行拼接,得到字符序列,将字符序列输入到初始知识问答模型中。
其中,问句字符是指训练询问语句中的字符。起始标记符号是指用于表征字符序列开始的标记符号,终止标记符号是指用于表征字符序列结束的标记符号。
具体地,服务器将训练询问语句进行字符划分,得到各个划分后的问句字符。 然后获取到预先设置好的起始标记符号和终止标记符号,然后将起始标记符合作为拼接开始,将终止标记符号作为拼接结束,将各个问句字符按照训练询问语句的字符顺序与将起始标记符合和终止标记符号依次进行拼接,得到字符序列。然后将字符序列作为初始知识问答模型的输入。例如可以按照如下所示进行拼接,得到字符序列。
[CLS] Char1 Char2 ... Charn [SEP]
其中,[CLS]是指起始标记符号。[SEP] 是指终止标记符号。Char表示问句字符,char1表示第一个问句字符,Char2表示第二个问句字符,Charn表示第n个问句字符。
上述实施例中,将起始标记符号、终止标记符号和各个问句字符按照训练询问语句的字符顺序进行拼接,得到字符序列,将字符序列输入到初始知识问答模型中进行知识问答,从而能够提高知识问答的准确性。
在一个具体的实施例中,可以依次对每个字符对应的表征向量进行解码,解码得到三个信息:实体提及、关系、以及实体消歧字符串,然后根据实体提及、关系、以及实体消歧字符串得到答复语句。在解码时,最开始的输入字符是特殊字符即起始标记符号“[S]”。每次解码完成前一个字符时,得到的解码结果会作为下一次解码时的输入,最终输出特殊字符即终止标记符号“[E]”时,解码完成。具体可以使用如下的公式(3)和公式(4)对每个字符的表征向量进行解码。
其中,表示第i个字符对应的表征向量。W和b表示模型参数,是参数矩阵和参数向量,是需要训练的。表示线性转换后的向量,向量长度为所有可生成字符的总数量,可以是预先设置好的字符词典中的字符总数量。Prob表示进行分类识别后的类别概率分布,可以用向量来表示。服务器可以从类别概率分布中选取最大概率对应的类别字,就得到的最终解码生成得到的字。
在一个实施例中,步骤308,通过初始知识问答模型将待匹配实体表征信息与各个实体描述信息进行信息匹配,当匹配成功时,将待匹配实体表征信息作为初始实体表征信息,包括:
使用各个实体描述信息生成实体描述信息结构树;在实体描述信息结构树中查询待匹配实体表征信息,当查询到待匹配实体表征信息时,将待匹配实体表征信息作为初始实体表征信息。
其中,实体描述信息结构树是指实体描述信息组成的结构树,比如,可以是tire树,tire树又称单词查找树,是一种树形结构,是一种哈希树的变种,一种能够快速查找一组字符串的类似哈希表的树结构,利用字符串的前缀来降低查询时间。
具体地,服务器将各个实体描述信息转换为各个实体描述信息字符串,然后使用各个实体描述信息字符串来建立实体描述信息结构树。然后将待匹配实体表征信息转换为待匹配实体表征信息字符串,然后将待匹配实体表征信息字符串的字符与实体描述信息结构树中的字符进行匹配。当查询到一致的字符串时,说明生成的待匹配实体表征信息在实体描述信息的限制范围内,然后可以直接将待匹配实体表征信息作为初始实体表征信息。
在一个具体的实施例中,如图5所示,为实体描述信息结构树的简略示意图。具体来说:将每个实体描述信息转换为字符串,然后生成结构树。其中,根节点不包含字符,其它的每一个节点只包含一个字符,每个点的所有字节的包含的字符都不相同。从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串。将根节点到叶子节点路径上经过的字符连接起来,为一个实体描述信息对应的字符串,比如,“aep”为相同实体的另一个描述信息对应的字符串,“aem”为相同实体的另一个描述信息对应的字符串,“bfn”为相同实体的另一个描述信息对应的字符串,“cg”为相同实体的另一个描述信息对应的字符串,“dh”为相同实体的另一个描述信息对应的字符串。
上述实施例中,通过生成实体描述信息结构树;在实体描述信息结构树中查询待匹配实体表征信息,当查询到待匹配实体表征信息时,将待匹配实体表征信息作为初始实体表征信息,通过使用实体描述信息结构树进行匹配,来得到初始实体表征信息,能够提高得到实体表征信息的效率。
在一个实施例中,问句初始表征向量包括各个字符初始表征向量;
如图6所示,步骤204,对问句初始表征向量进行实体分类识别,得到初始实体标注信息,包括:
步骤602,从各个字符初始表征向量中依次选取当前字符初始表征向量;
步骤604,将当前字符初始表征向量进行线性变换,得到线性变换向量,将线性变换向量进行实体标注分类识别,得到实体标注可能性。
其中,当前字符初始表征向量是指当前需要进行实体分类识别的字符初始标注向量。线性变换向量是指经过线性变换后得到的向量。实体标注可能性是指用于表征该字符为该实体标注的可能程度,该实体标注可能性越高,该字符就越可能为实体的字符,该实体标注可能性越高小,该字符为实体的字符的可能性就越小。
具体地,服务器可以对每个字符初始表征向量分别进行实体标注分类识别,得到每个字符初始表征向量对应的实体标注可能性。服务器可以使用串行的形式来进行实体标注分类识别,也可以使用并行的形式进行实体标注分类识别。其中,服务器可以从各个字符初始表征向量中按照询问语句中的字符顺序依次选取当前字符初始表征向量。服务器可以从各个字符初始表征向量中随机选取当前字符初始表征向量。然后将当前字符初始表征向量进行线性变换,可以使用预先训练得到的线性变换参数进行线性变换,得到线性变换向量,其中,线性变换参数可以包括权重参数和偏执参数,该线性变换参数是以向量的形式提供的。然后通过预先训练得到的分类参数对线性变换向量进行实体标注分类识别,得到当前字符初始表征向量对应的实体标注可能性。实体标注分类识别是指对实体进行多分类识别,同时识别出实体的在询问语句中的位置,可以包括开始实体字符、中间实体字符、结束实体字符、单字实体字符以及其它字符等类别。
步骤606,基于实体标注可能性确定当前字符初始表征向量对应的当前字符初始标注信息,并返回从各个字符初始表征向量中依次选取当前字符初始表征向量的步骤迭代执行,直到各个字符初始表征向量中遍历完成时,得到各个字符初始表征向量对应的字符初始标注信息,基于各个字符初始表征向量对应的字符初始标注信息得到初始实体标注信息。
其中,当前字符初始标注信息是指使用初始化参数识别得到的训练询问语句中当前字符对应的类别标注信息,比如,当前字符可以是开始实体字符或者中间实体字符或者结束实体字符或者单字实体字符或者其它字符等类别标注信息。
具体地,服务器根据实体标注可能性确定最大实体标注可能性对应的类别标注,将该类别标注作为当前字符初始表征向量对应的当前字符初始标注信息。比如,识别得到当前字符为开始实体字符的实体标注可能性为90%,识别得到当前字符为中间实体字符的实体标注可能性为2%,识别得到当前字符为结束实体字符的实体标注可能性为3%,识别得到当前字符为单字实体字符的实体标注可能性为4%,识别得到当前字符为其它字符的实体标注可能性为1%。其中,为开始实体字符的实体标注可能性为90%最大,此时,将当前字符标注为开始实体字符,得到当前字符初始标注信息。
然后服务器返回从各个字符初始表征向量中依次选取当前字符初始表征向量的步骤迭代执行,直到各个字符初始表征向量中遍历完成时,得到各个字符初始表征向量对应的字符初始标注信息,基于各个字符初始表征向量对应的字符初始标注信息得到初始实体标注信息。
在一个具体的实施例中,可以使用如下公式(5)和公式(6)来进行实体标注分类识别,其中,
在上述实施例中,通过依次对各个字符初始表征向量进行实体标注分类识别,得到各个字符初始表征向量对应的字符初始标注信息,然后使用各个字符初始表征向量对应的字符初始标注信息得到初始实体标注信息,从而使得到的初始实体标注信息更加准确。
在一个实施例中,步骤206,基于训练实体标签和实体标注信息进行实体标注损失计算,得到实体标注损失信息,包括步骤:
计算各个字符初始表征向量对应的字符初始标注信息与训练实体标签中对应的字符标签之间的误差,得到各个字符标注损失信息;计算各个字符标准损失信息的总和,得到实体标注损失信息。
其中,字符标注损失信息用于表征训练得到的字符的标注信息与真实的训练实体标签中字符标签之间的误差。字符标签是指字符对应的标注好的类别信息。
具体地,服务器可以使用分类损失函数计算每个字符初始表征向量对应的字符初始标注信息与训练实体标签中对应的字符标签之间的误差,得到每个字符初始表征向量对应的字符标注损失信息,然后计算所有字符标准损失信息的总和,得到实体标注损失信息。
在一个具体的实施例中,可以使用如下所示的公式(7)计算得到实体标注损失信息。
其中,是指实体标注损失信息,n是指训练的询问语句中字符的总数量,是指第k个字符初始表征向量。是指第k个字符初始表征向量对应的字符标注损失信息。表示计算所有字符初始表征向量对应的字符标注损失信息的总和。然后可以使用如下所示的公式(8)计算得到模型训练时的总损失信息。
其中,Loss4是指模型训练时的总损失信息,Loss2是指答复损失信息,Loss3是指实体标注损失信息。
在上述实施例中,通过计算得到每个字符标注损失信息,然后再计算各个字符标准损失信息的总和,得到实体标注损失信息,从而提高了得到的实体标注损失信息的准确性。
在一个实施例中,初始知识问答模型包括初始编码网络、初始解码网络和初始分类网络;
如图7所示,步骤204,将训练询问语句输入到初始知识问答模型中,包括:
步骤702,将训练询问语句输入到初始编码网络中进行语义表征编码,得到问句初始表征向量。
步骤704,将问句初始表征向量输入到初始解码网络中进行解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句。
步骤706,将问句初始表征向量输入到初始分类网络进行实体分类识别,得到初始实体标注信息。
其中,初始编码网络是指网络参数初始化的编码网络,用于对输入到语句进行语义向量编码。初始解码网络是指网络参数初始化的解码网络,用于对输入到编码向量进行解码生成。初始分类网络指网络参数初始化的分类网络,用于对输入到编码向量进行序列标注分类识别。
具体地,服务器将训练询问语句输入到初始编码网络中使用初始化的编码参数进行语义表征编码,得到问句初始表征向量。将问句初始表征向量输入到初始解码网络中使用初始化的解码参数进行解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句。并将问句初始表征向量输入到初始分类网络中使用初始化的分类参数进行实体分类识别,得到初始实体标注信息。
在一个具体的实施例中,如图8所示,为初始知识问答模型的架构示意图,其中,该初始知识问答模型为双分支的网络架构。即初始知识问答模型获取到输入到训练询问语句时,将训练询问语句输入到初始编码网络中进行语义编码,得到输出的问句初始表征向量,然后将问句初始表征向量同时输入到两个分支网络中,包括第一分支的初始解码网络和第二分支的初始分类网络。通过第一分支的初始解码网络进行解码生成,并通过第二分支的初始分类网络进行分类识别,得到模型的训练输出。
在一个具体的实施例中,初始编码网络和初始解码网络可以使用LSTM(LongShort-Term Memory,长短期记忆神经网络)模型或者GRU(Gated Recurrent Unit,门控循环神经网络)模型的网络结构进行替换。具体来说:服务器将训练询问语句输入到初始的LSTM网络以及初始分类网络中进行训练,得到初始的LSTM网络输出的初始实体、初始询问属性以及初始实体表征信息,同时得到初始分类网络输出的初始实体标注信息,计算损失信息然后不断进行循环迭代,直到训练完成时,得到训练完成的LSTM网络,即将训练完成的LSTM网络作为目标知识问答模型。或者服务器将训练询问语句输入到初始的GRU网络以及初始分类网络中进行训练,得到初始的GRU网络输出的初始实体、初始询问属性以及初始实体表征信息,同时得到初始分类网络输出的初始实体标注信息,计算损失信息然后不断进行循环迭代,直到训练完成时,得到训练完成的GRU网络,即将训练完成的GRU网络作为目标知识问答模型。
步骤208,直到达到训练完成条件时,得到目标知识问答模型,包括:
当达到训练完成条件时,基于达到训练完成条件的编码网络和达到训练完成条件的解码网络得到目标知识问答模型。
具体地,服务器在判断当达到训练完成条件时,将达到训练完成条件的编码网络和达到训练完成条件的解码网络作为目标知识问答模型。即最终得到的目标知识问答模型中不包括分类网络,该分类网络是在训练时使用的用于辅助训练的网络。
在上述实施例中,通过使用初始编码网络、初始解码网络和初始分类网络进行训练,当达到训练完成条件时,基于达到训练完成条件的编码网络和达到训练完成条件的解码网络得到目标知识问答模型,从而提高了得到的目标知识问答模型的准确性。
在一个实施例中,如图9所示,提供了一种知识问答方法,以该方法应用于图1中的服务器为例进行说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤902,接收查询请求,所述查询请求携带有询问语句。
其中,查询请求是指查询该询问语句对应答案的请求。询问语句是指问题对应的文本语句,该文本语句可以是任意种类语言的语句,比如,可以是中文、日文、英文、韩文、俄文等语言的文本语句。
具体地,使用者可以在请求端输入的询问语句后触发查询操作,请求端响应查询操作,根据询问语句生成查询请求,并向服务器发送查询请求,服务器接收到请求端发送的查询请求,解析查询请求,得到询问语句。服务器也可以是从提供业务服务的服务方获取到查询请求。
在一个实施例中,服务器接收到查询请求,所述查询请求携带有询问语句,将询问语音进行文本转换,得到询问语句。
步骤904,将询问语句输入到目标知识问答模型中进行语义表征编码,得到问句初始表征向量,并对问句初始表征向量进行解码,得到目标实体、目标询问属性以及目标实体表征信息;目标知识问答模型是将训练询问语句输入到初始知识问答模型中进行编解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并对问句初始表征向量进行实体分类识别,得到初始实体标注信息,基于初始答复语句和训练答复语句进行答复损失计算,得到答复损失信息,并基于训练实体标签和初始实体标注信息进行实体标注损失计算,得到实体标注损失信息,基于答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型,将更新知识问答模型作为初始知识问答模型并进行循环迭代,直到达到训练完成条件时得到的。
其中,目标知识问答模型可以是使用上述知识问答模型训练方法中任意一实施例进行训练得到的。目标实体是指要询问的具体的对象实体,目标询问属性是指要训练的目标实体的具体属性名称。目标实体表征信息是指目标实体对应的唯一表征信息,是能够消除歧义的信息。
具体地,服务器获取到预先训练好的目标知识问答模型,然后将目标知识问答模型进行部署。当需要使用时将询问语句直接输入到目标知识问答模型中进行语义表征编码,得到问句初始表征向量,并对问句初始表征向量进行解码,得到输出的目标实体、目标询问属性以及目标实体表征信息。
步骤906,基于目标实体、目标询问属性以及目标实体表征信息得到目标答复语句,将目标答复语句返回查询请求对应的请求端。
其中,目标答复语句是指对询问语句的问题可以进行回答的答复语句。
具体地,服务器根据目标实体和目标实体表征信息得查找到目标询问属性对应的属性值,然后根据目标实体和目标实体表征信息和属性值生成目标答复语句。然后服务器将标答复语句返回查询请求对应的请求端。
上述知识问答方法,通过使用目标知识问答模型得到询问语句对应的目标答复语句,该目标知识问答模型是通过将训练询问语句输入到初始知识问答模型中进行编解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并对问句初始表征向量进行实体分类识别,得到初始实体标注信息,然后计算得到答复损失信息和实体标注损失信息,再使用答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型,将更新知识问答模型作为初始知识问答模型并进行循环迭代,直到达到训练完成条件时得到的,能够提高得到的目标知识问答模型的准确性,从而使得到的目标答复语句更加准确,从而提高了知识问答的准确性。即能够直接生成目标实体、目标询问属性以及目标实体表征信息,从而能够避免产生级联误差,从而提高了得到的目标答复语句的准确性。
在一个实施例中,目标知识问答模型包括目标编码网络和目标解码网络;
步骤904,将询问语句输入到目标知识问答模型中,包括步骤:
将询问语句输入到目标编码网络中进行语义表征编码,得到问句目标表征向量;将问句目标表征向量输入到目标解码网络中进行解码,得到目标实体、目标询问属性以及目标实体表征信息。
其中,目标编码网络是指训练完成的编码网络,用于对输入到询问语句进行编码。目标解码网络是指训练完成的解码网络,用于对输入的表征向量进行解码。
具体地,服务器使用目标编码网络中的目标编码参数对询问语句进行语义表征编码,并使用目标解码网络中的目标解码参数对问句目标表征向量进行解码,得到输出的目标实体、目标询问属性以及目标实体表征信息。
在上述实施例中,通过使用目标编码网络和目标解码网络进行编码和解码,能够直接得到目标实体、目标询问属性以及目标实体表征信息,不需要进行多个流程的知识问答处理,从而避免产生级联误差,提高了知识问答的效率和准确性。
在一个实施例中,服务器将询问语句转换为字符序列,将字符序列输入到目标知识问答模型中进行语义表征编码,得到问句目标表征向量;将问句目标表征向量输入到目标解码网络中进行解码,得到目标实体、目标询问属性以及待匹配实体表征信息,并使用目标实体获取对应的目标实体描述信息结构树,在目标实体描述信息结构树中查询待匹配实体表征信息,当查询到待匹配实体表征信息时,将待匹配实体表征信息作为目标实体表征信息。该目标实体描述信息结构树是使用目标实体的各个实体描述信息生成的,该目标实体的各个实体描述信息可以是从知识图谱中查询得到的。
在一个具体的实施例中,如图10所示,提供一种知识问答方法的流程示意图,具体包括以下步骤:
步骤1002,获取训练询问语句、训练答复语句和训练实体标签;
步骤1004,将训练询问语句进行字符划分,得到各个问句字符,获取起始标记符号和终止标记符号,将起始标记符号、终止标记符号和各个问句字符按照训练询问语句的字符顺序进行拼接,得到字符序列,将字符序列输入到初始知识问答模型中,将字符序列输入到初始知识问答模型中通过初始编码网络提取字符序列对应的语义表征向量,得到问句初始表征向量。
步骤1006,通过初始解码网络使用预设起始向量和问句初始表征向量进行解码,得到初始起始字表征向量,对初始起始字表征向量和问句初始表征向量进行解码,得到初始中间字表征向量,对初始中间字表征向量和问句初始表征向量进行解码,得到初始终止字表征向量,使用初始起始字表征向量、初始中间字表征向量、初始终止字表征向量确定初始实体、初始询问属性和待匹配实体表征信息。
步骤1008,基于初始实体获取对应的各个实体描述信息,使用各个实体描述信息生成实体描述信息结构树,在实体描述信息结构树中查询待匹配实体表征信息,当查询到待匹配实体表征信息时,将待匹配实体表征信息作为初始实体表征信息。
步骤1010,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并将问句初始表征向量的各个字符初始表征向量输入到初始分类网络中进行实体分类识别,得到各个字符初始表征向量对应的字符初始标注信息。
步骤1012,使用初始起始字表征向量和训练答复语句计算初始起始字表征向量对应的起始字损失信息,使用初始中间字表征向量和训练答复语句计算初始中间字表征向量对应的中间字损失信息,使用初始终止字表征向量和训练答复语句计算初始终止字表征向量对应的终止字损失信息,计算起始字损失信息、中间字损失信息、终止字损失信息的损失信息总和,得到答复损失信息。
步骤1014,计算各个字符初始表征向量对应的字符初始标注信息与训练实体标签中对应的字符标签之间的误差,得到各个字符标注损失信息,计算各个字符标准损失信息的总和,得到实体标注损失信息;
步骤1016,基于答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型,将更新知识问答模型作为初始知识问答模型,并返回获取训练询问语句、训练答复语句和训练实体标签的步骤迭代执行,直到达到训练完成条件时,基于达到训练完成条件的编码网络和达到训练完成条件的解码网络得到目标知识问答模型。
步骤1018,接收查询请求,查询请求携带有询问语句,将询问语句输入到目标知识问答模型中,得到输出的得到目标实体、目标询问属性以及目标实体表征信息,基于目标实体、目标询问属性以及目标实体表征信息得到目标答复语句,将目标答复语句返回查询请求对应的请求端。
在一个具体的实施例中,该知识问答方法应用到即时通讯应用程序中的精准问答场景中。具体来说:使用者在使用即时通讯应用程序时,可以通过通讯应用程序中的精准问答功能来进行问答,如图11所示,为精准问答页面的示意图,使用者可以在精准问答页面通过输入框输入要询问的问题,比如,“李某有多高”,然后使用者点击精准问答页面的搜索按钮时,生成查询请求。终端向服务器发送查询请求,服务器接收到查询请求,解析得到询问语句“李某有多高”,然后将询问语句输入到目标知识问答模型中。如图12所示,为目标知识问答模型的架构示意图,其中,将询问语句“李某有多高”转换为包括有起始标记符号[CLS]、终止标记符号[SEP]的字符序列。然后将字符序列作为目标知识问答模型的输入,目标知识问答模型接收到输入的询问语句时,通过目标编码网络进行编码,得到问句表征向量,然后在通过目标解码网络进行解码生成,目标实体、目标属性和目标实体表征信息,即得到“李某[SEP]身高[SEP]篮球明显[SEP][E]”,“[E]”是特殊字符,用于表明解码生成流程结束。然后根据目标实体、目标属性和目标实体表征信息生成答复语句“李某#2米1#篮球明星”,并将答复语句“李某#2米1#篮球明星”返回到请求端,在请求端的精准问答页面进行展示。
在一个具体的实施例中,该知识问答方法应用到搜索引擎的问答场景中,具体来说:使用者在使用搜索引擎进行知识搜索时,通过使用终端输入要搜索的问题,比如,“帧这个字怎么读”,搜索引擎的服务器接收到要搜索的问题语句时,可以将问题语句输入到目标知识问答模型中,得到输出的答复语句“帧#读作zhen#一声#”,然后根据答复语句查询到各个相关联的网址,然后可以将答复语句以及各个相关联的网址返回到搜索引擎的显示页面进行显示。使用终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的知识问答模型训练方法的知识问答模型训练装置以及知识问答方法的知识问答装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个知识问答模型训练装置以及知识问答装置实施例中的具体限定可以参见上文中对于知识问答模型训练方法以及知识问答方法的限定,在此不再赘述。
在一个实施例中,如图13所示,提供了一种知识问答模型训练装置1300,包括:训练获取模块1302、初始训练模块1304、初始训练模块1306和迭代模块1308,其中:
训练获取模块1302,用于获取训练询问语句、训练答复语句和训练实体标签;
初始训练模块1304,用于将训练询问语句输入到初始知识问答模型中进行语义表征编码,得到问句初始表征向量,并对问句初始表征向量进行解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并对问句初始表征向量进行实体分类识别,得到初始实体标注信息;
损失计算模块1306,用于基于初始答复语句和训练答复语句进行答复损失计算,得到答复损失信息,并基于训练实体标签和初始实体标注信息进行实体标注损失计算,得到实体标注损失信息;
迭代模块1308,用于基于答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型,将更新知识问答模型作为初始知识问答模型,并返回获取训练询问语句、训练答复语句和训练实体标签的步骤迭代执行,直到达到训练完成条件时,得到目标知识问答模型,目标知识问答模型用于对询问语句生成对应的答复语句。
在一个实施例中,初始训练模块1304,包括:
字符转换单元,用于将训练询问语句转换为字符序列,将字符序列输入到初始知识问答模型中;
向量提取单元,用于通过初始知识问答模型提取字符序列对应的语义表征向量,得到问句初始表征向量;
解码单元,用于通过初始知识问答模型对问句初始表征向量进行解码,得到初始实体、初始询问属性和待匹配实体表征信息,并基于初始实体获取对应的各个实体描述信息;
匹配单元,用于通过初始知识问答模型将待匹配实体表征信息与各个实体描述信息进行信息匹配,当匹配成功时,将待匹配实体表征信息作为初始实体表征信息。
在一个实施例中,解码单元还用于通过初始知识问答模型使用预设起始向量和问句初始表征向量进行解码,得到初始起始字表征向量;通过初始知识问答模型对初始起始字表征向量和问句初始表征向量进行解码,得到初始中间字表征向量;通过初始知识问答模型对初始中间字表征向量和问句初始表征向量进行解码,得到初始终止字表征向量;通过初始知识问答模型使用初始起始字表征向量、初始中间字表征向量、初始终止字表征向量确定初始实体、初始询问属性和待匹配实体表征信息。
在一个实施例中,损失计算模块1306还用于使用初始起始字表征向量和训练答复语句计算初始起始字表征向量对应的起始字损失信息;使用初始中间字表征向量和训练答复语句计算初始中间字表征向量对应的中间字损失信息;使用初始终止字表征向量和训练答复语句计算初始终止字表征向量对应的终止字损失信息;计算起始字损失信息、中间字损失信息、终止字损失信息的损失信息总和,得到答复损失信息。
在一个实施例中,字符转换单元还用于将训练询问语句进行字符划分,得到各个问句字符;获取起始标记符号和终止标记符号,将起始标记符号、终止标记符号和各个问句字符按照训练询问语句的字符顺序进行拼接,得到字符序列,将字符序列输入到初始知识问答模型中。
在一个实施例中,解码单元还用于使用各个实体描述信息生成实体描述信息结构树;在实体描述信息结构树中查询待匹配实体表征信息,当查询到待匹配实体表征信息时,将待匹配实体表征信息作为初始实体表征信息。
在一个实施例中,问句初始表征向量包括各个字符初始表征向量;
初始训练模块1304,包括:
字符分类单元,用于从各个字符初始表征向量中依次选取当前字符初始表征向量;将当前字符初始表征向量进行线性变换,得到线性变换向量,将线性变换向量进行实体标注分类识别,得到实体标注可能性;基于实体标注可能性确定当前字符初始表征向量对应的当前字符初始标注信息,并返回从各个字符初始表征向量中依次选取当前字符初始表征向量的步骤迭代执行,直到各个字符初始表征向量中遍历完成时,得到各个字符初始表征向量对应的字符初始标注信息,基于各个字符初始表征向量对应的字符初始标注信息得到初始实体标注信息。
在一个实施例中,损失计算模块1306还用于计算各个字符初始表征向量对应的字符初始标注信息与训练实体标签中对应的字符标签之间的误差,得到各个字符标注损失信息;计算各个字符标准损失信息的总和,得到实体标注损失信息。
在一个实施例中,初始知识问答模型包括初始编码网络、初始解码网络和初始分类网络;
初始训练模块1304还用于将训练询问语句输入到初始编码网络中进行语义表征编码,得到问句初始表征向量;将问句初始表征向量输入到初始解码网络中进行解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句;将问句初始表征向量输入到初始分类网络进行实体分类识别,得到初始实体标注信息;
迭代模块1308还用于当达到训练完成条件时,基于达到训练完成条件的编码网络和达到训练完成条件的解码网络得到目标知识问答模型。
在一个实施例中,如图14所示,提供了一种知识问答装置1400,包括请求接收模块1402、模型处理模块1404和答复得到模块1406,其中:
请求接收模块1402,用于接收查询请求,查询请求携带有询问语句;
模型处理模块1404,用于将询问语句输入到目标知识问答模型中进行语义表征编码,得到问句初始表征向量,并对问句初始表征向量进行解码,得到目标实体、目标询问属性以及目标实体表征信息;目标知识问答模型是将训练询问语句输入到初始知识问答模型中进行编解码,得到初始实体、初始询问属性以及初始实体表征信息,基于初始实体、初始询问属性以及初始实体表征信息得到初始答复语句,并对问句初始表征向量进行实体分类识别,得到初始实体标注信息,基于初始答复语句和训练答复语句进行答复损失计算,得到答复损失信息,并基于训练实体标签和初始实体标注信息进行实体标注损失计算,得到实体标注损失信息,基于答复损失信息和实体标注损失信息更新初始知识问答模型,得到更新知识问答模型,将更新知识问答模型作为初始知识问答模型并进行循环迭代,直到达到训练完成条件时得到的;
答复得到模块,用于基于目标实体、目标询问属性以及目标实体表征信息得到目标答复语句,将目标答复语句返回查询请求对应的请求端。
在一个实施例中,目标知识问答模型包括目标编码网络和目标解码网络;
模型处理模块1404还用于将询问语句输入到目标编码网络中进行语义表征编码,得到问句目标表征向量;将问句目标表征向量输入到目标解码网络中进行解码,得到目标实体、目标询问属性以及目标实体表征信息。
上述知识问答模型训练装置以及知识问答装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图15所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储训练询问语句、训练答复语句和训练实体标签和实体描述信息等等。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种知识问答模型训练方法或者知识问答方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图16所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种知识问答模型训练方法或者知识问答方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图15或者图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (24)
1.一种知识问答模型训练方法,其特征在于,所述方法包括:
获取训练询问语句、训练答复语句和训练实体标签;
将所述训练询问语句输入到初始知识问答模型中进行语义表征编码,得到问句初始表征向量,将预设起始向量和所述问句初始表征向量进行合并,并通过初始解码网络进行解码,得到初始起始字表征向量,将所述初始起始字表征向量和所述问句初始表征向量进行合并,并通过所述初始解码网络进行解码,得到初始中间字表征向量,将所述初始中间字表征向量和所述问句初始表征向量进行合并,并通过所述初始解码网络进行解码,得到初始终止字表征向量,使用所述初始起始字表征向量、所述初始中间字表征向量、所述初始终止字表征向量得到初始实体、初始询问属性以及初始实体表征信息,基于所述初始实体、所述初始询问属性以及初始实体表征信息获取所述初始询问属性对应的属性值,根据所述初始实体、所述初始询问属性对应的属性值和所述初始实体表征信息得到初始答复语句,并对所述问句初始表征向量进行实体分类识别,得到初始实体标注信息;
基于所述初始答复语句和所述训练答复语句进行答复损失计算,得到答复损失信息,并基于所述训练实体标签和所述初始实体标注信息进行实体标注损失计算,得到实体标注损失信息;
基于所述答复损失信息和所述实体标注损失信息更新所述初始知识问答模型,得到更新知识问答模型,将所述更新知识问答模型作为初始知识问答模型,并返回获取训练询问语句、训练答复语句和训练实体标签的步骤迭代执行,直到达到训练完成条件时,得到目标知识问答模型,所述目标知识问答模型用于对询问语句生成对应的答复语句。
2.根据权利要求1所述的方法,其特征在于,所述将所述训练询问语句输入到初始知识问答模型中进行语义表征编码,得到问句初始表征向量,并对所述问句初始表征向量进行解码,得到初始实体、初始询问属性以及初始实体表征信息,包括:
将所述训练询问语句转换为字符序列,将所述字符序列输入到初始知识问答模型中;
通过所述初始知识问答模型提取所述字符序列对应的语义表征向量,得到所述问句初始表征向量;
通过所述初始知识问答模型对所述问句初始表征向量进行解码,得到所述初始实体、所述初始询问属性和待匹配实体表征信息,并基于所述初始实体获取对应的各个实体描述信息;
通过所述初始知识问答模型将所述待匹配实体表征信息与所述各个实体描述信息进行信息匹配,当匹配成功时,将所述待匹配实体表征信息作为所述初始实体表征信息。
3.根据权利要求2所述的方法,其特征在于,所述通过所述初始知识问答模型对所述问句初始表征向量进行解码,得到初始实体、初始询问属性和待匹配实体表征信息,包括:
通过所述初始知识问答模型使用预设起始向量和所述问句初始表征向量进行解码,得到初始起始字表征向量;
通过所述初始知识问答模型对所述初始起始字表征向量和所述问句初始表征向量进行解码,得到初始中间字表征向量;
通过所述初始知识问答模型对所述初始中间字表征向量和所述问句初始表征向量进行解码,得到初始终止字表征向量;
通过所述初始知识问答模型使用所述初始起始字表征向量、所述初始中间字表征向量、所述初始终止字表征向量确定所述初始实体、所述初始询问属性和所述待匹配实体表征信息。
4.根据权利要求3所述的方法,其特征在于,所述基于所述初始答复语句和所述训练答复语句进行答复损失计算,得到答复损失信息,包括:
使用所述初始起始字表征向量和所述训练答复语句计算所述初始起始字表征向量对应的起始字损失信息;
使用所述初始中间字表征向量和所述训练答复语句计算所述初始中间字表征向量对应的中间字损失信息;
使用所述初始终止字表征向量和所述训练答复语句计算所述初始终止字表征向量对应的终止字损失信息;
计算所述起始字损失信息、所述中间字损失信息、所述终止字损失信息的损失信息总和,得到所述答复损失信息。
5.根据权利要求2所述的方法,其特征在于,所述将所述训练询问语句转换为字符序列,将所述字符序列输入到初始知识问答模型中,包括:
将所述训练询问语句进行字符划分,得到各个问句字符;
获取起始标记符号和终止标记符号,将所述起始标记符号、终止标记符号和所述各个问句字符按照所述训练询问语句的字符顺序进行拼接,得到所述字符序列,将所述字符序列输入到初始知识问答模型中。
6.根据权利要求2所述的方法,其特征在于,所述通过所述初始知识问答模型将所述待匹配实体表征信息与所述各个实体描述信息进行信息匹配,当匹配成功时,将所述待匹配实体表征信息作为所述初始实体表征信息,包括:
使用所述各个实体描述信息生成实体描述信息结构树;
在所述实体描述信息结构树中查询所述待匹配实体表征信息,当查询到所述待匹配实体表征信息时,将所述待匹配实体表征信息作为所述初始实体表征信息。
7.根据权利要求1所述的方法,其特征在于,所述问句初始表征向量包括各个字符初始表征向量;
所述对所述问句初始表征向量进行实体分类识别,得到初始实体标注信息,包括:
从所述各个字符初始表征向量中依次选取当前字符初始表征向量;
将所述当前字符初始表征向量进行线性变换,得到线性变换向量,将所述线性变换向量进行实体标注分类识别,得到实体标注可能性;
基于所述实体标注可能性确定所述当前字符初始表征向量对应的当前字符初始标注信息,并返回从所述各个字符初始表征向量中依次选取当前字符初始表征向量的步骤迭代执行,直到所述各个字符初始表征向量中遍历完成时,得到所述各个字符初始表征向量对应的字符初始标注信息,基于所述各个字符初始表征向量对应的字符初始标注信息得到所述初始实体标注信息。
8.根据权利要求7所述的方法,其特征在于,所述基于所述训练实体标签和所述实体标注信息进行实体标注损失计算,得到实体标注损失信息,包括:
计算所述各个字符初始表征向量对应的字符初始标注信息与所述训练实体标签中对应的字符标签之间的误差,得到各个字符标注损失信息;
计算所述各个字符标准损失信息的总和,得到所述实体标注损失信息。
9.根据权利要求1所述的方法,其特征在于,所述初始知识问答模型包括初始编码网络、初始解码网络和初始分类网络;
所述将所述训练询问语句输入到初始知识问答模型中,包括:
将所述训练询问语句输入到所述初始编码网络中进行语义表征编码,得到问句初始表征向量;
将所述问句初始表征向量输入到所述初始解码网络中进行解码,得到初始实体、初始询问属性以及初始实体表征信息,基于所述初始实体、所述初始询问属性以及初始实体表征信息得到初始答复语句;
将所述问句初始表征向量输入到所述初始分类网络进行实体分类识别,得到初始实体标注信息;
所述直到达到训练完成条件时,得到目标知识问答模型,包括:
当达到训练完成条件时,基于达到训练完成条件的编码网络和达到训练完成条件的解码网络得到所述目标知识问答模型。
10.一种知识问答方法,其特征在于,所述方法包括:
接收查询请求,所述查询请求携带有询问语句;
将所述询问语句输入到目标知识问答模型中进行语义表征编码,得到问句初始表征向量,将预设起始向量和所述问句初始表征向量进行合并,并通过目标解码网络进行解码,得到目标起始字表征向量,将所述目标起始字表征向量和所述问句初始表征向量进行合并,并通过所述目标解码网络进行解码,得到目标中间字表征向量,将所述目标中间字表征向量和所述问句初始表征向量进行合并,并通过所述目标解码网络进行解码,得到目标终止字表征向量,使用所述目标起始字表征向量、所述目标中间字表征向量、所述目标终止字表征向量得到目标实体、目标询问属性以及目标实体表征信息;所述目标知识问答模型是将训练询问语句输入到初始知识问答模型中进行编解码,得到初始实体、初始询问属性以及初始实体表征信息,基于所述初始实体、所述初始询问属性以及初始实体表征信息得到初始答复语句,并对所述问句初始表征向量进行实体分类识别,得到初始实体标注信息,基于所述初始答复语句和训练答复语句进行答复损失计算,得到答复损失信息,并基于训练实体标签和所述初始实体标注信息进行实体标注损失计算,得到实体标注损失信息,基于所述答复损失信息和所述实体标注损失信息更新所述初始知识问答模型,得到更新知识问答模型,将所述更新知识问答模型作为初始知识问答模型并进行循环迭代,直到达到训练完成条件时得到的;
基于所述目标实体、所述目标询问属性以及目标实体表征信息获取所述目标询问属性对应的属性值,根据所述目标实体、所述目标询问属性对应的属性值和所述目标实体表征信息得到目标答复语句,将所述目标答复语句返回所述查询请求对应的请求端。
11.根据权利要求10所述的方法,其特征在于,所述目标知识问答模型包括目标编码网络和目标解码网络;
所述将所述询问语句输入到目标知识问答模型中,包括:
将所述询问语句输入到所述目标编码网络中进行语义表征编码,得到问句目标表征向量;
将所述问句目标表征向量输入到所述目标解码网络中进行解码,得到目标实体、目标询问属性以及目标实体表征信息。
12.一种知识问答模型训练装置,其特征在于,所述装置包括:
训练获取模块,用于获取训练询问语句、训练答复语句和训练实体标签;
初始训练模块,用于将所述训练询问语句输入到初始知识问答模型中进行语义表征编码,得到问句初始表征向量,将预设起始向量和所述问句初始表征向量进行合并,并通过初始解码网络进行解码,得到初始起始字表征向量,将所述初始起始字表征向量和所述问句初始表征向量进行合并,并通过所述初始解码网络进行解码,得到初始中间字表征向量,将所述初始中间字表征向量和所述问句初始表征向量进行合并,并通过所述初始解码网络进行解码,得到初始终止字表征向量,使用所述初始起始字表征向量、所述初始中间字表征向量、所述初始终止字表征向量得到初始实体、初始询问属性以及初始实体表征信息,基于所述初始实体、所述初始询问属性以及初始实体表征信息获取所述初始询问属性对应的属性值,根据所述初始实体、所述初始询问属性对应的属性值和所述初始实体表征信息得到初始答复语句,并对所述问句初始表征向量进行实体分类识别,得到初始实体标注信息;
损失计算模块,用于基于所述初始答复语句和所述训练答复语句进行答复损失计算,得到答复损失信息,并基于所述训练实体标签和所述初始实体标注信息进行实体标注损失计算,得到实体标注损失信息;
迭代模块,用于基于所述答复损失信息和所述实体标注损失信息更新所述初始知识问答模型,得到更新知识问答模型,将所述更新知识问答模型作为初始知识问答模型,并返回获取训练询问语句、训练答复语句和训练实体标签的步骤迭代执行,直到达到训练完成条件时,得到目标知识问答模型,所述目标知识问答模型用于对询问语句生成对应的答复语句。
13.根据权利要求12所述的装置,其特征在于,所述初始训练模块,包括:
字符转换单元,用于将所述训练询问语句转换为字符序列,将所述字符序列输入到初始知识问答模型中;
向量提取单元,用于通过所述初始知识问答模型提取所述字符序列对应的语义表征向量,得到所述问句初始表征向量;
解码单元,用于通过所述初始知识问答模型对所述问句初始表征向量进行解码,得到所述初始实体、所述初始询问属性和待匹配实体表征信息,并基于所述初始实体获取对应的各个实体描述信息;
匹配单元,用于通过所述初始知识问答模型将所述待匹配实体表征信息与所述各个实体描述信息进行信息匹配,当匹配成功时,将所述待匹配实体表征信息作为所述初始实体表征信息。
14.根据权利要求13所述的装置,其特征在于,所述解码单元还用于通过所述初始知识问答模型使用预设起始向量和所述问句初始表征向量进行解码,得到初始起始字表征向量;通过所述初始知识问答模型对所述初始起始字表征向量和所述问句初始表征向量进行解码,得到初始中间字表征向量;通过所述初始知识问答模型对所述初始中间字表征向量和所述问句初始表征向量进行解码,得到初始终止字表征向量;通过所述初始知识问答模型使用所述初始起始字表征向量、所述初始中间字表征向量、所述初始终止字表征向量确定所述初始实体、所述初始询问属性和所述待匹配实体表征信息。
15.根据权利要求14所述的装置,其特征在于,所述损失计算模块还用于使用所述初始起始字表征向量和所述训练答复语句计算所述初始起始字表征向量对应的起始字损失信息;使用所述初始中间字表征向量和所述训练答复语句计算所述初始中间字表征向量对应的中间字损失信息;使用所述初始终止字表征向量和所述训练答复语句计算所述初始终止字表征向量对应的终止字损失信息;计算所述起始字损失信息、所述中间字损失信息、所述终止字损失信息的损失信息总和,得到所述答复损失信息。
16.根据权利要求13所述的装置,其特征在于,所述字符转换单元还用于将所述训练询问语句进行字符划分,得到各个问句字符;获取起始标记符号和终止标记符号,将所述起始标记符号、终止标记符号和所述各个问句字符按照所述训练询问语句的字符顺序进行拼接,得到所述字符序列,将所述字符序列输入到初始知识问答模型中。
17.根据权利要求13所述的装置,其特征在于,所述解码单元还用于使用所述各个实体描述信息生成实体描述信息结构树;在所述实体描述信息结构树中查询所述待匹配实体表征信息,当查询到所述待匹配实体表征信息时,将所述待匹配实体表征信息作为所述初始实体表征信息。
18.根据权利要求12所述的装置,其特征在于,所述问句初始表征向量包括各个字符初始表征向量;
所述初始训练模块1304,包括:
字符分类单元,用于从所述各个字符初始表征向量中依次选取当前字符初始表征向量;将所述当前字符初始表征向量进行线性变换,得到线性变换向量,将所述线性变换向量进行实体标注分类识别,得到实体标注可能性;基于所述实体标注可能性确定所述当前字符初始表征向量对应的当前字符初始标注信息,并返回从所述各个字符初始表征向量中依次选取当前字符初始表征向量的步骤迭代执行,直到所述各个字符初始表征向量中遍历完成时,得到所述各个字符初始表征向量对应的字符初始标注信息,基于所述各个字符初始表征向量对应的字符初始标注信息得到所述初始实体标注信息。
19.根据权利要求18所述的装置,其特征在于,所述损失计算模块还用于计算所述各个字符初始表征向量对应的字符初始标注信息与所述训练实体标签中对应的字符标签之间的误差,得到各个字符标注损失信息;计算所述各个字符标准损失信息的总和,得到所述实体标注损失信息。
20.根据权利要求12所述的装置,其特征在于,所述初始知识问答模型包括初始编码网络、初始解码网络和初始分类网络;
所述初始训练模块还用于将所述训练询问语句输入到所述初始编码网络中进行语义表征编码,得到问句初始表征向量;将所述问句初始表征向量输入到所述初始解码网络中进行解码,得到初始实体、初始询问属性以及初始实体表征信息,基于所述初始实体、所述初始询问属性以及初始实体表征信息得到初始答复语句;将所述问句初始表征向量输入到所述初始分类网络进行实体分类识别,得到初始实体标注信息;
所述迭代模块还用于当达到训练完成条件时,基于达到训练完成条件的编码网络和达到训练完成条件的解码网络得到所述目标知识问答模型。
21.一种知识问答装置,其特征在于,所述装置包括:
请求接收模块,用于接收查询请求,所述查询请求携带有询问语句;
模型处理模块,用于将所述询问语句输入到目标知识问答模型中进行语义表征编码,得到问句初始表征向量,将预设起始向量和所述问句初始表征向量进行合并,并通过目标解码网络进行解码,得到目标起始字表征向量,将所述目标起始字表征向量和所述问句初始表征向量进行合并,并通过所述目标解码网络进行解码,得到目标中间字表征向量,将所述目标中间字表征向量和所述问句初始表征向量进行合并,并通过所述目标解码网络进行解码,得到目标终止字表征向量,使用所述目标起始字表征向量、所述目标中间字表征向量、所述目标终止字表征向量得到目标实体、目标询问属性以及目标实体表征信息;所述目标知识问答模型是将训练询问语句输入到初始知识问答模型中进行编解码,得到初始实体、初始询问属性以及初始实体表征信息,基于所述初始实体、所述初始询问属性以及初始实体表征信息得到初始答复语句,并对所述问句初始表征向量进行实体分类识别,得到初始实体标注信息,基于所述初始答复语句和训练答复语句进行答复损失计算,得到答复损失信息,并基于训练实体标签和所述初始实体标注信息进行实体标注损失计算,得到实体标注损失信息,基于所述答复损失信息和所述实体标注损失信息更新所述初始知识问答模型,得到更新知识问答模型,将所述更新知识问答模型作为初始知识问答模型并进行循环迭代,直到达到训练完成条件时得到的;
答复得到模块,用于基于所述目标实体、所述目标询问属性以及目标实体表征信息获取所述目标询问属性对应的属性值,根据所述目标实体、所述目标询问属性对应的属性值和所述目标实体表征信息得到目标答复语句,将所述目标答复语句返回所述查询请求对应的请求端。
22.根据权利要求21所述的装置,其特征在于,所述目标知识问答模型包括目标编码网络和目标解码网络;
所述模型处理模块还用于将所述询问语句输入到所述目标编码网络中进行语义表征编码,得到问句目标表征向量;将所述问句目标表征向量输入到所述目标解码网络中进行解码,得到目标实体、目标询问属性以及目标实体表征信息。
23.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210986177.8A CN115062134B (zh) | 2022-08-17 | 2022-08-17 | 知识问答模型训练及知识问答方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210986177.8A CN115062134B (zh) | 2022-08-17 | 2022-08-17 | 知识问答模型训练及知识问答方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115062134A CN115062134A (zh) | 2022-09-16 |
CN115062134B true CN115062134B (zh) | 2022-11-08 |
Family
ID=83207952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210986177.8A Active CN115062134B (zh) | 2022-08-17 | 2022-08-17 | 知识问答模型训练及知识问答方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115062134B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116882450B (zh) * | 2023-09-07 | 2023-12-26 | 腾讯科技(深圳)有限公司 | 问答模型的编辑方法、装置、电子设备和存储介质 |
CN117332072B (zh) * | 2023-12-01 | 2024-02-13 | 阿里云计算有限公司 | 对话处理、语音摘要提取以及目标对话模型训练方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111401066A (zh) * | 2020-03-12 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 基于人工智能的词分类模型训练方法、词处理方法及装置 |
CN111597804A (zh) * | 2020-05-15 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 一种实体识别模型训练的方法以及相关装置 |
WO2021218028A1 (zh) * | 2020-04-29 | 2021-11-04 | 平安科技(深圳)有限公司 | 基于人工智能的面试内容精炼方法、装置、设备及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112270193A (zh) * | 2020-11-02 | 2021-01-26 | 重庆邮电大学 | 基于bert-flat的中文命名实体识别方法 |
CN114780703A (zh) * | 2022-05-09 | 2022-07-22 | 天津开心生活科技有限公司 | 问答模型的确定方法、问答方法、装置、介质、设备 |
-
2022
- 2022-08-17 CN CN202210986177.8A patent/CN115062134B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111401066A (zh) * | 2020-03-12 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 基于人工智能的词分类模型训练方法、词处理方法及装置 |
WO2021218028A1 (zh) * | 2020-04-29 | 2021-11-04 | 平安科技(深圳)有限公司 | 基于人工智能的面试内容精炼方法、装置、设备及介质 |
CN111597804A (zh) * | 2020-05-15 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 一种实体识别模型训练的方法以及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115062134A (zh) | 2022-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11151177B2 (en) | Search method and apparatus based on artificial intelligence | |
CN107679039B (zh) | 用于确定语句意图的方法和装置 | |
US20180336193A1 (en) | Artificial Intelligence Based Method and Apparatus for Generating Article | |
CN109376222B (zh) | 问答匹配度计算方法、问答自动匹配方法及装置 | |
CN115062134B (zh) | 知识问答模型训练及知识问答方法、装置和计算机设备 | |
CN110851596A (zh) | 文本分类方法、装置及计算机可读存储介质 | |
CN110866098B (zh) | 基于transformer和lstm的机器阅读方法、装置及可读存储介质 | |
CN112287069B (zh) | 基于语音语义的信息检索方法、装置及计算机设备 | |
CN112100332A (zh) | 词嵌入表示学习方法及装置、文本召回方法及装置 | |
CN113705313A (zh) | 文本识别方法、装置、设备及介质 | |
CN115438674B (zh) | 实体数据处理、实体链接方法、装置和计算机设备 | |
CN113821622B (zh) | 基于人工智能的答案检索方法、装置、电子设备及介质 | |
CN117332112A (zh) | 多模态检索模型训练以及多模态检索方法、电子设备及存储介质 | |
CN115455169A (zh) | 一种基于词汇知识和语义依存的知识图谱问答方法和系统 | |
CN113761151A (zh) | 同义词挖掘、问答方法、装置、计算机设备和存储介质 | |
CN113342944A (zh) | 一种语料泛化方法、装置、设备及存储介质 | |
CN117077679A (zh) | 命名实体识别方法和装置 | |
CN117131155A (zh) | 多类目识别方法、装置、电子设备及储存介质 | |
CN112100355A (zh) | 一种智能交互方法、装置及设备 | |
CN110851629A (zh) | 一种图像检索的方法 | |
CN115203388A (zh) | 机器阅读理解方法、装置、计算机设备和存储介质 | |
CN114547313A (zh) | 资源类型识别方法以及装置 | |
CN112015891A (zh) | 基于深度神经网络的网络问政平台留言分类的方法及系统 | |
CN117938951B (zh) | 信息推送方法、装置、计算机设备和存储介质 | |
CN114492669B (zh) | 关键词推荐模型训练方法、推荐方法和装置、设备、介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |