CN114490949A - 基于bm25算法的文档检索方法、装置、设备及介质 - Google Patents

基于bm25算法的文档检索方法、装置、设备及介质 Download PDF

Info

Publication number
CN114490949A
CN114490949A CN202210151143.7A CN202210151143A CN114490949A CN 114490949 A CN114490949 A CN 114490949A CN 202210151143 A CN202210151143 A CN 202210151143A CN 114490949 A CN114490949 A CN 114490949A
Authority
CN
China
Prior art keywords
training
sample
natural language
document
documents
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.)
Pending
Application number
CN202210151143.7A
Other languages
English (en)
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202210151143.7A priority Critical patent/CN114490949A/zh
Publication of CN114490949A publication Critical patent/CN114490949A/zh
Pending legal-status Critical Current

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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

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

Abstract

本申请涉及人工智能技术领域,本申请实施例提供了一种基于BM25算法的文档检索方法、装置、电子设备及存储介质。该方法包括:将问题文本输入至预训练好的第一自然语言处理模型,以利用第一自然语言处理模型感知上下文语义信息的能力,对所述问题文本中每个分词的重要性进行预测;再基于BM25算法对第一自然语言处理模型输出的各个分词的重要性预测结果进行处理,得到各个候选文档与问题文本的相似度得分,并根据相似度得分得到召回文档,将所述召回文档作为文档检索结果推送给所述用户。本申请在获取相似度得分的过程中考虑了问题文本的上下文语义信息,克服了典型BM25算法仅根据分词的词频来判断分词的重要性所带来的局限性,提高了文档召回的准确率。

Description

