CN110162766A - 词向量更新方法和装置 - Google Patents
词向量更新方法和装置 Download PDFInfo
- Publication number
- CN110162766A CN110162766A CN201810144166.9A CN201810144166A CN110162766A CN 110162766 A CN110162766 A CN 110162766A CN 201810144166 A CN201810144166 A CN 201810144166A CN 110162766 A CN110162766 A CN 110162766A
- Authority
- CN
- China
- Prior art keywords
- model
- corpus
- loss
- context
- term vector
- 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.)
- Granted
Links
Classifications
-
- 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/274—Converting codes to words; Guess-ahead of partial word inputs
-
- 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
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- 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/217—Validation; Performance evaluation; Active pattern learning techniques
-
- 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/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language 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/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- 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
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
- G06F40/45—Example-based machine translation; Alignment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
- G06F40/49—Data-driven translation using very large corpora, e.g. the web
-
- 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
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)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明揭示了一种词向量更新方法,包括:获取训练原词向量时所生成的第一模型和第二模型,所述第一模型用于根据输入词预测上下文,所述第二模型用于根据上下文预测目标词;将来自目标语料的语料单元输入所述第一模型,并将所述第一模型的输出输入所述第二模型,获取使所述第二模型输出所述语料单元时由所述第一模型和所述第二模型产生的损耗;以及根据所述损耗来更新所述第一模型和所述第二模型。基于上述实施例提供的词向量更新方法,能够仅在目标语料的基础上同时实现对第一模型和第二模型的更新训练。
Description
技术领域
本发明涉及计算机应用技术领域,特别涉及一种词向量更新方法、装置、计算机可读存储介质和电子设备。
背景技术
随着计算机应用技术的不断发展,自然语言处理得到了越来越广泛的应用。机器翻译、语音识别及信息检索等应用需求对计算机的自然语言处理能力提出了越来越高的要求。
目前,在处理自然语言任务时,分布式表达(distributed representation)是一种普遍使用的文本表示方法。这种方法通过训练将自然语言中的每一个词映射成一个固定长度的向量,将所有这些向量放在一起形成一个词向量空间,每一向量则为该空间中的一个点,进而直接用词向量取代词本身来表示文本,从而将自然语言的理解转化为机器学习的数学化问题。
为了基于自然语言训练得到能够用于后续机器处理的词向量,相关技术提出了多种侧重于不同处理场景的训练模型,例如更适用于文本分类处理的上下文到词(Continuous Bag-of-words,CB)模型以及更适用于序列标注处理的词到上下文(Skip-Gram,SG)模型等等。然而,这些模型均不支持增量式的训练,一旦需要对训练得到的词向量进行调整,往往需要重新构建大规模语料并从零开始训练词向量,从而带来额外的计算负担。
除了词向量的训练,词向量的更新(retrofitting)也是有效提升词向量性能的关键技术。常见的词向量更新流程一般是针对预先训练好的给定词向量,通过人工标注或自动抽取的词与词的关系作为指导,对词向量进行调整,进而将原本低质量的词向量提升为高质量的词向量。然而,这样的更新方法仅适用于少量词语,对于标注数据之外的词语往往无能为力。
由此可见,目前的词向量训练模型及更新方法都不能直接使用任意外部信息来提高词向量的质量,也无法解决将旧的词向量调整用于新的使用环境的领域迁移问题。
发明内容
为了解决相关技术中无法通过增量训练来实现词向量质量提高和跨领域使用等技术问题,本发明提供了一种词向量更新方法、装置、计算机可读存储介质和电子设备。
根据本发明的实施例,提供一种词向量更新方法,包括:获取训练原词向量时所生成的第一模型和第二模型,所述第一模型用于根据输入词预测上下文,所述第二模型用于根据上下文预测目标词;将来自目标语料的语料单元输入所述第一模型,并将所述第一模型的输出输入所述第二模型,获取使所述第二模型输出所述语料单元时由所述第一模型和所述第二模型产生的损耗;以及根据所述损耗来更新所述第一模型和所述第二模型。
根据本发明的实施例,提供一种词向量更新方法,包括:获取训练方向相反的第一模型和第二模型;将待训练的目标语料输入所述第一模型,并将所述第一模型的输出输入所述第二模型,获取使所述第二模型输出目标语料时分别由所述第一模型和所述第二模型产生的损耗;以及根据所述损耗来更新所述第一模型和所述第二模型。
根据本发明的实施例,提供一种词向量更新装置,包括:初始化模块,设置为获取训练原词向量时所生成的第一模型和第二模型,所述第一模型用于根据输入词预测上下文,所述第二模型用于根据上下文预测目标词;损耗获取模块,设置为将来自目标语料的语料单元输入所述第一模型,并将所述第一模型的输出输入所述第二模型,获取使所述第二模型输出所述语料单元时由所述第一模型和所述第二模型产生的损耗;以及模型更新模块,设置为根据所述损耗来更新所述第一模型和所述第二模型。
根据本发明的实施例,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据以上所述的词向量更新方法。
根据本发明的实施例,提供一种电子设备,包括:处理器;以及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现以上所述的词向量更新方法。
本发明的实施例提供的技术方案可以包括以下有益效果:
基于上述实施例提供的词向量更新方法,利用第一模型和第二模型训练方向相反的特点,将来自目标语料的语料单元设定为第一模型的输入和第二模型的输出,通过获取第一模型和第二模型产生的损耗,在针对目标语料的所有语料单元进行训练的过程中,基于上述损耗来不断更新第一模型和第二模型的参数,从而仅在目标语料的基础上实现了同时对第一模型和第二模型的更新训练。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1示出CB模型和SG模型的示意训练过程。
图2示出了可以应用本发明实施例的词向量更新方法或词向量更新装置的示例性系统架构的示意图。
图3示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
图4是根据一示例性实施例示出的一种词向量更新方法的流程图。
图5是根据一示例性实施例示出的图4所示步骤450的流程图。
图6是根据另一示例性实施例示出的一种词向量更新方法的流程图。
图7示出图6所示实施例的示意训练过程。
图8是根据一示例性实施例示出的一种词向量更新装置的框图。
图9是根据另一示例性实施例示出的一种词向量更新装置的框图。
具体实施方式
本部分将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在详细描述本发明的示例实施方式之前,下面首先简要介绍一些对于理解本发明有帮助的基本原理。
词到向量(Word2Vec)是一种词的分布式表达技术,即将语料库中的所有词投影到一定维度的语义空间上,每个词可以简单表示为多维空间上的一个点,而空间维度可以自定义,一般设置100~200维(Word2Vec默认是100维)。这里的维度越大训练越复杂,经过训练后,一个词可能会被表示成类似{0.159,-0.234,0.789,-0.578,-0.501,0.921,0.374,...}这样的向量。直观理解,Word2Vec技术希望通过一些模型手段将语义相近的词投影到多维空间,使得相似的词在高维空间上位置相邻。
CB模型和SG模型是目前Word2Vec技术中较为流行的两个词向量学习框架,它们都可以认为是一种使用神经网络的语言模型。图1示出CB模型和SG模型的示意训练过程,简单来说,CB模型使用一个上下文环境(…wt-2,wt-1,wt+1,wt+2,…)来预测目标词wt;SG则相反,使用一个输入词wt来预测周围的上下文(…wt-2,wt-1,wt+1,wt+2,…)。从图1中可以看出,两个模型的预测方向相反,因此它们学习词向量的视角也不相同。CB模型更侧重于一个文本块整体对于某一个词的影响,更接近于传统的N元语法(N-gram)语言模型;而SG模型则更在乎某一个文本片段里词与词的关系。因此,通过这两种模型训练所得到的词向量在不同的自然语言处理任务上的性能也不一样,例如,CB模型对于文本分类任务效果更好,SG模型则更适用于序列标注任务。
除了基于Word2Vec技术的CB模型和SG模型之外,常见的还有一种基于共现矩阵的词向量模型GloVe。简单来说,GloVe模型直接计算在一个文档(或者长距离上下文)内词与词的共现关系,并将这种关系表达为一个词与词的关联矩阵,最终通过矩阵分解(matrixfactorization)得到所有词的行相关和列相关矩阵,然后取一定长度的行(列)向量作为词向量。与GloVe相似的还有构建词语的主题模型,或者通过词与其他信号关联的方法(例如协同过滤)得到的高密度表达,这些都可以认为是词向量的表达形式。
以上提及的CB、SG、GloVe以及主题模型等都是基于词共现(word co-occurrence)或者关系映射(relation mapping)建模,因此均受限于单一语料的训练,并且要求大规模的数据才能习得可靠的词向量。并且,上述模型均不支持增量式的训练,这样一来,一旦需要对已习得的词向量进行调整,往往需要重新构建大规模语料并从零开始训练词向量。因此,上述模型在资源利用方面并不高效,在工业环境下往往会带来额外的计算负担。如背景技术中所述,词向量的更新方法可以一定程度上解决这个问题,然而,传统的更新方法往往需要可靠的人工标注或者自动抽取的词与词的关系作为指导,才能对词向量实现有效更新,否则反而可能弱化原本词向量的质量。除此之外,更新方法往往仅能作用于少量词语,对于标注数据之外的词语往往无能为力。
随着自然语言处理的广泛应用,在越来越多的场景下都要面对的是领域迁移问题。例如,原本的词向量是在通用领域或者某个单一领域(例如新闻)内训练得到的,但是使用环境往往是在另一个数据不足的领域(例如医疗),这种原领域训练出的词向量在新领域中投入使用时,由于数据不足导致原词向量不能反映新领域特点的情况,可称为词向量的冷启动。在这类冷启动(cold-start)条件下,上述的词向量训练模型及更新方法都不能有效针对目标领域进行词向量的增量学习。除此之外,上述的词向量训练模型和更新方法均不能直接使用任意外部信息帮助向量的学习,即除了词本身的依赖关系以外,不能将其它信号作为提升向量质量的参考。
为解决上述问题,本发明实施例提供一种基于强化学习的词向量更新方法、装置、计算机可读存储介质和电子设备。
在机器学习的连接主义分支中,监督学习(supervised leaning)是从标记的训练数据来推断一个功能的机器学习任务;相应的,非监督学习(unsupervised learning)则试图在未加标记的数据中找到隐藏的结构,从而达到寻求、总结和解释数据特点的目的。如果将上述CB、SG、GloVe等词向量学习模型定义为非监督学习,那么传统的更新模型往往可以被认为是监督学习。
此外,强化学习(reinforcement learning)是智能系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大。其基本原理在于,如果与环境交互的对象代理(Agent)的某个行为策略导致环境正的奖赏(强化信号),那么代理以后产生这个行为策略的趋势便会加强。与监督学习不同,强化学习中并不是通过标记来告诉代理如何去产生正确的动作,而是将环境提供的强化信号作为代理对所产生动作的好坏的一种评价,进而代理在动作经过一一评价的环境中获得知识,以改进动作方案来适应环境。
本发明实施例所提出的方案首次在词向量学习领域采用强化学习的方法,将训练方向不同的两个已习得模型定义为两个不同的代理,通过这两个代理之间的互动来完成模型参数的更新学习。
以下对本发明实施例的技术方案的实现细节进行详细阐述。
图2示出了可以应用本发明实施例的词向量更新方法或词向量更新装置的示例性系统架构200的示意图。
如图2所示,系统架构200可以包括终端设备201、202、203中的一种或多种,网络204和服务器205。网络204用以在终端设备201、202、203和服务器205之间提供通信链路的介质。网络204可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
应该理解,图2中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器205可以是多个服务器组成的服务器集群等。
用户可以使用终端设备201、202、203通过网络204与服务器205交互,以接收或发送消息等。终端设备201、202、203可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机和台式计算机等等。
服务器205可以是提供各种服务的服务器。例如用户利用终端设备203(也可以是终端设备201或202)向服务器205上传了原词向量以及待处理的目标语料,服务器205可以获取训练原词向量时所生成的第一模型和第二模型,进而将来自目标语料的语料单元逐个输入第一模型,并将第一模型的输出输入第二模型,实现第一模型与第二模型的串接,然后获取使第二模型输出相应语料单元时由第一模型和第二模型产生的损耗,从而实现根据损耗来更新第一模型和第二模型。
在一些实施例中,本发明实施例所提供的词向量更新方法一般由服务器205执行,相应地,词向量更新装置一般设置于服务器205中。在另一些实施例中,某些终端可以和服务器具有相似的功能从而执行本方法。因此,本发明实施例所提供的词向量更新方法不严格限定在服务器端执行。
图3示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图3示出的电子设备的计算机系统300仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图3所示,计算机系统300包括中央处理单元(CPU)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储部分308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有系统操作所需的各种程序和数据。CPU301、ROM 302以及RAM303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
以下部件连接至I/O接口305:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至I/O接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。
特别地,根据本发明的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分309从网络上被下载和安装,和/或从可拆卸介质311被安装。在该计算机程序被中央处理单元(CPU)301执行时,执行本发明实施例中限定的各种功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是,但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图4至图6所示的各个步骤。
图4是根据一示例性实施例示出的一种词向量更新方法的流程图。如图4所示,该词向量更新方法可以由任意计算机设备执行,可包括以下步骤410-450。
在步骤410中,获取训练原词向量时所生成的第一模型和第二模型,其中第一模型用于根据输入词预测上下文,第二模型用于根据上下文预测目标词。
如上文所述,常见的CB、SG、GloVe等词向量训练模型自身都无法实现增量式的训练。本发明实施例通过训练方向不同的两个已习得模型之间的互动来完成模型参数的更新学习。
在一个实施例中,可以使用大规模训练语料无监督地学习第一模型和第二模型,其中,第一模型用于根据输入词预测上下文,第二模型用于根据上下文预测目标词。
在另一个实施例中,步骤410也可以直接获取开源的词向量作为后续更新步骤的输入,例如谷歌用Word2Vec工具预训练的300维新闻语料的词向量(googlenews-vectors-negative300.bin)。
上述的第一模型例如可以是SG模型,第二模型例如可以是CB模型,但本发明的实施例并不仅限于此。
在步骤430中,将来自目标语料的语料单元输入第一模型,并将第一模型的输出输入第二模型,获取使第二模型输出语料单元时由第一模型和第二模型产生的损耗。
本发明的实施例将来自目标语料的语料单元设定为第一模型的输入,并将第一模型的输出作为第二模型的输入,实现第一模型和第二模型的串接。这样,由于第一和第二模型初始均未经过目标语料的训练,也就无法体现目标语料对模型的影响,在上述语料单元通过串接的第一模型和第二模型、并最终仍输出该语料单元的过程中,会不可避免产生损耗(误差),本实施例即是利用第一模型和第二模型训练方向相反的特点,通过获取第一模型和第二模型产生的损耗,从而在针对目标语料的所有语料单元进行训练的过程中,可以基于上述损耗来不断更新第一模型和第二模型的参数。
以第一和第二模型针对输出语料会给出相应概率为例,在根据输入词预测上下文的第一模型中,上述损耗例如表现为对于来自目标语料的语料单元而言,通过第一模型输出该语料单元的上下文的概率会非常低;类似地,在根据上下文预测目标词的第二模型中,上述损耗例如表现为对于上述语料单元在目标语料中的上下文而言,通过第二模型输出该语料单元的概率也会非常低。相对来说,在仅设置第一模型或者仅设置第二模型的情况下,需要将目标语料加入训练原词向量的语料库中,并基于更新后的整个语料库从零开始训练才能得到更新的第一模型或者第二模型。
在步骤450中,根据获取的损耗来更新第一模型和第二模型。
本发明的实施例采用强化学习的方法,将训练方向不同的第一模型和第二模型定义为两个不同的代理,通过这两个代理之间的互动来完成模型参数的更新学习。步骤430中串接第一模型与第二模型,将第一模型的输出作为第二模型的输入,从而能够实现两个代理之间的信息交换。接续,将来自目标语料的语料单元输入第一模型,并使第二模型输出上述语料单元(即第一模型的输入),通过计算这一过程在两个模型中产生的损耗,使得步骤450中能够基于该损耗实现第一模型和第二模型的更新。步骤450的具体执行过程,可参考图5及相关描述。
在一个实施例中,步骤430可直接计算第一模型和第二模型的损耗,进而在步骤450中通过该损耗作为参考来更新两个模型。
在一个实施例中,可引入预设的中间变量,将中间变量加入到上述语料单元的上下文中一并训练第二模型,获取第一模型在输出该上下文和中间变量时的第一损耗,并获取该上下文和中间变量通过第二模型输出上述语料单元时的第二损耗,进而基于第一损耗和第二损耗来获取两个模型的组合损耗。
在一个实施例中,上述预设的中间变量可以是第一模型在输入为上述语料单元情况下输出概率最大的中间词,将该中间词加入到上述语料单元的上下文中一并训练第二模型,获取第一模型在输出该上下文和中间词时的第一损耗,并获取该上下文和中间词通过第二模型输出上述语料单元时的第二损耗,进而基于第一损耗和第二损耗来获取两个模型的组合损耗。举例来说,对于未经过目标语料训练的第一模型,在输入来自目标语料的语料单元时,输出概率最大的中间词将来自训练原词向量的语料(以下也称源语料),而语料单元在目标语料中的上下文被输出的概率会很小;为了使第一模型反映目标语料的特点,第一模型的训练方向就是使中间词的输出概率与上述语料单元的上下文的平均输出概率相当,因此可基于上述两个输出概率(即中间词的输出概率和语料单元的上下文的平均输出概率)的差值来得到第一损耗。类似地,对于未经过目标语料训练的第二模型,在将来自源语料的中间词加入上述上下文时,上述语料单元的输出概率会很小,为了使第二模型反映目标语料的特点,第二模型的训练方向就是使上述语料单元的输出概率接近于1(因为在目标语料中,语料单元和上述上下文是同时出现的),因此可基于上述语料单元的输出概率来得到第二损耗。
在另一实施例中,上述预设的中间变量还可以包括其他类型的语料单元,例如非文本或非词语形式的语料信号,包括文本分类信息和情感标记信息等。
在一个实施例中,步骤450之后还包括在整个目标语料上重复步骤410-450。也即,将来自目标语料的每个语料单元依次作为步骤430的输入并进行步骤450的计算,从而得到参数更新后的第一模型和第二模型(具体请参考步骤510-550)。
这里,目标语料与源语料可以相同也可以不同,二者既可以来自同一领域,也可以来自不同领域。在一个实施例中,目标语料可以与源语料相同,通过上述基于目标语料的模型更新(相当于加强训练),能够提高原词向量的质量。在一个实施例中,目标语料可以是来自源语料的部分语料,通过有选择性的设置目标语料,通过上述基于目标语料的模型更新,使更新后的词向量能够更倾向于反映目标语料的特点。在一个实施例中,目标语料可以来自与源语料完全不同的领域,这样,通过上述基于目标语料的模型更新,使更新后的词向量能够反映目标语料的特点,相当于实现了词向量的迁移使用。
本发明的实施例利用第一模型和第二模型训练方向相反的特点,将来自目标语料的语料单元设定为第一模型的输入,并将第一模型的输出作为第二模型的输入,实现第一模型和第二模型的串接,进而通过获取第一模型和第二模型产生的损耗,在针对目标语料的所有语料单元进行训练的过程中,基于上述损耗来不断更新第一模型和第二模型的参数,从而能够仅在目标语料的基础上实现同时对第一模型和第二模型的更新训练。
基于上述实施例提供的词向量更新方法,能够实现词向量的增量训练,避免在大规模训练语料的基础上从零开始重新训练词向量,可以有效节省计算资源;在目标语料来自新领域的情况下,更新的词向量经过训练能够适应目标语料的特点,从而实现词向量的迁移使用,更适合于冷启动的应用场景。
图5是根据一示例性实施例示出的图4所示步骤450的流程图。如图5所示,该流程可以由任意计算机设备执行,可包括以下步骤510-550。
在步骤510中,基于第一模型产生的第一损耗和第二模型产生的第二损耗来获取组合损耗。
为了逐渐同步两个模型的性能,两个模型各自产生的损耗可组合后作为后续模型更新的依据。在一个实施例中,组合损耗通过对第一损耗和第二损耗加权求和来计算。为第一损耗和第二损耗分配的权重系数可设定为固定值,例如均为0.5。
在步骤530中,获取组合损耗在第一模型上的第一梯度以及在第二模型上的第二梯度。
在步骤550中,分别基于第一梯度和第二梯度来更新第一模型和第二模型的参数。
在步骤510获取了第一模型和第二模型的串接模型在以目标语料的语料单元作为输入和输出情况下的组合损耗之后,可基于标准的策略梯度(policy gradient)方法来进行模型参数的更新。步骤530通过分别获取组合损耗在第一模型和第二模型上的梯度矩阵,进而步骤550基于各梯度矩阵分别对第一模型和第二模型的参数矩阵进行调整,能够得到更新后的第一模型和第二模型。
在一个实施例中,步骤550包括:基于第一梯度及其相应的第一权重来更新第一模型的参数;以及基于第二梯度及其相应的第二权重来更新第二模型的参数。这里的第一权重和第二权重是策略梯度方法中的递减权重,二者的取值按照训练过程递减,例如可从0.025开始递减。
在一个实施例中,步骤550还可结合期望最大期望(Expectation Maximization,EM)算法来迭代式地更新第一模型和第二模型的参数,逐渐同步两个模型的性能,以实现对各个模型的性能提升。这里EM算法的示例过程例如可以包括,首先保持第一模型的参数不变,通过标准的策略梯度基于第二梯度来更新第二模型的参数;然后保持更新后的第二模型的参数不变,通过标准的策略梯度基于第一梯度来更新第一模型的参数,如此往复迭代得到最终符合收敛条件或迭代次数的两个模型的参数。
图6是根据另一示例性实施例示出的一种词向量更新方法的流程图,图7示出图6所示实施例的示意训练过程。如图6所示,该词向量更新方法可以由任意计算机设备执行,可包括以下步骤610-660。
在步骤610中,获取基于源语料数据训练的SG模型和CB模型,以及目标语料D。
在步骤620中,对于给定目标语料D中的输入词wt及其上下文C,通过SG模型生成来自源语料的wSG,并求SG模型在给定的C和wSG情况下的激励rSG:
其中,|C|表示上下文的大小,也即C中包含的词个数;wj表示上下文C中的各个词;ΘSG表示SG模型的参数;p(wj|wt;ΘSG)表示在给定输入词wt情况下当前SG模型输出各词wj的概率;p(wSG|wt;ΘSG)表示在给定输入词wt情况下当前SG模型输出wSG的概率。因此,上式(1)所获取的激励rSG能够表示SG模型中wSG与C的相似性。
在更新的初始阶段,由于SG模型未经过目标语料D的训练,其输出目标语料D中上下文C的平均概率会远远小于源语料中wSG的概率,因而式(1)的结果明显小于零。随着模型更新过程的不断进行,SG模型经过目标语料D的训练,其输出目标语料D中上下文C的平均概率将趋近于源语料中wSG的概率,因而式(1)的结果也趋近于零,表示在更新的SG模型中wSG与C趋于接近,从而使更新的SG模型能够体现目标语料的特点。
在步骤630中,将wSG加入上下文C,计算更新后的上下文通过CB模型输出wt时的激励rCB:
rCB=log p(wt|C+wSG;ΘCB) (2)
其中,C+wSG表示C加入wSG后形成的新上下文,p(wt|C+wSG;ΘCB)表示在输入新上下文的情况下当前CB模型输出wt的概率。
在更新的初始阶段,由于CB模型未经过目标语料D的训练,将来自目标语料的上下文C和来自源语料的wSG输入CB模型,其输出wt的概率会远小于1,因而式(2)的结果也明显小于零。随着模型更新过程的不断进行,CB模型经过目标语料D的训练,将来自目标语料的上下文C和来自源语料的wSG输入CB模型,其输出wt的概率会趋近于1,因而式(2)的结果也趋近于零,从而使更新的CB模模型能够体现目标语料的特点。
本实施例中,激励rSG即代表基于第一模型产生的第一损耗,激励rCB即代表基于第二模型产生的第二损耗。
在步骤640中,组合rSG和rCB得到组合激励r:
r=λrSG+(1-λ)rCB (3)
其中λ是权重系数,表示期望哪个模型更能体现目标语料D的特点。例如可取λ=0.5,表示期望SG和CB模型在基本相同的程度上体现目标语料D的特点;类似地,如果更新后的词向量侧重于从输入词到上下文的预测,则可分配较大的λ,如果更新后的词向量侧重于从上下文到词的预测,则可分配较小的λ。
在步骤650中,根据组合激励r对SG模型和CB模型进行更新:
其中表示对r在相应的SG模型或CB模型上求梯度;γ1和γ2是策略梯度方法中的递减权重,二者的取值可按照训练过程递减,例如可从0.025开始递减。递减的幅度可取决于目标语料D的规模,例如,假设目标语料D有5个词,则γ1和γ2可从0.025开始每次迭代递减0.025/5=0.005。另外,γ1和γ2可以取值不同,从而得到不同的模型更新速度,例如γ1>γ2意味着期望SG模型的更新速度更快,反之γ2>γ1意味着期望CB模型的更新速度更快。
在步骤660中,在整个语料D上重复步骤610-650。
结合图7所示,图6所示实施例通过引入一个中间变量(wSG)来实现两个代理之间的信息交换。对于任何一个输入词wt以及它的上下文C(…wt-2,wt-1,wt+1,wt+2,…),本实施例通过SG模型的参数,得到以输入为wt情况下的中间变量wSG,然后将wSG加入到上下文C中一并学习CB模型;进而通过CB模型以及wSG与上下文的相似性,可以对原有SG和CB模型进行参数更新,从而达到优化原有SG和CB模型并最终改进词向量的目的。
这里来自源语料的中间变量wSG可以是词,也可以是非文本或非词语信号,例如文本分类信息或者情感标记信息等等。
以情感标记信息为例,假设某输入词在源语料中的情感标记信息为“褒义”,但在目标语料D中的情感标记信息为“贬义”。例如,对于手机而言,在大屏幕手机流行之前的源语料中,“小”可能倾向于表达手机小巧的优势,因此在源语料中倾向于为“褒义”;但随着时间的推移,当“小”与“屏幕”等词一起出现在新的目标语料中时,倾向于表示“贬义”的情感标记信息。
在更新的初始阶段,由于SG模型未经过目标语料D的训练,针对输入词“小”,其输出目标语料D中“贬义”的概率会远远小于源语料中“褒义”的概率,因而式(1)的结果明显小于零。随着模型更新过程的不断进行,SG模型经过目标语料D的训练,对于“小”作为输入词的情况,其输出目标语料D中“贬义”的概率将趋近于源语料中“褒义”的概率,因而式(1)的结果也趋近于零,从而使更新的SG模型能够体现目标语料的特点。
类似地,在更新的初始阶段,由于CB模型未经过目标语料D的训练,将目标语料中“小”的上下文C和“褒义”的情感标记信息输入CB模型,其输出“小”的概率会远小于1,因而式(2)的结果也明显小于零。随着模型更新过程的不断进行,CB模型经过目标语料D的训练,将目标语料中“小”的上下文C和“褒义”的情感标记信息输入CB模型,其输出“小”的概率会趋近于1,因而式(2)的结果也趋近于零,从而使更新的CB模模型能够体现目标语料的特点。
本发明的实施例利用第一模型和第二模型训练方向相反的特点,将来自目标语料的语料单元设定为第一模型的输入,并将第一模型的输出作为第二模型的输入,实现第一模型和第二模型的串接,进而通过获取第一模型和第二模型产生的损耗,在针对目标语料的所有语料单元进行训练的过程中,基于上述损耗来不断更新第一模型和第二模型的参数,从而能够仅在目标语料的基础上同时实现对第一模型和第二模型的更新训练。
基于上述实施例提供的词向量更新方法,能够实现词向量的增量训练,避免在大规模训练语料的基础上从零开始重新训练词向量,可以有效节省计算资源;在目标语料来自新领域的情况下,更新的词向量经过训练能够适应目标语料的特点,从而实现词向量的迁移使用,更适合于冷启动的应用场景。
并且,基于上述实施例提供的词向量更新方法,由于在输入中包含已经训练得到的词向量,因此当仅存在少量目标训练语料时,上述实施例依然可以有效的更新词向量,从而实现在有限语料上平滑学习和过渡已有的词向量。
另外,上述实施例提供的词向量更新方法,通过使用强化学习的框架,可以加入各类外部(不限于词语本身或者来源于词语语料的知识)信号,使得该方法在各种使用场景中能够主动捕获各类外部知识,达到知识与词向量融合的目的。
以下对本发明实施例的应用场景,以及结合该应用场景如何实施本发明实施例的技术方案进行详细阐述。
在本发明的一个应用场景中,可以基于同一语料库对原词向量进行增强训练,得到性能强化的词向量。例如,基于谷歌提供300维新闻语料,可使用Word2Vec工具分别训练得到SG模型和CB模型,进而根据本发明的实施例,仍以原有的300维新闻语料作为输入,通过上述步骤610-660来得到参数更新后的SG模型和CB模型。
在本发明的一个应用场景中,可以基于来自同一领域的新增语料库对原词向量进行训练,得到能够体现新增语料库特点的词向量。例如,基于谷歌提供300维新闻语料,可使用Word2Vec工具分别训练得到SG模型和CB模型,在希望更新原模型以适用于某些集中突发新闻的情况下,根据本发明的实施例,可将这些突发新闻经过分词等预处理得到的目标语料D作为输入,通过上述步骤610-660来得到参数更新后的SG模型和CB模型。
在本发明的一个应用场景中,可以基于来自新领域的语料库对来自另一领域的原词向量进行训练,得到能够体现新领域语料库特点的词向量。例如,现有基于新闻领域语料库训练得到的SG模型和CB模型,在希望将原模型迁移至医疗领域使用时,根据本发明的实施例,可将医疗领域的目标语料D作为输入,通过上述步骤610-660来得到参数更新后的SG模型和CB模型。
在本发明的一个应用场景中,还可以引入情感标记对原词向量进行更新,从而得到能够体现新领域语料库特点的词向量。例如,随着科技的进步和时间的推移,源语料中一些词在目标语料D中的情感标记信息已经发生了变化,为了体现这些词在目标语料D中的特点,可将目标语料D作为输入,通过上述步骤610-660来得到参数更新后的SG模型和CB模型。
基于上述描述的应用场景可知,上述实施例提供的词向量更新方法属于基础算法,可使用于所有自然语言相关的应用场景及其所需要的处理技术中。使用方式例如可以是使用本发明提出的模型生成或者更新词向量,并交付所生成的向量应用于后续自然语言处理任务中。例如,生成的词向量可以使用在分词和词性标注系统中,以期提高分词及词性标注的准确率,进而带来后续处理能力的提升。又例如,在搜索及其相关场景中往往需要对得到的搜索结果排序,该排序结果经常需要计算各个结果对于搜索查询语句(query)的语义相似度。这类相似度的度量可以通过词向量的相似性计算完成,因此向量的质量将很大程度决定这类语义相似度计算方法的效果。
特别是,对于冷启动情况,通过本发明提出的方法可以得到高质量的跨领域词向量。因此,本发明所述方法可以应用在各类需要跨领域使用的自然语言处理产品中。例如针对医疗的自然语言处理(如病例分析、关键词抽取等),可以通过在大规模新闻文本中训练普通词向量,然后在少数医疗领域的数据上通过本发明所提供的方法进行更新,由此得到的词向量可以兼有从大规模数据中得到的词向量的精准性,同时也包含医疗领域的领域知识。
下述为本发明装置实施例,可以用于执行本发明上述词向量更新方法的实施例。对于本发明装置实施例中未披露的细节,请参照本发明词向量更新方法实施例。
图8是根据一示例性实施例示出的一种词向量更新装置的框图。该词向量更新装置,如图8所示,包括但不限于:初始化模块810、损耗获取模块830和模型更新模块850。
初始化模块810设置为获取训练原词向量时所生成的第一模型和第二模型,所述第一模型用于根据输入词预测上下文,所述第二模型用于根据上下文预测目标词。
损耗获取模块830设置为将来自目标语料的语料单元输入所述第一模型,并将所述第一模型的输出输入所述第二模型,获取使所述第二模型输出所述语料单元时由所述第一模型和所述第二模型产生的损耗。
模型更新模块850设置为根据损耗获取模块830获取的损耗来更新第一模型和第二模型。
在一个实施例中,初始化模块810可以使用大规模训练语料无监督地学习第一模型和第二模型。在另一个实施例中,初始化模块810也可以直接获取开源的词向量作为后续更新步骤的输入。上述的第一模型例如可以是SG模型,第二模型例如可以是CB模型,但本发明的实施例并不仅限于此。
在一个实施例中,模型更新模块850设置为迭代式的更新第一模型和第二模型,直至损耗获取模块830获取的损耗满足预设的收敛条件。
本发明的实施例利用第一模型和第二模型训练方向相反的特点,将来自目标语料的语料单元设定为第一模型的输入,并将第一模型的输出作为第二模型的输入,实现第一模型和第二模型的串接,进而通过获取第一模型和第二模型产生的损耗,在针对目标语料的所有语料单元进行训练的过程中,基于上述损耗来不断更新第一模型和第二模型的参数,从而能够仅在目标语料的基础上同时实现对第一模型和第二模型的更新训练。
基于上述实施例提供的词向量更新装置,能够实现词向量的增量训练,避免在大规模训练语料的基础上从零开始重新训练词向量,可以有效节省计算资源;在目标语料来自新领域的情况下,更新的词向量经过训练能够适应目标语料的特点,从而实现词向量的迁移使用。
图9是根据另一示例性实施例示出的一种词向量更新装置的框图。如图9所示,该词向量更新装置在图8所示实施例的基础上,损耗获取模块830包括但不限于:第一损耗单元831和第二损耗单元832;模型更新模块850包括但不限于:组合损耗单元851、梯度计算单元852和参数更新单元853。
第一损耗单元831设置为对于所述语料单元及所述语料单元在所述目标语料中的语料上下文,获取所述第一模型输出所述语料上下文和预设中间变量时的第一损耗。在一个实施例中,第一损耗单元831设置为获取将所述语料单元输入所述第一模型时所述中间词的输出概率,获取将所述语料单元输入所述第一模型时所述语料上下文的输出概率,以及获取所述中间词的输出概率与所述语料上下文的输出概率之间的差异,以得到所述第一损耗。
第二损耗单元832设置为获取所述语料上下文和所述中间变量通过所述第二模型输出所述语料单元时的第二损耗。在一个实施例中,第二损耗单元832设置为将所述中间词加入所述语料上下文以获取更新上下文,以及获取将所述更新上下文输入所述第二模型时所述语料单元的输出概率,以得到所述第二损耗。
组合损耗单元851设置为基于第一模型产生的第一损耗和第二模型产生的第二损耗来获取组合损耗。
梯度计算单元852设置为获取组合损耗在第一模型上的第一梯度和组合损耗在第二模型上的第二梯度。
参数更新单元853设置为分别基于所述第一梯度和所述第二梯度来更新所述第一模型和所述第二模型的参数。
在一个实施例中,上述预设的中间变量可以是来自源语料的中间词,将该中间词加入到上述语料单元的上下文中一并训练第二模型,获取第一模型在输出该上下文和中间词时的第一损耗,并获取该上下文和中间词通过第二模型输出上述语料单元时的第二损耗,进而基于第一损耗和第二损耗来获取两个模型的组合损耗。所述源语料可以不同于所述目标语料,或者所述源语料也可以包括所述目标语料。
在另一实施例中,上述预设的中间变量还可以包括其他类型的语料单元,例如非文本或非词语形式的语料信号,包括文本分类信息和情感标记信息等。
在一个实施例中,参数更新单元853设置为基于第一梯度及其对应的第一权重来更新第一模型的参数;以及基于第二梯度及其对应的第二权重来更新第二模型的参数。其中,在基于来自目标语料的各个语料单元更新所述第一模型和所述第二模型的过程中,使所述第一权重和所述第二权重递减。
本发明的实施例利用第一模型和第二模型训练方向相反的特点,将来自目标语料的语料单元设定为第一模型的输入,并将第一模型的输出作为第二模型的输入,实现第一模型和第二模型的串接,进而通过获取第一模型和第二模型产生的损耗,在针对目标语料的所有语料单元进行训练的过程中,基于上述损耗来不断更新第一模型和第二模型的参数,从而能够仅在目标语料的基础上同时实现对第一模型和第二模型的更新训练。
基于上述实施例提供的词向量更新装置,能够实现词向量的增量训练,避免在大规模训练语料的基础上从零开始重新训练词向量,可以有效节省计算资源;在目标语料来自新领域的情况下,更新的词向量经过训练能够适应目标语料的特点,从而实现词向量的迁移使用。
另外,基于上述实施例提供的词向量更新装置,由于在输入中包含已经训练得到的词向量,因此当仅存在少量目标训练语料时,上述实施例依然可以有效的更新词向量,从而实现在有限语料上平滑学习和过渡已有的词向量。
上述实施例提供的词向量更新装置,通过使用强化学习的框架,可以加入各类外部(不限于词语本身或者来源于词语语料的知识)信号,使得该装置在各种使用场景中能够主动捕获各类外部知识,达到知识与词向量融合的目的。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。作为模块或单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (14)
1.一种词向量更新方法,包括:
获取训练原词向量时所生成的第一模型和第二模型,所述第一模型用于根据输入词预测上下文,所述第二模型用于根据上下文预测目标词;
将来自目标语料的语料单元输入所述第一模型,并将所述第一模型的输出输入所述第二模型,获取使所述第二模型输出所述语料单元时由所述第一模型和所述第二模型产生的损耗;以及
根据所述损耗来更新所述第一模型和所述第二模型。
2.根据权利要求1所述的方法,其特征在于,所述的获取使所述第二模型输出所述语料单元时由所述第一模型和所述第二模型产生的损耗,包括:
对于所述语料单元及所述语料单元在所述目标语料中的语料上下文,获取所述第一模型输出所述语料上下文和预设中间变量时下的第一损耗;以及
获取所述语料上下文和所述中间变量通过所述第二模型输出所述语料单元时的第二损耗。
3.根据权利要求2所述的方法,其特征在于,所述预设中间变量包括中间词,所述的获取所述第一模型输出所述语料上下文和预设中间变量时的第一损耗,包括:
获取将所述语料单元输入所述第一模型时所述中间词的输出概率;
获取将所述语料单元输入所述第一模型时所述语料上下文的输出概率;
获取所述中间词的输出概率与所述语料上下文的输出概率之间的差异,以得到所述第一损耗。
4.根据权利要求2所述的方法,其特征在于,所述预设中间变量包括中间词,所述的获取所述语料上下文和所述中间变量通过所述第二模型输出所述语料单元时的第二损耗,包括:
将所述中间词加入所述语料上下文以获取更新上下文;
获取将所述更新上下文输入所述第二模型时所述语料单元的输出概率,以得到所述第二损耗。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述的根据所述损耗来更新所述第一模型和所述第二模型,包括:
基于所述第一模型产生的第一损耗和所述第二模型产生的第二损耗来获取组合损耗;
获取所述组合损耗在所述第一模型上的第一梯度和所述组合损耗在所述第二模型上的第二梯度;以及
基于所述第一梯度来更新所述第一模型的参数,基于所述第二梯度来更新所述第二模型的参数。
6.根据权利要求4所述的方法,其特征在于,所述的基于所述第一梯度来更新所述第一模型的参数,基于所述第二梯度来更新所述第二模型的参数,包括:
基于所述第一梯度和为所述第一梯度分配的第一权重来更新所述第一模型的参数;以及
基于所述第二梯度和为所述第二梯度分配的第二权重来更新所述第二模型的参数;
其中,在基于来自目标语料的各个语料单元更新所述第一模型和所述第二模型的过程中,使所述第一权重和所述第二权重递减。
7.根据权利要求1所述的方法,其特征在于,所述的获取训练原词向量时所生成的第一模型和第二模型,包括:
获取根据源语料生成第一词向量时所生成的词到上下文SG模型;以及
获取根据源语料生成第二词向量时所生成的上下文到词CB模型,
其中,所述源语料不同于所述目标语料或者所述源语料包括所述目标语料。
8.一种词向量更新方法,包括:
获取训练方向相反的第一模型和第二模型;
将待训练的目标语料输入所述第一模型,并将所述第一模型的输出输入所述第二模型,获取使所述第二模型输出目标语料时分别由所述第一模型和所述第二模型产生的损耗;以及
根据所述损耗来更新所述第一模型和所述第二模型。
9.根据权利要求8所述的方法,其特征在于,所述根据所述损耗来更新所述第一模型和所述第二模型的步骤包括:
更新所述第一模型,使来自源语料的中间词的输出概率与所述目标语料的上下文的输出概率趋于相等;以及
更新所述第二模型,使所述目标语料的输出概率接近于1。
10.根据权利要求9所述的方法,其特征在于,所述获取使所述第二模型输出目标语料时分别由所述第一模型和所述第二模型产生的损耗的步骤包括:
获取所述中间词的输出概率和所述目标语料的上下文的平均输出概率的差值,以得到所述第一模型产生的损耗;以及
将所述中间词加入所述目标语料的上下文以更新上下文;
获取将所述更新的上下文输入所述第二模型时所述目标语料的输出概率,以得到所述第二模型产生的损耗。
11.根据权利要求8所述的方法,其特征在于,
所述获取训练方向相反的第一模型和第二模型的步骤包括:
获取基于源语料训练的SG模型和CB模型,以及目标语料;
所述获取使所述第二模型输出目标语料时分别由所述第一模型和所述第二模型产生的损耗的步骤包括:
根据公式:
计算所述第一模型产生的损耗,其中,|C|表示上下文的大小;wj表示上下文C中的各个词;ΘSG表示SG模型的参数;p(wj|wt;ΘSG)表示在给定输入词wt情况下当前SG模型输出各词wj的概率;p(wSG|wt;ΘSG)表示在给定输入词wt情况下当前SG模型输出wSG的概率;以及
将wSG加入上下文C,根据公式:
rCB=log p(wt|C+wSG;ΘCB)
计算更新后的上下文通过CB模型输出wt时所述第二模型产生的损耗,其中,C+wSG表示C加入wSG后形成的新上下文,p(wt|C+wSG;ΘCB)表示在输入新上下文的情况下当前CB模型输出wt的概率;
所述根据所述损耗来更新所述第一模型和所述第二模型的步骤包括:
根据公式:
r=λrSG+(1-λ)rCB
组合rSG和rCB得到组合激励r,其中λ是权重系数;以及
根据组合激励r以及公式:
对SG模型和CB模型进行更新,其中表示对r在相应的SG模型或CB模型上求梯度;γ1和γ2是递减权重。
12.一种词向量更新装置,包括:
初始化模块,设置为获取训练原词向量时所生成的第一模型和第二模型,所述第一模型用于根据输入词预测上下文,所述第二模型用于根据上下文预测目标词;
损耗获取模块,设置为将来自目标语料的语料单元输入所述第一模型,并将所述第一模型的输出输入所述第二模型,获取使所述第二模型输出所述语料单元时由所述第一模型和所述第二模型产生的损耗;以及
模型更新模块,设置为根据所述损耗来更新所述第一模型和所述第二模型。
13.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据权利要求1至11中任一项所述的词向量更新方法。
14.一种电子设备,其特征在于,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现根据权利要求1至11中任一项所述的词向量更新方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810144166.9A CN110162766B (zh) | 2018-02-12 | 2018-02-12 | 词向量更新方法和装置 |
PCT/CN2019/074769 WO2019154411A1 (zh) | 2018-02-12 | 2019-02-11 | 词向量更新方法和装置 |
US16/892,240 US11586817B2 (en) | 2018-02-12 | 2020-06-03 | Word vector retrofitting method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810144166.9A CN110162766B (zh) | 2018-02-12 | 2018-02-12 | 词向量更新方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110162766A true CN110162766A (zh) | 2019-08-23 |
CN110162766B CN110162766B (zh) | 2023-03-24 |
Family
ID=67547879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810144166.9A Active CN110162766B (zh) | 2018-02-12 | 2018-02-12 | 词向量更新方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11586817B2 (zh) |
CN (1) | CN110162766B (zh) |
WO (1) | WO2019154411A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111967590A (zh) * | 2020-10-23 | 2020-11-20 | 之江实验室 | 面向推荐系统矩阵分解方法的异构多xpu机器学习系统 |
CN112084301A (zh) * | 2020-08-11 | 2020-12-15 | 网易有道信息技术(北京)有限公司 | 文本修正模型的训练方法及装置、文本修正方法及装置 |
CN112949319A (zh) * | 2021-03-12 | 2021-06-11 | 江南大学 | 文本中多义性单词的标注方法、设备、处理器和存储介质 |
WO2023024920A1 (zh) * | 2021-08-24 | 2023-03-02 | 华为云计算技术有限公司 | 模型训练方法、系统、集群及介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11201966B1 (en) | 2020-08-25 | 2021-12-14 | Bank Of America Corporation | Interactive voice response system with a real time conversation scoring module |
CN112307757B (zh) * | 2020-10-28 | 2023-07-28 | 中国平安人寿保险股份有限公司 | 基于辅助任务的情感分析方法、装置、设备及存储介质 |
CN113643241A (zh) * | 2021-07-15 | 2021-11-12 | 北京迈格威科技有限公司 | 交互关系检测方法、交互关系检测模型训练方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150095017A1 (en) * | 2013-09-27 | 2015-04-02 | Google Inc. | System and method for learning word embeddings using neural language models |
CN105930318A (zh) * | 2016-04-11 | 2016-09-07 | 深圳大学 | 一种词向量训练方法及系统 |
CN107273355A (zh) * | 2017-06-12 | 2017-10-20 | 大连理工大学 | 一种基于字词联合训练的中文词向量生成方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2746675C (en) * | 2008-12-12 | 2015-03-31 | Atigeo Llc | Providing recommendations using information determined for domains of interest |
JP5378171B2 (ja) * | 2009-11-24 | 2013-12-25 | アイシン・エィ・ダブリュ株式会社 | 最適化モデル解析装置、最適化モデル解析方法及び最適化モデル解析プログラム |
US9477214B2 (en) * | 2013-03-07 | 2016-10-25 | General Electric Company | Plant control systems and methods |
US10372815B2 (en) * | 2013-07-12 | 2019-08-06 | Microsoft Technology Licensing, Llc | Interactive concept editing in computer-human interactive learning |
WO2015183699A1 (en) * | 2014-05-30 | 2015-12-03 | Apple Inc. | Predictive messaging method |
CN104765769B (zh) * | 2015-03-06 | 2018-04-27 | 大连理工大学 | 一种基于词矢量的短文本查询扩展及检索方法 |
CN104965819B (zh) * | 2015-07-12 | 2017-12-26 | 大连理工大学 | 一种基于句法词向量的生物医学事件触发词识别方法 |
US10262654B2 (en) * | 2015-09-24 | 2019-04-16 | Microsoft Technology Licensing, Llc | Detecting actionable items in a conversation among participants |
CN105894088B (zh) * | 2016-03-25 | 2018-06-29 | 苏州赫博特医疗信息科技有限公司 | 基于深度学习及分布式语义特征医学信息抽取系统及方法 |
CN106407393B (zh) * | 2016-09-19 | 2020-01-31 | 北京儒博科技有限公司 | 一种用于智能设备的信息处理方法及装置 |
CN107239529B (zh) * | 2017-05-27 | 2020-06-09 | 中国矿业大学 | 一种基于深度学习的舆情热点类别划分方法 |
US10713783B2 (en) * | 2017-06-01 | 2020-07-14 | International Business Machines Corporation | Neural network classification |
CN107608953B (zh) * | 2017-07-25 | 2020-08-14 | 同济大学 | 一种基于不定长上下文的词向量生成方法 |
-
2018
- 2018-02-12 CN CN201810144166.9A patent/CN110162766B/zh active Active
-
2019
- 2019-02-11 WO PCT/CN2019/074769 patent/WO2019154411A1/zh active Application Filing
-
2020
- 2020-06-03 US US16/892,240 patent/US11586817B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150095017A1 (en) * | 2013-09-27 | 2015-04-02 | Google Inc. | System and method for learning word embeddings using neural language models |
CN105930318A (zh) * | 2016-04-11 | 2016-09-07 | 深圳大学 | 一种词向量训练方法及系统 |
CN107273355A (zh) * | 2017-06-12 | 2017-10-20 | 大连理工大学 | 一种基于字词联合训练的中文词向量生成方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084301A (zh) * | 2020-08-11 | 2020-12-15 | 网易有道信息技术(北京)有限公司 | 文本修正模型的训练方法及装置、文本修正方法及装置 |
CN112084301B (zh) * | 2020-08-11 | 2023-12-15 | 网易有道信息技术(北京)有限公司 | 文本修正模型的训练方法及装置、文本修正方法及装置 |
CN111967590A (zh) * | 2020-10-23 | 2020-11-20 | 之江实验室 | 面向推荐系统矩阵分解方法的异构多xpu机器学习系统 |
CN112949319A (zh) * | 2021-03-12 | 2021-06-11 | 江南大学 | 文本中多义性单词的标注方法、设备、处理器和存储介质 |
WO2023024920A1 (zh) * | 2021-08-24 | 2023-03-02 | 华为云计算技术有限公司 | 模型训练方法、系统、集群及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110162766B (zh) | 2023-03-24 |
WO2019154411A1 (zh) | 2019-08-15 |
US20200293722A1 (en) | 2020-09-17 |
US11586817B2 (en) | 2023-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110162766A (zh) | 词向量更新方法和装置 | |
CN111444340B (zh) | 文本分类方法、装置、设备及存储介质 | |
CN112288075B (zh) | 一种数据处理方法及相关设备 | |
CN111368993A (zh) | 一种数据处理方法及相关设备 | |
CN109740167B (zh) | 用于生成信息的方法和装置 | |
CN111898636B (zh) | 一种数据处理方法及装置 | |
CN108897797A (zh) | 对话模型的更新训练方法、装置、存储介质及电子设备 | |
CN113434683B (zh) | 文本分类方法、装置、介质及电子设备 | |
CN110245232A (zh) | 文本分类方法、装置、介质和计算设备 | |
CN108121699A (zh) | 用于输出信息的方法和装置 | |
CN111563158A (zh) | 文本排序方法、排序装置、服务器和计算机可读存储介质 | |
CN114330474A (zh) | 一种数据处理方法、装置、计算机设备以及存储介质 | |
CN116029273A (zh) | 文本处理方法、装置、计算机设备和存储介质 | |
WO2019055526A1 (en) | INCREASE IN NEURAL NETWORKS | |
CN113850012B (zh) | 数据处理模型生成方法、装置、介质及电子设备 | |
CN108475346A (zh) | 神经随机访问机器 | |
CN112182157B (zh) | 在线序列标注模型的训练方法、在线标注方法及相关设备 | |
CN111832291B (zh) | 实体识别模型的生成方法、装置、电子设备及存储介质 | |
CN110807097A (zh) | 分析数据的方法和装置 | |
CN111311000B (zh) | 用户消费行为预测模型训练方法、装置、设备及存储介质 | |
CN117539975A (zh) | 大语言模型的提示词信息的生成方法、装置、设备及介质 | |
CN116167382A (zh) | 意图事件提取方法及装置、电子设备、存储介质 | |
US20220198153A1 (en) | Model training | |
CN109977011A (zh) | 测试脚本的自动生成方法、装置、存储介质及电子设备 | |
CN112364649B (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 |