基于多个机器学习模型的自然语言处理方法、装置和设备
文献发布时间:2023-06-19 09:43:16
技术领域
本申请涉及人工智能领域,特别是涉及到一种基于多个机器学习模型的 自然语言处理方法、装置和计算机设备。
背景技术
人工智能的一个伟大愿景是创造一个没有偏见的世界。最近研究表明计 算机也可以产生偏见,尤其是当计算机向人类学习时。当算法通过分析处理 大量人类书写的文本来学习词句的含义时,它们也会获得类似于我们的偏见 那样的刻板印象。
关于文本类的人工智能决策偏见可以通过词向量的联想测试(WEAT)直 观地发现。该测试于2017年被提出,测试结果指出词向量不仅隐含刻板印象, 而且蕴含其他知识,诸如鲜花令人产生发自内心的愉悦感或者职业的性别分 布情况。这些结果支持了语言学中的分布式假设,即词汇的统计语境捕捉到 了我们表达的语义。如果机器学习技术被用到简历筛选过程中,那么它将会 引入文化的刻板印象,随之可能会导致带有偏见的结果。因此我们需要对模 型的训练数据进行微调获得更加公平的数据。
发明内容
本申请的主要目的为提供一种基于多个机器学习模型的自然语言处理方 法、装置和计算机设备,旨在解决机器学习模型生成的词向量可能出现决策 偏差的问题。
为了实现上述发明目的,本申请提出一种基于多个机器学习模型的自然 语言处理方法,包括:
将待识别的文本数据输入到多个不同的词向量训练机器学习模型,得到 基于每个词的多个相互独立的词向量训练结果;
基于每个词的多个训练结果,计算每个词的词向量的中心向量和偏正向 量;
根据每个词对应的所述中心向量和所述偏正向量,计算得到每个词的纠 偏词向量;
基于每个词的纠偏词向量进行自然语言处理任务。
进一步地,所述多个不同的词向量训练机器学习模型的数量为2个,所 述基于每个词的多个训练结果,计算每个词的词向量的中心向量和偏正向量 的步骤包括:
计算2个所述词向量训练模型的输出的同一个词的词向量每一个维度的 偏差量bias,计算公式为bias(a)=(x
获取不同维度的偏差量的偏差序列的中位数m;
利用公式
利用公式
利用公式V
进一步地,所述多个不同的词向量训练机器学习模型的数量为3个,所 述基于每个词的多个训练结果,计算每个词的词向量的中心向量和偏正向量 的步骤包括:
计算3个所述词向量训练模型的输出的同一个词的词向量在每一个维度 的偏差量,计算公式为
获取不同维度的偏差量的偏差序列的中位数m;
利用公式
利用公式V
进一步地,所述多个不同的词向量训练机器学习模型的数量为4个,所 述基于每个词的多个训练结果,计算每个词的词向量的中心向量和偏正向量 的步骤包括:
计算4个所述词向量训练模型的输出的同一个词的词向量在每一个维度 的偏差量,计算公式为
获取不同维度的偏差量的偏差序列的中位数m;
利用公式
利用公式
利用公式V
进一步地,所述根据每个词对应的所述中心向量和所述偏正向量,计算 得到每个词的纠偏词向量的步骤包括:
利用公式V
进一步地,所述根据每个词对应的所述中心向量和所述偏正向量,计算 得到每个词的纠偏词向量的步骤包括:
根据所述中心向量和所述偏正向量构建服从高斯分布的张量集,进行随 机采样,得到所述纠偏词向量,其中V
进一步地,所述基于每个词的纠偏词向量进行自然语言处理任务的步骤 中设计的损失函数为
本申请实施例还提供一种基于多个机器学习模型的自然语言处理装置, 包括:
训练模块,用于将待识别的文本数据输入到多个不同的词向量训练机器 学习模型,得到基于每个词的多个相互独立的词向量训练结果;
计算模块,用于基于每个词的多个训练结果,计算每个词的词向量的中 心向量和偏正向量;
纠偏模块,用于根据每个词对应的所述中心向量和所述偏正向量,计算 得到每个词的纠偏词向量;
处理模块,用于基于每个词的纠偏词向量进行自然语言处理任务。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储 有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法 的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述 计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的基于多个机器学习模型的自然语言处理方法、装置和计算机设 备,通过定义中心向量和偏正向量,利用预设的方法得到偏差纠正的纠偏词 向量,然后利用所述纠偏词向量进行NLP任务,可以降低机器学习模型发生偏 差决策的概率,减少AI决策偏见。
附图说明
图1为本申请一实施例的基于多个机器学习模型的自然语言处理方法的 流程示意图;
图2为本申请一实施例的基于多个机器学习模型的自然语言处理装置的 结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步 说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及 实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例 仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例中涉及人工智能领域,提供一种基于多个机器学 习模型的自然语言处理方法,包括步骤:
S1、将待识别的文本数据输入到多个不同的词向量训练机器学习模型, 得到基于每个词的多个相互独立的词向量训练结果;
S2、基于每个词的多个训练结果,计算每个词的词向量的中心向量和偏 正向量;
S3、根据每个词对应的所述中心向量和所述偏正向量,计算得到每个词 的纠偏词向量;
S4、基于每个词的纠偏词向量进行自然语言处理任务。
如上述步骤S1所述,为了降低机器学习模型生成的词向量的发生语义偏 差的可能性,本实施例中采用了多个模型对同一个文本数据进行处理。首先 对文本数据进行预处理,例如分词等,然后将预处理过的文本数据输入到多 个不同的预设的词向量训练模型中,输出多个相互独立的训练结果。具体的, 所述多个不同的预设的词向量训练模型可以包括CBOW模型、Skip-Gram模 型、Glove模型和Bert模型。其中,CBOW模型是根据上下文来预测当前词 语的概率,Skip-gram的训练方式刚好相反,利用当前词去预测背景词进行词 向量表征的训练。Glove模型是基于全局向量的词表征方法,综合运用全据统 计信息与局部统计信息进行词向量的生成,Bert模型需要利用文本数据进行 微调训练后得到词向量。
如上述步骤S2所述,可以理解地,由于预训练模型基于同一语料库,因 此,得到的训练结果也就是生成的词向量是互相对应的,而且,通过对模型 进行调参,可以使词向量的维度也是相同的。可以根据预设的方法确定词向 量在每一个维度上需要位移调整的距离,即偏正距离,然后确定偏正向量。 可以根据求平均值的方法确定词向量在每一个维度上的中心值,得到中心向 量。
如上述步骤S3所述,在确定所述中心向量和所述偏正向量后,可以根据 预设的方法得到最后微调后的词向量,得到纠偏词向量。可以是对所述中心 向量和所述偏正向量求和,也可以是利用高斯分布的思想进行随机采样,进 行数据模糊,得到每个词的纠偏向量。
如上述步骤S4所述,在得到所述纠偏向量后,利用所述纠偏向量进行 NLP(Natural Language Processing,自然语言处理)任务,如进行语义识别、 智能问答等。通过上述步骤S1~S3,得到了纠偏向量,利用所述纠偏向量进行 NLP任务可以消除机器学习模型的偏见,从而纠正机器模型的决策偏差。
在一个实施例中,所述多个不同的词向量训练机器学习模型的数量为2 个,所述基于每个词的多个训练结果,计算每个词的词向量的中心向量和偏 正向量的步骤包括:
S211、计算2个所述词向量训练模型的输出的同一个词的词向量每一个 维度的偏差量bias,计算公式为bias(a)=(x
S212、获取不同维度的偏差量的偏差序列的中位数m;
S213、利用公式
S214、利用公式
S215、利用公式V
如上所述,在本实施例中,对于2个模型生成的词向量进行二维矫正, 可以确定二维矫正的所述中心向量和所述偏正向量。具体地,在本实施例中, 使用绝对离差的方法对向量偏差进行计算,通过计算2个不同模型产生的同 一词的向量的在每一个维度的空间距离差,计算出偏差量bias,并得到偏差序 列的中位数,然后最终得到平均偏正量。随后计算出向量的平均位置作为中 心向量,根据所述平均偏正量得到所述偏正向量。
在一个实施例中,所述多个不同的词向量训练机器学习模型的数量为3 个,所述基于每个词的多个训练结果,计算每个词的词向量的中心向量和偏 正向量的步骤包括:
S221、计算3个所述词向量训练模型的输出的同一个词的词向量在每一 个维度的偏差量,计算公式为
S222、获取不同维度的偏差量的偏差序列的中位数m;
S223、利用公式
S224、利用公式
S225、利用公式V
如上所述,在本实施例中,对于3个模型生成的词向量进行三维矫正, 以确定三维矫正的所述中心向量和所述偏正向量。不同于二维矫正中的每一 个维度偏差量的确定过程,在本实施例中,通过3个点确定一个圆,然后确 定圆心和半径的方法来得到偏差量。具体地,在一个n维的词向量 x=(x
在一个实施例中,所述多个不同的词向量训练机器学习模型的数量为4 个,所述基于每个词的多个训练结果,计算每个词的词向量的中心向量和偏 正向量的步骤包括:
S231、若所述词向量训练模型的数量为4,则计算4个所述词向量训练模 型的输出的同一个词的词向量在每一个维度的偏差量,计算公式为
S232、获取不同维度的偏差量的偏差序列的中位数m;
S233、利用公式
S234、利用公式
S235、利用公式V
如上所述,在本实施例中,对于4个模型生成的词向量进行四维矫正, 得到了四维矫正的所述中心向量和所述偏正向量。不同于二维矫正和三维矫 正的方法,在本实施例中,通过4个点确定一个球,然后确定球心和半径的 方法来得到偏差量。具体地,在一个n维的词向量 x=(x
在一个具体的实施例中,所述根据每个词对应的所述中心向量和所述偏 正向量,计算得到每个词的纠偏词向量的步骤包括:
S31、利用公式V
如上所述,在本实施例中,提出了一种具体的向量微调方法,直接将所 述中心向量与所述偏正向量相加即可得到所述微调后的词向量。以二维矫正 为例,
在一个具体的实施例中,所述根据每个词对应的所述中心向量和所述偏 正向量,计算得到每个词的纠偏词向量的步骤包括:
S32、根据所述中心向量和所述偏正向量构建服从高斯分布的张量集,进 行随机采样,得到所述纠偏词向量,其中V
如上所述,在本实施例中,提出了另外一种具体的向量微调方法,基于 上述步骤确定的所述中心向量与所述偏正向量构建出一个服从高斯分布的张 量集,同时基于服从此分布的张量集合,在二维空间中可以理解为一个圆, 三维空间中可以理解为球体。获得服从(μ,σ
在一个实施例中,所述基于每个词的纠偏词向量进行自然语言处理任务 的步骤中设计的损失函数为
如上所述,在本实施例中涉及了关于下游NLP任务需要的损失函数。损 失函数由两部分组成,第一部分是传统语言模型所使用的交叉熵损失函数, 第二部分是专门针对随机采样而进行设计的,V
本申请实施例的基于多个机器学习模型的自然语言处理方法,通过定义 中心向量和偏正向量,利用预设的方法得到偏差纠正的纠偏词向量,然后利 用所述纠偏词向量进行NLP任务,可以降低机器学习模型发生偏差决策的概率, 减少AI决策偏见。
参照图2,本申请实施例中还提供一种基于多个机器学习模型的自然语言 处理装置,包括:
训练模块1,用于将待识别的文本数据输入到多个不同的词向量训练机器 学习模型,得到基于每个词的多个相互独立的词向量训练结果;
计算模块2,用于基于每个词的多个训练结果,计算每个词的词向量的中 心向量和偏正向量;
纠偏模块3,用于根据每个词对应的所述中心向量和所述偏正向量,计算 得到每个词的纠偏词向量;
处理模块4,用于基于每个词的纠偏词向量进行自然语言处理任务。
如上所述,可以理解地,本申请中提出的所述基于多个机器学习模型的 自然语言处理装置的各组成部分可以实现如上所述基于多个机器学习模型的 自然语言处理方法任一项的功能,具体结构不再赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是 服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的 处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提 供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储 器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器 为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机 设备的数据库用于机器学习模型等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于 多个机器学习模型的自然语言处理方法。
上述处理器执行上述的基于多个机器学习模型的自然语言处理方法,包 括:
将待识别的文本数据输入到多个不同的词向量训练机器学习模型,得到 基于每个词的多个相互独立的词向量训练结果;
基于每个词的多个训练结果,计算每个词的词向量的中心向量和偏正向 量;
根据每个词对应的所述中心向量和所述偏正向量,计算得到每个词的纠 偏词向量;
基于每个词的纠偏词向量进行自然语言处理任务。
在一个实施例中,所述多个不同的词向量训练机器学习模型的数量为2 个,所述基于每个词的多个训练结果,计算每个词的词向量的中心向量和偏 正向量的步骤包括:
计算2个所述词向量训练模型的输出的同一个词的词向量每一个维度的 偏差量bias,计算公式为bias(a)=(x
获取不同维度的偏差量的偏差序列的中位数m;
利用公式
利用公式
利用公式V
在一个实施例中,所述多个不同的词向量训练机器学习模型的数量为3 个,所述基于每个词的多个训练结果,计算每个词的词向量的中心向量和偏 正向量的步骤包括:
计算3个所述词向量训练模型的输出的同一个词的词向量在每一个维度 的偏差量,计算公式为
获取不同维度的偏差量的偏差序列的中位数m;
利用公式
利用公式V
在一个实施例中,所述多个不同的词向量训练机器学习模型的数量为4 个,所述基于每个词的多个训练结果,计算每个词的词向量的中心向量和偏 正向量的步骤包括:
计算4个所述词向量训练模型的输出的同一个词的词向量在每一个维度 的偏差量,计算公式为
获取不同维度的偏差量的偏差序列的中位数m;
利用公式
利用公式
利用公式V
在一个实施例中,所述根据每个词对应的所述中心向量和所述偏正向量, 计算得到每个词的纠偏词向量的步骤包括:
利用公式V
在一个实施例中,所述根据每个词对应的所述中心向量和所述偏正向量, 计算得到每个词的纠偏词向量的步骤包括:
根据所述中心向量和所述偏正向量构建服从高斯分布的张量集,进行随 机采样,得到所述纠偏词向量,其中V
在一个实施例中,所述基于每个词的纠偏词向量进行自然语言处理任务 的步骤中设计的损失函数为
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程 序,计算机程序被处理器执行时实现基于多个机器学习模型的自然语言处理 方法,包括步骤:
将待识别的文本数据输入到多个不同的词向量训练机器学习模型,得到 基于每个词的多个相互独立的词向量训练结果;
基于每个词的多个训练结果,计算每个词的词向量的中心向量和偏正向 量;
根据每个词对应的所述中心向量和所述偏正向量,计算得到每个词的纠 偏词向量;
基于每个词的纠偏词向量进行自然语言处理任务。
上述执行的基于多个机器学习模型的自然语言处理方法,通过定义中心 向量和偏正向量,利用预设的方法得到偏差纠正的纠偏词向量,然后利用所 述纠偏词向量进行NLP任务,可以降低机器学习模型发生偏差决策的概率, 减少AI决策偏见。
在一个实施例中,所述多个不同的词向量训练机器学习模型的数量为2个, 所述基于每个词的多个训练结果,计算每个词的词向量的中心向量和偏正向 量的步骤包括:
计算2个所述词向量训练模型的输出的同一个词的词向量每一个维度的 偏差量bias,计算公式为bias(a)=(x
获取不同维度的偏差量的偏差序列的中位数m;
利用公式
利用公式
利用公式V
在一个实施例中,所述多个不同的词向量训练机器学习模型的数量为3个, 所述基于每个词的多个训练结果,计算每个词的词向量的中心向量和偏正向 量的步骤包括:
计算3个所述词向量训练模型的输出的同一个词的词向量在每一个维度 的偏差量,计算公式为
获取不同维度的偏差量的偏差序列的中位数m;
利用公式
利用公式V
在一个实施例中,所述多个不同的词向量训练机器学习模型的数量为4个, 所述基于每个词的多个训练结果,计算每个词的词向量的中心向量和偏正向 量的步骤包括:
计算4个所述词向量训练模型的输出的同一个词的词向量在每一个维度 的偏差量,计算公式为
获取不同维度的偏差量的偏差序列的中位数m;
利用公式
利用公式
利用公式V
在一个实施例中,所述根据每个词对应的所述中心向量和所述偏正向量, 计算得到每个词的纠偏词向量的步骤包括:
利用公式V
在一个实施例中,所述根据每个词对应的所述中心向量和所述偏正向量, 计算得到每个词的纠偏词向量的步骤包括:
根据所述中心向量和所述偏正向量构建服从高斯分布的张量集,进行随 机采样,得到所述纠偏词向量,其中V
在一个实施例中,所述基于每个词的纠偏词向量进行自然语言处理任务 的步骤中设计的损失函数为
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储 于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如 上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对 存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失 性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、 电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失 性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说 明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM (DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增 强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存 储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM (DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在 涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方 法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括 为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下, 由语句“包括一个......”限定的要素,并不排除在包括该要素的过程、装置、物 品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围, 凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接 或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
- 基于多个机器学习模型的自然语言处理方法、装置和设备
- 基于机器学习模型的数据处理方法、装置、设备和介质