基于BM25算法的文档检索方法、装置、设备及介质
技术领域
本申请涉及人工智能技术领域,尤其涉及一种基于BM25算法的文档检索方法、装置、电子设备及存储介质。
背景技术
BM25算法是一种经典的检索算法,用来评价搜索词(用户输入的问题)和文档之间相关性,它是一种基于概率检索模型提出的算法。典型BM25算法的主要思想是通过对问题句子分词后计算单词的词频信息(即单词在各个文档中出现的频率),以根据单词的词频来判断单词的重要性,同时设置了多种可调节因子进行召回。这种方法并没有考虑到用户输入问题的上下文语义信息,在实际操作中,同样的单词在不同的语境下的重要性是不同的,这样就导致基于BM25算法的召回准确率较低。
发明内容
本申请实施例的主要目的在于提出一种基于BM25算法的文档检索方法、装置、电子设备及存储介质,旨在提高文档召回的准确率。
为实现上述目的,本申请实施例的第一方面提出了一种基于BM25算法的文档检索方法,所述方法包括:
接收用户输入的业务问题,得到问题文本;
将所述问题文本输入至预训练好的第一自然语言处理模型,以通过所述第一自然语言处理模型获得所述问题文本中每个分词的重要性预测结果;
获取预先设置的多个候选文档和各个所述候选文档的文档参数;
针对每个所述候选文档,分别基于BM25算法对所述候选文档的文档参数和所述问题文本中每个分词的重要性预测结果进行处理,得到所述候选文档与所述问题文本的相似度得分;
根据所述相似度得分,对所述候选文档进行召回处理,得到召回文档;
将所述召回文档作为文档检索结果推送给所述用户。
根据本申请一些实施例提供的文档检索方法,所述第一自然语言处理模型的预训练过程包括:
构建第一训练样本集合,其中,所述第一训练样本集合包括多个第一训练样本,每个所述第一训练样本包括第一样本问题文本和第一标签集合,所述第一标签集合包括所述第一样本问题文本中各分词的第一标注标签,所述第一标注标签用于表征所述分词在所述第一样本问题文本句子中的重要程度;
将每个所述第一训练样本中的第一样本问题文本输入至所述第一自然语言处理模型,得到所述第一训练样本的重要性预测结果集合;
根据各个所述第一训练样本的重要性预测结果集合和所述第一标签集合,确定所述第一自然语言处理模型的第一损失值;
在所述第一损失值满足预设的第一训练结束条件情况下,结束所述第一自然语言处理模型的预训练过程;
在所述第一损失值不满足所述预设的第一训练结束条件的情况下,对所述第一自然语言处理模型的模型参数进行调整,并基于所述第一训练样本集合对调整后的模型继续进行预训练。
根据本申请一些实施例提供的文档检索方法,所述第一自然语言处理模型包括编码器表示-全词遮掩Bert-wwm层和全连接层,所述Bert-wwm层用于基于所述第一样本问题文本输出词向量语义序列,所述全连接层用于基于所述词向量语义序列输出各个分词的重要性预测结果。
根据本申请一些实施例提供的文档检索方法,所述全连接层的输出为重要性预测结果序列,所述第一样本问题文本中的各个分词的重要性预测结果根据所述重要性预测结果序列得到,所述各个分词的重要性预测结果组成所述重要性预测结果集合。
根据本申请一些实施例提供的文档检索方法,所述针对每个所述候选文档,分别基于BM25算法对所述候选文档的文档参数和所述问题文本中每个分词的重要性预测结果进行处理,得到所述候选文档与所述问题文本的相似度得分,通过如下算式实现:
Figure BDA0003504363510000021
其中,Score(Q,d)表征所有候选文档中的第d个候选文档与所述问题文本Q的相似度得分;qi表征所述问题文本Q中的第i个分词;NLP-(qi)表征所述第一自然语言处理模型针对分词qi输出的重要性预测结果;fi表征所述分词qi在所有候选文档中出现的频率;dl表征所述第d个候选文档的长度;avgdl表征所有候选文档的平均长度;k1、b均为调节因子。
根据本申请一些实施例提供的文档检索方法,所述候选文档的数量为M个,M为大于1的整数;
所述根据所述相似度得分,对所述候选文档进行召回处理,得到召回文档,包括:
从所述M个候选文档中选取相似度得分最高的J个候选文档作为召回文档,J为大于1且小于M的整数。
根据本申请一些实施例提供的文档检索方法,在所述从所述M个候选文档中选取相似度得分最高的J个候选文档作为召回文档之后,所述方法还包括:
采用预训练好的第二自然语言处理模型对J个召回文档分别进行得分预测,得到每个召回分档的得分;
基于每个召回分档的得分对J个召回文档进行排序,以将排序后的J个召回文档作为文档检索结果推送给所述用户。
根据本申请一些实施例提供的文档检索方法,所述第二自然语言处理模型的预训练过程包括:
构建第二训练样本集合,所述第二训练样本集合包括多个第二训练样本,每个第二训练样本包括第二样本问题文本、多个样本文档和第二标签集合,所述第二标签集合包括各个样本文档的标注得分;
基于所述第二训练样本集合执行如下第一预训练过程:
将每个所述第二训练样本中的第二样本问题文本与多个样本文档拼接后,输入至所述第二自然语言处理模型中,得到各个所述第二训练样本的预测得分集合;
根据各个所述第二训练样本的预测得分集合和第二标签集合,确定所述第二自然语言处理模型的第二损失值;
在所述第二损失值满足预设的第二训练结束条件情况下,结束所述第一预训练过程;
在所述第二损失值不满足所述预设的第二训练结束条件的情况下,对所述第二自然语言处理模型的模型参数进行调整,并基于所述第二训练样本集合对调整后的模型继续继续执行所述第一预训练过程。
根据本申请一些实施例提供的文档检索方法,每个所述第二训练样本还包括第三标签集合,所述第三标签集合包括各个样本文档的第二标注标签,所述第二标注标签用于表征所述样本文档与所述第二样本问题文本的相关性;
在所述第一预训练过程之前,所述第二自然语言处理模型的预训练过程还包括基于所述第二训练样本集合执行如下第二预训练过程:
将每个所述第二训练样本中的第二样本问题文本与多个样本文档拼接后,输入至所述第二自然语言处理模型中,得到各个所述第二训练样本的相关性预测结果集合;
根据各个所述第二训练样本的所述相关性预测结果集合和所述第三标签集合,确定所述第二自然语言处理模型的第三损失值;
在所述第三损失值满足预设的第三训练结束条件情况下,结束所述第二自然语言处理模型的第二预训练过程;
在所述第三损失值不满足所述预设的第三训练结束条件的情况下,对所述第二自然语言处理模型的模型参数进行调整,并基于所述第二训练样本集合对调整后的模型继续执行所述第二预训练过程。
根据本申请一些实施例提供的文档检索方法,每个所述第二训练样本中的样本文档包括多个正样本文档,所述正样本文档具有最高的标注得分;
所述第一预训练过程包括正向训练过程,所述正向训练过程包括:
将每个所述第二训练样本中的第二样本问题文本与多个正样本文档拼接后,输入至所述第二自然语言处理模型中,得到各个所述第二训练样本的正向预测得分集合;
根据各个所述第二训练样本的正向预测得分集合和最高的标注得分,确定所述第二自然语言处理模型的正向损失值;
在所述正向损失值满足预设的正向训练结束条件情况下,结束所述正向训练过程;
在所述正向损失值不满足所述预设的正向训练结束条件的情况下,对所述第二自然语言处理模型的模型参数进行调整,并基于所述第二训练样本集合对调整后的模型继续继续执行所述正向训练过程。
根据本申请一些实施例提供的文档检索方法,每个所述第二训练样本中的样本文档包括多个负样本文档,所述负样本文档具有最低的标注得分;
所述第一预训练过程还包括负向训练过程,所述负向训练过程包括:
将每个所述第二训练样本中的第二样本问题文本与多个负样本文档拼接后,输入至所述第二自然语言处理模型中,得到各个所述第二训练样本的负向预测得分集合;
根据各个所述第二训练样本的负向预测得分集合和最低的标注得分,确定所述第二自然语言处理模型的负向损失值;
在所述负向损失值满足预设的负向训练结束条件情况下,结束所述负向训练过程;
在所述负向损失值不满足所述预设的负向训练结束条件的情况下,对所述第二自然语言处理模型的模型参数进行调整,并基于所述第二训练样本集合对调整后的模型继续继续执行所述负向训练过程。
根据本申请一些实施例提供的文档检索方法,所述采用预训练好的第二自然语言处理模型对J个召回文档分别进行得分预测,得到每个召回分档的得分,包括:
将所述问题文本与J个召回文档拼接后,输入至所述第二自然语言处理模型中,得到召回文档的预测得分集合,从所述预测得分集合确定每个召回分档的得分。
为实现上述目的,本申请实施例的第二方面提出了一种基于BM25算法的文档检索装置,所述装置包括:
接收模块,用于接收用户输入的业务问题,得到问题文本;
第一处理模块,用于将所述问题文本输入至预训练好的第一自然语言处理模型,以通过所述第一自然语言处理模型获得所述问题文本中每个分词的重要性预测结果;
第二处理模块,用于获取预先设置的多个候选文档和各个所述候选文档的文档参数,针对每个所述候选文档,分别基于BM25算法对所述候选文档的文档参数和所述问题文本中每个分词的重要性预测结果进行处理,得到所述候选文档与所述问题文本的相似度得分;
召回模块,用于根据所述相似度得分,对所述候选文档进行召回处理,得到召回文档;
推送模块,用于将所述召回文档作为文档检索结果推送给所述用户。
为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现上述第一方面所述的方法。
为实现上述目的,本申请实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一方面所述的方法。
本申请提出一种基于BM25算法的文档检索方法、装置、电子设备及存储介质,基于用户输入的业务问题获得问题文本,并将所述问题文本输入至预训练好的第一自然语言处理模型,以利用第一自然语言处理模型感知上下文语义信息的能力,对所述问题文本中每个分词的重要性进行预测;再基于BM25算法对第一自然语言处理模型输出的各个分词的重要性预测结果进行处理,得到各个候选文档与所述问题文本的相似度得分,并根据所述相似度得分,对所述候选文档进行召回处理,得到召回文档,将所述召回文档作为文档检索结果推送给所述用户。通过上述方法获得的相似度得分,是在考虑了问题文本的上下文语义信息的情况下得到的,克服了典型BM25算法仅根据分词的词频来判断分词的重要性所带来的局限性,大大提高了文档召回的准确率。
附图说明
图1是本申请实施例提供的一种基于BM25算法的文档检索方法的流程示意图;
图2是本申请的一个实施例提供的第一自然语言处理模型的预训练过程示意图;
图3是图1中的步骤S140的子步骤流程示意图;
图4是本申请一个实施例提供的第二自然语言处理模型的预训练过程示意图;
图5是本申请实施例提供的第一预训练过程示意图;
图6是本申请实施例提供的正向训练过程示意图;
图7是本申请实施例提供的负向训练过程示意图;
图8是本申请另一个实施例提供的第二自然语言处理模型的预训练过程示意图;
图9是本申请实施例提供的第二预训练过程示意图;
图10是本申请实施例提供的文档检索装置的结构示意图;
图11是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
首先,对本申请中涉及的若干名词进行解析:
人工智能(artificial intelligence,AI):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
自然语言处理(Natural Language Processing,NLP):自然语言处理是指利用人类交流所使用的自然语言与机器进行交互通讯的技术。通过人为的对自然语言的处理,使得计算机对其能够可读并理解。自然语言处理的相关研究始于人类对机器翻译的探索。虽然自然语言处理涉及语音、语法、语义、语用等多维度的操作,但简单而言,自然语言处理的基本任务是基于本体词典、词频统计、上下文语义分析等方式对待处理语料进行分词,形成以最小词性为单位,且富含语义的词项单元。
编码器表示(Bidirectional Encoder Representation from Transformers,Bert):Bert模型是一种NLP模型,Bert模型进一步增加词向量模型泛化能力,充分描述字符级、词级、句子级甚至句间关系特征,基于Transformer构建而成。Bert中有三种embedding,即Token Embedding,Segment Embedding,Position Embedding;其中Token Embeddings是词向量,第一个单词是CLS标志,可以用于之后的分类任务;Segment Embeddings用来区别两种句子,因为预训练不光做LM还要做以两个句子为输入的分类任务;PositionEmbeddings,这里的位置词向量不是transfor中的三角函数,而是Bert经过训练学到的。但Bert直接训练一个position embedding来保留位置信息,每个位置随机初始化一个向量,加入模型训练,最后就得到一个包含位置信息的embedding,最后这个position embedding和word embedding的结合方式上,Bert选择直接拼接。
编码器表示-全词遮掩(Bidirectional Encoder Representations fromTransformers-Whole Word Masking,Bert-wwm)模型:Whole Word Masking(wwm),暂翻译为全词遮掩(Mask)或整词Mask,是谷歌在2019年5月31日发布的一项Bert的升级版本,主要更改了原预训练阶段的训练样本生成策略。简单来说,原有基于Word Piece的分词方式会把一个完整的词切分成若干个子词,在生成训练样本时,这些被分开的子词会随机被mask。在全词Mask中,如果一个完整的词的部分WordPiece子词被mask,则同属该词的其他部分也会被mask,即全词Mask。需要注意的是,这里的mask指的是广义的mask(替换成[MASK];保持原词汇;随机替换成另外一个词),并非只局限于单词替换成[MASK]标签的情况。同理,由于谷歌官方发布的Bert-base,Chinese中,中文是以字为粒度进行切分,没有考虑到传统NLP中的中文分词(CWS)。我们将全词Mask的方法应用在了中文中,使用了中文维基百科(包括简体和繁体)进行训练,并且使用了哈工大LTP作为分词工具,即对组成同一个词的汉字全部进行Mask。
batch(批量):Batch大小(即批量大小)是一个超参数,用于定义在更新内部模型参数之前要处理的样本数,也就是在模型的内部参数更新之前控制训练样本的数量。训练数据集可以分为一个或多个Batch,其中,当所有训练样本用于创建一个Batch时,学习算法称为批量梯度下降;当批量是一个样本的大小时,学习算法称为随机梯度下降;当批量大小超过一个样本且小于训练数据集的大小时,学习算法称为小批量梯度下降。Batch大小是在更新模型之前处理的多个样本。
损失函数(loss function):损失函数是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。
均方误差(Mean squared error,MSE)损失函数:均方误差(MSE)是回归损失函数中最常用的误差,它是预测值与目标值之间差值的平方和,等价于对误差求L2范数,所以也叫L2损失函数(L2 loss)。
交叉熵损失(BinaryCrossEntropy Loss)函数:交叉熵损失函数可以预测真实值和预测值之间的区别,通过loss值来判断预测模型之间的好坏。交叉熵损失函数经常用于分类问题中,特别是在神经网络做分类问题时,也经常使用交叉熵作为损失函数,此外,由于交叉熵涉及到计算每个类别的概率,所以交叉熵几乎每次都和sigmoid(或softmax)函数一起出现。在二分的情况下,模型最后需要预测的结果只有两种情况,对于每个类别我们的预测得到的概率为p和1-p。
BM25算法:通常用来作搜索相关性评分。一句话概况其主要思想:对问题Query进行切分,得到多个分词qi;然后,对于每个检索结果(文档D),计算每个分词qi与文档D的相关性得分,最后,将qi相对于D的相关性得分进行加权求和,从而得到Query与D的相关性得分(也可称作相似度得分)。其中,在典型BM25算法中,分词qi的权重与qi在给定的文档集合中的出现次数有关,一般来说,包含了qi的文档数越多,qi的权重则越低。也就是说,当很多文档都包含了qi时,qi的区分度就不高,因此使用qi来判断相关性时的重要度就较低。而qi相对于D的相关性得分,由qi在d中的出现频率、qi在Query中的出现频率、文档d的长度、所有文档的平均长度等因素确定。
由此可见,典型BM25算法的主要思想是通过对问题句子分词后计算单词的词频信息(即单词在各个文档中出现的频率),以根据单词的词频来判断单词的重要性,同时设置了多种可调节因子进行召回。这种方法并没有考虑到用户输入问题的上下文语义信息,在实际操作中,同样的单词在不同的语境下的重要性是不同的,这样就导致基于BM25算法的召回准确率较低。
基于此,本申请实施例提供了一种基于BM25算法的文档检索方法、装置、电子设备及存储介质,旨在提高文档召回的准确率。
本申请实施例提供的文档检索方法可以基于人工智能技术(ArtificialIntelligence,AI)对相关的数据进行获取和处理。比如,问题文本中各个分词的重要性可以通过调用预先训练好的自然语言处理模型实现。AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。随着人工智能技术研究和进步,人工智能技术已经在多个领域广泛展开研究和应用,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的基于BM25算法的文档检索方法,涉及人工智能及智能问答技术领域。本申请实施例提供的文档检索方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现文档检索方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
请参见图1,图1示出了本申请实施例的提供的一种基于BM25算法的文档检索方法的流程示意图。如图1所示,本申请实施例提供的基于BM25算法的文档检索方法,包括但不限于如下方法步骤S110至S150。可选的,该方法可以由服务器执行。
S110,接收用户输入的业务问题,得到问题文本。
可以理解的是,用户在客户端侧输入实际的业务问题,客户端将用户输入的业务问题发送给服务器,服务器在接收客户端发送的用户输入的业务问题后,从问题中提取出问题文本。这里,问题文本可以理解为一个包含多个单词的问题句子。
S120,将所述问题文本输入至预训练好的第一自然语言处理模型,以通过所述第一自然语言处理模型获得所述问题文本中每个分词的重要性预测结果。
可以理解的是,第一自然语言处理模型用于输出问题文本中各个分词的重要性预测结果。这里的分词可以理解对问题文本(句子)中进行切分后所得到的单词。
作为一种可选的实现方式,第一自然语言处理模型具体可以是Bert-wwm模型,Bert-wwm模型在原始Bert-base的基础上引入whole word mask(全词遮掩),即对整一个单词进行mask处理,相较于Bert模型,在语言任务(尤其中文任务)的处理上,性能有了很大的提升。
本申请实施例,利用第一自然语言处理模型能感知上下文语义信息的能力,通过第一自然语言处理模型输出各个分词的重要性预测结果,这个重要性预测结果表征了分词在问题文本的整体内容中的重要程度。
S130,获取预先设置的多个候选文档和各个所述候选文档的文档参数,针对每个所述候选文档,分别基于BM25算法对所述候选文档的文档参数和所述问题文本中每个分词的重要性预测结果进行处理,得到所述候选文档与所述问题文本的相似度得分。
作为示例,步骤S130中,基于BM25算法对所述候选文档的文档参数和所述问题文本中每个分词的重要性预测结果进行处理,得到所述候选文档与所述问题文本的相似度得分,可以通过如下算式实现:
Figure BDA0003504363510000101
其中,Score(Q,d)表征所有候选文档中的第d个候选文档与所述问题文本Q的相似度得分;qi表征所述问题文本Q中的第i个分词;NLP_(qi)表征所述第一自然语言处理模型针对分词qi输出的重要性预测结果;fi表征所述分词qi在所有候选文档中出现的频率;dl表征所述第d个候选文档的长度;avgdl表征所有候选文档的平均长度;k1、b均为调节因子,k1的取值可以是2,b的取值可以是0.75。
可以理解的是,本申请实施例提供的BM25算法的主要思想是基于分词qi(qi表示问题文本Q的n个分词中的第i个分词)在问题文本Q中的重要程度确定分词qi的权重值;再基于分词qi的权重值以及分词qi与候选文档d的相关程度,确定分词qi与候选文档d的相似度得分;最后对n个分词的相似度得分进行加权求和,得到候选文档d与问题文本Q的相似度得分。
可以理解的是,本申请实施例提供的BM25算法中,分词qi的权重值由所述第一自然语言处理模型输出的重要性预测结果确定,而第一自然语言处理模型输出的重要性预测结果是基于问题文本Q的上下文语义信息进行预测的,也就是说,步骤S130获得的相似度得分Score(Q,d),是在考虑了问题文本的上下文语义信息的情况下得到的,因而克服了典型BM25算法仅根据分词的词频来判断分词的重要性所带来的局限性,大大提高了文档召回的准确率。
可以理解的是,本申请实施例描述的候选文档为预先给定的,具体实现时,可以将候选文档预先存储在数据库中,在执行本申请实施例的文档检索方法时,可以通过调用数据库获得相关的候选文档。
S140,根据所述相似度得分,对所述候选文档进行召回处理,得到召回文档。
请参见图3,作为示例,假定所述候选文档的数量为M(M为大于1的整数)个,步骤S140中,所述根据所述相似度得分,对所述候选文档进行召回处理,得到召回文档,具体可以包括如下步骤:
S141,从所述M个候选文档中选取相似度得分最高的J个候选文档作为召回文档,J为大于1且小于M的整数。
可以理解的是,基于步骤S130可以获得M个候选文档对应与所述问题文本的相似度得分,然后可以从M个候选文档中选取相似度得分最高的J个候选文档作为召回文档。
S150,将所述召回文档作为文档检索结果推送给所述用户。
可以理解的是,通过步骤S140获得J个召回文档之后,将J个召回文档作为文档检索结果返回给客户端,以将文档检索结果反馈给用户。
请参见图2,图2示出了本申请的一个实施例提供的第一自然语言处理模型的预训练过程示意图。如图2所示,本申请实施例提供的第一自然语言处理模型的预训练过程可以包括如下步骤S210至步骤S250。
S210,构建第一训练样本集合,其中,所述第一训练样本集合包括多个第一训练样本,每个所述第一训练样本包括第一样本问题文本和第一标签集合,所述第一标签集合包括所述第一样本问题文本中各分词的第一标注标签,所述第一标注标签用于表征所述分词在所述第一样本问题文本句子中的重要程度。
具体实现时,可以基于行业构建第一训练样本集合。比如,基于保险行业,收集与保险行业相关的第一训练样本,每个第一训练样本包括与保险行业相关的第一样本问题文本以及对应的第一标签集合。如此,使得训练得到的第一自然语言处理模型对特定行业相关的问题文本具有更优的处理效果。
S220,将每个所述第一训练样本中的第一样本问题文本输入至所述第一自然语言处理模型,得到所述第一训练样本的重要性预测结果集合。
作为示例,假定第一训练样本有R个,将每个第一训练样本中的第一样本问题文本输入至所述第一自然语言处理模型,得到与R个所述第一训练样本逐一对应的重要性预测结果集合。
S230,根据各个所述第一训练样本的重要性预测结果集合和所述第一标签集合,确定所述第一自然语言处理模型的第一损失值。
可以理解的是,根据各个所述第一训练样本的重要性预测结果集合和所述第一标签集合,结合预设的第一损失函数,确定第一损失函数的值,根据第一损失函数的值确定第一自然语言处理模型的第一损失值。这里,第一损失函数可以是二分类交叉熵损失函数,当然,第一损失函数还可以是其它形式的损失函数,本申请实施例对第一损失函数的形式不作具体要求。
S240,在所述第一损失值满足预设的第一训练结束条件情况下,结束所述第一自然语言处理模型的预训练过程。
S250,在所述第一损失值不满足所述预设的第一训练结束条件的情况下,对所述第一自然语言处理模型的模型参数进行调整,并基于所述第一训练样本集合对调整后的模型继续进行预训练。
可以理解的是,在得到第一损失值之后,将该第一损失值与预设的第一训练结束条件进行比较,当第一损失值满足预设的第一训练结束条件时,说明第一自然语言处理模型已达到预期训练效果,可以结束训练;当第一损失值不满足预设的第一训练结束条件时,则对所述第一自然语言处理模型的模型参数进行调整,并基于所述第一训练样本集合对调整后的模型继续进行预训练。
在一种可能的实现方式中,第一自然语言处理模型采用Bert-wwm模型。具体地,Bert-wwm模型可以包括Bert-wwm层和全连接层,其中,所述Bert-wwm层用于基于所述第一样本问题文本输出词向量语义序列,所述全连接层用于基于所述词向量语义序列输出所述第一样本问题文本中的各个分词的重要性预测结果。这里,Bert-wwm层用于对输入的第一样本问题文本进行切分,将第一样本问题文本划分为多个分词,再基于分词对第一样本问题文本进行上下文语义信息的学习,生成对应于各个分词的语义向量,并将各个分词的语义向量组成词向量语义序列后输出。可以理解的是,一个分词对应的语义向量包含该词在问题文本的整体内容中的上下文语义信息。全连接层基于Bert-wwm层输出的词向量语义序列,对词向量语义序列中的各上下文语义信息的语义向量进行学习,并基于各个分词的语义向量对分词的重要性概率进行预测,各语义向量的重要性概率构成了所述第一样本问题文本中的各个分词的重要性预测结果。
在一种可能的实现方式中,所述全连接层的输出为重要性预测结果序列,所述第一样本问题文本中的各个分词的重要性预测结果根据所述重要性预测结果序列得到,所述各个分词的重要性预测结果组成所述重要性预测结果集合。
请参见图3,作为一种可选的实施方式,在步骤S141、所述从所述M个候选文档中选取相似度得分最高的J个候选文档作为召回文档之后,所述方法还可以包括如下步骤S142和S143。
S142,采用预训练好的第二自然语言处理模型对J个召回文档分别进行得分预测,得到每个召回分档的得分;
S143,基于每个召回分档的得分对J个召回文档进行排序,以将排序后的J个召回文档作为文档检索结果推送给所述用户。
作为示例,步骤S142中的第二自然语言处理模型可以采用Bert模型。
请参见图4,图4示出了本申请一个实施例提供的第二自然语言处理模型的预训练过程示意图。如图4所示,所述第二自然语言处理模型的预训练过程可以包括如下步骤S310和S320。
S310,构建第二训练样本集合。其中,所述第二训练样本集合包括多个第二训练样本,每个第二训练样本包括第二样本问题文本、多个样本文档和第二标签集合,所述第二标签集合包括各个样本文档的标注得分。
具体实现时,可以基于行业构建第二训练样本集合。比如,基于保险行业,收集与保险行业相关的第二训练样本,每个第二训练样本包括与保险行业相关的第二样本问题文本以及对应的第二标签集合。如此,使得训练得到的第二自然语言处理模型对特定行业相关的问题文本具有更优的处理效果。
S320,基于所述第二训练样本集合执行第一预训练过程,请参见图5,所述第一预训练过程包括如图5所示的步骤S321至S324。
S321,将每个所述第二训练样本中的第二样本问题文本与多个样本文档拼接后,输入至所述第二自然语言处理模型中,得到各个所述第二训练样本的预测得分集合;
S322,根据各个所述第二训练样本的预测得分集合和第二标签集合,确定所述第二自然语言处理模型的第二损失值;
S323,在所述第二损失值满足预设的第二训练结束条件情况下,结束所述第一预训练过程;
S324,在所述第二损失值不满足所述预设的第二训练结束条件的情况下,对所述第二自然语言处理模型的模型参数进行调整,并基于所述第二训练样本集合对调整后的模型继续继续执行所述第一预训练过程。
可以理解的是,在上述第一预训练过程中,先将第二样本问题文本与多个样本文档进行拼接,示例性的,拼接的形式如下:Xi=[<CLS>+Question+<s>+Di+<s/>]。其中,Xi表示第二样本问题文本与第i个样本文档连接;Question表示第二样本问题文本;Di表示数据集中第i个样本文档。
可以理解的是,在第一预训练过程中,将第二样本问题文本与样本文档拼接后形成的拼接式输入至所述第二自然语言处理模型中,所述第二自然语言处理模型基于该拼接式输出拼接式中的样本文档针对拼接式中第二样本问题文本的预测得分。假定样本文档有K个,则每个第二样本问题文本的预测得分集合由对应于K个样本文档的K个预测得分组成,基于K个预测得分可以确定K个样本文档的排序关系。
可以理解的是,在第一预训练过程中,在得到各个所述第二训练样本的预测得分集合和第二标签集合后,可结合预设的第二损失函数,确定第二损失函数的值,根据第二损失函数的值确定第二自然语言处理模型的第二损失值。该第二损失函数可以是均方误差(MSE)损失函数,当然,第二损失函数还可以是其它形式的损失函数,本申请实施例对第二损失函数的形式不作具体要求。
在一些具体的实施例中,每个所述第二训练样本中的样本文档包括多个正样本文档,所述正样本文档具有最高的标注得分(例如“1”);所述第一预训练过程包括正向训练过程。请参见图6,所述正向训练过程包括如下步骤S3211、S3221、S3231和S3241,可以理解的是,步骤S3211、S3221、S3231和S3241是与上述步骤S321、S322、S323和S324逐一对应的具体步骤。
S3211,将每个所述第二训练样本中的第二样本问题文本与多个正样本文档拼接后,输入至所述第二自然语言处理模型中,得到各个所述第二训练样本的正向预测得分集合;
S3221,根据各个所述第二训练样本的正向预测得分集合和最高的标注得分,确定所述第二自然语言处理模型的正向损失值;
S3231,在所述正向损失值满足预设的正向训练结束条件情况下,结束所述正向训练过程;
S3241,在所述正向损失值不满足所述预设的正向训练结束条件的情况下,对所述第二自然语言处理模型的模型参数进行调整,并基于所述第二训练样本集合对调整后的模型继续继续执行所述正向训练过程。
在一些具体的实施例中,每个所述第二训练样本中的样本文档还包括多个负样本文档,所述负样本文档具有最低的标注得分(例如“0”);所述第一预训练过程还包括负向训练过程。请参见图7,所述负向训练过程包括如下步骤S3212、S3222、S3232和S3242,可以理解的是,步骤S3212、S3222、S3232和S3242是与上述步骤S321、S322、S323和S324逐一对应的具体步骤。
S3212,将每个所述第二训练样本中的第二样本问题文本与多个负样本文档拼接后,输入至所述第二自然语言处理模型中,得到各个所述第二训练样本的负向预测得分集合;
S3222,根据各个所述第二训练样本的负向预测得分集合和最低的标注得分,确定所述第二自然语言处理模型的负向损失值;
S3232,在所述负向损失值满足预设的负向训练结束条件情况下,结束所述负向训练过程;
S3242,在所述负向损失值不满足所述预设的负向训练结束条件的情况下,对所述第二自然语言处理模型的模型参数进行调整,并基于所述第二训练样本集合对调整后的模型继续继续执行所述负向训练过程。
在实现第一预训练过程中,每个第二训练样本可以设置r个正样本文档和r个负样本文档,这样batchsize为2r。第一预训练过程中,根据第二损失值对正在训练所述第二自然语言处理模型的模型参数进行调整,目的是最大化正样本文档的得分、最小化负样本文档的得分(正文档样本1分,负文档样本0分)。
通过第一预训练过程,能够使所述第二自然语言处理模型基于输入的多个拼接式(问题样本与各文档的拼接式),输出各个文档的预测得分结果。
请参见图8,图8示出了本申请另一个实施例提供的第二自然语言处理模型的预训练过程示意图。在图8所示,所述第二自然语言处理模型的预训练过程可以包括如下步骤S410至S430。
S410,构建第二训练样本集合。
其中,所述第二训练样本集合包括多个第二训练样本,每个第二训练样本包括第二样本问题文本、多个样本文档、第二标签集合和第三标签集合,所述第二标签集合包括各个样本文档的标注得分,所述第三标签集合包括各个样本文档的第二标注标签,所述第二标注标签用于表征所述样本文档与所述第二样本问题文本的相关性。
S420,基于所述第二训练样本集合执行第二预训练过程。请参见图9,所述第二预训练过程具体包括如下步骤S421至S424。
S421,将每个所述第二训练样本中的第二样本问题文本与多个样本文档拼接后,输入至所述第二自然语言处理模型中,得到各个所述第二训练样本的相关性预测结果集合;
S422,根据各个所述第二训练样本的所述相关性预测结果集合和所述第三标签集合,确定所述第二自然语言处理模型的第三损失值;
S423,在所述第三损失值满足预设的第三训练结束条件情况下,结束所述第二自然语言处理模型的第二预训练过程;
S424,在所述第三损失值不满足所述预设的第三训练结束条件的情况下,对所述第二自然语言处理模型的模型参数进行调整,并基于所述第二训练样本集合对调整后的模型继续执行所述第二预训练过程。
S430,基于所述第二训练样本集合执行第一预训练过程。这里步骤S430描述的第一预训练过程的具体实现方式可以参照前面步骤S320的相关描述,此处不再赘述。
图8所示的示例,在进行第一预训练过程之前,先基于所述第二训练样本集合执行第二预训练过程。该第二预训练过程的主要目的是训练所述第二自然语言处理模型具备感知第二样本问题文本与各个样本文档的相关性的能力。如此,通过两个阶段的训练,在第一阶段模型重点学习问题与文档的相关性,在第二阶段重点学习文档间的排序关系。
可以理解的是,在第二预训练过程中,在得到各个所述第二训练样本的相关性预测结果集合和第二标签集合后,可结合预设的第三损失函数,确定第三损失函数的值,根据第三损失函数的值确定第二自然语言处理模型的第三损失值。该第三损失函数可以是二分类交叉熵损失函数,当然,第三损失函数还可以是其它形式的损失函数,本申请实施例对第三损失函数的形式不作具体要求。
作为可选的实施方式,步骤S142中,所述采用预训练好的第二自然语言处理模型对J个召回文档分别进行得分预测,得到每个召回分档的得分,具体可以包括:将所述问题文本与J个召回文档拼接后,输入至所述第二自然语言处理模型中,得到召回文档的预测得分集合,从所述预测得分集合确定每个召回分档的得分。
请参见图10,本申请实施例还提供一种基于BM25算法的文档检索装置,所述装置包括:
接收模块801,用于接收用户输入的业务问题,得到问题文本;
第一处理模块802,用于将所述问题文本输入至预训练好的第一自然语言处理模型,以通过所述第一自然语言处理模型获得所述问题文本中每个分词的重要性预测结果;
第二处理模块803,用于获取预先设置的多个候选文档和各个所述候选文档的文档参数,针对每个所述候选文档,分别基于BM25算法对所述候选文档的文档参数和所述问题文本中每个分词的重要性预测结果进行处理,得到所述候选文档与所述问题文本的相似度得分;
召回模块804,用于根据所述相似度得分,对所述候选文档进行召回处理,得到召回文档;
推送模块805,用于将所述召回文档作为文档检索结果推送给所述用户。
可以理解的是,在一些实施例中,本申请的基于BM25算法的文档检索装置还包括第三处理模块和排序模块,其中,所述第三处理模块用于采用预训练好的第二自然语言处理模型对召回文档分别进行得分预测,得到每个召回分档的得分;所述排序模块用于基于每个召回分档的得分对召回文档进行排序,以将排序后的召回文档作为文档检索结果推送给所述用户。
需要说明的是,上述装置的模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
请参见图11,图11示出了本申请一实施例提供的电子设备的硬件结构,电子设备包括:
处理器901,可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集合成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集合成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器902,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器902可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器902中,并由处理器901来调用执行本申请实施例的文档检索方法;
输入/输出接口903,用于实现信息输入及输出;
通信接口904,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;和
总线905,在设备的每个组件(例如处理器901、存储器902、输入/输出接口903和通信接口904)之间传输信息;
其中处理器901、存储器902、输入/输出接口903和通信接口904通过总线905实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种存储介质,存储介质为计算机可读存储介质,用于计算机可读存储,存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述文档检索方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集合成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请每个实施例中的各功能单元可以集合成在一个处理单元中,也可以是每个单元单独物理存在,也可以两个或两个以上单元集合成在一个单元中。上述集合成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集合成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请每个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。

