CN117453925A - 知识迁移方法、装置、设备、可读存储介质及程序产品 - Google Patents

知识迁移方法、装置、设备、可读存储介质及程序产品 Download PDF

Info

Publication number
CN117453925A
CN117453925A CN202311387679.XA CN202311387679A CN117453925A CN 117453925 A CN117453925 A CN 117453925A CN 202311387679 A CN202311387679 A CN 202311387679A CN 117453925 A CN117453925 A CN 117453925A
Authority
CN
China
Prior art keywords
entity
sequence
knowledge
language model
determining
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
CN202311387679.XA
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202311387679.XA priority Critical patent/CN117453925A/zh
Publication of CN117453925A publication Critical patent/CN117453925A/zh
Pending legal-status Critical Current

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/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • 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
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Animal Behavior & Ethology (AREA)
  • Machine Translation (AREA)

Abstract

本申请提供了一种知识迁移方法、装置、设备、计算机可读存储介质及计算机程序产品;方法包括:获取待处理的知识图谱和预训练好的语言模型;对所述知识图谱进行节点序列采样,得到多个预设长度的第一实体关系序列;对每个第一实体关系序列进行序列改写,得到每个所述第一实体关系序列对应的第一描述文本;确定每个所述第一描述文本对应的第一标记序列,并利用每个所述第一标记序列对所述预训练好的语言模型的参数进行调整,得到训练好的语言模型,所述训练好的语言模型中包括所述知识图谱中的知识信息。通过本申请,能够将知识图谱中的知识迁移到语言模型,扩展语言模型的知识容量。

Description

