一种基于大模型的结构增强的槽值抽取方法及装置
文献发布时间:2024-04-18 20:01:23
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于大模型的结构增强的槽值抽取方法及装置。
背景技术
槽值提取是人机对话系统中的一项关键任务,是指在一定的领域中,对一句话进行词法分析和语法分析,并结合上下文判断指定的语句字符串某个片段是否是具有一定意义的符合上下文的词槽,即槽值提取的目的是识别用户语句中的槽值。近些年来,随着深度学习技术的快速发展,槽值提取任务也取得了巨大的进步,研究人员提出了一系列有效的算法,比如,目前市面上一般在槽值抽取过程中,将槽名称和槽值转为JSON格式的字符序列,预测过程中逐字符输出,直到所有信息输出完毕,但上述方法容易存在槽信息抽取不准确的问题:
1、抽取的槽信息异常,例如:生成异常的槽名称、槽名称和槽值不对应等;
2、生成的结构不正确,例如:不符合JSON语法规范。
因此,如何提高槽信息抽取的准确性是亟需解决的技术问题。
发明内容
正是基于上述问题,本发明提出了一种基于大模型的结构增强的槽值抽取方法及装置,以解决现有技术中所存在的问题。
为此,第一方面,本发明提供了一种基于大模型的结构增强的槽值抽取方法,所述方法包括:
获取当前时刻的第m个槽位的相关JSON结构信息;其中,所述相关JSON结构信息由第一槽位的槽名称的JSON结构信息、第二槽位的槽名称的JSON结构信息、以及所述第二槽位的槽名称对应的槽值的JSON结构信息拼接而成;所述第一槽位为当前时刻的第m个槽位,所述第二槽位为当前时刻之前遍历过的所有槽位;
基于当前时刻的第m个槽位的相关JSON结构信息、参数矩阵,以及上一时刻的解码器的隐层表征向量,确定第m个槽位的注意力矩阵;其中,所述参数矩阵包括注意力机制中的q矩阵、k矩阵和v矩阵;
基于所述第m个槽位的注意力矩阵,确定第m个槽位对应的词表概率分布;
基于所述词表概率分布,确定第m个槽位对应的槽值。
在一种可能的实现方式中,所述相关JSON结构信息由第一槽位的槽名称的JSON结构信息、第二槽位的槽名称的JSON结构信息、以及所述第二槽位的槽名称对应的槽值的JSON结构信息拼接而成,具体为:
t
其中,t
在一种可能的实现方式中,所述基于所述第m个槽位的注意力矩阵,确定第m个槽位对应的词表概率分布,具体包括:
基于所述第m个槽位的注意力矩阵,确定当前时刻输出的隐层表征向量;
基于当前时刻输出的隐层表征向量,确定第m个槽位对应的词表概率分布。
在一种可能的实现方式中,所述基于当前时刻的第m个槽位的相关JSON结构信息、参数矩阵,以及上一时刻的解码器的隐层表征向量,确定第m个槽位的注意力矩阵,具体为:通过如下公式确定第m个槽位的注意力矩阵:
其中,Atten
在一种可能的实现方式中,所述基于所述第m个槽位的注意力矩阵,确定第m个槽位对应的词表概率分布,具体为:根据如下公式确定第m个槽位对应的词表概率分布:
prob
其中,prob
第二方面,本发明提供了一种基于大模型的结构增强的槽值抽取装置,所述装置包括:
结构信息模块,用于获取当前时刻的第m个槽位的相关JSON结构信息;其中,所述相关JSON结构信息由第一槽位的槽名称的JSON结构信息、第二槽位的槽名称的JSON结构信息、以及所述第二槽位的槽名称对应的槽值的JSON结构信息拼接而成;所述第一槽位为当前时刻的第m个槽位,所述第二槽位为当前时刻之前遍历过的所有槽位;
注意力矩阵模块,用于基于当前时刻的第m个槽位的相关JSON结构信息、参数矩阵,以及上一时刻的解码器的隐层表征向量,确定第m个槽位的注意力矩阵;其中,所述参数矩阵包括注意力机制中的q矩阵、k矩阵和v矩阵;
词表概率分布模块,用于基于所述第m个槽位的注意力矩阵,确定第m个槽位对应的词表概率分布;
槽值模块,用于基于所述词表概率分布,确定第m个槽位对应的槽值。
在一种可能的实现方式中,所述词表概率分布模块包括:
第一确定单元,用于基于所述第m个槽位的注意力矩阵,确定当前时刻输出的隐层表征向量;
第二确定单元,用于基于当前时刻输出的隐层表征向量,确定第m个槽位对应的词表概率分布。
第三方面,本发明提供了一种计算机服务器,包括:存储器、处理器和收发器;
所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,以实现第一方面所述的基于大模型的结构增强的槽值抽取方法;
所述收发器与所述处理器耦合,由所述处理器控制所述收发器进行消息收发。
第四方面,本发明提供了一种芯片系统,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现第一方面所述的基于大模型的结构增强的槽值抽取方法。
第五方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行第一方面所述的基于大模型的结构增强的槽值抽取方法。
本发明提供的基于大模型的结构增强的槽值抽取方法,在槽信息抽取过程中,将JSON结构信息通过模板定义的方法,直接输入给模型,对模型的生成过程具有约束和提示作用,让模型只生成对应位置的槽值,基于此,解决了模型输出结构错误的问题,同时也能够提升了槽抽取的准确性。
附图说明
图1为本发明实施例一提供的基于大模型的结构增强的槽值抽取方法流程示意图;
图2为确定词表概率分布的流程示意图;
图3为本发明实施例二提供的一种基于大模型的结构增强的槽值抽取装置结构示意图;
图4为此表概率分布模块的结构示意图;
图5为本发明实施例三提供的计算机服务器结构示意图;
图6为本发明实施例四提供的芯片系统结构示意图;
图7为本发明实施例五提供的芯片系统结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
实施例一
本发明实施例一提供了一种基于大模型的结构增强的槽值抽取方法,本申请的执行主体为服务器,或者具有运算处理功能的系统或装置,该方法,对于槽值信息抽取,基于预训练好的大模型,在大模型解码过程中,首先给予大模型槽名称提示,让大模型输出对应的槽值,此处的大模型指的是大规模语言模型,比如常见的OpenAI的ChatGPT,这里不再进行详细赘述,指针对本申请的执行过程进行详细介绍,具体的,如图1所示,该方法包括以下步骤:
步骤110、获取当前时刻的第m个槽位的相关JSON结构信息;
首先,预定义槽位的槽名称集合S={s
除此之外,还定义了槽值抽取的JSON结构信息模板,具体为:T={″s
然后,遍历所有槽位,对于每一时刻,获取当前时刻的第一槽位对应的槽名称、当前时刻之前遍历过的第二槽位对应的槽名称以及其对应的槽值,并将第一槽位的槽名称的JSON结构信息、第二槽位的槽名称的JSON结构信息、以及所述第二槽位的槽名称对应的槽值的JSON结构信息根据定义的JSON结构信息模板拼接,形成当前时刻的第m个槽位的相关JSON结构信息;其中,所述第一槽位为当前时刻的第m个槽位,所述第二槽位为当前时刻之前遍历过的所有槽位。
具体的,当前时刻的第m个槽位的相关JSON结构信息为:
t
其中,t
即遍历槽位集合中预定义的槽位,对于每一时刻,将当前槽位对应的槽名称s
用i
步骤120、基于当前时刻的第m个槽位的相关JSON结构信息、参数矩阵,以及上一时刻的解码器的隐层表征向量,确定第m个槽位的注意力矩阵;
大规模语言模型计算过程是自回归计算,每一步计算都依赖上一步的输出向量,具体的,本发明通过如下公式确定第m个槽位的注意力矩阵:
其中,Atten
步骤130、基于第m个槽位的注意力矩阵,确定第m个槽位对应的词表概率分布;
具体的,如图2所示,通过以下两个步骤实现:
步骤1301、基于第m个槽位的注意力矩阵,确定当前时刻输出的隐层表征向量;
具体的,根据如下公式确定当前时刻输出的隐层表征向量:
其中,o
步骤1302、基于当前时刻输出的隐层表征向量,确定第m个槽位对应的词表概率分布。
具体的,根据如下公式确定第m个槽位对应的词表概率分布:
prob
其中,prob
步骤140、基于词表概率分布,确定第m个槽位对应的槽值。
具体的,通过如下公式确定槽值元素v
遍历完槽位集合中所有槽位后,计算结束。
本发明提供的基于结构增强的槽值抽取方法,在槽信息抽取过程中,将JSON结构信息通过模板定义的方法,直接输入给模型,对模型的生成过程具有约束和提示作用,让模型只生成对应位置的槽值,基于此,解决了模型输出结构错误的问题,同时也能够提升了槽抽取的准确性。
实施例二
本发明实施例二提供了一种基于大模型的结构增强的槽值抽取装置,如图3所示,该装置包括:结构信息模块310、注意力矩阵模块320、词表概率分布模块330和槽值模块340。具体的:
结构信息模块310,用于获取当前时刻的第m个槽位的相关JSON结构信息;其中,所述相关JSON结构信息由第一槽位的槽名称的JSON结构信息、第二槽位的槽名称的JSON结构信息、以及所述第二槽位的槽名称对应的槽值的JSON结构信息拼接而成;所述第一槽位为当前时刻的第m个槽位,所述第二槽位为当前时刻之前遍历过的所有槽位;
注意力矩阵模块320,用于基于当前时刻的第m个槽位的相关JSON结构信息、参数矩阵,以及上一时刻的解码器的隐层表征向量,确定第m个槽位的注意力矩阵;其中,所述参数矩阵包括注意力机制中的q矩阵、k矩阵和v矩阵;
词表概率分布模块330,用于基于所述第m个槽位的注意力矩阵,确定第m个槽位对应的词表概率分布;
槽值模块340,用于基于所述词表概率分布,确定第m个槽位对应的槽值。
进一步的,具体的,结构信息模块310具体用于:
遍历所有槽位,对于每一时刻,获取当前时刻的第一槽位对应的槽名称、当前时刻之前遍历过的第二槽位对应的槽名称以及其对应的槽值,并将第一槽位的槽名称的JSON结构信息、第二槽位的槽名称的JSON结构信息、以及所述第二槽位的槽名称对应的槽值的JSON结构信息根据定义的JSON结构信息模板拼接,形成当前时刻的第m个槽位的相关JSON结构信息;其中,所述第一槽位为当前时刻第m个槽位,所述第二槽位为当前时刻之前遍历过的所有槽位。
具体的,当前时刻的第m个槽位的相关JSON结构信息为:
t
其中,t
进一步的,具体的,注意力矩阵模块320通过如下公式确定第m个槽位的注意力矩阵:
其中,Atten
进一步的,如图4所示,词表概率分布模块330包括第一确定单元3301和第二确定单元3302,具体的,
第一确定单元3301,用于基于第m个槽位的注意力矩阵,确定当前时刻输出的隐层表征向量;
具体的,根据如下公式确定当前时刻输出的隐层表征向量:
其中,Atten
第二确定单元302,用于基于当前时刻输出的隐层表征向量,确定第m个槽位对应的词表概率分布。
具体的,根据如下公式确定第m个槽位对应的词表概率分布:
prob
其中,prob
本发明实施例二提供的装置,可以执行上述方法实施例一中的方法步骤,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,确定模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上确定模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所描述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个微处理器(Digital Signal Processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(System-on-a-chip,SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例所描述的流程或功能。上述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。上述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,上述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线路((Digital Subscriber Line,DSL))或无线(例如红外、无线、蓝牙、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。上述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。上述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
实施例三
本发明实施例三提供了一种计算机服务器,如图5所示,包括:存储器、处理器和收发器;
处理器用于与存储器耦合,读取并执行存储器中的指令,以实现上述实施例一提供的任意一种基于大模型的结构增强的槽值抽取方法;
收发器与处理器耦合,由处理器控制收发器进行消息收发。
实施例四
本发明实施例四供了一种芯片系统,如图6所示,包括处理器,处理器与存储器的耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现如实施例一提供的任意一种基于大模型的结构增强的槽值抽取方法。
实施例五
本发明实施例五提供一种计算机可读存储介质,如图7所示,包括程序或指令,当程序或指令在计算机上运行时,实现如实施例一提供的任意一种基于大模型的结构增强的槽值抽取方法。
本发明提供的基于大模型的结构增强的槽值抽取方法,在槽信息抽取过程中,将JSON结构信息通过模板定义的方法,直接输入给模型,对模型的生成过程具有约束和提示作用,让模型只生成对应位置的槽值,基于此,解决了大模型输出结构错误的问题,同时也能够提升了槽抽取的准确性。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 离子型稀土矿原地浸矿场渗漏液收集系统和方法
- 离子型稀土矿原地浸矿场渗漏液收集系统和方法