CN117708308B - 一种基于rag自然语言智能知识库管理的方法和系统 - Google Patents

一种基于rag自然语言智能知识库管理的方法和系统 Download PDF

Info

Publication number
CN117708308B
CN117708308B CN202410170390.0A CN202410170390A CN117708308B CN 117708308 B CN117708308 B CN 117708308B CN 202410170390 A CN202410170390 A CN 202410170390A CN 117708308 B CN117708308 B CN 117708308B
Authority
CN
China
Prior art keywords
corpus
language
natural language
chunks
query request
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
CN202410170390.0A
Other languages
English (en)
Other versions
CN117708308A (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.)
Sichuan Rongcheng Leiming Technology Co ltd
Original Assignee
Sichuan Rongcheng Leiming 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 Sichuan Rongcheng Leiming Technology Co ltd filed Critical Sichuan Rongcheng Leiming Technology Co ltd
Priority to CN202410170390.0A priority Critical patent/CN117708308B/zh
Publication of CN117708308A publication Critical patent/CN117708308A/zh
Application granted granted Critical
Publication of CN117708308B publication Critical patent/CN117708308B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • 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
    • 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/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/041Abduction
    • 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
    • G06N3/092Reinforcement learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本说明书实施例提供一种基于RAG自然语言智能知识库管理的方法和系统。所述方法包括:获取用户的自然语言查询请求;基于自然语言查询请求,通过第一特征提取模型确定自然语言查询请求对应的目标特征向量,第一特征提取模型为嵌入模型;基于目标特征向量,在向量化语料库中匹配一个或多个关联语料块,向量化语料库基于若干语料块构建;基于一个或多个关联语料块,通过语言生成模型生成回答文本,语言生成模型为大语言模型;将回答文本显示给所述用户。

Description