知识迁移方法、装置、设备、可读存储介质及程序产品
技术领域
本申请涉及人工智能技术,尤其涉及一种知识迁移方法、装置、设备、计算机可读存储介质及计算机程序产品。
背景技术
随着自然语言处理技术的发展,语言模型已经能够应对多种自然语言处理任务,比如智能问答、机器翻译和文本生成等。语言模型会记忆训练语料库中包含的事实和知识。但是,进一步的研究表明,LLM无法回忆出事实,而且往往还会出现幻觉问题,即生成具有错误事实的表述。因此在因其广泛的知识面而受到广泛关注的同时,也面临着在输出内容一致性、正确性和可解释性方面的挑战。在相关技术中,在对语言模型进行知识嵌入时,需要构造基于文本数据的知识库,然后通过自回归任务微调语言模型,使得语言模型可以记住相关文本中的知识,并且理解针对于相关知识提问的问题,但是这种方式要求知识库必须是基于文本的,局限性大。
发明内容
本申请实施例提供一种知识迁移方法、装置、设备、计算机可读存储介质及计算机程序产品,能够将知识图谱中的知识迁移到语言模型,扩展语言模型的知识容量。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种知识迁移方法,所述方法包括:
获取待处理的知识图谱和预训练好的语言模型;
对所述知识图谱进行节点序列采样,得到多个预设长度的第一实体关系序列;
对每个第一实体关系序列进行序列改写,得到每个所述第一实体关系序列对应的第一描述文本;
确定每个所述第一描述文本对应的第一标记序列,并利用每个所述第一标记序列对所述预训练好的语言模型的参数进行调整,得到训练好的语言模型,所述训练好的语言模型学习到所述知识图谱中的知识信息。
本申请实施例提供一种知识迁移装置,包括:。
第一获取模块,用于获取待处理的知识图谱和预训练好的语言模型;
序列采样模块,用于对所述知识图谱进行节点序列采样,得到多个预设长度的第一实体关系序列;
序列改写模块,用于对每个第一实体关系序列进行序列改写,得到每个所述第一实体关系序列对应的第一描述文本;
参数调整模块,用于确定每个所述第一描述文本对应的第一标记序列,并利用每个所述第一标记序列对所述预训练好的语言模型的参数进行调整,得到训练好的语言模型,所述训练好的语言模型学习到所述知识图谱中的知识信息。
本申请实施例提供一种电子设备,所述电子设备包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现本申请实施例提供的知识迁移方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机程序或计算机可执行指令,用于被处理器执行时实现本申请实施例提供的知识迁移方法。
本申请实施例提供一种计算机程序产品,包括计算机程序或计算机可执行指令,述计算机程序或计算机可执行指令被处理器执行时,实现本申请实施例提供的知识迁移方法。
本申请实施例具有以下有益效果:
获取待处理的结构化的知识图谱和预训练好的语言模型,并通过对知识图谱进行节点序列采样,得到多个预设长度的第一实体关系序列,再对每个第一实体关系序列进行序列改写,得到每个第一实体关系序列对应的第一描述文本,从而再确定出每个第一描述文本对应的第一标记序列,每个第一描述文本对应的第一标记序列携带了知识图谱中的知识,因此利用每个所述第一标记序列对所述预训练好的语言模型进行微调,所得到的训练好的语言模型学习到了知识图谱中的知识信息,扩充了语言模型的知识容量,从而使得训练好的的语言模型兼具丰富从知识图谱中得到的结构化知识和强大语言理解表达能力,可广泛应用于智能对话、问答、搜索等领域,丰富了训练好的语言模型的应用场景和提高了训练好的语言模型的使用灵活性。
附图说明
图1A是本申请实施例提供的一个知识图谱示意图;
图1B是相关技术中提供的LLM知识嵌入的实现流程示意图;
图2是本申请实施例提供的数据处理系统100的架构示意图;
图3是本申请实施例提供的服务器400的结构示意图;
图4A是本申请实施例提供的知识迁移方法的一种实现流程示意图;
图4B是本申请实施例提供的序列采样的实现流程示意图;
图4C是本申请实施例提供的确定选择概率的实现流程示意图;
图5A是本申请实施例提供的序列改写的实现流程示意图;
图5B是本申请实施例提供的第一实体关系序列对应的第一描述文本的实现流程示意图;
图5C是本申请实施例提供的对语言模型进行参数调整的实现流程示意图;
图6是本申请实施例提供的利用训练好的语言模型进行智能问答的实现流程示意图;
图7是本申请实施例提供的利用更新后的知识图谱再次对语言模型进行训练的实现流程示意图。
图8是本申请实施例提供的知识迁移方法的另一种实现流程示意图;
图9是本申请实施例提供的序列改写的实现流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本申请实施例所使用的所有的技术和科学术语与所属技术领域的技术人员通常理解的含义相同。本申请实施例中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)大语言模型(Large Language Model,LLM),通常指的是具有大量参数和层数的预训练语言模型,例如生成预训练转换器(Generative Pre-trained Transformer,GPT)系列和双向编码器表示(Bidirectional Encoder Representations,BERT)系列等。这些模型通过在大规模语料库上进行预训练,可以学习到语言的语法、语义和上下文信息,从而为各种自然语言处理任务提供强大的支持。大语言模型是利用自回归方式训练在大量语言语料上训练的语言模型。一个LLM包含其模型M和对应的词汇表V。
2)GPT,是一种基于Transformer架构的预训练语言模型。它可以在大规模文本语料库上进行自我监督学习,从而学习到自然语言的语法、语义和上下文信息,并且在各种语言任务中取得了卓越的性能表现。
3)词汇表:在LLM中用来映射实际文本输入和模型输入的一个字典。例如:V={“a”:1,“bb”:2,“ccc”:3},通过这个词汇表,给定一个输入的文本序列Wi=(a,bb,a,ccc),则映射的结果为[1,2,1,3]。在不引起歧义的情况下我们用V(Wi)代表这一从文本序列到整数序列的映射。这一映射的输出作为LLM的输入。同时用V'(token_idx)表示从正数序列到文本序列的映射。例如:给定V={“a”:1,“bb”:2,“ccc”:3},token_idx=[1,1,3,3,2]则V'(token_idx)=("a","a","ccc","ccc","bb")
4)提示词(Prompt),是指作为输入的提示信息或开头,用于引导模型生成特定主题、风格或风格和主题结合的文本。Prompt可以是一个单词、短语、句子或段落,其作用是为模型提供一些启发性信息,以帮助它更好地理解和生成文本。
5)知识图谱,是一种结构化的知识表示方式,用于描述现实世界中的实体、概念、关系和属性,并以图的形式进行可视化呈现。它旨在将大量的知识整合、组织和表示为一个具有语义关联的知识网络。同时,知识图谱可以包含不同领域的知识,例如,人物、地点、事件、科学概念等,数学上知识图谱定义成如下形式G(V,R,X),其中:V为实体集合,R为实体和实体之间的关系,X则为实体可能具有的属性。图1A是本申请实施例提供的一个知识图谱示意图,如图1所示,{欧洲,伦敦,英国,巴黎,法国}为图1所示的知识图谱中包括的实体集合,该实体集合中包括5个实体,知识图谱中的(法国,首都是,巴黎),其中的“首都是”为实体“法国”和“巴黎”的关系。这种关系可能是单向也可能是双向的。{法国:{面积:643801平方千米,人口:6775万}}中的“面积”,“人口”为“法国”这一实体的属性。
6)指令微调,是一种通过在由(指令,输出)对组成的数据集上进一步训练大语言模型的过程。其中,指令代表模型的人类指令,输出代表遵循指令的期望输出。这个过程有助于弥合LLMs的下一个词预测目标与用户让大语言模型遵循人类指令的目标之间的差距。
为了更好地理解本申请实施例提供的知识迁移方法,首先对相关技术中用于大语言模型的知识嵌入方法及存在的缺点进行说明。
图1B是相关技术中提供的LLM知识嵌入的实现流程示意图,如图1B所示,在相关技术中,基于LLM的知识嵌入方法在实现时,首先构造基于文本数据的知识库001,然后通过自回归任务微调LLM,得到精调后的LLM002。精调后的LLM可以记住相关文本中的知识,并且理解针对于相关知识提问的问题。这种知识嵌入的方式具有非常重要的研究和应用的智能助手构建方案具有重要的研究和应用价值。尤其是针对于特定领域,例如法律,医疗,客服等的智能助手,是当前非常有前景的应用方案。
相关技术中的基于LLM的知识嵌入方法存在以下问题:知识库本身必须是要基于文本数据的,这导致结构化的知识,例如知识图谱,无法很好的利用到大语言模型中。
基于此,本申请实施例提供一种知识迁移方法、装置、设备、计算机可读存储介质和计算机程序产品,能够将知识图谱中的知识迁移到大语言模型,从而扩展大语言模型的知识容量,下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的设备可以实施为笔记本电脑、平板电脑,台式计算机、机顶盒、移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)、智能手机、智能音箱、智能手表、智能电视、车载终端等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为服务器时示例性应用。
参见图2,图2是本申请实施例提供的数据处理系统100的架构示意图,如图2所示,数据处理系统100包括终端200、网络300、服务器400和数据库500,终端200通过网络300连接服务器400,网络300可以是广域网或者局域网,又或者是二者的组合,数据库500可以用于为服务器400提供数据支持,例如数据库500可以用于存储知识图谱以及语言模型的训练数据。其中,数据库500可以独立于服务器400,也可以设置在服务器400内,图2示出的是数据库500独立于服务器400的情况。
终端200用于接收用户的输入操作,获取问题信息,在图形界面410显示问题信息,并向服务器400发送查询请求,服务器400接收到查询请求后,获取问题信息,并基于训练好的语言模型确定问题信息对应的答案文本,并将答案文本发送至终端200。服务器400中的训练好的语言模型学习到知识图谱中的知识。在一些实施例中,服务器400获取待处理的知识图谱和预训练好的语言模型,并对知识图谱进行节点序列采样,得到多个预设长度的第一实体关系序列,然后对每个第一实体关系序列进行序列改写,得到每个第一实体关系序列对应的第一描述文本,确定每个第一描述文本对应的第一标记序列,并利用每个第一标记序列对预训练好的语言模型的参数进行调整,得到训练好的语言模型,如此就将知识图谱中的知识迁移到语言模型中,从而能够扩充语言模型的知识容量。
在一些实施例中,服务器400可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端200可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
参见图3,图3是本申请实施例提供的服务器400的结构示意图,图3所示的服务器400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(Digital Signal Processor,DSP),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(Random Access Memory,RA M)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他电子设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(Universal Serial Bus,USB)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图3示出了存储在存储器450中的知识迁移装置455,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块4551、序列采样模块4552、序列改写模块4553和参数调整模块4554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的知识迁移方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(Application Specific Integ rated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、可编程逻辑器件(Programmable Logic Device,PLD)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)、现场可编程门阵列(Field-Progr ammable Gate Array,FPGA)或其他电子元件。
将结合本申请实施例提供的服务器的示例性应用和实施,说明本申请实施例提供的知识迁移方法。
下面,说明本申请实施例提供的知识迁移方法,如前所述,实现本申请实施例的图像处理方法的电子设备可以是终端、服务器,又或者是二者的结合。因此下文中不再重复说明各个步骤的执行主体。
参见图4A,图4A是本申请实施例提供的知识迁移方法的一种实现流程示意图,将结合图4A示出的步骤进行说明,图4A步骤的主体是服务器。
在步骤101中,获取待处理的知识图谱和预训练好的语言模型。
在一些实施例中,知识图谱是一种结构化的知识表示方式,用于描述现实世界中的实体、概念、关系和属性,并以图的形式进行可视化呈现。知识图谱可以包含不同领域的知识,例如,法律、医学、科学概念、人物、事件等。知识图谱由节点和边组成,每个节点表示一个“实体”,每条边标识实体与实体之间的“关系”,知识图谱本质上可以理解为是一个语义网络。在本申请实施例中,知识图谱是预先构建好的,可以将不同的数据源进行实体命名识别、关系抽取、实体统一、指代消解,构建出知识图谱,然后存储构建好的知识图谱。知识图谱主要有两种存储方式:一种是基于RDF的存储;另一种是基于图数据库的存储。RDF一个重要的设计原则是数据的易发布以及共享,因此多用于学术界场景,RDF以三元组的方式来存储数据而且不包含属性信息。图数据库一般以属性图为基本的表示形式,所以实体和关系可以包含属性,多用于工业界场景。
语言模型(Language Modeling)是自然语言处理领域的核心技术之一,它的目标是学习一种概率分布,用于表示自然语言文本中词汇和句子的组合。语言模型可以分为大语言模型和小语言模型,其中,大语言模型是指基于神经网络等机器学习技术,针对自然语言处理任务训练的模型,它能够学习到自然语言中的语法、语义、语用等信息,并能够生成、理解、翻译自然语言文本。大语言模型通常需要消耗大规模的语料库和计算资源进行训练,这些模型的应用非常广泛,包括文本分类、机器翻译、自动问答、摘要生成、对话系统等。小语言模型(Small Language Model,SLM),是指相对于大语言模型,模型规模较小、参数数量较少、训练时间较短、计算资源要求较低的自然语言处理模型。在本申请实施例中,以语言模型为大语言模型为例进行说明。预训练好的大语言模型是指在超大规模语料上,利用无监督或弱监督的方式对大语言模型进行训练得到的模型。
在步骤102中,对知识图谱进行节点序列采样,得到多个预设长度的第一实体关系序列。
其中,假设预设长度为N,N为大于1的整数,那么第一实体关系序列中包括N个实体,N-1个关系。
在一些实施例中,参见图4B,步骤102可以通过下述的步骤1021至步骤1025实现,下面结合图4B进行说明。
在步骤1021中,从知识图谱中随机选取起点实体,基于起始实体,确定知识图谱中各个其他实体被选择作为第二个实体的第二选择概率。
在一些实施例中,可以从知识图谱中随机选取多个起点实体,然后按照步骤1021至步骤1025,确定出多个第一实体关系序列。这里,知识图谱中各个其他实体是指知识图谱中除起始实体之外的实体。在基于起始实体,确定知识图谱中各个其他实体被选择作为第二实体的第二选择概率时,首先获取进行随机游走的重启概率和知识图谱中的实体总数,其中,重启概率是预设好的超参数,重启概率为0到1之间的实数,知识图谱中的实体总数为大于1的整数,然后确定从起始实体出发到达知识图谱中各个其他实体的转换概率,其中,当起始实体与一其他实体为相邻关系时,获取起始实体的度数,并将起始实体的度数的倒数,确定为起始实体与所述其他实体之间的转换概率,示例性的,起始实体A与其他实体B之间为相邻关系,且起始实体的度数为5,那么起始实体A与其他实体之间的转换概率为1/5,也即从起始实体A到达其他实体B的概率为0.2。当起始实体与一其他实体不为相邻关系时,确定起始实体与所述其他实体之间的转换概率为0。
在得出各个其他实体的转换概率时,可以按照公式(1-1)确定知识图谱中各个其他实体被选择作为第二个实体的第二选择概率:
其中,r为重启概率,transition_probablity为转换概率,N为实体总数,v1为已经确定出的起始实体,v2表示知识图谱中除起始实体之外的任一其他实体,也即P(v2|v1)表示在已知起始实体为v1的情况下,知识图谱中任意一个其他实体v2被选择作为第二个实体的概率。
在步骤1022中,基于第二选择概率,从知识图谱中确定第二实体,并从知识图谱中确定起始实体与第二实体之间的第一关系。
在一些实施例中,在确定出除起始实体之外的其他实体被选择为第二实体的第二选择概率后,那么就可以按照这一概率,从知识图谱中选择出第二实体,由于如果其他实体与起始实体不是相邻关系时,转换概率为0,那么第二选择概率即为由于N为知识图谱中的实体总数,是远远大于1的整数,r为0到1之间的小数,因此/>为接近于0的小数,那么在该步骤中确定出的第二实体是与起始实体具有相邻关系的,因此可以从知识图谱中确定出起始实体与第二实体之间的第一关系。
在步骤1023中,基于第i-1实体,确定知识图谱中各个其他实体被选择作为第i个实体的第i选择概率。
其中,i=3,4,…,N,N为第一实体关系序列中的实体个数。基于第i-1实体确定知识图谱中各个其他实体被选择为第i个实体的第i选择概率,也即确定从第i-1个实体出发达到各个其他实体的概率。
在一些实施例中,参见图4C,步骤1023可以通过下述步骤231至步骤233实现,下面具体说明。
在步骤231中,获取进行随机游走的重启概率和所述知识图谱中的实体总数。
在一些实施例中,进行随机游走的重启概率为预先设置好的,重启概率为0到1之间的实数。知识图谱中的实体总数可以从知识图谱中的属性信息中获取,知识图谱的属性信息中可以包括该知识图谱的类型、实体总数、关系总数等信息。
在步骤232中,确定第i-1实体与知识图谱中各个其他实体之间的转换概率。
在一些实施例中,首先确定第i-1实体与知识图谱中各个其他实体之间是否为相邻关系,也即确定第i-1实体与其他实体之间是否具有连接边,当第i-1实体与一其他实体之间具有连接边,说明第i-1实体与一其他实体为相邻关系,此时,获取所述第i-1实体的度数,将所述第i-1实体的度数的倒数,确定为所述第i-1实体与所述其他实体之间的转换概率,第i-1实体的度数是指与第i-1实体相连的边的个数,第i-1实体的度数为大于或者等于1的整数,因此第i-1的度数的倒数为0到1之间的小数。
当第i-1实体与一其他实体不为相邻关系时,说明第i-1实体不可能到达该其他实体,因此确定第i-1实体与所述其他实体之间的转换概率为0。
在步骤233中,基于重启概率、各个其他实体对应的转换概率和实体总数,确定各个其他实体对应的第i选择概率。
在一些实施例中,将重启概率r确定为第一权重,将1减去第一权重,得到第二权重,也即第二权重为(1-r);将所述第二权重与转换概率的乘积,确定为第一加权概率,也即第一加权概率为(1-r)*transition_probablity,利用所述第一权重与所述实体总数的倒数的乘积,确定为第二加权概率,也即第二加权概率为r/N;将所述第一加权概率和所述第二加权概率的和确定为所述第i选择概率。
在步骤1024中,基于第i选择概率,从所述知识图谱中确定第i实体,并从知识图谱中确定第i-1实体与第i实体之间的第(i-1)关系。
在一些实施例中,步骤1024的实现过程与步骤1022是类似的,步骤1024在实现时可以参考步骤1022的实现过程。
在步骤1025中,将起始实体至第N实体,以及第一关系至第(N-1)关系构成第一实体关系序列。
在一些实施例中,在将起始实体至第N实体,以及第一关系至第(N-1)关系构成第一实体关系序列时,各个关系位于两个实体中间,第一实体关系序列为:起始实体、第一关系、第二实体、第二关系、第三实体、…、第N-1实体、第N-1关系、第N实体,也即第一实体关系序列中包括N个实体和N-1个关系。
示例性地,N为4,第一实体关系序列可以为:法国,属于,欧洲,包括,英国,首都是,伦敦。
在步骤103中,对每个第一实体关系序列进行序列改写,得到每个第一实体关系序列对应的第一描述文本。
在一些实施例中,对第一实体关系序列进行序列改写,是指将第一实体关系序列中包括的多个实体和关系,转换为语义连贯的第一描述文本。针对每个第一实体关系序列,可以通过图5A示出的步骤1031A至步骤1033A确定第一实体关系序列对应的第一描述文本,下面结合图5A进行说明。
在步骤1031A中,获取用于进行序列改写的提示词模板。
在一些实施例中,在需要利用大语言模型执行自然语言处理任务时,需要输入提示词(prompt),如果用户每次需要输入很多内容相似的prompt时,可以预先生成一个提示词模板,如此能够节省用户很多时间不必去输入很多内容相似的提示词,提示词模板中包括可替换部分和固定内容部分,将可替换部分定义在一个变量中,当与大语言模型进行交互时只需要发送可替换部分内容即可,如此能够大大提高用户和LLM交互的效率。
在步骤1032A中,将第一实体关系序列和提示词模板进行组装,得到第一提示词。
在一些实施例中,可以利用组装函数实现第一实体关系序列和提示词模板的组装过程,将第一实体关系序列和提示词模板进行组装可以是将提示词模板中的可替换部分,替换为第一实体关系序列,得到第一提示词。
示例性地,提示词模板可以是:以下{可替换部分}是一个由知识图谱中采样得到的实体序列,根据这个序列改写出一段逻辑清晰,简洁的描述,必须包含{}中出现的所有信息。第一实体关系序列为:法国,属于,欧洲,包括,英国,首都是,伦敦,那么将第一实体关系序列与提示词模板进行组装,得到的第一提示词为:以下{法国,属于,欧洲,包括,英国,首都是,伦敦}是一个由知识图谱中采样得到的实体序列,根据这个序列改写出一段逻辑清晰,简洁的描述,必须包含{}中出现的所有信息。
在步骤1033A中,利用预训练好的语言模型对第一提示词进行预测处理,得到第一实体关系序列对应的第一描述文本。
在一些实施例中,预训练好的语言模型对第一提示词进行编码处理和解码处理,得到第一实体关系序列对应的第一描述文本。承接上述举例,根据步骤1032A中所示的第一提示词,得到的第一描述文本可以为:法国是属于欧洲的一个国家,欧洲还包括英国,英国的首都是伦敦。
在上述步骤1031A至步骤1033A中,通过预设的提示词模板和第一实体关系序列组装得到第一提示词,如此能够提高第一提示词的生成效率,然后利用预训练好的语言模型对第一提示词进行预测处理,得到第一实体关系序列对应的第一描述文本,为后续得到对预训练好的语言模型进行微调的训练数据提供必要的数据基础。
在一些实施例中,针对每个第一实体关系序列,还可以通过步骤5B示出的步骤1031B至步骤1033B确定第一实体关系序列对应的第一描述文本,下面结合图5B进行说明。
在步骤1031B中,获取用于进行序列改写的提示词模板,并获取第一实体关系序列中各个实体的属性信息。
在一些实施例中,获取用于进行序列改写的提示词模板在实现时与步骤1031A的实现过程是类似的,可参考步骤1031A的实现过程。第一实体关系序列中各个实体的属性信息是包含于知识图谱中的,因此可以基于各个实体的实体标识,从知识图谱中获取实体的属性信息。
在步骤1032B中,将第一实体关系序列、各个实体的属性信息和提示词模板进行组装,得到第二提示词。
在一些实施例中,首先将第一实体关系序列与各个实体的属性信息进行组装,得到包括属性信息的第一实体关系序列,并且每个实体的属性信息位于该实体与下一个关系之间。示例性地,第一实体关系序列为:法国,属于,欧洲,包括,英国,首都是,伦敦,第一实体关系序列中包括的实体包括:法国、欧洲、英国和伦敦,其中,法国的属性信息为:{人口:6699万,面积:672834平方公里},欧洲的属性信息为{人口:7.53亿,面积:10180000平方公里},英国的属性信息为:{人口:6889万,面积:243610平方公里},伦敦的属性信息为:{人口:890万,面积:8382平方公里}。那么包括属性信息的第一实体关系序列为:法国{人口:6699万,面积:672834平方公里},属于,欧洲{人口:7.53亿,面积:10180000平方公里},包括,英国{人口:6889万,面积:243610平方公里},首都是,伦敦{人口:890万,面积:8382平方公里}。在得到包含属性信息的第一实体关系序列之后,利用组合函数将包含属性信息的第一实体关系序列和提示词模板进行组装,也即将提示词模板中的可替换部分替换为包含属性信息的第一实体关系序列,得到第二提示词。
继续以步骤1032A中示出的提示词模板为例进行说明,将该提示词模板与包含属性信息的第一实体关系序列进行组装,得到的第二提示词为:以下{法国{人口:6699万,面积:672834平方公里},属于,欧洲{人口:7.53亿,面积:10180000平方公里},包括,英国{人口:6889万,面积:243610平方公里},首都是,伦敦{人口:890万,面积:8382平方公里}}是一个由知识图谱中采样得到的实体序列,根据这个序列改写出一段逻辑清晰,简洁的描述,必须包含{}中出现的所有信息。
在步骤1033B中,利用预训练好的语言模型对第二提示词进行预测处理,得到第一实体关系序列对应的第一描述文本。
步骤1033B在实现时与步骤1033A的实现过程是类似的,可以参考步骤1033A的实现过程。
根据第二提示词得到的第一描述文本可以为:法国是属于欧洲的一个国家,法国的有6699万人口,面积为672834平方公里,而欧洲有7.53亿人口,面积为10180000平方公里,欧洲还包括英国,英国面积243610平方公里,人口6889万,英国的首都是伦敦,伦敦的面积为8382平方公里,人口890万。
在上述步骤1031B至步骤1033B中,在生成第一实体关系序列对应的第一描述文本时,对于第一实体关系序列中存在的实体引入对应的属性信息,如此能够提高生成的第一描述文本的丰富性,可以使得预训练好的语言模型在利用第一描述文本进行参数调整后,能够学习到更多的知识。
在步骤104中,确定每个第一描述文本对应的第一标记序列,并利用每个第一标记序列对预训练好的语言模型的参数进行调整,得到训练好的语言模型。
其中,训练好的语言模型中包含所述知识图谱中的知识信息。
在一些实施例中,参见图5C,步骤104可以通过下述步骤1041至步骤1046实现,下面具体说明。
在步骤1041中,获取预训练好的语言模型对应的词汇表。
在一些实施例中,词汇表是一个由模型事先建立的映射表,将每个可能的分词映射到一个唯一的ID,通过词汇表能够实现从文本序列到整数序列的映射。
在步骤1042中,利用词汇表确定每个第一描述文本对应的第一标记序列。
在一些实施例中,首先对第一描述文本进行分词处理,得到第一描述文本中的各个第一分词,这里的分词可以理解为是文本中的最小单位。在英文中,一个分词可以是一个单词,也可以是一个标点符号。在中文中,一个分词可能是一个字,也可以是一个词语。在得到第一描述文本中的各个第一分词后,从词汇表中获取每个第一分词对应的第一标记,各个分词对应的第一标识构成第一标记序列。
在步骤1043中,将每个第一标记序列中的前k个第一标记确定为训练数据,将每个第一标记序列中的第k+1个第一标记确定为标签数据。
其中,k=1,2,…M-1,M为第一标记序列中的标记总数。也就是说如果第一标记序列中有M个第一标记,那么该第一标记序列可以得出M-1组训练数据和标签数据的组合。示例性地,假设M为5,也即第一标记序列中包括5个第一标记,w1、w2、w3、w4和w5,那么可以得出4组训练数据和标签数据的组合,其中个,第一组训练数据为w1,标签数据为w2,第二组训练数据为w1和w2,标签数据为w3,第三组训练数据为w1、w2和w3,标签数据为w4,第四组训练数据为w1、w2、w3、w4,标签数据为w5
在步骤1044中,利用预训练好的语言模型对训练数据进行预测处理,得到预测数据。
在一些实施例中,每个第一标记序列能够生成多组训练数据,利用训练好的语言模型对各个训练数据进行预测处理,得到各个训练数据对应的预测数据,其中预测数据为第k个第一标记为词汇表中各个第一标记的概率分布,假设词汇表中有S个分词对应的标记,那么预测数据为1*S维向量,每个向量值为0到1的概率值。
在步骤1045中,基于预设的损失函数、预测数据和标签数据确定损失值。
在一些实施例中,确定各个标签数据对应的独热编码结果,该独热编码结果也为1*S维的向量,可以利用onehot函数确定各个编码数据对应的独热编码数据,当标签数据为第k个第一标记时,确定第k个第一标记在词汇表中的位置数据P,那么通过onehot(P,S)得到该标签数据的独热编码结果,Onehot(P,S)是将一个离散正数P映射到S维度的操作。例如,onehot(3,5)=[0,0,1,0,0],在得到标签数据的独热编码结果之后,可以当预测数据和标签数据的独热编码结果代入到预设的损失函数中,得到损失值。其中,预设的损失函数可以是交叉熵损失函数,还可以是负对数似然损失函数等,本申请实施例对损失函数的具体形式不做限定。
在步骤1046中,将损失值反向传播至预训练好的语言模型,对预训练好的语言模型的参数进行调整,得到训练好的语言模型。
在一些实施例中,根据损失值,计算出预训练好的语言模型参数的梯度,然后通过反向传播算法将梯度传递回去,从而更新模型参数,直至达到训练结束条件,得到训练好的语言模型。其中,训练结束条件可以是达到最小损失值或者达到预设的训练次数,还可以是连续两次训练得到的损失值的差值小于差值阈值。
步骤1046中,对预训练好的语言模型的参数进行调整时,可以是对预训练好的语言模型的所有参数均进行调整,还可以是对部分参数进行调整,例如可以基于LorA算法对预训练好的语言模型进行微调。
需要说明的是,在实际应用过程中,可以利用步骤101至步骤104,对多个知识图谱进行序列采样、序列改写,并生成描述文本,然后利用描述文本对预训练好的语言模型进行参数微调,得到包括多个知识图谱的知识信息的训练好的语言模型。
在本申请实施例提供的知识迁移方法中,获取待处理的结构化的知识图谱和预训练好的语言模型,并通过对知识图谱进行节点序列采样,得到多个预设长度的第一实体关系序列,再对每个第一实体关系序列进行序列改写,得到每个第一实体关系序列对应的第一描述文本,从而再确定出每个第一描述文本对应的第一标记序列,每个第一描述文本对应的第一标记序列携带了知识图谱中的知识,因此利用每个所述第一标记序列对所述预训练好的语言模型进行微调,所得到的训练好的语言模型学习到了知识图谱中的知识信息,扩充了语言模型的知识容量,实现了知识增强,从而使得训练好的的语言模型兼具丰富从知识图谱中得到的结构化知识和强大语言理解表达能力,可广泛应用于智能对话、问答、搜索等领域,丰富了训练好的语言模型的应用场景和提高了训练好的语言模型的推理能力以及提高了推理结果的可解释性。
在一些实施例中,如图6所示,在步骤104之后,可以根据下述步骤105至步骤107,利用训练好的语言模型,进行智能问答,下面结合图6进行说明。
在步骤105中,接收问答请求,并获取问题文本。
在一些实施例中,问答请求可以是终端响应于接收到的提问操作发送至服务器的,问答请求中携带有问题数据,其中问题数据可以是问题文本,也可以是问题语音数据,如果问答请求中携带的是问题语音数据,可以利用语音识别模型对问题语音数据进行语音识别,得到问题文本。
在步骤106中,利用所述训练好的语言模型,对问题文本进行预测处理,得到问题文本对应的回答文本。
在一些实施例中,训练好的语言模型可以根据问题文本,进行意图识别和语义分析,然后基于意图识别和语义分析的结果,生成回答文本。
在步骤107中,输出回答文本。
在一些实施例中,输出回答文本可以是服务器将回答文本发送至问答请求对应的终端,终端在自身的显示装置上呈现回答文本。
在上述步骤105至步骤107中,进行智能问答所采用的训练好的语言模型中包括从知识图谱迁移过去的知识信息,因此能够提高模型推理能力,保证回答文本的准确性。
需要说明的是,在步骤105至步骤107中,是以利用训练好的语言模型进行智能问答为例进行说明的,除了智能问答之外,由于训练好的语言模型已经利用知识图谱中包含的知识信息完成了知识增强,训练好的语言模型还可以应用于关系提取、链接预测等场景,本申请实施例对此不进行限定。
在一些实施例中,如图7所示,可以通过下述步骤201至步骤204对知识图谱进行更新,并利用更新后的知识图谱对预训练好的语言模型进行训练,得到新的训练好的语言模型,下面结合图7进行说明。
在步骤201中,响应于针对知识图谱的更新操作,对知识图谱进行更新,得到更新后的知识图谱。
因为知识图谱是一个结构化的数据。所以知识图谱中的实体关系都是明确的,当有新的知识增加到知识图谱中时,或有节点被删除、被修改时,通过结构化的知识图谱可以更清晰的表现出来哪些节点是新增的、哪些节点修改过、哪些节点被删除了。在本申请实施例中,针对知识图谱的更新操作可以是新增实体或关系、删除实体或关系,还可以是修改实体或关系,响应于针对知识图谱的更新操作,对知识图谱中的实体或关系进行新增、删除或修改,得到更新后的知识图谱。
在步骤202中,对更新后的知识图谱进行节点序列采样,得到多个预设长度的第二实体关系序列。
在步骤203中,对每个第二实体关系序列进行序列改写,得到每个所述第二实体关系序列对应的第二描述文本。
在步骤204中,确定每个第二描述文本对应的第二标记序列,并利用每个第二标记序列对预训练好的语言模型的参数进行调整,得到训练好的语言模型。
其中,训练好的语言模型中包括更新后的知识图谱中的知识信息。
需要说明的是,上述步骤202至步骤204的实现过程与步骤102至步骤104是类似的,在可以参考步骤102至步骤104的实现过程。
在步骤201至步骤204中,当知识图谱发生更新后,利用更新后的知识图谱对预训练好的语言模型进行参数微调,从而得到另一个训练好的语言模型,而不是利用更新后的知识图谱对包含更新前的知识图谱的知识信息的语言模型进行训练,这样能够得到两个训练好的语言模型,可以通过版本信息对两个训练好的语言模型进行区分,如此可以在需要利用语言模型进行自然语言处理时,选择合适的语言模型。举例来说,当法律法规发生改变时,需要相应的更新知识图谱,而进行问题咨询时,如果咨询事件的发生时间不适用与最新的法律法规,而需要追溯到事件发生时间所对应的法律法规,那么就需要利用更新前的知识图谱对应的训练好的语言模型进行自然语言处理,如此能够保证得到的自然语言处理结果的准确性。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例提供的知识迁移方法,能够应用于所有需要将结构化知识源迁移到语言模型的场景。图8是本申请实施例提供的知识迁移方法的另一种实现流程示意图,下面结合图8对各个步骤进行说明。
在步骤401中,获取待处理的知识图谱。
在步骤402中,基于知识图谱进行序列采样。
给定一个知识图谱G(V,R,X),序列采样是通过采样算法得到一个实体-关系的序列Q,在实现时,可以按照公式(2-1)基于随机游走的重启概率,对该知识图谱进行采样,得到第一实体关系序列:
q=Sampler(G,r) (2-1);
其中,q为生成的长度为l的实体序列,r为随机游走的重启概率(restartprobability),l为生成序列的长度。
随机游走采样的实现过程为:首先从知识图谱G中随机选取一个起点实体v0,根据上一步获得的实体vi-1,按照概率P自vi-1出发选择下一个实体vi,概率P可以利用公式(2-2)确定:
其中,transition_probability(vi-1,vi)为从vi-1转换到vi的概率,|V|为实体集合个数。如果vi是vi-1的邻居,其余情况下transition_probability(vi-1,vi)=0。重复该步骤,直到获得长度为l的实体-关系交替序列q:(v0,r01,v1,r12,...,vl),其中,rij表示从实体vi到vj的关系。
通过重复序列采样的过程,能够从知识图谱G中采样出足够多长度为l的实体-关系序列集合Q={q1,q2,...,qm}。以下是通过序列采样得到的第一实体关系序列的示例:
(法国->属于->欧洲->包括->英国->首都是->伦敦)
(日本->位于->亚洲->拥有->中国->首都是->北京)
(埃及->在->非洲->拥有->尼日利亚->首都是->阿布贾)
(美国->属于->北美洲->包括->加拿大->首都是->渥太华)
(智利->处于->南美洲->包括->巴西->首都->巴西利亚)
(南非->在->非洲->有->津巴布韦->首都->哈拉雷)
(澳大利亚->属于->大洋洲->靠近->新西兰->首都->惠灵顿)
(阿根廷->位于->南美洲->拥有->秘鲁->首都->利马)
在一些实施例中,还可以利用其它随机游走的方式进行序列采样,例如可以使用Node2vec进行随机游走采样,本申请实施例对进行序列采样的算法不进行限定。
在步骤403中,序列改写。
在该步骤中,是将由实体关系构成的序列q改写成一个第一描述文本t。在实现时,给定一个LLM模型M,一个序列q,一个提示词模板P,可以通过公式(2-3)得到第一描述文本t:
t=M(V(S(q|P))) (2-3);
其中,S为组装函数。例如,提示词模板P为类似于“Prompt文本{可替换部分}”的形式,那么,S则为replace(P,“{可替换部分}”,D)。V是词汇表映射函数。
图9是本申请实施例提供的序列改写的实现流程示意图,如图9所示,该流程包括:
在步骤4031中,对输入的序列q和提示词模板进行组装。
在一些实施例中,利用组装函数,对输入的序列q和提示词模板进行组装,得到大语言模型的输入文本。
示例性地,假设输入的序列q为{巴黎,伙伴城市,伦敦,英国,欧洲},提示词模板为:以下{可替换部分}是一个由知识图谱中采样得到的实体序列,根据这个序列改写出一段逻辑清晰,简洁的描述,必须包含{}中出现的所有信息。那么将序列q与提示词模板进行组装,也即将序列q代替提示词模板中的“可替换部分”得到大语言模型的输入文本:以下{巴黎,伙伴城市,伦敦,英国,欧洲}是一个由知识图谱中采样得到的实体序列,根据这个序列改写出一段逻辑清晰,简洁的描述,必须包含{}中出现的所有信息。
再例如,序列q为{美国,属于,北美洲,包括,加拿大,首都是,渥太华},根据提示词模板,得到大语言模型的输入文本为:以下{美国,属于,北美洲,包括,加拿大,首都是,渥太华}是一个由知识图谱中采样得到的实体序列,根据这个序列改写出一段逻辑清晰,简洁的描述,必须包含{}中出现的所有信息。
在一些实施例中,对于序列中存在的实体,还可以引入实体对应的属性x来生成第一描述文本t。此时,可以从知识图谱中获取序列中实体的属性,并将实体的属性也增加至序列中,从而与提示词模板进行组装,得到包括实体属性的提示词。示例性地,增加实体属性后的序列q为{巴黎:{人口:1300万,面积:18,940.7平方公里},伙伴城市,伦敦:{人口:890万,面积:8,382.00平方公里},英国:{人口:6889万,面积:243,610平方公里},欧洲},该序列对应的输入文本为:以下{巴黎:{人口:1300万,面积:18,940.7平方公里},伙伴城市,伦敦:{人口:890万,面积:8,382.00平方公里},英国:{人口:6889万,面积:243,610平方公里},欧洲}是一个由知识图谱中采样得到的实体序列,根据这个序列改写出一段逻辑清晰,简洁的描述,必须包含{}中出现的所有信息。
需要说明的是,上述提示词模板可以有多种构造方式,不仅仅局限于上述提示词模板的示例。
在步骤4032中,利用LLM对组装文本进行模型推断。
在步骤4033中,输出第一描述文本t。
承接上述举例,针对序列q{巴黎,伙伴城市,伦敦,英国,欧洲},输出的第一描述文本t为:巴黎和伦敦都是位于欧洲的城市,两座城市之间存在伙伴城市的关系。伦敦是英国的首都,而英国属于欧洲大陆。针对序列q{美国,属于,北美洲,包括,加拿大,首都是,渥太华},大语言模型输出的第一描述文本t为:美国属于北美洲大陆,北美洲包括了加拿大这一国家,加拿大的首都是渥太华。
当序列q中包括实体的属性时,承接上述举例,针对序列q巴黎:{人口:1300万,面积:18,940.7平方公里},伙伴城市,伦敦:{人口:890万,面积:8,382.00平方公里},英国:{人口:6889万,面积:243,610平方公里},欧洲},大语言模型输出的第一描述文本t为:巴黎和伦敦都是欧洲的城市,巴黎的面积为18,940.7平方公里,人口1300万,伦敦的面积为8,382平方公里,人口890万。两座城市之间存在伙伴城市关系。伦敦是英国的首都,英国面积243,610平方公里,人口6889万,属于欧洲大陆。
在步骤4034中,存储第一描述文本t。
在一些实施例中,可以将生成的第一描述文本t存储至数据库中。
通过序列改写的步骤,可以将实体-关系序列集合Q={q1,q2,…qm}转化为经过改写后的文本集合T={t1,t2,…tm}。这些文本集合可以通过词汇表映射函数V映射成对应的Token序列Wi,即:Wi=V(ti)。最后得到可以用于对LLM进行指令微调的指令集合:W={W1,W2,...Wm}。
在步骤404中,指令微调。
给定微调指令Wi=(wi,w2,…,wk),其中wi为利用LLM模型M的词汇表映射函数得到的token,则指令微调是为了最大化公式(2-4)所示的概率:
其中,pj(wj|wj-1,…w1,M)是输入(wj-1,...,w1)片断时候M输出的概率,即pj=M((w1,w2,...,wj-1))。公式(2-4)可以等价为优化公式(2-5)所述的损失函数:
其中为模型M的输出概率分布,pj=M((w1,w2,...,wj-1))。|S|为模型M中的词汇表的长度。Onehot(a,b)是将一个离散正数a映射到b维度的操作。例如Onehot(3,5)=[0,0,1,0,0]。CrossEntropy()为交叉熵损失函数。定义为:
基于L(Wi)对于微调指令集合W,最终指令微调的损失为:
通过以上损失函数,对大语言模型进行参数调整,得到精调后的LLM模型M′,其包含了上述知识图谱的知识。在实际应用中,可以利用这个模型M′代替原有知识图谱中的一些功能。例如利用精调后的大语言模型可以进行关系提取,链接预测,知识图谱问答等。
在本申请实施例提供的知识迁移方法中,将结构化知识图谱中的知识迁移到语言模型中,扩展了语言模型的知识容量,相比直接构建文本知识库,使用知识图谱作为知识来源,知识结构更清晰也方便知识的维护、更新和扩展;并且能够利用微调后的大语言模型去实现知识图谱的部分功能,如关系提取、链接预测和知识图谱问答等,使用更灵活。另外,在本申请实施例中,是对已有的大规模预训练语言模型进行微调,可以快速赋予其知识图谱知识,避免从零训练语言模型的高昂计算成本,最后微调得到的大语言模型兼具丰富从知识图谱中得到的结构化知识和强大语言理解表达能力,可广泛应用于智能对话、问答、搜索等领域。
下面继续说明本申请实施例提供的知识迁移装置455的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器450的知识迁移装置455中的软件模块可以包括:
第一获取模块4551,用于获取待处理的知识图谱和预训练好的语言模型;
序列采样模块4552,用于对所述知识图谱进行节点序列采样,得到多个预设长度的第一实体关系序列;
序列改写模块4553,用于对每个第一实体关系序列进行序列改写,得到每个所述第一实体关系序列对应的第一描述文本;
参数调整模块4554,用于确定每个所述第一描述文本对应的第一标记序列,并利用每个所述第一标记序列对所述预训练好的语言模型的参数进行调整,得到训练好的语言模型,所述训练好的语言模型中包括知识图谱中的知识信息。
在一些实施例中,序列采样模块4552还用于:
从所述知识图谱中随机选取起点实体,基于所述起始实体,确定所述知识图谱中各个其他实体被选择作为第二个实体的第二选择概率;
基于所述第二选择概率,从所述知识图谱中确定第二实体,并从所述知识图谱中确定起始实体与第二实体之间的第一关系;
基于第i-1实体,确定所述知识图谱中各个其他实体被选择作为第i个实体的第i选择概率,其中,i=3,4,…,N,N为第一实体关系序列中的实体个数;
基于所述第i选择概率,从所述知识图谱中确定第i实体,并从所述知识图谱中确定所述第i-1实体与所述第i实体之间的第(i-1)关系;
将所述起始实体至第N实体,以及第一关系至第(N-1)关系构成第一实体关系序列。
在一些实施例中,序列采样模块4552还用于:
获取进行随机游走的重启概率和所述知识图谱中的实体总数;
确定第i-1实体与所述知识图谱中各个其他实体之间的转换概率;
基于所述重启概率、所述各个其他实体对应的转换概率和所述实体总数,确定所述各个其他实体对应的第i选择概率。
在一些实施例中,序列采样模块4552还用于:
当所述第i-1实体与一其他实体为相邻关系时,获取所述第i-1实体的度数;
将所述第i-1实体的度数的倒数,确定为所述第i-1实体与所述其他实体之间的转换概率;
当所述第i-1实体与一其他实体不为相邻关系时,确定所述第i-1实体与所述其他实体之间的转换概率为0。
在一些实施例中,序列采样模块4552还用于:
将所述重启概率确定为第一权重,将1减去所述第一权重,得到第二权重;
将所述第二权重与所述转换概率的乘积,确定为第一加权概率,利用所述第一权重与所述实体总数的倒数的乘积,确定为第二加权概率;
将所述第一加权概率和所述第二加权概率的和确定为所述第i选择概率。
在一些实施例中,序列改写模块4553还用于:
针对每个第一实体关系序列,执行以下操作得到对应的第一描述文本:
获取用于进行序列改写的提示词模板;
将所述第一实体关系序列和所述提示词模板进行组装,得到第一提示词;
利用所述预训练好的语言模型对所述第一提示词进行预测处理,得到所述第一实体关系序列对应的第一描述文本。
在一些实施例中,序列改写模块4553还用于:
针对每个第一实体关系序列,执行以下操作得到对应的第一描述文本:
获取用于进行序列改写的提示词模板,并获取第一实体关系序列中各个实体的属性信息;
将所述第一实体关系序列、所述各个实体的属性信息和所述提示词模板进行组装,得到第二提示词;
利用所述预训练好的语言模型对所述第二提示词进行预测处理,得到所述第一实体关系序列对应的第一描述文本。
在一些实施例中,参数调整模块4554还用于:获取所述预训练好的语言模型对应的词汇表;利用所述词汇表确定每个所述第一描述文本对应的第一标记序列。
在一些实施例中,参数调整模块4554还用于:
将每个所述第一标记序列中的前k个第一标记确定为训练数据,将每个所述第一标记序列中的第k+1个第一标记确定为标签数据;
利用所述预训练好的语言模型对所述训练数据进行预测处理,得到预测数据;
基于预设的损失函数、所述预测数据和所述标签数据确定损失值;
将所述损失值反向传播至所述预训练好的语言模型,对所述预训练好的语言模型的参数进行调整,得到训练好的语言模型。
在一些实施例中,该装置还包括:
请求接收模块,用于接收问答请求,并获取所述问答请求对应的问题文本;
预测处理模块,用于利用所述训练好的语言模型,对所述问题文本进行预测处理,得到所述提问文本对应的回答文本;
回答输出模块,用于输出所述回答文本。
在一些实施例中,该装置还包括:
图谱更新模块,用于响应于针对所述知识图谱的更新操作,对所述知识图谱进行更新,得到更新后的知识图谱;
所述序列采样模块,还用于对所述更新后的知识图谱进行节点序列采样,得到多个预设长度的第二实体关系序列;
所述序列改写模块,还用于对每个第二实体关系序列进行序列改写,得到每个所述第二实体关系序列对应的第二描述文本;
所述参数调整模块,还用于确定每个所述第二描述文本对应的第二标记序列,并利用每个所述第二标记序列对所述预训练好的语言模型的参数进行调整,得到训练好的语言模型,所述训练好的语言模型中包括更新后的知识图谱中的知识信息。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例上述的知识迁移方法。
本申请实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令或者计算机程序,当计算机可执行指令或者计算机程序被处理器执行时,将引起处理器执行本申请实施例提供的***方法,例如,如图4A示出的知识迁移方法。
在一些实施例中,计算机可读存储介质可以是RAM、ROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(Hyper TextMarkup Language,HTML)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,计算机可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
综上所述,通过本申请实施例可以将结构化知识图谱中的知识迁移到语言模型中,扩展了语言模型的知识容量,从而能够利用微调后的语言模型去实现知识图谱的部分功能,如关系提取、链接预测和知识图谱问答等使用更灵活。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (15)

