掌桥专利:专业的专利平台
掌桥专利
首页

一种面向长文档的自动化提示生成方法、装置及存储介质

文献发布时间:2024-07-23 01:35:21


一种面向长文档的自动化提示生成方法、装置及存储介质

技术领域

本发明涉及人工智能和自然语言处理技术,特别是涉及一种面向长文档的自动化提示生成方法、装置及存储介质。

背景技术

近年来,大规模预训练语言模型如BERT、GPT等在各类自然语言处理任务上取得了显著成果。这类模型通过在大规模无标注文本语料上进行自监督预训练,可以习得丰富的语言知识。将预训练模型应用到下游任务时,一般采用提示工程(Prompt Engineering)的范式,即将任务输入转化为一定格式的提示(Prompt),引导模型进行特定任务。

现有的生成提示词的方法大多针对普通的任务和场景,尤其是面向一些长文档(例如政策文件)的回答时存在检索质量不高,导致缺乏有效的检索结果。

发明内容

为了解决上述背景技术中存在的技术问题,本发明提供一种面向长文档的自动化提示生成方法、装置及存储介质,旨在有助于大幅度提升检索的精度和准确性,从而提高检索质量,以得到有效的检索结果。

为了实现上述技术方案,第一方面,本发明提供了一种智能自适应检索增强系统,包括:

步骤一:获取三元组评估数据集中的所有问题;

步骤二:手动输入或自动生成提示词,并根据提示词改写获取到的所有问题;

步骤三:针对改写后的问题,采用稀疏性感知匹配机制进行检索和排序,以得到检索结果;

步骤四:将获取的问题与检索结果进行匹配,并计算匹配正确率;

步骤五:若匹配正确率高于预设阈值时,则直接输出提示词;若匹配正确率不高于预设阈值时,则返回步骤二自动生成提示词。

进一步地,所述步骤一之前还包括:

收集各领域的无标注文本语料并将收集到无标注文本语料存储到数据库中;

基于收集的无标注文本语料构建由问题、标准答案标题和标准答案文档片段组成的三元组评估数据集。

进一步地,所述步骤二包括:采用基于模板的方法自动生成提示词或基于强化学习的方法自动生成提示词。

进一步地,所述步骤四包括:

采用稀疏性感知的相似度函数计算稀疏性匹配度检索分数:

其中,Q是改写后的原始问题;q