一种基于RAG自然语言智能知识库管理的方法和系统
技术领域
本说明书涉及数据处理技术领域,特别涉及一种基于RAG自然语言智能知识库管理的方法和系统。
背景技术
关于知识库的信息处理大多基于关键词匹配或基于文档链接的知识库检索方式,存在用户体验不佳、知识录入维护复杂、答案呈现缺乏整合性和逻辑性的问题。检索增强生成(Retrieval-Augmented Generation, RAG)是一种利用来自私有或专有数据源的信息来补充文本生成的技术。RAG能够搜索大型数据集或知识库的检索模型与大语言模型等生成模型相结合,大语言模型获取信息并生成可读的文本响应。
因此,希望提供一种基于RAG自然语言智能知识库管理的方法和系统,简化知识库的维护同时提供更友好、更逻辑化的答案呈现,从而弥补传统知识库存在的不足之处。
发明内容
为了解决传统知识库的信息处理中存在的用户体验不佳、知识录入维护复杂、答案呈现缺乏整合性和逻辑性的问题,本说明书提供一种基于RAG自然语言智能知识库管理的方法和系统。
本说明书一个或多个实施例提供一种基于RAG自然语言智能知识库管理的方法。所述方法包括:获取用户的自然语言查询请求;基于所述自然语言查询请求,通过第一特征提取模型确定所述自然语言查询请求对应的目标特征向量,所述第一特征提取模型为嵌入模型;基于所述目标特征向量,在向量化语料库中匹配一个或多个关联语料块,所述向量化语料库基于若干语料块构建;基于所述一个或多个关联语料块,通过语言生成模型生成回答文本,所述语言生成模型为大语言模型;将所述回答文本显示给所述用户。
本说明书一个或多个实施例提供一种基于RAG自然语言智能知识库管理的系统。所述系统包括:获取模块,被配置为获取用户的自然语言查询请求;确定模块,被配置为基于所述自然语言查询请求,通过第一特征提取模型确定所述自然语言查询请求对应的目标特征向量,所述第一特征提取模型为嵌入模型;匹配模块,被配置为基于所述目标特征向量,在向量化语料库中匹配一个或多个关联语料块,所述向量化语料库基于若干语料块构建;文本生成模块,被配置为基于所述一个或多个关联语料块,通过语言生成模型生成回答文本,所述语言生成模型为大语言模型;显示模块,被配置为将所述回答文本显示给所述用户。
本说明书一个或多个实施例提供一种基于RAG自然语言智能知识库管理装置,包括处理器,所述处理器用于执行本说明书任一实施例所述的基于RAG自然语言智能知识库管理的方法。
本说明书一个或多个实施例提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行本说明书任一实施例所述的基于RAG自然语言智能知识库管理的方法。
本说明书实施例的有益效果包括但不限于:(1)通过基于大语言模型的语义理解技术,利用检索增强生成技术建立向量化语料库索引,以自然语言问答的形式提供信息查询与整合,可以在简化知识库的维护同时提供更友好、更逻辑化的答案呈现;(2)相比于传统知识库需要自行编辑问答对,将文档拆解为语料块,通过向量化语料库进行检索,可以将知识的录入和维护大大简化;(3)将文档划分成若干子语料块,然后对子语料块进行预处理操作,再预处理后的若干语料块转换为词嵌入向量,并组合形成向量化语料库,有助于构建一个用于后续查询匹配的向量化语料库;(4)通过大语言模型的总结归纳能力,将用户需要查找的信息整合成具有格式的段落,通过有逻辑的方式呈现答案,使得用户更快找到有用信息。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的基于RAG自然语言智能知识库管理系统的示例性模块图;
图2是根据本说明书一些实施例所示的基于RAG自然语言智能知识库管理方法的示例性流程;
图3是根据本说明书一些实施例所示的构建向量化语料库的示例性流程图;
图4是根据本说明书一些实施例所示的匹配关联语料块的示例性流程图;
图5是根据本说明书一些实施例所示的生成回答文本的示例性流程图;
图6是根据本说明书一些实施例所示的语言生成模型的示例性示意图。
附图标记说明:100、基于RAG自然语言智能知识库管理系统;110、获取模块;120、确定模块;130、匹配模块、140、文本生成模块;150、显示模块;610、相关语料块;620、语言生成模型;620-1、背景特征提取层;620-2、回答生成层;630、语义背景特征;640、关联语料块;650、回答文本。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据本说明书一些实施例所示的基于RAG自然语言智能知识库管理系统的示例性模块图。
在一些实施例中,基于RAG自然语言智能知识库管理系统100可以包括获取模块110、确定模块120、匹配模块130、文本生成模块140、和显示模块150。
获取模块110,被配置为获取用户的自然语言查询请求。
确定模块120,被配置为基于自然语言查询请求,通过第一特征提取模型确定自然语言查询请求对应的目标特征向量,所述第一特征提取模型为嵌入模型。
匹配模块130,被配置为基于目标特征向量,在向量化语料库中匹配一个或多个关联语料块,所述向量化语料库基于若干语料块构建。
在一些实施例中,基于RAG自然语言智能知识库管理系统100还可以包括语料库构建模块,所述语料库构建模块被配置为:将存储的文档划分为若干子语料块;对若干子语料块进行预处理操作,获取预处理后的若干语料块;基于第二特征提取模型,将预处理后的若干语料块中的每个语料块转换为对应的词嵌入向量,所述第二特征提取模型为嵌入模型;将每个语料块以及对应的词嵌入向量进行组合,形成向量化语料库。
在一些实施例中,匹配模块130进一步被配置为从自然语言查询请求中提取元信息;基于元信息,在向量化语料库中进行预筛选,得到预筛选的语料块集合;基于匹配算法,在预筛选的语料块集合进行匹配,确定预筛选的语料块集合中每个语料块与自然语言查询请求的相似度;基于每个语料块与自然语言查询请求的相似度,确定一个或多个关联语料块。
文本生成模块140,被配置为基于一个或多个关联语料块,通过语言生成模型生成回答文本,所述语言生成模型为大语言模型。在一些实施例中,语言生成模型包括背景特征提取层以及回答生成层,文本生成模块140进一步被配置为:基于余弦相似度在向量化语料库中确定与一个或多个关联语料块相关的相关语料块;将相关语料块输入背景特征提取层,得到语义背景特征;将语义背景特征与一个或多个关联语料块输入回答生成层,生成与自然语言查询请求相关的所述回答文本。
显示模块150,被配置为将回答文本显示给用户。
在一些实施例中,基于RAG自然语言智能知识库管理系统100可以集成到处理器中。处理器可以处理从其他设备或系统组成部分中获得的数据和/或信息。处理器可以基于这些数据、信息和/或处理结果执行程序指令,以执行一个或多个本申请中描述的功能。仅作为示例,处理器可以包括中央处理器(CPU)、专用集成电路(ASIC)等或以上任意组合。
应当理解,图1所示的系统及其模块可以利用各种方式来实现。
需要注意的是,以上对于基于RAG自然语言智能知识库管理系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。在一些实施例中,图1中披露的获取模块、确定模块、匹配模块、文本生成模块、和显示模块可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
图2是根据本说明书一些实施例所示基于RAG自然语言智能知识库管理方法的示例性流程图。在一些实施例中,流程200可以由基于RAG自然语言智能知识库管理系统100执行。如图2所示,流程200包括下述步骤:
步骤S210,获取用户的自然语言查询请求。
自然语言查询请求是用户使用自然语言提出的询问、要求或指令。自然语言查询请求是用户与人机交互系统进行交互时表达的方式。用户可以通过与人机交互系统实时交谈,实现不同的要求,从而解决遇到的各个方面的问题。例如,用户可以与机器人客服进行交互,以获取各种问题的答案或实现要求。
在一些实施例中,获取模块110可以通过用户输入获取自然语言查询请求。当用户提出询问、要求、或指令时,用户可以通过人机交互端口(例如,用户终端)输入自然语言查询请求。在一些实施例中,用户输入自然语言查询请求的方式可以是多种多样的。例如,可以包括文字、语音等形式。获取模块110可以将语音形式的输入内容语音转换为文字作为自然语言查询请求。
步骤S220,基于自然语言查询请求,通过第一特征提取模型确定自然语言查询请求对应的目标特征向量。
目标特征向量是一种数学表示。自然语言查询请求对应的目标特征向量可以在向量空间中编码自然语言查询请求的语义信息和重要特征。在向量空间中,文本被表示为向量,每个维度对应于文本的一个特征(例如词语、短语或其他语言单位)。
在一些实施例中,确定模块120可以通过第一特征提取模块确定自然语言查询请求对应的目标特征向量。其中,第一特征提取模型为机器学习模型,例如,卷积神经网络模型等。
在一些实施例中,第一特征提取模型可以包括嵌入模型,嵌入模型可以将数据作为输入并返回数据的数字表示。第一特征提取模型的输入可以包括自然语言查询请求,输出可以包括自然语言查询请求对应的目标特征向量。
在一些实施例中,第一特征提取模型可以通过多个第一训练样本训练得到。第一训练样本至少可以包括样本自然语言查询请求。
在一些实施例中,确定模块120可以将两个第一特征提取模型和一个比对层联合训练。确定模块120分别将两个样本自然语言查询请求输入两个第一特征提取模型并输出两个样本自然语言查询请求分别对应的两个样本目标特征向量。对比层的输入为两个第一特征提取模型的输出,对比层的输出为两个样本自然语言查询请求的相似度。
两个第一特征提取模型可以具有相同的初始参数,且参数共享,在训练中进行参数迭代更新时,所述两个第一特征提取模型的参数可以同步更新。确定模块120可以将训练好的两个第一特征提取模型中的任意一个作为步骤S220中使用的第一特征提取模型。
在一些实施例中,初始第一特征提取模型的结构可以包括嵌入模型。
步骤S230,基于目标特征向量,在向量化语料库中匹配一个或多个关联语料块。
向量化语料库是已经完成向量化的语料库。在一些实施例中,向量化语料库可以基于若干语料块构建。向量化语料库中可以存储大量语料块及语料块对应的向量。
语料块是由多个词构成的语言单位。语料块可以用于更方便地处理和分析语料库的数据。关联语料块是与目标特征向量相关的一组语料块。换句话说,关联语料块当于在向量化语料库中与目标特征向量相匹配的语料块的集合,被认为与自然语言查询请求相关的内容。
在一些实施例中,语料库构建模块可以将存储的文档划分为若干子语料块,再根据通过预处理后的若干子语料块,通过第二特征提取模型确定每个语料块对应的词嵌入向量,从而形成向量化语料库。
在一些实施例中,匹配模块130可以基于自然语言查询请求中的元信息,在向量化语料库中进行预筛选,得到预筛选的语料块集合。匹配模块130可以基于匹配算法,确定预筛选的语料块集合中每个语料块与自然语言查询请求的相似度,再基于每个语料块与自然语言查询请求的相似度,确定一个或多个关联语料块。
关于向量化语料库的更多内容可以参见图3及其相关描述,关于如何基于目标特征向量匹配关联语料块的更多内容可以参见图4及其相关描述,在此不再赘述。
步骤S240,基于一个或多个关联语料块,通过语言生成模型生成回答文本。
回答文本是由语言生成模型生成的自然语言文本,可以作为人机交互系统对用户查询的响应或回答。例如,回答文本可以包括用对查询的解释、相关信息、建议或其他方式的回应。
在一些实施例中,文本生成模块140可以通过语言生成模型生成回答文本。其中,语言生成模型为机器学习模型,例如,卷积神经网络模型等。
在一些实施例中,语言生成模型可以包括大语言模型(Large Language Model,LLM)。大语言模型是基于海量文本数据训练的深度学习模型。大语言模型不仅能够生成自然语言文本,还能够深入理解文本含义,处理各种自然语言任务,如文本摘要、问答、翻译等。
语言生成模型的输入可以包括一个或多个关联语料块,输出可以包括回答文本。
在一些实施例中,语言生成模型可以通过多个带有第二训练标签的第二训练样本训练得到。在一些实施例中,第二训练样本至少可以包括样本关联语料块,第二训练标签可以是样本关联语料块对应的回答文本。在一些实施例中,第二训练标签可以基于历史数据或实验数据进行标注。例如,通过人工标注。在一些实施例中,初始语言生成模型的结构可以包括大语言模型。
关于生成回答文本的更多内容可以参见图5和图6及其相关内容,在此不再赘述。
步骤S250,将回答文本显示给用户。
在一些实施例中,显示模块150可以通过人机交互系统将回答文本显示给用户。例如,显示模块150可以通过人机交互系统(例如,用户终端)的显示界面,显示回答文本。从而,在用户提出自然语言查询请的时候,与用户进行有效的交互。在一些实施例中,显示模块150可以通过文本或语音的方式将回答文本显示给用户。例如,显示模块150可以将回答文本转换为回答语音,并通过扬声装置使用户获得回答文本的信息。
在本说明书实施例中,通过基于大语言模型的语义理解技术,利用检索增强生成技术建立向量化语料库索引,以自然语言问答的形式提供信息查询与整合,可以在简化知识库的维护同时提供更友好、更逻辑化的答案呈现。
应当注意的是,上述有关流程200描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程200进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图3是根据本说明书一些实施例所示的构建向量化语料库的示例性流程图,在一些实施例中,流程300可以由基于RAG自然语言智能知识库管理系统100执行。如图3所示,流程300包括下述步骤:
步骤S310,将存储的文档划分为若干子语料块。
存储的文档是建立向量化语料库的文本基础,可以通过相关历史数据获取。子语料块是存储的文档的一小部分,可以通过对文档进行划分获得。相关历史数据可以是与人工交互系统相关的数据,存储的文档可以包括任意用户可能提出的自然语言查询请求相关的文档。
在一些实施例中,语料库构建模块可以首先对存储的文档执行文档读取以及文字提取。
文档读取是使用自然语言处理(Natural Language Processing,NLP)相关的库或工具对文档进行理解、分析和处理的过程。文档读取可以根据文档的格式选择适当的读取方法。NLP相关的库或工具可以包括,自然语言处理工具包(Natural Language Toolkit,NLTK)、自然语言处理库(Spacy)等。在文档读取过程中,语料库构建模块可以获取文档的基本信息,例如文档标签、作者信息等。
文字提取是利用NLP工具从文档中提取纯文本内容的处理过程。文字提取过程可以包括提取文档的正文部分和文档的结构信息,例如,标题、段落等。在文字提取过程中,语料库构建模块可以将文档读取过程获取的基本信息(例如,文档标签、作者信息等)作为元信息嵌入到文本中。其中,元信息是指与文本内容相关的附加信息。元信息可以包括但不限于文档的标题、作者、创建日期、标签等。
在一些实施例中,语料库构建模块可以按照切分单位对文档进行切分。切分单位是设定的对文档进行切分的单位。切分单位可以包括单句子、相邻的多句子、段落以及其他语义单元等。在一些实施例中,在切分过程中,语料库构建模块可以通过标记化元信息确保每一个切分单元中嵌入了元信息。语料库构建模块可以将文档读取过程获取的基本信息标记化,例如使用特殊标记或占位符,以便在文本中标记元信息的位置。
仅作为示例,每个基本信息可以定义一个唯一的标记。例如,在一篇文档的标题前插入<Title>标记,在作者名前插入<Author>标记,以确保这些标记在后续处理中可以被准确地识别和提取。这样,每个切分单元都包含了其对应的元信息,而在向量化的过程中,可以将这些元信息结合到特征向量中,以帮助更好地表示语料块。
在一些实施例中,语料库构建模块可以对每一个切分单位进行划分。语料库构建模块可以根据切分单位的不同执行不同的划分过程。当切分单位是按单句子划分,即切分单位是单句子时,语料库构建模块可以使用NLP工具(例如,句子分割器),检测句子边界,并将每个句子作为一个子语料块。当切分单位是按多句子划分,即切分单位是多句子时,语料库构建模块可以使用NLP工具(例如,句子分割器),检测句子边界,并将多个相邻的句子作为一个子语料块。当切分单位是按段落划分,即切分单位是段落时,语料库构建模块可以在文本中识别段落的标志(例如,空行或标准的段落标记),并将每个段落作为一个子语料块。
在一些实施例中,语料库构建模块还可以根据文档的时间分布信息,将存储的文档划分为若干子语料块。
在一些实施例中,对于每篇文档,语料库构建模块可以提取文档的时间分布信息。时间分布信息是指文档中与时间相关的内容。时间分布信息可以包括时间戳、日期等其他时间相关的关键词。在一些实施例中,语料库构建模块可以通过计算机代码,例如可以使用自然语言处理库中的NLTK、Spacy等提取时间分布信息。
在一些实施例中,语料库构建模块可以基于每篇文档的时间分布信息,确定每篇文档的时间窗口信息。时间窗口信息是指在时间划分中,需要额外定义的时间相关的范围。例如,每天、每周或每月等。仅作为示例,若每篇文档的时间分布信息的时间间隔较大,即一定时间范围内的文档数量较少,则对应文档的时间窗口信息可以设置较大的时间范围。
在一些实施例中,语料库构建模块可以基于每篇文档的时间窗口信息,对每篇所述文档内容进行划分,得到带有时间窗口信息的若干子语料块。在一些实施例中,语料库构建模块可以采用双重划分的方式进行划分。第一步划分为根据时间分布信息划分文档;第二步划分为在每个时间窗口内再根据之前的文档语料块划分方法(即步骤310中的划分方法),将文档划分为更小的语料块。
在本说明书实施例中,通过时间分布信息和时间窗口信息划分若干子语料块,可以确保每个时间窗口内的语料块都保持了文档的原有结构。
步骤S320,对若干子语料块进行预处理操作,获取预处理后的所述若干语料块。
预处理操作是对若干子语料块进行处理以使预处理后的所述若干语料块可以用于构建向量化语料块。在一些实施例中,预处理操作可以包括去除冗余部分、整合重叠部分和语料块转换等。
在一些实施例中,语料库构建模块可以确定若干子语料块中的重叠部分。重叠部分是相邻子语料块之间共享的部分,即在两个相邻子语料块的边界处存在的一段文本内容。重叠部分的大小可以按文字数量、语义单元结构的数量等方式设置。例如,重叠部分的大小可以设置为“1个句子”。
语料块边界是指在将文本划分为多个子语料块时,相邻子语料块之间的分隔线或边缘。语料块边界是确定语料块的开始和结束位置的界限。当按照按句子划分子语料块时,语料块边界可能在每个句子的开始和结束位置。当按段落划分子语料块时,语料块边界可能在每个段落的开始和结束位置。
重叠部分的大小是基于能够保证相邻子语料块之间的连贯性前提的条件下设置的条件。设置的重叠部分的大小需要能够避免信息断裂。在一些实施例中,重叠部分的大小可以设置成保留一定数量的共同部分,这些共同部分包含在两个相邻语料块的末尾和开头。
假设文档是按照句子划分语料块,若选择一部分句子的重叠大小为20%,那么在相邻的两个子语料块之间,最后20%的句子将与下一个语料块的开头20%的句子重叠。在一些实施例中,重叠部分的大小可以通过百分比表示,具体的百分比或句子/段落数量可以根据任务需求和文本特性确定。
仅作为示例,当划分单位为“2个相邻句子为一个语料块”,重叠部分设置为“1个句子”时,对于如下文本内容:“文章的章字,是个会意字,从音从十。古代奏音乐,连奏十段才能结束,这十段乐就是一章。所以,文章文章,也有段落。”,如果按上述划分单位以及重叠部分进行划分的话,可以划分为以下两个子语料块。第一个子语料块可以包括:“文章的章字,是个会意字,从音从十。古代奏音乐,连奏十段才能结束,这十段乐就是一章。”第二个子语料块可以包括:“古代奏音乐,连奏十段才能结束,这十段乐就是一章。所以,文章文章,也有段落。”上述两个子语料块的重叠部分就是句子“古代奏音乐,连奏十段才能结束,这十段乐就是一章”。
在一些实施例中,语料库构建模块可以根据语料块的划分形式对重叠部分进行处理,形成语料块集合。其中,重叠部分也可以算作是包含在每个语料块的内容中。
在一些实施例中,语料库构建模块可以去除若干子语料块中的冗余部分。冗余部分是指在相邻子语料块之间存在的不必要的、重复的信息,这些冗余部分可能需要被去除。冗余部分并不是特别针对重叠部分,而是为了确保整体语料块集合中没有冗余的、多余的信息。
冗余部分可能存在负面影响。例如,冗余部分可能影响任务性能。如果相邻子语料块之间的重复或冗余信息对于我们的任务产生不良影响,则需要去除冗余部分。这些冗余部分可能导致模型学到不必要的模式,从而影响性能。又例如,如果存在资源限制,希望减小语料块的总体大小,去除冗余部分可以有效减少信息量,提高处理效率。
在一些实施例中,语料库构建模块可以整合重叠部分。语料库构建模块可以将相邻子语料块之间的重叠信息进行合并,形成一个更大、连贯的语料块。整合重叠部分有助于保持上下文的连贯性,提供更多的上下文信息。例如,如果重叠部分包含了关键的、不可或缺的信息,整合重叠部分可以提供更丰富的信息。
在一些实施例中,语料库构建模块可以将若干子语料块转换为计算机能够理解和处理的形式。例如,对于每个子语料块,进行分词、去除停用词等,从而得到最终的语料块,即若干语料块。
需要说明的是,在本说明书实施例中,关于语料块的部分包括关联语料块、子语料块、相关语料块,本质都是一样的,只是获取或者划分方式不一样,因此使用了不同的名词表达方式。
在本说明书实施例中,确定重叠部分可以保持相邻语料块之间的一定重叠,以确保信息的连贯性。然而,重叠部分的存在并不意味着所有信息都是重复或冗余的,而是为了在相邻语料块之间提供更多的上下文信息,以便于理解和处理。去除冗余部分,考虑的是相邻语料块之间可能存在的重复或冗余信息。此时,可以考虑去除相邻语料块之间的一些冗余内容,确保最终的语料块集合中不包含过多的重复信息。因此,确定重叠部分和去除冗余部分并不矛盾,而是在不同的阶段考虑的问题。确定重叠部分是为了提供更多的上下文信息,而合并处理结果中的去除冗余部分是为了最终的语料块集合更加简洁和有效。
步骤S330,基于第二特征提取模型,将预处理后的若干语料块中的每个语料块转换为对应的词嵌入向量。
词嵌入向量是用于将单词映射到向量空间中的表示形式。在一些实施例中,语料库构建模块可以通过第二特征提取模块确定每个语料块对应的词嵌入向量,从而捕捉若干语料块中的语义信息。其中,第二特征提取模型为机器学习模型,例如,卷积神经网络模型等。
在一些实施例中,第二特征提取模型可以包括嵌入模型,例如,Word2Vec。第二特征提取模型的输入可以包括若干语料块,输出可以包括若干语料块对应的词嵌入向量。
在一些实施例中,第二特征提取模型可以通过多个第三训练样本训练得到。在一些实施例中,第三训练样本至少可以包括样本语料块。
在一些实施例中,语料库构建模块可以将两个第二特征提取模型和一个比对层联合训练。语料库构建模块分别将两个样本语料块输入两个第二特征提取模型并输出两个样本语料块分别对应的两个样本词嵌入向量。对比层的输入为两个第二特征提取模型的输出,对比层的输出为两个样本语料块的相似度。
两个第二特征提取模型可以具有相同的初始参数,且参数共享,在训练中进行参数迭代更新时,所述两个第二特征提取模型的参数可以同步更新。语料库构建模块可以将训练好的两个第二特征提取模型中的任意一个作为步骤S330中使用的第二特征提取模型。
在一些实施例中,初始第二特征提取模型的结构可以包括嵌入模型。
步骤S340,将每个语料块以及对应的词嵌入向量进行组合,形成向量化语料库。
向量化语料库是指词嵌入向量组合起来形成的语料库。在向量化语料库中,每个语料块都被表示为一个向量,并与其他语料块一起组成了整个向量化语料库。在本说明书实施例中,将所有语料块的词嵌入向量组合形成向量化语料库,可以建立一个用于后续任务(例如,根据用户输入自然语言查询请求确定回答文本)的表示形式。其中,每个语料块都由向量表示来描述。
仅作为示例,若语料块中包含元信息,且元信息包含主题分类和作者,在语料块的标题前可以插入<Title>标记,在作者名前可以插入<Author>标记。第一语料块包括:<Title:科技>;<Author:Alice>;这是一个示例文本,用于构建向量化语料库。第二语料块包括:<Title:自然语言处理>;<Author:Bob>;嵌入模型的应用能够捕捉文本中语义的信息。第二特征提取模型输出的词嵌入向量包括第一语料块的词嵌入向量:v<Title:科技>,v<Author:Alice>,v内容,v这,……v语料库;第二语料块词嵌入向量:v<Title:自然语言处理>,v<Author:Bob>,v内容,v嵌入,……v信息。构建的向量化语料库可以包括[第一向量化语料块,第二向量化语料块],其中,第一向量化语料块=[v<Title:科技>,v<Author:Alice>,v内容,v这,……v语料库];第二向量化语料块=[v<Title:自然语言处理>,v<Author:Bob>,v内容,v嵌入,……v信息]。
在本说明书实施例中,相比于传统知识库需要自行编辑问答对,将文档拆解为语料块,通过向量化语料库进行检索,可以将知识的录入和维护大大简化。将文档划分成若干子语料块,然后对子语料块进行预处理操作,再预处理后的若干语料块转换为词嵌入向量,并组合形成向量化语料库,有助于构建一个用于后续查询匹配的向量化语料库。
在一些实施例中,语料库构建模块还可以基于历史查询请求更新向量化语料库。
在一些实施例中,语料库构建模块可以根据用户的多个历史查询请求,计算每个历史查询请求对应的模糊值。历史查询请求是发出自然查询请求的用户在历史时间提出的查询请求。
模糊值是用于衡量查询请求与语料库中文本相关性或匹配程度的指标。模糊值可以基于每个历史查询请求对应的一个或多个关联语料块,在文档中的距离分布确定。
距离分布是指关联语料块之间在各自原来文档中的物理距离的分布情况。距离分 布可以包括一个或多个关联语料块中两两关联语料块之间的物理距离。例如,如果有n个语 料块,那么会产生i个物理距离,i=n(n-1)/2,则距离分布就是d1、d2、……、di。
仅作为示例,某个历史查询请求对应3个关联语料块,则该历史查询请求对应的3个关联语料块在文档中的距离分布=(d1,d2,d3)。其中,d1为第一关联语料块与第二关联语料块在原来文档中的物理距离,d2为第一关联语料块与第三关联语料块在原来文档中的物理距离,d3为第二关联语料块与第三关联语料块在原来文档中的物理距离。
距离分布中的两两关联语料块之间的物理距离是指两个语料块对应的原始文本,在原始文档中的所间隔的文字数量。如果两个关联语料块不属于同一原始文档,则这两个关联语料块的物理距离可以预设为一个比较大的值(例如,基于经验知识,可以确定为1000)。
例如,有两个关联语料块(第四关联语料块和第五关联语料块)属于同一原始文档,假设原始文档的内容为:“律师是指依法取得律师执业证书,接受委托或指定,为当事人提供法律服务的执业人员。律师须通过法律职业资格考试并依法取得律师执业证书方可执业。按照工作性质划分,律师可分为专职律师与兼职律师。律师业务主要分为诉讼业务与非诉讼业务。”。第四关联语料块为“律师是指依法取得律师执业证书,接受委托或指定,为当事人提供法律服务的执业人员。”,第五关联语料块为“律师业务主要分为诉讼业务与非诉讼业务”,则第四关联语料块与第五关联语料块的物理距离为“律师须通过法律职业资格考试并依法取得律师执业证书方可执业。按照工作性质划分,律师可分为专职律师与兼职律师。”这段文字的长度。
在一些实施例中,语料库构建模块可以对关联语料块之间物理距离的和进行倒数加权处理。其中,权重可以是预设的,例如为1。倒数加权处理可以保证,距离越小相似度越高,则对应的权重越大。模糊值正相关于加权后的距离分布。在一些实施例中,模糊值=1/(d1+d2+……+di)。欧式距离d相加之和越小,模糊值越大,表示查询请求与语料库中文本越相关,在该示例公式中,权重为1。
在一些实施例中,语料库构建模块可以判断多个历史查询请求对应的模糊值是否满足第一预设条件。响应于多个历史查询请求对应的模糊值满足第一预设条件,语料库构建模块可以更新向量化语料库。
第一预设条件是判断是否更新向量化语料库的预设条件。第一预设条件可以与阈值相关。例如,第一预设条件可以是模糊值大于阈值。阈值可以通过人为经验或系统默认设定。
在一些实施例中,为了更新向量化语料库,语料库构建模块可以根据多个历史查询请求对应的模糊值,确定语料块划分强度。
语料块划分强度是用于衡量划分的强度,即划分后得到的子语料块的大小。语料块划分强度可以与上述切分单位理解为是相同的概念。语料块划分强度越大,对文档进行切分的切分单位越大。多个历史查询请求对应的模糊值与语料块划分强度可以是正相关的关系。模糊值越大,则确定语料块划分强度可以越大;反之亦然。
在一些实施例中,语料库构建模块可以基于语料块划分强度,重新对所述存储的文档进行划分。语料块划分强度越高,代表划分得到的语料块通常越大。例如,语料块划分强度可以取值1、2、3、4:语料划分强度为1,表示单个句子构成一个语料块;语料划分强度为2表示2个句子构成一个语料块;语料划分强度为3表示4个句子构成一个语料块;语料划分强度为4表示1个段落构成一个语料块。
在一些实施例中,语料库构建模块可以基于划分后的语料块构建向量化语料库。关联语料块之间离得近,模糊值越大,表明越相关。当模糊值大于第一预设条件的阈值时,更新向量化语料库的方式就是使语料块的划分强度变大。反之,当模糊值低于第一预设条件中的阈值时,可以缩小语料块的划分强度。
在本说明书实施例中,如果用户的历史查询请求的模糊值偏高,说明语料块划分得太细了,可能会影响后续的查找效率,此时可以重新划分语料块来更新向量化语料库。
应当注意的是,上述有关流程300描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程300进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图4是根据本说明书一些实施例所示的匹配关联语料块的示例性流程图。在一些实施例中,流程400可以由基于RAG自然语言智能知识库管理系统100执行。如图4所示,流程400包括下述步骤:
步骤S410,从自然语言查询请求中提取元信息。
在一些实施例中,匹配模块130可以文本解析的方法提取出自然语言查询请求中的元信息。例如,可以通过文字提取的方式标记元信息。例如,可以通过<Title>、<Author>等特殊标记或占位符,在文本中标记元信息的位置。
关于元信息的更多内容可以参见图3及其相关内容,在此不再赘述。通过元信息,可以在向量化语料库中进行快速筛选,筛选出与自然语言查询请求相关的语料块,有助于减少匹配范围,提高匹配效率。
步骤S420,基于元信息,在向量化语料库中进行预筛选,得到预筛选的语料块集合。
预筛选是指通过元信息对语料库中的语料块进行初步筛选的过程。预筛选可以减少后续匹配自然语言查询请求的范围,提高匹配效率。预筛选语料块集合是指在预筛选阶段通过对向量化语料库中的语料块应用元信息进行过滤而得到的一组语料块。
在一些实施例中,匹配模块130可以根据向量化语料库中的元信息与自然语言查询请求中提取的元信息进行预筛选。匹配模块130可以将与自然语言查询请求中提取的元信息匹配的语料块确定为语料块集合。由于预筛选语料块集合中的语料块与自然语言查询请求中提取的元信息匹配,预筛选语料块集合中的语料块在进行后续匹配之前被认为是与查询请求相关的。
在一些实施例中,匹配模块130可以根据缓存空间大小以及用户反馈,确定预筛选的元信息匹配强度。
缓存空间大小是指基于RAG自然语言智能知识库管理系统100分配给存储匹配结果或其他相关信息的内存或磁盘空间。用户反馈是指用户对基于RAG自然语言智能知识库管理系统100或服务提供的信息的回应或评价。例如,用户反馈可以包括用户对查询结果的精确程度、相关程度等方面的满意度反馈等。
元信息匹配强度是指在预筛选阶段,通过匹配元信息来确定语料块与自然语言查询请求的相似度要求的严格程度。元信息匹配强度越高,表示匹配的元信息越严格,相似度要求越高。缓存空间的大小越大、用户反馈的查询结果的精确程度以及相关程度越低,则元信息匹配强度可以越大。在一些实施例中,匹配模块130可以通过查询数据库的方式,根据缓存空间大小以及用户反馈,确定预筛选的元信息匹配强度。
在一些实施例中,元信息匹配强度也可以通过元信息匹配阈值来体现。当使用元信息对语料库中的语料块进行初步筛选时,若语料块中包含的元信息的数量(或其他特征)大于或等于元信息匹配阈值,则该语料块可以进入预筛选语料块集合;若语料块中包含的元信息的数量(或其他特征)小于元信息匹配阈值,则该语料块不能进入预筛选语料块集合。元信息匹配强度越大,则元信息匹配阈值越大,元信息匹配强度与元信息匹配阈值正相关。
在本说明书实施例中,可以根据基于RAG自然语言智能知识库管理系统100的需求和用户的反馈来调整预筛选阶段的元信息匹配强度。如果用户对系统返回的结果有特定的偏好或要求,可以通过调整匹配强度来提高结果的相关性和准确性。缓存空间大小的设置则可能涉及到性能和资源的平衡,缓存空间设置得较大时,对系统的资源占用更高,因此要求预筛选进行更强的过滤,以平衡系统运行的效率。
步骤S430,基于匹配算法,在预筛选的语料块集合进行匹配,确定预筛选的语料块集合中每个语料块与自然语言查询请求的相似度。
相似度是指预筛选的语料块集合中每个语料块与自然语言查询请求的匹配程度。
在一些实施例中,匹配模块130可以通过计算预筛选的语料块集合中的每个语料块与自然语言查询请求的目标特征向量的余弦相似度,得出预筛选的语料块集合中每个语料块与自然语言查询请求的相似度。
步骤S440,基于每个语料块与自然语言查询请求的相似度,确定一个或多个关联语料块。
在一些实施例中,匹配模块130可以判断每个语料块对应的相似度是否满足相似条件。相似条件可以是相似度阈值,用于判断是否为关联语料块。
对于预筛选的语料块集合中每个语料块,响应于满足相似条件,即该语料块对应的相似度大于相似度阈值,表示满足匹配要求,匹配模块130可以将该语料块确定为关联语料块。在一些实施例中,匹配模块130可以进一步将满足相似条件的语料块按照相似性分数进行排序,从而得到最终的一个或多个关联语料块。例如,可以按照相似度由高到低对满足相似条件的语料块进行排序。满足相似条件的语料块均为关联语料块。
在本说明书实施例中,通过增加预筛选的步骤,可以有助于降低匹配算法的计算、搜索成本,使得匹配目标特征向量的匹配效率更高效。相比于基于关键词匹配的传统知识库,本说明书实施例可以接受用户通过自然语言提问,用自然语言回答,用户体验更友好。
应当注意的是,上述有关流程400描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程400进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图5是根据本说明书一些实施例所示的生成回答文本的示例性流程图。在一些实施例中,流程500可以由基于RAG自然语言智能知识库管理系统100执行。如图5所示,流程500包括下述步骤:
步骤S510,基于余弦相似度在向量化语料库中,确定与一个或多个关联语料块相关的相关语料块。
余弦相似度是用于衡量关联语料块与相关语料块之间相似性的数据。相关语料块是指在向量化语料库中与关联语料块具有较高余弦相似度(例如,大于余弦阈值)的语料块。在一些实施例中,文本生成模块可以将余弦相似度大于余弦阈值的语料块作为相关语料块。
余弦相似度越高,表示两个语料块之间的相似性越大。对于向量A和向量B,余弦相似度=。其中,/>表示向量A和向量B的点积,/>和/>分别是向量A和向量B的范数。
步骤S520,将相关语料块输入背景特征提取层,得到语义背景特征。
在一些实施例中,如图6所示,语言生成模型可以包括背景特征提取层620-1以及回答生成层620-2。背景特征提取层620-1可以用于提取语义背景特征。
语义背景特征是从相关语料块中提取,包含了语境和语义信息的特征表示。例如,语义背景特征可以包括词汇、语法结构、主题信息等。
在一些实施例中,背景特征提取层620-1的输入可以包括相关语料块,输出可以包括语义背景特征。
步骤S530,将语义背景特征与一个或多个关联语料块输入回答生成层,生成与自然语言查询请求相关的回答文本。
回答生成层620-2可以用于生成回答文本。回答生成层620-2的输入可以包括语义背景特征和一个或多个关联语料块,输出可以包括回答文本。
关于语言生成模型的更多内容可以参见图6及其相关说明,在此不再赘述。
在一些实施例中,语言生成模型还可以包括缓存特征层。缓存特征层可以用于确定缓存特征。缓存特征是该用户在历史数据中的特征。缓存特征可以包括历史查询的主题、偏好、以前的操作模式等。
在一些实施例中,文本生成模块140可以获取缓存空间内的多条历史自然语言查询请求、对应的回答文本以及对应的用户实际操作。
缓存空间是指一个用于存储历史自然语言查询请求、对应的回答文本以及用户实际操作的存储区域。缓存空间的大小可以人为或系统默认设置。例如,缓存空间设置成20MB,则只能存20条最近的自然语言查询请求。对应的用户实际操作是用户在与人机交互系统进行交互时的操作。对应的用户实际操作可以包括点击、返回、滚动等操作。
在一些实施例中,文本生成模块140可以将多条历史自然语言查询请求、对应的回答文本以及对应的用户实际操作输入缓存特征层,得到缓存特征。
在一些实施例中,文本生成模块140可以将缓存特征、语义背景特征与一个或多个关联语料块输入回答生成层,生成与自然语言查询请求相关的回答文本。
在本说明书实施例中,通过使用缓存空间中的历史信息,语言生成可以更好地理解用户的偏好、行为习惯,从而更有效地生成和推荐回答文本。
在一些实施例中,缓存空间的大小可以基于预设时间内的每个历史查询请求对应的关联语料块的数量以及模糊值确定。
预设时间内每个历史查询请求对应关联语料块的数量越多、每个历史查询请求对应的模糊值越低,则缓存空间的大小越大。预设时间内每个历史查询请求对应的数量越多、模糊值越低,说明用户历史查询请求的信息量越分散,即更难以确定用户准确的查询需求,因此可以增加缓存空间的大小,以获取更多缓存信息,从而更精准地预测出用户的需求。
在一些实施例中,文本生成模块140可以进一步根据用户行为和用户反馈,调整回答文本。
在一些实施例中,文本生成模块140可以基于强化学习,获取用户行为和用户反馈。用户行为是记录该用户之前的查询历史,用户行为包括用户提出的历史自然语言查询和生成的历史回答文本。用户反馈是当该用户与人机交互系统的回答进行交互时,收集的该用户的历史反馈。用户反馈包括点击行为、留存行为等。
在一些实施例中,文本生成模块140可以基于强化学习模型确定回答生成策略。其中强化学习模型为机器学习模型,例如深度Q网络模型((Deep Q-network,DQN)。强化学习模型的输入可以包括状态、动作。
状态是指强化学习中的观察,可以将收集到的用户行为和反馈数据转化为状态表示。动作是指可以采取的动作,例如,可以是生成不同的回答文本等。
在一些实施例中,强化学习模型的输出可以包括回答生成策略。回答生成策略是在给定状态下选择最优动作的概率分布。给定状态是强化学习模型输入的状态,最优动作是强化学习模型输入的动作。
在一些实施例中,强化学习模型可以通过多个带有第四训练标签的第四训练样本训练得到。在一些实施例中,第四训练样本至少可以包括样本状态(即收集到的用户数据)、样本动作(回答文本),第四训练标签可以是样本回答生成策略。
在一些实施例中,强化学习模型可以通过奖励进行训练。奖励是指某个状态下执行某个动作的好坏程度的信号。奖励可以包括正向奖励和负向奖励。奖励可以作为强化学习模型的训练标签。例如,奖励可以基于历史自然语言查询的点击率、留存率确定。如果用户点击了生成的回答,表示用户对回答感兴趣,可以给予正向奖励。如果用户没有点击,则奖励可以较低或为负值。留存率表示用户在与人工交互系统互动后的持续参与程度。如果生成的回答导致用户保持在人工交互系统中,可以给予正向奖励。
在一些实施例中,初始强化学习模型的结构可以包括DQN模型。在一些实施例中,初始强化学习模型可以通过不断尝试执行不同的动作(即不同的回答文本),根据奖励信号来更新其参数,以逐步优化策略。
在一些实施例中,文本生成模块140可以基于用户行为和用户反馈,动态调整回答文本的生成和排序方式。文本生成模块140可以根据确定的回答生成策略,动态调整回答文本的生成和排序方式。在一些实施例中,文本生成模块140可以通过计算机代码,例如可以使用自然语言处理库中的NLTK、Spacy等动态调整回答文本的生成和排序方式。
在一些实施例中,文本生成模块140可以基于用户行为和用户反馈生成个性化回答文本。例如,根据用户的偏好,历史行为,点击率,留存率那些,文本生成模块140可以调整回答文本的内容,使回答文本更符合用户的兴趣和需求。在一些实施例中,文本生成模块140可以根据用户的点击率、浏览时长等行为指标,调整回答文本的排序方式,将更相关或更受欢迎的回答内容展示在更显眼的位置。
在一些实施例中,文本生成模块140可以基于回答生成策略,根据基于RAG自然语言智能知识库管理系统100内部的数据和性能指标,对回答文本生成的算法进行优化,以提高回答的质量和效率。在一些实施例中,文本生成模块140还可以对确定的回答生成策略进行参数调整或修改,以适应不同的用户需求和场景。
在本说明书实施例中,通过根据用户行为和反馈,动态调整回答文本的生成和排序方式,可以提高用户体验,使得回答更加符合用户的期待,从而增强用户的满意度和忠诚度。通过优化回答生成策略,可以提高回答的质量和准确性;而基于用户行为和反馈的调整可以确保回答的相关性和实用性,从而增强内容的吸引力和可用性。
在本说明书实施例中,通过语言生成模型生成回答文本,可以利用机器学习模型的自学习能力,从大量历史数据中找到规律,获取相关语料块、关联语料块、回答文本等之间的关系,提高了生成回答文本的准确性和效率。相比于传统的知识库仅返回相关文档链接,本说明书实施例通过大语言模型的总结归纳能力,将用户需要查找的信息整合成具有格式的段落,通过有逻辑的方式呈现答案,使得用户更快找到有用信息。
应当注意的是,上述有关流程500描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程500进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图6是根据本说明书一些实施例所示的语言生成模型的示例性示意图。如图6所示,语言生成模型620可以包括背景特征提取层620-1和回答生成层620-2。
在一些实施例中,背景特征提取层620-1可以用于提取语义背景特征630,回答生成层620-2可以用于生成回答文本。
如图6所示,背景特征提取层620-1的输入可以包括相关语料块610,背景特征提取层620-1的输出可以包括语义背景特征630。回答生成层620-2的输入可以包括语义背景特征630和关联语料块640,回答生成层620-2的输出可以包括回答文本650。关于相关语料块610、语义背景特征630、关联语料块640、回答文本650的更多内容可以参见图2-5及其相关描述,在此不再赘述。
在一些实施例中,背景特征提取层620-1的训练样本可以包括样本相关语料块,标签为实际对应的语义背景特征。在一些实施例中,回答生成层620-2的训练样本可以包括样本语义背景特征和样本关联语料块,标签为实际对应的正确回答文本。
在一些实施例中,语言生成模型还可以进一步包括缓存特征层(图中未示出),用于确定缓存特征。缓存特征层的输入可以包括多条历史自然语言查询请求、对应的回答文本以及对应的用户实际操作,缓存特征层的输出可以包括缓存特征。关于缓存特征的更多内容可以参见图5及其相关描述,在此不再赘述。缓存特征层的训练样本可以包括样本历史自然语言查询请求、样本对应的回答文本、样本对应的用户实际操作,标签为实际的缓存特征。缓存特征可以进一步作为回答生成层620-2的输入,同时回答生成层620-2的训练样本还需进一步包括样本缓存特征。
在一些实施例中,背景特征提取层620-1的输出可以作为回答生成层620-2的输入,因此语言生成模型620中的背景特征提取层620-1和回答生成层620-2可以进行联合训练。语言生成模型620的训练样本和训练标签可以参见图2及其相关描述。
在一些实施例中,语言生成模型620的联合训练可以包括将样本相关语料块输入背景特征提取层620-1,得到背景特征提取层620-1输出的样本语义背景特征;将样本语义背景特征作为训练样本数据,和样本关联语料块输入回答生成层620-2,得到回答生成层620-2输出的回答文本。基于样本相关语料块、样本相关语料块、样本回答文本和背景特征提取层620-1输出的样本语义背景特征构建损失函数,同步更新背景特征提取层620-1和回答生成层620-2的参数。通过参数更新,得到训练好的背景特征提取层620-1和回答生成层620-2。
在本说明书实施例中,通过语言生成模型中的背景特征提取层和回答生成层,可以综合考虑相关语料块、关联语料块、回答文本等相关信息生成回答文本。进一步的,将语言生成模型中的背景特征提取层和回答生成层进行联合训练可以获得准确度更高的语言生成模型,且训练效率更好,同时,可以解决单独训练时不易获取标签的问题。
本说明书一个或多个实施例提供一种基于RAG自然语言智能知识库管理装置,包括处理器,所述处理器用于执行本说明书任一实施例所述的基于RAG自然语言智能知识库管理的方法。
本说明书一个或多个实施例提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行如上述实施例中任一项所述的基于RAG自然语言智能知识库管理的方法。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (8)

1.一种基于RAG自然语言智能知识库管理的方法,其特征在于,包括:
获取用户的自然语言查询请求;
基于所述自然语言查询请求,通过第一特征提取模型确定所述自然语言查询请求对应的目标特征向量,所述第一特征提取模型为嵌入模型;
基于所述目标特征向量,在向量化语料库中匹配一个或多个关联语料块,所述向量化语料库的构建包括:
将存储的文档划分为若干子语料块;
对所述若干子语料块进行预处理操作,获取所述预处理后的若干语料块;
基于第二特征提取模型,将所述预处理后的所述若干语料块中的每个语料块转换为对应的词嵌入向量,所述第二特征提取模型为嵌入模型;
将所述每个语料块以及对应的所述词嵌入向量进行组合,形成所述向量化语料库;
根据用户的多个历史查询请求,计算每个历史查询请求对应的模糊值,所述模糊值基于每个历史查询请求对应的一个或多个关联语料块在文档中的距离分布确定;
响应于所述多个历史查询请求对应的模糊值满足第一预设条件,更新所述向量化语料库;其中,所述更新包括:
根据所述多个历史查询请求对应的模糊值,确定语料块划分强度;
基于所述语料块划分强度,重新对存储的文档进行划分,基于划分后的语料块构建所述向量化语料库;
所述划分包括:
对于每篇文档,提取所述文档的时间分布信息;
基于每篇所述文档的时间分布信息,确定每篇所述文档的时间窗口信息;
基于每篇所述文档的时间窗口信息,对每篇所述文档内容进行划分,得到带有时间窗口信息的语料块;
基于所述一个或多个关联语料块,通过语言生成模型生成回答文本,所述语言生成模型为大语言模型;
将所述回答文本显示给所述用户。
2.根据权利要求1所述的基于RAG自然语言智能知识库管理的方法,其特征在于,所述基于所述目标特征向量,在向量化语料库中匹配一个或多个关联语料块包括:
从所述自然语言查询请求中提取元信息;
基于所述元信息,在所述向量化语料库中进行预筛选,得到预筛选的语料块集合;
基于匹配算法,在所述预筛选的语料块集合进行匹配,确定所述预筛选的语料块集合中每个语料块与所述自然语言查询请求的相似度;
基于所述每个语料块与所述自然语言查询请求的相似度,确定所述一个或多个关联语料块。
3.根据权利要求1所述的基于RAG自然语言智能知识库管理的方法,其特征在于,所述语言生成模型包括背景特征提取层以及回答生成层,所述基于所述一个或多个关联语料块,通过语言生成模型生成回答文本包括:
基于余弦相似度在所述向量化语料库中,确定与所述一个或多个关联语料块相关的相关语料块;
将所述相关语料块输入所述背景特征提取层,得到语义背景特征;
将所述语义背景特征与所述一个或多个关联语料块输入所述回答生成层,生成与所述自然语言查询请求相关的所述回答文本。
4.一种基于RAG自然语言智能知识库管理系统,其特征在于,所述系统包括:
获取模块,被配置为获取用户的自然语言查询请求;
确定模块,被配置为基于所述自然语言查询请求,通过第一特征提取模型确定所述自然语言查询请求对应的目标特征向量,所述第一特征提取模型为嵌入模型;
匹配模块,被配置为基于所述目标特征向量,在向量化语料库中匹配一个或多个关联语料块,所述向量化语料库基于若干语料块构建;
语料库构建模块,所述语料库构建模块被配置为:将存储的文档划分为若干子语料块;对所述若干子语料块进行预处理操作,获取所述预处理后的所述若干语料块;基于第二特征提取模型,将所述预处理后的所述若干语料块中的每个语料块转换为对应的词嵌入向量,所述第二特征提取模型为嵌入模型;将所述每个语料块以及对应的所述词嵌入向量进行组合,形成所述向量化语料库;根据用户的多个历史查询请求,计算每个历史查询请求对应的模糊值,所述模糊值基于每个历史查询请求对应的一个或多个关联语料块在文档中的距离分布确定;响应于所述多个历史查询请求对应的模糊值满足第一预设条件,更新所述向量化语料库;
所述语料库构建模块还被配置为:根据所述多个历史查询请求对应的模糊值,确定语料块划分强度;基于所述语料块划分强度,重新对存储的文档进行划分,基于划分后的语料块构建所述向量化语料库;
所述语料库构建模块还被配置为:对于每篇文档,提取所述文档的时间分布信息;基于每篇所述文档的时间分布信息,确定每篇所述文档的时间窗口信息;基于每篇所述文档的时间窗口信息,对每篇所述文档内容进行划分,得到带有时间窗口信息的语料块;
文本生成模块,被配置为基于所述一个或多个关联语料块,通过语言生成模型生成回答文本,所述语言生成模型为大语言模型;
显示模块,被配置为将所述回答文本显示给所述用户。
5.根据权利要求4所述的基于RAG自然语言智能知识库管理系统,其特征在于,所述匹配模块进一步被配置为:
从所述自然语言查询请求中提取元信息;
基于所述元信息,在所述向量化语料库中进行预筛选,得到预筛选的语料块集合;
基于匹配算法,在所述预筛选的语料块集合进行匹配,确定所述预筛选的语料块集合中每个语料块与所述自然语言查询请求的相似度;
基于所述每个语料块与所述自然语言查询请求的相似度,确定所述一个或多个关联语料块。
6.根据权利要求4所述的基于RAG自然语言智能知识库管理系统,其特征在于,所述语言生成模型包括背景特征提取层以及回答生成层,所述文本生成模块进一步被配置为:
基于余弦相似度在所述向量化语料库中确定与所述一个或多个关联语料块相关的相关语料块;
将所述相关语料块输入所述背景特征提取层,得到语义背景特征;
将所述语义背景特征与所述一个或多个关联语料块输入所述回答生成层,生成与所述自然语言查询请求相关的所述回答文本。
7.一种基于RAG自然语言智能知识库管理装置,其特征在于,包括处理器,所述处理器用于执行权利要求1~3中任一项所述的基于RAG自然语言智能知识库管理的方法。
8.一种计算机可读存储介质,其特征在于,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行如权利要求1~3任一项所述的基于RAG自然语言智能知识库管理的方法。
CN202410170390.0A 2024-02-06 2024-02-06 一种基于rag自然语言智能知识库管理的方法和系统 Active CN117708308B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410170390.0A CN117708308B (zh) 2024-02-06 2024-02-06 一种基于rag自然语言智能知识库管理的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410170390.0A CN117708308B (zh) 2024-02-06 2024-02-06 一种基于rag自然语言智能知识库管理的方法和系统

Publications (2)

Publication Number Publication Date
CN117708308A CN117708308A (zh) 2024-03-15
CN117708308B true CN117708308B (zh) 2024-05-14

Family

ID=90162911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410170390.0A Active CN117708308B (zh) 2024-02-06 2024-02-06 一种基于rag自然语言智能知识库管理的方法和系统

Country Status (1)

Country Link
CN (1) CN117708308B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033964A (zh) * 2011-01-13 2011-04-27 北京邮电大学 基于块划分及位置权重的文本分类方法
CN106789572A (zh) * 2016-12-19 2017-05-31 广州市康超信息科技有限公司 一种实现自适应消息过滤的即时通讯系统和即时通讯方法
CN109902285A (zh) * 2019-01-08 2019-06-18 平安科技(深圳)有限公司 语料分类方法、装置、计算机设备及存储介质
CN110297880A (zh) * 2019-05-21 2019-10-01 深圳壹账通智能科技有限公司 语料产品的推荐方法、装置、设备及存储介质
CN111899890A (zh) * 2020-08-13 2020-11-06 东北电力大学 基于比特串哈希的医疗数据相似度检测系统与方法
CN113886537A (zh) * 2021-09-28 2022-01-04 则正(上海)生物科技有限公司 基于自然语言处理和问答匹配的实验室管理系统
CN114036371A (zh) * 2021-10-28 2022-02-11 北京沃东天骏信息技术有限公司 搜索词推荐方法、装置、设备和计算机可读存储介质
CA3148074A1 (en) * 2021-02-09 2022-08-09 10353744 Canada Ltd. Text information extracting method, device, computer equipment and storage medium
CN116205211A (zh) * 2022-12-20 2023-06-02 深圳今日人才信息科技有限公司 基于大规模预训练生成模型的文档级简历解析方法
CN116701431A (zh) * 2023-05-25 2023-09-05 东云睿连(武汉)计算技术有限公司 一种基于大语言模型的数据检索方法及系统
CN117473053A (zh) * 2023-06-12 2024-01-30 上海数珩信息科技股份有限公司 基于大语言模型的自然语言问答方法、装置、介质及设备

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033964A (zh) * 2011-01-13 2011-04-27 北京邮电大学 基于块划分及位置权重的文本分类方法
CN106789572A (zh) * 2016-12-19 2017-05-31 广州市康超信息科技有限公司 一种实现自适应消息过滤的即时通讯系统和即时通讯方法
CN109902285A (zh) * 2019-01-08 2019-06-18 平安科技(深圳)有限公司 语料分类方法、装置、计算机设备及存储介质
CN110297880A (zh) * 2019-05-21 2019-10-01 深圳壹账通智能科技有限公司 语料产品的推荐方法、装置、设备及存储介质
CN111899890A (zh) * 2020-08-13 2020-11-06 东北电力大学 基于比特串哈希的医疗数据相似度检测系统与方法
CA3148074A1 (en) * 2021-02-09 2022-08-09 10353744 Canada Ltd. Text information extracting method, device, computer equipment and storage medium
CN113886537A (zh) * 2021-09-28 2022-01-04 则正(上海)生物科技有限公司 基于自然语言处理和问答匹配的实验室管理系统
CN114036371A (zh) * 2021-10-28 2022-02-11 北京沃东天骏信息技术有限公司 搜索词推荐方法、装置、设备和计算机可读存储介质
CN116205211A (zh) * 2022-12-20 2023-06-02 深圳今日人才信息科技有限公司 基于大规模预训练生成模型的文档级简历解析方法
CN116701431A (zh) * 2023-05-25 2023-09-05 东云睿连(武汉)计算技术有限公司 一种基于大语言模型的数据检索方法及系统
CN117473053A (zh) * 2023-06-12 2024-01-30 上海数珩信息科技股份有限公司 基于大语言模型的自然语言问答方法、装置、介质及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
上下文相关的词表示及其领域迁移研究;刘洋;《中国优秀硕士学位论文全文数据库 信息科技辑》;20200215(第2期);I138-2334 *
基于语义网络社团划分的中文文本分类研究;尹丽英;赵捧未;;<图书情报工作>;20141005(第19期);128-132 *

Also Published As

Publication number Publication date
CN117708308A (zh) 2024-03-15

Similar Documents

Publication Publication Date Title
CN111680173B (zh) 统一检索跨媒体信息的cmr模型
WO2021093755A1 (zh) 问题的匹配方法及装置、问题的回复方法及装置
CN111767741B (zh) 一种基于深度学习和tfidf算法的文本情感分析方法
CN109829104B (zh) 基于语义相似度的伪相关反馈模型信息检索方法及系统
AU2019263758B2 (en) Systems and methods for generating a contextually and conversationally correct response to a query
CN108304375B (zh) 一种信息识别方法及其设备、存储介质、终端
CN110019732B (zh) 一种智能问答方法以及相关装置
CN107180045B (zh) 一种互联网文本蕴含地理实体关系的抽取方法
US20130060769A1 (en) System and method for identifying social media interactions
CN113535963B (zh) 一种长文本事件抽取方法、装置、计算机设备及存储介质
CN110297880B (zh) 语料产品的推荐方法、装置、设备及存储介质
CN112883734B (zh) 区块链安全事件舆情监测方法及系统
CN109255012B (zh) 机器阅读理解以及减少候选数据集规模的方法、装置
CN109101551B (zh) 一种问答知识库的构建方法及装置
CN117609444B (zh) 一种基于大模型的搜索问答方法
CN108984711B (zh) 一种基于分层嵌入的个性化app推荐方法
CN112861990A (zh) 一种基于关键词和实体的主题聚类方法、设备及计算机可读存储介质
CN111339284A (zh) 产品智能匹配方法、装置、设备及可读存储介质
CN113342958B (zh) 问答匹配方法、文本匹配模型的训练方法和相关设备
CN113934835B (zh) 结合关键词和语义理解表征的检索式回复对话方法及系统
CN117149804A (zh) 数据处理方法、装置、电子设备及存储介质
CN113076740A (zh) 政务服务领域的同义词挖掘方法及装置
CN115860283B (zh) 基于知识工作者画像的贡献度预测方法及装置
CN117708308B (zh) 一种基于rag自然语言智能知识库管理的方法和系统
CN117972025B (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