CN116227484B - 模型训练方法、装置、设备、存储介质和计算机程序产品 - Google Patents
模型训练方法、装置、设备、存储介质和计算机程序产品 Download PDFInfo
- Publication number
- CN116227484B CN116227484B CN202310512967.7A CN202310512967A CN116227484B CN 116227484 B CN116227484 B CN 116227484B CN 202310512967 A CN202310512967 A CN 202310512967A CN 116227484 B CN116227484 B CN 116227484B
- Authority
- CN
- China
- Prior art keywords
- mask
- words
- word
- prediction
- sentence
- 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
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- 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
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- 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
- G06F40/216—Parsing using statistical methods
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Mining & Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及一种模型训练方法、装置、计算机设备、存储介质和计算机程序产品。该方法涉及人工智能的自然语言处理技术,所述方法包括:获取样本语句以及样本语句的句法结构,样本语句包括多个词;基于句法结构确定各词在样本语句中的依赖覆盖度,根据依赖覆盖度从样本语句中筛选出多个掩码词;基于句法结构确定各掩码词在多个掩码词中的冲突程度,根据冲突程度确定多个掩码词中每个词的预测顺序;将样本语句中的多个掩码词进行掩码处理,得到掩码语句;通过掩码语言模型基于掩码语句,按预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据预测概率更新掩码语言模型。采用本方法能够避免掩码词相互依赖从而提升模型训练效果。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种模型训练方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术与人工智能技术的发展,出现了自然语言处理技术,自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。预训练语言模型在自然语言处理领域具有重要意义。模型通过在大量文本数据上进行预训练,从而学习抽象和丰富的语言表示,在情感分析、命名实体识别、文本摘要、机器翻译、文本分类等各种下游的自然语言处理任务中有着出色的表现。
掩码语言模型(Masked Language Modeling,MLM)是典型的预训练语言模型。目前,在掩码语言模型的预训练过程中,通常是随机对输入中的某些词进行掩码,并训练模型根据被掩码的词周围的词来并行地预测被掩码的词。
然而,随机掩码策略很难保证掩码词之间的独立性,掩码词之间可能存在依赖关系,当一个词和其具有依赖关系的词同时被掩码时,由于没有足够的上下文信息,仅靠剩下的其它词难以预测出该词,导致掩码语言模型的预训练效果较差。
发明内容
基于此,有必要针对上述技术问题,提供一种能够避免掩码词相互依赖从而提升掩码语言模型训练效果的模型训练方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种模型训练方法。所述方法包括:
获取样本语句以及所述样本语句的句法结构,所述样本语句包括多个词;
基于所述句法结构确定各所述词在所述样本语句中的依赖覆盖度,根据所述依赖覆盖度从所述样本语句中筛选出多个掩码词;
基于所述句法结构确定各所述掩码词在所述多个掩码词中的冲突程度,根据所述冲突程度确定所述多个掩码词中每个词的预测顺序;
将所述样本语句中的所述多个掩码词进行掩码处理,得到掩码语句;
通过所述掩码语言模型基于所述掩码语句,按所述预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据所述预测概率更新所述掩码语言模型。
第二方面,本申请还提供了一种模型训练装置。所述装置包括:
获取模块,用于获取样本语句以及所述样本语句的句法结构,所述样本语句包括多个词;
掩码词确定模块,用于基于所述句法结构确定各所述词在所述样本语句中的依赖覆盖度,根据所述依赖覆盖度从所述样本语句中筛选出多个掩码词;
预测顺序确定模块,用于基于所述句法结构确定各所述掩码词在所述多个掩码词中的冲突程度,根据所述冲突程度确定所述多个掩码词中每个词的预测顺序;
掩码处理模块,用于将所述样本语句中的所述多个掩码词进行掩码处理,得到掩码语句;
模型更新模块,用于通过所述掩码语言模型基于所述掩码语句,按所述预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据所述预测概率更新所述掩码语言模型。
在一个实施例中,所述掩码词确定模块,还用于基于所述句法结构,确定所述样本语句中每个词之间的路径长度;根据所述路径长度,统计每个词在所述样本语句中的依赖覆盖度;根据所述依赖覆盖度从所述样本语句中确定出多个掩码词。
在一个实施例中,所述掩码词确定模块,还用于根据所述样本语句中的每个词获得词集合;遍历所述词集合中的每个词;统计遍历到的词到所述词集合中其它词的路径长度之和;将所述路径长度之和作为遍历到的词在所述样本语句中的依赖覆盖度;其中,所述路径长度之和越大,相应的依赖覆盖度越低。
在一个实施例中,所述掩码词确定模块,还用于从所述样本语句的词集合中选出相应的依赖覆盖度最高的词,作为掩码词;基于所述句法结构从所述词集合中剔除与选出的所述掩码词存在依赖关系的词后,返回所述从所述样本语句的词集合中选出相应的依赖覆盖度最高的词,作为掩码词的步骤继续执行,直至满足选词停止条件时,得到所述多个掩码词。
在一个实施例中,所述预测顺序确定模块,还用于基于所述句法结构,确定所述多个掩码词中掩码词之间的路径长度;根据所述路径长度,统计每个掩码词在所述多个掩码词中的冲突程度;根据所述冲突程度,确定所述多个掩码词中每个词的预测顺序。
在一个实施例中,所述预测顺序确定模块,还用于遍历所述多个掩码词的每个掩码词;统计遍历到的掩码词到所述多个掩码词中其它掩码词的路径长度之和;将所述路径长度之和作为遍历到的掩码词在所述多个掩码词中的冲突程度;其中,所述路径长度之和越大,相应的冲突程度越低。
在一个实施例中,所述预测顺序确定模块,还用于确定所述多个掩码词中每个词相应冲突程度的升序;将所述升序作为所述多个掩码词中相应掩码词的预测顺序。
在一个实施例中,所述预测顺序确定模块,还用于将所述多个掩码词按各掩码词相应的冲突程度的升序进行分组;将所述升序作为每个组中相应掩码词的预测顺序。
在一个实施例中,所述模型更新模块,还用于根据所述预测顺序,确定首个预测位置及所述首个预测位置对应的掩码词;将所述掩码语句输入所述掩码语言模型,通过所述掩码语言模型对所述掩码语句进行语义表征,得到对应的分布式语义表示,根据所述分布式语义表示输出所述首个预测位置为所述首个掩码词的预测概率;迭代地执行根据所述预测顺序,确定下一预测位置及所述样本语句中所述下一预测位置对应的掩码词,利用已预测位置对应的掩码词填充所述掩码语句,通过所述掩码语言模型对填充后的掩码语句进行语义表征,得到更新的分布式语义表示,以及根据所述更新的分布式语义表示输出所述下一预测位置为所述下一掩码词的预测概率的步骤,直至所述下一预测位置为所述预测顺序所指示的末尾预测位置时停止;根据每个预测位置为相应掩码词的预测概率,计算预测损失;所述预测损失与所述预测概率成反相关;以最小化所述预测损失为目标,更新所述掩码语言模型的模型参数。
在一个实施例中,所述获取模块,还用于获取样本语句;通过句法结构解析器对所述样本语句进行句法解析,得到所述样本语句的句法结构。
在一个实施例中,所述装置还包括:
微调训练模块,用于将训练停止时得到的掩码语言模型,作为预训练语言模型;获取文本分类任务的训练样本,根据所述训练样本对所述预训练语言模型进行微调训练,得到适于所述文本分类任务的文本分类模型。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取样本语句以及所述样本语句的句法结构,所述样本语句包括多个词;
基于所述句法结构确定各所述词在所述样本语句中的依赖覆盖度,根据所述依赖覆盖度从所述样本语句中筛选出多个掩码词;
基于所述句法结构确定各所述掩码词在所述多个掩码词中的冲突程度,根据所述冲突程度确定所述多个掩码词中每个词的预测顺序;
将所述样本语句中的所述多个掩码词进行掩码处理,得到掩码语句;
通过所述掩码语言模型基于所述掩码语句,按所述预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据所述预测概率更新所述掩码语言模型。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取样本语句以及所述样本语句的句法结构,所述样本语句包括多个词;
基于所述句法结构确定各所述词在所述样本语句中的依赖覆盖度,根据所述依赖覆盖度从所述样本语句中筛选出多个掩码词;
基于所述句法结构确定各所述掩码词在所述多个掩码词中的冲突程度,根据所述冲突程度确定所述多个掩码词中每个词的预测顺序;
将所述样本语句中的所述多个掩码词进行掩码处理,得到掩码语句;
通过所述掩码语言模型基于所述掩码语句,按所述预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据所述预测概率更新所述掩码语言模型。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取样本语句以及所述样本语句的句法结构,所述样本语句包括多个词;
基于所述句法结构确定各所述词在所述样本语句中的依赖覆盖度,根据所述依赖覆盖度从所述样本语句中筛选出多个掩码词;
基于所述句法结构确定各所述掩码词在所述多个掩码词中的冲突程度,根据所述冲突程度确定所述多个掩码词中每个词的预测顺序;
将所述样本语句中的所述多个掩码词进行掩码处理,得到掩码语句;
通过所述掩码语言模型基于所述掩码语句,按所述预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据所述预测概率更新所述掩码语言模型。
上述模型训练方法、装置、计算机设备、存储介质和计算机程序产品,在掩码语言模型的预训练过程中,根据样本语句的句法结构,确定样本语句中每个词的依赖覆盖度,根据该依赖覆盖度,从样本语句中筛选出多个掩码词,根据句法结构确定该多个掩码词中每个掩码词的冲突程度,根据该冲突程度,确定掩码语言模型对掩码词所在位置进行预测的预测顺序,按预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据预测概率更新掩码语言模型。在该预训练过程中,采用依次预测的方式可以避免多个掩码词中存在互相依赖的掩码词;在依次预测时,预测顺序是根据多个掩码词中每个掩码词之间的冲突程度确定的,可以提升掩码语言模型的预测效果;基于句法结构从样本语句中选出有限数量的掩码词,能够提升预测效率,加快模型收敛速度;由于掩码词是根据在样本语句中的依赖覆盖度选出的,这样选出的掩码词对样本语句中其它词的依赖关系较强,能够通过样本语句中尽量多的其它词去预测该掩码词,可以让掩码语言模型学习到更多的语义搭配关系,提升模型训练效果。
附图说明
图1为相关技术中掩码语言模型的预测结果示意图;
图2为一个实施例中掩码语言模型的预测结果示意图;
图3为一个实施例中模型训练方法的应用环境示意图;
图4为一个实施例中模型训练方法的流程示意图;
图5为一个实施例中句法结构的示意图;
图6为相关技术中随机掩码得到的掩码序列的示意图;
图7为一个实施例中基于依赖覆盖度得到的掩码序列的示意图;
图8为一个实施例中预测顺序的示意图;
图9为一个实施例中自回归训练方式的示意图;
图10A为一个实施例中掩码语言模型的模型训练方法的示意图;
图10B为一个实施例中预测效果的示意图;
图11为一个实施例中模型训练装置的结构示意框图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
预训练是指在一个原始任务上预先训练一个初始模型,本申请实施例中,是指对初始的语言模型进行预训练。得到的预训练语言模型,可以在下游的自然语言处理任务上使用,即针对下游任务的特性,对该预训练语言模型进行微调训练,从而达到提高模型在下游任务上的适用性的目的。本质上,预训练是一种迁移学习,即在下游任务上使用经过预训练数据预先训练过的模型。
预训练语言模型在自然语言处理领域具有重要意义。模型通过在大量文本数据上进行预训练,从而学习抽象和丰富的语言表示,在情感分析、命名实体识别、文本摘要、机器翻译、文本分类等各种下游的自然语言处理任务中有着出色的表现。掩码语言模型(MaskedLanguage Modeling,MLM)是一种典型的可预先训练的语言模型,掩码语言模型是构建高效、准确的自然语言处理模型的重要组成部分,它可以帮助我们更好地理解自然语言中的语义和结构,并为实现自然语言处理的自动化和智能化提供支持和保障。
相关技术中,在掩码语言模型的预训练过程中,通常是随机对输入的文本序列中的某些词进行掩码,并训练模型根据被掩码的词周围的词来并行地预测被掩码的词,也就是,该方式中,基于文本序列中的掩码词是相互独立的假说下,掩码语言模型对文本序列随机掩盖其中一些词并同时、并行地预测掩码词。
然而,随机掩码策略很难保证掩码词之间的独立性,掩码词之间可能存在依赖关系,当一个词和其具有依赖关系的词同时被掩码时,由于没有足够的上下文信息,仅靠剩下的其它词难以预测出该词,导致掩码语言模型的预训练效果较差。如图1所示,为相关技术中掩码语言模型的预测结果示意图。参照图1,当随机掩码且多个掩码词中存在互相依赖的掩码词“团体”时,若同时预测该两个词,由于没有足够的上下文信息,会预测出“乐体”这种不兼容的预测分布。
为避免上述多个掩码词中存在互相依赖的掩码词带来的训练效果欠佳的问题,本申请实施例引入自回归预测方式即依次预测的方式,来对掩码语言模型进预训练。参照图2,为一个实施例中掩码语言模型的预测结果示意图。当引入按照自回归预测方式时,则不会出现预测出不兼容分布的问题(上一个字为“乐”时,下一个词不会预测成“体”,而是预测出“队”,即预测出“乐队”;下一个字是“体”时,上一个词不会预测为“乐”,而是预测出“团”,即预测出“团体”)。
而且,本申请实施例中,在依次预测时,根据多个掩码词中每个掩码词之间的冲突程度确定预测顺序,可以提升掩码语言模型的预测效果。由于依次预测相比于并行预测而言,预测效率可能会受到影响,本申请实施例根据句法结构从输入序列中选出有限数量的掩码词,能够提升预测效率,加快模型收敛速度。而且,本申请实施例中,由于选出的掩码词是样本语句中依赖覆盖度较大的词,能够通过样本语句中尽量多的其它词去预测掩码词,可以让掩码语言模型学习到更多的语义搭配关系,提升模型训练效果。
本申请实施例提供的模型训练方法,可以应用于如图3所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储***可以存储服务器104需要处理的数据,例如预训练过程所需的文本数据、词典数据,等等。数据存储***可以集成在服务器104上,也可以放在云上或其他服务器上。在一个实施例中,本申请实施例提供的模型训练方法,可以由服务器104单独执行,也可以由终端102执行,也可以由服务器104与终端102 协同执行。
例如,服务器104可以获取样本语句以及样本语句的句法结构,基于句法结构确定各词在样本语句中的依赖覆盖度,根据依赖覆盖度从样本语句中筛选出多个掩码词,此外,服务器104基于句法结构确定各掩码词在多个掩码词中的冲突程度,根据冲突程度确定多个掩码词中每个词的预测顺序,接着,服务器104可以将样本语句中的多个掩码词进行掩码处理,得到掩码语句,继而,服务器104通过掩码语言模型基于掩码语句,采用自回归方式按预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据预测概率更新掩码语言模型。
在一个实施例中,在上述的预训练过程完成后,将训练停止时得到的掩码语言模型,作为预训练语言模型,而后,再利用下游的自然语言处理任务的训练数据,对该预训练语言模型继续训练,得到适于下游的自然语言处理任务的文本处理模型。例如,服务器可以获取文本分类任务的训练样本,根据训练样本对预训练语言模型进行微调训练,得到适于文本分类任务的文本分类模型。
可以理解,该预训练语言模型还可以在搜索场景、推荐场景中应用,例如可应用于各类搜索场景的精排阶段,可提高文本语义匹配、文本分类等下游任务的准确性,提升排序效果,还可以应用智能问答等场景中,优化用户体验。
例如,下游任务可以是搜索场景下搜索文本与搜索对象(例如,视频)的文本信息(例如,视频标题、视频帧OCR)之间的匹配任务,还可以是搜索场景下搜索文本的意图分类任务。下游任务还可以是推荐场景下物品和用户的匹配度预测任务,等等。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图4所示,提供了一种模型训练方法,以该方法应用于图3中的计算机设备(终端102或服务器104)为例进行说明,包括以下步骤:
步骤402,获取样本语句以及样本语句的句法结构,样本语句包括多个词。
其中,样本语句是用于掩码语言模型的预训练过程的训练样本。计算机设备可以从训练数据中依次获取样本语句,实现对掩码语言模型的预训练。可以理解,为简明扼要,本申请实施例仅以对训练数据中的任意一个样本语句的处理进行示意说明,对训练数据中其它样本语句的处理是类似的。
在一个实施例中,计算机设备可以通过在网络上采集文本数据,再对采集的文本数据进行数据预处理,从而构建用于模型训练的训练数据。可选地,计算机设备可以先确定采集页面的网页链接所形成的链接列表,然后根据该链接列表进行网页数据的离线收集,此外计算机设备还可以下载***语料。可选地,对于上述采集的数据,计算机设备可以进一步进行数据预处理,具体地,计算机设备可以对数据进行清洗,去除其中的一些非文本类的标签数据、不可见字符等数据噪声,对***语料抽取文本,去除标题、列表和表格,等等,而后,对所有文本数据进行去重,再利用正则表达式对文本进行分句,得到最终的训练数据,该训练数据中包括多条样本语句。
样本语句的句法结构,是表征样本语句的句子结构的数据,句法结构能够反应在样本语句中词与词之间的依赖关系,包括横向关系与纵向关系(或称层级关系),这种依赖关系与语义相关联。
在一个实施例中,获取样本语句以及样本语句的句法结构,包括:获取样本语句;通过句法结构解析器对样本语句进行句法解析,得到样本语句的句法结构。
具体地,计算机设备在生成样本语句的句法结构时,可以使用句法结构解析器将样本语句解析出样本语句的句法结构。如图5所示,为一个实施例中句法结构的示意图。参照图5,展示了语句“张老师是一个蓄着胡子的人,但他性格随和。”对应的句法结构,该句法结构中每个节点代表了该语句中的每个词,包括标点符号。从该句法结构可以看出,句法结构可以描述语句中各个词语之间的依赖关系,也即指出了词之间在句法上的搭配关系,这种搭配关系是和语义相关联的。
例如,参照图5可知,节点12(代表“人”)处于句法结构的最上层,即该节点所代表的词“人”所依赖的其它词最多,即依赖覆盖度最高,而且与所依赖词之间的依赖性也相对较强,而从语句本身来看,“人”确实是该语句的语义核心词。又例如,节点2、节点3、节点18、节点19处于句法结构的第二层,即该节点所代表的词所依赖的其它词也相对较多,且与该语句中其它词之间的依赖关系也相对较强,而从语句本身的语义来看,该四个节点对应的词“老师随和”确实是该语句的语义主干词。总的来说,对于一个节点而言,句法结构中与其依赖关系越强的其它节点的数量越多,该节点对应的词在样本语句中的依赖覆盖度就越高,依赖关系可以用距离表征,也即是说,句法结构中与其距离越近的其它节点的数量越多,该节点对应的词在样本语句中的依赖覆盖度就越高。其中,两个节点之间的距离可以用该两个节点之间的最短路径长度(后文均称路径长度)表示,例如,节点12与节点7之间的距离为1,节点7与节点13之间的距离为2。
本实施例中,通过对样本语句进行句法结构的解析,可以挖掘出样本语句中各个词之间的依赖关系,该依赖关系与语义相关,以便于后续可将这种依赖关系运用到样本语句的分布式语义表示中。
步骤404,基于句法结构确定各词在样本语句中的依赖覆盖度,根据依赖覆盖度从样本语句中筛选出多个掩码词。
每个词在样本语句中的依赖覆盖度,可依据句法结构确定。对于样本语句中的一个词来说,若样本语句中与其依赖关系越强的其它词的数量越多,则该词在样本语句中的依赖覆盖度就越高。词与词之间的依赖关系,可以用句法结构中词与词之间的距离表示,该距离可以用词与词之间的路径长度表示,其中,路径长度越长,则依赖关系越弱,路径长度越短,则依赖关系越强。一个词在样本语句中的依赖覆盖度,可以用样本语句中与其产生强依赖关系的词的数量表示,也可以用样本数据中各个节点与该节点的依赖关系的总体强度表示。
计算机设备可以基于样本语句的句法结构,确定各词在样本语句中的依赖覆盖度。由于本申请实施例采用自回归依次进行预测的预测方式,即对一个掩码词进行预测时会利用之前已经预测过的掩码词,为了能够通过样本语句中尽量多的其它未被掩码的词去预测掩码词,可以让掩码语言模型学习到更多的语义搭配关系,提升模型训练效果,计算机设备可以从样本语句中选出相应的依赖覆盖度相对较大的词,作为掩码词。计算机设备还可以从样本语句中选出相应的依赖覆盖度相对较大的多个词,作为多个掩码词,且该多个掩码词之间的依赖关系较弱。
步骤406,基于句法结构确定各掩码词在多个掩码词中的冲突程度,根据冲突程度确定多个掩码词中每个词的预测顺序。
每个掩码词在多个掩码词中的冲突程度,可依据句法结构确定。对于多个掩码词中的一个掩码词来说,若多个掩码词中与其依赖关系越强的其它掩码词的数量越多,则该掩码词越容易与该多个掩码词中的其它掩码词发生冲突,相应的冲突程度就越高。类似地,掩码词与掩码词之间的依赖关系,可以用句法结构中该两个掩码词之间的距离表示,该距离可以用词与词之间的路径长度表示,其中,路径长度越长,则依赖关系越弱,路径长度越短,则依赖关系越强。
计算机设备可以基于样本语句的句法结构,确定各掩码词在多个掩码词中的冲突程度。由于本申请实施例采用自回归依次进行预测的预测方式,为了能够提升模型预测效果,计算机设备在确定每个掩码词的预测先后顺序时,可以根据每个掩码词在该多个掩码词中的冲突程度来确定。可选地,可以理解,掩码词对应的冲突程度越高,代表其在该多个掩码词中的依赖关系越强,因此,计算机设备可以将冲突程度相对较高的掩码词,在后预测,而冲突程度相对较低的掩码词,在先预测,这样,冲突程度更高的掩码词在后预测时,就可以通过尽量多的其它掩码词去预测该掩码词,越容易预测,可以让掩码语言模型学习到更多的语义搭配关系,提升模型训练效果。
按照上述步骤,计算机设备就确定了样本语句中的多个掩码词与各个掩码词的预测顺序。
步骤408,将样本语句中的多个掩码词进行掩码处理,得到掩码语句。
计算机设备可以直接将样本语句中所确定的多个掩码词进行掩码处理,得到掩码语句,例如,将样本语句中的掩码词用“MASK”代替,得到掩码语句。需要说明的是,基于同一个样本语句,计算机设备可以采用如上方式,得到多个掩码语句。例如,在通过上述方式得到掩码语句#1之后,从样本语句的句法结构中剔除该掩码语句#1的首个确定的掩码词,而后再基于该句法结果重新生成该样本语句对应的另一个掩码语句#2。当然,还可以按照这样的方式,继续生成另一个掩码语句#3。
步骤410,通过掩码语言模型基于掩码语句,按预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据预测概率更新掩码语言模型。
具体地,计算机设备将生成的掩码语句输入掩码语言模型。可以理解,此处将掩码语句输入掩码语言模型,其实是将与该掩码语句对应的输入序列输入掩码语言模型,掩码语言模型处理的只能是一个数字序列而非原始文本。计算机设备可以将掩码语句中的每个词以及其中的“MASK”替换为对应的token,得到掩码数字序列,而后将该掩码数字序列输入掩码语言模型进行编码与预测。
本申请实施例采用自回归预测方式,预测概率是掩码语言模型对所预测位置的词属于相应掩码词的概率,训练的目的是使模型能够在一个词被掩码的情况下还能基于语句中其它词中的一部分或全部去尽量预测出该掩码词。本申请实施例中,通过掩码语言模型的编码层可以对输入的掩码语句进行编码,得到相应的分布式语义表示,根据该分布式语义表示可以输出预测位置为相应掩码词的预测概率。
自回归预测方式是指,在预测一个位置的MASK是否为相应的掩码词时,需要利用到在前预测位置相应的掩码词,也即,将在前预测位置相应的掩码词填充到相应位置处,得到一个新的填充后的掩码语句之后,通过掩码语言模型基于该新的填充后的掩码语句对该一个位置的MASK进行预测。这样,在后预测时,可以利用到其它掩码词,而且将冲突程度更高的掩码词靠后预测,能够在预测时利用到更多的其它掩码词,更容易预测,也可以让掩码语言模型学习到更多的语义搭配关系,提升模型训练效果。
上述模型训练方法,在掩码语言模型的预训练过程中,根据样本语句的句法结构,确定样本语句中每个词的依赖覆盖度,根据该依赖覆盖度,从样本语句中筛选出多个掩码词,根据句法结构确定该多个掩码词中每个掩码词的冲突程度,根据该冲突程度,确定掩码语言模型对掩码词所在位置进行预测的预测顺序,按预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据预测概率更新掩码语言模型。在该预训练过程中,采用依次预测的方式可以避免多个掩码词中存在互相依赖的掩码词;在依次预测时,预测顺序是根据多个掩码词中每个掩码词之间的冲突程度确定的,可以提升掩码语言模型的预测效果;基于句法结构从样本语句中选出有限数量的掩码词,能够提升预测效率,加快模型收敛速度;由于掩码词是根据在样本语句中的依赖覆盖度选出的,这样选出的掩码词对样本语句中其它词的依赖关系较强,能够通过样本语句中尽量多的其它词去预测该掩码词,可以让掩码语言模型学习到更多的语义搭配关系,提升模型训练效果。
在一个实施例中,基于句法结构确定各词在样本语句中的依赖覆盖度,根据依赖覆盖度从样本语句中筛选出多个掩码词,包括:基于句法结构,确定样本语句中每个词之间的路径长度;根据路径长度,统计每个词在样本语句中的依赖覆盖度;根据依赖覆盖度从样本语句中确定出多个掩码词。
其中,语句中两个词之间的路径长度,是该两个词对应的节点在句法结构中的连边数。例如,参照图5,以节点7为例,节点7与节点8、节点9、节点10、节点11、节点12之间的路径长度均为1,节点7与节点2、节点3 、节点4、节点5、节点13、节点18、节点19、节点20之间的路径长度均为2,节点7与节点1、节点6、节点14、节点15 、节点16、节点17之间的路径长度均为3。
又例如,参照图5,以节点19为例,节点19与节点18之间的路径长度为0,节点19与节点12、节点14、节点15、节点16、节点17之间的路径长度均为1,节点19与节点2、节点3、节点4、节点5、节点7、节点13、节点20之间的路径长度均为2,节点19与节点1、节点6、节点8、节点9、节点10、节点11之间的路径长度均为3。
又例如,参照图5,以节点8为例,节点8与节点7之间的路径长度为1,节点8与节点12、节点9、节点10、节点11之间的路径长度均为2,节点8与节点2、节点3、节点4、节点5、节点13、节点18、节点19、节点20之间的路径长度均为3,节点8与节点1、节点6、节点14、节点15、节点16、节点17之间的路径长度均为4。
一个词在样本语句中的依赖覆盖度,可以用样本语句中与其产生强依赖关系的词的数量表示。可选地,节点在样本语句中的依赖覆盖度可以用样本语句中与该节点之间的路径长度小于M的节点的数量n来表征,M可以取值为3,该数量n越多,相应的依赖覆盖度越大,该数量n越少,相应的依赖覆盖度越小。例如,参照图5,以节点7为例,样本语句中与节点7之间的路径长度小于3的节点的数量n为13。以节点19为例,样本语句中与节点19之间的路径长度小于3的节点的数量n为13。以节点8为例,样本语句中与节点8之间的路径长度小于3的节点的数量n为5。比较而言,节点7、节点19、节点8的依赖覆盖度从大到小依次是:节点7=节点19>节点8。
本实施例中,通过句法结构确定每个词在样本语句中的掩码覆盖度,然后基于该掩码覆盖度从样本语句中选出多个掩码词,这样选出的掩码词对样本语句中其它词的依赖关系较强,能够通过样本语句中尽量多的其它词去预测该掩码词,可以让掩码语言模型学习到更多的语义搭配关系,提升模型训练效果。
在一个实施例中,根据路径长度,统计每个词在样本语句中的依赖覆盖度,包括:根据样本语句中的每个词获得词集合;遍历词集合中的每个词;统计遍历到的词到词集合中其它词的路径长度之和;将路径长度之和作为遍历到的词在样本语句中的依赖覆盖度;其中,路径长度之和越大,相应的依赖覆盖度越低。
本实施例中,一个词在样本语句中的依赖覆盖度,可以也可以用样本语句中各个节点与该节点的依赖关系的总体强度表示。例如,参照图5,节点7在样本语句中的依赖覆盖度,可以用样本语句中各个节点与节点7之间的路径长度之和来表征,该路径长度之和越小,相应的依赖覆盖度越大,路径长度之和越大,相应的依赖覆盖度越小。以节点7为例,样本语句中各个节点与节点7之间的路径长度之和为5*1+8*2+6*3=39。以节点19为例,样本语句中各个节点与节点19之间的路径长度之和1*0+5*1+7*2+6*3=37。为以节点8为例,样本语句中各个节点与节点8之间的路径长度之和为1*1+4*2+8*3+6*4=57。比较而言,节点7、节点19、节点8的依赖覆盖度从大到小依次是:节点19>节点7>节点8。
可见,上述两种方式所得到的节点的依赖覆盖度在一定程度上具有一致性。
在一个实施例中,根据依赖覆盖度从样本语句中确定出多个掩码词,包括:从样本语句的词集合中选出相应的依赖覆盖度最高的词,作为掩码词;基于句法结构从词集合中剔除与选出的掩码词存在依赖关系的词后,返回从样本语句的词集合中选出相应的依赖覆盖度最高的词,作为掩码词的步骤继续执行,直至满足选词停止条件时,得到多个掩码词。
其中,选词停止条件可以是已经筛选出指定数量N个掩码词或是没有更多的词可以选。计算机设备根据样本语句通过句法结构可以得到每个词形成的词集合,计算每个词在该样本语句中的依赖覆盖度,例如,计算每个词与该词集合中其他词之间的路径长度之和,从而得到依赖覆盖度,或者,计算每个词与该词集合中路径长度小于3的词的数量,从而得到依赖覆盖度。计算机设备可以从词集合中选出依赖覆盖度最大(最高)的词,并根据句法结构从该词集合中剔除与它有依赖关系(即有边连接)的词,再循环选择下一个掩码词,直至满足选词停止条件时,就可以得到多个掩码词,根据该多个掩码词就可以得到一条掩码语句。
下面以一个具体的算法例子来详细说明。算法的输入是样本语句的句法结构、样本语句的词集合D,以及所需掩码词的数量N。包括如下步骤:
1、将词集合中每个词对应的token加入集合other,Pool=Other,初始化Covered、Mask为空;
2、对Pool中每个元素e,计算e到Pool中其他所有元素的路径长度之和,找出元素的路径长度之和最短的元素e_min,将e_min从Pool移出加入Mask,且将Pool中与e_min有依赖关系的元素NBR_e_min移动到Covered。
3、循环第2步,直到找到N个掩码词时结束。
详细举例如下:
参照图5,该样本语句对应的词集合包括20个词,对于每个词,计算得到的与词集合中其它所有词之间的路径长度之和分别为:
节点1:2*1+1*2+7*3+9*4=61
节点2:1*0+2*1+7*2+9*3=43
节点3:1*0+2*1+7*2+9*3=43
节点4:1*1+8*2+10*3=47
节点5:2*1+8*2+9*3=45
节点6:1*1+1*2+8*3+9*4=63
节点7:5*1+8*2+6*3=39
节点8:1*1+4*2+8*3+6*4=57
节点9:1*0+1*1+3*2+8*3+6*4=55
节点10:1*0+1*1+3*2+8*3+6*4=55
节点11:1*1+4*2+8*3+6*4=57
节点12:9*1+10*2=29
节点13:1*1+8*2+10*3=47
节点14:2*1+4*2+7*3+6*4=55
节点15:2*1+4*2+7*3+6*4=55
节点16:1*0+2*1+3*2+7*3+6*4=53
节点17:1*0+2*1+3*2+7*3+6*4=53
节点18:1*0+5*1+7*2+6*3=37
节点19:1*0+5*1+7*2+6*3=37
节点20:1*1+8*2+10*3=47
假设N取值为3,计算机设备首先选取路径长度之和最短的词,即节点12对应的词“人”作为首个掩码词,并排除与之存在强依赖关系的词,即节点2、节点3、节点4、节点5、节点7、节点13、节点18、节点19、节点20对应的词,排除后再确定剩余的节点1、节点6、节点8、节点9、节点10、节点11、节点14、节点15、节点16、节点17中路径长度之和最短的词,即节点16、节点17对应的词“性”“格”。此时已选出3个掩码词,结束,从而可以根据该3个掩码词得到一个掩码语句。
计算机设备还可以基于该同一个样本语句继续生成掩码语句。具体地,从词集合中选取路径长度之和第二短的词,即节点18、节点19对应的词“随和”,作为两个掩码词,并排除与它们存在强依赖关系的词,即节点12、节点14、节点15、节点16、节点17,排除后再确定剩余的节点1、2、3、4、5、6、7、8、9、10、11、13、20中选取路径长度之后最短的词,即节点7对应的词“蓄”。此时已选出3个掩码词,结束,从而可以根据该3个掩码词得到一个掩码语句。
当然,计算机设备还可以按照这样的方式继续基于该同一个样本语句生成相应的掩码语句,此处不重复说明。对于其它的不同的样本语句,也是类似的处理。
如图6所示,为相关技术中随机掩码得到的掩码序列的示意图。参照图6,通过随机地对语句中的多个词进行掩码,可以得到掩码序列。图6中示出了5条随机掩码得到的掩码序列。如图7所示,为一个实施例中基于依赖覆盖度得到的掩码序列的示意图。参照图7,图7所示的掩码序列,是基于词在样本语句中的依赖覆盖度从样本语句的词集合中确定的,此处的依赖覆盖度是一个词与该词集合中其他词之间的路径长度之和。图7中示出了2个掩码序列。
上述实施例中,根据句法结构从输入序列中选出有限数量的掩码词,能够提升预测效率,加快模型收敛速度。而且,本申请实施例中,由于选出的掩码词是样本语句中依赖覆盖度较大的词,能够通过样本语句中尽量多的其它词去预测掩码词,在提升模型训练效率的同时还可以让掩码语言模型学习到更多的语义搭配关系,提升模型训练效果。
在一个实施例中,基于句法结构确定各掩码词在多个掩码词中的冲突程度,根据冲突程度确定多个掩码词中每个词的预测顺序,包括:基于句法结构,确定多个掩码词中掩码词之间的路径长度;根据路径长度,统计每个掩码词在多个掩码词中的冲突程度;根据冲突程度,确定多个掩码词中每个词的预测顺序。
其中,两个掩码词之间的路径长度,是该两个掩码词对应的节点在句法结构中的连边数。例如,参照图7,以多个掩码词为节点12、节点16、节点17对应的词“人”、“性”、“格”为例,根据句法结构,对于掩码词“人”而言,其对应的节点12与节点16、节点17的路径长度之和为4,对于掩码词“性”而言,其对应的节点16与节点12、节点17的路径长度之和为2,对于掩码词“格”而言,其对应的节点17与节点16、节点12的路径长度之和为2。
又例如,参照图7,以多个掩码词为节点18、节点19、节点7对应的词“随”、“和”、“蓄”为例,根据句法结构,对于掩码词“随”而言,其对应的节点18与节点19、节点7的路径长度之和为2,对于掩码词“和”而言,其对应的节点19与节点18、节点7的路径长度之和为2,对于掩码词“蓄”而言,其对应的节点7与节点18、节点19的路径长度之和为4。
本申请实施例中,在依次预测时,根据多个掩码词中每个掩码词之间的冲突程度确定预测顺序,可以提升掩码语言模型的预测效果。
在一个实施例中,根据路径长度,统计每个掩码词在多个掩码词中的冲突程度,包括:遍历多个掩码词的每个掩码词;统计遍历到的掩码词到多个掩码词中其它掩码词的路径长度之和;将路径长度之和作为遍历到的掩码词在多个掩码词中的冲突程度;其中,路径长度之和越大,相应的冲突程度越低。
本实施例中,一个掩码词在多个掩码词中的冲突程度,可以也可以用该多个掩码词中与该掩码词的依赖关系的总体强度表示,具体地,可以用多个掩码词中各个掩码词到该一个掩码词之间的路径长度之和来表征,该路径长度之和越小,相应的冲突程度越高(越大),路径长度之和越大,相应的冲突程度越高(越小)。
例如,参照图7,以多个掩码词为节点12、节点16、节点17对应的3个掩码词为例,节点12与节点16、节点17之间的路径长度之和为4,节点16与节点12、节点17之间的路径长度之和为2,节点17与节点12、节点16之间的路径长度之和为2,由此可知,节点16、节点17在该3个掩码词中的冲突程度较高、节点12在该3个掩码词中的冲突程度较低。
又例如,参照图7,以多个掩码词为节点7、节点18、节点19对应的3个掩码词为例,节点7与节点18、节点19之间的路径长度之和为4,节点18与节点7、节点19之间的路径长度之和为2,节点19与节点7、节点18之间的路径长度之和为2,由此可知,节点18、节点19在该3个掩码词中的冲突程度较高、节点7在该3个掩码词中的冲突程度较低。
在一个实施例中,根据冲突程度,确定多个掩码词中每个词的预测顺序,包括:确定多个掩码词中每个词相应冲突程度的升序;将升序作为多个掩码词中相应掩码词的预测顺序。
接着上面的例子,节点12、节点16、节点17的预测顺序从前往后依次是:节点12、节点16、节点17,其中节点16与节点17的预测顺序是相同的。节点7、节点18、节点19的预测顺序从前往后依次是节点7、节点18、节点19,其中节点18与节点19的预测顺序是相同的。
在一个实施例中,确定多个掩码词中每个词相应冲突程度的升序,包括:将多个掩码词按各掩码词相应的冲突程度的升序进行分组;将升序作为多个掩码词中相应掩码词的预测顺序,包括:将升序作为每个组中相应掩码词的预测顺序。也就是说,在上面的例子中,可以将节点16、节点17对应的掩码词分为一组,在需要对该两个掩码词所在预测位置进行预测时,可以同时预测。可以将节点18、节点19对应的掩码词分为一组,在需要对该两个掩码词所在预测位置进行预测时,可以同时预测。同时预测的情况下,可进一步提升模型训练效率。根据上述两个例子得到的预测顺序如图8所示。
下面以一个具体的算法例子来详细说明。算法的输入是同一个掩码语句中多个掩码词形成的集合,以及所需掩码词的数量N。包括如下步骤:
1、对M中的每个元素ei,计算ei到M中其它元素的路径长度之和Ci;
2、对M中的元素按照路径长度之和Ci进行分组,并降序排列,得到预测顺序。
计算机设备可以通过一个向量来表示预测顺序。举例来说,以上面的例子多个掩码词为节点7、节点18、节点19对应的3个词为例,由于一共有20个节点,可以用一个20维的顺序向量来表征每个节点的预测顺序,节点7对应的向量是{0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0},在首次预测时,将该向量输入模型以告知模型当前预测位置是第7个词所在的位置,在第二次预测时,则将向量{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0}输入模型以告知模型当前预测位置是第18、第19个词所在的位置。即在预测过程中,将各顺序向量依次输入模型,从而使模型可以明确本次的预测位置。
在一个实施例中,通过掩码语言模型基于掩码语句,按预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据预测概率更新掩码语言模型,包括:根据预测顺序,确定首个预测位置及首个预测位置对应的掩码词;将掩码语句输入掩码语言模型,通过掩码语言模型对掩码语句进行语义表征,得到对应的分布式语义表示,根据分布式语义表示输出首个预测位置为首个掩码词的预测概率;迭代地执行根据预测顺序,确定下一预测位置及样本语句中下一预测位置对应的掩码词,利用已预测位置对应的掩码词填充掩码语句,通过掩码语言模型对填充后的掩码语句进行语义表征,得到更新的分布式语义表示,以及根据更新的分布式语义表示输出下一预测位置为下一掩码词的预测概率的步骤,直至下一预测位置为预测顺序所指示的末尾预测位置时停止;根据每个预测位置为相应掩码词的预测概率,计算预测损失;预测损失与预测概率成反相关;以最小化预测损失为目标,更新掩码语言模型的模型参数。
本申请实施例中,使用掩码语言模型采用自回归预测方式,对掩码语句按照预测顺序进行预测,在预测过程中,根据预测顺序依次确定预测位置,然后将已预测位置对应的掩码词填充至掩码语句中,可以使模型获取到更多的上下文信息,提升模型训练效果
如图9所示,为一个实施例中自回归训练方式的示意图。参照图9,X表示同一个样本语句{x1,x2,x3,…,xn},#1表示根据该同一个样本语句得到的一个掩码语句1,#2表示根据该同一个样本语句得到的一个掩码语句2,……,#K表示根据该同一个样本语句得到的一个掩码语句K。
参照图9,以掩码语句#1为例进行说明。其中,MX={m1,m2,m3,…,mn}是掩码标识,表示是否对X={x1,x2,x3,…,xn}中第i个词对应的token进行掩码,mi取值为0表示不掩码,为1表示掩码,表示mi对应的词为掩码词。X^表示根据样本语句X与掩码标识MX得到的掩码序列。f(.)表示语义表征过程,即编码过程。Y表示掩码序列对应的分布式语义表示。MY表示预测顺序,也可以理解为每次预测的预测位置信息,其中的每个元素具体可以用上文提到的顺序向量表示。Gold表示预测位置对应的原本掩码词,即所掩码的词。P表示预测为原本掩码词的预测概率。
以样本语句中的多个掩码词包括4个掩码词为例进行说明。在首次预测时,将该4个掩码词进行掩码后,得到掩码序列(token1,token2,token3,MASK1,token5,MASK2,token7,token8,token9,MASK3,token11,MASK4,…,tokenk),将该掩码序列输入掩码语言模型,掩码语言模型输出相应的分布式语义表示Y1后,根据预测顺序若确定首个预测位置是MASK3对应的预测位置,则根据该分布式语义表示Y1输出该预测位置的词为MASK3对应的原本掩码词的概率P1,而后,将MASK3对应的原本掩码词对应的token10填充至掩码序列中,将填充后的掩码序列输入掩码语言模型,掩码语言模型输出相应的分布式语义表示Y2,根据预测顺序若第2次的预测位置是同时预测MASK1、MASK2对应的预测位置的词,则根据该分布式语义表示Y2同时输出该两个预测位置的词分别为MASK1、MASK2对应的原本掩码词的概率P2、P3,而后,将MASK3、MASK1、MASK2对应的原本掩码词对应的token10、token、token6填充至掩码序列中,将填充后的掩码序列输入掩码语言模型,掩码语言模型输出相应的分布式语义表示Y3,根据预测顺序若第3次的预测位置是预测MASK4对应的预测位置的词,则根据该分布式语义表示Y3输出该预测位置的词为MASK3对应的原本掩码词的概率P4。最后根据每个预测位置为相应掩码词的预测概率P1至P4,计算预测损失,更新掩码语言模型的模型参数。而后,计算机设备可以获取样本语句X对应的下一条掩码语句#2继续迭代,对掩码语音模型的模型参数进行更新。
该预测损失可以用交叉熵表示,如下公式所示:
;
其中,k表示有k个掩码词,|V|为词典大小,p表示预测为预测位置对应的掩码词的预测概率,|V|均为掩码语言模型的模型参数。
如图10A所示,为一个实施例中掩码语言模型的模型训练方法的示意图,包括以下步骤:首先,收集文本数据采集所需的URL,然后根据这些URL进行数据采集,而后对采集的文本数据进行数据预处理,得到训练数据。接着,对于训练数据中的每个样本语句,根据句法结构确定样本语句中的多个掩码词与该多个掩码词的预测顺序,最后,根据掩码语句与预测顺序,采用自回归预测方式训练掩码语言模型。训练好的掩码语言模型可用于下游任务的微调。
在一个具体的实施例中,本申请实施例提供的模型训练方法包括如下步骤:
1、获取样本语句以及样本语句的句法结构,样本语句包括多个词;
2、基于句法结构,确定样本语句中每个词之间的路径长度;
3、根据样本语句中的每个词获得词集合;
4、遍历词集合中的每个词;
5、统计遍历到的词到词集合中其它词的路径长度之和;
6、将路径长度之和作为遍历到的词在样本语句中的依赖覆盖度,其中,路径长度之和越大,相应的依赖覆盖度越低;
7、从样本语句的词集合中选出相应的依赖覆盖度最高的词,作为掩码词;
8、基于句法结构从词集合中剔除与选出的掩码词存在依赖关系的词后,返回步骤7继续执行,直至满足选词停止条件时,得到多个掩码词;
9、基于句法结构,确定多个掩码词中掩码词之间的路径长度;
10、遍历多个掩码词的每个掩码词;
11、统计遍历到的掩码词到多个掩码词中其它掩码词的路径长度之和;
12、将路径长度之和作为遍历到的掩码词在多个掩码词中的冲突程度;其中,路径长度之和越大,相应的冲突程度越低;
13、确定多个掩码词中每个词相应冲突程度的升序;
14、将升序作为多个掩码词中相应掩码词的预测顺序;
15、将样本语句中的多个掩码词进行掩码处理,得到掩码语句;
16、根据预测顺序,确定首个预测位置及首个预测位置对应的掩码词;
17、将掩码语句输入掩码语言模型,通过掩码语言模型对掩码语句进行语义表征,得到对应的分布式语义表示,根据分布式语义表示输出首个预测位置为首个掩码词的预测概率;
18、根据预测顺序,确定下一预测位置及样本语句中下一预测位置对应的掩码词,利用已预测位置对应的掩码词填充掩码语句,通过掩码语言模型对填充后的掩码语句进行语义表征,得到更新的分布式语义表示,以及根据更新的分布式语义表示输出下一预测位置为下一掩码词的预测概率,迭代执行步骤18,直至下一预测位置为预测顺序所指示的末尾预测位置时,执行步骤19;
19、根据每个预测位置为相应掩码词的预测概率,计算预测损失;预测损失与预测概率成反相关;
20、以最小化预测损失为目标,更新掩码语言模型的模型参数。
该实施例中相关步骤的具体描述内容,可参考前文。
在上述的预训练过程完成后,计算机设备还可以将训练停止时得到的掩码语言模型,作为预训练语言模型,而后,再利用下游的自然语言处理任务的训练数据,对该预训练语言模型继续微调训练,得到适于下游的自然语言处理任务的文本处理模型。如图10B所示,为一个实施例中将预训练好的掩码语言模型在句子分类、自然语言推断任务上微调训练获得的模型的预测效果的示意图。Bert模型在下游任务微调如图10B所示,其中基线模型表示以随机掩码构造数据和并行预测的方式训练模型,AuMLM表示依据句法解析树确定掩码文本和掩码预测顺序并进行模型训练,在这8个下游任务中,基于自回归训练掩码语言模型的方法平均提高了1.33。尤其是针对CoLA任务,在马修斯相关性系数提高了4.9个百分点。CoLA是一个区分句子语法表示是否正确的任务,预训练语言模型能够基于语言表示识别错误的词汇搭配,而AuMLM解决了掩码冲突,进一步提高模型对词汇搭配准确性的识别。
本申请实施例提供的模型训练方法,适于掩码语言模型的预训练过程。可以在掩码语言模型的预训练任务上更快速,高效的收敛,且得到的预训练语言模型在下游任务上的表现更好。典型应用场景包括语义匹配、句子分类,搜索文本的理解等下游任务。通过自回归预测方式规避了随机掩码策略遇到的掩码词相互依赖的问题,并提出了基于依赖覆盖度的掩码策略,可以减少掩码词的数量,使模型更加高效,快速收敛,同时还能提升下游任务的性能。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的模型训练方法的模型训练装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个模型训练装置实施例中的具体限定可以参见上文中对于模型训练方法的限定,在此不再赘述。
在一个实施例中,如图11所示,提供了一种模型训练装置1100,包括:获取模块1102、掩码词确定模块1104、预测顺序确定模块1106模块、掩码处理模块1108和模型更新模块1110,其中:
获取模块1102,用于获取样本语句以及样本语句的句法结构,样本语句包括多个词;
掩码词确定模块1104,用于基于句法结构确定各词在样本语句中的依赖覆盖度,根据依赖覆盖度从样本语句中筛选出多个掩码词;
预测顺序确定模块1106,用于基于句法结构确定各掩码词在多个掩码词中的冲突程度,根据冲突程度确定多个掩码词中每个词的预测顺序;
掩码处理模块1108,用于将样本语句中的多个掩码词进行掩码处理,得到掩码语句;
模型更新模块1110,用于通过掩码语言模型基于掩码语句,按预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据预测概率更新掩码语言模型。
在一个实施例中,掩码词确定模块1104,还用于基于句法结构,确定样本语句中每个词之间的路径长度;根据路径长度,统计每个词在样本语句中的依赖覆盖度;根据依赖覆盖度从样本语句中确定出多个掩码词。
在一个实施例中,掩码词确定模块1104,还用于根据样本语句中的每个词获得词集合;遍历词集合中的每个词;统计遍历到的词到词集合中其它词的路径长度之和;将路径长度之和作为遍历到的词在样本语句中的依赖覆盖度;其中,路径长度之和越大,相应的依赖覆盖度越低。
在一个实施例中,掩码词确定模块1104,还用于从样本语句的词集合中选出相应的依赖覆盖度最高的词,作为掩码词;基于句法结构从词集合中剔除与选出的掩码词存在依赖关系的词后,返回从样本语句的词集合中选出相应的依赖覆盖度最高的词,作为掩码词的步骤继续执行,直至满足选词停止条件时,得到多个掩码词。
在一个实施例中,预测顺序确定模块1106,还用于基于句法结构,确定多个掩码词中掩码词之间的路径长度;根据路径长度,统计每个掩码词在多个掩码词中的冲突程度;根据冲突程度,确定多个掩码词中每个词的预测顺序。
在一个实施例中,预测顺序确定模块1106,还用于遍历多个掩码词的每个掩码词;统计遍历到的掩码词到多个掩码词中其它掩码词的路径长度之和;将路径长度之和作为遍历到的掩码词在多个掩码词中的冲突程度;其中,路径长度之和越大,相应的冲突程度越低。
在一个实施例中,预测顺序确定模块1106,还用于确定多个掩码词中每个词相应冲突程度的升序;将升序作为多个掩码词中相应掩码词的预测顺序。
在一个实施例中,预测顺序确定模块1106,还用于将多个掩码词按各掩码词相应的冲突程度的升序进行分组;将升序作为每个组中相应掩码词的预测顺序。
在一个实施例中,模型更新模块1110,还用于根据预测顺序,确定首个预测位置及首个预测位置对应的掩码词;将掩码语句输入掩码语言模型,通过掩码语言模型对掩码语句进行语义表征,得到对应的分布式语义表示,根据分布式语义表示输出首个预测位置为首个掩码词的预测概率;迭代地执行根据预测顺序,确定下一预测位置及样本语句中下一预测位置对应的掩码词,利用已预测位置对应的掩码词填充掩码语句,通过掩码语言模型对填充后的掩码语句进行语义表征,得到更新的分布式语义表示,以及根据更新的分布式语义表示输出下一预测位置为下一掩码词的预测概率的步骤,直至下一预测位置为预测顺序所指示的末尾预测位置时停止;根据每个预测位置为相应掩码词的预测概率,计算预测损失;预测损失与预测概率成反相关;以最小化预测损失为目标,更新掩码语言模型的模型参数。
在一个实施例中,获取模块1102,还用于获取样本语句;通过句法结构解析器对样本语句进行句法解析,得到样本语句的句法结构。
在一个实施例中,模型训练装置1100还包括:
微调训练模块,用于将训练停止时得到的掩码语言模型,作为预训练语言模型;获取文本分类任务的训练样本,根据训练样本对预训练语言模型进行微调训练,得到适于文本分类任务的文本分类模型。
上述模型训练装置1100,在掩码语言模型的预训练过程中,根据样本语句的句法结构,确定样本语句中每个词的依赖覆盖度,根据该依赖覆盖度,从样本语句中筛选出多个掩码词,根据句法结构确定该多个掩码词中每个掩码词的冲突程度,根据该冲突程度,确定掩码语言模型对掩码词所在位置进行预测的预测顺序,按预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据预测概率更新掩码语言模型。在该预训练过程中,采用依次预测的方式可以避免多个掩码词中存在互相依赖的掩码词;在依次预测时,预测顺序是根据多个掩码词中每个掩码词之间的冲突程度确定的,可以提升掩码语言模型的预测效果;基于句法结构从样本语句中选出有限数量的掩码词,能够提升预测效率,加快模型收敛速度;由于掩码词是根据在样本语句中的依赖覆盖度选出的,这样选出的掩码词对样本语句中其它词的依赖关系较强,能够通过样本语句中尽量多的其它词去预测该掩码词,可以让掩码语言模型学习到更多的语义搭配关系,提升模型训练效果。
上述模型训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过***总线连接,通信接口通过输入/输出接口连接到***总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储训练数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种模型训练方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取样本语句以及样本语句的句法结构,样本语句包括多个词;
基于句法结构确定各词在样本语句中的依赖覆盖度,根据依赖覆盖度从样本语句中筛选出多个掩码词;
基于句法结构确定各掩码词在多个掩码词中的冲突程度,根据冲突程度确定多个掩码词中每个词的预测顺序;
将样本语句中的多个掩码词进行掩码处理,得到掩码语句;
通过掩码语言模型基于掩码语句,按预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据预测概率更新掩码语言模型。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取样本语句以及样本语句的句法结构,样本语句包括多个词;
基于句法结构确定各词在样本语句中的依赖覆盖度,根据依赖覆盖度从样本语句中筛选出多个掩码词;
基于句法结构确定各掩码词在多个掩码词中的冲突程度,根据冲突程度确定多个掩码词中每个词的预测顺序;
将样本语句中的多个掩码词进行掩码处理,得到掩码语句;
通过掩码语言模型基于掩码语句,按预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据预测概率更新掩码语言模型。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取样本语句以及样本语句的句法结构,样本语句包括多个词;
基于句法结构确定各词在样本语句中的依赖覆盖度,根据依赖覆盖度从样本语句中筛选出多个掩码词;
基于句法结构确定各掩码词在多个掩码词中的冲突程度,根据冲突程度确定多个掩码词中每个词的预测顺序;
将样本语句中的多个掩码词进行掩码处理,得到掩码语句;
通过掩码语言模型基于掩码语句,按预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据预测概率更新掩码语言模型。
需要说明的是,关于上述每个步骤的具体描述内容可参考前文。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (24)
1.一种模型训练方法,其特征在于,所述方法包括:
获取样本语句以及所述样本语句的句法结构,所述样本语句包括多个词;
基于所述句法结构确定各所述词在所述样本语句中的依赖覆盖度,根据所述依赖覆盖度从所述样本语句中筛选出多个掩码词;其中,对于所述样本语句中的每一个词而言,所述样本语句中与所述词产生强依赖关系的其它词的数量越多,则所述词在所述样本语句中的依赖覆盖度越高;所述句法结构中词与词之间的最短路径长度越短,则所述词与词之间的依赖关系越强;
基于所述句法结构确定各所述掩码词在所述多个掩码词中的冲突程度,根据所述冲突程度确定所述多个掩码词中每个词的预测顺序;其中,对于所述多个掩码词中的每一个掩码词而言,所述多个掩码词中与所述掩码词产生强依赖关系的其它词的数量越多,则所述掩码词在所述多个掩码词中的冲突程度越高;所述句法结构中所述掩码词与所述多个掩码词中另一掩码词之间的最短路径长度越短,则所述掩码词与所述多个掩码词中另一掩码词之间的依赖关系越强;
将所述样本语句中的所述多个掩码词进行掩码处理,得到掩码语句;
通过掩码语言模型基于所述掩码语句,按所述预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据所述预测概率更新所述掩码语言模型。
2.根据权利要求1所述的方法,其特征在于,所述基于所述句法结构确定各所述词在所述样本语句中的依赖覆盖度,根据所述依赖覆盖度从所述样本语句中筛选出多个掩码词,包括:
基于所述句法结构,确定所述样本语句中每个词之间的最短路径长度;
根据所述最短路径长度,统计每个词在所述样本语句中的依赖覆盖度;
根据所述依赖覆盖度从所述样本语句中确定出多个掩码词。
3.根据权利要求2所述的方法,其特征在于,所述根据所述最短路径长度,统计每个词在所述样本语句中的依赖覆盖度,包括:
根据所述样本语句中的每个词获得词集合;
遍历所述词集合中的每个词;
统计遍历到的词到所述词集合中其它词的最短路径长度之和;
将所述最短路径长度之和作为遍历到的词在所述样本语句中的依赖覆盖度;
其中,所述最短路径长度之和越大,相应的依赖覆盖度越低。
4.根据权利要求2所述的方法,其特征在于,所述根据所述依赖覆盖度从所述样本语句中确定出多个掩码词,包括:
从所述样本语句的词集合中选出相应的依赖覆盖度最高的词,作为掩码词;
基于所述句法结构从所述词集合中剔除与选出的所述掩码词存在依赖关系的词后,返回所述从所述样本语句的词集合中选出相应的依赖覆盖度最高的词,作为掩码词的步骤继续执行,直至满足选词停止条件时,得到所述多个掩码词。
5.根据权利要求1所述的方法,其特征在于,所述基于所述句法结构确定各所述掩码词在所述多个掩码词中的冲突程度,根据所述冲突程度确定所述多个掩码词中每个词的预测顺序,包括:
基于所述句法结构,确定所述多个掩码词中掩码词之间的最短路径长度;
根据所述最短路径长度,统计每个掩码词在所述多个掩码词中的冲突程度;
根据所述冲突程度,确定所述多个掩码词中每个词的预测顺序。
6.根据权利要求5所述的方法,其特征在于,所述根据所述最短路径长度,统计每个掩码词在所述多个掩码词中的冲突程度,包括:
遍历所述多个掩码词的每个掩码词;
统计遍历到的掩码词到所述多个掩码词中其它掩码词的最短路径长度之和;
将所述最短路径长度之和作为遍历到的掩码词在所述多个掩码词中的冲突程度;
其中,所述最短路径长度之和越大,相应的冲突程度越低。
7.根据权利要求5所述的方法,其特征在于,所述根据所述冲突程度,确定所述多个掩码词中每个词的预测顺序,包括:
确定所述多个掩码词中每个词相应冲突程度的升序;
将所述升序作为所述多个掩码词中相应掩码词的预测顺序。
8.根据权利要求7所述的方法,其特征在于,所述确定所述多个掩码词中每个词相应冲突程度的升序,包括:
将所述多个掩码词按各掩码词相应的冲突程度的升序进行分组;
所述将所述升序作为所述多个掩码词中相应掩码词的预测顺序,包括:
将所述升序作为每个组中相应掩码词的预测顺序。
9.根据权利要求1所述的方法,其特征在于,所述通过掩码语言模型基于所述掩码语句,按所述预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据所述预测概率更新所述掩码语言模型,包括:
根据所述预测顺序,确定首个预测位置及所述首个预测位置对应的首个掩码词;
将所述掩码语句输入所述掩码语言模型,通过所述掩码语言模型对所述掩码语句进行语义表征,得到对应的分布式语义表示,根据所述分布式语义表示输出所述首个预测位置为所述首个掩码词的预测概率;
迭代地执行根据所述预测顺序,确定下一预测位置及所述样本语句中所述下一预测位置对应的下一掩码词,利用已预测位置对应的掩码词填充所述掩码语句,通过所述掩码语言模型对填充后的掩码语句进行语义表征,得到更新的分布式语义表示,以及根据所述更新的分布式语义表示输出所述下一预测位置为所述下一掩码词的预测概率的步骤,直至所述下一预测位置为所述预测顺序所指示的末尾预测位置时停止;
根据每个预测位置为相应掩码词的预测概率,计算预测损失;所述预测损失与所述预测概率成反相关;
以最小化所述预测损失为目标,更新所述掩码语言模型的模型参数。
10.根据权利要求1所述的方法,其特征在于,所述获取样本语句以及所述样本语句的句法结构,包括:
获取样本语句;
通过句法结构解析器对所述样本语句进行句法解析,得到所述样本语句的句法结构。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述方法还包括:
将训练停止时得到的掩码语言模型,作为预训练语言模型;
获取文本分类任务的训练样本,根据所述训练样本对所述预训练语言模型进行微调训练,得到适于所述文本分类任务的文本分类模型。
12.一种模型训练装置,其特征在于,所述装置包括:
获取模块,用于获取样本语句以及所述样本语句的句法结构,所述样本语句包括多个词;
掩码词确定模块,用于基于所述句法结构确定各所述词在所述样本语句中的依赖覆盖度,根据所述依赖覆盖度从所述样本语句中筛选出多个掩码词;其中,对于所述样本语句中的每一个词而言,所述样本语句中与所述词产生强依赖关系的其它词的数量越多,则所述词在所述样本语句中的依赖覆盖度越高;所述句法结构中词与词之间的最短路径长度越短,则所述词与词之间的依赖关系越强;
预测顺序确定模块,用于基于所述句法结构确定各所述掩码词在所述多个掩码词中的冲突程度,根据所述冲突程度确定所述多个掩码词中每个词的预测顺序;其中,对于所述多个掩码词中的每一个掩码词而言,所述多个掩码词中与所述掩码词产生强依赖关系的其它词的数量越多,则所述掩码词在所述多个掩码词中的冲突程度越高;所述句法结构中所述掩码词与所述多个掩码词中另一掩码词之间的最短路径长度越短,则所述掩码词与所述多个掩码词中另一掩码词之间的依赖关系越强;
掩码处理模块,用于将所述样本语句中的所述多个掩码词进行掩码处理,得到掩码语句;
模型更新模块,用于通过掩码语言模型基于所述掩码语句,按所述预测顺序依次输出每个掩码位置为相应掩码词的预测概率,根据所述预测概率更新所述掩码语言模型。
13.根据权利要求12所述的装置,其特征在于,所述掩码词确定模块,还用于基于所述句法结构,确定所述样本语句中每个词之间的最短路径长度;根据所述最短路径长度,统计每个词在所述样本语句中的依赖覆盖度;根据所述依赖覆盖度从所述样本语句中确定出多个掩码词。
14.根据权利要求13所述的装置,其特征在于,所述掩码词确定模块,还用于根据所述样本语句中的每个词获得词集合;遍历所述词集合中的每个词;统计遍历到的词到所述词集合中其它词的最短路径长度之和;将所述最短路径长度之和作为遍历到的词在所述样本语句中的依赖覆盖度;其中,所述最短路径长度之和越大,相应的依赖覆盖度越低。
15.根据权利要求13所述的装置,其特征在于,所述掩码词确定模块,还用于从所述样本语句的词集合中选出相应的依赖覆盖度最高的词,作为掩码词;基于所述句法结构从所述词集合中剔除与选出的所述掩码词存在依赖关系的词后,返回所述从所述样本语句的词集合中选出相应的依赖覆盖度最高的词,作为掩码词的步骤继续执行,直至满足选词停止条件时,得到所述多个掩码词。
16.根据权利要求12所述的装置,其特征在于,所述预测顺序确定模块,还用于基于所述句法结构,确定所述多个掩码词中掩码词之间的最短路径长度;根据所述最短路径长度,统计每个掩码词在所述多个掩码词中的冲突程度;根据所述冲突程度,确定所述多个掩码词中每个词的预测顺序。
17.根据权利要求16所述的装置,其特征在于,所述预测顺序确定模块,还用于遍历所述多个掩码词的每个掩码词;统计遍历到的掩码词到所述多个掩码词中其它掩码词的最短路径长度之和;将所述最短路径长度之和作为遍历到的掩码词在所述多个掩码词中的冲突程度;其中,所述最短路径长度之和越大,相应的冲突程度越低。
18.根据权利要求16所述的装置,其特征在于,所述预测顺序确定模块,还用于确定所述多个掩码词中每个词相应冲突程度的升序;将所述升序作为所述多个掩码词中相应掩码词的预测顺序。
19.根据权利要求18所述的装置,其特征在于,所述预测顺序确定模块,还用于将所述多个掩码词按各掩码词相应的冲突程度的升序进行分组;将所述升序作为每个组中相应掩码词的预测顺序。
20.根据权利要求12所述的装置,其特征在于,所述模型更新模块,还用于根据所述预测顺序,确定首个预测位置及所述首个预测位置对应的掩码词;将所述掩码语句输入所述掩码语言模型,通过所述掩码语言模型对所述掩码语句进行语义表征,得到对应的分布式语义表示,根据所述分布式语义表示输出所述首个预测位置为所述首个掩码词的预测概率;迭代地执行根据所述预测顺序,确定下一预测位置及所述样本语句中所述下一预测位置对应的掩码词,利用已预测位置对应的掩码词填充所述掩码语句,通过所述掩码语言模型对填充后的掩码语句进行语义表征,得到更新的分布式语义表示,以及根据所述更新的分布式语义表示输出所述下一预测位置为所述下一掩码词的预测概率的步骤,直至所述下一预测位置为所述预测顺序所指示的末尾预测位置时停止;根据每个预测位置为相应掩码词的预测概率,计算预测损失;所述预测损失与所述预测概率成反相关;以最小化所述预测损失为目标,更新所述掩码语言模型的模型参数。
21.根据权利要求12所述的装置,其特征在于,所述获取模块,还用于获取样本语句;通过句法结构解析器对所述样本语句进行句法解析,得到所述样本语句的句法结构。
22.根据权利要求12至21中任一项所述的装置,其特征在于,所述装置还包括:
微调训练模块,用于将训练停止时得到的掩码语言模型,作为预训练语言模型;获取文本分类任务的训练样本,根据所述训练样本对所述预训练语言模型进行微调训练,得到适于所述文本分类任务的文本分类模型。
23.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310512967.7A CN116227484B (zh) | 2023-05-09 | 2023-05-09 | 模型训练方法、装置、设备、存储介质和计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310512967.7A CN116227484B (zh) | 2023-05-09 | 2023-05-09 | 模型训练方法、装置、设备、存储介质和计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116227484A CN116227484A (zh) | 2023-06-06 |
CN116227484B true CN116227484B (zh) | 2023-07-28 |
Family
ID=86569948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310512967.7A Active CN116227484B (zh) | 2023-05-09 | 2023-05-09 | 模型训练方法、装置、设备、存储介质和计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116227484B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111178094A (zh) * | 2019-12-20 | 2020-05-19 | 沈阳雅译网络技术有限公司 | 一种基于预训练的稀缺资源神经机器翻译训练方法 |
CN111737996A (zh) * | 2020-05-29 | 2020-10-02 | 北京百度网讯科技有限公司 | 基于语言模型获取词向量的方法、装置、设备及存储介质 |
CN114757171A (zh) * | 2022-05-12 | 2022-07-15 | 阿里巴巴(中国)有限公司 | 预训练语言模型的训练方法、语言模型的训练方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032648B (zh) * | 2019-03-19 | 2021-05-07 | 微医云(杭州)控股有限公司 | 一种基于医学领域实体的病历结构化解析方法 |
CN110196894B (zh) * | 2019-05-30 | 2021-06-08 | 北京百度网讯科技有限公司 | 语言模型的训练方法和预测方法 |
CN110543639B (zh) * | 2019-09-12 | 2023-06-02 | 扬州大学 | 一种基于预训练Transformer语言模型的英文句子简化算法 |
CN111444311A (zh) * | 2020-02-26 | 2020-07-24 | 平安科技(深圳)有限公司 | 语义理解模型训练方法、装置、计算机设备和存储介质 |
CN112101029B (zh) * | 2020-08-18 | 2024-05-03 | 淮阴工学院 | 一种基于bert模型的高校导师推荐管理方法 |
CN112200664A (zh) * | 2020-10-29 | 2021-01-08 | 上海畅圣计算机科技有限公司 | 基于ernie模型和dcnn模型的还款预测方法 |
CN113723105A (zh) * | 2021-04-13 | 2021-11-30 | 腾讯科技(北京)有限公司 | 语义特征提取模型的训练方法、装置、设备及存储介质 |
CN116227467A (zh) * | 2022-09-09 | 2023-06-06 | 马上消费金融股份有限公司 | 模型的训练方法、文本处理方法及装置 |
-
2023
- 2023-05-09 CN CN202310512967.7A patent/CN116227484B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111178094A (zh) * | 2019-12-20 | 2020-05-19 | 沈阳雅译网络技术有限公司 | 一种基于预训练的稀缺资源神经机器翻译训练方法 |
CN111737996A (zh) * | 2020-05-29 | 2020-10-02 | 北京百度网讯科技有限公司 | 基于语言模型获取词向量的方法、装置、设备及存储介质 |
CN114757171A (zh) * | 2022-05-12 | 2022-07-15 | 阿里巴巴(中国)有限公司 | 预训练语言模型的训练方法、语言模型的训练方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116227484A (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111914067B (zh) | 中文文本匹配方法及*** | |
US20220050967A1 (en) | Extracting definitions from documents utilizing definition-labeling-dependent machine learning background | |
CN109840287A (zh) | 一种基于神经网络的跨模态信息检索方法和装置 | |
CN111143576A (zh) | 一种面向事件的动态知识图谱构建方法和装置 | |
CN113987179B (zh) | 基于知识增强和回溯损失的对话情绪识别网络模型、构建方法、电子设备及存储介质 | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
CN113127624B (zh) | 问答模型的训练方法及装置 | |
CN114064918A (zh) | 一种多模态事件知识图谱构建方法 | |
Irsoy et al. | Bidirectional recursive neural networks for token-level labeling with structure | |
CN111737974B (zh) | 一种语句的语义抽象化表示方法及装置 | |
Sartakhti et al. | Persian language model based on BiLSTM model on COVID-19 corpus | |
CN113239169A (zh) | 基于人工智能的回答生成方法、装置、设备及存储介质 | |
CN114528898A (zh) | 基于自然语言命令的场景图修改 | |
CN116050425A (zh) | 建立预训练语言模型的方法、文本预测方法及装置 | |
CN112349294A (zh) | 语音处理方法及装置、计算机可读介质、电子设备 | |
CN116258147A (zh) | 一种基于异构图卷积的多模态评论情感分析方法及*** | |
CN115204171A (zh) | 基于超图神经网络的文档级事件抽取方法及*** | |
CN111241843B (zh) | 基于复合神经网络的语义关系推断***和方法 | |
KR102418260B1 (ko) | 고객 상담 기록 분석 방법 | |
CN115525740A (zh) | 对话应答语句的生成方法、装置、电子设备及存储介质 | |
Jeong et al. | Multi-domain spoken language understanding with transfer learning | |
CN117290478A (zh) | 一种知识图谱问答方法、装置、设备和存储介质 | |
CN116227484B (zh) | 模型训练方法、装置、设备、存储介质和计算机程序产品 | |
CN115357712A (zh) | 方面级情感分析方法、装置、电子设备及存储介质 | |
CN115129863A (zh) | 意图识别方法、装置、设备、存储介质和计算机程序产品 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40086890 Country of ref document: HK |