CN113435213B - 针对用户问题和知识库返回答案的方法和装置 - Google Patents

针对用户问题和知识库返回答案的方法和装置 Download PDF

Info

Publication number
CN113435213B
CN113435213B CN202110779953.2A CN202110779953A CN113435213B CN 113435213 B CN113435213 B CN 113435213B CN 202110779953 A CN202110779953 A CN 202110779953A CN 113435213 B CN113435213 B CN 113435213B
Authority
CN
China
Prior art keywords
paragraphs
sample
user
paragraph
answers
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
CN202110779953.2A
Other languages
English (en)
Other versions
CN113435213A (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 CN202110779953.2A priority Critical patent/CN113435213B/zh
Publication of CN113435213A publication Critical patent/CN113435213A/zh
Application granted granted Critical
Publication of CN113435213B publication Critical patent/CN113435213B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供一种针对用户问题和知识库返回答案的方法和装置,方法包括:获取用户问题;确定与所述用户问题相关联的若干个段落,所述若干个段落来自于所述多个文档;将用户问题和若干个段落中的任一个段落输入机器阅读理解模型,得到该段落中是否包含答案的标记,以及答案的起始位置和终止位置,以便返回多个答案,以及多个答案分别的起始位置和终止位置。能够针对用户问题和知识库直接返回答案。

Description

针对用户问题和知识库返回答案的方法和装置
技术领域
本说明书一个或多个实施例涉及计算机领域,尤其涉及针对用户问题和知识库返回答案的方法和装置。
背景技术
知识库中包含着大量的文档,通常可以利用搜索引擎,由用户输入其需求,根据用户的需求向用户返回信息。
传统的搜索引擎对于用户的需求大都是浅层语义理解,缺乏对用户搜索诉求的真正理解。例如,基于分词和关键词匹配以及简单地浅层语义匹配,直观的感觉关键词出现次数越多,权重越高,在搜索结果中的排名越靠前。用户需要自己去挑选合适的关键词来表达其想要搜索的问题,并且搜索结果质量比较差,只能给出文档的排序,不能直接返回答案,用户往往需要进行多次结果的检索才能从文档中找到答案。
因此,希望能有改进的方案,能够针对用户问题和知识库直接返回答案。
发明内容
本说明书一个或多个实施例描述了一种针对用户问题和知识库返回答案的方法和装置,能够针对用户问题和知识库直接返回答案。
第一方面,提供了一种针对用户问题和知识库返回答案的方法,所述知识库包括多个文档,方法包括:
获取用户问题;
确定与所述用户问题相关联的若干个段落,所述若干个段落来自于所述多个文档;
将所述用户问题和所述若干个段落中的任一个段落输入机器阅读理解模型,得到该段落中是否包含答案的标记,以及答案的起始位置和终止位置,以便返回多个答案,以及多个答案分别的起始位置和终止位置。
在一种可能的实施方式中,所述获取用户问题,包括:
获取用户输入的原始问句;
将所述原始问句输入预先训练的问题改写模型,得到所述用户问题。
进一步地,所述知识库属于目标领域;
所述问题改写模型采用如下方式进行训练:
基于通用的多个领域的第一训练样本对所述问题改写模型进行训练,得到初始训练后的所述问题改写模型;
基于所述目标领域的第二训练样本对初始训练后的所述问题改写模型进行微调,得到微调后的所述问题改写模型。
进一步地,所述第一训练样本通过如下方式获得:
获取对应于同一问题的多个答案,所述多个答案包括第一答案和第二答案;
将所述第一答案作为样本输入,所述第二答案作为样本标签,得到所述第一训练样本。
进一步地,所述第二训练样本通过如下方式获得:
获取原始问题和改写后的问题;
将所述原始问题作为样本输入,所述改写后的问题作为样本标签,得到所述第二训练样本。
在一种可能的实施方式中,所述确定与所述用户问题相关联的若干个段落,包括:
确定所述用户问题分别与所述知识库中的各文档之间的匹配度,从所述知识库中选择出匹配度最高的预设数目个文档;
将所述预设数目个文档进行分段处理,得到所述若干个段落。
进一步地,所述确定所述用户问题分别与所述知识库中的各文档之间的匹配度,包括:
确定所述用户问题包括的至少一个关键词;
利用所述至少一个关键词与所述知识库中的各文档进行匹配,得到所述匹配度。
进一步地,所述将所述预设数目个文档进行分段处理,包括:
获取所述预设数目个文档中的原始段落构成的段落集合;
根据所述原始段落与所述用户问题的相关得分,将所述段落集合中的相关得分小于预设分值的原始段落过滤;
针对过滤后的所述段落集合中的各原始段落,筛选出段落长度小于第一阈值的原始段落,对筛选出的原始段落进行合并,以使合并后的段落长度大于第一阈值;
针对过滤后的所述段落集合中的各原始段落,筛选出段落长度大于第二阈值的原始段落,对筛选出的原始段落进行切分,以使切分后的段落长度小于第二阈值。
在一种可能的实施方式中,所述方法还包括:
根据所述用户问题分别与所述若干个段落的匹配度,按照匹配度由高到低的顺序对所述若干个段落进行排序;
根据所述若干个段落的排序,确定所述若干个段落中包含的多个答案的排序,以便按照排序返回多个答案,以及多个答案分别的起始位置和终止位置。
进一步地,所述用户问题分别与所述若干个段落的匹配度通过如下方式确定:
将所述用户问题和所述若干个段落中的任一个段落输入预先训练的段落匹配模型,得到所述用户问题与该段落的匹配度。
进一步地,所述知识库属于目标领域;
所述段落匹配模型采用如下方式进行训练:
基于通用的多个领域的第三训练样本对所述段落匹配模型进行训练,得到初始训练后的所述段落匹配模型;
基于所述目标领域的第四训练样本对初始训练后的所述段落匹配模型进行微调,得到微调后的所述段落匹配模型。
进一步地,所述第三训练样本和/或所述第四训练样本包括:
样本问题和样本段落构成的样本输入,样本问题和样本段落是否相关作为样本标签。
在一种可能的实施方式中,所述机器阅读理解模型采用如下方式进行训练:
基于预训练样本对所述机器阅读理解模型进行预训练,得到预训练后的所述机器阅读理解模型;
基于第五训练样本对初始训练后的所述机器阅读理解模型进行微调,得到微调后的所述机器阅读理解模型,所述第五训练样本包括,样本问题和样本段落作为样本输入,段落中是否包含答案的标记,以及答案的起始位置和终止位置作为样本标签。
进一步地,所述预训练样本包括:
第一段落和第二段落作为样本输入,两个段落是否为前后顺序作为样本标签。
进一步地,所述预训练样本包括:
样本句子和样本段落作为样本输入,样本句子是否属于样本段落作为样本标签。
进一步地,所述根据所述若干个段落的排序,确定所述若干个段落中包含的多个答案的排序,包括:
获取所述若干个段落的第一排序;
确定所述用户问题与所述多个答案各自的相关度;
根据所述相关度,对所述第一排序进行调整,作为所述若干个段落中包含的多个答案的第二排序。
第二方面,提供了一种针对用户问题和知识库返回答案的装置,所述知识库包括多个文档,装置包括:
获取单元,用于获取用户问题;
确定单元,用于确定与所述获取单元获取的用户问题相关联的若干个段落,所述若干个段落来自于所述多个文档;
阅读理解单元,用于将所述获取单元获取的用户问题和所述确定单元得到的若干个段落中的任一个段落输入机器阅读理解模型,得到该段落中是否包含答案的标记,以及答案的起始位置和终止位置,以便返回多个答案,以及多个答案分别的起始位置和终止位置。
第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
通过本说明书实施例提供的方法和装置,首先获取用户问题,然后确定与所述用户问题相关联的若干个段落,所述若干个段落来自于所述多个文档,再将所述用户问题和所述若干个段落中的任一个段落输入机器阅读理解模型,得到该段落中是否包含答案的标记,以及答案的起始位置和终止位置,以便返回多个答案,以及多个答案分别的起始位置和终止位置。由上可见,本说明书实施例,针对用户问题和知识库,经过关联段落的确定,使得可以将机器阅读理解技术运用到搜索引擎中,从而能够针对用户问题和知识库直接返回答案。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的针对用户问题和知识库返回答案的方法流程图;
图3示出根据一个实施例的智能搜索框架示意图;
图4示出根据一个实施例的针对用户问题和知识库返回答案的装置的示意性框图;
图5示出根据另一个实施例的针对用户问题和知识库返回答案的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及针对用户问题和知识库返回答案,知识库包括多个文档。参照图1,知识库包括N个文档,N的数目通常较大,例如,N可以为数百、数千、数万或者数百万,文档可以是本地存储的,也可以是来自于互联网。知识库中的所有文档可以同属于一个目标领域,例如,理财领域,该目标领域可以称为垂直领域;知识库中的所有文档也可以分别属于通用的多个领域,例如,知识库中的一些文档属于保险领域,还有一些文档属于理财领域,再有一些文档属于法律领域等。用户问题体现了用户诉求,例如,用户问题为“2020年上半年黄金的价格趋势?”,根据该用户问题对知识库进行检索,得到的答案为“上涨趋势。”。
本说明书实施例提供了一种针对用户问题和知识库返回答案的方法,该方法可以应用于搜索引擎,搜索引擎可以根据一定的策略、运用特定的计算机程序从互联网上采集信息,在对信息进行组织和处理后,为用户提供检索服务,将检索的相关信息展示给用户。
该方法尤其适用于垂直领域,垂直领域的搜索引擎简称为垂直搜索引擎,区别于通用的搜索引擎,可以有针对性的为特定领域及特定人群的特定需求提供专门的信息检索服务,需要满足用户个性化的信息需求。垂直搜索引擎的数据来源可以是所处行业的网站、报告、书籍等信息。
图2示出根据一个实施例的针对用户问题和知识库返回答案的方法流程图,所述知识库包括多个文档,该方法可以基于图1所示的实施场景。如图2所示,该实施例中针对用户问题和知识库返回答案的方法包括以下步骤:步骤21,获取用户问题;步骤22,确定与所述用户问题相关联的若干个段落,所述若干个段落来自于所述多个文档;步骤23,将所述用户问题和所述若干个段落中的任一个段落输入机器阅读理解模型,得到该段落中是否包含答案的标记,以及答案的起始位置和终止位置,以便返回多个答案,以及多个答案分别的起始位置和终止位置。下面描述以上各个步骤的具体执行方式。
首先在步骤21,获取用户问题。可以理解的是,用户在检索时可以输入用户问句,由于用户的口语化以及表达不规范等原因,常常需要对用户问句进行预先处理,以得到与用户问句语义相似且表达规范的用户问题。
在一个示例中,所述获取用户问题,包括:
获取用户输入的原始问句;
将所述原始问句输入预先训练的问题改写模型,得到所述用户问题。
该示例中,可以实现对原始问句进行问题改写,也就是说,将用户输入的问题在不改变原意的前提下改写成其他格式的问题,与传统的句式改写不同,采用一种新的基于深度学习的方法进行句式改写。传统的句式改写主要是通过对句子的句法格式进行分析,并按照一些固定的规则进行位置交换来达到句子改写的目的。这样做的缺陷很明显,改动不大,格式基本趋同。问题改写模型的效果相比于传统的位置调换有显著改善,不仅能够实现基于语义同义词替换,并且能够更灵活的变换句式,如“2020上半年黄金的趋势?”改写后的用户问题可以包括“2020年上半年金价走势”,“黄金在2020年上半年走势怎么样?”等。
进一步地,所述知识库属于目标领域;
所述问题改写模型采用如下方式进行训练:
基于通用的多个领域的第一训练样本对所述问题改写模型进行训练,得到初始训练后的所述问题改写模型;
基于所述目标领域的第二训练样本对初始训练后的所述问题改写模型进行微调,得到微调后的所述问题改写模型。
通过对问题改写模型进行两阶段的训练,可以充分利用通用的多个领域的训练素材,解决目标领域的训练素材不足的问题,使得模型训练效果更好。
进一步地,所述第一训练样本通过如下方式获得:
获取对应于同一问题的多个答案,所述多个答案包括第一答案和第二答案;
将所述第一答案作为样本输入,所述第二答案作为样本标签,得到所述第一训练样本。
举例来说,从网络上获取问题解答的相关网络文本,这些网络文本基本是一问多答的形式,通过对这些网络文本进行处理,得到相似的多答案文本,这些多答案就是作为通用的句子改写的预训练素材,模型可以采用类bert系列的模型。
进一步地,所述第二训练样本通过如下方式获得:
获取原始问题和改写后的问题;
将所述原始问题作为样本输入,所述改写后的问题作为样本标签,得到所述第二训练样本。
可以理解的是,第二训练样本可以通过人工标注的方式获得。
本说明书实施例,问题改写模型属于生成模型,可以筛选出最优的预设数目个生成结果分别作为所述用户问题。
本说明书实施例,可以先针对用户输入的原始问句进行词性标注、文本纠错、分词、实体识别、实体链指等处理,然后再针对上述处理后的用户问句进行句式改写。其中,文本纠错主要作用是根据词性和语法结构判断用户输入的用户问句中是否存在错别字,并对错别字进行纠正;词性标注和分词主要是配合后面的文档匹配,对知识库中的多个文档进行粗筛;实体识别对用户输入的用户问句中的实体进行识别,例如,“2020上半年黄金的趋势是什么?”,其中的2020上半年就是时间类别的实体,黄金就是一种投资品类别的实体,实体是一个句子中相对比较重要的成分,识别出重要的实体并对这些实体进行加权,能够大大提升检索的效果。
本说明书实施例,还可以通过知识图谱辅助进行指代消解。将代表同一实体(entity)的不同指称(mention)划分到一个等价集合的过程称为指代消解。知识图谱是通过将应用数学、图形学、信息可视化技术、信息科学等学科的理论与方法与计量学引文分析、共现分析等方法结合,并利用可视化的图谱形象地展示学科的核心结构、发展历史、前沿领域以及整体知识架构达到多学科融合目的的现代理论。
然后在步骤22,确定与所述用户问题相关联的若干个段落,所述若干个段落来自于所述多个文档。可以理解的是,知识库中通常包含着大量的文档,每个文档包括一个或多个原始段落,所述相关联的若干个段落可以是原始段落,也可以是经过处理后的段落。
在一个示例中,所述确定与所述用户问题相关联的若干个段落,包括:
确定所述用户问题分别与所述知识库中的各文档之间的匹配度,从所述知识库中选择出匹配度最高的预设数目个文档;
将所述预设数目个文档进行分段处理,得到所述若干个段落。
可以理解的是,知识库中通常包含着大量的文档,通过文档匹配,可以对知识库中的多个文档进行粗筛,从而减少后续需要处理的文档的数目。
进一步地,所述确定所述用户问题分别与所述知识库中的各文档之间的匹配度,包括:
确定所述用户问题包括的至少一个关键词;
利用所述至少一个关键词与所述知识库中的各文档进行匹配,得到所述匹配度。
其中,上述关键词可以是基于对用户问题进行分词后得到的,此外还可以根据实体识别等算法对关键词进行加权优化。
可以理解的是,每个文档包括一个或多个原始段落,上述分段处理,可以包括针对原始段落的过滤、合并或切分处理。
进一步地,所述将所述预设数目个文档进行分段处理,包括:
获取所述预设数目个文档中的原始段落构成的段落集合;
根据所述原始段落与所述用户问题的相关得分,将所述段落集合中的相关得分小于预设分值的原始段落过滤;
针对过滤后的所述段落集合中的各原始段落,筛选出段落长度小于第一阈值的原始段落,对筛选出的原始段落进行合并,以使合并后的段落长度大于第一阈值;
针对过滤后的所述段落集合中的各原始段落,筛选出段落长度大于第二阈值的原始段落,对筛选出的原始段落进行切分,以使切分后的段落长度小于第二阈值。
该示例中,将一些短段落进行合并,能够防止短段落因为上下文信息缺失而被忽略掉。对于过长的段落适当的切分,以适应深度学习模型对于文本长度存在的限制,例如,文本长度不超过2000字。
最后在步骤23,将所述用户问题和所述若干个段落中的任一个段落输入机器阅读理解模型,得到该段落中是否包含答案的标记,以及答案的起始位置和终止位置,以便返回多个答案,以及多个答案分别的起始位置和终止位置。可以理解的是,上述机器阅读理解模型可以通过训练得到。
机器阅读理解(machine reading comprehension,MRC):是一种利用算法使计算机理解文章语义并回答相关问题的技术。目前学术界主要研究阶段是,给机器一段文本,然后提供一系列和该文本相关的自然语义的问题,计算机判断该文本是否能给出问题答案,如果可以,给出精准的答案。如果不能,则给出无答案反馈。
在一个示例中,所述机器阅读理解模型采用如下方式进行训练:
基于预训练样本对所述机器阅读理解模型进行预训练,得到预训练后的所述机器阅读理解模型;
基于第五训练样本对初始训练后的所述机器阅读理解模型进行微调,得到微调后的所述机器阅读理解模型,所述第五训练样本包括,样本问题和样本段落作为样本输入,段落中是否包含答案的标记,以及答案的起始位置和终止位置作为样本标签。
进一步地,所述预训练样本包括:
第一段落和第二段落作为样本输入,两个段落是否为前后顺序作为样本标签。
相应地,预训练任务包括:判断两个段落是否前后顺序的任务。
进一步地,所述预训练样本包括:
样本句子和样本段落作为样本输入,样本句子是否属于样本段落作为样本标签。
相应地,预训练任务包括:判断句子是否属于段落的任务。
前述两项预训练任务都是能够很方便构造训练数据,属于自监督训练方法。本说明书实施例中,为了提升机器阅读理解的效果,着重改进了针对阅读理解任务的预训练任务,因此相比于开源的预训练模型,在阅读理解任务上有更加优秀的表现。
在一个示例中,所述方法还包括:
根据所述用户问题分别与所述若干个段落的匹配度,按照匹配度由高到低的顺序对所述若干个段落进行排序;
根据所述若干个段落的排序,确定所述若干个段落中包含的多个答案的排序,以便按照排序返回多个答案,以及多个答案分别的起始位置和终止位置。
可以理解的是,可以直接将所述若干个段落的排序,作为所述若干个段落中包含的多个答案的排序,或者,将所述若干个段落的排序进行调整后得到的排序,作为所述若干个段落中包含的多个答案的排序,
进一步地,所述根据所述若干个段落的排序,确定所述若干个段落中包含的多个答案的排序,包括:
获取所述若干个段落的第一排序;
确定所述用户问题与所述多个答案各自的相关度;
根据所述相关度,对所述第一排序进行调整,作为所述若干个段落中包含的多个答案的第二排序。
该示例可以基于问题-答案的重排序模型实现,重排序模型采用开源的QANet模型,主要是判断不同的问题-答案对的相关性,后续可以取相关度最高的N个答案作为最终答案,同时还可以增加业务规则模块,方便基于不同的客户需求如多样性、准确性、覆盖率等对多个答案的排序进行业务调整。
可以理解的是,排序在前的段落中更可能存在所述用户问题的答案。
在一个示例中,所述用户问题分别与所述若干个段落的匹配度通过如下方式确定:
将所述用户问题和所述若干个段落中的任一个段落输入预先训练的段落匹配模型,得到所述用户问题与该段落的匹配度。
该示例中,基于深度学习模型得到用户问题与段落的匹配度,从而根据匹配度进行段落排序,排序效果好。
进一步地,所述知识库属于目标领域;
所述段落匹配模型采用如下方式进行训练:
基于通用的多个领域的第三训练样本对所述段落匹配模型进行训练,得到初始训练后的所述段落匹配模型;
基于所述目标领域的第四训练样本对初始训练后的所述段落匹配模型进行微调,得到微调后的所述段落匹配模型。
通过对段落匹配模型进行两阶段的训练,可以充分利用通用的多个领域的训练素材,解决目标领域的训练素材不足的问题,使得模型训练效果更好。
进一步地,所述第三训练样本和/或所述第四训练样本包括:
样本问题和样本段落构成的样本输入,样本问题和样本段落是否相关作为样本标签。
举例来说,第一阶段,采用通用场景的问题和段落匹配的数据集,构造一个通用场景的段落匹配模型,模型结构可以采用bert及其衍生类的模型。输入训练数据格式为:问题-段落,标签为相关或不相关。通用领域的问题段落匹配数据集有非常丰富的资源。第二阶段,为了进一步提升垂直领域段落排序的效果,可以针对性的准备一些垂直领域的问题-段落样本对段落匹配模型进行微调。
通过本说明书实施例提供的方法,首先获取用户问题,然后确定与所述用户问题相关联的若干个段落,所述若干个段落来自于所述多个文档,再将所述用户问题和所述若干个段落中的任一个段落输入机器阅读理解模型,得到该段落中是否包含答案的标记,以及答案的起始位置和终止位置,以便返回多个答案,以及多个答案分别的起始位置和终止位置。由上可见,本说明书实施例,针对用户问题和知识库,经过关联段落的确定,使得可以将机器阅读理解技术运用到搜索引擎中,从而能够针对用户问题和知识库直接返回答案。
图3示出根据一个实施例的智能搜索框架示意图。参照图3,该智能搜索框架用于实现本说明书实施例提供的针对用户问题和知识库返回答案的方法,该框架包括:问题理解模块31,用于获取用户问题;粗排模块32,用于确定所述用户问题分别与所述知识库中的各文档之间的匹配度,从所述知识库中选择出匹配度最高的预设数目个文档;智能匹配模块33,用于将所述预设数目个文档进行分段处理,得到若干个段落;以及根据所述用户问题分别与所述若干个段落的匹配度,按照匹配度由高到低的顺序对所述若干个段落进行排序;智能问答模块34,用于将所述用户问题和所述若干个段落中的任一个段落输入机器阅读理解模型,得到该段落中是否包含答案的标记,以及答案的起始位置和终止位置;答案重排序模块35,用于根据所述若干个段落的排序,确定所述若干个段落中包含的多个答案的排序,以便按照排序返回多个答案,以及多个答案分别的起始位置和终止位置。
本说明书实施例,基于机器阅读理解技术构建专用垂直领域的智能搜索引擎,在提升准确率的前提下,能够突破用户关键词的搜索,理解用户自然语义的搜索问题,甚至能从传统的返回网页的形式进化成直接给出直观的答案。适用于大多数知识密集型领域,如金融、保险、法律,能支持百万级的文档智能检索,搜索返回时间控制在0.5至2s之间,能够满足企业级搜索引擎的要求。
根据另一方面的实施例,还提供一种针对用户问题和知识库返回答案的装置,该装置用于执行本说明书实施例提供的针对用户问题和知识库返回答案的方法。图4示出根据一个实施例的针对用户问题和知识库返回答案的装置的示意性框图。如图4所示,该装置400包括:
获取单元41,用于获取用户问题;
确定单元42,用于确定与所述获取单元41获取的用户问题相关联的若干个段落,所述若干个段落来自于所述多个文档;
阅读理解单元43,用于将所述获取单元41获取的用户问题和所述确定单元42得到的若干个段落中的任一个段落输入机器阅读理解模型,得到该段落中是否包含答案的标记,以及答案的起始位置和终止位置,以便返回多个答案,以及多个答案分别的起始位置和终止位置。
可选地,作为一个实施例,所述获取单元41包括:
获取子单元,用于获取用户输入的原始问句;
问题改写子单元,用于将所述获取子单元获取的原始问句输入预先训练的问题改写模型,得到所述用户问题。
进一步地,所述知识库属于目标领域;
所述问题改写模型采用如下方式进行训练:
基于通用的多个领域的第一训练样本对所述问题改写模型进行训练,得到初始训练后的所述问题改写模型;
基于所述目标领域的第二训练样本对初始训练后的所述问题改写模型进行微调,得到微调后的所述问题改写模型。
进一步地,所述第一训练样本通过如下方式获得:
获取对应于同一问题的多个答案,所述多个答案包括第一答案和第二答案;
将所述第一答案作为样本输入,所述第二答案作为样本标签,得到所述第一训练样本。
进一步地,所述第二训练样本通过如下方式获得:
获取原始问题和改写后的问题;
将所述原始问题作为样本输入,所述改写后的问题作为样本标签,得到所述第二训练样本。
可选地,作为一个实施例,所述确定单元42包括:
文档选择子单元,用于确定所述用户问题分别与所述知识库中的各文档之间的匹配度,从所述知识库中选择出匹配度最高的预设数目个文档;
分段处理子单元,用于将所述文档选择子单元得到的预设数目个文档进行分段处理,得到所述若干个段落。
进一步地,所述文档选择子单元包括:
确定模块,用于确定所述用户问题包括的至少一个关键词;
匹配模块,用于利用所述确定模块得到的至少一个关键词与所述知识库中的各文档进行匹配,得到所述匹配度。
根据另一方面的实施例,还提供一种针对用户问题和知识库返回答案的装置,该装置用于执行本说明书实施例提供的针对用户问题和知识库返回答案的方法。图5示出根据另一个实施例的针对用户问题和知识库返回答案的装置的示意性框图。如图5所示,该装置500包括:
获取单元51,用于获取用户问题;
文档选择单元52,用于确定所述获取单元51获取的用户问题分别与所述知识库中的各文档之间的匹配度,从所述知识库中选择出匹配度最高的预设数目个文档;
分段处理单元53,用于将所述文档选择单元52得到的预设数目个文档进行分段处理,得到若干个段落;
初始排序单元54,用于根据所述用户问题分别与所述分段处理单元53得到的若干个段落的匹配度,按照匹配度由高到低的顺序对所述若干个段落进行排序;
阅读理解单元55,用于将所述用户问题和所述分段处理单元53得到的若干个段落中的任一个段落输入机器阅读理解模型,得到该段落中是否包含答案的标记,以及答案的起始位置和终止位置;
重排序单元56,用于根据所述初始排序单元54得到的若干个段落的排序,确定所述若干个段落中包含的多个答案的排序,以便按照排序返回所述阅读理解单元55得到的多个答案,以及多个答案分别的起始位置和终止位置。
可选地,作为一个实施例,所述获取单元51包括:
获取子单元,用于获取用户输入的原始问句;
问题改写子单元,用于将所述获取子单元获取的原始问句输入预先训练的问题改写模型,得到所述用户问题。
进一步地,所述知识库属于目标领域;
所述问题改写模型采用如下方式进行训练:
基于通用的多个领域的第一训练样本对所述问题改写模型进行训练,得到初始训练后的所述问题改写模型;
基于所述目标领域的第二训练样本对初始训练后的所述问题改写模型进行微调,得到微调后的所述问题改写模型。
进一步地,所述第一训练样本通过如下方式获得:
获取对应于同一问题的多个答案,所述多个答案包括第一答案和第二答案;
将所述第一答案作为样本输入,所述第二答案作为样本标签,得到所述第一训练样本。
进一步地,所述第二训练样本通过如下方式获得:
获取原始问题和改写后的问题;
将所述原始问题作为样本输入,所述改写后的问题作为样本标签,得到所述第二训练样本。
可选地,作为一个实施例,所述文档选择单元52包括:
确定子单元,用于确定所述用户问题包括的至少一个关键词;
匹配子单元,用于利用所述确定子单元得到的至少一个关键词与所述知识库中的各文档进行匹配,得到所述匹配度。
可选地,作为一个实施例,所述分段处理单元53包括:
获取子单元,用于获取所述预设数目个文档中的原始段落构成的段落集合;
过滤子单元,用于根据所述原始段落与所述用户问题的相关得分,将所述获取子单元获取的段落集合中的相关得分小于预设分值的原始段落过滤;
合并子单元,用于针对所述过滤子单元得到的过滤后的所述段落集合中的各原始段落,筛选出段落长度小于第一阈值的原始段落,对筛选出的原始段落进行合并,以使合并后的段落长度大于第一阈值;
切分子单元,用于针对所述过滤子单元得到的过滤后的所述段落集合中的各原始段落,筛选出段落长度大于第二阈值的原始段落,对筛选出的原始段落进行切分,以使切分后的段落长度小于第二阈值。
可选地,作为一个实施例,所述用户问题分别与所述若干个段落的匹配度通过如下方式确定:
将所述用户问题和所述若干个段落中的任一个段落输入预先训练的段落匹配模型,得到所述用户问题与该段落的匹配度。
进一步地,所述知识库属于目标领域;
所述段落匹配模型采用如下方式进行训练:
基于通用的多个领域的第三训练样本对所述段落匹配模型进行训练,得到初始训练后的所述段落匹配模型;
基于所述目标领域的第四训练样本对初始训练后的所述段落匹配模型进行微调,得到微调后的所述段落匹配模型。
通过本说明书实施例提供的装置,首先获取单元51获取用户问题,然后文档选择单元52确定所述用户问题分别与所述知识库中的各文档之间的匹配度,从所述知识库中选择出匹配度最高的预设数目个文档,接着不是向用户返回选择出的预设数目个文档,由用户人工从文档中寻找答案,而是分段处理单元53将所述预设数目个文档进行分段处理,得到若干个段落,初始排序单元54再根据所述用户问题分别与所述若干个段落的匹配度,按照匹配度由高到低的顺序对所述若干个段落进行排序,接着阅读理解单元55将所述用户问题和所述若干个段落中的任一个段落输入机器阅读理解模型,得到该段落中是否包含答案的标记,以及答案的起始位置和终止位置,最后重排序单元56根据所述若干个段落的排序,确定所述若干个段落中包含的多个答案的排序,以便按照排序返回多个答案,以及多个答案分别的起始位置和终止位置。由上可见,本说明书实施例,针对用户问题和知识库,经过文档的选择,分段处理,段落排序一系列的处理过程,使得可以将机器阅读理解技术运用到搜索引擎中,从而能够针对用户问题和知识库直接返回答案。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (22)

1.一种针对用户问题和知识库返回答案的方法,所述知识库包括多个文档,所述方法包括:
获取用户问题;
确定与所述用户问题相关联的若干个段落,所述若干个段落来自于所述多个文档;
将所述用户问题和所述若干个段落中的任一个段落输入机器阅读理解模型,得到该段落中是否包含答案的标记,以及答案的起始位置和终止位置,以便返回多个答案,以及多个答案分别的起始位置和终止位置;
其中,所述方法还包括:
根据所述用户问题分别与所述若干个段落的匹配度,按照匹配度由高到低的顺序对所述若干个段落进行排序;
根据所述若干个段落的排序,确定所述若干个段落中包含的多个答案的排序,以便按照排序返回多个答案,以及多个答案分别的起始位置和终止位置;
其中,所述获取用户问题,包括:
获取用户输入的原始问句;
将所述原始问句输入预先训练的问题改写模型,得到所述用户问题。
2.如权利要求1所述的方法,其中,所述知识库属于目标领域;
所述问题改写模型采用如下方式进行训练:
基于通用的多个领域的第一训练样本对所述问题改写模型进行训练,得到初始训练后的所述问题改写模型;
基于所述目标领域的第二训练样本对初始训练后的所述问题改写模型进行微调,得到微调后的所述问题改写模型。
3.如权利要求2所述的方法,其中,所述第一训练样本通过如下方式获得:
获取对应于同一问题的多个答案,所述多个答案包括第一答案和第二答案;
将所述第一答案作为样本输入,所述第二答案作为样本标签,得到所述第一训练样本。
4.如权利要求2所述的方法,其中,所述第二训练样本通过如下方式获得:
获取原始问题和改写后的问题;
将所述原始问题作为样本输入,所述改写后的问题作为样本标签,得到所述第二训练样本。
5.如权利要求1所述的方法,其中,所述确定与所述用户问题相关联的若干个段落,包括:
确定所述用户问题分别与所述知识库中的各文档之间的匹配度,从所述知识库中选择出匹配度最高的预设数目个文档;
将所述预设数目个文档进行分段处理,得到所述若干个段落。
6.如权利要求5所述的方法,其中,所述确定所述用户问题分别与所述知识库中的各文档之间的匹配度,包括:
确定所述用户问题包括的至少一个关键词;
利用所述至少一个关键词与所述知识库中的各文档进行匹配,得到所述匹配度。
7.如权利要求5所述的方法,其中,所述将所述预设数目个文档进行分段处理,包括:
获取所述预设数目个文档中的原始段落构成的段落集合;
根据所述原始段落与所述用户问题的相关得分,将所述段落集合中的相关得分小于预设分值的原始段落过滤;
针对过滤后的所述段落集合中的各原始段落,筛选出段落长度小于第一阈值的原始段落,对筛选出的原始段落进行合并,以使合并后的段落长度大于第一阈值;
针对过滤后的所述段落集合中的各原始段落,筛选出段落长度大于第二阈值的原始段落,对筛选出的原始段落进行切分,以使切分后的段落长度小于第二阈值。
8.如权利要求1所述的方法,其中,所述用户问题分别与所述若干个段落的匹配度通过如下方式确定:
将所述用户问题和所述若干个段落中的任一个段落输入预先训练的段落匹配模型,得到所述用户问题与该段落的匹配度。
9.如权利要求8所述的方法,其中,所述知识库属于目标领域;
所述段落匹配模型采用如下方式进行训练:
基于通用的多个领域的第三训练样本对所述段落匹配模型进行训练,得到初始训练后的所述段落匹配模型;
基于所述目标领域的第四训练样本对初始训练后的所述段落匹配模型进行微调,得到微调后的所述段落匹配模型。
10.如权利要求9所述的方法,其中,所述第三训练样本和/或所述第四训练样本包括:
样本问题和样本段落构成的样本输入,样本问题和样本段落是否相关作为样本标签。
11.如权利要求1所述的方法,其中,所述机器阅读理解模型采用如下方式进行训练:
基于预训练样本对所述机器阅读理解模型进行预训练,得到预训练后的所述机器阅读理解模型;
基于第五训练样本对初始训练后的所述机器阅读理解模型进行微调,得到微调后的所述机器阅读理解模型,所述第五训练样本包括,样本问题和样本段落作为样本输入,段落中是否包含答案的标记,以及答案的起始位置和终止位置作为样本标签。
12.如权利要求11所述的方法,其中,所述预训练样本包括:
第一段落和第二段落作为样本输入,两个段落是否为前后顺序作为样本标签。
13.如权利要求11所述的方法,其中,所述预训练样本包括:
样本句子和样本段落作为样本输入,样本句子是否属于样本段落作为样本标签。
14.如权利要求1所述的方法,其中,所述根据所述若干个段落的排序,确定所述若干个段落中包含的多个答案的排序,包括:
获取所述若干个段落的第一排序;
确定所述用户问题与所述多个答案各自的相关度;
根据所述相关度,对所述第一排序进行调整,作为所述若干个段落中包含的多个答案的第二排序。
15.一种针对用户问题和知识库返回答案的装置,所述知识库包括多个文档,所述装置包括:
获取单元,用于获取用户问题;
确定单元,用于确定与所述获取单元获取的用户问题相关联的若干个段落,所述若干个段落来自于所述多个文档;
阅读理解单元,用于将所述获取单元获取的用户问题和所述确定单元得到的若干个段落中的任一个段落输入机器阅读理解模型,得到该段落中是否包含答案的标记,以及答案的起始位置和终止位置,以便返回多个答案,以及多个答案分别的起始位置和终止位置;
初始排序单元,用于根据所述用户问题分别与所述确定单元得到的若干个段落的匹配度,按照匹配度由高到低的顺序对所述若干个段落进行排序;
重排序单元,用于根据所述初始排序单元得到的若干个段落的排序,确定所述若干个段落中包含的多个答案的排序,以便按照排序返回所述阅读理解单元得到的多个答案,以及多个答案分别的起始位置和终止位置;
其中,所述获取单元包括:
获取子单元,用于获取用户输入的原始问句;
问题改写子单元,用于将所述获取子单元获取的原始问句输入预先训练的问题改写模型,得到所述用户问题。
16.如权利要求15所述的装置,其中,所述知识库属于目标领域;
所述问题改写模型采用如下方式进行训练:
基于通用的多个领域的第一训练样本对所述问题改写模型进行训练,得到初始训练后的所述问题改写模型;
基于所述目标领域的第二训练样本对初始训练后的所述问题改写模型进行微调,得到微调后的所述问题改写模型。
17.如权利要求16所述的装置,其中,所述第一训练样本通过如下方式获得:
获取对应于同一问题的多个答案,所述多个答案包括第一答案和第二答案;
将所述第一答案作为样本输入,所述第二答案作为样本标签,得到所述第一训练样本。
18.如权利要求16所述的装置,其中,所述第二训练样本通过如下方式获得:
获取原始问题和改写后的问题;
将所述原始问题作为样本输入,所述改写后的问题作为样本标签,得到所述第二训练样本。
19.如权利要求15所述的装置,其中,所述确定单元包括:
文档选择子单元,用于确定所述用户问题分别与所述知识库中的各文档之间的匹配度,从所述知识库中选择出匹配度最高的预设数目个文档;
分段处理子单元,用于将所述文档选择子单元得到的预设数目个文档进行分段处理,得到所述若干个段落。
20.如权利要求19所述的装置,其中,所述文档选择子单元包括:
确定模块,用于确定所述用户问题包括的至少一个关键词;
匹配模块,用于利用所述确定模块得到的至少一个关键词与所述知识库中的各文档进行匹配,得到所述匹配度。
21.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-14中任一项的所述的方法。
22.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-14中任一项的所述的方法。
CN202110779953.2A 2021-07-09 2021-07-09 针对用户问题和知识库返回答案的方法和装置 Active CN113435213B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110779953.2A CN113435213B (zh) 2021-07-09 2021-07-09 针对用户问题和知识库返回答案的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110779953.2A CN113435213B (zh) 2021-07-09 2021-07-09 针对用户问题和知识库返回答案的方法和装置

Publications (2)

Publication Number Publication Date
CN113435213A CN113435213A (zh) 2021-09-24
CN113435213B true CN113435213B (zh) 2024-04-30

Family

ID=77759942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110779953.2A Active CN113435213B (zh) 2021-07-09 2021-07-09 针对用户问题和知识库返回答案的方法和装置

Country Status (1)

Country Link
CN (1) CN113435213B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117290483A (zh) * 2023-10-09 2023-12-26 成都明途科技有限公司 答案确定方法、模型训练方法、装置及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110263330A (zh) * 2019-05-22 2019-09-20 腾讯科技(深圳)有限公司 问题语句的改写方法、装置、设备和存储介质
CN111930887A (zh) * 2020-07-06 2020-11-13 河海大学常州校区 基于联合训练方式的多文档多答案机器阅读理解系统
CN112115238A (zh) * 2020-10-29 2020-12-22 电子科技大学 一种基于bert和知识库的问答方法和系统
CN112287080A (zh) * 2020-10-23 2021-01-29 平安科技(深圳)有限公司 问题语句的改写方法、装置、计算机设备和存储介质
CN112487169A (zh) * 2020-12-11 2021-03-12 北京邮电大学 一种基于元学习的个性化对话改写方法
WO2021068352A1 (zh) * 2019-10-12 2021-04-15 平安科技(深圳)有限公司 Faq问答对自动构建方法、装置、计算机设备及存储介质
CN112818093A (zh) * 2021-01-18 2021-05-18 平安国际智慧城市科技股份有限公司 基于语义匹配的证据文档检索方法、系统及存储介质
CN113076431A (zh) * 2021-04-28 2021-07-06 平安科技(深圳)有限公司 机器阅读理解的问答方法、装置、计算机设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9063975B2 (en) * 2013-03-15 2015-06-23 International Business Machines Corporation Results of question and answer systems

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110263330A (zh) * 2019-05-22 2019-09-20 腾讯科技(深圳)有限公司 问题语句的改写方法、装置、设备和存储介质
WO2021068352A1 (zh) * 2019-10-12 2021-04-15 平安科技(深圳)有限公司 Faq问答对自动构建方法、装置、计算机设备及存储介质
CN111930887A (zh) * 2020-07-06 2020-11-13 河海大学常州校区 基于联合训练方式的多文档多答案机器阅读理解系统
CN112287080A (zh) * 2020-10-23 2021-01-29 平安科技(深圳)有限公司 问题语句的改写方法、装置、计算机设备和存储介质
CN112115238A (zh) * 2020-10-29 2020-12-22 电子科技大学 一种基于bert和知识库的问答方法和系统
CN112487169A (zh) * 2020-12-11 2021-03-12 北京邮电大学 一种基于元学习的个性化对话改写方法
CN112818093A (zh) * 2021-01-18 2021-05-18 平安国际智慧城市科技股份有限公司 基于语义匹配的证据文档检索方法、系统及存储介质
CN113076431A (zh) * 2021-04-28 2021-07-06 平安科技(深圳)有限公司 机器阅读理解的问答方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向事实性问题的答案选择技术研究综述;董燕举;蔡东风;白宇;;中文信息学报;20090115(第01期);全文 *

Also Published As

Publication number Publication date
CN113435213A (zh) 2021-09-24

Similar Documents

Publication Publication Date Title
CN106649786B (zh) 基于深度问答的答案检索方法及装置
CN110298033B (zh) 关键词语料标注训练提取系统
US8346533B2 (en) Compiling word usage frequencies
CN109685056B (zh) 获取文档信息的方法及装置
Scherrer et al. Digitising Swiss German: how to process and study a polycentric spoken language
CN114661872B (zh) 一种面向初学者的api自适应推荐方法与系统
CN110046264A (zh) 一种面向手机文档的自动分类方法
CN111552773A (zh) 一种阅读理解任务中是否类问题关键句寻找方法及系统
CN107844531B (zh) 答案输出方法、装置和计算机设备
CN116010552A (zh) 一种基于关键词词库的工程造价数据解析系统及其方法
US8165987B2 (en) System and method of machine-aided information extraction rule development
CN113435213B (zh) 针对用户问题和知识库返回答案的方法和装置
CN111274354B (zh) 一种裁判文书结构化方法及装置
CN115344668A (zh) 一种多领域与多学科科技政策资源检索方法及装置
CN111949781B (zh) 一种基于自然语句句法分析的智能交互方法及装置
CN114090777A (zh) 文本数据处理方法及装置
CN114661900A (zh) 一种文本标注推荐方法、装置、设备及存储介质
CN113761081A (zh) 一种用于对企业信息进行多维度组合检索的方法及其系统
CN115619443A (zh) 一种基于上市公司年度报告进行情感分析的公司经营预测方法及系统
CN113722421A (zh) 一种合同审计方法和系统,及计算机可读存储介质
CN111209404B (zh) 一种基于深度学习辅助生成相似问句的方法
CN116775813B (zh) 业务搜索方法、装置、电子设备及可读存储介质
US20220171937A1 (en) Document sentence concept labeling system, training method and labeling method thereof
CN117493508A (zh) 问答数据的生成方法、装置、计算机设备及存储介质
CN117874190A (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