CN111310459B - 机器学习组件的训练方法及装置、中文分词方法及装置 - Google Patents

机器学习组件的训练方法及装置、中文分词方法及装置 Download PDF

Info

Publication number
CN111310459B
CN111310459B CN201811510092.2A CN201811510092A CN111310459B CN 111310459 B CN111310459 B CN 111310459B CN 201811510092 A CN201811510092 A CN 201811510092A CN 111310459 B CN111310459 B CN 111310459B
Authority
CN
China
Prior art keywords
word
vector
word segmentation
machine learning
learning component
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
Application number
CN201811510092.2A
Other languages
English (en)
Other versions
CN111310459A (zh
Inventor
王潇斌
徐光伟
李林琳
司罗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201811510092.2A priority Critical patent/CN111310459B/zh
Publication of CN111310459A publication Critical patent/CN111310459A/zh
Application granted granted Critical
Publication of CN111310459B publication Critical patent/CN111310459B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种机器学习组件的训练方法及装置、中文分词方法及装置,机器学习组件的训练方法包括:将有标记的句子转化为字向量,对无标记的句子进行无监督分词,获得无监督分词结果,将无监督分词结果转化为标签序列,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置,将标签序列转化为标签向量,将标签向量和字向量输入机器学习组件进行训练。无监督分词无需人工标注数据,不受训练语料的限制,可以从存在的海量文本中不断学习,识别出不断出现的新词。本发明结合了无监督分词和机器学习组件有监督分词的优势,提高机器学习组件对于新词的识别能力。

Description

机器学习组件的训练方法及装置、中文分词方法及装置
技术领域
本申请涉及自然语言处理的技术领域,尤其涉及一种机器学习组件的训方法及装置、中文分词方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
中文分词是自然语言处理的关键步骤,中文语意理解几乎都是以中文分词为基础的。自然语言处理中,基于神经网络的机器学习组件的有监督分词是较为常用的分词方法。
基于神经网络的机器学习组件的有监督分词基于人工标注的大量训练语料训练机器学习组件,对于训练语料中的词汇具有较高的识别准确度,但对于训练语料中未出现过的词汇(称为未登录词或者新词,所谓未登录词或者新词是指没有被收录在训练语料中、但必须被切分出来的词),识别准确度则较低。互联网的迅速发展,导致互联网中每天都会出现大量的新词,例如,新上线的电视剧,新上架的商品,亦或者是新出道的艺人以及新开张的店铺等等,这些新词在互联网中又具有很大的搜索需求。一方面,很难搜集到足够多的新词数据组成较好的训练集;另一方面,机器学习组件的有监督分词对于新词的识别能力有限,不能很好的满足用户期望的搜索需求。
因此,现有的机器学习组件的分词方法存在对新词的分词效果差的问题。
发明内容
本发明实施例提供一种机器学习组件的训练方法,用以提高机器学习组件对于新词的识别能力,该方法包括:
将有标记的句子转化为字向量;
对无标记的句子进行无监督分词,获得无监督分词结果;
将无监督分词结果转化为标签序列,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置;
将标签序列转化为标签向量;
将标签向量和字向量输入机器学习组件进行训练;
将标签向量和字向量输入机器学习组件进行训练,包括:
采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练;
采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练,包括:
分别用标签向量和字向量训练机器学习组件,在训练过程中,对机器学习组件的参数按参数属性进行更新;
对机器学习组件的参数按参数属性进行更新,包括:
若参数属性为共享属性,则根据标签向量和字向量对参数进行更新;
若参数属性为非共享属性,则根据标签向量或字向量对参数进行更新。
本发明实施例还提供一种中文分词方法,用以提高机器学习组件对于新词的识别能力,该方法包括:
将中文文本输入机器学习组件,获得中文文本的分词结果;
其中,所述机器学习组件将无监督分词结果作为先验知识辅助分词;
所述机器学习组件基于如下步骤进行训练:
将有标记的句子转化为字向量;
对无标记的句子进行无监督分词,获得无监督分词结果;
将无监督分词结果转化为标签序列,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置;
将标签序列转化为标签向量;
将标签向量和字向量输入机器学习组件进行训练;
将标签向量和字向量输入机器学习组件进行训练,包括:
采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练;
采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练,包括:
分别用标签向量和字向量训练机器学习组件,在训练过程中,对机器学习组件的参数按参数属性进行更新;
对机器学习组件的参数按参数属性进行更新,包括:
若参数属性为共享属性,则根据标签向量和字向量对参数进行更新;
若参数属性为非共享属性,则根据标签向量或字向量对参数进行更新。
本发明实施例还提供一种机器学习组件的训练装置,用以提高机器学习组件对于新词的识别能力,该装置包括:
字向量获得模块,用于将有标记的句子转化为字向量;
无监督分词模块,用于对无标记的句子进行无监督分词,获得无监督分词结果;
标签向量获得模块,用于将无监督分词结果转化为标签序列,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置;将标签序列转化为标签向量;
组件训练模块,用于将标签向量和字向量输入机器学习组件进行训练;
组件训练模块包括多任务训练模块,所述多任务训练模块,用于采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练;
多任务训练模块,具体用于分别用标签向量和字向量训练机器学习组件,在训练过程中,对机器学习组件的参数按参数属性进行更新,若参数属性为共享属性,则根据标签向量和字向量对参数进行更新;若参数属性为非共享属性,则根据标签向量或字向量对参数进行更新。
本发明实施例还提供一种中文分词装置,用以提高机器学习组件对于新词的识别能力,该装置包括:
输入模块,用于将中文文本输入机器学习组件;
结果获得模块,用于获得中文文本的分词结果;
其中,所述机器学习组件将无监督分词结果作为先验知识辅助分词;
所述机器学习组件基于如下步骤进行训练:
将有标记的句子转化为字向量;
对无标记的句子进行无监督分词,获得无监督分词结果;
将无监督分词结果转化为标签序列,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置;
将标签序列转化为标签向量;
将标签向量和字向量输入机器学习组件进行训练;
将标签向量和字向量输入机器学习组件进行训练,包括:
采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练;
采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练,包括:
分别用标签向量和字向量训练机器学习组件,在训练过程中,对机器学习组件的参数按参数属性进行更新;
对机器学习组件的参数按参数属性进行更新,包括:
若参数属性为共享属性,则根据标签向量和字向量对参数进行更新;
若参数属性为非共享属性,则根据标签向量或字向量对参数进行更新。
本发明实施例还提供一种中文分词系统,用以提高机器学习组件对于新词的识别能力,该系统包括:上述机器学习组件的训练装置,以及上述中文分词装置。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述机器学习组件的训练方法,或中文分词方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述机器学习组件的训练方法,或中文分词方法的计算机程序。
本发明实施例中,将有标记的句子转化为字向量,对无标记的句子进行无监督分词,获得无监督分词结果,将无监督分词结果转化为标签序列,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置,将标签序列转化为标签向量,将标签向量和字向量输入机器学习组件进行训练。无监督分词无需人工标注数据,能够自行通过语料中字串的分布规律识别出词语进而实现分词,由于不受训练语料的限制,可以从存在的海量文本中不断学习,识别出不断出现的新词。本发明实施例结合了无监督分词和机器学习组件有监督分词的优势,利用无监督分词提升机器学习组件的有监督分词效果,提高机器学习组件对于新词的识别能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例提供的中文分词系统的结构示意图;
图2为本发明实施例提供的中文分词系统中机器学习组件的训练装置和中文分词装置之间的交互示意图;
图3为本发明实施例提供的机器学习组件的训练装置的功能模块图;
图4为本发明实施例提供的中文分词装置的功能模块图;
图5为本发明实施例提供的机器学习组件的训练方法的实现流程图;
图6为本发明实施例提供的中文分词方法的实现流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
虽然本发明提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本发明实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行。
针对现有的机器学习组件对新词的分词效果差的缺陷,本发明的申请人提出了一种机器学习组件的训练方法,其将无监督分词结果作为先验知识辅助机器学习组件分词,结合了无监督分词和机器学习组件有监督分词的优势,利用无监督分词提升机器学习组件的有监督分词效果,达到了提高机器学习组件对于新词的识别能力的目的。
有监督学习是指从标签化的训练数据集中推断出函数的机器学习任务,在中文分词领域,标签化的训练数据集即是指由有标记的句子组成的语料库。有监督分词以标签化的语料库作为训练集建立函数模型,再用建立的函数模型对没有标记的中文文本进行分词,该过程称为有监督分词。
一方面,基于中文词语的复杂性和多样性,即便是海量的语料库也不能全面涵盖所有的中文词语,存在片面性;另外,语料库中句子的标记需要人工标注,不仅标记效率较低,还可能存在标记错误的情形。另一方面,有监督分词依赖标签化的语料库,其对于语料库中未出现过的词语,即新词,的识别准确度较低。然而随着互联网的快速发展,会出现大量的新词,且这些新词在互联网中又具有很大的搜索需求,然而现实情况很难搜集到足够多的新词组成较好的语料库,导致有监督分词对于新词的识别能力有限。
有些情况下,由于缺乏足够的先验知识,难以对训练数据集中的训练样本进行人工标记类型或者人工标记类别的成本太高,根据没有标记的训练数据集解决模式识别中的各类问题,称之为无监督学习。在中文分词领域,无监督分词是指利用没有标记的句子组成的训练数据集进行训练,建立函数模型,再利用建立的函数模型对没有标记的中文文本进行分词,该过程称为无监督分词。
无监督分词无需人工标记数据,能够自行通过语料中字串的分布规律识别出词语进而实现分词,由于不受训练语料的限制,可以从存在的海量文本中不断学习,识别出不断出现的新词。
先验知识是指先于经验的知识。在中文分词领域,先验知识主要包括哪些字符串是一个有意义的词语,并且该字符串作为一个有意义的词语是先于经验的。
有监督分词依赖标签化的语料库,对语料库之外的新词识别能力有限。而无监督分词不受语料库的限制,可以识别出不断出现的新词。因此,本发明将无监督分词结果作为先验知识辅助机器学习组件分词,结合无监督分词和机器学习组件有监督分词的优势,利用无监督分词提升机器学习组件的有监督分词对于新词的分词效果,提高机器学习组件对于新词的识别能力。
图1示出了本发明实施例提供的中文分词系统的结构示意,如图1所示,该中文分词系统包括中文分词装置100和机器学习组件的训练装置200。
图2示出了本发明实施例提供的中文分词装置和机器学习组件的训练装置之间的交互示意,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:
如图1、图2所示,在本发明实施例中:
S1,机器学习组件的训练装置200将有标记的句子转化为字向量。
在本发明的一实施例中,利用4-tag标注法对语料库中的句子进行标记,4-tag标注集合为{B,M,E,S},标记表明字在分词中的位置,B表示字在词的开始、M表示字在词的中间,E表示字在词的结尾,S表示字为单字词。
在本发明的一实施例中,将由有标记的句子组成的语料库中的所有字构成一个字典,字典中的每个字对应一个固定长度的字向量,可以通过谷歌的word2vec工具包训练得到字向量,进而得到语料库中所有有标记的句子的字向量。将有标记的句子转化为字向量,即将有标记的句子进行汉字向量化,即将每句有标记的句子转化为字的分布式语义向量。
在本发明的一实施例中,将语料库中出现次数大于次数阈值的所有字构成一个字典。本领域技术人员可以理解的是,次数阈值可以根据实际需求进行设置,例如,将次数阈值设置为2,或者设置为3,本发明实施例对此不做特别的限制。
S2,机器学习组件的训练装置200对无标记的句子进行无监督分词,获得无监督分词结果。
在本发明的一实施例中,为了结合无监督分词和有监督分词,提高机器学习组件对于新词的分词效果,利用无标记的句子组成的语料库,作为无监督分词的训练样本基础,进而利用无监督分词对无标记的句子进行分词,得到无监督分词结果。
在本发明的一实施例中,还可以将标签化的语料库中的有标记的句子的标签去掉,使其成为无标签化的语料库,作为无监督分词的训练样本基础。进而利用无监督分词对去掉分词标记的句子,即无标记的句子,进行分词,得到无监督分词结果。
S3,中文分词装置100将无监督分词结果作为先验知识辅助分词。
在本发明的一实施例中,为了提高机器学习组件有监督分词对于新词的分词效果,在利用机器学习组件的训练装置200得到无监督分词结果后,将得到的无监督分词结果作为辅助机器学习组件有监督分词的先验知识。
由于无监督分词不依赖于语料库,可以识别出不断出现的新词,将无监督分词结果作为先验知识辅助机器学习组件分词,结合了无监督分词和机器学习组件有监督分词的优势,可以提高机器学习组件对于新词的识别能力。
S4,机器学习组件的训练装置200将无监督分词结果转化为标签序列,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置。
在本发明的一实施例中,标签序列是指由无监督分词结果每个字对应的标签组成的序列。其中,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置。
在本发明的一实施例中,利用4-tag标注法对无监督分词结果进行标注,将无监督分词结果转化为标签序列。4-tag标注集合为{B,M,E,S},标签表明字在分词中的位置,B表示字在词的开始、M表示字在词的中间,E表示字在词的结尾,S表示字为单字词。
例如,对于无监督分词结果{阿里搜索与大数据平台数据挖掘算法部},利用4-tag标注法对其进行标注,标注后的标签序列为{BE BE S BME BE BMME BME}。又如,对于无监督分词结果{小明硕士毕业于中国科学院计算所},标注后的标签序列为{BE BE BME BEBME BME}。
S5,机器学习组件的训练装置200将标签序列转化为标签向量。
在本发明的一实施例中,可以通过查找标签向量关系表的方式将标签序列转化为标签向量。标签向量关系表是指表明标签序列中的标签和向量之间对应关系的表,在标签向量关系表中,每个标签对应一个连续、低维、稠密的向量。
具体的,标签序列中的标签通过映射表转化为编码号(ID),每个标签对应唯一的编码号。该映射表表明标签与编码号之间的对应关系。然后通过该编码号到向量表中查找对应的向量。该向量表表明编码号与向量之间的关系。例如,编码号ID=1对应向量表的第一行,编码号ID=3对应向量表的第三行等。该向量表的初始值是随机的。这样,就可以获得标签序列中每个标签对应的向量,最后把标签序列中的每个标签对应的向量依序组合起来,形成标签序列对应的标签向量。至此,即可将标签序列转化为标签向量。
S6,将标签向量和字向量输入机器学习组件进行训练。
在本发明的一实施例中,在利用上述步骤得到标签向量和字向量后,将标签向量和字向量输入机器学习组件,同时利用标签向量和字向量对机器学习组件进行训练。另外,在机器学习组件的训练过程,该标签向量关系表作为机器学习组件的模型参数,根据反向传播的梯度进行更新。
在本发明的一实施例中,步骤S6,将标签向量和字向量输入机器学习组件进行训练,包括:
采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练。
多任务学习(英文全称:Multi-task Learning,简称MTL),是一种归纳迁移方法,是指给定m个学习任务,其中所有或者一部分任务是相关但并不完全一样的,多任务学习的目标是通过使用这m个任务中包含的知识来帮助提升各个任务的性能。多任务学习主要包括多任务监督学习、多任务无监督学习、多任务主动学习、多任务强化学习以及多任务多视角学习。其中,多任务监督学习(英文全称:Multi-task Supervised Learning,简称MTSL)主要包括:基于特征的多任务监督学习、基于参数的多任务监督学习,以及基于实例的多任务监督学习。
机器学习组件中的多任务学习模式主要包括参数的硬共享机制和参数的软共享机制。一般来讲,参数的硬共享机制可以应用到所有任务的所有隐藏层上,而保留任务相关的输出层,参数的硬共享机制降低了过拟合的风险。参数的软共享机制中,每个任务都有自己的模型和自己的模型参数,对模型参数的距离进行正则化以保障模型参数的相似。
在本发明的一实施例中,多任务学习是指以参数的硬共享机制,分别以标签向量和字向量为输入,同时对机器学习组件进行训练。传统的分词模型只能从单一的数据中学习分词模型,即有监督分词模型只能从标签化的语料库中学习分词模型,而无监督分词只能从无监督分词的训练数据中学习分词模型,本发明实施例将机器学习组件扩展为多任务学习,同时从标签化的语料库和无监督分词的训练数据中学习分词模型,即同时利用标签向量和字向量对机器学习组件进行训练。
在本发明的一实施例中,采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练,包括:
分别用标签向量和字向量训练机器学习组件,在训练过程中,对机器学习组件的参数按参数属性进行更新。
在本发明的一实施例中,参数属性包括共享属性和非共享属性,在训练过程中,对机器学习组件的参数按参数属性进行更新,包括:
若参数属性为共享属性,则根据标签向量和字向量对参数进行更新;
若参数属性为非共享属性,则根据标签向量或字向量对参数进行更新。
在本发明实施例中,若参数属性为共享属性,该参数根据两个数据源(即有标记的句子和无标记的句子)的数据更新,即根据标签向量和字向量对参数进行更新;若参数属性为非共享属性,该参数只针对特定数据源的数据进行更新,即针对有标记的句子的数据,根据字向量对参数进行更新,针对无标记的句子,根据标签向量对参数进行更新。
在本发明的一实施例中,采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练,包括:
步骤A,根据字向量确定有标记的句子的分词结果;根据有标记的句子的分词结果确定字向量对应的损失函数。
步骤B,根据标签向量确定无标记的句子的分词结果;根据无标记的句子的分词结果确定标签向量对应的损失函数;
步骤C,根据字向量对应的损失函数和标签向量对应的损失函数确定机器学习组件的损失函数;
步骤D,调整机器学习组件的参数,直至机器学习组件的损失函数的变化小于预设值。
机器学习组件在训练过程中,将有标记的句子进行汉字向量化,即将每句有标记的句子转化为字向量,进而利用字向量确定有标记的句子的分词结果。在机器学习组件训练的过程中,该分词结果用于确定字向量对应的损失函数,调整机器学习组件的参数。
机器学习组件在训练过程中,将无标记的句子转化为标签向量,利用标签向量确定无标记的句子的分词结果。在机器学习组件训练的过程中,该分词结果用于确定标签向量对应的损失函数,调整机器学习组件的参数。
在本发明的一实施例中,多任务学习模式下机器学习组件的损失函数为两个损失函数的加和,即字向量对应的损失函数和标签向量对应的损失函数的加和。具体的,可以根据下述公式确定机器学习组件的损失函数:
L=K×L1+(1-K)L2,且0<K<1;
其中,L为机器学习组件的损失函数,L1为字向量对应的损失函数,L2为标签向量对应的损失函数,K为字向量对应的损失函数的权重系数,1-K为标签向量对应的损失函数的权重系数。
在本发明的一实施例中,机器学习组件的损失函数的变化包括:(1)当前迭代训练后机器学习组件对应的损失函数,与前次迭代训练后机器学习组件的损失函数的相对变化值;或者(2)损失函数的变化率。损失函数的变化率等于,当前迭代训练后机器学习组件对应的损失函数,和前次迭代训练后机器学习组件的损失函数的相对变化值,与前次迭代训练后机器学习组件的损失函数的比值。
即,(1)可以通过下述公式确定损失函数的相对变化值:
ΔL=L当前-L前次
其中,ΔL表示当前迭代训练后机器学习组件对应的损失函数,与前次迭代训练后机器学习组件的损失函数的相对变化值,L当前表示当前迭代训练后机器学习组件对应的损失函数,L前次表示前次迭代训练后机器学习组件的损失函数。
或者,(2)可以通过下述公式确定损失函数的变化率:
α=ΔL/L前次=(L当前-L前次)/L前次
其中,α表示损失函数的变化率,ΔL表示当前迭代训练后机器学习组件对应的损失函数,与前次迭代训练后机器学习组件的损失函数的相对变化值,L当前表示当前迭代训练后机器学习组件对应的损失函数,L前次表示前次迭代训练后机器学习组件的损失函数。
其中,预设值为预先设定的值。在本发明的一实施例中,例如,在机器学习组件的损失函数的变化为损失函数的相对变化值时,可以设置预设值为0.01或者0.05,本领域技术人员可以理解的是,还可以根据实际需要设置预设值为0.03或者0.04,本发明实施例对此不做特别的限制。
在本发明的另一实施例中,例如,在机器学习组件的损失函数的变化为损失函数的变化率时,可以设置预设值为1%或者2%,本领域技术人员可以理解的是,还可以根据实际需要设置预设值为3%或者4%,本发明实施例对此不做特别的限制。
机器学习组件的损失函数是指用来评价机器学习组件的分词结果的函数,即评价正确分词结果的分数的函数。在机器学习组件的训练过程中,调整机器学习组件的参数,直至损失函数的变化小于预设值,说明机器学习组件的分词性能已经趋于稳定,满足预期的要求,不需要再继续迭代训练。即,此时正确分词结果的分数最大化,机器学习组件结束训练。
在本发明的一实施例中,步骤A,根据字向量确定有标记的句子的分词结果,包括:
步骤A1,根据字向量确定与有标记的句子对应的每个候选分词结果中每个词的词向量;
步骤A2,根据每个候选分词结果中每个词的词向量,确定每个候选分词结果的候选得分;
步骤A3,将候选得分最高的候选分词结果作为有标记的句子的分词结果。
在本发明实施例中,在根据字向量确定有标记的句子的分词结果时,每个有标记的句子会根据字向量,得到多个与有标记的句子对应的候选分词结果,该多个候选分词结果均为有标记的句子对应的分词结果。
针对每个候选分词结果,根据字向量确定候选分词结果中每个词的词向量,建模由字组词的逻辑,通过函数W=F(cb,…,ce)从字向量计算词向量,函数W=F(cb,…,ce)实现从字向量构建词向量的目的。其中,字向量和词向量都是连续、低维、稠密的向量。
在本发明的一实施例中,函数W=F(cb,…,ce)的形式可以是,某个词语的词向量包括组成该词语的所有字的字向量的平均值。在本发明的另一实施例中,也可以通过卷积神经网络得到函数W=F(cb,…,ce)。得到的词向量用于计算每个候选分词结果的候选得分。
在根据词向量得到每个候选分词结果的候选得分后,对每个候选分词结果的候选得分进行比较,将候选得分最高的候选分词结果作为有标记的句子的分词结果。
在本发明的一实施例中,步骤A2,根据每个候选分词结果中每个词的词向量,确定每个候选分词结果的候选得分,包括:
步骤A21,根据每个候选分词结果中每个词的词向量确定每个词的词得分;
步骤A22,根据每个候选分词结果中每个词的词向量确定每个词的合理性得分;
步骤A23,根据每个候选分词结果中每个词的词得分和合理性得分,确定每个候选分词结果的候选得分。
在本发明实施例中,候选分词结果中每个词的词向量用来确定每个词的词得分和每个词的合理性得分。词得分(word score)用来表征一个字符串作为词语的合理性。例如,“希望”的合理性要高于“吸望”。因此,“希望”的词得分一般要高于“吸望”的词得分。合理性得分(link score)用来表征一个词出现在给定上下文的合理性,例如,给定前文为“大冬天吃”,出现词语“火锅”的合理性要高于“马路”,即在给定前文“大冬天吃”的情况下,“火锅”的合理性得分一般要比“马路”的合理性得分高。
在本发明的一实施例中,在根据词向量确定每个词的词得分时,可以通过如下公式确定每个词的词得分:
WSa=F1(wa×W+b);
其中,WSa为每个词的词得分,F1为机器学习组件隐藏层的激活函数,wa为每个词的词向量,W为机器学习组件隐藏层的权重矩阵,b为机器学习组件隐藏层的偏置向量。
在本发明的一实施例中,激活函数F1包括Sigmod激活函数。
在本发明的一实施例中,机器学习组件为基于神经网络的机器学习组件。
在本发明的一实施例中,神经网络包括以下一种或多种:
LSTM神经网络、RNN神经网络、CNN神经网络以及DNN神经网络。
在本发明实施例中,机器学习组件为基于LSTM神经网络的机器学习组件。在根据词向量确定每个词的合理性得分时,每一步都将当前词向量作为输入,输出隐藏向量h作为截止当前词的历史信息,作为下一步的输入。
在本发明的一实施例中,在根据词向量确定每个词的合理性得分时,可以通过如下公式确定每个词的合理性得分:
LSa=F2(ha×W+b);
其中,LSa为每个词的合理性得分,F2为机器学习组件隐藏层的激活函数,ha为机器学习组件隐藏层的隐藏向量,W为机器学习组件隐藏层的权重矩阵,b为机器学习组件隐藏层的偏置向量。
在本发明的一实施例中,激活函数F2包括Tanh激活函数。
候选分词结果的候选得分为候选分词结果中每个词的词得分、合理性得分的加和,在得到每个词的词得分和合理性得分后,将候选分词结果中所有词的词得分、合理性得分进行加和,即可得到候选分词结果的候选得分,进而得到每个候选分析结果中的候选得分。
在本发明的一实施例中,步骤B,根据标签向量确定无标记的句子的分词结果,包括:
步骤B1,根据标签向量确定与无标记的句子对应的每个候选分词结果中每个词的词向量;
步骤B2,根据每个候选分词结果中每个词的词向量,确定每个候选分词结果的候选得分;
步骤B3,将候选得分最高的候选分词结果作为无标记的句子的分词结果。
在本发明实施例中,在根据标签向量确定无标记的句子的分词结果时,每个无标记的句子会根据标签向量,得到多个与无标记的句子对应的候选分词结果,该多个候选分词结果均为无标记的句子对应的分词结果。
针对每个候选分词结果,根据标签向量确定候选分词结果中每个词的词向量,得到的词向量用于计算每个候选分词结果的候选得分。
在根据标签向量得到每个候选分词结果的候选得分后,对每个候选分词结果的候选得分进行比较,将候选得分最高的候选分词结果作为无标记的句子的分词结果。
在本发明的一实施例中,步骤B2,根据每个候选分词结果中每个词的词向量,确定每个候选分词结果的候选得分,包括:
步骤B21,根据每个候选分词结果中每个词的词向量确定每个词的词得分;
步骤B22,根据每个候选分词结果中每个词的词向量确定每个词的合理性得分;
步骤B23,根据每个候选分词结果中每个词的词得分和合理性得分,确定每个候选分词结果的候选得分。
在本发明的一实施例中,在根据词向量确定每个词的词得分时,可以通过如下公式确定每个词的词得分:
WSb=F1(wb×W+b);
其中,WSb为每个词的词得分,F1为机器学习组件隐藏层的激活函数,wb为每个词的词向量,W为机器学习组件隐藏层的权重矩阵,b为机器学习组件隐藏层的偏置向量。
在本发明的一实施例中,激活函数F1包括Sigmod激活函数。
在本发明的一实施例中,机器学习组件为基于神经网络的机器学习组件。
在本发明的一实施例中,神经网络包括以下一种或多种:
LSTM神经网络、RNN神经网络、CNN神经网络以及DNN神经网络。
在本发明实施例中,机器学习组件为基于LSTM神经网络的机器学习组件。在根据词向量确定每个词的合理性得分时,每一步都将当前词向量作为输入,输出隐藏向量h作为截止当前词的历史信息,作为下一步的输入。
在本发明的一实施例中,在根据词向量确定每个词的合理性得分时,可以通过如下公式确定每个词的合理性得分:
LSb=F2(hb×W+b);
其中,LSb为每个词的合理性得分,F2为机器学习组件隐藏层的激活函数,hb为机器学习组件隐藏层的隐藏向量,W为机器学习组件隐藏层的权重矩阵,b为机器学习组件隐藏层的偏置向量。
在本发明的一实施例中,激活函数F2包括Tanh激活函数。
候选分词结果的候选得分为候选分词结果中每个词的词得分、合理性得分的加和,在得到每个词的词得分和合理性得分后,将候选分词结果中所有词的词得分、合理性得分进行加和,即可得到候选分词结果的候选得分,进而得到每个候选分析结果中的候选得分。
S7,中文分词装置100将中文文本输入机器学习组件,获得中文文本的分词结果;其中,机器学习组件将无监督分词结果作为先验知识辅助分词。
机器学习组件的有监督分词依赖标签化的语料库,对语料库之外的新词识别能力有限。而无监督分词不受语料库的限制,可以识别出不断出现的新词。将无监督分词结果作为先验知识辅助机器学习组件分词,结合无监督分词和机器学习组件有监督分词的优势,利用无监督分词提升机器学习组件对于新词的分词效果,训练得到的机器学习组件可以提高机器学习组件对于新词的识别能力。
在本发明的一实施例中,中文文本包括包含新词的影视数据,或者包含新词的电子商品数据。例如,新上线的影视剧、新出道的艺人、新上架的商品或者新开张的店铺等。
在本发明的一实施例中,中文分词装置100以及机器学习组件的训练装置200可以耦合部署在同一独立的服务器或服务器集群中,也可以分别部署在不同的服务器上。
本发明实施例提供的中文分词系统,通过机器学习组件的训练装置200将有标记的句子转化为字向量,对无标记的句子进行无监督分词,获得无监督分词结果,将无监督分词结果转化为标签序列,将标签序列转化为标签向量,将标签向量和字向量输入机器学习组件进行训练,其次通过中文分词装置100将中文文本输入机器学习组件,获得中文文本的分词结果;其中,机器学习组件将无监督分词结果作为先验知识辅助分词。本发明实施例将无监督分词结果作为先验知识辅助机器学习组件分词,结合无监督分词和机器学习组件有监督分词的优势,利用无监督分词提升机器学习组件对于新词的分词效果,提高机器学习组件对于新词的识别能力。
图3示出了本发明实施例提供的机器学习组件的训练装置的功能模块,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
如图3所示,机器学习组件的训练装置200包括字向量获得模块301、无监督分词模块302、标签序列获得模块303、标签向量获得模块304以及组件训练模块305。
所述字向量获得模块301,用于将有标记的句子转化为字向量。
在本发明的一实施例中,利用4-tag标注法对语料库中的句子进行标记,4-tag标注集合为{B,M,E,S},标记表明字在分词中的位置,B表示字在词的开始、M表示字在词的中间,E表示字在词的结尾,S表示字为单字词。
在本发明的一实施例中,将由有标记的句子组成的语料库中的所有字构成一个字典,字典中的每个字对应一个固定长度的字向量,可以通过谷歌的word2vec工具包训练得到字向量,进而得到语料库中所有有标记的句子的字向量。将有标记的句子转化为字向量,即将有标记的句子进行汉字向量化,即将每句有标记的句子转化为字的分布式语义向量。
在本发明的一实施例中,将语料库中出现次数大于次数阈值的所有字构成一个字典。本领域技术人员可以理解的是,次数阈值可以根据实际需求进行设置,例如,将次数阈值设置为2,或者设置为3,本发明实施例对此不做特别的限制。
所述无监督分词模块302,用于对无标记的句子进行无监督分词,获得无监督分词结果。
在本发明的一实施例中,为了结合无监督分词和有监督分词,提高机器学习组件对于新词的分词效果,利用无标记的句子组成的语料库,作为无监督分词的训练样本基础,进而利用无监督分词对无标记的句子进行分词,得到无监督分词结果。
在本发明的一实施例中,还可以将标签化的语料库中的有标记的句子的标签去掉,使其成为无标签化的语料库,作为无监督分词的训练样本基础。进而利用无监督分词对去掉分词标记的句子,即无标记的句子,进行分词,得到无监督分词结果。
所述标签序列获得模块303,用于将无监督分词结果转化为标签序列,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置。
在本发明的一实施例中,标签序列是指由无监督分词结果每个字对应的标签组成的序列。其中,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置。
在本发明的一实施例中,利用4-tag标注法对无监督分词结果进行标注,将无监督分词结果转化为标签序列。4-tag标注集合为{B,M,E,S},标签表明字在分词中的位置,B表示字在词的开始、M表示字在词的中间,E表示字在词的结尾,S表示字为单字词。
例如,对于无监督分词结果{阿里搜索与大数据平台数据挖掘算法部},利用4-tag标注法对其进行标注,标注后的标签序列为{BE BE S BME BE BMME BME}。又如,对于无监督分词结果{小明硕士毕业于中国科学院计算所},标注后的标签序列为{BE BE BME BEBME BME}。
所述标签向量获得模块304,用于将标签序列转化为标签向量。
在本发明的一实施例中,可以通过查找标签向量关系表的方式将标签序列转化为标签向量。标签向量关系表是指表明标签序列中的标签和向量之间对应关系的表,在标签向量关系表中,每个标签对应一个连续、低维、稠密的向量。
具体的,标签序列中的标签通过映射表转化为编码号(ID),每个标签对应唯一的编码号。该映射表表明标签与编码号之间的对应关系。然后通过该编码号到向量表中查找对应的向量。该向量表表明编码号与向量之间的关系。例如,编码号ID=1对应向量表的第一行,编码号ID=3对应向量表的第三行等。该向量表的初始值是随机的。这样,就可以获得标签序列中每个标签对应的向量,最后把标签序列中的每个标签对应的向量依序组合起来,形成标签序列对应的标签向量。至此,即可将标签序列转化为标签向量。
所述组件训练模块305,用于将标签向量和字向量输入机器学习组件进行训练。
在本发明的一实施例中,在利用上述步骤得到标签向量和字向量后,将标签向量和字向量输入机器学习组件,同时利用标签向量和字向量对机器学习组件进行训练。另外,在机器学习组件的训练过程,该标签向量关系表作为机器学习组件的模型参数,根据反向传播的梯度进行更新。
在本发明的一实施例中,组件训练模块305包括多任务训练模块。
所述多任务训练模块,用于采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练。
多任务学习(英文全称:Multi-task Learning,简称MTL),是一种归纳迁移方法,是指给定m个学习任务,其中所有或者一部分任务是相关但并不完全一样的,多任务学习的目标是通过使用这m个任务中包含的知识来帮助提升各个任务的性能。多任务学习主要包括多任务监督学习、多任务无监督学习、多任务主动学习、多任务强化学习以及多任务多视角学习。其中,多任务监督学习(英文全称:Multi-task Supervised Learning,简称MTSL)主要包括:基于特征的多任务监督学习、基于参数的多任务监督学习,以及基于实例的多任务监督学习。
机器学习组件中的多任务学习模式主要包括参数的硬共享机制和参数的软共享机制。一般来讲,参数的硬共享机制可以应用到所有任务的所有隐藏层上,而保留任务相关的输出层,参数的硬共享机制降低了过拟合的风险。参数的软共享机制中,每个任务都有自己的模型和自己的模型参数,对模型参数的距离进行正则化以保障模型参数的相似。
在本发明的一实施例中,多任务学习是指以参数的硬共享机制,分别以标签向量和字向量为输入,同时对机器学习组件进行训练。传统的分词模型只能从单一的数据中学习分词模型,即有监督分词模型只能从标签化的语料库中学习分词模型,而无监督分词只能从无监督分词的训练数据中学习分词模型,本发明实施例将机器学习组件扩展为多任务学习,同时从标签化的语料库和无监督分词的训练数据中学习分词模型,即同时利用标签向量和字向量对机器学习组件进行训练。
在本发明的一实施例中,多任务训练模块,具体用于分别用标签向量和字向量训练机器学习组件,在训练过程中,对机器学习组件的参数按参数属性进行更新。
在本发明的一实施例中,在训练过程中,对机器学习组件的参数按参数属性进行更新,包括:
若参数属性为共享属性,则根据标签向量和字向量对参数进行更新;
若参数属性为非共享属性,则根据标签向量或字向量对参数进行更新。
在本发明实施例中,若参数属性为共享属性,该参数根据两个数据源(即有标记的句子和无标记的句子)的数据更新,即根据标签向量和字向量对参数进行更新;若参数属性为非共享属性,该参数只针对特定数据源的数据进行更新,即针对有标记的句子的数据,根据字向量对参数进行更新,针对无标记的句子,根据标签向量对参数进行更新。
在本发明的一实施例中,多任务训练模块包括:第一损失函数确定单元、第二损失函数确定单元、损失函数确定单元以及参数调整单元。
所述第一损失函数确定单元,用于根据字向量确定有标记的句子的分词结果;根据有标记的句子的分词结果确定字向量对应的损失函数;
所述第二损失函数确定单元,用于根据标签向量确定无标记的句子的分词结果;根据无标记的句子的分词结果确定标签向量对应的损失函数;
所述损失函数确定单元,用于根据字向量对应的损失函数和标签向量对应的损失函数确定机器学习组件的损失函数;
所述参数调整单元,用于调整机器学习组件的参数,直至机器学习组件的损失函数不小于预设值。
机器学习组件在训练过程中,将有标记的句子进行汉字向量化,即将每句有标记的句子转化为字向量,进而利用字向量确定有标记的句子的分词结果。在机器学习组件训练的过程中,该分词结果用于确定字向量对应的损失函数,调整机器学习组件的参数。
机器学习组件在训练过程中,将无标记的句子转化为标签向量,利用标签向量确定无标记的句子的分词结果。在机器学习组件训练的过程中,该分词结果用于确定标签向量对应的损失函数,调整机器学习组件的参数。
在本发明的一实施例中,多任务学习模式下机器学习组件的损失函数为两个损失函数的加和,即字向量对应的损失函数和标签向量对应的损失函数的加和。具体的,可以根据下述公式确定机器学习组件的损失函数:
L=K×L1+(1-K)L2,且0<K<1;
其中,L为机器学习组件的损失函数,L1为字向量对应的损失函数,L2为标签向量对应的损失函数,K为字向量对应的损失函数的权重系数,1-K为标签向量对应的损失函数的权重系数。
在本发明的一实施例中,机器学习组件的损失函数的变化包括:(1)当前迭代训练后机器学习组件对应的损失函数,与前次迭代训练后机器学习组件的损失函数的相对变化值;或者(2)损失函数的变化率。损失函数的变化率等于,当前迭代训练后机器学习组件对应的损失函数,和前次迭代训练后机器学习组件的损失函数的相对变化值,与前次迭代训练后机器学习组件的损失函数的比值。
即,(1)可以通过下述公式确定损失函数的相对变化值:
ΔL=L当前-L前次
其中,ΔL表示当前迭代训练后机器学习组件对应的损失函数,与前次迭代训练后机器学习组件的损失函数的相对变化值,L当前表示当前迭代训练后机器学习组件对应的损失函数,L前次表示前次迭代训练后机器学习组件的损失函数。
或者,(2)可以通过下述公式确定损失函数的变化率:
α=ΔL/L前次=(L当前-L前次)/L前次
其中,α表示损失函数的变化率,ΔL表示当前迭代训练后机器学习组件对应的损失函数,与前次迭代训练后机器学习组件的损失函数的相对变化值,L当前表示当前迭代训练后机器学习组件对应的损失函数,L前次表示前次迭代训练后机器学习组件的损失函数。
其中,预设值为预先设定的值。在本发明的一实施例中,例如,在机器学习组件的损失函数的变化为损失函数的相对变化值时,可以设置预设值为0.01或者0.05,本领域技术人员可以理解的是,还可以根据实际需要设置预设值为0.03或者0.04,本发明实施例对此不做特别的限制。
在本发明的另一实施例中,例如,在机器学习组件的损失函数的变化为损失函数的变化率时,可以设置预设值为1%或者2%,本领域技术人员可以理解的是,还可以根据实际需要设置预设值为3%或者4%,本发明实施例对此不做特别的限制。
机器学习组件的损失函数是指用来评价机器学习组件的分词结果的函数,即评价正确分词结果的分数的函数。在机器学习组件的训练过程中,调整机器学习组件的参数,直至损失函数的变化小于预设值,说明机器学习组件的分词性能已经趋于稳定,满足预期的要求,不需要再继续迭代训练。即,此时正确分词结果的分数最大化,机器学习组件结束训练。
在本发明的一实施例中,第一损失函数确定单元包括:第一词向量确定单元、候选得分确定单元以及第一分词结果确定单元。
第一词向量确定单元,用于根据字向量确定与有标记的句子对应的每个候选分词结果中每个词的词向量;
候选得分确定单元,用于根据字向量确定与有标记的句子对应的每个候选分词结果中每个词的词向量;
第一分词结果确定单元,用于将候选得分最高的候选分词结果作为有标记的句子的分词结果。
在本发明实施例中,在根据字向量确定有标记的句子的分词结果时,每个有标记的句子会根据字向量,得到多个与有标记的句子对应的候选分词结果,该多个候选分词结果均为有标记的句子对应的分词结果。
针对每个候选分词结果,根据字向量确定候选分词结果中每个词的词向量,建模由字组词的逻辑,通过函数W=F(cb,cm,ce)从字向量计算词向量,即词嵌入。所谓词嵌入是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或者词组被映射为实数域上的向量。得到的词向量用于计算每个候选分词结果的候选得分。
在根据词向量得到每个候选分词结果的候选得分后,对每个候选分词结果的候选得分进行比较,将候选得分最高的候选分词结果作为有标记的句子的分词结果。
在本发明的一实施例中,候选得分确定单元包括:词得分子单元、合理性得分子单元以及候选得分子单元。
所述词得分子单元,用于根据每个候选分词结果中每个词的词向量确定每个词的词得分;
所述合理性得分子单元,用于根据每个候选分词结果中每个词的词向量确定每个词的合理性得分;
所述候选得分子单元,用于根据每个候选分词结果中每个词的词得分和合理性得分,确定每个候选分词结果的候选得分。
在本发明实施例中,候选分词结果中每个词的词向量用来确定每个词的词得分和每个词的合理性得分。词得分(word score)用来表征一个字符串作为词语的合理性。例如,“希望”的合理性要高于“吸望”。因此,“希望”的词得分一般要高于“吸望”的词得分。合理性得分(link score)用来表征一个词出现在给定上下文的合理性,例如,给定前文为“大冬天吃”,出现词语“火锅”的合理性要高于“马路”,即在给定前文“大冬天吃”的情况下,“火锅”的合理性得分一般要比“马路”的合理性得分高。
在本发明的一实施例中,在根据词向量确定每个词的词得分时,可以通过如下公式确定每个词的词得分:
WSa=F1(wa×W+b);
其中,WSa为每个词的词得分,F1为机器学习组件隐藏层的激活函数,wa为每个词的词向量,W为机器学习组件隐藏层的权重矩阵,b为机器学习组件隐藏层的偏置向量。
在本发明的一实施例中,激活函数F1包括Sigmod激活函数。
在本发明的一实施例中,机器学习组件为基于神经网络的机器学习组件。
在本发明的一实施例中,神经网络包括以下一种或多种:
LSTM神经网络、RNN神经网络、CNN神经网络以及DNN神经网络。
在本发明实施例中,机器学习组件为基于LSTM神经网络的机器学习组件。在根据词向量确定每个词的合理性得分时,每一步都将当前词向量作为输入,输出隐藏向量h作为截止当前词的历史信息,作为下一步的输入。
在本发明的一实施例中,在根据词向量确定每个词的合理性得分时,可以通过如下公式确定每个词的合理性得分:
LSa=F2(ha×W+b);
其中,LSa为每个词的合理性得分,F2为机器学习组件隐藏层的激活函数,ha为机器学习组件隐藏层的隐藏向量,W为机器学习组件隐藏层的权重矩阵,b为机器学习组件隐藏层的偏置向量。
在本发明的一实施例中,激活函数F2包括Tanh激活函数。
候选分词结果的候选得分为候选分词结果中每个词的词得分、合理性得分的加和,在得到每个词的词得分和合理性得分后,将候选分词结果中所有词的词得分、合理性得分进行加和,即可得到候选分词结果的候选得分,进而得到每个候选分析结果中的候选得分。
在本发明的一实施例中,第二损失函数确定单元包括:第二词向量确定单元、候选得分确定单元以及第二分词结果确定单元。
所述第二词向量确定单元,用于根据标签向量确定与无标记的句子对应的每个候选分词结果中每个词的词向量;
所述候选得分确定单元,用于根据每个候选分词结果中每个词的词向量,确定每个候选分词结果的候选得分;
第二分词结果确定单元,用于将候选得分最高的候选分词结果作为无标记的句子的分词结果。
在本发明实施例中,在根据标签向量确定无标记的句子的分词结果时,每个无标记的句子会根据标签向量,得到多个与无标记的句子对应的候选分词结果,该多个候选分词结果均为无标记的句子对应的分词结果。
针对每个候选分词结果,根据标签向量确定候选分词结果中每个词的词向量,得到的词向量用于计算每个候选分词结果的候选得分。
在根据标签向量得到每个候选分词结果的候选得分后,对每个候选分词结果的候选得分进行比较,将候选得分最高的候选分词结果作为无标记的句子的分词结果。
在本发明的一实施例中,候选得分确定单元包括:词得分子单元、合理性得分子单元以及候选得分子单元。
所述词得分子单元,用于根据每个候选分词结果中每个词的词向量确定每个词的词得分;
所述合理性得分子单元,用于根据每个候选分词结果中每个词的词向量确定每个词的合理性得分;
所述候选得分子单元,用于根据每个候选分词结果中每个词的词得分和合理性得分,确定每个候选分词结果的候选得分。
在本发明实施例中,在根据标签向量确定无标记的句子的分词结果时,每个无标记的句子会根据标签向量,得到多个与无标记的句子对应的候选分词结果,该多个候选分词结果均为无标记的句子对应的分词结果。
针对每个候选分词结果,根据标签向量确定候选分词结果中每个词的词向量,得到的词向量用于计算每个候选分词结果的候选得分。
在本发明的一实施例中,在根据词向量确定每个词的词得分时,可以通过如下公式确定每个词的词得分:
WSb=F1(wb×W+b);
其中,WSb为每个词的词得分,F1为机器学习组件隐藏层的激活函数,wb为每个词的词向量,W为机器学习组件隐藏层的权重矩阵,b为机器学习组件隐藏层的偏置向量。
在本发明的一实施例中,激活函数F1包括Sigmod激活函数。
在本发明的一实施例中,机器学习组件为基于神经网络的机器学习组件。
在本发明的一实施例中,神经网络包括以下一种或多种:
LSTM神经网络、RNN神经网络、CNN神经网络以及DNN神经网络。
在本发明实施例中,机器学习组件为基于LSTM神经网络的机器学习组件。在根据词向量确定每个词的合理性得分时,每一步都将当前词向量作为输入,输出隐藏向量h作为截止当前词的历史信息,作为下一步的输入。
在本发明的一实施例中,在根据词向量确定每个词的合理性得分时,可以通过如下公式确定每个词的合理性得分:
LSb=F2(hb×W+b);
其中,LSb为每个词的合理性得分,F2为机器学习组件隐藏层的激活函数,hb为机器学习组件隐藏层的隐藏向量,W为机器学习组件隐藏层的权重矩阵,b为机器学习组件隐藏层的偏置向量。
在本发明的一实施例中,激活函数F2包括Tanh激活函数。
候选分词结果的候选得分为候选分词结果中每个词的词得分、合理性得分的加和,在得到每个词的词得分和合理性得分后,将候选分词结果中所有词的词得分、合理性得分进行加和,即可得到候选分词结果的候选得分,进而得到每个候选分析结果中的候选得分。
在本发明的一实施例中,机器学习组件的训练装置200,还包括噪音滤除模块。
所述噪音滤除模块,用于滤除无监督分词结果中的噪音数据。
相应的,标签序列获得模块,具体用于将滤除噪音数据后的无监督分词结果转化为标签序列,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置。
在本发明的一实施例中,机器学习组件的训练装置200可部署在移动端,也可以通过网络服务的调用方式向外提供服务。
本发明实施例提供的机器学习组件的训练装置200,字向量获得模块301将有标记的句子转化为字向量,无监督分词模块302对无标记的句子进行无监督分词,获得无监督分词结果,标签序列获得模块303将无监督分词结果转化为标签序列,标签向量获得模块304将标签序列转化为标签向量,组件训练模块305将标签向量和字向量输入机器学习组件进行训练。本发明实施例将无监督分词结果作为先验知识辅助机器学习组件分词,结合无监督分词和机器学习组件有监督分词的优势,利用无监督分词提升机器学习组件对于新词的分词效果,提高机器学习组件对于新词的识别能力。
图4示出了本发明实施例提供的中文分词装置的功能模块,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:
如图4所示,中文分词装置100包括:输入模块401和结果获得模块402。
所述输入模块401,用于将中文文本输入机器学习组件。其中,所述机器学习组件将无监督分词结果作为先验知识辅助分词。
机器学习组件的有监督分词依赖标签化的语料库,对语料库之外的新词识别能力有限。而无监督分词不受语料库的限制,可以识别出不断出现的新词。将无监督分词结果作为先验知识辅助机器学习组件分词,结合无监督分词和机器学习组件有监督分词的优势,利用无监督分词提升机器学习组件对于新词的分词效果,训练得到的机器学习组件可以提高机器学习组件对于新词的识别能力。
所述结果获得模块402,用于获得中文文本的分词结果。
在本发明的一实施例中,中文分词装置100可部署在移动端,也可以通过网络服务的调用方式向外提供服务。
本发明实施例提供的中文分词装置100,输入模块401将中文文本输入机器学习组件,结果获得模块402获得中文文本的分词结果;其中,机器学习组件将无监督分词结果作为先验知识辅助分词。本发明实施例将无监督分词结果作为先验知识辅助机器学习组件分词,结合无监督分词和机器学习组件有监督分词的优势,利用无监督分词提升机器学习组件对于新词的分词效果,提高机器学习组件对于新词的识别能力。
在本发明的一实施例中,机器学习组件采用如下图5所示相关实施例的训练过程进行训练。
在介绍了本发明的中文分词系统、中文分词装置100以及机器学习组件的训练装置200之后,接下来,参考附图对本发明的方法进行介绍。该方法的实施可以参见上述系统的实施,重复之处不再赘述。
图5示出了本发明实施例提供的机器学习组件的训练方法的实现流程,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:
如图5所示,机器学习组件的训练方法,包括:
步骤501,将有标记的句子转化为字向量。
在本发明的一实施例中,利用4-tag标注法对语料库中的句子进行标记,4-tag标注集合为{B,M,E,S},标记表明字在分词中的位置,B表示字在词的开始、M表示字在词的中间,E表示字在词的结尾,S表示字为单字词。
在本发明的一实施例中,将由有标记的句子组成的语料库中的所有字构成一个字典,字典中的每个字对应一个固定长度的字向量,可以通过谷歌的word2vec工具包训练得到字向量,进而得到语料库中所有有标记的句子的字向量。将有标记的句子转化为字向量,即将有标记的句子进行汉字向量化,即将每句有标记的句子转化为字的分布式语义向量。
在本发明的一实施例中,将语料库中出现次数大于次数阈值的所有字构成一个字典。本领域技术人员可以理解的是,次数阈值可以根据实际需求进行设置,例如,将次数阈值设置为2,或者设置为3,本发明实施例对此不做特别的限制。
步骤502,对无标记的句子进行无监督分词,获得无监督分词结果。
在本发明的一实施例中,为了结合无监督分词和有监督分词,提高机器学习组件对于新词的分词效果,利用无标记的句子组成的语料库,作为无监督分词的训练样本基础,进而利用无监督分词对无标记的句子进行分词,得到无监督分词结果。
在本发明的一实施例中,还可以将标签化的语料库中的有标记的句子的标签去掉,使其成为无标签化的语料库,作为无监督分词的训练样本基础。进而利用无监督分词对去掉分词标记的句子,即无标记的句子,进行分词,得到无监督分词结果。
步骤503,将无监督分词结果转化为标签序列,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置。
在本发明的一实施例中,标签序列是指由无监督分词结果每个字对应的标签组成的序列。其中,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置。
在本发明的一实施例中,利用4-tag标注法对无监督分词结果进行标注,将无监督分词结果转化为标签序列。4-tag标注集合为{B,M,E,S},标签表明字在分词中的位置,B表示字在词的开始、M表示字在词的中间,E表示字在词的结尾,S表示字为单字词。
例如,对于无监督分词结果{阿里搜索与大数据平台数据挖掘算法部},利用4-tag标注法对其进行标注,标注后的标签序列为{BE BE S BME BE BMME BME}。又如,对于无监督分词结果{小明硕士毕业于中国科学院计算所},标注后的标签序列为{BE BE BME BEBME BME}。
步骤504,将标签序列转化为标签向量。
在本发明的一实施例中,可以通过查找标签向量关系表的方式将标签序列转化为标签向量。标签向量关系表是指表明标签序列中的标签和向量之间对应关系的表,在标签向量关系表中,每个标签对应一个连续、低维、稠密的向量。
具体的,标签序列中的标签通过映射表转化为编码号(ID),每个标签对应唯一的编码号。该映射表表明标签与编码号之间的对应关系。然后通过该编码号到向量表中查找对应的向量。该向量表表明编码号与向量之间的关系。例如,编码号ID=1对应向量表的第一行,编码号ID=3对应向量表的第三行等。该向量表的初始值是随机的。这样,就可以获得标签序列中每个标签对应的向量,最后把标签序列中的每个标签对应的向量依序组合起来,形成标签序列对应的标签向量。至此,即可将标签序列转化为标签向量。
步骤505,将标签向量和字向量输入机器学习组件进行训练。
在本发明的一实施例中,在利用上述步骤得到标签向量和字向量后,将标签向量和字向量输入机器学习组件,同时利用标签向量和字向量对机器学习组件进行训练。另外,在机器学习组件的训练过程,该标签向量关系表作为机器学习组件的模型参数,根据反向传播的梯度进行更新。
在本发明的一实施例中,在步骤503之前,机器学习组件的训练方法,还包括:
滤除无监督分词结果中的噪音数据。
相应的,步骤503,将无监督分词结果转化为标签序列,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置,包括:
将滤除噪音数据后的无监督分词结果转化为标签序列,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置。
在本发明的一实施例中,步骤505,将标签向量和字向量输入机器学习组件进行训练,包括:
采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练。
多任务学习(英文全称:Multi-task Learning,简称MTL),是一种归纳迁移方法,是指给定m个学习任务,其中所有或者一部分任务是相关但并不完全一样的,多任务学习的目标是通过使用这m个任务中包含的知识来帮助提升各个任务的性能。多任务学习主要包括多任务监督学习、多任务无监督学习、多任务主动学习、多任务强化学习以及多任务多视角学习。其中,多任务监督学习(英文全称:Multi-task Supervised Learning,简称MTSL)主要包括:基于特征的多任务监督学习、基于参数的多任务监督学习,以及基于实例的多任务监督学习。
机器学习组件中的多任务学习模式主要包括参数的硬共享机制和参数的软共享机制。一般来讲,参数的硬共享机制可以应用到所有任务的所有隐藏层上,而保留任务相关的输出层,参数的硬共享机制降低了过拟合的风险。参数的软共享机制中,每个任务都有自己的模型和自己的模型参数,对模型参数的距离进行正则化以保障模型参数的相似。
在本发明的一实施例中,多任务学习是指以参数的硬共享机制,分别以标签向量和字向量为输入,同时对机器学习组件进行训练。传统的分词模型只能从单一的数据中学习分词模型,即有监督分词模型只能从标签化的语料库中学习分词模型,而无监督分词只能从无监督分词的训练数据中学习分词模型,本发明实施例将机器学习组件扩展为多任务学习,同时从标签化的语料库和无监督分词的训练数据中学习分词模型,即同时利用标签向量和字向量对机器学习组件进行训练。
在本发明的一实施例中,采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练,包括:
分别用标签向量和字向量训练机器学习组件,在训练过程中,对机器学习组件的参数按参数属性进行更新。
在本发明的一实施例中,在训练过程中,对机器学习组件的参数按参数属性进行更新,包括:
若参数属性为共享属性,则根据标签向量和字向量对参数进行更新;
若参数属性为非共享属性,则根据标签向量或字向量对参数进行更新。
在本发明实施例中,若参数属性为共享属性,该参数根据两个数据源(即有标记的句子和无标记的句子)的数据更新,即根据标签向量和字向量对参数进行更新;若参数属性为非共享属性,该参数只针对特定数据源的数据进行更新,即针对有标记的句子的数据,根据字向量对参数进行更新,针对无标记的句子,根据标签向量对参数进行更新。
在本发明的一实施例中,采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练,包括:
根据字向量确定有标记的句子的分词结果;根据有标记的句子的分词结果确定字向量对应的损失函数;
根据标签向量确定无标记的句子的分词结果;根据无标记的句子的分词结果确定标签向量对应的损失函数;
根据字向量对应的损失函数和标签向量对应的损失函数确定机器学习组件的损失函数;
调整机器学习组件的参数,直至机器学习组件的损失函数不小于预设值。
机器学习组件在训练过程中,将有标记的句子进行汉字向量化,即将每句有标记的句子转化为字向量,进而利用字向量确定有标记的句子的分词结果。在机器学习组件训练的过程中,该分词结果用于确定字向量对应的损失函数,调整机器学习组件的参数。
机器学习组件在训练过程中,将无标记的句子转化为标签向量,利用标签向量确定无标记的句子的分词结果。在机器学习组件训练的过程中,该分词结果用于确定标签向量对应的损失函数,调整机器学习组件的参数。
在本发明的一实施例中,多任务学习模式下机器学习组件的损失函数为两个损失函数的加和,即字向量对应的损失函数和标签向量对应的损失函数的加和。具体的,可以根据下述公式确定机器学习组件的损失函数:
L=K×L1+(1-K)L2,且0<K<1;
其中,L为机器学习组件的损失函数,L1为字向量对应的损失函数,L2为标签向量对应的损失函数,K为字向量对应的损失函数的权重系数,1-K为标签向量对应的损失函数的权重系数。
在本发明的一实施例中,机器学习组件的损失函数的变化包括:(1)当前迭代训练后机器学习组件对应的损失函数,与前次迭代训练后机器学习组件的损失函数的相对变化值;或者(2)损失函数的变化率。损失函数的变化率等于,当前迭代训练后机器学习组件对应的损失函数,和前次迭代训练后机器学习组件的损失函数的相对变化值,与前次迭代训练后机器学习组件的损失函数的比值。
即,(1)可以通过下述公式确定损失函数的相对变化值:
ΔL=L当前-L前次
其中,ΔL表示当前迭代训练后机器学习组件对应的损失函数,与前次迭代训练后机器学习组件的损失函数的相对变化值,L当前表示当前迭代训练后机器学习组件对应的损失函数,L前次表示前次迭代训练后机器学习组件的损失函数。
或者,(2)可以通过下述公式确定损失函数的变化率:
α=ΔL/L前次=(L当前-L前次)/L前次
其中,α表示损失函数的变化率,ΔL表示当前迭代训练后机器学习组件对应的损失函数,与前次迭代训练后机器学习组件的损失函数的相对变化值,L当前表示当前迭代训练后机器学习组件对应的损失函数,L前次表示前次迭代训练后机器学习组件的损失函数。
其中,预设值为预先设定的值。在本发明的一实施例中,例如,在机器学习组件的损失函数的变化为损失函数的相对变化值时,可以设置预设值为0.01或者0.05,本领域技术人员可以理解的是,还可以根据实际需要设置预设值为0.03或者0.04,本发明实施例对此不做特别的限制。
在本发明的另一实施例中,例如,在机器学习组件的损失函数的变化为损失函数的变化率时,可以设置预设值为1%或者2%,本领域技术人员可以理解的是,还可以根据实际需要设置预设值为3%或者4%,本发明实施例对此不做特别的限制。
机器学习组件的损失函数是指用来评价机器学习组件的分词结果的函数,即评价正确分词结果的分数的函数。在机器学习组件的训练过程中,调整机器学习组件的参数,直至损失函数的变化小于预设值,说明机器学习组件的分词性能已经趋于稳定,满足预期的要求,不需要再继续迭代训练。即,此时正确分词结果的分数最大化,机器学习组件结束训练。
在本发明的一实施例中,根据字向量确定有标记的句子的分词结果,包括:
根据字向量确定与有标记的句子对应的每个候选分词结果中每个词的词向量;
根据每个候选分词结果中每个词的词向量,确定每个候选分词结果的候选得分;
将候选得分最高的候选分词结果作为有标记的句子的分词结果。
在本发明实施例中,在根据字向量确定有标记的句子的分词结果时,每个有标记的句子会根据字向量,得到多个与有标记的句子对应的候选分词结果,该多个候选分词结果均为有标记的句子对应的分词结果。
针对每个候选分词结果,根据字向量确定候选分词结果中每个词的词向量,建模由字组词的逻辑,通过函数W=F(cb,cm,ce)从字向量计算词向量,即词嵌入。所谓词嵌入是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或者词组被映射为实数域上的向量。得到的词向量用于计算每个候选分词结果的候选得分。
在根据词向量得到每个候选分词结果的候选得分后,对每个候选分词结果的候选得分进行比较,将候选得分最高的候选分词结果作为有标记的句子的分词结果。
在本发明的一实施例中,根据每个候选分词结果中每个词的词向量,确定每个候选分词结果的候选得分,包括:
根据每个候选分词结果中每个词的词向量确定每个词的词得分;
根据每个候选分词结果中每个词的词向量确定每个词的合理性得分;
根据每个候选分词结果中每个词的词得分和合理性得分,确定每个候选分词结果的候选得分。
在本发明实施例中,候选分词结果中每个词的词向量用来确定每个词的词得分和每个词的合理性得分。词得分(word score)用来表征一个字符串作为词语的合理性。例如,“希望”的合理性要高于“吸望”。因此,“希望”的词得分一般要高于“吸望”的词得分。合理性得分(link score)用来表征一个词出现在给定上下文的合理性,例如,给定前文为“大冬天吃”,出现词语“火锅”的合理性要高于“马路”,即在给定前文“大冬天吃”的情况下,“火锅”的合理性得分一般要比“马路”的合理性得分高。
在本发明的一实施例中,在根据词向量确定每个词的词得分时,可以通过如下公式确定每个词的词得分:
WSa=F1(wa×W+b);
其中,WSa为每个词的词得分,F1为机器学习组件隐藏层的激活函数,wa为每个词的词向量,W为机器学习组件隐藏层的权重矩阵,b为机器学习组件隐藏层的偏置向量。
在本发明的一实施例中,激活函数F1包括Sigmod激活函数。
在本发明的一实施例中,机器学习组件为基于神经网络的机器学习组件。
在本发明的一实施例中,神经网络包括以下一种或多种:
LSTM神经网络、RNN神经网络、CNN神经网络以及DNN神经网络。
在本发明实施例中,机器学习组件为基于LSTM神经网络的机器学习组件。在根据词向量确定每个词的合理性得分时,每一步都将当前词向量作为输入,输出隐藏向量h作为截止当前词的历史信息,作为下一步的输入。
在本发明的一实施例中,在根据词向量确定每个词的合理性得分时,可以通过如下公式确定每个词的合理性得分:
LSa=F2(ha×W+b);
其中,LSa为每个词的合理性得分,F2为机器学习组件隐藏层的激活函数,ha为机器学习组件隐藏层的隐藏向量,W为机器学习组件隐藏层的权重矩阵,b为机器学习组件隐藏层的偏置向量。
在本发明的一实施例中,激活函数F2包括Tanh激活函数。
候选分词结果的候选得分为候选分词结果中每个词的词得分、合理性得分的加和,在得到每个词的词得分和合理性得分后,将候选分词结果中所有词的词得分、合理性得分进行加和,即可得到候选分词结果的候选得分,进而得到每个候选分析结果中的候选得分。
在本发明的一实施例中,根据标签向量确定无标记的句子的分词结果,包括:
根据标签向量确定与无标记的句子对应的每个候选分词结果中每个词的词向量;
根据每个候选分词结果中每个词的词向量,确定每个候选分词结果的候选得分;
将候选得分最高的候选分词结果作为无标记的句子的分词结果。
在本发明实施例中,在根据标签向量确定无标记的句子的分词结果时,每个无标记的句子会根据标签向量,得到多个与无标记的句子对应的候选分词结果,该多个候选分词结果均为无标记的句子对应的分词结果。
针对每个候选分词结果,根据标签向量确定候选分词结果中每个词的词向量,得到的词向量用于计算每个候选分词结果的候选得分。
在根据标签向量得到每个候选分词结果的候选得分后,对每个候选分词结果的候选得分进行比较,将候选得分最高的候选分词结果作为无标记的句子的分词结果。
在本发明的一实施例中,根据每个候选分词结果中每个词的词向量,确定每个候选分词结果的候选得分,包括:
根据每个候选分词结果中每个词的词向量确定每个词的词得分;
根据每个候选分词结果中每个词的词向量确定每个词的合理性得分;
根据每个候选分词结果中每个词的词得分和合理性得分,确定每个候选分词结果的候选得分。
在本发明的一实施例中,在根据词向量确定每个词的词得分时,可以通过如下公式确定每个词的词得分:
WSb=F1(wb×W+b);
其中,WSb为每个词的词得分,F1为机器学习组件隐藏层的激活函数,wb为每个词的词向量,W为机器学习组件隐藏层的权重矩阵,b为机器学习组件隐藏层的偏置向量。
在本发明的一实施例中,激活函数F1包括Sigmod激活函数。
在本发明的一实施例中,机器学习组件为基于神经网络的机器学习组件。
在本发明的一实施例中,神经网络包括以下一种或多种:
LSTM神经网络、RNN神经网络、CNN神经网络以及DNN神经网络。
在本发明实施例中,机器学习组件为基于LSTM神经网络的机器学习组件。在根据词向量确定每个词的合理性得分时,每一步都将当前词向量作为输入,输出隐藏向量h作为截止当前词的历史信息,作为下一步的输入。
在本发明的一实施例中,在根据词向量确定每个词的合理性得分时,可以通过如下公式确定每个词的合理性得分:
LSb=F2(hb×W+b);
其中,LSb为每个词的合理性得分,F2为机器学习组件隐藏层的激活函数,hb为机器学习组件隐藏层的隐藏向量,W为机器学习组件隐藏层的权重矩阵,b为机器学习组件隐藏层的偏置向量。
在本发明的一实施例中,激活函数F2包括Tanh激活函数。
候选分词结果的候选得分为候选分词结果中每个词的词得分、合理性得分的加和,在得到每个词的词得分和合理性得分后,将候选分词结果中所有词的词得分、合理性得分进行加和,即可得到候选分词结果的候选得分,进而得到每个候选分析结果中的候选得分。
本发明实施例提供的机器学习组件的训练方法,将有标记的句子转化为字向量,对无标记的句子进行无监督分词,获得无监督分词结果,将无监督分词结果转化为标签序列,将标签序列转化为标签向量,将标签向量和字向量输入机器学习组件进行训练。本发明实施例将无监督分词结果作为先验知识辅助机器学习组件分词,结合无监督分词和机器学习组件有监督分词的优势,利用无监督分词提升机器学习组件对于新词的分词效果,提高机器学习组件对于新词的识别能力。
图6示出了本发明实施例提供的中文分词方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
如图6所示,中文分词方法,包括:
步骤601,将中文文本输入机器学习组件,获得中文文本的分词结果;其中,所述机器学习组件将无监督分词结果作为先验知识辅助分词。
机器学习组件的有监督分词依赖标签化的语料库,对语料库之外的新词识别能力有限。而无监督分词不受语料库的限制,可以识别出不断出现的新词。将无监督分词结果作为先验知识辅助机器学习组件分词,结合无监督分词和机器学习组件有监督分词的优势,利用无监督分词提升机器学习组件对于新词的分词效果,训练得到的机器学习组件可以提高机器学习组件对于新词的识别能力。
在本发明的一实施例中,中文文本包括包含新词的影视数据,或者包含新词的电子商品数据。例如,新上线的影视剧、新出道的艺人、新上架的商品或者新开张的店铺等。
本发明实施例提供的中文分词方法,将中文文本输入机器学习组件,获得中文文本的分词结果;其中,机器学习组件将无监督分词结果作为先验知识辅助分词。本发明实施例将无监督分词结果作为先验知识辅助机器学习组件分词,结合无监督分词和机器学习组件有监督分词的优势,利用无监督分词提升机器学习组件对于新词的分词效果,提高机器学习组件对于新词的识别能力。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述机器学习组件的训练方法,或中文分词方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述机器学习组件的训练方法,或中文分词方法的计算机程序。
综上所述,本发明实施例提供的中文分词系统,通过机器学习组件的训练装置200将有标记的句子转化为字向量,对无标记的句子进行无监督分词,获得无监督分词结果,将无监督分词结果转化为标签序列,将标签序列转化为标签向量,将标签向量和字向量输入机器学习组件进行训练,其次通过中文分词装置100将中文文本输入机器学习组件,获得中文文本的分词结果;其中,机器学习组件将无监督分词结果作为先验知识辅助分词。本发明实施例将无监督分词结果作为先验知识辅助机器学习组件分词,结合无监督分词和机器学习组件有监督分词的优势,利用无监督分词提升机器学习组件对于新词的分词效果,提高机器学习组件对于新词的识别能力。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (19)

1.一种机器学习组件的训练方法,其特征在于,包括:
将有标记的句子转化为字向量;
对无标记的句子进行无监督分词,获得无监督分词结果;
将无监督分词结果转化为标签序列,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置;
将标签序列转化为标签向量;
将标签向量和字向量输入机器学习组件进行训练;
将标签向量和字向量输入机器学习组件进行训练,包括:
采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练;
采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练,包括:
分别用标签向量和字向量训练机器学习组件,在训练过程中,对机器学习组件的参数按参数属性进行更新;
对机器学习组件的参数按参数属性进行更新,包括:
若参数属性为共享属性,则根据标签向量和字向量对参数进行更新;
若参数属性为非共享属性,则根据标签向量或字向量对参数进行更新。
2.如权利要求1所述的方法,其特征在于,将无监督分词结果转化为标签序列前,还包括:滤除无监督分词结果中的噪音数据。
3.如权利要求1所述的方法,其特征在于,标签表明字在分词中的位置,包括:标签表明字在词的开始、中间或结尾,或字为单字词。
4.如权利要求1所述的方法,其特征在于,采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练,包括:
根据字向量确定有标记的句子的分词结果;根据有标记的句子的分词结果确定字向量对应的损失函数;
根据标签向量确定无标记的句子的分词结果;根据无标记的句子的分词结果确定标签向量对应的损失函数;
根据字向量对应的损失函数和标签向量对应的损失函数确定机器学习组件的损失函数;
调整机器学习组件的参数,直至机器学习组件的损失函数不小于预设值。
5.如权利要求4所述的方法,其特征在于,根据字向量确定有标记的句子的分词结果,包括:
根据字向量确定与有标记的句子对应的每个候选分词结果中每个词的词向量;
根据每个候选分词结果中每个词的词向量,确定每个候选分词结果的候选得分;
将候选得分最高的候选分词结果作为有标记的句子的分词结果。
6.如权利要求4所述的方法,其特征在于,根据标签向量确定无标记的句子的分词结果,包括:
根据标签向量确定与无标记的句子对应的每个候选分词结果中每个词的词向量;
根据每个候选分词结果中每个词的词向量,确定每个候选分词结果的候选得分;
将候选得分最高的候选分词结果作为无标记的句子的分词结果。
7.如权利要求5或6所述的方法,其特征在于,根据每个候选分词结果中每个词的词向量,确定每个候选分词结果的候选得分,包括:
根据每个候选分词结果中每个词的词向量确定每个词的词得分;
根据每个候选分词结果中每个词的词向量确定每个词的合理性得分;
根据每个候选分词结果中每个词的词得分和合理性得分,确定每个候选分词结果的候选得分。
8.一种中文分词方法,其特征在于,包括:
将中文文本输入机器学习组件,获得中文文本的分词结果;
其中,所述机器学习组件将无监督分词结果作为先验知识辅助分词;
所述机器学习组件基于如下步骤进行训练:
将有标记的句子转化为字向量;
对无标记的句子进行无监督分词,获得无监督分词结果;
将无监督分词结果转化为标签序列,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置;
将标签序列转化为标签向量;
将标签向量和字向量输入机器学习组件进行训练;
将标签向量和字向量输入机器学习组件进行训练,包括:
采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练;
采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练,包括:
分别用标签向量和字向量训练机器学习组件,在训练过程中,对机器学习组件的参数按参数属性进行更新;
对机器学习组件的参数按参数属性进行更新,包括:
若参数属性为共享属性,则根据标签向量和字向量对参数进行更新;
若参数属性为非共享属性,则根据标签向量或字向量对参数进行更新。
9.如权利要求8所述的方法,其特征在于,将无监督分词结果转化为标签序列前,还包括:滤除无监督分词结果中的噪音数据。
10.如权利要求8所述的方法,其特征在于,标签表明字在分词中的位置,包括:标签表明字在词的开始、中间或结尾,或字为单字词。
11.如权利要求8所述的方法,其特征在于,采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练,包括:
根据字向量确定有标记的句子的分词结果;根据有标记的句子的分词结果确定字向量对应的损失函数;
根据标签向量确定无标记的句子的分词结果;根据无标记的句子的分词结果确定标签向量对应的损失函数;
根据字向量对应的损失函数和标签向量对应的损失函数确定机器学习组件的损失函数;
调整机器学习组件的参数,直至机器学习组件的损失函数不小于预设值。
12.如权利要求11所述的方法,其特征在于,根据字向量确定有标记的句子的分词结果,包括:
根据字向量确定与有标记的句子对应的每个候选分词结果中每个词的词向量;
根据每个候选分词结果中每个词的词向量,确定每个候选分词结果的候选得分;
将候选得分最高的候选分词结果作为有标记的句子的分词结果。
13.如权利要求11所述的方法,其特征在于,根据标签向量确定无标记的句子的分词结果,包括:
根据标签向量确定与无标记的句子对应的每个候选分词结果中每个词的词向量;
根据每个候选分词结果中每个词的词向量,确定每个候选分词结果的候选得分;
将候选得分最高的候选分词结果作为无标记的句子的分词结果。
14.如权利要求12或13所述的方法,其特征在于,根据每个候选分词结果中每个词的词向量,确定每个候选分词结果的候选得分,包括:
根据每个候选分词结果中每个词的词向量确定每个词的词得分;
根据每个候选分词结果中每个词的词向量确定每个词的合理性得分;
根据每个候选分词结果中每个词的词得分和合理性得分,确定每个候选分词结果的候选得分。
15.一种机器学习组件的训练装置,其特征在于,包括:
字向量获得模块,用于将有标记的句子转化为字向量;
无监督分词模块,用于对无标记的句子进行无监督分词,获得无监督分词结果;
标签序列获得模块,用于将无监督分词结果转化为标签序列,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置;
标签向量获得模块,用于将标签序列转化为标签向量;
组件训练模块,用于将标签向量和字向量输入机器学习组件进行训练;
组件训练模块包括多任务训练模块,所述多任务训练模块,用于采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练;
多任务训练模块,具体用于分别用标签向量和字向量训练机器学习组件,在训练过程中,对机器学习组件的参数按参数属性进行更新,若参数属性为共享属性,则根据标签向量和字向量对参数进行更新;若参数属性为非共享属性,则根据标签向量或字向量对参数进行更新。
16.一种中文分词装置,其特征在于,包括:
输入模块,用于将中文文本输入机器学习组件;
结果获得模块,用于获得中文文本的分词结果;
其中,所述机器学习组件将无监督分词结果作为先验知识辅助分词;
所述机器学习组件基于如下步骤进行训练:
将有标记的句子转化为字向量;
对无标记的句子进行无监督分词,获得无监督分词结果;
将无监督分词结果转化为标签序列,标签序列中每一标签对应句子中每一字,标签表明字在分词中的位置;
将标签序列转化为标签向量;
将标签向量和字向量输入机器学习组件进行训练;
将标签向量和字向量输入机器学习组件进行训练,包括:
采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练;
采用多任务学习方式,将标签向量和字向量输入机器学习组件进行训练,包括:
分别用标签向量和字向量训练机器学习组件,在训练过程中,对机器学习组件的参数按参数属性进行更新;
对机器学习组件的参数按参数属性进行更新,包括:
若参数属性为共享属性,则根据标签向量和字向量对参数进行更新;
若参数属性为非共享属性,则根据标签向量或字向量对参数进行更新。
17.一种中文分词系统,其特征在于,包括权利要求15所述的机器学习组件的训练装置,以及,权利要求16所述的中文分词装置。
18.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至14任一所述方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至14任一所述方法的计算机程序。
CN201811510092.2A 2018-12-11 2018-12-11 机器学习组件的训练方法及装置、中文分词方法及装置 Active CN111310459B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811510092.2A CN111310459B (zh) 2018-12-11 2018-12-11 机器学习组件的训练方法及装置、中文分词方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811510092.2A CN111310459B (zh) 2018-12-11 2018-12-11 机器学习组件的训练方法及装置、中文分词方法及装置

Publications (2)

Publication Number Publication Date
CN111310459A CN111310459A (zh) 2020-06-19
CN111310459B true CN111310459B (zh) 2023-04-25

Family

ID=71159606

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811510092.2A Active CN111310459B (zh) 2018-12-11 2018-12-11 机器学习组件的训练方法及装置、中文分词方法及装置

Country Status (1)

Country Link
CN (1) CN111310459B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423288A (zh) * 2017-07-05 2017-12-01 达而观信息科技(上海)有限公司 一种基于无监督学习的中文分词系统及方法
CN108959252A (zh) * 2018-06-28 2018-12-07 中国人民解放军国防科技大学 基于深度学习的半监督中文命名实体识别方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8909514B2 (en) * 2009-12-15 2014-12-09 Microsoft Corporation Unsupervised learning using global features, including for log-linear model word segmentation
US11205103B2 (en) * 2016-12-09 2021-12-21 The Research Foundation for the State University Semisupervised autoencoder for sentiment analysis

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423288A (zh) * 2017-07-05 2017-12-01 达而观信息科技(上海)有限公司 一种基于无监督学习的中文分词系统及方法
CN108959252A (zh) * 2018-06-28 2018-12-07 中国人民解放军国防科技大学 基于深度学习的半监督中文命名实体识别方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Herman Kamper 等.Unsupervised word segmentation and lexicon discovery using acoustic word embeddings.IEEE/ACM Transactions on Audio, Speech and Language Processing.2016,第24卷(第4期),全文. *
来斯惟 ; 徐立恒 ; 陈玉博 ; 刘康 ; 赵军 ; .基于表示学习的中文分词算法探索.中文信息学报.2013,(第05期),全文. *
汪文妃等.中文分词算法研究综述.成组技术与生产现代化..2018,第35卷(第3期),全文. *
沈翔翔 ; 李小勇 ; .使用无监督学习改进中文分词.小型微型计算机系统.2017,(第04期),全文. *

Also Published As

Publication number Publication date
CN111310459A (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
CN111444320B (zh) 文本检索方法、装置、计算机设备和存储介质
CN109902145B (zh) 一种基于注意力机制的实体关系联合抽取方法和系统
Xu et al. Convolutional neural network based triangular crf for joint intent detection and slot filling
CN109543181B (zh) 一种基于主动学习和深度学习相结合的命名实体模型和系统
CN107748757A (zh) 一种基于知识图谱的问答方法
CN111309915A (zh) 联合学习的自然语言训练方法、系统、设备及存储介质
CN111222318B (zh) 基于双通道双向lstm-crf网络的触发词识别方法
CN112966525B (zh) 一种基于预训练模型和卷积神经网络算法的法律领域事件抽取方法
CN111274829B (zh) 一种利用跨语言信息的序列标注方法
CN110263325A (zh) 中文分词系统
CN113392209A (zh) 一种基于人工智能的文本聚类方法、相关设备及存储介质
CN110599592A (zh) 一种基于文本的三维室内场景重建方法
CN113051914A (zh) 一种基于多特征动态画像的企业隐藏标签抽取方法及装置
CN111967267B (zh) 一种基于XLNet的新闻文本地域提取的方法及系统
CN112101029B (zh) 一种基于bert模型的高校导师推荐管理方法
CN113761893A (zh) 一种基于模式预训练的关系抽取方法
CN116245097A (zh) 训练实体识别模型的方法、实体识别方法及对应装置
CN113535897A (zh) 一种基于句法关系和意见词分布的细粒度情感分析方法
CN114564563A (zh) 一种基于关系分解的端到端实体关系联合抽取方法及系统
CN111145914A (zh) 一种确定肺癌临床病种库文本实体的方法及装置
CN113220865B (zh) 一种文本相似词汇检索方法、系统、介质及电子设备
JP2018041300A (ja) 機械学習用モデル生成装置及びプログラム。
CN113505583A (zh) 基于语义决策图神经网络的情感原因子句对提取方法
CN113076758A (zh) 一种面向任务型对话的多域请求式意图识别方法
CN114372454A (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