CN111177325B - 一种自动生成答案的方法和系统 - Google Patents

一种自动生成答案的方法和系统 Download PDF

Info

Publication number
CN111177325B
CN111177325B CN202010276896.1A CN202010276896A CN111177325B CN 111177325 B CN111177325 B CN 111177325B CN 202010276896 A CN202010276896 A CN 202010276896A CN 111177325 B CN111177325 B CN 111177325B
Authority
CN
China
Prior art keywords
text
neural network
words
answer
question
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
Application number
CN202010276896.1A
Other languages
English (en)
Other versions
CN111177325A (zh
Inventor
张琳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010276896.1A priority Critical patent/CN111177325B/zh
Publication of CN111177325A publication Critical patent/CN111177325A/zh
Application granted granted Critical
Publication of CN111177325B publication Critical patent/CN111177325B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书的实施例公开了一种自动生成答案的方法,该方法包括:获取用户问题和至少一个第一文本,所述第一文本是多个第二文本中与所述用户问题相关的文本;从所述用户问题和所述至少一个第一文本中确定至少一个核心词,以及确定所述至少一个核心词中任意两个不同核心词之间的相关性;所述相关性代表所述核心词的重要程度;答案生成模型基于输入的所述用户问题、所述至少一个第一文本和所述相关性,输出所述用户问题的答案;其中,所述答案生成模型包括图神经网络模型,所述图神经网络模型的节点为所述核心词,所述图神经网络模型的边为所述相关性。

Description

一种自动生成答案的方法和系统
技术领域
本说明书涉及人工智能领域,特别涉及一种自动生成答案的方法和系统。
背景技术
随着互联网和人工智能等领域的不断发展,问答机器人在问答系统中扮演了重要的角色。问答机器人在回答用户问题时,一般是从事先基于历史用户问题和产品文档整理好的,且包含了大量“问题-答案对”的知识库中去寻找对应的答案。
因此,亟需一种无需建立知识库、直接从产品文档中获取用户问题答案的方法。
发明内容
本说明书的一个方面提供一种自动生成答案的方法,所述方法包括:获取用户问题和至少一个第一文本,所述第一文本是多个第二文本中与所述用户问题相关的文本;从所述用户问题和所述至少一个第一文本中确定至少一个核心词,以及确定所述至少一个核心词中任意两个不同核心词之间的相关性;所述相关性代表所述核心词的重要程度;答案生成模型基于输入的所述用户问题、所述至少一个第一文本和所述相关性,输出所述用户问题的答案;其中,所述答案生成模型包括图神经网络模型,所述图神经网络模型的节点为所述核心词,所述图神经网络模型的边为所述相关性。
本说明书的另一个方面提供一种自动生成答案的系统,所述系统包括:获取模块,用于获取用户问题和至少一个第一文本,所述第一文本是多个第二文本中与所述用户问题相关的文本;确定模块,用于从所述用户问题和所述至少一个第一文本中确定至少一个核心词,以及确定所述至少一个核心词中任意两个不同核心词之间的相关性;所述相关性代表所述核心词的重要程度;输出模块,用于答案生成模型基于输入的所述用户问题、所述至少一个第一文本和所述相关性,输出所述用户问题的答案;其中,所述答案生成模型包括图神经网络模型,所述图神经网络模型的节点为所述核心词,所述图神经网络模型的边为所述相关性。
附图说明
本说明书将以示例性实施例的方式进一步描述,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书的一些实施例所示的应用场景示意图;
图2是根据本说明书的一些实施例所示的自动生成答案的方法的示例性流程图;
图3是根据本说明书的一些实施例所示的答案生成模型的示例性结构图;以及
图4是根据本说明书的一些实施例所示的答案生成模型的另一示例性结构图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据本说明书的一些实施例所示的应用场景示意图。
通常,为了实现智能客服服务需要基于历史客服服务日志、产品文档或用户手册等整理问题和答案,建立知识库。当用户输入问题后,从知识库中寻找与用户问题匹配的答案。可以看出,上述方式确定用户问题的答案时,需要建立知识库这个中间环节,并且为了提高知识库对用户问题的覆盖率以及解答的准确率,需要不断的对服务日志、产品文档或用户手册等进行更新,进一步地,需要对知识库进行更新。
因此,本实施例提出一种无需建立知识库,基于用户问题和产品文档等直接确定用户问题答案的方法,缩短了整个链路的环节,降低了更新的周期。
如图1所示,在一些实施例中,自动生成答案的系统100可以包括服务器110、处理器120、存储设备130、用户终端140、网络150。
服务器110可以用于管理资源以及处理来自本系统至少一个组件或外部数据源(例如,云数据中心)的数据和/或信息。例如,服务器110可以从用户端获取用户问题。在一些实施例中,服务器110可以是单一服务器或服务器组。该服务器组可以是集中式或分布式的(例如,服务器110可以是分布式系统),可以是专用的也可以由其他设备或系统同时提供服务。在一些实施例中,服务器110可以是区域的或者远程的。在一些实施例中,服务器110可以在云平台上实施,或者以虚拟方式提供。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
处理器120可以处理从其他设备或系统组成部分中获得的数据和/或信息。处理器可以基于这些数据、信息和/或处理结果执行程序指令,以执行一个或多个本说明书中描述的功能。例如,处理器120可以从第二文本中确定用户问题相关的第一文本。又例如,处理器可以对用户问题和第一文本提取核心词。又例如,处理器120可以基于训练样本训练答案生成模型。在一些实施例中,处理器120可以包含一个或多个子处理设备(例如,单核处理设备或多核多芯处理设备)。仅作为示例,处理器120可以包括中央处理器(CPU)、专用集成电路(ASIC)、专用指令处理器(ASIP)、图形处理器(GPU)、物理处理器(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编辑逻辑电路(PLD)、控制器、微控制器单元、精简指令集电脑(RISC)、微处理器等或以上任意组合。
存储设备130可以用于存储数据和/或指令。例如,存储设备130可以存储用户问题、第二文本、训练数据。又例如,存储设备130可以存储答案生成模型的参数。存储设备130可以包括一个或多个存储组件,每个存储组件可以是一个独立的设备,也可以是其他设备的一部分。在一些实施例中,存储设备130可包括随机存取存储器(RAM)、只读存储器(ROM)、大容量存储器、可移动存储器、易失性读写存储器等或其任意组合。示例性的,大容量储存器可以包括磁盘、光盘、固态磁盘等。在一些实施例中,所述存储设备130可在云平台上实现。
数据指对信息的数字化表示,可以包括各种类型,比如二进制数据、文本数据、图像数据、视频数据等。指令指可控制设备或器件执行特定功能的程序。
用户终端140指用户所使用的一个或多个终端设备或软件。在一些实施例中,使用用户终端140的可以是一个或多个用户,可以包括直接使用服务的用户,也可以包括其他相关用户。在一些实施例中,用户终端140可以是移动设备140-1、平板计算机140-2、膝上型计算机140-3、台式计算机140-4等其他具有输入和/或输出功能的设备中的一种或其任意组合。
在一些实施例中,服务器110可以在云平台上实施。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
在一些实施例中,其他具有输入和/或输出功能的设备可包括设置在公共场所的专用问答终端。
在一些应用场景中,使用用户终端140的用户可以包括提问的用户,也可以包括解答问题的客服人员。
上述示例仅用于说明所述用户终端140设备范围的广泛性而非对其范围的限制。
网络150可以连接系统的各组成部分和/或连接系统与外部资源部分。网络150使得各组成部分之间,以及与系统之外其他部分之间可以进行通讯,促进数据和/或信息的交换。在一些实施例中,网络150可以是有线网络或无线网络中的任意一种或多种。例如,网络150可以包括电缆网络、光纤网络、电信网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigBee)、近场通信(NFC)、设备内总线、设备内线路、线缆连接等或其任意组合。各部分之间的网络连接可以是采用上述一种方式,也可以是采取多种方式。在一些实施例中,网络可以是点对点的、共享的、中心式的等各种拓扑结构或者多种拓扑结构的组合。在一些实施例中,网络150可以包括一个或以上网络接入点。例如,网络150可以包括有线或无线网络接入点,例如基站和/或网络交换点150-1、150-2、…,通过这些进出点系统100的一个或多个组件可连接到网络150上以交换数据和/或信息。
在一些实施例中,服务器110、用户终端140以及其他可能的系统组成部分中可以包括存储设备130。
在一些实施例中,服务器110、用户终端140以及其他可能的系统组成部分中可以包括处理器120。
在一些实施例中,可以通过用户终端140获取用户提问,经服务器110处理后确定对问题的解答,并可以通过用户终端140呈现给用户。服务器110在处理时可以获取存储设备130上的数据或将数据保存到存储设备130,也可以通过网络150从其他来源读取数据和将数据输出到其他目标对象。在一些实施例中,部分根据问题确定解答的操作处理可以在用户终端140上进行。本说明书中的操作可以通过处理器120执行程序指令进行。上述方式仅为方便理解,本系统亦可以其他可行的操作方式实施本说明书中的方法。
在一些实例中,可以在不同的设备上分别进行不同的功能,比如数据的筛选、查询、预处理、模型的训练、模型的执行等等,本说明书对此不作限制。
在一些应用场景中,自动生成答案的系统100可以被广泛应用于各种线上服务平台,例如,电商平台、线上咨询平台、公共服务平台等。自动生成答案的系统100可以通过实施本说明书中披露的方法和/或过程来提供诸如银行客服问答、支付平台客服问答、商场导购客服问答、订票客服问答、便民服务客服问答、教育咨询客服问答、导诊客服问答等智能问答。
在一些实施例中,自动生成答案系统100可以包括获取模块、确定模块以及输出模块。
在一些实施例中,获取模块可以用于获取用户问题和至少一个第一文本,所述第一文本是多个第二文本中与所述用户问题相关的文本。关于获取模块的详细描述可以参见步骤202,在此不再赘述。
在一些实施例中,确定模块可以用于从所述用户问题和所述至少一个第一文本中确定至少一个核心词,以及确定所述至少一个核心词中任意两个不同核心词之间的相关性;所述相关性代表所述核心词的重要程度。
在一些实施例中,确定模块用于基于第一问题和/或第三文本的个数确定任意两个不同核心词之间的相关性,其中,第一问题为同时包含任意两个不同核心词的用户问题;所述第三文档为同时包含任意两个不同核心词的第二文本。关于确定模块的详细描述可以参见步骤204,在此不再赘述。
在一些实施例中,输出模块可以用于通过答案生成模型基于输入的所述用户问题、所述至少一个第一文本和所述相关性,输出所述用户问题的答案。关于输出模块的详细描述可以参见步骤206,在此不再赘述。
在一些实施例中,所述答案生成模型包括图神经网络模型,所述图神经网络模型的节点为所述核心词,所述图神经网络模型的边为所述相关性。
在一些实施例中,所述答案生成模型包含编码神经网络模型、解码神经网络模型和生成模型。所述编码神经网络模型对向量化后的所述问题、向量化后的所述至少一个第一文本、向量化后的所述核心词和向量化后的所述相关性进行编码;所述解码神经网络模型基于编码的结果和向量化的所述答案中第1~(t-1)个词进行解码,所述答案中第1~(t-1)个词由所述生成模型生成并输出;其中,t为1~N之间的整数,N为所述答案中词的总数;所述生成模型基于解码的结果生成所述答案中的第t个词。在一些实施例中,所述答案中的第1~t个词来源于所述核心词、所述至少一个第一文本、所述问题和/或预设词表。
在一些实施例中,所述编码神经网络模型用于:所述图神经网络模型对所述向量化后的所述核心词和所述向量化的所述相关性进行第一运算;将所述第一运算的结果与向量化后的第一拼接文本进行第二运算,所述第一拼接文本为所述问题与所述至少一个第一文本的拼接文本;将所述第二交互运算的结果输入前馈神经网络,将所述前馈神经网络的输出作为所述编码的结果。
在一些实施例中,所述答案生成模型还包含判断模型,所述判断模型基于所述编码的结果和所述解码的结果判断所述问题是否能够被解答;是则所述生成模型生成所述答案中的词并输出;否则不执行所述生成模型。
关于答案生成模型300的详细描述参见图3和图4,在此不再赘述。
图2是根据本说明书的一些实施例所示的自动生成答案的方法的示例性流程图。如图2所示,流程200可以包括:
步骤202,处理设备获取用户问题和至少一个第一文本,所述第一文本是多个第二文本中与所述用户问题相关的文本。具体的,步骤202可以由获取模块执行。
用户问题是指用户提问的内容。例如,“花呗怎样还款”,“花呗逾期没有还款的利息是多少”。
在一些实施例中,处理器120或服务器110可以通过读取问答系统存储的数据、调用相关接口或其他方式获取用户问题。
第二文本是关于问答系统中产品的文本。例如,第二文本可以是产品文档、用户手册和常用问答文档(Frequently Asks& Questions,F&Q)等。
在一些实施例中,一个问答系统可以对应多个第二文本。
在一些实施例中,第二文本可以通过读取存储的数据、调用相关接口或其他方式获取。
第一文本是指多个第二文本中与所述用户问题相关的文本。在一些实施例中,相关可以是包含相同的关键词或语义相似等。例如,在“支付宝”问答系统中,用户问题“花呗怎样用余额宝还款”对应的第一文本可以包括“花呗提前还款方法”、“余额宝和花呗组合支付”、“用余额宝自动还款花呗”等文档对应的文本内容,可以理解,该示例中用户问题和对应的第一文本都含有相同的关键词【余额宝】、【花呗】和/或【还款】。
在一些实施例中,第一文本可以基于用户问题通过召回引擎从第二文本中获取。其中,召回引擎可以用各种常用方式实现,包括但不限于Elastic Search引擎、Sphinx引擎和Xa pian引擎中的一种。
步骤204,从所述用户问题和所述至少一个第一文本中确定至少一个核心词,以及确定所述至少一个核心词中任意两个不同核心词之间的相关性;所述相关性代表所述核心词的重要程度。具体的,步骤204可以由确定模块执行。
核心词是指能够概括文本主要内容和反映文本主旨信息的词语。在一些实施例中,核心词可以是业务词或诉求词。例如,用户问题“花呗怎样用余额宝还款”的核心词可以是业务词【花呗】和【余额宝】,以及诉求词【还款】。又例如,第一文本“余额宝和花呗组合支付”的核心词可以是业务词【余额宝】和【花呗】,以及诉求词【组合支付】。
在一些实施例中,核心词可以通过核心词提取算法、人工标注或其他方式获取。例如,核心词算法可以是TF/IDF算法、Topic Model算法、textrank算法、rake算法或其他算法中的任意一种或其组合。
在一些实施例中,可以基于用户问题和至少一个第一文本提取核心词。在一些实施例中,当用户问题和第二文本提取的核心词相同时,则视为1个核心词。基于用户问题的核心词和至少一个第一文本的核心词可以构成一个核心词集合。例如,若与用户问题相关的至少一个第二文本为2个,其中,从用户问题提取2个核心词【花呗】和【还款】,从第一个第二文本提取4个核心词【花呗】【还款】【余额宝】【支付宝】,从第二个第二文本提取4个核心词【花呗】【支付】【注册】【申请】,则构成一个包含7个核心词的集合,分别为【花呗】【还款】【余额宝】【支付宝】【支付】【申请】【注册】,其中,问题、第一个第二文本和第二个第二文本中的【花呗】视为一个核心词,问题和第一个第二文本中的【还款】视为一个核心词。
相关性是任意两个不同核心词之间关系的评价指标,例如,可以表示一个核心词在确定问题答案时,另一个核心词的重要程度。其中,任意两个不同核心词来源于由用户问题和所有第一文本的核心词构成的集合。在一些实施例中,相关性可以是一个数值,数值越大,表示核心词的重要程度越高。
例如,核心词【花呗】与【余额宝】、【还款】之间的相关性如下表,基于核心词【花呗】确定问题答案时,【还款】比【余额宝】更重要。可以理解,若第一文本中文本内容1中包含核心词【花呗】和【余额宝】相关的内容,文本内容2中包含核心词【花呗】和【还款】相关内容,则文本内容2的内容或部分内容成为答案可能性更大。
【余额宝】 【还款】
【花呗】 4 9
在一些实施例中,相关性可以基于第一问题和/或第三文本的个数确定。
对于任意两个不同的核心词,第一问题是指同时包含两个核心词的用户问题。例如,对于核心词【余额宝】、【花呗】,用户问题“花呗怎样用余额宝还款”可以作为第一问题、“花呗可以提现吗”不为第一问题。
在一些实施例中,用户输入的问题为1个,可以理解,在确定任意两个核心词的关系时,第一问题的个数为1或者0。
对于任意两个不同的核心词,第三文本是指同时包含两个核心词的第二文本。例如,对于核心词【余额宝】、【花呗】,第二文本“设置余额宝自动还款花呗方法”可以作为第三文本,第二文本“余额宝转入银行卡”不可以作为第三文本。
在一些实施例中,第一问题和第三文本可以用常用统计算法分别从用户问题和第二文本中获取。
在一些实施例中,相关性可以是第一问题和第三文本个数的总和。例如,核心词【花呗】和【余额宝】的相关性为1+2=3。
在一些实施例中,相关性还可以通过对第一问题个数和第三文本个数设置权重获取。在一些实施例中,第一问题的权重可以高于第三文本的权重。例如,第一问题个数和第三文本个数的权重分别为0.6和0.4,则核心词【花呗】和【余额宝】的相关性为0.6×1+0.4×2=1.4。
在一些实施例中,还可以通过任意两个核心词同时出现在一个句子的编码表示相关性。例如,核心词【花呗】和【余额宝】,其相关性可以是句子“设置余额宝自动还款花呗方法”的句子编码。若句子是多个,则可以是多个句子的编码向量的拼接结果。
可以理解,对于包含n个核心词的集合,可以确定
Figure 341271DEST_PATH_IMAGE001
=n(n-1)/2个相关性。
在一些实施例中,可以通过相关性矩阵n*n表示集合中任意两个核心词之间的相关性,其中,相关性矩阵n*n中的元素
Figure 95600DEST_PATH_IMAGE002
表示第i个核心词和第j个核心词之间的相关性,相关性矩阵中某一列或某一行为某个核心词的相关性向量,该向量中的值为该核心词与其他核心词之间的相关性。
步骤206,答案生成模型基于输入的所述用户问题、所述至少一个第一文本和所述相关性,输出所述用户问题的答案;其中,所述答案生成模型包括图神经网络模型,所述图神经网络模型的节点为所述核心词,所述图神经网络模型的边为所述相关性。具体的,步骤206可以由确定模块执行。
答案生成模型的输入可以是核心词、相关性、用户问题的以及第一文本,输出则是用户问题的答案。
在一些实施例中,答案生成模型300可以包括图神经网络模型,图神经网络(GraphNeural Network,GNN)可以对由核心词作为顶点、相关性作为边构成的图进行作用。
图神经网络是一种直接作用于图上的神经网络,所述图是由顶点和边两部分组成的一种数据结构。图神经网络模型基于信息传播机制,每一个节点通过相互交换信息来更新自己的节点状态,直到达到某一个稳定值,图神经网络模型的输出就是在每个节点处,根据当前节点状态分别计算输出。
关于图神经网络对核心词和相关性作用的更多细节参见图3及其相关描述。
关于答案生成模型结构的详细描述参见图3和图4,在此不再赘述。
根据图1对应的说明内容可知,对于需要建立知识库地问答系统而言,整个链路环节多,更新周期长。本实施例无需先建立包含大量标准问题和答案的知识库,直接根据用户输入问题、第一文本(即,产品文档、用户手册和常用问答文档等)确定用户问题地答案,减少了链路的环节,缩短了更新的周期。
图3是根据本说明书的一些实施例所示的答案生成模型的示例性结构图。如图3所示,答案生成模型300包括:编码神经网络模型310、解码神经网络模型320以及生成模型340。
在一些实施例中,编码神经网络模型310可以用于对向量化后的问题、向量化后的至少一个第一文本、向量化后的核心词和向量化后的相关性进行编码。
在一些实施例中,可以通过向量化表示模型向量化核心词、用户问题以及第一文本。在一些实施例中,向量化表示模型可以是词嵌入模型,词嵌入模型可以包括但不限于:Word2vec模型、词频-逆向文件频率模型(Term Frequency–Inverse Document Frequency,TF-IDF)或SSWE-C(skip-gram based combined-sentiment word embedding)模型等。在一些实施例中,向量化表示模型还可以是Bert(Bidirectional Encoder Representationsfrom Transformer)模型。
在一些实施例中,向量化后相关性可以是步骤204中所描述的相关性矩阵中的向量。对于相关性矩阵n*n中,某一行或某一列为某个核心词与其他核心词之间的关系向量。
在一些实施例中,编码神经网络模型310可以由图神经网络模型和前馈神经网络组成。
编码神经网络模型310先通过图神经网络模型对向量化后的核心词和向量化的相关性进行第一运算;再将第一运算的结果与向量化后的第一拼接文本进行第二运算,第一拼接文本为问题与至少一个第一文本的拼接文本;最后将第二交互运算的结果输入前馈神经网络,前馈神经网络的输出为编码的结果。
在一些实施中,将向量化的核心词(即,核心词的词向量)和向量化的相关性输入图神经网络,该图神经网络对核心词的词向量和相关性的向量进行第一运算,在进行第一运算时,核心词的词向量为第一运算的顶点向量,相关性的向量为第一运算的边的向量。第一运算的结果即为图神经网络的输出结果,仍为与输入的核心词的词向量相同维数的向量,但输出的向量中不仅包含核心词本身的信息,还包含其与其他核心词的关系信息。输入的每个核心词对应一个输出向量,对于某个核心词的输出向量而言,该输出向量中涵盖了其他核心词对于该核心词的重要程度。
在一些实施中,第一运算可以是:
Figure 770295DEST_PATH_IMAGE003
其中,
Figure 746210DEST_PATH_IMAGE004
代表第i个核心词对应的输出向量;
Figure 848158DEST_PATH_IMAGE005
代表第j个核心词的词向量;
Figure 276734DEST_PATH_IMAGE006
代表第i个核心词和第j个核心词之间的相关性的向量;
Figure 755120DEST_PATH_IMAGE007
表示基于图神经网络的算法,
Figure 319963DEST_PATH_IMAGE007
可以是任意GNN算法,本发明不做限制;
Figure 592812DEST_PATH_IMAGE008
代表系数,且可以在训练过程确定。
编码神经网络对第一运算得到的向量与第一拼接文本(即问题与第一文本的拼接文本)的向量进行第二运算。在一些实施例中,第二运算是可以是拼接。可以理解,通过第二运算,将多个向量拼接得到一个向量,其中,多个向量包括:经过图神经网络后每个核心词对应输出的向量、第一拼接文本的向量。
前馈神经网络是从输入层到输出层单向传播的神经网络。将第二运算得到的向量输入前馈神经网络之后,前馈神经网络通过激活函数对该向量进行处理,得到新的向量,且该新的向量为编码的结果(简称“编码向量)。
如图4所示答案生成模型的解码神经网络模型可以是多个,例如,m个,m为大于等于1的整数。
除了与向量表示层直接相连的第一个解码神经网络模型以外,其他解码神经网络模型的输入是上一个的解码神经网络模型的输出,例如,第二解码神经网络的输入是第一解码神经网络模型的输出。
每一个解码神经网络都是由图神经网络模型和前馈神经网络构成。
在一些实施例中,答案生成模型中的解码神经网络模型320、判断模型330和生成模型340循环执行,直到生成模型340的输出为答案的最后一个词。
在一些实施例中,解码神经网络模型320可以用于基于编码的结果和向量化的答案中第1~(t-1)个词进行解码,得到解码结果。答案中第1~(t-1)个词由生成模型生成并输出,其中,t为1~N之间的整数,N为所述答案中词的总数。关于生成模型生成答案中的词可以参见生成模型340的相关介绍,在此不再赘述。
在一些实施例中,解码神经网络模型320可以由图神经网络模型、解码-编码注意力层组成和前馈神经网络构成。其中,解码神经网络模型320中的图神经网络模型可以替换为自注意力神经网络(self-attention)。
在一些实施例中,先将第1~(t-1)个词进行向量化,再将向量化后结果输入图神经网络。在一些实施例中,将图神经网络输出的向量和编码神经网络模型的编码结果输入解码-编码注意力层,进一步地,前馈神经网络通过激活函数对解码-编码注意力层输出的结果进行激活,得到解码的结果。
如图4所示,与编码神经网络模型相同,解码神经网络模型的数量也可以是多个。在一些实施例中,解码神经网络模型的数量与编码神经网络模型的数量相同。例如,均为4个、6个或8个等。
与编码神经网络模型相同,除了第一个解码神经网络模型以外,其他解码神经网络模型的输入时上一个的输出。
每一个解码神经网络模型由图神经网络、编码-解码注意力网络和前馈神经网络构成。
在一些实施例中,答案生成模型300还可以包括判断模型330。
在一些实施例中,判断模型330可以用于基于所述编码的结果和所述解码的结果判断所述问题是否能够被解答;是则所述生成模型生成所述答案中的词并输出;否则不执行所述生成模型。
在一些实施例中,判断模型330的输入可以是解码神经网络模型320输出的解码向量和编码神经网络模型310输出的编码向量,输出可以是一个数值。
在一些实施例中,判断模型330可以是神经网络模型,也可以是其他分类模型。
生成模型340可以用于生成和输出答案中的词。
在一些实施例中,生成模型340基于解码结果生成。例如,若解码神经网络模型是基于编码的结果和向量化的答案中第1~(t-1)个词进行解码,则生成模型基于解码的结果生成答案中的第t个词。
在一些实施例中,生成模型340可以由线性变换层(linear层)、softmax层和输出层组成。
在一些实施例中,生成模型340先通过线性变换层将解码向量映射成一个长向量,再通过softmax层将长向量的元素转换为概率,最后通过输出层选择概率对应最大的词作为答案的第t个词。
在一些实施例中,线性变换层将解码向量映射成一个维度为1×N的长向量。其中N的长度和核心词、第一文本、用户问题和预设词表中包含的词个数相同。例如,词的个数为10000,则将一个2×3维的解码向量映射成一个1×10000的长向量。
预设词表是由大量(例如,一万个)不同的词语构成的列表。在一些实施例中,预设词表可以预先通过模型从与问答系统相关的文本中预先学习获取,也可以通过读取问答系统存储的数据、调用相关接口或其他方式获取。
在一些实施例中,softmax层通过归一化指数函数(softmax函数)将长向量的元素转换为概率。
在一些实施例中,预设词表可以包括表示结束的符号,例如,“<end>”。当第t个词为“<end>”时,表示第1~t个词为最终的答案,否则答案生成模型继续生成第t+1个词。在一些实施例中,答案生成模型可以基于带有标识的训练样本进行训练。具体的,将带有标签的训练样本输入答案生成模型,通过训练更新答案生成模型的参数。
在一些实施例中,答案生成模型的训练样本可以包括:用户的问题和对应于用户问题的文本。
在一些实施例中,答案生成模型的标签可以是对应于用户问题的答案。在一些实施例中,标签的获取方式可以是人工标记,还可以是其他方式,本实施例不做限制。
在一些实施例中,答案生成模型可以基于上述样本,通过常用的方法进行训练,更新模型参数。例如,可以基于梯度下降法进行训练。
在一些实施例中,当训练的答案生成模型满足预设条件时,训练结束。其中,预设条件可以是损失函数结果收敛或者小于预设阈值等。
在一些实施例中,判断模型330可以通过一个二分类器进行训练。
在一些实施例中,判断模型330的训练样本可以包括用户的问题、对应的文本和对应的答案。其中,正样本的文本包含标准答案,负样本的文本不包含标准答案。
在一些实施例中,判断模型330的标签可以是“能够回答”和“不能够回答”。在一些实施例中,标签的获取方式可以根据用户与问答机器人的交互过程中的实际操作获取。例如,根据用户是否触发转接人工客服的操作获取。标签还可以通过其他方式获取,例如基于历史数据。
在一些实施例中,二分类器基于判断模型330的训练样本通过上述方法进行训练,更新模型参数。
在一些实施例中,判断模型330还可以和答案生成模型联合训练。
本说明书实施例还提供一种装置,其至少包括处理器以及存储器。所述存储器用于存储指令。当所述指令被所述处理器执行时,导致所述装置实现前述的生成答案的方法。
以上实施例至少具有以下之一的技术效果:(1)通过对问题和第二文本提取核心词,并基于GNN模型对核心词和核心词之间的相关性进行编码,因为核心词为业务词、诉求词等包含关键信息的词,从而在编码时可以避免其他非核心词对编码结果的影响,进一步地,避免非关键词对答案的影响,可以提高答案的准确程度。(2)无需建立知识库,直接基于用户问题和产品文档等确定答案,减少了链路的环节,减短更新周期。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (11)

1.一种自动生成答案的方法,包括:
获取用户问题和至少一个第一文本,所述第一文本是多个第二文本中与所述用户问题相关的文本;
从所述用户问题和所述至少一个第一文本中确定至少一个核心词,以及确定所述至少一个核心词中任意两个不同核心词之间的相关性;所述相关性代表所述核心词的重要程度;
答案生成模型基于输入的所述用户问题、所述至少一个第一文本、所述至少一个核心词和所述相关性,输出所述用户问题的答案;
其中,所述答案生成模型包括图神经网络模型,所述图神经网络模型的节点为所述核心词,所述图神经网络模型的边为所述相关性;
所述答案生成模型包含编码神经网络模型、解码神经网络模型和生成模型;
所述编码神经网络模型对向量化后的所述问题、向量化后的所述至少一个第一文本、向量化后的所述核心词和向量化后的所述相关性进行编码包括:
所述图神经网络模型对所述向量化后的所述核心词和所述向量化的所述相关性进行第一运算;
将所述第一运算的结果与向量化后的第一拼接文本进行第二运算,所述第一拼接文本为所述问题与所述至少一个第一文本的拼接文本;
将所述第二运算的结果输入前馈神经网络,将所述前馈神经网络的输出作为编码的结果。
2.如权利要求1所述的方法,任意两个不同核心词之间的相关性基于第一问题和/或第三文本的个数确定,其中,第一问题为同时包含任意两个不同核心词的用户问题;所述第三文本为同时包含任意两个不同核心词的第二文本。
3.如权利要求1所述的方法,所述解码神经网络模型基于编码的结果和向量化的所述答案中第1~(t-1)个词进行解码,所述答案中第1~(t-1)个词由所述生成模型生成并输出;其中,t为1~N之间的整数,N为所述答案中词的总数;
所述生成模型基于解码的结果生成所述答案中的第t个词。
4.如权利要求3所述的方法,所述答案中的第1~t个词来源于所述核心词、所述至少一个第一文本、所述问题和/或预设词表。
5.如权利要求3所述的方法,所述答案生成模型还包含判断模型,所述判断模型基于所述编码的结果和所述解码的结果判断所述问题是否能够被解答;
是则所述生成模型生成所述答案中的词并输出;否则不执行所述生成模型。
6.一种自动生成答案的系统,包括:
获取模块,用于获取用户问题和至少一个第一文本,所述第一文本是多个第二文本中与所述用户问题相关的文本;
确定模块,用于从所述用户问题和所述至少一个第一文本中确定至少一个核心词,以及确定所述至少一个核心词中任意两个不同核心词之间的相关性;所述相关性代表所述核心词的重要程度;
输出模块,用于答案生成模型基于输入的所述用户问题、所述至少一个第一文本、所述至少一个核心词和所述相关性,输出所述用户问题的答案;
其中,所述答案生成模型包括图神经网络模型,所述图神经网络模型的节点为所述核心词,所述图神经网络模型的边为所述相关性;
所述答案生成模型包含编码神经网络模型、解码神经网络模型和生成模型;
所述编码神经网络模型对向量化后的所述问题、向量化后的所述至少一个第一文本、向量化后的所述核心词和向量化后的所述相关性进行编码包括:
所述图神经网络模型对所述向量化后的所述核心词和所述向量化的所述相关性进行第一运算;
将所述第一运算的结果与向量化后的第一拼接文本进行第二运算,所述第一拼接文本为所述问题与所述至少一个第一文本的拼接文本;
将所述第二运算的结果输入前馈神经网络,将所述前馈神经网络的输出作为编码的结果。
7.如权利要求6所述的系统,所述确定模块用于:
基于第一问题和/或第三文本的个数确定任意两个不同核心词之间的相关性,其中,第一问题为同时包含任意两个不同核心词的用户问题;所述第三文本为同时包含任意两个不同核心词的第二文本。
8.如权利要求6所述的系统,所述解码神经网络模型基于编码的结果和向量化的所述答案中第1~(t-1)个词进行解码,所述答案中第1~(t-1)个词由所述生成模型生成并输出;其中,t为1~N之间的整数,N为所述答案中词的总数;
所述生成模型基于解码的结果生成所述答案中的第t个词。
9.如权利要求8所述的系统,所述答案中的第1~t个词来源于所述核心词、所述至少一个第一文本、所述问题和/或预设词表。
10.如权利要求8所述的系统,所述答案生成模型还包含判断模型,所述判断模型基于所述编码的结果和所述解码的结果判断所述问题是否能够被解答;
是则所述生成模型生成所述答案中的词并输出;否则不执行所述生成模型。
11.一种自动生成答案的装置,其特征在于,所述装置包括至少一个处理器以及至少一个存储器;所述至少一个存储器用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令中的至少部分指令以实现如权利要求1~5中任意一项所述的方法。
CN202010276896.1A 2020-04-10 2020-04-10 一种自动生成答案的方法和系统 Active CN111177325B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010276896.1A CN111177325B (zh) 2020-04-10 2020-04-10 一种自动生成答案的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010276896.1A CN111177325B (zh) 2020-04-10 2020-04-10 一种自动生成答案的方法和系统

Publications (2)

Publication Number Publication Date
CN111177325A CN111177325A (zh) 2020-05-19
CN111177325B true CN111177325B (zh) 2020-07-31

Family

ID=70655228

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010276896.1A Active CN111177325B (zh) 2020-04-10 2020-04-10 一种自动生成答案的方法和系统

Country Status (1)

Country Link
CN (1) CN111177325B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111666375B (zh) * 2020-05-20 2023-07-04 上海携旅信息技术有限公司 文本相似度的匹配方法、电子设备和计算机可读介质
CN111694942A (zh) * 2020-05-29 2020-09-22 平安科技(深圳)有限公司 问答方法、装置、设备及计算机可读存储介质
CN111984783B (zh) * 2020-08-28 2024-04-02 达闼机器人股份有限公司 文本生成模型的训练方法、文本生成方法及相关设备
CN112131366B (zh) * 2020-09-23 2024-02-09 腾讯科技(深圳)有限公司 训练文本分类模型及文本分类的方法、装置及存储介质
CN112765306B (zh) * 2020-12-30 2024-06-07 金蝶软件(中国)有限公司 智能问答方法、装置、计算机设备和存储介质
CN112711657A (zh) * 2021-01-06 2021-04-27 北京中科深智科技有限公司 一种问答方法及问答系统
CN113657075B (zh) * 2021-10-18 2022-02-08 腾讯科技(深圳)有限公司 答案生成方法、装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190163691A1 (en) * 2017-11-30 2019-05-30 CrowdCare Corporation Intent Based Dynamic Generation of Personalized Content from Dynamic Sources
AU2019212839B2 (en) * 2018-01-29 2023-11-09 EmergeX, LLC System and method for facilitating affective-state-based artificial intelligence
CN110188176B (zh) * 2019-04-30 2022-12-23 深圳大学 深度学习神经网络及训练、预测方法、系统、设备、介质
CN110674279A (zh) * 2019-10-15 2020-01-10 腾讯科技(深圳)有限公司 基于人工智能的问答处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111177325A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
CN111177325B (zh) 一种自动生成答案的方法和系统
CN111027327B (zh) 机器阅读理解方法、设备、存储介质及装置
CN112732911B (zh) 基于语义识别的话术推荐方法、装置、设备及存储介质
Muangkammuen et al. Automated thai-faq chatbot using rnn-lstm
US11610064B2 (en) Clarification of natural language requests using neural networks
CN109033068A (zh) 基于注意力机制的用于阅读理解的方法、装置和电子设备
CN110990547B (zh) 一种话术生成方法和系统
CN110678882B (zh) 使用机器学习从电子文档选择回答跨距的方法及系统
CN115952291B (zh) 基于多头自注意力及lstm的金融舆情分类方法及系统
US10915756B2 (en) Method and apparatus for determining (raw) video materials for news
CN111324738B (zh) 一种确定文本标签的方法和系统
CN111666500A (zh) 文本分类模型的训练方法及相关设备
CN110377733A (zh) 一种基于文本的情绪识别方法、终端设备及介质
CN117236410A (zh) 一种可信的电子文件大语言模型训练、推理方法和装置
Alazzam et al. Artificial intelligence chatbots: a survey of classical versus deep machine learning techniques
CN116467417A (zh) 问题答案的生成方法、装置、设备及存储介质
KR102575603B1 (ko) 인공지능을 이용한 사용자 리뷰 분석 장치 및 그 방법
CN110489730A (zh) 文本处理方法、装置、终端及存储介质
CN111400484B (zh) 一种关键词提取方法和系统
CN111324722B (zh) 一种训练词语权重模型的方法和系统
CN117076672A (zh) 文本分类模型的训练方法、文本分类方法及装置
CN116795970A (zh) 一种对话生成方法及其在情感陪护中的应用
CN114648005B (zh) 一种多任务联合学习的多片段机器阅读理解方法及装置
CN114911940A (zh) 文本情感识别方法及装置、电子设备、存储介质
CN114398868A (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