f(q

另一方面,本发明提供了一种面向长文档的自动化提示生成装置,包括:

检索增强模块, 针对改写后的问题,采用稀疏性感知匹配机制进行检索和排序,以得到检索结果;

提示生成模块,用于改写问题和基于错误匹配结果自动生成提示词;

评估优化模块,用于将改写的问题与检索结果配对,计算文档匹配的正确率,并将错误匹配结果反馈给提示生成模块。

进一步地,还包括:

数据库:用于存储所收集的无标签文本语料;

三组评估数据集构建模块,用于构建由问题、标准答案标题和标准答案文档片段组成的三元组评估数据集。

又另一方面,本发明提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行以上所述的面向长文档的自动化提示生成方法。

本发明的有益效果在于:

本发明通过手动设置提示词和自动生成提示词,通过提示词对问题进行改写,使得能够更好地刻画问题和用户的真实意图,有助于提高检索的精度和准确性,并且在检索过程中,采用稀疏性感知的匹配机制有助于在标准答案稀疏分布的情况下,避免遗漏与原始问题匹配度较低但实际相关度很高的一些关键文档,从而进一步大幅度提升检索的精度和准确性,且有助于提高检索质量,进而得到有效的检索结果。

附图说明

构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1为本发明的一种面向长文档的自动化提示生成方法的流程图。

具体实施方式

下面结合附图与实施例对本发明作进一步说明。

应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本实施例使用的每个技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

在本发明中,术语如“上”、“下”、“左”、“右”、“前”、“后”、“竖直”、“水平”、“侧”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,只是为了便于叙述本发明各部件或元件结构关系而确定的关系词,并非特指本发明中任一部件或元件,不能理解为对本发明的限制。

本发明中,术语如“固接”、“相连”、“连接”等应做广义理解,表示可以是固定连接,也可以是一体地连接或可拆卸连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的相关科研或技术人员,可以根据具体情况确定上述术语在本发明中的具体含义,不能理解为对本发明的限制。

需要说明的是,本发明中涉及的模型有三类,第一类就是语义向量模型,作用是将自然语言转换为计算机可以进行数值计算的向量,目前选用的是BGE-M3,它是一个开源模型。第二类是语义大模型(大语言模型,英文是LLM,large language model),作用是输入问题,直接根据问题输出回答,在专利中用于输出目前选用的是Qwen1.5-72B-Chat模型,是一个开源模型。第三类是主题模型(LDA),作用是概括文档的主题,目前选用Gensim,它是一款开源的第三方Python库。

实施例1:

本实施例提供了一种智能自适应检索增强方法,包括以下步骤:

S1:收集各领域的无标注文本语料并将收集到的无标注文本语料存储到数据库中。

具体地,无标注文本语料包括各种文档,每个文档均具有文档标题和多个文档片段。

利用所收集的无标注文本语料对语义向量模型进行微调和增强,并在语义向量模型将无标注文本语料转换为计算机可进行数值计算的向量并存储到数据库之前,通过主题模型对无标注文本语料进行主题建模,以对无标注文本语料进行主题划分。其中,对无标注文本语料进行主题建模,实质上是根据每个文档的内容进行主题划分,以获取每个文档的主题分类,比如,农业主题、科技主题和文化主题等。

语义向量模型可以采用智源发布的通用语义向量模型BGE-M3,该模型集多语言、多粒度、多功能三大技术特征于一体,极大提升了语义向量模型的实用性。

主题模块可以采用LDA(Latent Dirichlet Allocation)模型,利用概率分布的形式推测各文档的主题分类。

S2:基于收集的无标注文本语料,构建由问题、标准答案标题和标准答案文档片段组成的三元组评估数据集。

为了便于理解和说明,三元组评估数据集中的问题记为原始问题。其中,三元组评估数据集中至少包括2条以上的原始问题,标准答案标题和标准答案文档片段与每条原始问题一一对应。

需要说明的是,收集到的无标注文本语料的文档中应包括:所建立的三元组评估数据集中每个问题至少对应一个具有所对应的标准答案标题的文档并且该文档具有标准答案文档片段。

S3:手动设置提示词。

通过语义大模型手动设置提示词。

S4:根据手动设置的提示词对三元组评估数据集中的原始问题进行改写。

具体地,提示生成模块根据通过语义大模型手动设置的提示词,并根据提示词自动改写原始问题。

S5:根据改写后的原始问题进行检索,以生成检索结果。

具体地,检索增强模块从数据库中逐一检索出改写后的原始问题中与其每一个改写后的原始问题相匹配的文档,作为检索结果,步骤如下:

a)计算改写后的原始问题与文档的语义相似度、主题相关性和稀疏性匹配度等多个检索分数,然后使用加权求和的学习排序模型,根据计算出的检索分数计算出改写后的原始问题与文档的综合相关度。

其中,语义相似度检索分数Ssem:使用预训练的语义向量模型BGE-M3,计算改写后的原始问题与文档在语义空间中的相似度,具体地计算公式如下:

Ssem=cos(vec(Q ),vec(D))= (vec(Q )·vec(D))/(||vec(Q )||·||vec(D)||)

其中,vec(Q )和vec(D)是将改写后的原始问题Q和文档D经过语义向量模型BGE-M3进行转换得到的向量,cos代表余弦相似度,||vec(Q )||和||vec(D)||分别表示向量vec(Q )和vec(D)的L2范数。

b)主题相关性检索分数Sstopic:使用主题模型如LDA,计算原始问题与文档在主题空间中的相关度。

具体地,假设主题空间包含K个主题,那么Q(改写后的原始问题)和D(文档)在主题空间的表示可以写作prob(Q)=[p(t1|Q)...,p(tK|Q)]和prob(D)=[p(t1|D),...,p(tK|D)],其中,K为大于等于1的整数;p(ti|Q)和p(ti|D)分别表示第i个主题ti在Q和D中的概率,其中,i为整数且1≤i≤K,比如,主题空间包含三个主题,分别记为第一主题(t1),第二主题(t2)和第三主题(t3),则Q和D在主题空间的表示可以分别写作prob(Q)=[p(t1|Q), p(t2|Q),p(t3|Q)]和prob(D)=[p(t1|D), p(t2|D),p(t3|D)];其中,p(t2|Q)表示第二主题在Q中的概率,p(t2|D)表示第二主题在D中的概率。

