预训练词向量生成方法、系统、电子设备及存储介质与流程

文档序号:28432798发布日期:2022-01-12 01:26阅读:57来源:国知局
预训练词向量生成方法、系统、电子设备及存储介质与流程

1.本发明属于语言处理技术领域,尤其涉及一种预训练词向量生成方法、系统、电子设备及存储介质。


背景技术:

2.目前主要的词向量主要有传统的神经网络预训练模型包括:fasttext、word2vec、glove,基于自注意力机制的预训练词向量模型包括:transformer、bert、ernie等。而传统的神经网络预训练模型模型结构较为简单、网络深度较浅,学习得到词向量的特征空间有限、词向量表达能力有限。bert等基于自注意力机制的词向量模型虽然解决了长距离信息衰减的问题但是对词汇所处的具体语境信息重视不足。在命名实体识别、自然语言理解等任务中语境信息对任务的完成具有重要的意义,在词向量生成的阶段需要充分地考虑词汇所处的语境中的语境信息对该词汇的词向量表示的影响,增加词向量模型的语义丰富度。
3.在传统的transformer模型的自注意力机制中的q、k、v矩阵都是通过全连接层映射得来的,没有考虑到上下文信息,尤其在初始化阶段矩阵的数据分布是随机生成的,不仅不符合自然语言的特点而且增加了模型训练难度、降低了收敛速度。


技术实现要素:

4.本技术实施例提供了一种预训练词向量生成方法、系统、电子设备及存储介质,以至少解决现有方法词向量表达能力有限的问题。
5.第一方面,本技术实施例提供了一种预训练词向量生成方法,包括:数据集处理步骤,收集一数据集,对所述数据集进行预处理,将所述数据集中的原始文本数据变换为数字表示;文本向量生成步骤,建立一向量矩阵,根据所述数字表示在所述向量矩阵中取相应的向量;隐藏向量生成步骤,将中心词窗口大小范围内的所有的所述向量经过一隐藏层,得到隐藏向量;输出向量计算步骤,将所述隐藏向量通过线性层,计算得到中心词cbow的输出向量;词向量生成步骤,根据所述输出向量和所述数字表示获得矩阵k、矩阵v和矩阵q,并根据所述矩阵k、所述矩阵v和矩所述阵q进一步进行词向量生成。
6.在其中一些实施例中,所述数据集处理步骤进一步包括:所述预处理包括对所述数据集中所述原始文本数据的字进行实体标注;将进行所述预处理的数据集进行词典构建,根据所述词典将所述原始文本数据变换为所述数字表示。
7.在其中一些实施例中,所述词向量生成步骤进一步包括:将所述输出向量按位置排序拼接为所述矩阵k。
8.在其中一些实施例中,所述词向量生成步骤进一步包括:复制所述矩阵k得到自注意力机制中的所述矩阵v,并进一步将所述数字表示输入至所述线性层中得到所述自注意力机制中的所述矩阵q。
9.第二方面,本技术实施例提供了一种预训练词向量生成系统,适用于上述一种预训练词向量生成方法,包括:数据集处理模块,收集一数据集,对所述数据集进行预处理,将
所述数据集中的原始文本数据变换为数字表示;文本向量生成模块,建立一向量矩阵,根据所述数字表示在所述向量矩阵中取相应的向量;隐藏向量生成模块,将中心词窗口大小范围内的所有的所述向量经过一隐藏层,得到隐藏向量;输出向量计算模块,将所述隐藏向量通过线性层,计算得到中心词cbow的输出向量;词向量生成模块,根据所述输出向量和所述数字表示获得矩阵k、矩阵v和矩阵q,并根据所述矩阵k、所述矩阵v和矩所述阵q进一步进行词向量生成。
10.在其中一些实施例中,所述数据集处理模块进一步包括:所述预处理包括对所述数据集中所述原始文本数据的字进行实体标注;将进行所述预处理的数据集进行词典构建,根据所述词典将所述原始文本数据变换为所述数字表示。
11.在其中一些实施例中,所述词向量生成模块进一步包括:将所述输出向量按位置排序拼接为所述矩阵k。
12.在其中一些实施例中,所述词向量生成模块进一步包括:复制所述矩阵k得到自注意力机制中的所述矩阵v,并进一步将所述数字表示输入至所述线性层中得到所述自注意力机制中的所述矩阵q。
13.第三方面,本技术实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的一种预训练词向量生成方法。
14.第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的一种预训练词向量生成方法。
15.本技术可应用于知识图谱技术领域。相比于相关技术,本技术利用cbow的方式引入词汇的上下文信息并生成k、v矩阵,这种方式相比于传统的矩阵生成方式在词向量映射的初步阶段就引入了上下文信息,由于在词向量模型的开始阶段就通过模型结构的设计引入了上下文信息,通过学习训练得到的词向量表示方式具有更多的语境信息,词向量可以更加贴合一些自然语言处理领域的任务,如相似度分析、自然语言生成等。
附图说明
16.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
17.图1为本发明的预训练词向量生成方法流程图;
18.图2为本发明的预训练词向量生成系统的框架图;
19.图3为本发明的电子设备的框架图;
20.图4为本发明的词向量整体模型结构示意图;
21.图5为本发明的cbow模型网络结构示意图;
22.以上图中:
23.1、数据集处理模块;2、文本向量生成模块;3、隐藏向量生成模块;4、输出向量计算模块;5、词向量生成模块;60、总线;61、处理器;62、存储器;63、通信接口。
具体实施方式
24.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对
本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
25.显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
26.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
27.除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
28.以下,结合附图详细介绍本发明的实施例:
29.图1为本发明的预训练词向量生成方法流程图,请参见图1,本发明预训练词向量生成方法包括如下步骤:
30.s1:收集一数据集,对所述数据集进行预处理,将所述数据集中的原始文本数据变换为数字表示。
31.可选的,预处理包括对所述数据集中所述原始文本数据的字进行实体标注;将进行所述预处理的数据集进行词典构建,根据所述词典将所述原始文本数据变换为所述数字表示。
32.在具体实施中,根据特定领域收集经人工标注的数据集,得到文本序列中每一个字的实体标注结果。将预处理后的数据集进行相应的词典构建,将原始的文本数据变换为对应数字表示。
33.s2:建立一向量矩阵,根据所述数字表示在所述向量矩阵中取相应的向量。
34.在具体实施中,将文本数据的数字序号表示输入到模型中。建立一个向量矩阵,按照文本数据的数字序号在向量矩阵中取相对应的向量。
35.s3:将中心词窗口大小范围内的所有的所述向量经过一隐藏层,得到隐藏向量。
36.在具体实施中,将中心词窗口大小范围内所有的向量经过隐藏层得到隐藏向量。可选的,所使用的激活函数为relu函数。
37.s4:将所述隐藏向量通过线性层,计算得到中心词cbow的输出向量。
38.在具体实施中,隐藏向量通过线性层的计算得到中心词cbow的输出向量。
39.s5:根据所述输出向量和所述数字表示获得矩阵k、矩阵v和矩阵q,并根据所述矩阵k、所述矩阵v和矩所述阵q进一步进行词向量生成。
40.可选的,将所述输出向量按位置排序拼接为所述矩阵k。可选的,复制所述矩阵k得到自注意力机制中的所述矩阵v,并进一步将所述数字表示输入至所述线性层中得到所述自注意力机制中的所述矩阵q。
41.在具体实施中,将所有的词汇的cbow输出向量按位置排序拼接为矩阵k。自注意力机制中的v矩阵直接复制矩阵k。将所有的输入数据经过线性层wq得到自注意力机制中的矩阵q。
42.在具体实施中,其余部分的计算方式和传统的transformer模型一致。
43.图4为本发明的词向量整体模型结构示意图,图5为本发明的cbow模型网络结构示意图,请参见图4、图5,在传统的transformer encoder模型中引入cbow模型用于生成k、v矩阵,在训练阶段cbow模型的所有可训练参数都随其他可训练参数一样被训练优化。在预训练阶段仍然采用常见的语言掩码任务(masked language model,mlm)。
44.需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
45.本技术实施例提供了一种预训练词向量生成系统,适用于上述的一种预训练词向量生成方法。如以下所使用的,术语“单元”、“模块”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件、或者软件和硬件的组合的实现也是可能并被构想的。
46.图2为根据本发明的预训练词向量生成系统的框架图,请参见图2,包括:
47.数据集处理模块1:收集一数据集,对所述数据集进行预处理,将所述数据集中的原始文本数据变换为数字表示。
48.可选的,预处理包括对所述数据集中所述原始文本数据的字进行实体标注;将进行所述预处理的数据集进行词典构建,根据所述词典将所述原始文本数据变换为所述数字表示。
49.在具体实施中,根据特定领域收集经人工标注的数据集,得到文本序列中每一个字的实体标注结果。将预处理后的数据集进行相应的词典构建,将原始的文本数据变换为对应数字表示。
50.文本向量生成模块2:建立一向量矩阵,根据所述数字表示在所述向量矩阵中取相应的向量。
51.在具体实施中,将文本数据的数字序号表示输入到模型中。建立一个向量矩阵,按照文本数据的数字序号在向量矩阵中取相对应的向量。
52.隐藏向量生成模块3:将中心词窗口大小范围内的所有的所述向量经过一隐藏层,得到隐藏向量。
53.在具体实施中,将中心词窗口大小范围内所有的向量经过隐藏层得到隐藏向量。可选的,所使用的激活函数为relu函数。
54.输出向量计算模块4:将所述隐藏向量通过线性层,计算得到中心词cbow的输出向
量。
55.在具体实施中,隐藏向量通过线性层的计算得到中心词cbow的输出向量。
56.词向量生成模块5:根据所述输出向量和所述数字表示获得矩阵k、矩阵v和矩阵q,并根据所述矩阵k、所述矩阵v和矩所述阵q进一步进行词向量生成。
57.可选的,将所述输出向量按位置排序拼接为所述矩阵k。可选的,复制所述矩阵k得到自注意力机制中的所述矩阵v,并进一步将所述数字表示输入至所述线性层中得到所述自注意力机制中的所述矩阵q。
58.在具体实施中,将所有的词汇的cbow输出向量按位置排序拼接为矩阵k。自注意力机制中的v矩阵直接复制矩阵k。将所有的输入数据经过线性层wq得到自注意力机制中的矩阵q。
59.在具体实施中,其余部分的计算方式和传统的transformer模型一致。
60.图4为本发明的词向量整体模型结构示意图,图5为本发明的cbow模型网络结构示意图,请参见图4、图5,在传统的transformer encoder模型中引入cbow模型用于生成k、v矩阵,在训练阶段cbow模型的所有可训练参数都随其他可训练参数一样被训练优化。在预训练阶段仍然采用常见的语言掩码任务(masked language model,mlm)。
61.另外,结合图1描述的一种预训练词向量生成方法可以由电子设备来实现。图3为本发明的电子设备的框架图。
62.电子设备可以包括处理器61以及存储有计算机程序指令的存储器62。
63.具体地,上述处理器61可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit,简称为asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
64.其中,存储器62可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器62可包括硬盘驱动器(hard disk drive,简称为hdd)、软盘驱动器、固态驱动器(solid state drive,简称为ssd)、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,简称为usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器62可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器62可在数据处理装置的内部或外部。在特定实施例中,存储器62是非易失性(non-volatile)存储器。在特定实施例中,存储器62包括只读存储器(read-only memory,简称为rom)和随机存取存储器(random access memory,简称为ram)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(programmable read-only memory,简称为prom)、可擦除prom(erasable programmable read-only memory,简称为eprom)、电可擦除prom(electrically erasable programmable read-only memory,简称为eeprom)、电可改写rom(electrically alterable read-only memory,简称为earom)或闪存(flash)或者两个或更多个以上这些的组合。在合适的情况下,该ram可以是静态随机存取存储器(static random-access memory,简称为sram)或动态随机存取存储器(dynamic random access memory,简称为dram),其中,dram可以是快速页模式动态随机存取存储器(fast page mode dynamic random access memory,简称为fpmdram)、扩展数据输出动态随机存取存储器(extended date out dynamic random access memory,简称为edodram)、同步动态随机存取内存(synchronous dynamic random-access memory,简称sdram)等。
65.存储器62可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器61所执行的可能的计算机程序指令。
66.处理器61通过读取并执行存储器62中存储的计算机程序指令,以实现上述实施例中的任意一种预训练词向量生成方法。
67.在其中一些实施例中,电子设备还可包括通信接口63和总线60。其中,如图3所示,处理器61、存储器62、通信接口63通过总线60连接并完成相互间的通信。
68.通信端口63可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
69.总线60包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。总线60包括但不限于以下至少之一:数据总线(data bus)、地址总线(address bus)、控制总线(control bus)、扩展总线(expansion bus)、局部总线(local bus)。举例来说而非限制,总线60可包括图形加速接口(accelerated graphics port,简称为agp)或其他图形总线、增强工业标准架构(extended industry standard architecture,简称为eisa)总线、前端总线(front side bus,简称为fsb)、超传输(hyper transport,简称为ht)互连、工业标准架构(industry standard architecture,简称为isa)总线、无线带宽(infiniband)互连、低引脚数(low pin count,简称为lpc)总线、存储器总线、微信道架构(micro channel architecture,简称为mca)总线、外围组件互连(peripheral component interconnect,简称为pci)总线、pci-express(pci-x)总线、串行高级技术附件(serial advanced technology attachment,简称为sata)总线、视频电子标准协会局部(video electronics standards association local bus,简称为vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线60可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
70.该电子设备可以执行本技术实施例中的一种预训练词向量生成方法。
71.另外,结合上述实施例中的一种预训练词向量生成方法,本技术实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种预训练词向量生成方法。
72.而前述的存储介质包括:u盘、移动硬盘、只读存储器(readonly memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、磁碟或者光盘等各种可以存储程序代码的介质。
73.以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
74.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1