Claims (15)

1.一种基于BM25算法的文档检索方法,其特征在于,所述方法包括:
接收用户输入的业务问题,得到问题文本;
将所述问题文本输入至预训练好的第一自然语言处理模型,以通过所述第一自然语言处理模型获得所述问题文本中每个分词的重要性预测结果;
获取预先设置的多个候选文档和各个所述候选文档的文档参数;
针对每个所述候选文档,分别基于BM25算法对所述候选文档的文档参数和所述问题文本中每个分词的重要性预测结果进行处理,得到所述候选文档与所述问题文本的相似度得分;
根据所述相似度得分,对所述候选文档进行召回处理,得到召回文档;
将所述召回文档作为文档检索结果推送给所述用户。
2.根据权利要求1所述的方法,其特征在于,所述第一自然语言处理模型的预训练过程包括:
构建第一训练样本集合,其中,所述第一训练样本集合包括多个第一训练样本,每个所述第一训练样本包括第一样本问题文本和第一标签集合,所述第一标签集合包括所述第一样本问题文本中各分词的第一标注标签,所述第一标注标签用于表征所述分词在所述第一样本问题文本句子中的重要程度;
将每个所述第一训练样本中的第一样本问题文本输入至所述第一自然语言处理模型,得到所述第一训练样本的重要性预测结果集合;
根据各个所述第一训练样本的重要性预测结果集合和所述第一标签集合,确定所述第一自然语言处理模型的第一损失值;
在所述第一损失值满足预设的第一训练结束条件情况下,结束所述第一自然语言处理模型的预训练过程;
在所述第一损失值不满足所述预设的第一训练结束条件的情况下,对所述第一自然语言处理模型的模型参数进行调整,并基于所述第一训练样本集合对调整后的模型继续进行预训练。
3.根据权利要求2所述的方法,其特征在于,所述第一自然语言处理模型包括编码器表示-全词遮掩Bert-wwm层和全连接层,所述Bert-wwm层用于基于所述第一样本问题文本输出词向量语义序列,所述全连接层用于基于所述词向量语义序列输出所述第一样本问题文本中的各个分词的重要性预测结果。
4.根据权利要求3所述的方法,其特征在于,所述全连接层的输出为重要性预测结果序列,所述第一样本问题文本中的各个分词的重要性预测结果根据所述重要性预测结果序列得到,所述各个分词的重要性预测结果组成所述重要性预测结果集合。
5.根据权利要求1所述的方法,其特征在于,所述针对每个所述候选文档,分别基于BM25算法对所述候选文档的文档参数和所述问题文本中每个分词的重要性预测结果进行处理,得到所述候选文档与所述问题文本的相似度得分,通过如下算式实现:
Figure FDA0003504363500000021
其中,Score(Q,d)表征所有候选文档中的第d个候选文档与所述问题文本Q的相似度得分;qi表征所述问题文本Q中的第i个分词;NLP_(qi)表征所述第一自然语言处理模型针对分词qi输出的重要性预测结果;fi表征所述分词qi在所有候选文档中出现的频率;dl表征所述第d个候选文档的长度;avgdl表征所有候选文档的平均长度;k1、b均为调节因子。
6.根据权利要求1所述的方法,其特征在于,所述候选文档的数量为M个,M为大于1的整数;
所述根据所述相似度得分,对所述候选文档进行召回处理,得到召回文档,包括:
从所述M个候选文档中选取相似度得分最高的J个候选文档作为召回文档,J为大于1且小于M的整数。
7.根据权利要求6所述的方法,其特征在于,在所述从所述M个候选文档中选取相似度得分最高的J个候选文档作为召回文档之后,所述方法还包括:
采用预训练好的第二自然语言处理模型对J个召回文档分别进行得分预测,得到每个召回分档的得分;
基于每个召回分档的得分对J个召回文档进行排序,以将排序后的J个召回文档作为文档检索结果推送给所述用户。
8.根据权利要求7所述的方法,其特征在于,所述第二自然语言处理模型的预训练过程包括:
构建第二训练样本集合,所述第二训练样本集合包括多个第二训练样本,每个第二训练样本包括第二样本问题文本、多个样本文档和第二标签集合,所述第二标签集合包括各个样本文档的标注得分;
基于所述第二训练样本集合执行如下第一预训练过程:
将每个所述第二训练样本中的第二样本问题文本与多个样本文档拼接后,输入至所述第二自然语言处理模型中,得到各个所述第二训练样本的预测得分集合;
根据各个所述第二训练样本的预测得分集合和第二标签集合,确定所述第二自然语言处理模型的第二损失值;
在所述第二损失值满足预设的第二训练结束条件情况下,结束所述第一预训练过程;
在所述第二损失值不满足所述预设的第二训练结束条件的情况下,对所述第二自然语言处理模型的模型参数进行调整,并基于所述第二训练样本集合对调整后的模型继续继续执行所述第一预训练过程。
9.根据权利要求8所述的方法,其特征在于,每个所述第二训练样本还包括第三标签集合,所述第三标签集合包括各个样本文档的第二标注标签,所述第二标注标签用于表征所述样本文档与所述第二样本问题文本的相关性;
在所述第一预训练过程之前,所述第二自然语言处理模型的预训练过程还包括基于所述第二训练样本集合执行如下第二预训练过程:
将每个所述第二训练样本中的第二样本问题文本与多个样本文档拼接后,输入至所述第二自然语言处理模型中,得到各个所述第二训练样本的相关性预测结果集合;
根据各个所述第二训练样本的所述相关性预测结果集合和所述第三标签集合,确定所述第二自然语言处理模型的第三损失值;
在所述第三损失值满足预设的第三训练结束条件情况下,结束所述第二自然语言处理模型的第二预训练过程;
在所述第三损失值不满足所述预设的第三训练结束条件的情况下,对所述第二自然语言处理模型的模型参数进行调整,并基于所述第二训练样本集合对调整后的模型继续执行所述第二预训练过程。
10.根据权利要求8或9所述的方法,其特征在于,每个所述第二训练样本中的样本文档包括多个正样本文档,所述正样本文档具有最高的标注得分;
所述第一预训练过程包括正向训练过程,所述正向训练过程包括:
将每个所述第二训练样本中的第二样本问题文本与多个正样本文档拼接后,输入至所述第二自然语言处理模型中,得到各个所述第二训练样本的正向预测得分集合;
根据各个所述第二训练样本的正向预测得分集合和最高的标注得分,确定所述第二自然语言处理模型的正向损失值;
在所述正向损失值满足预设的正向训练结束条件情况下,结束所述正向训练过程;
在所述正向损失值不满足所述预设的正向训练结束条件的情况下,对所述第二自然语言处理模型的模型参数进行调整,并基于所述第二训练样本集合对调整后的模型继续继续执行所述正向训练过程。
11.根据权利要求10所述的方法,其特征在于,每个所述第二训练样本中的样本文档包括多个负样本文档,所述负样本文档具有最低的标注得分;
所述第一预训练过程还包括负向训练过程,所述负向训练过程包括:
将每个所述第二训练样本中的第二样本问题文本与多个负样本文档拼接后,输入至所述第二自然语言处理模型中,得到各个所述第二训练样本的负向预测得分集合;
根据各个所述第二训练样本的负向预测得分集合和最低的标注得分,确定所述第二自然语言处理模型的负向损失值;
在所述负向损失值满足预设的负向训练结束条件情况下,结束所述负向训练过程;
在所述负向损失值不满足所述预设的负向训练结束条件的情况下,对所述第二自然语言处理模型的模型参数进行调整,并基于所述第二训练样本集合对调整后的模型继续继续执行所述负向训练过程。
12.根据权利要求11所述的方法,其特征在于,所述采用预训练好的第二自然语言处理模型对J个召回文档分别进行得分预测,得到每个召回分档的得分,包括:
将所述问题文本与J个召回文档拼接后,输入至所述第二自然语言处理模型中,得到召回文档的预测得分集合,从所述预测得分集合确定每个召回分档的得分。
13.一种基于BM25算法的文档检索装置,其特征在于,包括:
接收模块,用于接收用户输入的业务问题,得到问题文本;
第一处理模块,用于将所述问题文本输入至预训练好的第一自然语言处理模型,以通过所述第一自然语言处理模型获得所述问题文本中每个分词的重要性预测结果;
第二处理模块,用于获取预先设置的多个候选文档和各个所述候选文档的文档参数,针对每个所述候选文档,分别基于BM25算法对所述候选文档的文档参数和所述问题文本中每个分词的重要性预测结果进行处理,得到所述候选文档与所述问题文本的相似度得分;
召回模块,用于根据所述相似度得分,对所述候选文档进行召回处理,得到召回文档;
推送模块,用于将所述召回文档作为文档检索结果推送给所述用户。
14.一种电子设备,其特征在于,所述电子设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1至12中任一项所述的基于BM25算法的文档检索方法的步骤。
15.一种存储介质,所述存储介质为计算机可读存储介质,用于计算机可读存储,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1至12中任一项所述的基于BM25算法的文档检索方法的步骤。
CN202210151143.7A 2022-02-14 2022-02-14 基于bm25算法的文档检索方法、装置、设备及介质 Pending CN114490949A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210151143.7A CN114490949A (zh) 2022-02-14 2022-02-14 基于bm25算法的文档检索方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210151143.7A CN114490949A (zh) 2022-02-14 2022-02-14 基于bm25算法的文档检索方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN114490949A true CN114490949A (zh) 2022-05-13

