CN111737996B - 基于语言模型获取词向量的方法、装置、设备及存储介质 - Google Patents
基于语言模型获取词向量的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111737996B CN111737996B CN202010479752.6A CN202010479752A CN111737996B CN 111737996 B CN111737996 B CN 111737996B CN 202010479752 A CN202010479752 A CN 202010479752A CN 111737996 B CN111737996 B CN 111737996B
- Authority
- CN
- China
- Prior art keywords
- word
- mask
- matrix
- language model
- probability distribution
- 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.)
- Active
Links
- 239000013598 vector Substances 0.000 title claims abstract description 385
- 238000000034 method Methods 0.000 title claims abstract description 44
- 239000011159 matrix material Substances 0.000 claims abstract description 276
- 238000012549 training Methods 0.000 claims abstract description 92
- 230000015654 memory Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 14
- 230000011218 segmentation Effects 0.000 claims description 9
- 238000010606 normalization Methods 0.000 claims description 4
- 238000003058 natural language processing Methods 0.000 abstract description 15
- 230000000694 effects Effects 0.000 abstract description 11
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000002372 labelling Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 101000928335 Homo sapiens Ankyrin repeat and KH domain-containing protein 1 Proteins 0.000 description 7
- 101000701393 Homo sapiens Serine/threonine-protein kinase 26 Proteins 0.000 description 7
- 102100030617 Serine/threonine-protein kinase 26 Human genes 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了一种基于语言模型获取词向量的方法、装置、设备及存储介质,涉及人工智能中的自然语言处理技术领域。具体实现方案为:分别将至少两个第一样本文本语料中的每个第一样本文本语料输入语言模型,经所述语言模型输出每个所述第一样本文本语料中第一词掩码的上下文向量;分别基于第一词向量参数矩阵、第二词向量参数矩阵和全连接矩阵确定每个所述第一词掩码对应的词向量;基于所述至少两个第一样本文本语料中第一词掩码对应的词向量对所述语言模型和所述全连接矩阵进行训练,得到词向量。本申请可以避免基于字粒度学习引起信息泄露风险,增强语言模型对词义信息的学习能力,并加快词向量收敛速度、提升训练效果。
Description
技术领域
涉及计算机技术领域,具体涉及人工智能中的自然语言处理技术,尤其涉及一种基于语言模型获取词向量的方法、装置、设备及存储介质。
背景技术
在中文自然语言处理(Natural Language Processing,NLP)领域,使用大量的无监督文本进行语言模型自监督的预训练学习(pre-training),接着采用有监督的任务数据对语言模型进行参数精调(fine-tuning),是当前NLP领域中先进的语言模型训练技术。
现有技术在语言模型自监督的预训练学习中,为了不使语言模型的训练效果受到分词器性能的影响,都是基于字粒度进行语言模型的自监督预训练学习,从而使得语言模型很难学出更大语义粒度(例如词)的信息,可能存在信息泄露的风险,可能会破坏语言模型对词本身语义的学习,从而影响语言模型的预测性能。
发明内容
本申请的多个方面提供一种基于语言模型获取词向量的方法、装置、设备及存储介质,用以避免基于字粒度学习引起信息泄露风险,增强语言模型对词义信息的学习能力,并加快词向量收敛速度、提升训练效果。
根据第一方面,提供了一种基于语言模型获取词向量的方法,包括:
分别将至少两个第一样本文本语料中的每个第一样本文本语料输入语言模型,经所述语言模型输出每个所述第一样本文本语料中第一词掩码的上下文向量;
分别针对每个所述第一样本文本语料中的每个所述第一词掩码,基于每个所述第一词掩码的上下文向量和第一词向量参数矩阵得到每个所述第一词掩码的第一概率分布矩阵,基于每个所述第一词掩码的上下文向量和第二词向量参数矩阵得到每个所述第一词掩码的第二概率分布矩阵,基于每个所述第一词掩码的上下文向量和全连接矩阵得到每个所述第一词掩码的第三概率分布矩阵;其中,所述第一词向量参数矩阵为预先训练好的、所述语言模型对应的词向量参数矩阵,所述第二词向量参数矩阵为预先训练好的、其他语言模型对应的词向量参数矩阵;
分别基于每个所述第一词掩码的所述第一概率分布矩阵、所述第二概率分布矩阵和所述第三概率分布矩阵,确定每个所述第一词掩码对应的词向量;
基于所述至少两个第一样本文本语料中第一词掩码对应的词向量对所述语言模型和所述全连接矩阵进行训练,直至满足第一预设训练完成条件,得到训练好的所述语言模型、以及所述第一词向量参数矩阵和所述第二词向量参数矩阵对应词的词向量。
根据第二方面,提供了一种基于语言模型获取词向量的装置,包括:
语言模型,用于接收至少两个第一样本文本语料中的每个第一样本文本语料输入语言模型,输出每个所述第一样本文本语料中第一词掩码的上下文向量;
获取单元,用于分别针对每个所述第一样本文本语料中的每个所述第一词掩码,基于每个所述第一词掩码的上下文向量和第一词向量参数矩阵得到每个所述第一词掩码的第一概率分布矩阵,基于每个所述第一词掩码的上下文向量和第二词向量参数矩阵得到每个所述第一词掩码的第二概率分布矩阵,基于每个所述第一词掩码的上下文向量和全连接矩阵得到每个所述第一词掩码的第三概率分布矩阵;其中,所述第一词向量参数矩阵为预先训练好的、所述语言模型对应的词向量参数矩阵,所述第二词向量参数矩阵为预先训练好的、其他语言模型对应的词向量参数矩阵;
第一确定单元,用于分别基于每个所述第一词掩码的所述第一概率分布矩阵、所述第二概率分布矩阵和所述第三概率分布矩阵,确定每个所述第一词掩码对应的词向量;
第一训练单元,用于基于所述至少两个第一样本文本语料中第一词掩码对应的词向量对所述语言模型和所述全连接矩阵进行训练,直至满足第一预设训练完成条件,得到训练好的所述语言模型、以及所述第一词向量参数矩阵和所述第二词向量参数矩阵对应词的词向量。
根据第三方面,提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方面和任一可能的实现方式的方法。
根据第四方面,提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如上所述的方面和任一可能的实现方式的方法。
根据第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方面和任一可能的实现方式的方法。
由上述技术方案可知,本申请实施例通过分别将至少两个第一样本文本语料中的每个第一样本文本语料输入语言模型,经所述语言模型输出每个所述第一样本文本语料中第一词掩码的上下文向量,分别针对每个所述第一样本文本语料中的每个所述第一词掩码,基于每个所述第一词掩码的上下文向量和第一词向量参数矩阵得到每个所述第一词掩码的第一概率分布矩阵,基于每个所述第一词掩码的上下文向量和第二词向量参数矩阵得到每个所述第一词掩码的第二概率分布矩阵,基于每个所述第一词掩码的上下文向量和全连接矩阵得到每个所述第一词掩码的第三概率分布矩阵,然后,分别基于每个所述第一词掩码的所述第一概率分布矩阵、所述第二概率分布矩阵和所述第三概率分布矩阵,确定每个所述第一词掩码对应的词向量,进而,基于所述至少两个第一样本文本语料中第一词掩码对应的词向量对所述语言模型和所述全连接矩阵进行训练,直至满足第一预设训练完成条件,得到训练好的所述语言模型、以及所述第一词向量参数矩阵和所述第二词向量参数矩阵对应词的词向量。本申请实施例通过引入其他语言模型对应的第二词向量参数矩阵,同时基于预先训练好的第一词向量参数矩阵和第二词向量参数矩阵,结合多种高质量词向量联合训练语言模型和词向量,使语言模型学习到多源高质量的词义信息,增强了语言模型的词义信息学习能力,提高了语言模型的预测性能。
另外,采用本申请所提供的技术方案,结合多种高质量词向量联合训练语言模型和词向量,加快了语言模型和词向量的收敛速度,提升了训练效果。
另外,采用本申请所提供的技术方案,采用包括词掩码的样本文本语料来对语言模型和词向量进行训练,由于相对于字向量,词向量蕴含了更丰富的语义信息表示,采用词掩码的方式基于上下文建模词向量,加强了语言模型对词义信息的建模,增强了语言模型对词义信息的学习能力,可以有效避免基于字的全词覆盖可能引起的信息泄露风险。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。附图仅仅用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例的示意图;
图2是根据本申请第二实施例的示意图;
图3是根据本申请第三实施例的示意图;
图4是根据本申请第四实施例的示意图;
图5是用来实现本申请实施例的基于语言模型获取词向量的方法的电子设备的示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中所涉及的终端可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、个人电脑(Personal Computer,PC)、MP3播放器、MP4播放器、可穿戴设备(例如,智能眼镜、智能手表、智能手环等)、智能家居设备等智能设备。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
现有技术在语言模型自监督的预训练学习中,都是基于字粒度进行语言模型的自监督预训练学习,从而使得语言模型很难学出更大语义粒度(例如词)的信息,可能存在信息泄露的风险,可能会破坏语言模型对词本身语义的学习,从而影响语言模型的预测性能。
例如,现有语言模型中的知识增强语义表示(Enhanced Representation fromkNowledge IntEgration,ERNIE)模型的预训练学习中,采用基于字的全词覆盖方式,来使ERNIE模型学习实体的表达。但是,基于字的全词覆盖方式,仍然没有显式引入更大语义粒度的信息,例如词向量;另外,可能存在信息泄露的风险,例如针对文本“哈尔滨是黑龙江的省会”,分别将“哈”、“尔”、“滨”三个字替换为三个掩码(MASK),得到“[MASK][MASK][MASK]是黑龙江的省会”,期望ERNIE模型学出三个[MASK]对应“哈”、“尔”、“滨”三个字,等于提前告诉ERNIE模型要预测的信息是由三个字组成,这种信息可能会破坏模型对词本身语义的学习。
本申请针对上述问题,提出一种基于语言模型获取词向量的方法、装置、电子设备及可读存储介质,以避免基于字粒度学习引起信息泄露风险,增强语言模型对词义信息的学习能力,并加快词向量收敛速度、提升训练效果。
图1是根据本申请第一实施例的示意图,如图1所示。
101、分别将至少两个第一样本文本语料中的每个第一样本文本语料输入语言模型,经所述语言模型输出每个所述第一样本文本语料中第一词掩码的上下文向量。
102、分别针对每个所述第一样本文本语料中的每个所述第一词掩码,基于每个所述第一词掩码的上下文向量和第一词向量参数矩阵得到每个所述第一词掩码的第一概率分布矩阵,基于每个所述第一词掩码的上下文向量和第二词向量参数矩阵得到每个所述第一词掩码的第二概率分布矩阵,基于每个所述第一词掩码的上下文向量和全连接矩阵得到每个所述第一词掩码的第三概率分布矩阵。
其中,所述第一词向量参数矩阵为预先训练好的、所述语言模型对应的词向量参数矩阵,所述第二词向量参数矩阵为预先训练好的、其他语言模型对应的词向量参数矩阵。所述全连接矩阵为一个初始化的未训练好的矩阵。
103、分别基于每个所述第一词掩码的所述第一概率分布矩阵、所述第二概率分布矩阵和所述第三概率分布矩阵,确定每个所述第一词掩码对应的词向量。
104、基于所述至少两个第一样本文本语料中第一词掩码对应的词向量对所述语言模型和所述全连接矩阵进行训练,直至满足第一预设训练完成条件,得到训练好的所述语言模型、以及全连接矩阵,以训练好的所述第一词向量参数矩阵、所述第二词向量参数矩阵和所述全连接矩阵的集合作为词向量的集合。
在具体实现过程中,可以保持所述第一词向量参数矩阵和所述第二词向量参数矩阵的参数值不变,基于所述至少两个第一样本文本语料中第一词掩码对应的词向量对所述语言模型和所述全连接矩阵进行训练,即,对所述语言模型和所述全连接(Fully Connect,FC)矩阵中的参数值进行调整,直至满足所述第一预设训练完成条件。
本申请实施例中,可以通过一个词表来包含可能的词,第一词向量参数矩阵和第二词向量参数矩阵中分别为包含多个词的词向量的矩阵,第一词向量参数矩阵和第二词向量参数矩阵中的词向量为词表中各词的词向量,第一词向量参数矩阵和第二词向量参数矩阵的维度相同,可以表示为[词向量维度,词表大小],其中的词表大小即词表中包含的词的数量。其中,第一概率分布矩阵用于表示所述第一词掩码基于所述第一词向量参数矩阵分别对应于词表中各词向量的概率值,第二概率分布矩阵用于表示所述第一词掩码基于所述第一词向量参数矩阵分别对应于词表中各词向量的概率值。
在一个具体例子中,假设参与训练的第一词掩码对应的词的数量(也称为样本数量)为batch_size,每个词的词向量维度为embedding_size,词表大小为vocab_size,则所述语言模型的输出的词向量维度为[batch_size,embedding_size],所述第一词向量参数矩阵、所述第二词向量参数矩阵以及全连接矩阵的维度均为[embedding_size,vocab_size],则所述第一概率分布矩阵、所述第二概率分布矩阵和所述第三概率分布矩阵的维度均为[batch_size,vocab_size]。
由于所述第一词向量参数矩阵为预先训练好的、所述语言模型对应的词向量参数矩阵,可以准确表示词表中各词的词向量。所述第二词向量参数矩阵为预先训练好的、所述其他语言模型对应的词向量参数矩阵,也可以准确表示词表中各词的词向量。为了使所述语言模型可以学习出更多更丰富的语义信息,引入基于其他语言模型训练好的词向量(第二词向量参数矩阵)进一步对语言模型进行训练。
本实施例中,由于第一词向量参数矩阵和第二词向量参数矩阵分别为预先训练好的、不同语言模型对应的词向量参数矩阵,为了使两种不同语言模型对应的词向量参数矩阵中的词向量更好的融合,引入一个FC矩阵,来辅助、补充对两种不同语言模型对应的词向量参数矩阵融合后的词向量,从而进一步提升所述语言模型对两种不同语言模型对应的词向量参数矩阵对应词向量的学习效果。
其中,上述101~104可以为一个迭代执行的过程,通过迭代执行101~104实现对语言模型和全连接矩阵的训练,在满足第一预设训练完成条件时,对语言模型和全连接矩阵的训练完成,通过训练好的语言模型基于102~103,便可以准确输出一个文本中第一词掩码对应的词向量。
需要说明的是,101~104的执行主体的部分或全部可以为位于本地终端的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(SoftwareDevelopment Kit,SDK)等功能单元,或者还可以为位于网络侧服务器中的处理引擎,本实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在终端上的本地程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本实施例对此不进行限定。
本实施例中,通过引入其他语言模型对应的第二词向量参数矩阵,同时基于预先训练好的第一词向量参数矩阵和第二词向量参数矩阵,结合多种高质量词向量联合训练语言模型和词向量,使语言模型学习到多源高质量的词义信息,增强了语言模型的词义信息学习能力,提高了语言模型的预测性能。
另外,采用本申请所提供的技术方案,结合多种高质量词向量联合训练语言模型和词向量,加快了语言模型和词向量的收敛速度,提升了训练效果。
另外,采用本申请所提供的技术方案,采用包括词掩码的样本文本语料来对语言模型和词向量进行训练,由于相对于字向量,词向量蕴含了更丰富的语义信息表示,采用词掩码的方式基于上下文建模词向量,加强了语言模型对词义信息的建模,增强了语言模型对词义信息的学习能力,可以有效避免基于字的全词覆盖可能引起的信息泄露风险。
可选地,在本实施例的一个可能的实现方式中,102中,可以将所述第一词掩码的上下文向量与所述第一词向量参数矩阵进行矩阵相乘,得到每个所述第一词掩码的上下文向量与所述第一词向量参数矩阵中每个词向量之间的相关性,从而得到所述第一词掩码对应于第一词向量参数矩阵中各词向量的第一概率分布矩阵。
可选地,在本实施例的一个可能的实现方式中,102中,可以将所述第一词掩码的上下文向量与所述第二词向量参数矩阵进行矩阵相乘,得到每个所述第一词掩码的上下文向量与所述第二词向量参数矩阵中每个词向量之间的相关性,从而得到所述第一词掩码对应于第一词向量参数矩阵中各词向量的第二概率分布矩阵。
可选地,在本实施例的一个可能的实现方式中,102中,可以将所述第一词掩码的上下文向量与所述全连接矩阵进行矩阵相乘,得到所述第一词掩码对应于全连接矩阵中各词向量的第三概率分布矩阵。
该实现方式中,通过将第一词掩码的上下文向量分别与第一词向量参数矩阵、第二词向量参数矩阵、全连接矩阵进行矩阵相乘的方式,来获取第一词掩码分别基于第一词向量参数矩阵、第二词向量参数矩阵、全连接矩阵对应于多个词向量的概率分布,从而基于第一概率分布矩阵、第二概率分布矩阵、第三概率分布矩阵综合确定第一词掩码对应的词向量。
可选地,在本实施例的一个可能的实现方式中,103中,可以将每个所述第一词掩码的所述第一概率分布矩阵、所述第二概率分布矩阵和所述第三概率分布矩阵相加,得到每个所述第一词掩码总概率分布矩阵,然后,对每个所述第一词掩码所述总概率分布矩阵中的概率值进行归一化处理,例如,可以通过归一化指数函数(softmax),对所述总概率分布矩阵中的概率值进行归一化处理,得到每个所述第一词掩码对应多个词向量的多个归一化概率值,进而,基于每个所述第一词掩码的对应多个词向量的多个归一化概率值确定每个所述第一词掩码对应的词向量。由于通过softmax对所述总概率分布矩阵中的概率值进行归一化处理,第一词向量参数矩阵和第二词向量参数矩阵也可以称为softmax参数矩阵或者softmax词向量参数矩阵。
该实现方式中,通过将第一概率分布矩阵、第二概率分布矩阵和第三概率分布矩阵相加得到的总概率分布矩阵的概率值进行归一化处理,基于归一化的概率值,例如可以选取概率值最高的词向量作为第一词掩码对应的词向量,从而准确确定第一词掩码对应的词向量。
可选地,在本实施例的一个可能的实现方式中,所述第一预设训练完成条件可以根据实际需求设置,例如可以包括以下任意一项或多项:
语言模型输出的词向量对应第一样本文本语料的困惑度(perplexity)达到第一预设阈值;
所述至少两个第一样本文本语料中被替换为第一词掩码的词包括了词表中的多个词(可以是部分词或者全部词),通过103得到每个所述第一词掩码对应多个词向量的多个归一化概率值后,参与训练的所有第一词掩码的概率值最高的归一化概率值最大化;
语言模型和全连接矩阵的训练次数(即,101~104的迭代执行次数)达到第二预设阈值。
可选地,在上述第一实施例之前,还可以预先对初始化语言模型和初始化第一词向量参数矩阵进行训练,直至满足第二预设训练完成条件,得到所述语言模型和所述第一词向量参数矩阵。
本实施例中,预先对初始化语言模型和初始化第一词向量参数矩阵进行训练,得到训练好的所述语言模型和所述第一词向量参数矩阵后,再结合其他语言模型的词向量参数矩阵对所述语言模型和所述第一词向量参数矩阵进行进一步训练,可以加快所述语言模型和所述第一词向量参数矩阵的训练速度,提高训练效果。
图2是根据本申请第三实施例的示意图,如图2所示。
对初始化语言模型和初始化第一词向量参数矩阵进行训练,直至满足第二预设训练完成条件,可以通过如下方式实现:
201、预先使用语料库中的预设文本语料对所述初始化语言模型进行预训练学习(pre-training)。
预先使用语料库中的预设文本语料对所述语言模型进行预训练学习,可以使语言模型学习文本语料中的词、实体及实体关系。
202、将第二样本文本语料中的至少一个词分别替换为第二词掩码,得到包括至少一个第二词掩码的第二样本文本语料。
其中的第二样本文本语料可以与所述第一样本文本语料相同,也可以不同。另外,第二样本文本语料可以是语料库中的预设文本语料中的一个预设文本语料,也可以是不同于语料库中的预设文本语料的其他文本语料。
可选地,在本实施例的一个可能的实现方式中,将第二样本文本语料中的至少一个词分别替换为第二词掩码时,仍然基于字表示第二词掩码的上下文。
203、将所述包括至少一个第二词掩码的第二样本文本语料输入所述初始化语言模型,经所述初始化语言模型输出所述至少一个第二词掩码中每个所述第二词掩码的上下文向量。
204、基于每个所述第二词掩码的上下文向量和所述初始化第一词向量参数矩阵确定每个所述第二词掩码对应的词向量。
205、基于所述至少一个第二词掩码对应的词向量对所述初始化语言模型和所述初始化第一词向量参数矩阵进行训练,直至满足第二预设训练完成条件。
其中,上述202~205可以为一个迭代执行的过程,通过迭代执行202~205实现对初始化语言模型和初始化第一词向量参数矩阵的训练,在满足第二预设训练完成条件时,对初始化语言模型和初始化第一词向量参数矩阵的训练完成。
例如,在一个具体例子中,预先使用语料库中的预设文本语料对初始化语言模型进行预训练学习,学习了“哈尔滨”是“黑龙江”的省会以及“哈尔滨”是个冰雪城市,将第二样本文本语料“哈尔滨是黑龙江的省会”中的“哈尔滨”替换为一个词掩码(MASK)输入语言模型,经初始化语言模型输出一个词向量,基于该初始化语言模型输出的词向量是否正确来对初始化语言模型和初始化第一词向量参数矩阵进行训练,使得训练完成后,向语言模型输入“[MASK]是黑龙江的省会”时,语言模型可以正确的输出“哈尔滨”的词向量。
本实施例中,通过将包括第二词掩码的第二样本文本语料输入语言模型,经初始化语言模型输出所述第二词掩码的上下文向量,然后基于所述第二词掩码的上下文向量和初始化第一词向量参数矩阵确定所述第二词掩码对应的词向量,进而,基于所述第二词掩码对应的词向量对所述初始化语言模型和所述第一词向量参数矩阵进行训练,直至满足第二预设训练完成条件,即可得到训练好的语言模型和第一词向量参数矩阵(也称为第一词向量),由于相对于字向量,词向量蕴含了更丰富的语义信息表示,引入了更大粒度语义信息表示,采用词掩码的方式基于上下文建模词向量,加强了语言模型对词义信息的建模,增强了语言模型对词义信息的学习能力。
另外,本实施例中,由于采用包括第二词掩码的第二样本文本语料来对初始化语言模型进行训练,可以有效避免基于字的全词覆盖可能引起的信息泄露风险。
另外,采用本实施例,将初始化语言模型同初始化第一词向量参数矩阵的训练相结合,对初始化语言模型同初始化第一词向量参数矩阵进行联合训练,可以加快语言模型与第一词向量参数矩阵对应词向量的收敛速度,从而提升训练效果。
可选地,在本实施例的一个可能的实现方式中,202中,可以对所述第二样本文本语料进行分词,并基于分词结果,将所述第二样本文本语料中至少一个词中的每个词分别替换为一个第二词掩码。除了替换为第二掩码的词外,所述第二样本文本语料中仍然基于字表示第二词掩码的上下文。
该实现方式中,通过对第二样本文本语料进行分词,根据分词结果,可以准确的确定第二样本文本语料中的词,并将其中的一个或多个词中的每个词分别替换为一个第二词掩码,从而可以正确的设置词掩码用于训练初始化语言模型,使得初始化语言模型基于上下文建模词向量,加强了语言模型对词义信息的建模,增强了语言模型对词义信息的学习能力。
可选地,在本实施例的一个可能的实现方式中,在204中,可以将所述第二词掩码的上下文向量与所述初始化第一词向量参数矩阵相乘,可以得到每个所述二词掩码的上下文向量与所述初始化第一词向量参数矩阵中每个词向量之间的相关性,从而得到所述第二词掩码对应多个词向量的概率值;然后,对所述第二词掩码对应多个词向量的概率值进行归一化处理,得到所述第二词掩码对应多个词向量的多个归一化概率值,进而,基于所述多个归一化概率值确定所述第二词掩码对应的词向量,具体来说,将归一化概率值最高的词向量确定为所述第二词掩码对应的词向量。
在一个具体的实现方式中,可以通过一次词表来包含可能的词,第一词向量参数矩阵中包括多个词向量的具体表示,该第一词向量分别对应于词表中的各词的词向量,将所述第二词掩码的上下文向量与所述初始化第一词向量参数矩阵相乘,可以得到每个所述二词掩码的上下文向量与所述初始化第一词向量参数矩阵中每个词向量之间的相关性,从而得到所述第二词掩码分别对应于词表中各词向量的概率值,该概率值体现了所述第二词掩码为对应词向量的概率。
该实现方式中,通过将第二词掩码的上下文向量与词向量参数矩阵相乘,并将得到的概率值进行归一化处理,例如,可以通过softmax,对每个所述第二词掩码对应多个词向量的概率值进行归一化处理,从而可以基于归一化的概率值,选取概率值最高的词向量作为第二词掩码对应的词向量,来确定第二词掩码对应的词向量。通过softmax对每个所述第二词掩码对应多个词向量的概率值进行归一化处理时,第一词向量参数矩阵也可以称为softmax参数矩阵或者softmax词向量参数矩阵。
可选地,在本实施例的一个可能的实现方式中,205中,所述第二预设训练完成条件可以根据实际需求设置,例如可以包括以下任意一项或多项:
语言模型输出的词向量对应第二样本文本语料的困惑度(perplexity)达到第一预设阈值;
利用多个第二样本文本语料执行202~302,多个第二样本文本语料中被替换为第二词掩码的词包括了词表中的多个词(可以是部分词或者全部词),204得到每个第二词掩码对应多个词向量的多个归一化概率值后,参与训练的所有第二词掩码的、概率值最高的归一化概率值最大化;
对所述初始化语言模型和所述初始化词向量参数矩阵的训练次数(即,202~205的迭代执行次数)达到第二预设阈值。
可选地,在本实施例的一个可能的实现方式中,上述实施例中的所述语言模型和所述其他语言模型可以是任意两个不同类型的语言模型,也可以是通过不同语料库中的预设文本语料训练得到的同一类型的不同语言模型,本申请实施例对所述语言模型和所述其他语言模型的具体类型不做限制。
例如,在其中一个具体实现方式中,例如所述语言模型可以是ERNIE模型,所述其他语言模型可以是连续词袋(Continuous Bag of Word,CBOW)模型或者不同于ERNIE模型、CBOW模型的语言模型。
其中,ERNIE模型可以通过建模海量数据中的实体概念等先验语义知识,学习完整概念的语义表示,通过对词和实体概念等语义单元进行掩码来预训练ERNIE模型,从而使得ERNIE模型对语义知识单元的表示更贴近真实世界,ERNIE模型在基于字特征输入建模的同时,直接对先验语义知识单元进行建模,具有较强的语义表示能力。本实施例中,以ERNIE模型作为所述语言模型,可以利用ERNIE模型较强的语义表示能力,来建模海量数据中的词、实体及实体关系,学习真实世界的语义知识,从而增强了模型语义表示能力,例如,ERNIE模型通过学习词与实体的表达,能够建模出“哈尔滨”与“黑龙江”的关系,学到“哈尔滨”是“黑龙江”的省会以及“哈尔滨”是个冰雪城市。
CBOW模型可以基于一个中间词的上下文对应的词向量预测该中间词的词向量,由于CBOW模型不包括隐含层,因此其训练速度较快,且CBOW模型对每个词向量的计算只与滑动窗口限定的上下文有关系,因此训练参数较少,模型复杂度较低,模型的预测准确率较高。同时结合预先训练好的、CBOW模型对应的词向量参数矩阵(也称为CBOW词向量),与预先训练好的、ERNIE模型对应的词向量参数矩阵(也称为ERNIE-WORD词向量),对ERNIE模型进行进一步训练,使ERNIE模型可以同时学习到高质量的CBOW词向量和ERNIE-WORD词向量的词义信息,增强了ERNIE模型的词义信息学习能力,提高了ERNIE模型对文本中词的预测能力。
另外,在上述实施例的基础之上,满足第一预设训练完成条件得到训练好的语言模型之后,还可以通过有监督的NLP任务对语言模型进行进一步优化,进一步提高语言模型在NLP任务中的预测性能。
可选地,在本实施例的一个可能的实现方式中,可以利用训练好的语言模型进行NLP任务,得到处理结果,进而,根据所述处理结果与标注结果信息之间的差异,对所述语言模型中的参数值进行精调(finetuning),直至满足预设条件,例如所述处理结果与标注结果信息之间的差异小于预设差异,和/或对所述语言模型的训练次数达到预设次数,等等。所述标注结果信息为预先针对所要进行的NLP任务人工标注的正确处理结果。
具体地,上述NLP任务例如可以是分类、匹配、序列标注等NLP任务中的任意一个或多个,本实施例对此不进行特别限定。相应地,处理结果为具体NLP任务的处理结果,例如分类结果、匹配结果、序列标注结果等。
在一种具体实现方式中,可以利用训练好的语言模型结合其他用于实现分类、匹配、序列标注的网络模型,例如卷积神经网络(convolutional neural network,CNN)、长短期记忆(Long Short Term Memory,LSTM)模型、词袋(Bag of Word,BOW)模型,进行NLP任务,得到处理结果,例如,其他网络模型用于实现分类、匹配、序列标注的网络模型基于语言模型的输出进行分类、匹配、序列标注等处理,得到相应的分类结果、匹配结果、序列标注结果等处理结果。
本实施例中,由于不需要词向量参数矩阵,可以在不改变语言模型整体结构的情况下,通过有监督数据(即标注结果信息)的NLP任务对语言模型进行进一步优化,提高了语言模型的预测性能,便于根据各NLP任务对语言模型进行优化迭代。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图3是根据本申请第四实施例的示意图,如图3所示。本实施例基于语言模型获取词向量的装置300可以包括语言模型301、获取单元302、第一确定单元303和第一训练单元304。其中,语言模型301,用于接收至少两个第一样本文本语料中的每个第一样本文本语料输入语言模型,输出每个所述第一样本文本语料中第一词掩码的上下文向量;获取单元302,用于分别针对每个所述第一样本文本语料中的每个所述第一词掩码,基于每个所述第一词掩码的上下文向量和第一词向量参数矩阵得到每个所述第一词掩码的第一概率分布矩阵,基于每个所述第一词掩码的上下文向量和第二词向量参数矩阵得到每个所述第一词掩码的第二概率分布矩阵,基于每个所述第一词掩码的上下文向量和全连接矩阵得到每个所述第一词掩码的第三概率分布矩阵;其中,所述第一词向量参数矩阵为预先训练好的、所述语言模型对应的词向量参数矩阵,所述第二词向量参数矩阵为预先训练好的、其他语言模型对应的词向量参数矩阵;第一确定单元303,用于分别基于每个所述第一词掩码的所述第一概率分布矩阵、所述第二概率分布矩阵和所述第三概率分布矩阵,确定每个所述第一词掩码对应的词向量;第一训练单元304,用于基于所述至少两个第一样本文本语料中第一词掩码对应的词向量对所述语言模型和所述全连接矩阵进行训练,直至满足第一预设训练完成条件,以训练好的所述第一词向量参数矩阵、所述第二词向量参数矩阵和所述全连接矩阵的集合作为词向量的集合。
需要说明的是,本实施例的语言模型的训练装置的执行主体的部分或全部可以为位于本地终端的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,或者还可以为位于网络侧服务器中的处理引擎,本实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在终端上的本地程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本实施例对此不进行限定。
本实施例中,通过引入其他语言模型对应的第二词向量参数矩阵,同时基于预先训练好的第一词向量参数矩阵和第二词向量参数矩阵,结合多种高质量词向量联合训练语言模型和词向量,使语言模型学习到多源高质量的词义信息,增强了语言模型的词义信息学习能力,提高了语言模型的预测性能。
另外,采用本申请所提供的技术方案,结合多种高质量词向量联合训练语言模型和词向量,加快了语言模型和词向量的收敛速度,提升了训练效果。
另外,采用本申请所提供的技术方案,采用包括词掩码的样本文本语料来对语言模型和词向量进行训练,由于相对于字向量,词向量蕴含了更丰富的语义信息表示,采用词掩码的方式基于上下文建模词向量,加强了语言模型对词义信息的建模,增强了语言模型对词义信息的学习能力,可以有效避免基于字的全词覆盖可能引起的信息泄露风险。
可选地,在本实施例的一个可能的实现方式中,所述获取单元302,具体用于将所述第一词掩码的上下文向量与所述第一词向量参数矩阵相乘,得到所述第一词掩码的第一概率分布矩阵;和/或,将所述第一词掩码的上下文向量与所述第二词向量参数矩阵相乘,得到所述第一词掩码的第二概率分布矩阵;和/或,将所述第一词掩码的上下文向量与所述全连接矩阵相乘,得到所述第一词掩码的第三概率分布矩阵。
图4是根据本申请第五实施例的示意图,如图4所示,在图3所示实施例的基础上,本实施例基于语言模型获取词向量的装置300还可以包括:相加单元401和归一化单元402。其中,相加单元401,用于将所述第一概率分布矩阵、所述第二概率分布矩阵和所述第三概率分布矩阵相加,得到总概率分布矩阵;归一化单元402,用于对所述总概率分布矩阵中的概率值进行归一化处理,得到所述第一词掩码对应多个词向量的多个归一化概率值。相应地,本实施例中,所述第一确定单元303,具体用于基于所述多个归一化概率值确定所述第一词掩码对应的词向量。
可选地,再参见图4,上述实施例基于语言模型获取词向量的装置300还可以包括:第二训练单元403,用于对初始化语言模型和初始化第一词向量参数矩阵进行训练,直至满足第二预设训练完成条件,得到所述语言模型301和所述第一词向量参数矩阵。
可选地,再参见图4,上述实施例基于语言模型获取词向量的装置300还可以包括:预训练单元404、替换单元405和第二确定单元406。其中,预训练单元404,用于预先使用语料库中的预设文本语料对所述初始化语言模型进行预训练学习;替换单元405,用于将第二样本文本语料中的至少一个词分别替换为第二词掩码,得到包括至少一个第二词掩码的第二样本文本语料以输入所述初始化语言模型;所述初始化语言模型,用于基于所述替换单元输入的包括至少一个第二词掩码的第二样本文本语料,输出所述至少一个第二词掩码中每个所述第二词掩码的上下文向量;第二确定单元406,用于基于每个所述第二词掩码的上下文向量和所述初始化第一词向量参数矩阵确定每个所述第二词掩码对应的词向量;所述第二训练单元403,具体用于基于所述至少一个第二词掩码对应的词向量对所述初始化语言模型和所述初始化第一词向量参数矩阵进行训练,直至满足第二预设训练完成条件。
可选地,在本实施例的一个可能的实现方式中,所述替换单元405,具体用于对所述第二样本文本语料进行分词,并基于分词结果,将所述第二样本文本语料中至少一个词中的每个词分别替换为一个第二词掩码。
可选地,在本实施例的一个可能的实现方式中,上述实施例中的所述语言模型和所述其他语言模型可以是任意两个不同类型的语言模型,也可以是通过不同语料库中的预设文本语料训练得到的同一类型的不同语言模型,本申请实施例对所述语言模型和所述其他语言模型的具体类型不做限制。
例如,在其中一个具体实现方式中,例如所述语言模型可以是ERNIE模型,所述其他语言模型可以是CBOW模型或者不同于ERNIE模型、CBOW模型的语言模型。
需要说明的是,图1~图2对应的实施例中的方法可以由上述图3~图4实施例提供的上述实施例基于语言模型获取词向量的装置实现。详细描述可以参见图1~图2对应的实施例中的相关内容,此处不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种存储有计算机指令的非瞬时计算机可读存储介质。
图5是用来实现本申请实施例的基于语言模型获取词向量的方法的电子设备的示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图5所示,该电子设备包括:一个或多个处理器501、存储器502,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI(图形用户界面)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图5中以一个处理器501为例。
存储器502即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的基于语言模型获取词向量的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的基于语言模型获取词向量的方法。
存储器502作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及单元,如本申请实施例中的基于语言模型获取词向量的方法对应的程序指令/单元(例如,附图3所示的语言模型301、获取单元302、第一确定单元303和第一训练单元304)。处理器501通过运行存储在存储器502中的非瞬时软件程序、指令以及单元,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的基于语言模型获取词向量的方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据实现本申请实施例提供的基于语言模型获取词向量的方法的电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至实现本申请实施例提供的基于语言模型获取词向量的方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
基于语言模型获取词向量的方法的电子设备还可以包括:输入装置503和输出装置504。处理器501、存储器502、输入装置503和输出装置504可以通过总线或者其他方式连接,图5中以通过总线连接为例。
输入装置503可接收输入的数字或字符信息,以及产生与实现本申请实施例提供的基于语言模型获取词向量的方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置504可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,LCD(液晶显示器)、LED(发光二极管)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、PLD(可编程逻辑器件)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语言输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:LAN(局域网)、WAN(广域网)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过引入其他语言模型对应的第二词向量参数矩阵,同时基于预先训练好的第一词向量参数矩阵和第二词向量参数矩阵,结合多种高质量词向量联合训练语言模型和词向量,使语言模型学习到多源高质量的词义信息,增强了语言模型的词义信息学习能力,提高了语言模型的预测性能。
另外,采用本申请所提供的技术方案,结合多种高质量词向量联合训练语言模型和词向量,加快了语言模型和词向量的收敛速度,提升了训练效果。
另外,采用本申请所提供的技术方案,采用包括词掩码的样本文本语料来对语言模型和词向量进行训练,由于相对于字向量,词向量蕴含了更丰富的语义信息表示,采用词掩码的方式基于上下文建模词向量,加强了语言模型对词义信息的建模,增强了语言模型对词义信息的学习能力,可以有效避免基于字的全词覆盖可能引起的信息泄露风险。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (16)
1.一种基于语言模型获取词向量的方法,包括:
分别将至少两个第一样本文本语料中的每个第一样本文本语料输入语言模型,经所述语言模型输出每个所述第一样本文本语料中第一词掩码的上下文向量;
分别针对每个所述第一样本文本语料中的每个所述第一词掩码,基于每个所述第一词掩码的上下文向量和第一词向量参数矩阵得到每个所述第一词掩码的第一概率分布矩阵,基于每个所述第一词掩码的上下文向量和第二词向量参数矩阵得到每个所述第一词掩码的第二概率分布矩阵,基于每个所述第一词掩码的上下文向量和全连接矩阵得到每个所述第一词掩码的第三概率分布矩阵;其中,所述第一词向量参数矩阵为预先训练好的、所述语言模型对应的词向量参数矩阵,所述第二词向量参数矩阵为预先训练好的、其他语言模型对应的词向量参数矩阵;
分别基于每个所述第一词掩码的所述第一概率分布矩阵、所述第二概率分布矩阵和所述第三概率分布矩阵,确定每个所述第一词掩码对应的词向量;
基于所述至少两个第一样本文本语料中第一词掩码对应的词向量对所述语言模型和所述全连接矩阵进行训练,直至满足第一预设训练完成条件,以训练好的所述第一词向量参数矩阵、所述第二词向量参数矩阵和所述全连接矩阵的集合作为词向量的集合。
2.根据权利要求1所述的方法,其中,所述基于每个所述第一词掩码的上下文向量和第一词向量参数矩阵得到每个所述第一词掩码的第一概率分布矩阵,包括:将每个所述第一词掩码的上下文向量与所述第一词向量参数矩阵相乘,得到所述第一词掩码的第一概率分布矩阵;和/或,
所述基于每个所述第一词掩码的上下文向量和第二词向量参数矩阵得到每个所述第一词掩码的第二概率分布矩阵,包括:将每个所述第一词掩码的上下文向量与所述第二词向量参数矩阵相乘,得到所述第一词掩码的第二概率分布矩阵;和/或,
所述基于每个所述第一词掩码的上下文向量和全连接矩阵得到每个所述第一词掩码的第三概率分布矩阵,包括:将每个所述第一词掩码的上下文向量与所述全连接矩阵相乘,得到所述第一词掩码的第三概率分布矩阵。
3.根据权利要求1所述的方法,其中,所述分别基于每个所述第一词掩码的所述第一概率分布矩阵、所述第二概率分布矩阵和所述第三概率分布矩阵,确定每个所述第一词掩码对应的词向量,包括:
将每个所述第一词掩码的所述第一概率分布矩阵、所述第二概率分布矩阵和所述第三概率分布矩阵相加,得到每个所述第一词掩码总概率分布矩阵;
对每个所述第一词掩码所述总概率分布矩阵中的概率值进行归一化处理,得到每个所述第一词掩码对应多个词向量的多个归一化概率值;
基于每个所述第一词掩码的对应多个词向量的多个归一化概率值确定每个所述第一词掩码对应的词向量。
4.根据权利要求1-3中任一项所述的方法,其中,所述分别将至少两个第一样本文本语料中的每个第一样本文本语料输入语言模型,经所述语言模型输出每个所述第一样本文本语料中第一词掩码的上下文向量之前,还包括:
对初始化语言模型和初始化第一词向量参数矩阵进行训练,直至满足第二预设训练完成条件,得到所述语言模型和所述第一词向量参数矩阵。
5.根据权利要求4所述的方法,其中,所述对初始化语言模型和初始化第一词向量参数矩阵进行训练,直至满足第二预设训练完成条件,包括:
预先使用语料库中的预设文本语料对所述初始化语言模型进行预训练学习;
将第二样本文本语料中的至少一个词分别替换为第二词掩码,得到包括至少一个第二词掩码的第二样本文本语料;
将所述包括至少一个第二词掩码的第二样本文本语料输入所述初始化语言模型,经所述初始化语言模型输出所述至少一个第二词掩码中每个所述第二词掩码的上下文向量;
基于每个所述第二词掩码的上下文向量和所述初始化第一词向量参数矩阵确定每个所述第二词掩码对应的词向量;
基于所述至少一个第二词掩码对应的词向量对所述初始化语言模型和所述初始化第一词向量参数矩阵进行训练,直至满足第二预设训练完成条件。
6.根据权利要求5所述的方法,其中,所述将第二样本文本语料中的至少一个词分别替换为第二词掩码,包括:
对所述第二样本文本语料进行分词,并基于分词结果,将所述第二样本文本语料中至少一个词中的每个词分别替换为一个第二词掩码。
7.根据权利要求1-3中任一项所述的方法,其中,所述语言模型包括知识增强语义表示ERNIE模型;和/或,
所述其他语言模型包括连续词袋CBOW模型。
8.一种基于语言模型获取词向量的装置,包括:
语言模型,用于接收至少两个第一样本文本语料中的每个第一样本文本语料输入语言模型,输出每个所述第一样本文本语料中第一词掩码的上下文向量;
获取单元,用于分别针对每个所述第一样本文本语料中的每个所述第一词掩码,基于每个所述第一词掩码的上下文向量和第一词向量参数矩阵得到每个所述第一词掩码的第一概率分布矩阵,基于每个所述第一词掩码的上下文向量和第二词向量参数矩阵得到每个所述第一词掩码的第二概率分布矩阵,基于每个所述第一词掩码的上下文向量和全连接矩阵得到每个所述第一词掩码的第三概率分布矩阵;其中,所述第一词向量参数矩阵为预先训练好的、所述语言模型对应的词向量参数矩阵,所述第二词向量参数矩阵为预先训练好的、其他语言模型对应的词向量参数矩阵;
第一确定单元,用于分别基于每个所述第一词掩码的所述第一概率分布矩阵、所述第二概率分布矩阵和所述第三概率分布矩阵,确定每个所述第一词掩码对应的词向量;
第一训练单元,用于基于所述至少两个第一样本文本语料中第一词掩码对应的词向量对所述语言模型和所述全连接矩阵进行训练,直至满足第一预设训练完成条件,以训练好的所述第一词向量参数矩阵、所述第二词向量参数矩阵和所述全连接矩阵的集合作为词向量的集合。
9.根据权利要求8所述的装置,其中,所述获取单元,具体用于
将每个所述第一词掩码的上下文向量与所述第一词向量参数矩阵相乘,得到所述第一词掩码的第一概率分布矩阵;和/或,
将每个所述第一词掩码的上下文向量与所述第二词向量参数矩阵相乘,得到所述第一词掩码的第二概率分布矩阵;和/或,
将每个所述第一词掩码的上下文向量与所述全连接矩阵相乘,得到所述第一词掩码的第三概率分布矩阵。
10.根据权利要求8所述的装置,所述装置还包括:
相加单元,用于将每个所述第一词掩码的所述第一概率分布矩阵、所述第二概率分布矩阵和所述第三概率分布矩阵相加,得到每个所述第一词掩码总概率分布矩阵;
归一化单元,用于对每个所述第一词掩码所述总概率分布矩阵中的概率值进行归一化处理,得到每个所述第一词掩码对应多个词向量的多个归一化概率值;
所述第一确定单元,具体用于基于每个所述第一词掩码的对应多个词向量的多个归一化概率值确定每个所述第一词掩码对应的词向量。
11.根据权利要求8-10中任一项所述的装置,所述装置还包括:
第二训练单元,用于对初始化语言模型和初始化第一词向量参数矩阵进行训练,直至满足第二预设训练完成条件,得到所述语言模型和所述第一词向量参数矩阵。
12.根据权利要求11所述的装置,所述装置还包括:
预训练单元,用于预先使用语料库中的预设文本语料对所述初始化语言模型进行预训练学习;
替换单元,用于将第二样本文本语料中的至少一个词分别替换为第二词掩码,得到包括至少一个第二词掩码的第二样本文本语料;
所述初始化语言模型,用于将所述包括至少一个第二词掩码的第二样本文本语料输入所述初始化语言模型,经所述初始化语言模型输出所述至少一个第二词掩码中每个所述第二词掩码的上下文向量;
第二确定单元,用于基于每个所述第二词掩码的上下文向量和所述初始化第一词向量参数矩阵确定每个所述第二词掩码对应的词向量;
所述第二训练单元,具体用于基于所述至少一个第二词掩码对应的词向量对所述初始化语言模型和所述初始化第一词向量参数矩阵进行训练,直至满足第二预设训练完成条件。
13.根据权利要求12所述的装置,其中,所述替换单元,具体用于
对所述第二样本文本语料进行分词,并基于分词结果,将所述第二样本文本语料中至少一个词中的每个词分别替换为一个第二词掩码。
14.根据权利要求8-10中任一项所述的装置,其中,所述语言模型包括知识增强语义表示ERNIE模型;和/或,
所述其他语言模型包括连续词袋CBOW模型。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010479752.6A CN111737996B (zh) | 2020-05-29 | 2020-05-29 | 基于语言模型获取词向量的方法、装置、设备及存储介质 |
US17/095,955 US11526668B2 (en) | 2020-05-29 | 2020-11-12 | Method and apparatus for obtaining word vectors based on language model, device and storage medium |
EP21162529.8A EP3916613A1 (en) | 2020-05-29 | 2021-03-15 | Method and apparatus for obtaining word vectors based on language model, device and storage medium |
KR1020210068213A KR102541053B1 (ko) | 2020-05-29 | 2021-05-27 | 언어 모델에 기반한 단어 벡터 획득 방법, 장치, 기기 및 기록매체 |
JP2021089484A JP7206515B2 (ja) | 2020-05-29 | 2021-05-27 | 言語モデルに基づいて単語ベクトルを取得する方法、装置、デバイス及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010479752.6A CN111737996B (zh) | 2020-05-29 | 2020-05-29 | 基于语言模型获取词向量的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737996A CN111737996A (zh) | 2020-10-02 |
CN111737996B true CN111737996B (zh) | 2024-03-26 |
Family
ID=72648040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010479752.6A Active CN111737996B (zh) | 2020-05-29 | 2020-05-29 | 基于语言模型获取词向量的方法、装置、设备及存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11526668B2 (zh) |
EP (1) | EP3916613A1 (zh) |
JP (1) | JP7206515B2 (zh) |
KR (1) | KR102541053B1 (zh) |
CN (1) | CN111737996B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737995B (zh) * | 2020-05-29 | 2024-04-05 | 北京百度网讯科技有限公司 | 基于多种词向量训练语言模型的方法、装置、设备及介质 |
CN112926344B (zh) * | 2021-03-13 | 2023-11-17 | 中国科学院新疆理化技术研究所 | 基于词向量替换数据增强的机器翻译模型训练方法、装置、电子设备及存储介质 |
CN113326693B (zh) * | 2021-05-28 | 2024-04-16 | 智者四海(北京)技术有限公司 | 一种基于词粒度的自然语言模型的训练方法与*** |
CN113204961B (zh) * | 2021-05-31 | 2023-12-19 | 平安科技(深圳)有限公司 | 用于nlp任务的语言模型构建方法、装置、设备及介质 |
CN114997147B (zh) * | 2022-08-04 | 2022-11-04 | 深圳依时货拉拉科技有限公司 | 基于混合mask的poi地址纠错方法、装置、存储介质和设备 |
CN116244432B (zh) * | 2022-12-28 | 2023-11-14 | 北京百度网讯科技有限公司 | 语言模型的预训练方法、装置及电子设备 |
CN116227484B (zh) * | 2023-05-09 | 2023-07-28 | 腾讯科技(深圳)有限公司 | 模型训练方法、装置、设备、存储介质和计算机程序产品 |
CN116341537A (zh) * | 2023-05-23 | 2023-06-27 | 中债金科信息技术有限公司 | 多粒度词向量的评估方法、装置、电子设备及存储介质 |
CN117113990B (zh) * | 2023-10-23 | 2024-01-12 | 北京中科闻歌科技股份有限公司 | 面向大语言模型的词向量生成方法、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201900596D0 (en) * | 2018-03-06 | 2019-03-06 | Adobe Inc | Semantic class localization digital environment |
CN110196894A (zh) * | 2019-05-30 | 2019-09-03 | 北京百度网讯科技有限公司 | 语言模型的训练方法和预测方法 |
CN111061868A (zh) * | 2019-11-05 | 2020-04-24 | 百度在线网络技术(北京)有限公司 | 读法预测模型获取及读法预测方法、装置及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102167719B1 (ko) * | 2014-12-08 | 2020-10-19 | 삼성전자주식회사 | 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치 |
KR102305584B1 (ko) * | 2015-01-19 | 2021-09-27 | 삼성전자주식회사 | 언어 모델 학습 방법 및 장치, 언어 인식 방법 및 장치 |
US10255269B2 (en) * | 2016-12-30 | 2019-04-09 | Microsoft Technology Licensing, Llc | Graph long short term memory for syntactic relationship discovery |
CN108304365A (zh) * | 2017-02-23 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 关键词提取方法及装置 |
US10867595B2 (en) | 2017-05-19 | 2020-12-15 | Baidu Usa Llc | Cold fusing sequence-to-sequence models with language models |
KR20190019748A (ko) * | 2017-08-18 | 2019-02-27 | 삼성전자주식회사 | 자연어 생성 방법 및 장치 |
US10678830B2 (en) * | 2018-05-31 | 2020-06-09 | Fmr Llc | Automated computer text classification and routing using artificial intelligence transfer learning |
JP7143677B2 (ja) | 2018-08-24 | 2022-09-29 | 日本電信電話株式会社 | 単語符号化装置、解析装置、言語モデル学習装置、方法、及びプログラム |
US20200134449A1 (en) * | 2018-10-26 | 2020-04-30 | Naver Corporation | Training of machine reading and comprehension systems |
CN111310471B (zh) * | 2020-01-19 | 2023-03-10 | 陕西师范大学 | 一种基于bblc模型的旅游命名实体识别方法 |
CN111324744B (zh) * | 2020-02-17 | 2023-04-07 | 中山大学 | 一种基于目标情感分析数据集的数据增强方法 |
CN113505591A (zh) * | 2020-03-23 | 2021-10-15 | 华为技术有限公司 | 一种槽位识别方法及电子设备 |
-
2020
- 2020-05-29 CN CN202010479752.6A patent/CN111737996B/zh active Active
- 2020-11-12 US US17/095,955 patent/US11526668B2/en active Active
-
2021
- 2021-03-15 EP EP21162529.8A patent/EP3916613A1/en not_active Ceased
- 2021-05-27 KR KR1020210068213A patent/KR102541053B1/ko active IP Right Grant
- 2021-05-27 JP JP2021089484A patent/JP7206515B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201900596D0 (en) * | 2018-03-06 | 2019-03-06 | Adobe Inc | Semantic class localization digital environment |
CN110196894A (zh) * | 2019-05-30 | 2019-09-03 | 北京百度网讯科技有限公司 | 语言模型的训练方法和预测方法 |
CN111061868A (zh) * | 2019-11-05 | 2020-04-24 | 百度在线网络技术(北京)有限公司 | 读法预测模型获取及读法预测方法、装置及存储介质 |
Non-Patent Citations (2)
Title |
---|
基于ERNIE的命名实体识别;张晓;李业刚;王栋;史树敏;;智能计算机与应用(03);全文 * |
面向自然语言处理的预训练技术研究综述;李舟军;范宇;吴贤杰;;计算机科学(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
JP7206515B2 (ja) | 2023-01-18 |
US20210374343A1 (en) | 2021-12-02 |
JP2021190124A (ja) | 2021-12-13 |
KR20210148918A (ko) | 2021-12-08 |
CN111737996A (zh) | 2020-10-02 |
KR102541053B1 (ko) | 2023-06-05 |
EP3916613A1 (en) | 2021-12-01 |
US11526668B2 (en) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111539223B (zh) | 语言模型的训练方法、装置、电子设备及可读存储介质 | |
CN111737995B (zh) | 基于多种词向量训练语言模型的方法、装置、设备及介质 | |
CN111737994B (zh) | 基于语言模型获取词向量的方法、装置、设备及存储介质 | |
CN111737996B (zh) | 基于语言模型获取词向量的方法、装置、设备及存储介质 | |
CN111859951B (zh) | 语言模型的训练方法、装置、电子设备及可读存储介质 | |
CN111783451B (zh) | 用于增强文本样本的方法和装置 | |
CN111639710A (zh) | 图像识别模型训练方法、装置、设备以及存储介质 | |
CN111311321B (zh) | 用户消费行为预测模型训练方法、装置、设备及存储介质 | |
CN111950291B (zh) | 语义表示模型的生成方法、装置、电子设备及存储介质 | |
CN111859982B (zh) | 语言模型的训练方法、装置、电子设备及可读存储介质 | |
CN111967256B (zh) | 事件关系的生成方法、装置、电子设备和存储介质 | |
CN111783981A (zh) | 模型训练方法、装置、电子设备及可读存储介质 | |
JP7309798B2 (ja) | 対話意図の認識方法及び装置、電子機器並びに記憶媒体 | |
CN111709252B (zh) | 基于预训练的语义模型的模型改进方法及装置 | |
CN112163405A (zh) | 问题的生成方法和装置 | |
CN111127191B (zh) | 风险评估方法及装置 | |
CN114492788A (zh) | 训练深度学习模型的方法和装置、电子设备及存储介质 | |
CN113312451B (zh) | 文本标签确定方法和装置 | |
CN112487239B (zh) | 视频检索方法、模型训练方法、装置、设备及存储介质 | |
CN111311000B (zh) | 用户消费行为预测模型训练方法、装置、设备及存储介质 | |
CN111753759A (zh) | 模型生成方法、装置、电子设备及存储介质 | |
CN111753760A (zh) | 模型生成方法、装置、电子设备及存储介质 | |
WO2023076008A1 (en) | Deep self-attention matrix model refinement |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |