发明内容
本申请提供一种文档问答方法、装置、设备、存储介质和程序产品,用以解决现有技术中文档自动化问答方法生成的文档回复内容准确度差的问题。
第一方面,本申请提供一种文档问答方法,包括:
接收提问语句,并对所述提问语句进行向量化处理,得到提问向量;
从预设向量库包含的至少一个检索向量中匹配到所述提问向量对应的至少一个第一目标检索向量;所述检索向量包括文本向量和表格向量中的至少一种;
根据所述第一目标检索向量与所述提问语句建立问答对,并将所述问答对输入预先训练好的重排序模型,得到各所述问答对对应的相关性排列顺序;
按照所述相关性排列顺序,从所述第一目标检索向量中确定出第二目标检索向量,并根据所述第二目标检索向量对应的目标原始文档生成所述提问语句对应的答案。
在其中一个实施例中,所述从预设向量库包含的至少一个检索向量中匹配到所述提问向量对应的至少一个第一目标检索向量,包括:
遍历所述预设向量库包含的各检索向量,计算所述提问向量与所述预设向量库包含的各检索向量的余弦相似度值;
将各所述余弦相似度值按照预设顺序排列,将相关性排列顺序靠前的第一预设数量个余弦相似度对应的检索向量作为所述第一目标检索向量。
在其中一个实施例中,建立所述预设向量库的步骤包括:
采集至少一份原始文档;
采用预先训练好的拆分模型对所述原始文档进行拆分,获取所述原始文档对应的拆分文本和拆分表格;
对所述拆分文本和所述拆分表格进行文本嵌入,获取文本向量和表格向量;
基于所述文本向量和所述表格向量建立所述预设向量库。
在其中一个实施例中,所述采用预先训练好的模型对所述原始文档进行拆分,获取所述原始文档对应的拆分文本和拆分表格之后,包括:
按照第一预设文本长度,对所述拆分文本进行合并,得到至少一个第一数据块;
将所述拆分表格输入预先训练好的提取模型,得到所述拆分表格对应的表格摘要信息;
所述对所述拆分文本和所述拆分表格进行文本嵌入,获取所述拆分文本对应的文本向量和所述拆分表格对应的表格向量,包括:
对所述第一数据块和所述表格摘要信息进行文本嵌入,获取所述文本向量和所述表格向量。
在其中一个实施例中,所述采用预先训练好的拆分模型对所述原始文档进行拆分,获取所述原始文档对应的拆分文本和拆分表格,包括:
采用预先训练好的拆分模型对所述原始文档进行拆分,得到所述原始文档对应的标题、拆分文本和拆分表格;
所述按照第一预设文本长度,对所述拆分文本进行合并,得到至少一个第一数据块,包括:
按照所述第一预设文本长度,对各所述标题对应的拆分文本进行合并,得到各所述标题对应的至少一个第一数据块。
在其中一个实施例中,所述按照预设长度,对所述拆分文本进行合并,得到至少一个第一数据块之后,还包括:
按照第二预设文本长度,对所述第一数据块包含的文本进行切分,得到至少一个第二数据块;所述第一预设文本长度大于所述第二预设文本长度;
所述对所述第一数据块和所述表格摘要信息进行文本嵌入,获取所述文本向量和所述表格向量,包括:
对所述第二数据块和所述表格摘要信息进行文本嵌入,获取所述文本向量和所述表格向量。
在其中一个实施例中,所述基于所述文本向量和所述表格向量建立所述预设向量库之前,还包括:
根据所述文本向量对应的第二数据块、所述第二数据块对应的第一数据块、第一数据块对应的拆分文本,确定所述文本向量与所述拆分文本的对应关系;
根据所述表格向量对应的表格摘要信息、所述表格摘要信息对应的拆分表格,确定所述表格向量与所述拆分表格的对应关系;
所述基于所述文本向量和所述表格向量建立所述预设向量库,包括:
基于所述文本向量和所述表格向量,以及所述文本向量与所述拆分文本的对应关系、所述表格向量与所述拆分表格的对应关系,建立所述预设向量库。
在其中一个实施例中,所述第一目标检索向量包括第一目标文本向量和第一目标表格向量中的至少一种;
所述根据所述第一目标检索向量与所述提问语句建立问答对,并将所述问答对输入预先训练好的重排序模型,得到各所述问答对对应的相关性排列顺序,包括:
根据所述第一目标文本向量对应的第二数据块、所述第一目标表格向量对应的表格摘要信息和所述提问语句,建立所述问答对;
将所述问答对输入预先训练好的重排序模型,得到各所述问答对对应的相关性排列顺序。
在其中一个实施例中,所述基于所述文本向量和所述表格向量,以及所述文本向量与所述拆分文本的对应关系、所述表格向量与所述拆分表格的对应关系,建立所述预设向量库之后,还包括:
将所述第二数据块、所述表格摘要信息与所述预设向量库共同存储至第一预设位置,将所述原始文档存储至第二预设位置。
在其中一个实施例中,所述第二目标检索向量包括第二目标文本向量和第二目标表格向量中的至少一种;
所述第二目标检索向量对应的目标原始文档包括第二目标拆分文本对应的原始文档和第二目标拆分表格对应的原始文档中的至少一种;
所述按照所述相关性排列顺序,从所述第一目标检索向量中确定出第二目标检索向量,并根据所述第二目标检索向量对应的目标原始文档生成所述提问语句对应的答案,包括:
按照所述相关性排列顺序,将相关性排列顺序靠前的第二预设数量个问答对中的第一目标检索向量作为所述第二目标检索向量;
根据所述预设向量库中文本向量与拆分文本的对应关系、表格向量与拆分表格的对应关系,确定所述第二目标检索向量对应的第二目标拆分文本和第二目标拆分表格;
根据预先设置的提示信息、所述第二目标拆分文本对应的原始文档以及所述第二目标拆分表格的原始文档,生成所述提问语句对应的答案。
在其中一个实施例中,所述根据预先设置的提示信息、所述目标拆分文本对应的原始文档以及所述目标拆分表格的原始文档,生成所述提问语句对应的答案,包括:
从所述第二预设位置获取所述第二目标拆分文本对应的原始文档以及所述第二目标拆分表格的原始文档;
根据预先设置的提示信息、所述第二目标拆分文本对应的原始文档以及所述第二目标拆分表格的原始文档,生成所述提问语句对应的答案。
在其中一个实施例中,所述提示信息包括提示文本信息和数据填入位置的连接关系;
所述根据预先设置的提示信息、所述目标拆分文本对应的原始文档以及所述目标拆分表格的原始文档,生成所述提问语句对应的答案,包括:
将所述第二目标拆分文本对应的原始文档以及所述第二目标拆分表格的原始文档填入所述数据填入位置;
根据填入所述数据填入位置的原始文档、所述提示文本信息以及所述连接关系,生成所述提问语句对应的答案。
第二方面,本申请还提供了一种文档问答装置,包括:
接收模块,用于接收提问语句,并对所述提问语句进行向量化处理,得到提问向量;
匹配模块,用于从预设向量库包含的至少一个检索向量中匹配到所述提问向量对应的至少一个第一目标检索向量;所述检索向量包括文本向量和表格向量中的至少一种;
排序模块,用于根据所述第一目标检索向量与所述提问语句建立问答对,并将所述问答对输入预先训练好的重排序模型,得到各所述问答对对应的相关性排列顺序;
生成模块,用于按照所述相关性排列顺序,从所述第一目标检索向量中确定出第二目标检索向量,并根据所述第二目标检索向量对应的目标原始文档生成所述提问语句对应的答案。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例所述的文档问答方法。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的文档问答方法。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序产品被处理器执行时实现上述任一实施例所述的文档问答方法。
上述文档问答方法、装置、设备、存储介质和程序产品,能够预先根据预先存储的原始文档包含的文本和表格进行区分处理,使得预设向量库中检索向量对应的维度增加,同时增加了检索向量的数量,在接收到提问语句时,能够将提问语句对应的提问向量与更细粒度的检索向量进行比对匹配,使得筛选出的第一目标检索向量的命中率能够更高,从而提高最终匹配到的参考文档的匹配广度,并且,还能够对第一目标检索向量进行重排序,以将与提问语句最相关的第一目标检索向量筛选出来作为第二目标检索向量,从而在提高最终匹配到的参考文档的匹配广度的同时,提高最终匹配到的参考文档的匹配准确度。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请实施例提供的文档问答方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。
例如,文档问答方法应用于终端102,终端102在接收到提问语句时,对该提问语句进行向量化处理,得到提问向量;随后终端102从服务器104的数据存储系统中获取预设向量库,并从预设向量库包含的至少一个检索向量中匹配到提问向量对应的至少一个第一目标检索向量;检索向量包括文本向量和表格向量中的至少一种;并根据第一目标检索向量与提问语句建立问答对,并将问答对输入预先训练好的重排序模型,得到各问答对对应的相关性排列顺序;最后终端102按照相关性排列顺序,从第一目标检索向量中确定出第二目标检索向量,并根据第二目标检索向量对应的目标原始文档生成提问语句对应的答案。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端102和服务器104可以通过有线或无线通信方式进行直接或间接的连接,例如通过网络连接。
又例如,文档问答方法应用于服务器104,终端102在接收到提问语句时,将提问语句发送给服务器104,服务器104对提问语句进行向量化处理,得到提问向量,并从数据存储系统中获取预设向量库,从预设向量库包含的至少一个检索向量中匹配到提问向量对应的至少一个第一目标检索向量;检索向量包括文本向量和表格向量中的至少一种;随后服务器104根据第一目标检索向量与提问语句建立问答对,并将问答对输入预先训练好的重排序模型,得到各问答对对应的相关性排列顺序;最后按照相关性排列顺序,从第一目标检索向量中确定出第二目标检索向量,并根据第二目标检索向量对应的目标原始文档生成提问语句对应的答案。可以理解的是,数据存储系统可为独立的存储设备,或者该数据存储系统位于服务器104上,或者该数据存储系统位于另一终端上。
需要说明的是,终端102与服务器104之间的网络通信适用于不同的网络制式,例如,可以适用于全球移动通讯(Global System of Mobile communication,简称GSM)、码分多址(Code Division Multiple Access,简称CDMA)、宽带码分多址(Wideband CodeDivision Multiple Access,简称WCDMA)、时分同步码分多址(Time Division-Synchronous Code Division Multiple Access,简称TD-SCDMA)、长期演进(Long TermEvolution,简称LTE)系统及未来的5G等网络制式。可选的,上述通信系统可以为5G通信系统中高可靠低时延通信(Ultra-Reliable and Low Latency Communications,URLLC)传输的场景中的系统。
故而,可选的,上述基站可以是GSM或CDMA中的基站(Base Transceiver Station,简称BTS)和/或基站控制器,也可以是WCDMA中的基站(NodeB,简称NB)和/或无线网络控制器(Radio Network Controller,简称RNC),还可以是LTE中的演进型基站(EvolutionalNode B,简称eNB或eNodeB),或者中继站或接入点,或者未来5G网络中的基站(gNB)等,本申请在此并不限定。
上述终端102可以是无线终端也可以是有线终端。无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(Radio Access Network,简称RAN)与一个或多个核心网设备进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。再例如,无线终端还可以是个人通信业务(Personal Communication Service,简称PCS)电话、无绳电话、会话发起协议(Session Initiation Protocol,简称SIP)话机、无线本地环路(Wireless Local Loop,简称WLL)站、个人数字助理(Personal Digital Assistant,简称PDA)等设备。无线终端也可以称为系统、订户单元(Subscriber Unit)、订户站(Subscriber Station),移动站(MobileStation)、移动台(Mobile)、远程站(Remote Station)、远程终端(Remote Terminal)、接入终端(Access Terminal)、用户终端(User Terminal)、用户代理(User Agent)、用户设备(User Device or User Equipment),在此不作限定。可选的,上述终端设备还可以是智能手表、平板电脑等设备。
在一个实施例中,提供了一种文档问答方法,本实施例以该文档问答方法应用于终端进行举例说明,可以理解的是,该文档问答方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。如图2所示,该文档问答方法包括:
步骤202、接收提问语句,并对提问语句进行向量化处理,得到提问向量。
提问语句可以是用户通过终端的人机交互界面上的固定组件输入的,其中,固定组件指的可以是预先构建的页面或小程序,提问语句可以是针对服务器预先存储的参考文档进行筛选召回的文本内容。
终端对提问语句进行向量化处理的过程可以基于统计或神经网络进行,该过程例如可以包括:首先,终端对提问语句进行预处理,以去除停用词、标点符号等,随后终端采用前向最大匹配算法将提问语句分解为至少一个单词或短语,并去除常见的无实际意义的词语,如“的”、“是”等,紧接着,终端采用word2vec语言模型将单词或短语转换为对应的词向量,最终获取的词向量即可视作为提问向量。需要说明的是,本申请实施例对提问语句进行向量化处理的方式不做限制,只需满足能够提取提问语句对应的提问向量即可,例如,终端还可以采用神经网络模型等对提问语句进行向量化处理。
提问向量代表了提问语句的语义信息,终端通过将文本数据转换为数值向量,简化了文本分析的难度。
步骤204、从预设向量库包含的至少一个检索向量中匹配到提问向量对应的至少一个第一目标检索向量;检索向量包括文本向量和表格向量中的至少一种。
检索向量可以理解为参考文档的标签,用于表征参考文档的关键内容,在本发明实施例中,预设向量库保存的检索向量不仅能够表征参考文档中文本的关键内容,还可以表征参考文档中表格的关键内容,通过将参考文档的文本和表格进行区分处理,使预设向量库中检索向量对应的维度增加,同时增加了检索向量的数量,即可理解成增加了参考文档的匹配靶点,使得终端在将提问向量与检索向量进行匹配的过程中,第一目标检索向量的命中率更高,从而提高了文档匹配精准度。
第一目标检索向量指的可以是预设向量库中、与提问向量的相似度达到预设预置的检索向量。
步骤206、根据第一目标检索向量与提问语句建立问答对,并将问答对输入预先训练好的重排序模型,得到各问答对对应的相关性排列顺序。
终端可以针对多个样本问句,采集每个样本问句对应的多个词向量,随后根据样本问句和对应的多个词向量建立多个样本问句-词向量的样本问答对,并采用样本问答对训练初始的重排序模型,得到训练好的重排序模型。
重排序模型用于对至少一个第一目标检索向量进行排序处理。其中,重排序模块例如可以依据第一目标检索向量与提问语句之间的语义相关性输出相关性排列顺序。重排序可以基于各种特征和算法,如第一目标检索向量与提问语句的匹配程度、第一目标检索向量的权重、第一目标检索向量的相关性等,通过重排序,可以减少终端匹配检索的时间,提高文档问答效率。
步骤208、按照相关性排列顺序,从第一目标检索向量中确定出第二目标检索向量,并根据第二目标检索向量对应的目标原始文档生成提问语句对应的答案。
在本实施例中,终端例如可以选取相关性排列顺序中靠前的若干个第一目标检索向量作为第二目标检索向量,终端通过对第一目标检索向量进行重排序,可以将与提问语句最相关的第一目标检索向量排在前面,从而提高终端获取提问语句对应的第二目标检索向量的正确率。
目标原始文档指的可以是服务器的数据存储系统中预先存储的参考文档,预设向量库中的检索向量预先与参考文档建立有映射关系,即可以理解为,预设向量库中的文本向量与参考文档一一对应,预设向量库中的表格向量与参考文档一一对应。
终端在确定第二目标检索向量后,能够将第二目标检索向量对应的参考文档作为目标原始文档,并将该目标原始文档作为文档问答的结果,生成最终的答案。
上述文档问答方法中,终端能够预先根据预先存储的参考文档包含的文本和表格进行区分处理,使得预设向量库中检索向量对应的维度增加,同时增加了检索向量的数量,在终端接收到提问语句时,能够将提问语句对应的提问向量与更细粒度的检索向量进行比对匹配,使得筛选出的第一目标检索向量的命中率能够更高,从而提高最终匹配到的参考文档的匹配广度,并且,终端还能够对第一目标检索向量进行重排序,以将与提问语句最相关的第一目标检索向量筛选出来作为第二目标检索向量,从而在提高最终匹配到的参考文档的匹配广度的同时,提高最终匹配到的参考文档的匹配准确度。
如图3所示,在一些可选的实施例中,步骤204包括:
步骤2042、遍历预设向量库包含的各检索向量,计算提问向量与预设向量库包含的各检索向量的余弦相似度值;
步骤2044、将各余弦相似度值按照预设顺序排列,将排列顺序靠前的第一预设数量个余弦相似度对应的检索向量作为第一目标检索向量。
在本实施例中,提问向量与检索向量之间的余弦相似度值的计算公式如下:
其中,A表示提问向量,B表示检索向量,A.B表示提问向量与检索向量的点积,‖A‖表示提问向量的模长,‖B‖表示检索向量的模长。
预设顺序可以是按照余弦相似度值从大到小的顺序,则第一目标检索向量可以理解为是与提问向量的余弦相似度值较大的TOP N个检索向量,N为第一预设数量。
在一些可选的实施例中,建立预设向量库的步骤包括:
采集至少一份原始文档;
采用预先训练好的拆分模型对原始文档进行拆分,获取原始文档对应的拆分文本和拆分表格;
对拆分文本和拆分表格进行文本嵌入,获取文本向量和表格向量;
基于文本向量和表格向量建立预设向量库。
原始文档指的是提供系统知识和信息支持的文档,当终端接收到提问语句时,能够从这些原始文档形成的文档集合中检索相关信息、寻找最合适的原始文档生成最终的答案,本实施例中终端生成提问语句对应的答案的性能和效果很大程度上取决于原始文档的集合的质量和覆盖范围。
拆分模型可以是YoLoX模型、BERT模型和表格识别模型的集合、Faster R-CNN模型等,作为示例,终端通过将多个原始文档输入预先训练好的YoLoX模型,能够获取到每份原始文档包含的页面、页脚、页面段落、标题和表格等具体内容,在本实施例中,终端可以将YoLoX模型输出的页面段落和表格作为拆分文本和拆分表格。
终端对拆分文本进行文本嵌入得到文本向量的步骤包括:将经过预处理的拆分文本输入文本嵌入模型,文本嵌入模型为拆分文本包含的每个单词或词组生成对应的向量表示,随后通过取平均值、加权平均值等方式将每个词单词或词组的向量合并为整个拆分文本的向量表示,得到最终的文本向量。其中,对拆分文本进行预处理可以包括对拆分文本进行分词、去除停用词、进行词干化或词形还原等文本预处理操作,文本嵌入模型可以是Word2Vec模型、GloVe模型、FastText模型、BERT模型等。
终端对拆分表格进行文本嵌入得到表格向量的步骤包括:从拆分表格中提取文本内容,并对提取的文本内容进行分词操作,将提取的文本内容拆分为单词或词组的形式,采用上述文本嵌入模型,获取每个单词或词组的向量表示,随后采用取平均值、加权平均值等方式将每个单词或词组的向量表示进行合并,得到拆分表格中提取出的文本内容的向量表示作为最终的表格向量。
预设向量库可以是文本向量和表格向量组成的集合。
在一些可选的实施例中,在采用预先训练好的模型对原始文档进行拆分,获取原始文档对应的拆分文本和拆分表格之后,还包括:
按照第一预设文本长度,对拆分文本进行合并,得到至少一个第一数据块;
将拆分表格输入预先训练好的提取模型,得到拆分表格对应的表格摘要信息;
对拆分文本和拆分表格进行文本嵌入,获取文本向量和表格向量的步骤包括:
对第一数据块和表格摘要信息进行文本嵌入,获取文本向量和表格向量。
第一数据块指的是对原始文档拆分出的所有拆分文本进行文档合并后得出的,第一预设文本长度用于限制每个第一数据块的文本长度,对拆分文本进行文档合并用于将拆分文本细粒化,避免每次问答匹配都将提问向量与所有原始文档对应的拆分文本进行遍历匹配,以减小匹配工作量。
提取模型可以包括词袋模型、TF-IDF模型、word2vec模型等,表格摘要信息可以理解为从拆分表格中提取出来的文本内容。
终端对第一数据块进行文本嵌入得到文本向量的步骤包括:将第一数据块包含的文本内容分词处理后输入文本嵌入模型,文本嵌入模型为第一数据块包含的每一个单词或词组生成对应的向量表示,随后通过取平均值、加权平均值等方式将每个词单词或词组的向量合并作为第一数据块的向量表示,得到最终的文本向量。
终端对表格摘要信息进行文本嵌入得到表格向量的步骤包括:对表格摘要信息进行分词操作,将表格摘要信息拆分为单词或词组的形式,采用上述文本嵌入模型,获取每个单词或词组的向量表示,随后采用取平均值、加权平均值等方式将每个单词或词组的向量表示进行合并,得到表格摘要信息的向量表示作为最终的表格向量。
在一些可选的实施例中,采用预先训练好的拆分模型对原始文档进行拆分,获取原始文档对应的拆分文本和拆分表格的步骤,包括:
采用预先训练好的拆分模型对原始文档进行拆分,得到原始文档对应的标题、拆分文本和拆分表格;
按照第一预设文本长度,对拆分文本进行合并,得到至少一个第一数据块的步骤,包括:
按照第一预设文本长度,对各标题对应的拆分文本进行合并,得到各标题对应的至少一个第一数据块。
在本实施例中,终端在采用拆分模型拆分多个原始文档时,可以同时获取每个原始文档对应的标题、每个标题对应的文本内容和表格内容,随后按照第一预设文本长度,对每个标题对应的文本内容进行合并,得到第一数据块,从而将多个原始文档的拆分文本按照标题进行分类合并,以实现第一数据块的进一步细粒化。
在一些可选的实施例中,按照预设长度,对拆分文本进行合并,得到至少一个第一数据块的步骤之后,还包括:
按照第二预设文本长度,对第一数据块包含的文本进行切分,得到至少一个第二数据块;第一预设文本长度大于第二预设文本长度;
对第一数据块和表格摘要信息进行文本嵌入,获取文本向量和表格向量的步骤,包括:
对第二数据块和表格摘要信息进行文本嵌入,获取文本向量和表格向量。
第二数据块能够容纳的文本长度短于第一数据块能够容纳的文本长度,即可以理解成,第二数据块是对第一数据块进行的进一步切分,第一数据块为文本大块,第二数据块为文本小块。
终端对第二数据块进行文本嵌入得到文本向量的步骤包括:将第二数据块包含的文本内容分词处理后输入文本嵌入模型,文本嵌入模型为第二数据块包含的每一个单词或词组生成对应的向量表示,随后通过取平均值、加权平均值等方式将每个词单词或词组的向量合并作为第二数据块的向量表示,得到最终的文本向量。
本实施例中的终端在对多个原始文档的拆分文本按照标题进行分类合并的基础上,通过将第一数据块进行进一步切分的方式,提高了预设向量库中文本向量的细粒化程度,进而可以提高文档问答过程中提问向量的命中率,提高最终问答的准确度。
在一些可选的实施例中,在基于文本向量和表格向量建立预设向量库之前,还包括:
根据文本向量对应的第二数据块、第二数据块对应的第一数据块、第一数据块对应的拆分文本,确定文本向量与拆分文本的对应关系;
根据表格向量对应的表格摘要信息、表格摘要信息对应的拆分表格,确定表格向量与拆分表格的对应关系;
基于文本向量和表格向量建立预设向量库的步骤,包括:
基于文本向量和表格向量,以及文本向量与拆分文本的对应关系、表格向量与拆分表格的对应关系,建立预设向量库。
既可以理解成,本实施例中的预设向量库不仅包含文本向量和表格向量,还包括文本向量与拆分文本的映射关系,以及表格向量与拆分表格的映射关系。
如图4所示,在一些可选的实施例中,第一目标检索向量包括第一目标文本向量和第一目标表格向量中的至少一种;
步骤206包括:
步骤2062、根据第一目标文本向量对应的第二数据块、第一目标表格向量对应的表格摘要信息和提问语句,建立问答对;
步骤2064、将问答对输入预先训练好的重排序模型,得到各问答对对应的相关性排列顺序。
检索向量包含文本向量和表格向量中的至少一种,则终端将预设向量库中与提问向量相匹配的文本向量作为第一目标文本向量,将预设向量库中与提问向量相匹配的表格向量作为第一目标表格向量,进一步的,建立第一目标文本向量对应的第二数据块与提问语句的问答对、第一目标表格向量对应的表格摘要信息与提问语句的问答对,并将问答对输入重排序模型,得到各个第一目标文本向量、第一目标表格向量的相关性排列顺序。
如图5所示,在一些可选的实施例中,第二目标检索向量包括第二目标文本向量和第二目标表格向量中的至少一种;
第二目标检索向量对应的目标原始文档包括第二目标拆分文本对应的原始文档和第二目标拆分表格对应的原始文档中的至少一种;
步骤208包括:
步骤2082、按照相关性排列顺序,将相关性排列顺序靠前的第二预设数量个问答对中的第一目标检索向量作为第二目标检索向量;
步骤2084、根据预设向量库中文本向量与拆分文本的对应关系、表格向量与拆分表格的对应关系,确定第二目标检索向量对应的第二目标拆分文本和第二目标拆分表格;
步骤2086、根据预先设置的提示信息、第二目标拆分文本对应的原始文档以及第二目标拆分表格的原始文档,生成提问语句对应的答案。
终端将相关性排列顺序靠前的第二预设数量个问答对中的第一目标检索向量作为第二目标检索向量,相应的,将第二目标检索向量中的文本向量作为第二目标文本向量,将第二目标检索向量中的表格向量作为第二目标表格向量。
进一步地按照预设向量库中存储的文本向量与拆分文本的对应关系、表格向量与拆分表格的对应关系,确定第二目标检索向量对应的第二目标拆分文本和第二目标拆分表格。
更进一步地,终端将第二目标拆分文本所在的原始文本作为第二目标文本向量的目标原始文档,将第二目标拆分表格所在的原始文本作为第二目标表格向量的目标原始文档,并提示信息生成最终的答案。
其中,终端在建立预设向量库后,可以将第二数据块、表格摘要信息与预设向量库中包含的文本向量和表格向量、文本向量与拆分文本的映射关系,以及表格向量与拆分表格的映射关系共同存储至第一预设位置,将所有原始文档存储至第二预设位置,第二预设位置中的原始文档可以将拆分文本或拆分表格作为指针进行索引提取。
则在步骤2086中,终端可以从第二预设位置获取第二目标拆分文本对应的原始文档以及第二目标拆分表格的原始文档;并根据预先设置的提示信息、第二目标拆分文本对应的原始文档以及第二目标拆分表格的原始文档,生成提问语句对应的答案。
提示信息可以包括提示文本信息和数据填入位置的连接关系,终端在生成最终的答案的过程中,可以将第二目标拆分文本对应的原始文档以及第二目标拆分表格的原始文档填入数据填入位置,并按照连接关系,与提示文本信息生成最终的答案。
如图6所示,在一种实施例中,建立预设向量库的方法包括:
步骤601、采集至少一份原始文档;
步骤602、采用预先训练好的拆分模型对原始文档进行拆分,获取每份原始文档对应的标题、拆分文本和拆分表格;
步骤603、按照第一预设文本长度,对各标题对应的拆分文本进行合并,得到各标题对应的至少一个第一数据块;
步骤604、按照第二预设文本长度,对第一数据块包含的文本进行切分,得到至少一个第二数据块;
步骤605、将拆分表格输入预先训练好的提取模型,得到拆分表格对应的表格摘要信息;
步骤606、对第二数据块和表格摘要信息进行文本嵌入,获取文本向量和表格向量;
步骤607、根据文本向量对应的第二数据块、第二数据块对应的第一数据块、第一数据块对应的拆分文本,确定文本向量与拆分文本的对应关系;以及根据表格向量对应的表格摘要信息、表格摘要信息对应的拆分表格,确定表格向量与拆分表格的对应关系;
步骤608、基于文本向量和表格向量,以及文本向量与拆分文本的对应关系、表格向量与拆分表格的对应关系,建立预设向量库。
需要说明的是,上述步骤605可以设置在步骤603之前或与步骤603同时进行。
相应的,如图7所示,文档问答方法包括:
步骤701、接收提问语句,并对提问语句进行向量化处理,得到提问向量;
步骤702、计算预设向量库包含的至少一个文本向量、至少一个表格向量与提问向量的余弦相似度值,将余弦相似度值较大的第一预设数量个文本向量和表格向量作为第一目标文本向量和第一目标表格向量;
步骤703、从预设向量库中获取第一目标文本向量对应的第二数据块和第一目标表格向量对应的表格摘要信息;
步骤704、采用第一目标文本向量对应的第二数据块和提问语句建立问答对,以及采用第一目标表格向量对应的表格摘要信息和提问语句建立问答对;
步骤705、将问答对输入预先训练好的重排序模型,得到各问答对对应的相关性排列顺序;
步骤706、按照相关性排列顺序,将相关性排列顺序靠前的第二预设数量个问答对中的第一目标检索向量作为第二目标检索向量;
步骤707、根据预设向量库中文本向量与拆分文本的对应关系、表格向量与拆分表格的对应关系,确定第二目标检索向量对应的第二目标拆分文本和第二目标拆分表格;
步骤708、获取第二目标拆分文本对应的原始文档和第二目标拆分表格的原始文档;
步骤709、将第二目标拆分文本对应的原始文档和第二目标拆分表格的原始文档填入数据填入位置,并按照数据填入位置和提示文本信息的连接关系生成提问语句答案。
上述文档问答方法中,终端能够对初始文档包含的文本和表格进行区分处理,并对文本进行两次合并拆分,使得终端能够根据两次拆分合并后的文本小块生成最终的文本向量,使得预设向量库中检索向量对应的维度增加,同时增加了检索向量的数量,在终端接收到提问语句时,能够将提问语句对应的提问向量与更细粒度的检索向量进行比对匹配,使得筛选出的第一目标检索向量的命中率能够更高,从而提高最终匹配到的参考文档的匹配广度,并且,终端还能够对第一目标检索向量进行重排序,以将与提问语句最相关的第一目标检索向量筛选出来作为第二目标检索向量,从而在提高最终匹配到的参考文档的匹配广度的同时,提高最终匹配到的参考文档的匹配准确度,最后,终端能够将第二目标检索向量对应的原始文档填入预设的数据填入位置,并按照预先设置的提示文本信息和连接关系生成答案,使得最终输出的答案规范化,便于阅读。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的文档问答方法的文档问答装置。该文档问答装置所提供的解决问题的实现方案与上述文档问答方法中所记载的实现方案相似,故下面所提供的一个或多个文档问答装置实施例中的具体限定可以参见上文中对于文档问答方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种文档问答装置800,包括:
接收模块802,用于接收提问语句,并对提问语句进行向量化处理,得到提问向量;
匹配模块804,用于从预设向量库包含的至少一个检索向量中匹配到提问向量对应的至少一个第一目标检索向量;检索向量包括文本向量和表格向量中的至少一种;
排序模块806,用于根据第一目标检索向量与提问语句建立问答对,并将问答对输入预先训练好的重排序模型,得到各问答对对应的相关性排列顺序;
生成模块808,用于按照相关性排列顺序,从第一目标检索向量中确定出第二目标检索向量,并根据第二目标检索向量对应的目标原始文档生成提问语句对应的答案。
上述文档问答装置装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种文档问答方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述文档问答方法的各个步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序产品被处理器执行时实现上述文档问答方法的各个步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(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)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。