Family

ID=81482815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210151143.7A Pending CN114490949A (zh) 2022-02-14 2022-02-14 基于bm25算法的文档检索方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN114490949A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080717A (zh) * 2022-06-02 2022-09-20 特赞(上海)信息科技有限公司 基于文本理解推理的问答方法和系统
CN115910213A (zh) * 2022-10-26 2023-04-04 广州金域医学检验中心有限公司 人类表型本体的筛选方法、装置、设备及介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080717A (zh) * 2022-06-02 2022-09-20 特赞(上海)信息科技有限公司 基于文本理解推理的问答方法和系统
CN115910213A (zh) * 2022-10-26 2023-04-04 广州金域医学检验中心有限公司 人类表型本体的筛选方法、装置、设备及介质
CN115910213B (zh) * 2022-10-26 2023-12-29 广州金域医学检验中心有限公司 人类表型本体的筛选方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
US20230100376A1 (en) Text sentence processing method and apparatus, computer device, and storage medium
CN113792818B (zh) 意图分类方法、装置、电子设备及计算机可读存储介质
CN111753060A (zh) 信息检索方法、装置、设备及计算机可读存储介质
CN111159485B (zh) 尾实体链接方法、装置、服务器及存储介质
CN113887215A (zh) 文本相似度计算方法、装置、电子设备及存储介质
CN114490949A (zh) 基于bm25算法的文档检索方法、装置、设备及介质
CN114722069A (zh) 语言转换方法和装置、电子设备及存储介质
CN114626097A (zh) 脱敏方法、脱敏装置、电子设备及存储介质
CN114595327A (zh) 数据增强方法和装置、电子设备、存储介质
CN114298287A (zh) 基于知识蒸馏的预测方法和装置、电子设备、存储介质
CN114358201A (zh) 基于文本的情感分类方法和装置、计算机设备、存储介质
CN114240552A (zh) 基于深度聚类算法的产品推荐方法、装置、设备及介质
CN114359810A (zh) 视频摘要生成方法、装置、电子设备及存储介质
CN114510570A (zh) 基于小样本语料的意图分类方法、装置及计算机设备
CN116258137A (zh) 文本纠错方法、装置、设备和存储介质
CN115640394A (zh) 文本分类方法、文本分类装置、计算机设备及存储介质
CN114897060A (zh) 样本分类模型的训练方法和装置、样本分类方法和装置
CN114691864A (zh) 文本分类模型训练方法及装置、文本分类方法及装置
CN114492661A (zh) 文本数据分类方法和装置、计算机设备、存储介质
CN114841146A (zh) 文本摘要生成方法和装置、电子设备及存储介质
CN114398903B (zh) 意图识别方法、装置、电子设备及存储介质
CN115510232A (zh) 文本语句分类方法和分类装置、电子设备及存储介质
CN114090778A (zh) 基于知识锚点的检索方法、装置、电子设备及存储介质
CN115017886A (zh) 文本匹配方法、文本匹配装置、电子设备及存储介质
CN114998041A (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