1.一种知识迁移方法,其特征在于,所述方法包括:
获取待处理的知识图谱和预训练好的语言模型;
对所述知识图谱进行节点序列采样,得到多个预设长度的第一实体关系序列;
对每个第一实体关系序列进行序列改写,得到每个所述第一实体关系序列对应的第一描述文本;
确定每个所述第一描述文本对应的第一标记序列,并利用每个所述第一标记序列对所述预训练好的语言模型的参数进行调整,得到训练好的语言模型,所述训练好的语言模型中包括所述知识图谱中的知识信息。
2.根据权利要求1中所述的方法,其特征在于,所述对所述知识图谱进行节点序列采样,得到多个预设长度的第一实体关系序列,包括:
从所述知识图谱中随机选取起点实体,基于所述起始实体,确定所述知识图谱中各个其他实体被选择作为第二个实体的第二选择概率;
基于所述第二选择概率,从所述知识图谱中确定第二实体,并从所述知识图谱中确定起始实体与第二实体之间的第一关系;
基于第i-1实体,确定所述知识图谱中各个其他实体被选择作为第i个实体的第i选择概率,其中,i=3,4,…,N,N为第一实体关系序列中的实体个数;
基于所述第i选择概率,从所述知识图谱中确定第i实体,并从所述知识图谱中确定所述第i-1实体与所述第i实体之间的第(i-1)关系;
将所述起始实体至第N实体,以及第一关系至第(N-1)关系构成第一实体关系序列。
3.根据权利要求2中所述的方法,其特征在于,所述基于第i-1实体,确定所述知识图谱中各个其他实体被选择作为第i个实体的第i选择概率,包括:
获取进行随机游走的重启概率和所述知识图谱中的实体总数;
确定第i-1实体与所述知识图谱中各个其他实体之间的转换概率;
基于所述重启概率、所述各个其他实体对应的转换概率和所述实体总数,确定所述各个其他实体对应的第i选择概率。
4.根据权利要求3中所述的方法,其特征在于,所述确定第i-1实体与所述知识图谱中各个其他实体之间的转换概率,包括:
当所述第i-1实体与一其他实体为相邻关系时,获取所述第i-1实体的度数;
将所述第i-1实体的度数的倒数,确定为所述第i-1实体与所述其他实体之间的转换概率;
当所述第i-1实体与一其他实体不为相邻关系时,确定所述第i-1实体与所述其他实体之间的转换概率为0。
5.根据权利要求3中所述的方法,其特征在于,所述基于所述重启概率、所述各个其他实体对应的转换概率和所述实体总数,确定所述各个其他实体对应的第i选择概率,包括:
将所述重启概率确定为第一权重,将1减去所述第一权重,得到第二权重;
将所述第二权重与所述转换概率的乘积,确定为第一加权概率,利用所述第一权重与所述实体总数的倒数的乘积,确定为第二加权概率;
将所述第一加权概率和所述第二加权概率的和确定为所述第i选择概率。
6.根据权利要求1中所述的方法,其特征在于,所述对每个第一实体关系序列进行序列改写,得到每个所述第一实体关系序列对应的第一描述文本,包括:
针对每个第一实体关系序列,执行以下操作得到对应的第一描述文本:
获取用于进行序列改写的提示词模板;
将所述第一实体关系序列和所述提示词模板进行组装,得到第一提示词;
利用所述预训练好的语言模型对所述第一提示词进行预测处理,得到所述第一实体关系序列对应的第一描述文本。
7.根据权利要求1中所述的方法,其特征在于,所述所述对每个第一实体关系序列进行序列改写,得到每个所述第一实体关系序列对应的第一描述文本,包括:
针对每个第一实体关系序列,执行以下操作得到对应的第一描述文本:
获取用于进行序列改写的提示词模板,并获取第一实体关系序列中各个实体的属性信息;
将所述第一实体关系序列、所述各个实体的属性信息和所述提示词模板进行组装,得到第二提示词;
利用所述预训练好的语言模型对所述第二提示词进行预测处理,得到所述第一实体关系序列对应的第一描述文本。
8.根据权利要求1中所述的方法,其特征在于,所述确定每个所述第一描述文本对应的第一标记序列,包括:
获取所述预训练好的语言模型对应的词汇表;
利用所述词汇表确定每个所述第一描述文本对应的第一标记序列。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述利用每个所述第一标记序列对所述预训练好的语言模型的参数进行调整,得到训练好的语言模型,包括:
将每个所述第一标记序列中的前k个第一标记确定为训练数据,将每个所述第一标记序列中的第k+1个第一标记确定为标签数据;
利用所述预训练好的语言模型对所述训练数据进行预测处理,得到预测数据;
基于预设的损失函数、所述预测数据和所述标签数据确定损失值;
将所述损失值反向传播至所述预训练好的语言模型,对所述预训练好的语言模型的参数进行调整,得到训练好的语言模型。
10.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
接收问答请求,并获取所述问答请求对应的问题文本;
利用所述训练好的语言模型,对所述问题文本进行预测处理,得到所述提问文本对应的回答文本;
输出所述回答文本。
11.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
响应于针对所述知识图谱的更新操作,对所述知识图谱进行更新,得到更新后的知识图谱;
对所述更新后的知识图谱进行节点序列采样,得到多个预设长度的第二实体关系序列;
对每个第二实体关系序列进行序列改写,得到每个所述第二实体关系序列对应的第二描述文本;
确定每个所述第二描述文本对应的第二标记序列,并利用每个所述第二标记序列对所述预训练好的语言模型的参数进行调整,得到训练好的语言模型,所述训练好的语言模型中包括更新后的知识图谱中的知识信息。
12.一种知识迁移装置,其特征在于,所述装置包括:
第一获取模块,用于获取待处理的知识图谱和预训练好的语言模型;
序列采样模块,用于对所述知识图谱进行节点序列采样,得到多个预设长度的第一实体关系序列;
序列改写模块,用于对每个第一实体关系序列进行序列改写,得到每个所述第一实体关系序列对应的第一描述文本;
参数调整模块,用于确定每个所述第一描述文本对应的第一标记序列,并利用每个所述第一标记序列对所述预训练好的语言模型的参数进行调整,得到训练好的语言模型,所述训练好的语言模型中包括所述知识图谱中的知识信息。
13.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现权利要求1至11任一项所述的方法。
14.一种计算机可读存储介质,存储有计算机可执行指令或者计算机程序,其特征在于,所述计算机可执行指令或者计算机程序被处理器执行时实现权利要求1至11任一项所述的方法。
15.一种计算机程序产品,包括计算机可执行指令或计算机程序,其特征在于,所述计算机可执行指令或计算机程序被处理器执行时实现权利要求1至11任一项所述的方法。
CN202311387679.XA 2023-10-24 2023-10-24 知识迁移方法、装置、设备、可读存储介质及程序产品 Pending CN117453925A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311387679.XA CN117453925A (zh) 2023-10-24 2023-10-24 知识迁移方法、装置、设备、可读存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311387679.XA CN117453925A (zh) 2023-10-24 2023-10-24 知识迁移方法、装置、设备、可读存储介质及程序产品