主题相关性检索分数Stopic的计算公式如下:

Stopic=cos(prob(Q ),prob(D))=(prob(Q )·prob(D))/(||prob(Q )||·||prob(D)||)

其中||prob(Q)||和||prob(D)||分别表示prob(Q)和prob(D)的L2范数。

需要说明的是,prob(D)在之前利用概率分布的形式推测各文档的主题分类中已经计算完毕,所以可以提前将这一部分数据储存在数据库中,只要实时计算prob(Q )的值就行。

c)稀疏性匹配度检索分数Ssparse:使用比如BM25等稀疏性感知的相似度函数,计算稀疏性匹配度检索分数,具体公式如下:

其中,Q是改写后的原始问题;q

f(q

d)使用加权求和等学习排序模型,计算改写后的原始问题与文档的综合相关度S,具体公式如下:

其中,S为改写后的原始问题与文档的相关度,λ

e)排序模型根据计算出的改写后的原始问题与文档的综合相关度,对检索出的文档进行排序,将综合相关度最大的文档作为检索结果,通过逻辑回顾模型对检索结果进行训练,得到最优的语义相似度的权重系数

其中,S为改写后的原始问题与文档的相关度;σ(S)是sigmoid函数,N是训练样本的数量,y

需要说明的是,

S6:基于检索结果,判断原始问题与检索结果的匹配正确率是否高于预设阈值,若是,则直接输出提示词,若否,则根据错误匹配结果,自动生成提示词并返回S4。

具体地,评估优化模块根据自定义的三元组评估数据集中原始问题与标准答案标题和标准答案片段的对应关系,评估检索结果与原始问题相匹配的正确率。

若匹配正确率高于预设阈值时,则优化评估模块输出提示生成模块生成的提示词,其中,输出的提示词是指通过该提示词检索到的检索结果满足匹配率高于预设阈值时的提示词。

若匹配正确率不高于预设阈值时,则将错误匹配的结果反馈至提示生成模块,提示词生成模块基于反馈结果,自动生成提示词。其中,错误匹配结果包括未正确匹配到检索结果的原始问题以及检索到的错误检索结果。

比如,原始问题为小麦生长过程,标准答案标题是关于小麦生长的研究报告,标准答案片段是小麦从种子萌发、出苗、生根、长叶、拔节、孕穗、抽穗、开花、结实,经过一系列生长发育过程。

而检索结果是,文档标题为关于小麦生成的研究报告;片段为生产上根据小麦不同阶段的生育特点,为了便于栽培管理,可把小麦的一生划分为12个生育时期。该检索结果则认为是匹配错误,则将问题(即小麦生长过程)以及检索到结果(文档标题即关于小麦生成的研究报告和片段即生产上根据小麦不同阶段的生育特点,为了便于栽培管理,可把小麦的一生划分为12个生育时期)反馈至提示生成模块。

其中,需要说明的是,以上检索到结果若为以下内容,也认为是错误匹配:文档标题为关于小麦开花的研究报告;片段为生产上根据小麦不同阶段的生育特点,为了便于栽培管理,可把小麦的一生划分为12个生育时期。

比如,所构建的三元组评估数据集中有50条原始问题,则对应50条标准答案标题和50个标准答案文档片段,若预设阈值为98%,如果其中49条原始问题匹配到标准答案和标准答案文档片段,则直接输出提示词,如果仅有其中47条原始问题匹配到标准答案和标准答案文档片段,则将未匹配到标准答案和标准答案文档片段的3条原始问题,以及检索出的该3条原始问题中的每个问题对应的检索结果反馈至提示生成模块。

其中,自动生成提示词的具体步骤如下:

将错误匹配的结果反馈至提示生成模块,提示生成模块将与错误匹配结果作为监督信号,来微调语义大模型,使得语义大模型自动生成提示词之后,跳转到步骤S4。

需要说明的是,语义大模型可以采用基于模板的方法和基于强化学习的方法自动生成提示词。

基于模块的方法:利用预定义的模板对获取到的问题进行结构化改写。由于模板预先设计好一系列固定格式,能够涵盖各种常见问题类型。比如,预定义模块如 “请根据用户提供的[query]提取用户关注的核心领域,……”。其中,query是获取到的问题,具体地,若query为“智能机器人发展历程”基于以上模块的方法改写后的问题为:请根据用户提供的[智能机器人发展历程]提取用户关注的核心领域,智能机器人。基于模块的方法自动生成提示词具有高度的稳定性和一致性,能够保证改写后的问题格式统一。

基于强化学习的方法:将提示词生成看作一个序列决策任务。语义大模型作为策略网络,根据输入问题生成提示词序列。通过评估生成的提示词在实际任务中的效果,如改写后的问题的检索结果是否匹配原始意图,来优化策略网络的参数,通过不断试错和反馈,使语义大模型学会生成高质量的提示词。

进一步地,根据三元组评估数据集中标准答案标题和标准答案文档片段的数量以及实际存在需要检索的文档数量,来对三元组评估数据集中进行增强,生成等价表达变体。比如,政策文档10000个(包含标题和文档片段),评估数据集只有100条标准答案标题和标准答案文档片段,为了检索的准确性,需要将评估数据集中的标准答案标题和标准答案文档片段扩充到至少1000条。其方法是,对这100条的标准答案标题和标准答案文档片段进行改写,生成等价的表达变体,然后送入数据库。然后再对标准答案标题和标准答案文档片段进行切分和噪声注入等,产生多个片段,也送入数据库。由此将数据库中的三元数据集的标准答案标题和标准答案文档片段扩充到10000条以上。

本实施例通过手动设置提示词和自动生成提示词,通过提示词对问题进行改写,使得能够更好地刻画问题和用户的真实意图,有助于提高检索的精度和准确性,并且在检索过程中,采用稀疏性感知的匹配机制有助于在标准答案稀疏分布的情况下,避免遗漏与原始问题匹配度较低但实际相关度很高的一些关键文档,进一步确保了检索的精度和准确性。

实施例2:

本实施例提供了一种面向长文档的自动化提示生成装置,包括:

数据库,用于存储所收集的无标签文本语料。

三组评估数据集构建模块,用于构建由问题、标准答案标题和标准答案文档片段组成的三元组评估数据集。

检索增强模块, 针对改写后的问题,采用稀疏性感知匹配机制进行检索和排序,以得到检索结果;

提示生成模块,用于改写问题和基于错误匹配结果自动生成提示词;

评估优化模块,用于将改写的问题与检索结果配对,计算文档匹配的正确率,并将错误匹配结果反馈给提示生成模块。

进一步地,该面向长文档的自动化提示生成装置还涉及三类模型:

第一类就是语义向量模型,作用是将自然语言转换为计算机可以进行数值计算的向量,目前选用的是BGE-M3,它是一个开源模型。

第二类是语义大模型(大语言模型,英文是LLM,large language model),作用是输入问题,直接根据问题输出回答,在专利中用于输出目前选用的是Qwen1.5-72B-Chat模型,是一个开源模型。

第三类是主题模型(LDA),作用是概括文档的主题,目前选用Gensim,它是一款开源的第三方Python库。

实施例3:

本实施例提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行实施例2所述的一种智能自适应检索增强方法。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,需要说明的是,附图中的流程图显示了本公开实施例的方法,在附图中的流程图或框图中所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,他们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种文档生成方法、装置、服务器和存储介质
  • 一种提示信息生成方法、装置、设备及存储介质
  • 印尼语文档摘要生成方法、装置、存储介质及终端设备
  • 一种在线文档检索方法、装置、存储介质及电子设备
  • 一种服务器的信息提示方法、装置及存储介质
  • 文档自动化生成方法、装置及计算机存储介质、电子设备
  • 文档自动化生成方法、装置及计算机存储介质、电子设备
技术分类

06120116678651