技术领域
[0001] 本申请涉及智能知识领域,尤其涉及一种基于大语言模型的智能知识助手构建方法、装置和电子设备。
相关背景技术
[0002] 知识库需求在各行各业中普遍存在,如企业产品知识库、智能教育辅助知识系统及客服知识库系统等。传统企业知识库仍存在各种不足,如仅用于人工低效查找知识相关
文档,如果对文档不熟悉则石沉大海;仅可人工进行文档查询和应用且单向查询功能无法
应用于对客问答等场景;查询知识库构建需要专人整理FAQ(Frequently Asked
Questions,常见问题),对企业知识库进行二次加工,工作量较大。因此,本发明提出了基于
大语言模型的理解与生成能力,构建一套从文档解析、文档管理,文档搜索引导与问答生成
的流程方法解决此类问题。
具体实施方式
[0051] 以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除
非特别指出,不必按比例绘制附图。
[0052] 其中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请或简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方
位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
[0053] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者
隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,
除非另有明确具体的限定。
[0054] 在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
[0055] 另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于
本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
[0056] 大语言模型(Large Language Model,缩写LLM),也称大型语言模型,是一种人工智能模型,旨在理解和生成人类语言。它们在大量的文本数据上进行训练,可以执行广泛的
任务,包括文本总结、翻译、情感分析等等。LLM的特点是规模庞大,包含数十亿的参数,帮助
它们学习语言数据中的复杂模式。在LLM中,token代表模型可以理解和生成的最小意义单
位,是模型的基础单元。根据所使用的特定标记化方案,token可以表示单词、单词的一部
分,甚至只表示字符。token被赋予数值或标识符,并按序列或向量排列,并被输入或从模型
中输出,是模型的语言构件。
[0057] K最近邻(k‑Nearest Neighbor,KNN)分类算法,最简单的机器学习算法之一。该方法的思路是:在特征空间中,如果一个样本附近的k个最近(即特征空间中最邻近)样本的大
多数属于某一个类别,则该样本也属于这个类别。
[0058] 实施例1
[0059] 图1示出根据本申请一实施例的基于大语言模型的智能知识助手构建方法的流程图。通过该方法,能够构建关于企业各部门知识助手,灵活获取相关文档内容。如图1所示,
该流程图包括:
[0060] S100、接收待处理知识文档;
[0061] 建立知识助手,知识助手所呈现的知识内容离不开对相关知识库的调用,知识库的建立需要相关知识数据的输入,此时相关知识数据可以通过用户上传的知识文档获得,
用户根据需求上传相关的知识文档,例如需要建立企业人力知识库,用户可以通过上传“人
才培养”、“人才晋升”、“公司培训”等知识文档,构建企业人力知识库。
[0062] S200、将所述待处理知识文档进行结构化解析,得到所述待处理知识文档的文本内容和关键词;
[0063] 上传的知识文档不能直接保存,需要对文档的文本内容进行结构化分析,分析文档的标题、章节、段落等逻辑结构的组成,分析完成根据逻辑结构的组成提取合适的关键
词。在该步骤中,当企业内部有大量且多样的文档资料时,能够有效地转化为结构化数据,
极大提升文档资料的可用性和可检索性。
[0064] S300、将所述文本内容和所述关键词进行向量化编码,得到对应文本内容向量和关键词向量;
[0065] 将文本内容和关键词进行向量化编码,目的是将文本内容和关键词转化为计算机可以理解和处理的数值形式。进一步的,生成的文本内容向量和关键词向量便于使用机器
学习和自然语言处理技术进行分析。
[0066] S400、根据所述关键词向量建立和所述对应文本内容向量的索引关系。
[0067] 文本内容繁杂且数量庞大,展示文本内容时较为不方便,容易使用户无法准确定位到所需的文本内容;向量形式的文本内容又无法展现文本内容本身,因此可以使用内存
相对于文本内容或是文本内容向量较小的关键词向量和对应文本内容向量建立索引,用于
检索和搜索引导提示,在用户使用时,可以根据输入的关键词,将关键词进行处理得到关键
词向量,查找索引关系,将索引到的文本内容向量进行解码处理,展示文本内容。
[0068] 作为本申请的一种可选实施方案,在步骤S100中,所述接收待处理知识文档包括:
[0069] S101,获取待处理知识文档上传申请;
[0070] 当用户上传知识文档时,会生成知识文档上传申请,表示开始上传知识文档进程。
[0071] S102,判断所述待处理知识文档是否为预设文档类型;
[0072] 当获取到知识文档上传申请时,需要判断所上传的知识文档是否为预设文档类型,以防止不支持的文档类型的知识文档上传后无法进行分析进一步该知识文档在知识库
作废的情况。在本实施例中,预设文档类型包括txt、Words、PDF及HTML等常见文档类型,用
户可根据需求设置,此处不进行限定。
[0073] S103,在所述待处理知识文档为预设文档类型时,接收所述待处理知识文档。
[0074] 当上传的知识文档满足S102中列举的文档类型时,接收知识文档,用户侧会收到知识文档上传成功的返回提示。
[0075] 作为本申请的一种可选实施方案,在步骤S200中,将所述待处理知识文档进行结构化解析,得到所述待处理知识文档的文本内容和关键词,包括:
[0076] S201、根据所述文档类型的特点提取所述待处理知识文档的文本内容;
[0077] 每种文档类型都有对应的特点,在提取文本内容时只采用单一的方法则容易导致关键文本内容遗漏。从多种格式的文档中提取文本内容,需要考虑到不同文件格式的特点,
确保能够准确无误地提取文本,例如对于图片格式的文档应用OCR(Optical Character
Recognition,光学字符识别)技术进行提取。
[0078] S202、按照文字逻辑和结构规则将所述文本内容进行段落划分,根据所述段落划分对应的文本内容提取对应的关键词。
[0079] 将已进行结构化分析的知识文档,按照文字逻辑和结构规格对文本内容进行段落划分,便于更好地理解和组织文本内容,上述处理过后的文本内容也更易于后续进行向量
化编码和使用机器学习和自然语言处理技术分析。
[0080] 作为本申请的一种可选实施方案,还包括:
[0081] 预设文档上传大小阈值;
[0082] 在上传知识文档时,可能会出现知识文档大小超出了用于保存知识文档的内存空间的情况,或者因为该知识文档大小过大导致难以进行文本内容的向量化编码的情况,因
此需要设置文档上传大小阈值限制上传的知识文档大小。在本实施例中,文档上传大小阈
值为100M。
[0083] 获取待处理知识文档上传申请时,判断所述待处理知识文档大小是否小于所述文档上传大小阈值;
[0084] 在上传过程时,判断知识文档大小是否小于100M。
[0085] 所述待处理知识文档大小小于所述文档上传大小阈值时,接收所述待处理知识文档。
[0086] 例如用户上传了关于“公司培训”的知识文档,该知识文档的大小为64M,小于100M阈值,该知识文档会被接收,进行下一步的分析处理,用户侧会收到该文档成功上传的提
示。
[0087] 作为本申请的一种可选实施方案,还包括:
[0088] 接收搜索语句;
[0089] 当用户欲使用已经建立的知识助手查找所需的知识文档时,需要在知识助手的查询处输入搜索语句,输入完毕后该搜索语句将被接收,因用户在输入搜索语句时,搜索语句
本身不一定为数据库中存有的关键词,因此还需对搜索语句进行分析进而提取搜索语句中
的关键词,提取得到的关键词用于在文档数据库的检索。
[0090] 将所述搜索语句进行语义编码,得到搜索语句向量;
[0091] 搜索语句的文字形式并不能直接为计算机理解和处理,也需要进行编码处理为适配计算机处理数据的形式,将搜索语句进行语义编码,转化成向量形式,得到搜索语句向
量。
[0092] 根据所述搜索语句向量在文档数据库中进行匹配,得到预设数量文本词条。
[0093] 文档数据库中存储关键词向量和文本内容向量,将搜索语句向量在文档数据库使用K近邻方法进行向量匹配,K表示预设数值,假设K=5,将搜索语句向量作为样本,根据向
量匹配得到样本附近最近的5个样本,分析这5个样本中大多属于哪一类,那么该搜索语句
向量归为哪一类。示例性的,用户输入的搜索语句为“培训”时,将“培训”进行语义编码处理
后在文档数据库中进行匹配,距离它最近的5个样本的文本词条中,有4个文本词条与人才
培养有关,1个文本词条与日常维护有关,那么判定“培训”样本属于“人才培养”一类。
[0094] 选择所述文本词条,得到所述文本词条对应文本内容。
[0095] 假设这4个人才培养的词条为“试用期员工转正式员工”、“正式员工晋升”、“试用期培训工作”、“正式员工培训工作”;1个日常维护的词条为“办公电脑维护”,用户可以根据
需求选择所展示的文本词条,若选择了其中一个与人才培养有关的词条为“正式员工晋
升”,对应的展示“正式员工晋升”的文本内容,其中文本内容中详细记录正式员工晋升细
则。
[0096] 作为本申请的一种可选实施方案,还包括:
[0097] 将所述文本词条进行语义编码,得到新关键词向量;
[0098] 以前述输入“培训”后展示“人才培养”和“日常维护”有关文本词条为例,用户在选择“正式员工晋升”词条后展示对应文本内容时,将“正式员工晋升”词条作为新关键词,将
新关键词转化为向量形式,得到新关键词向量,用于计算机在文档数据库的分析处理。
[0099] 将所述新关键词向量在文档数据库中进行匹配,得到预设数量新文本词条;
[0100] 将新关键词在文档数据库中进行K近邻向量匹配,得到根据K数值的新文本词条。
[0101] 选择所述新文本词条,得到所述新文本词条对应文本内容。
[0102] 假设前述用户所选择的“正式员工晋升”词条对应的文本内容没有用户需要的信息,可以根据展示的新文本词条,选择其中一个新文本词条,展示对应文本内容,通过以上
操作,能够帮助用户逐步细化和丰富他们的搜索查询,从而显著提高搜索结果的准确度和
相关性。
[0103] 作为本申请的一种可选实施方案,还包括:
[0104] 根据所述搜索语句将所述预设数量文本词条对应文本内容进行逻辑和结构分析,生成所述搜索语句对应的结果文本。
[0105] 用户输入搜索语句时,可能输入的是关键词或请求式语句,例如“请提供与培训相关的信息”,亦或是疑问句,例如“是否有培训相关的信息?”,在用户输入搜索语句展示相关
文本词条并选择后,不仅可以选择直接展示文本内容,还可以选择使用大语言模型输出用
户所需要的文本信息,结合相关文本词条在知识库中定位与该文本词条最相关的文本内
容,提取高度相关的文本内容后将用户的搜索语句作为输入提示,即prompt传递给大语言
模型,大语言模型利用其强大的文本理解和生成能力,对搜索语句和提取的高度相关的文
本内容进行综合分析,生成较为准确的答案。
[0106] 例如用户输入的搜索语句为“请提供与培训相关的信息”,展示的文本词条为“试用期员工转正式员工”、“正式员工晋升”、“试用期培训工作”、“正式员工培训工作”、“办公电脑维护”,在文档数据中提取以上词条对应的文本内容,结合搜索语句作为输入提示传递
给大预言模型,生成包含以上词条对应文本内容且排版合适、美观的结果文本,方便用户查
看。
[0107] 需要说明的是,所述大语言模型可以使用开源的大语言模型,也可以使用私有化部署的大语言模型,用户根据需求而定,此处不限定。
[0108] 作为本申请的一种可选实施方案,在步骤S202中,按照文字逻辑和结构规则将所述文本内容进行段落划分,根据所述段落对应的文本内容提取对应的关键词,还包括:
[0109] 将所述文本内容进行段落划分后,判定是否含有人工标注的关键词;
[0110] 上传的知识文档中在上传前可能经过人工标注关键词处理,人工标注的关键词也具有能够体现文本内容的概述的作用,因此需要判定是否含有人工标注的关键词。
[0111] 含有人工标注的关键词时,提取所述人工标注的关键词。
[0112] 含有人工标注的关键词时,对其进行提取;若没有,则根据文本内容提取相关词语作为关键词。
[0113] 通过以上方法,能够改善传统企业知识库使用低效、用法单一或应答不准确等问题,将大量的企业内部文档资料有效转化为结构化数据,提高了搜索的灵活性,提升了文档
资料的可用性和可检索性,提高了问题解答的准确度和效率,进而增强了用户的体验。
[0114] 实施例2
[0115] 基于前述方法相同的原理,还提出了一种基于大语言模型的智能知识助手系统,参见图2和图3,所述大语言模型的智能知识助手系统比较于传统企业知识助手系统,主要
结合了大语言模型,构建AI知识库,AI知识库为用户的搜索提供知识信息。
[0116] 在本实施例中,所述基于大语言模型的智能知识助手系统包括以下模块:非结构化多模态文档解析模块、文档管理模块、文档内容智能搜索与引导模块和文档智能问答模
块,此系统流程对于构建企业各部门知识助理具有借鉴意义,如人力资源智能知识助理、财
税知识助理及客服知识助理等。以下为各模块的主要功能:
[0117] 非结构化多模态文档解析模块:这个模块的主要目的是对企业中不同格式的文档(如Words、PDF及HTML)进行结构化解析,以便更好地整合和利用这些信息。解析过程可以分
为几个关键步骤:
[0118] 文档内容抽取:从多种格式的文档中提取文本内容。这一步需要考虑到不同文档格式的特点,确保能够准确无误地提取文本,对于图片格式文档需要应用OCR技术进行提
取。
[0119] 文档段落划分:将抽取的文本内容按照逻辑和结构进行段落划分。这一步骤是为了更好地理解和组织文档内容,使其更易于后续的处理和分析。
[0120] 文档关键词抽取:应用大语言模型和人工标注抽取文档关键词,建立索引用于检索与搜索引导提示。
[0121] 文档内容向量化编码:将文本内容转换为向量形式,以便于使用机器学习和自然语言处理技术进行分析。这一步通常涉及到文本嵌入(text embedding)技术,目的是将文
本转化为计算机可以理解和处理的数值形式。
[0122] 这个流程能够将企业内部大量且多样的文档资料有效地转化为结构化数据,极大地提升信息的可用性和可检索性。
[0123] 文档管理模块:此模块的功能是为整个文档问答系统提供文件管理工作,包括文档上传、文件夹及文件管理与文件预览等功能,同时为了丰富文档内容,自动生成FAQ知识
库,具体功能说明如下:
[0124] 文档上传,即用户侧将文档上传到管理系统,支持上传文件类型包括txt、Words、PDF及HTML等,文档大小限制为小于100M。
[0125] 文件夹及文件管理,即每个用户可对自己上传的文件进行增删修改。
[0126] 文件预览,即点击文件时能够在线预览文件,常见文件格式在线预览较简单可通过前段插件解决,Words与PPT等先转文PDF在进行预览。
[0127] 文档内容智能搜索与引导模块:在传统的基于关键词的搜索方法中,快速而有效的查询通常依赖于对分词结果的匹配,但这种方法存在一些局限性。例如,它可能会错误地
匹配包含停用词等无关词汇,无法识别同义词,同时缺乏对概念和上下文的抽象理解能力。
为了克服这些限制,该系统采用了双重策略:
[0128] 意图识别模型的应用:这种模型专注于关键信息的提取,有效减少了停用词等无关词汇对搜索结果的干扰,通过精准识别用户查询的真实意图,将意图识别模型与大语言
模型融合能够提高搜索结果的相关性和准确性。
[0129] 引入语义搜索:本方案使用统一的向量编码模型对用户的搜索语句和文档数据库进行语义编码。在检索过程中,利用K近邻(KNN)方法进行向量匹配,从而实现更高级的语义
搜索。这种方法不仅能够识别语义上相近但关键词不同的内容,还能显著扩大搜索的召回
范围,并提高搜索的准确性。
[0130] 通过对比传统的分词搜索和基于向量的语义搜索,可以明显得知后者在处理自然语义上相近的内容时具有更高的效率和准确性。这种方法的引入,不仅提高了搜索的灵活
性和智能化程度,也极大地增强了用户体验,特别是在处理复杂和模糊的查询时。
[0131] 对于智能引导,搜索准确性不足通常源于两个主要因素:一是搜索引擎本身处理能力的限制,二是用户输入的搜索语句不够精确或详细。为了解决这些问题,提出了一种先
进的引导式搜索机制,旨在协助用户逐步细化和丰富他们的搜索查询,从而显著提高搜索
结果的准确度和相关性。
[0132] 以企业人力知识库为例,这个知识库储存了丰富的历史问答记录,包括公司休假制度、公司人才培养制度和公司保障制度等多种数据字段。当用户输入关键词如“人才培
养”进行搜索时,系统不仅会返回与“人才培养”相关的知识库条目,还会基于上下文智能地
提供一系列相关的提示词,例如“晋升”、“公司培训”等。这些提示词是基于“人才培养”相关
问题常见的关联系统,引导用户进一步扩展和具体化他们的搜索词汇。随后,当用户添加更
具体的关键词如“晋升”,系统将联合“人才培养”和“晋升”这两个词进行更精确的查询,并
返回更加相关的条目。同时,系统会继续提供新的提示词,进一步引导用户细化搜索。用户
可以按照这个过程重复操作,直至找到最精确和最相关的搜索结果。这种引导式搜索机制
不仅提高了搜索的准确性,还增强了用户交互体验,特别是在处理复杂或专业领域的查询
时,能够显著提升信息检索的效率和效果。
[0133] 这些提示词可根据实际情况,可以采用人工打标、大语言模型(LLM)等方法进行提取,并提前注入到数据库中。
[0134] 文档智能问答模块:在信息检索和问答系统的设计中,单独使用搜索引擎或大语言模型(LLM)各自有其局限性。搜索引擎虽能高效从数据库中提取与查询相关的信息,但通
常无法直接生成答案。而大语言模型虽然能够生成回答,但它无法直接访问和利用私有知
识库中的数据。
[0135] 为了解决这些问题,提出了一种融合搜索引擎和大语言模型的方法。这种方法的核心在于将搜索引擎和LLM的功能结合起来,以提高问答系统的效能和准确性。具体来说,
该方案的工作流程如下:
[0136] 初始问题处理:当用户提出一个问题时,系统首先通过搜索引擎在私有知识库中定位与该问题最相关的内容。这一步骤确保了从大量数据中快速提取出高度相关的信息。
[0137] prompt信息融合与处理:接着系统将提取出的知识和原始问题一同作为输入提示(prompt)传递给大语言模型。这一过程考虑到了LLM在token数量上的限制,优化输入内容
以确保效率和相关性。
[0138] 综合回答生成:大语言模型利用其强大的文本理解和生成能力,对问题和相关信息进行综合分析,生成准确的答案。
[0139] 通过这种结合搜索引擎的快速信息检索能力和LLM的高级文本处理能力,显著提高了问题解答的准确度和效率。它适用于处理需要访问和理解大量专业知识的复杂查询,
尤其是在需要从专业或私有知识库中获取信息的情况下。
[0140] 通过该系统,能够基于大预言模型的理解与生成能力,构建一套从文档解析、文档管理,文档搜索引导与问答生成的流程方法从而解决传统企业知识库人工查找低效、仅单
向查询无法对客问答的问题。
[0141] 实施例3
[0142] 基于前述方法相同的原理,还提出一种基于大语言模型的智能知识助手构建装置,参见图4,本公开实施例的一种基于大语言模型的智能知识助手构建装置100包括:
[0143] 110,接收文档模块,用于接收待处理知识文档;
[0144] 120,解析文档模块,用于将所述待处理知识文档进行结构化解析,得到所述待处理知识文档的文本内容和关键词;
[0145] 130,编码模块,用于将所述文本内容和所述关键词进行向量化编码,得到对应文本内容向量和关键词向量;
[0146] 140,建立索引模块,用于根据所述关键词向量建立和所述对应文本内容向量的索引关系。
[0147] 显然,本领域的技术人员应该明白,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,程序可存储于一计算机可读取存储介质
中,该程序在执行时,可包括如上述各控制方法的实施例的流程。上述的本发明的各模块或
各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多
个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从
而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电
路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不
限制于任何特定的硬件和软件结合。
[0148] 本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,程序可存储于一计算机可读取存储介质中,该
程序在执行时,可包括如上述各控制方法的实施例的流程。其中,存储介质可为磁碟、光盘、
只读存储记忆体(Read‑OnlyMemory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快
闪存储器(FlashMemory)、硬盘(HardDiskDrive,缩写:HDD)或固态硬盘(Solid‑
StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
[0149] 实施例4
[0150] 更进一步的,提出一种电子设备,包括:
[0151] 处理器;
[0152] 用于存储处理器可执行指令的存储器;
[0153] 其中,所述处理器被配置为执行所述可执行指令时实现实施例1所述的基于大语言模型的智能知识助手构建方法。
[0154] 本公开实施例的电子设备包括处理器以及用于存储处理器可执行指令的存储器。其中,处理器被配置为执行可执行指令时实现前面任一所述的基于大语言模型的智能知识
助手构建方法。
[0155] 需要说明的是,处理器的个数可以为一个或多个。同时,在本公开实施例的电子设备中,还可以包括输入装置和输出装置。其中,处理器、存储器、输入装置和输出装置之间可
以通过总线连接,也可以通过其他方式连接,此处不进行具体限定。
[0156] 存储器作为基于大语言模型的智能知识助手构建方法计算机可读存储介质,可用于存储软件程序、计算机可执行程序和各种模块,如:本公开实施例的基于大语言模型的智
能知识助手构建方法所对应的程序或模块。处理器通过运行存储在存储器中的软件程序或
模块,从而执行电子设备的各种功能应用及数据处理。
[0157] 输入装置可用于接收输入的数字或信号。其中,信号可以为产生与设备/终端/服务器的用户设置以及功能控制有关的键信号。输出装置可以包括显示屏等显示设备。
[0158] 以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技
术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨
在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的
其它普通技术人员能理解本文披露的各实施例。