Publications (1)

Publication Number Publication Date
CN117453925A true CN117453925A (zh) 2024-01-26

Family

ID=89588508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311387679.XA Pending CN117453925A (zh) 2023-10-24 2023-10-24 知识迁移方法、装置、设备、可读存储介质及程序产品

Country Status (1)

Country Link
CN (1) CN117453925A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117708307A (zh) * 2024-02-06 2024-03-15 西北工业大学 一种大语言模型微调和Adapter融合方法及装置
CN117708307B (zh) * 2024-02-06 2024-05-14 西北工业大学 一种大语言模型微调和Adapter融合方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117708307A (zh) * 2024-02-06 2024-03-15 西北工业大学 一种大语言模型微调和Adapter融合方法及装置
CN117708307B (zh) * 2024-02-06 2024-05-14 西北工业大学 一种大语言模型微调和Adapter融合方法及装置

Similar Documents

Publication Publication Date Title
CN112131366B (zh) 训练文本分类模型及文本分类的方法、装置及存储介质
WO2022007823A1 (zh) 一种文本数据处理方法及装置
CN111695345B (zh) 文本中实体识别方法、以及装置
CN112149400B (zh) 一种数据处理方法、装置、设备及存储介质
CN116820429B (zh) 代码处理模型的训练方法、装置、电子设备及存储介质
WO2021082086A1 (zh) 机器阅读方法、系统、装置及存储介质
CN113392197B (zh) 问答推理方法、装置、存储介质及电子设备
CN113987147A (zh) 样本处理方法及装置
CN116932708A (zh) 大语言模型驱动的开放域自然语言推理问答系统及方法
JP2020135456A (ja) 生成装置、学習装置、生成方法及びプログラム
CN113111135A (zh) 一种知识图谱构建方法及装置
CN115062617A (zh) 基于提示学习的任务处理方法、装置、设备及介质
CN112069813B (zh) 文本处理方法、装置、设备及计算机可读存储介质
JP2020135457A (ja) 生成装置、学習装置、生成方法及びプログラム
Lee et al. Interactive spoken content retrieval by deep reinforcement learning
CN115878818B (zh) 一种地理知识图谱构建方法、装置、终端及存储介质
CN117216544A (zh) 模型训练方法、自然语言处理方法、装置及存储介质
CN116957006A (zh) 预测模型的训练方法、装置、设备、介质及程序产品
CN117453925A (zh) 知识迁移方法、装置、设备、可读存储介质及程序产品
CN117033649A (zh) 文本处理模型的训练方法、装置、电子设备及存储介质
JP2022106980A (ja) クエリ文の生成方法、装置、電子機器及び記憶媒体
CN111459959B (zh) 用于更新事件集合的方法和装置
CN114297353A (zh) 数据处理方法、装置、存储介质及设备
CN113705163A (zh) 实体提取方法、装置、设备及计算机可读存储介质
CN115526177A (zh) 对象关联模型的训练

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication