CN112784575A - 语句的处理方法及装置 - Google Patents
语句的处理方法及装置 Download PDFInfo
- Publication number
- CN112784575A CN112784575A CN201911005690.9A CN201911005690A CN112784575A CN 112784575 A CN112784575 A CN 112784575A CN 201911005690 A CN201911005690 A CN 201911005690A CN 112784575 A CN112784575 A CN 112784575A
- Authority
- CN
- China
- Prior art keywords
- vocabularies
- words
- target
- machine learning
- intermediate result
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- 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)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Machine Translation (AREA)
Abstract
本发明提供一种语句的处理方法及装置,其中,将待处理语句中的N个词汇输入机器学习模型之后,进一步确定丢弃机器学习模型在计算M个目标词汇的中间结果时每个目标词汇以第一顺序在N个词汇中的第m个位置之前的L个词汇对应的中间结果。由于机器学习模型中每个词汇的中间结果与该词汇之前的词汇的中间结果有关,则丢弃M个目标词汇的部分中间结果后,能够减少机器学习模型的计算量,提高机器学习模型对语句进行处理的速度和效率。进而能够在构建语言模型时,对机器学习模型通过对部分中间结果的丢弃进行模型的优化,进而提高构建语言模型时的效率。
Description
技术领域
本发明涉及机器学习技术领域,本发明尤其涉及一种语句的处理方法及装置。
背景技术
随着电子技术的不断发展,互联网上产生了海量的数据信息,人们对数据信息进行分析和处理的越来越多。而在这些海量的信息中需要及时地分析出人们关心的数据,就需要借助于机器学习的方式,提高对数据进行处理的效率。而在语音识别、语义分析以及语义纠错等应用场景中,都需要对语音数据中的语句进行分析与提取,以进一步对语句中的自然语言进行后续处理。例如,用于语音识别的电子设备在采集到用户所说出“今天天气怎么样”的语音数据后,需要确定该语音数据中的语句是否为连贯的句子。一些电子设备能够根据语言模型对语音数据中的语句进行处理,其中,语言模型能够根据“今天天气怎么样”中“今天”、“天气”以及“怎么样”每个词之间的关系,确定该语音数据是否为连贯的句子,若是则电子设备进行对该语音数据进行后续处理。
现有技术中,为了通常采用基于循环神经网络(Recurrent Neural Networks,简称:RNN)实现的双向循环神经网络(Bidirectional Recurrent Neural Networks,简称:Bi-RNN)构建语言模型以对语句进行分析。其中,Bi-RNN会先后将每一句话既进行正向训练又进行反向训练,由于Bi-RNN中每个节点对应一句话的一个词,而每个节点之间都是有连接的,同时进行正向和反向的训练能够更加全面地识别出一句话所表现的内容,具有较高的语言模型对语音数据的处理能力。
但是,现有技术中对语句进行处理时,由于Bi-RNN存在较多的节点,每个节点之间存在关联,计算一个节点时需要基于该节点前其他节点的计算结果,从而导致了构架语言模型时的计算量较大,影响对语句的处理效率。
发明内容
本申请提供一种语句的处理方法及装置,以减小构建语言模型时的计算量,并提高对语句的处理效率。
本申请第一方面提供一种语句的处理方法,包括:
获取待处理语句,并将所述待处理语句中包括的N个词汇以预设的第一顺序输入机器学习模型;其中,N≥2;
根据所述N个词汇的输入中间结果和所述N个词汇,通过机器学习模型计算所述N个词汇的输出结果和中间结果;其中,在所述机器学习模型在计算所述N个词汇中M个目标词汇的中间结果和输出结果时,对于M个目标词汇中的每个目标词汇,根据所述目标词汇在N个词汇中以所述第一顺序所在的第m个位置,丢弃每个所述目标词汇之前的L个词汇对应的中间结果,并将丢弃L个词汇对应的中间结果后的每个所述目标词汇之前的其他词汇对应的中间结果作为所述目标词汇的输入中间结果;M<N,0<L<m;
根据所述机器学习模型计算的所述N个词汇的输出结果,确定所述待处理语句对应的语言模型。
在本申请第一方面一实施例中,所述根据所述目标词汇在N个词汇中以第一顺序所在的第m个位置,丢弃所述目标词汇之前的L个词汇对应的中间结果,包括:
根据所述第一顺序,确定N个词汇中位于所述目标词汇之前的m-1个词汇;
根据所述位于所述目标词汇之前的m-1词汇的语义相关程度,丢弃位于所述目标词汇之前的L个词汇的中间结果。
在本申请第一方面一实施例中,所述根据所述目标词汇在N个词汇中以第一顺序所在的第m个位置,丢弃所述目标词汇之前的L个词汇对应的中间结果,包括:
遍历中间结果集合,并以所述中间结果结合中的第一中间结果集合确定丢弃所述目标词汇以所述第一顺序在N个词汇中所在的第m个位置之前的L个词汇对应的中间结果,其中,所述机器学习模型在计算所述N个词汇的输出结果时,按照所述第一中间结果集合丢弃所述目标词汇之前的L个词汇对应的中间结果后,所述机器学习模型的损失函数最小。
在本申请第一方面一实施例中,所述丢弃位于所述目标词汇之前的L个词汇的中间结果,得到所述目标词汇的输入中间结果,包括:
通过公式hl,t=Z·Fl(Xl,t,hl,t-1)确定丢弃位于所述目标词汇之前的L个词汇的中间结果;
其中,Z={0,1},Xl,t为所述目标词汇的中间结果,hl,t-1为所述目标词汇之前的第一词汇对应的中间结果。
在本申请第一方面一实施例中,所述根据机器学习模型计算的N个词汇的输出结果,确定所述待处理语句对应的语言模型,包括:
根据所述N个词汇的输出结果确定所述待处理语句对应的语言模型。
在本申请第一方面一实施例中,所述机器学习模型为双向循环神经网络RNN;
所述第一顺序包括:所述待处理语句中N个词汇的预设前后顺序,或者,所述待处理语句中N个词汇的预设前后顺序相反的顺序。
本申请第二方面提供一种语句的处理装置,包括:
获取模块,用于获取待处理语句,并将所述待处理语句中包括的N个词汇以预设的第一顺序输入机器学习模型;其中,N≥2;
计算模块,用于根据所述N个词汇的输入中间结果和所述N个词汇,通过机器学习模型计算所述N个词汇的输出结果和中间结果;其中,在所述机器学习模型在计算所述N个词汇中M个目标词汇的中间结果和输出结果时,对于M个目标词汇中的每个目标词汇,根据所述目标词汇在N个词汇中以第一顺序所在的第m个位置,丢弃所述目标词汇之前的L个词汇对应的中间结果,并将丢弃所述L个词汇对应的中间结果后每个所述目标词汇之前的其他词汇对应的中间结果作为所述目标词汇的输入中间结果;M<N,0<L<m;
处理模块,用于根据所述机器学习模型计算的N个词汇的输出结果,确定所述待处理语句对应的语言模型。
在本申请第二方面一实施例中,所述计算模块具体用于,根据所述第一顺序,确定N个词汇中位于所述目标词汇之前的m-1个词汇;根据所述位于所述目标词汇之前的m-1个词汇的语义相关程度,丢弃位于所述目标词汇之前的L个词汇的中间结果,得到所述目标词汇的输入中间结果。
在本申请第二方面一实施例中,所述计算模块具体用于,遍历中间结果集合,并以所述中间结果结合中的第一中间结果集合确定丢弃所述目标词汇以所述第一顺序在N个词汇中所在的第m个位置之前的L个词汇对应的中间结果,其中,所述机器学习模型在计算所述N个词汇的输出结果时,按照所述第一中间结果集合丢弃所述目标词汇之前的L个词汇对应的中间结果后,所述机器学习模型的损失函数最小。
在本申请第二方面一实施例中,所述计算模块具体用于,通过公式hl,t=Z·Fl(Xl,t,hl,t-1)确定丢弃位于所述目标词汇之前的L个词汇的中间结果;其中,Z={0,1},Xl,t为所述目标词汇的中间结果,hl,t-1为所述目标词汇之前的第一词汇对应的中间结果。
在本申请第二方面一实施例中,所述处理模块具体用于,根据公式确定机器学习模型的N个词汇的输出结果;其中,Xt为所述N个中间结果中第t个中间结果,t=0,1…N;根据所述N个词汇的输出结果确定所述待处理语句对应的语言模型。
在本申请第二方面一实施例中,在上述各实施例中,所述机器学习模型为双向循环神经网络RNN;所述第一顺序包括:所述待处理语句中N个词汇的预设前后顺序,或者,所述待处理语句中N个词汇的预设前后顺序相反的顺序。
本申请第三方面提供一种电子设备,包括:处理器,存储器以及计算机程序;其中,所述计算机程序被存储在所述存储器中,并且被配置为由所述处理器执行,所述计算机程序包括用于执行如本发明第一方面所述的方法的指令。
本申请第四方面提供一种存储介质,所述存储介质存储有计算机程序,当所述计算机程序在计算机上运行时,使得计算机执行如本发明第一方面所述的方法。
综上,本申请提供一种语句的处理方法及装置,其中方法包括:获取待处理语句,并将待处理语句中包括的N个词汇以预设的第一顺序输入机器学习模型;根据N个词汇的输入中间结果和N个词汇,通过机器学习模型计算N个词汇的输出结果和中间结果;其中,在机器学习模型在计算N个词汇中M个目标词汇的中间结果和输出结果时,对于M个目标词汇中的每个目标词汇,根据所述目标词汇在N个词汇中以所述第一顺序所在的第m个位置,丢弃每个目标词汇之前的L个词汇对应的中间结果,并将丢弃L个词汇对应的中间结果后的所述目标词汇之前的其他词汇对应的中间结果作为目标词汇的输入中间结果;根据机器学习模型计算的N个词汇的输出结果,确定待处理语句对应的语言模型。因此,在本申请提供的语句的处理方法及装置中,将待处理语句中的N个词汇输入机器学习模型之后,进一步确定丢弃机器学习模型在计算至少一个目标词汇的中间结果时,部分在目标词汇之前的词汇的中间结果。由于机器学习模型中每个词汇的中间结果与该词汇之前的词汇的中间结果有关,则丢弃部分中间结果后,能够减少机器学习模型的计算量,提高机器学习模型对语句进行处理的速度和效率。进而能够在构建语言模型时,对机器学习模型通过对部分中间结果的丢弃进行模型的优化,进而提高构建语言模型时的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中语句的处理方法的示意图;
图2为本申请提供的语句处理方法一实施例的流程示意图;
图3为本申请提供的语句处理方法中机器学习模型的结构示意图;
图4为本申请提供的语句处理方法中机器学习模型的结构示意图;
图5为本申请提供的语句处理方法所得到的机器学习模型的应用示意图;
图6为本申请提供的语句处理装置一实施例的结构示意图;
图7为本发明提供的电子设备一实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在对本发明的技术方案进行说明前,先结合图1对本发明提供的语句的处理方法及装置所应用的场景,以及现有技术中存在的问题进行说明。
其中,图1为现有技术中语句的处理方法的示意图,如图1所示的应用场景示出了基于循环神经网络(Recurrent Neural Networks,简称:RNN)构建语言模型从而对语句进行处理的示意图,其中,在根据待处理的语句训练得到语言模型时,可以将语言数据中的每个词依次送入RNN中,由RNN计算出每个词对应的层的特征后输出,并最终根据RNN的输出进一步得到可以描述语言数据概率的语言模型。
例如,在如图1所示的示例中,示出了RNN的结构。其中,假设待输入RNN进行训练的语句为“我想吃饭”的一句话,该语句中包括:“我”、“想”、“吃”和“饭”四个词汇。则将该语句的四个词依次记为x1、x2、x3和x4后送入RNN进行计算。
更为具体地,RNN中对于每个词汇进行计算时,可以将一个词汇所得到的结果记为一个中间层,则图1所示的示例中能够得到X1、X2、X3和X4共四个中间层,每个层除了可以计算得到该层的输出结果y1、y2、y3和y4,还可以得到一个中间结果h1、h2、h3和h4并参与下一层的运算,使得每个层所计算出的结果都可以参与后续层的运算,使得不同位置之间的特征能够共享。
在一种的具体实现方式中,RNN中的每个层可以通过如下公式表示:
Xl,t=[xt,h1,t,…,hl-1,t]
其中,该公式用于表示,RNN中每个中间层X,由该层对应的输入x,以及其他层对应的中间结果h共同计算得到。例如,在如图1所示的示例中,中间层X4通过其输入x4、X3的输出h3、X2的输出h2和X1的输出h1共同得到。
随后,当经过如图1所示的RNN计算之后,进一步根据RNN的计算结果,计算出描述上述“我想吃饭”的语句的语言模型。其中,所述语言模型的目的是描述句子的生成概率,因此,可以通过如下公式得到语言数据的概率,以完成对语句的处理:
其中,P(Xt|X1,…,Xt-1)由如图1所示的RNN的输出得到。由于如图1所示的RNN所输出的结果是各个中间层综合得到,每一个中间层都利用了在先中间层的中间结果。
综上,在如图1所示的实施例中,通过RNN构建出语句的语言模型时,将语句中的每个词汇依次输入的RNN,而RNN在计算语句中每个的词汇对应的中间层时,都需要依赖于在先的词对应的中间层的计算结果。虽然能够实现较为完整的计算每个词汇的中间层计算结果,但是其计算量较大,尤其是当待计算的语句中存在较多词时,最后一个词汇的结果需要依赖于在前所有词汇的结果,从而会影响整个RNN的计算速度,进而影响对语句进行处理效率。
因此,本申请基于上述现有技术的不足,提出一种语句的处理方法,以减小语言模型中RNN的计算量,从而提高对语句的处理效率。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本申请提供的语句处理方法一实施例的流程示意图,如图2所示,本实施例提供的语句处理方法包括:
S101:获取待处理语句,并将所述待处理语句中包括的N个词汇以预设的第一顺序输入机器学习模型中,N为大于等于2的正整数。
具体地,本实施例的执行主体可以是具有相关数据处理能力的电子设备,例如:手机、平板电脑、台式电脑或者服务器等。或者,本实施例的执行主体还可以是电子设备中的芯片,例如CPU或者GPU等。本申请各实施例中以执行主体为电子设备作为示例性说明,而非对其进行的限定。
则在本实施例中,电子设备为了对待处理语句进行处理,首先在S101中获取待处理的语句,并将待处理语句按照预设的第一顺序送入电子设备中内置的机器学习模型进行处理。其中,所述待处理的语句包括N个词汇。例如,语句“你好”,包括“你”和“好”两个词汇,语句“我要吃饭”包括:“我”,“要”,“吃”和“饭”四个词汇。
可选地,所述机器学习模型可以是循环神经网络(Recurrent Neural Networks,简称:RNN),则所述第一顺序为待处理语句中N个词汇的预设前后顺序,例如,语句“我要吃饭”的预设前后顺序为:“我”,“要”,“吃”和“饭”。则电子设备在S101中获取待处理语句“我要吃饭”后,将该语句中的四个词汇按照预设前后顺序为:“我”,“要”,“吃”和“饭”依次送入机器学习模型中。
或者,可选地,所述机器学习模型还可以是双向循环神经网络,又可被称为双向RNN、双向长短期记忆模型(Long Short-Term Memory,简称:LSTM)等,则第一顺序包括:待处理语句中N个词汇的预设前后顺序,以及相反的预设前后顺序。例如,电子设备在S101中获取待处理语句“我要吃饭”后,除了要将该语句中的四个词汇按照预设前后顺序为:“我”,“要”,“吃”和“饭”依次送入机器学习模型中,还需要将该语句中的四个词汇按照相反的预设前后顺序,“饭”,“吃”,“要”和“我”依次送入机器学习模型中。
S102:根据S101中获取的待处理语句的N个词汇的输入结果和N个词汇,通过机器学习模型计算N个词汇的输出结果和中间结果。特别地,本实施例中机器学习模型在计算N个词汇时,还需确定N个词汇中包括的M个目标词汇,M小于N。其中,对于每个目标词汇,在机器学习模型计算该词汇的输出结果时,根据该目标词汇在N个词汇中以第一顺序所在的第m个位置,丢弃每个目标词汇之前的L个词汇对应的中间结果(每个目标词汇丢弃的L个词汇的数量大于0且小于该目标词汇之前所有词汇数量m,M个模板词汇中每个目标词汇对应的L的具体数量不同),并且,对于丢弃L个词汇对应的中间结果后的目标词汇,将该目标词汇之前其他词汇对应的中间结果作为该目标词汇的中间输入结果。
更为具体地,电子设备需要在机器学习模型在计算N个词汇中每个词汇的中间结果时,丢弃部分目标词汇的中间结果,而每个中间词汇均具有一个中间结果,以减少机器学习模型的计算量,从而提高机器学习模型的计算速度。下面结合附图,对本实施例提供的中间结果的丢弃方法进行说明,图3为本申请提供的语句处理方法中机器学习模型的结构示意图。
其中,在如图3所示的示例中,以机器学习模型为RNN进行示例性说明。RNN在对依次输入的N个词汇进行计算时,会得到每个词汇对应的中间结果记为X。则该待处理语句的四个词依次记为“我”,“要”,“吃”和“饭”x1、x2、x3和x4后送入RNN进行计算。而RNN中对于每个词汇进行计算时,会为根据每一个词汇设置一个中间层,并通过该中间层得到一个中间结果,例如,RNN计算四个词“我”,“要”,“吃”和“饭”一一对应的中间层记为X1、X2、X3和X4共四个中间层,每个中间层除了得到对应的输出结果y1、y2、y3和y4,还可以得到一个中间结果记为h1、h2、h3和h4并参与下一层的运算,使得每个层所计算出的结果都可以参与后续层的运算,使得不同位置之间的特征能够共享。
参考如图3所示的RNN的示意图,RNN中的每个层可以通过如下公式表示:Xl,t=[xt,h1,t,…,hl-1,t]其中,该公式用于表示,RNN中每个词汇的中间结果,与位于该词汇以第一顺序排列之前的所有词汇对应的中间结果有关,即,每个词汇的中间层X,由该层对应的输入x,以及其他层对应的中间层输出h共同计算得到。示例性地,对于词汇X3,机器学习模型在计算中间层X3的中间结果h3以及输出结果y3时,需要依赖于词汇x3本身以及词汇x3的输入中间结果,而词汇x3的输入中间结果包括:词汇x3之前的词汇x2对应的中间层X2的中间结果h2,以及x3之前的词汇x1对应的中间层X1的中间结果h1。并且词汇x3对应的中间层X3的中间结果h3也会作为该词汇x3之后的词汇x4的一个输入中间结果。
则在本实施例S102中,确定RNN中的一些词汇的中间层在计算中间结果时,丢弃部分其他相关性较小的词汇的中间结果,以提高计算效率,将该些可以丢弃中间结果的词汇记为目标词汇。
在一种具体的实现方式中,本实施例丢弃中间结果的标准为确定待处理语句的N个词汇中,在机器学习模型计算目标词汇的中间结果时,根据第一顺序,确定目标词汇之前的所有词汇,并根据该目标词汇之前词汇与该目标词汇的语义相关程度,丢弃位于目标词汇之前的所有词汇中部分语义相关程度较低的词汇的中间结果,以通过未被丢弃的中间结果得到目标词汇的中间层输入的中间结果。
例如,在如图3所示的示例中,机器学习在计算x1、x2、x3和x4四个词汇的输出结果和中间结果时,可以将词汇x4,即词汇“饭”记为目标词汇,则目标词汇“饭”对应的中间层X4在计算“饭”对应的中间结果时,由于词汇“饭”与“吃”之间的语义相关程度更高,中间层X4在计算词汇“饭”对应的中间结果时,可以将与“饭”语义相关程度较低的“我”和“要”对应的中间结果删除。则将需要删除中间结果的词汇“饭”记为目标词汇,即图中以虚线示出的,词汇“我”对应的中间层X1指向词汇“饭”对应的中间层X4的连接线,以及词汇“要”对应的中间层X2指向词汇“饭”对应的中间层X4的连接线删除。
具体地,对于目标词汇x4,以顺序x1、x2、x3和x4的顺序排列的四个词汇中,其位于第4个,该目标词汇x4之前的词汇包括x1、x2和x3。则RNN在计算目标词汇“饭”对应的中间层X4的中间结果时,可以丢弃目标词汇x4之前的部分词汇例如x1和x2词汇对应的中间结果,因此就不会再将中间层X2的输出结果h2和中间层X1的输出结果h1作为中间层X4的输入中间结果,而是只将词汇x3对应的中间层X3的输出结果h3作为中间层X4的输入中间结果,并结合目标词汇x4来计算该中间层X4的输出结果和中间结果。即,在本示例中,目标词汇x4之前的词汇x1、x2和x3对应的h1、h2和h3共三个输入中间结果中,x1和x2对应的h1和h2作为部分中间结果被丢弃,而被丢弃部分之外的中间结果为x3对应的h3,此时,词汇x4对应的中间层使用h3以及目标词汇x4“饭”共同计算得到目标词汇的输入结果y4和中间结果h4。
可选地,本申请对上述词汇之间的语义相关程度的具体衡量方式不作限定,例如可以分为相关和不相关,则通过语义识别的方式确定语义后,根据不同词汇之间语义之间是否存在前后顺序确定是否相关。或者,上述不同词汇之间的语义相关程度还可以提前确定,并以映射关系的方式进行存储,从而根据映射关系确定“我”和“要”之间较为相关,而“我”和“饭”之间不相关。
而进一步地,在如图3所示的示例中,还可以通过机器学习模型的损失函数最小化原则,确定需要丢弃的所有目标词汇对应的中间结果,以得到最优的结果。其中,根据观察,当对语义相关程度的中间结果进行丢弃之后,机器学习模型的损失函数能够达到最小。
例如,当机器学习模型为RNN时,RNN的损失函数L可以表示为,
其中,N为RNN中的样本数,即本实施例中待处理语句中的词汇数量N;x为每个词汇;y为算法预测出的结果,又可被称为标签或者目标等;W为RNN的权重矩阵,矩阵中的参数可以进行调整。
需要说明的是,由于RNN的损失函数还包括其他可能的变化形式,本申请对上述RNN的损失函数的表示方式不做限定,而只需在如图3所示的示例中丢弃部分中间结果后,使得RNN的损失函数L最小即可。其中,可以对确定需要丢弃的目标词汇的中间结果进行添加、删除以及修改。例如,若确定将词汇x3对应的中间层X3计算中间结果时,丢弃位于该词汇之前的词汇x2对应的中间结果h2时,机器学习模型的损失函数能够最小,则确定在计算X3的中间结果时丢弃中间结果h2。
其中,可以通过遍历尝试计算的方式,最终确定一种最优的丢弃方式,使得机器学习模型的损失函数最小。例如,机器学习模型在计算如图1所示的语句时,可以先依次确定其中需要丢弃的不同中间结果集合,例如中间结果集合1为(x4对应的中间结果h3、x3对应的中间结果h2),中间结果集合2为(x4对应的中间结果h1和h2),中间结果集合3为(x4对应的中间结果h1和h3)……。随后,依次计算机器学习模型通过遍历计算的方式,以上述多个中间结果集合丢弃对应的中间结果后,分别机器学习模型的损失函数,并确定所有中间结果集合中能够使得损失函数最小的中间结果集合。例如,若确定机器学习模型在计算图1中四个词汇的输出结果时,按照中间结果集合2丢弃x4对应的中间结果h1和h2后,机器学习模型的损失函数比其他中间结果集合得到的损失函数都小,则将中间结果集合2记为第一中间结果集合,并确定按照第一中间结果集合丢弃其中M个目标词汇之前的L个词汇对应的中间结果,即丢弃目标词汇x4之前的词汇x1和词汇x2对应的中间结果h1和h2。
可选地,在本实施例S102的一种具体实现方式中,可以通过公式hl,t=Z·Fl(Xl,t,hl,t-1)确定是否丢弃目标词汇以第一顺序排列之前的L个词汇的中间结果hl,t;其中,Z={0,1},Xl,t为目标词汇的中间结果,hl,t-1为目标词汇以第一顺序排序之前的L个词汇中每个对应的中间结果。例如,在上述如图3所示的实施例中,当RNN在计算目标词汇“饭”对应的中间层X4的中间结果时,对于确定丢弃的中间层X2的输出结果h2前的Z=0,以及确定丢弃的中间层X1的输出结果h1前的Z=0,而未确定丢弃的中间层X3的输出结果h3前的Z=1。同时,本实施例对于中间层X4的具体计算方式不做限定,强调在X4中间层计算时,对需要丢弃的中间结果前通过乘0的方式实现丢弃。
进一步地,为了确定RNN的损失函数的最小值,本实施例提供一种具体的实现方式,其中,通过RNN损失函数中加入正则化函数的方式,对RNN损失函数进行约束,从而到RNN损失函数是否能够达到最小值。
其中,通过在所RNN的损失函数增加如下正则化范式L+λ0·R,使得RNN确定在丢弃位于目标词汇之前的部分词汇对应的中间结果后,若上述正则化范式最小,则说明RNN的损失函数最小;其中,L为正则化范式,λ0为正则化参数,R为损失函数中的正则化函数。特别地,在上述正则化范式中,本实施例中还可以使用R=δ(Z>λ1)+|Z|的L1正则化范式,使得Z可导,从而能够用于计算RNN损失函数。其中,δ为RNN损失函数的权重;当Z大于λ1时,公式中(Z>λ1)的计算结果为1;否则,当Z小于或等于λ1时,(Z>λ1)的计算结果为0;|Z|用于表示Z的第一范式。需要说明的是,本申请对正则化范式本身的实现方式不做限定,可参照现有技术中对于正则化范式的定义。
随后,在确定丢弃部分中间结果后,机器学习模型使用未被丢弃的中间结果,计算N个词汇一一对应的N个中间结果。下面结合附图,对本实施例提供的丢弃中间结果后机器学习模型对待处理语句中N个词汇的处理方法进行说明,图4为本申请提供的语句处理方法中机器学习模型的结构示意图。如图4所示的机器学习模型为RNN,并经过如图3所示的处理后,确定在计算中间层X4的中间结果h4时时丢弃中间层X2的中间结果h2和中间层X1的中间结果h1。因此,在如图4所示的示例中,RNN通过在中间层X1通过词汇x1计算中间结果h1和输出结果y1;在中间层X2通过词汇x2和X1的中间结果h1共同计算中间结果h2和输出结果y2;在中间层X3通过词汇x3、X1的中间结果h1和X2的中间结果h2共同计算中间结果h3和输出结果y3;而在中间层X3通过词汇x4和X3的中间结果h3共同计算中间结果h4和输出结果y4。
S103:根据S102机器学习模型计算的N个词汇对应的N个输出结果,确定待处理语句对应的语言模型。
最终,S103中,电子设备根据S102中所得到的如图4所示的RNN计算出的各中间层结果X1、X2、X3和X4,后通过公式
得到机器学习模型计算的N个词汇的输出结果;并根据N个词汇的输出结果即N个词汇的语言数据的概率,得到语言模型,以完成对语句的处理。
可选地,在本实施例所述的S102之后,还可以根据已经训练完毕的RNN的各中间层输出结果,进行其他运算,而不限定于只进行语句概率的计算。
示例性地,对于经过如图3所示的实施例中所得到的语言模型,可用于自然语言处理(Natural Language Processing,简称:NLP)领域,用于后续对语句进行分词、词性标注等处理。例如,图5为本申请提供的语句处理方法所得到的机器学习模型的应用示意图,在图5所示的示例中,用于对语句“北京市北京大学餐饮”进行词性标注,则在语句依次正向和反向输入双向RNN语言模型之后,语言模型能够根据语言模型,基于条件随机场(conditional random field,简称:CRF)统计方式,对语句进行分词和词性标注处理,得到分词后的“北京市”、“北京大学”和“餐饮”三个词,并对三个词进行词性标注为城市、大学和分类。
综上,在本实施例提供的语句的处理方法中,将待处理语句中的N个词汇输入机器学习模型之后,进一步确定丢弃机器学习模型在计算N个词汇中M个目标词汇的中间结果时,部分每个目标词汇之前的L个词汇的中间结果。由于机器学习模型中每个词汇的中间结果与该词汇之前的词汇的中间结果有关,则丢弃部分目标词汇之前的中间结果后,从图4和图1的对比可以看出,在X4中间层计算中间结果h4时,不用依赖于X1对应的中间结果h1和X2对应的中间结果h2,从而减少了RNN的计算量,能提高RNN对语句进行处理的速度和效率。而进一步应用与例如应用于建立语言模型时,能够在构建语言模型时,对RNN进行中间结果丢弃的优化,进而提高构建语言模型时的效率。
上述本申请提供的实施例中,从方法的角度对本申请实施例进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,可以通过包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的电子设备的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
例如,图6为本申请提供的语句处理装置一实施例的结构示意图,如图6所示的装置可用于执行如图2所示的方法,该装置包括:获取模块601,计算模块602和处理模块603。其中,获取模块601用于获取待处理语句,并将所述待处理语句中包括的N个词汇以预设的第一顺序输入机器学习模型;其中,N≥2;计算模块602用于根据所述N个词汇的输入中间结果和所述N个词汇,通过机器学习模型计算所述N个词汇的输出结果和中间结果;其中,在所述机器学习模型在计算所述N个词汇中至少一个目标词汇的中间结果和输出结果时,对于M个目标词汇中的每个目标词汇,根据所述目标词汇在N个词汇中以第一顺序所在的第m个位置,丢弃每个所述目标词汇之前的L个词汇对应的中间结果,并将丢弃所述部分词汇对应的中间结果后每个所述目标词汇之前的其他词汇对应的中间结果作为所述目标词汇的输入中间结果;M<N,0<L<m;处理模块603用于根据机器学习模型计算的所述N个词汇的输出结果,确定所述待处理语句对应的语言模型。
可选地,计算模块602具体用于,根据所述第一顺序,确定N个词汇中位于所述目标词汇之前的m-1个词汇;根据所述位于所述目标词汇之前的m-1个词汇的语义相关程度,丢弃位于所述目标词汇之前的L个词汇的中间结果。
可选地,计算模块602具体用于,遍历中间结果集合,并以所述中间结果结合中的第一中间结果集合确定丢弃所述目标词汇以所述第一顺序在N个词汇中所在的第m个位置之前的L个词汇对应的中间结果,其中,所述机器学习模型在计算所述N个词汇的输出结果时,按照所述第一中间结果集合丢弃所述至少一个目标词汇之前的L个词汇对应的中间结果后,所述机器学习模型的损失函数最小;按照所述第一中间结果集合丢弃位于所述至少一个目标词汇之前部分词汇对应的中间结果。
可选地,计算模块602具体用于,通过公式hl,t=Z·Fl(Xl,t,hl,t-1)确定丢弃位于所述目标词汇之前的L个词汇的中间结果;其中,Z={0,1},Xl,t为所述目标词汇的中间结果,hl,t-1为所述目标词汇之前的第一词汇对应的中间结果。
可选地,处理模块603具体用于,根据公式确定机器学习模型的N个词汇的输出结果;其中,Xt为所述N个中间结果中第t个中间结果,t=0,1…N;根据所述N个词汇的输出结果确定所述待处理语句对应的语言模型。
可选地,在上述各实施例中,所述机器学习模型为双向循环神经网络RNN;所述第一顺序包括:所述待处理语句中N个词汇的预设前后顺序,或者,所述待处理语句中N个词汇的预设前后顺序相反的顺序。
本实施例中提供的语句处理装置可用于执行如图2中所述的方法,其实现方式与原理相同,可参照前述方法的描述,不再赘述。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
图7为本发明提供的电子设备一实施例的结构示意图;如图7示出了一种电子设备的结构示意图,该电子设备可以用于执行本申请前述实施例中任一项所述方法。如图7所示,本实施例提供的电子设备1000包括:收发器1010,存储器1030和处理器1020。其中,存储器1030可以是独立的物理单元,与处理器1020可以通过总线1040连接。存储器1030、处理器1020也可以集成在一起,通过硬件实现等。存储器1030用于存储实现以上方法实施例的计算机程序,其中,所述计算机程序被存储在所述存储器1030中,并且被配置为由所述处理器1020执行,所述计算机程序包括用于执行如前述实施例中任一项所述的方法的指令。
可选地,当上述实施例的方法中的部分或全部通过软件实现时,上述电子设备1000也可以只包括处理器。用于存储程序的存储器位于电子设备1000之外,处理器通过电路/电线与存储器连接,用于读取并执行存储器中存储的计算机程序。处理器1020可以是中央处理器(Central Processing Unit,CPU),网络处理器(Network Processor,NP)或者CPU和NP的组合。处理器1020还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(Application-Specific Integrated Circuit,ASIC),可编程逻辑器件(ProgrammableLogic Device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD),现场可编程逻辑门阵列(Field-Programmable GateArray,FPGA),通用阵列逻辑(Generic Array Logic,GAL)或其任意组合。存储器1030可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random-Access Memory,RAM);存储器也可以包括非易失性存储器(Non-volatile Memory),例如快闪存储器(FlashMemory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-state Drive,SSD);存储器还可以包括上述种类的存储器的组合。
另外,本发明还提供一种存储介质,所述存储介质存储有计算机程序,当所述计算机程序在计算机上运行时,使所述计算机执行如本发明以上任一项所述的。
另外,本发明还提供一种程序产品,例如,计算机可读存储介质,包括:计算机程序,计算机程序在被执行时用于执行本发明以上任一项所述方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种语句的处理方法,其特征在于,包括:
获取待处理语句,并将所述待处理语句中包括的N个词汇以预设的第一顺序输入机器学习模型;其中,N≥2;
根据所述N个词汇的输入中间结果和所述N个词汇,通过机器学习模型计算所述N个词汇的输出结果和中间结果;其中,在所述机器学习模型在计算所述N个词汇中M个目标词汇的中间结果和输出结果时,对于M个目标词汇中的每个目标词汇,根据所述目标词汇在N个词汇中以所述第一顺序所在的第m个位置,丢弃所述目标词汇之前的L个词汇对应的中间结果,并将丢弃L个词汇对应的中间结果后的所述目标词汇之前的其他词汇对应的中间结果作为所述目标词汇的输入中间结果;M<N,0<L<m;
根据所述机器学习模型计算的所述N个词汇的输出结果,确定所述待处理语句对应的语言模型。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标词汇在N个词汇中以所述第一顺序所在的第m个位置,丢弃所述目标词汇之前的L个词汇对应的中间结果,包括:
根据所述第一顺序,确定N个词汇中位于所述目标词汇之前的m-1个词汇;
根据所述位于所述目标词汇之前的m-1个词汇的语义相关程度,丢弃位于所述目标词汇之前的L个词汇的中间结果。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标词汇在N个词汇中以所述第一顺序所在的第m个位置,丢弃所述目标词汇之前的L个词汇对应的中间结果,包括:
遍历中间结果集合,并以所述中间结果结合中的第一中间结果集合确定丢弃所述目标词汇以所述第一顺序在N个词汇中所在的第m个位置之前的L个词汇对应的中间结果,其中,所述机器学习模型在计算所述N个词汇的输出结果时,按照所述第一中间结果集合丢弃所述目标词汇之前的L个词汇对应的中间结果后,所述机器学习模型的损失函数最小。
4.根据权利要求3所述的方法,其特征在于,所述丢弃位于所述目标词汇之前的L个词汇的中间结果,得到所述目标词汇的输入中间结果,包括:
通过公式hl,t=Z·Fl(Xl,t,hl,t-1)确定丢弃位于所述目标词汇之前的L个词汇的中间结果;
其中,Z={0,1},Xl,t为所述目标词汇的中间结果,hl,t-1为所述目标词汇之前的第一词汇对应的中间结果。
6.根据权利要求1所述的方法,其特征在于,
所述机器学习模型为双向循环神经网络RNN;
所述第一顺序包括:所述待处理语句中N个词汇的预设前后顺序,或者,所述待处理语句中N个词汇的预设前后顺序相反的顺序。
7.一种语句的处理装置,其特征在于,包括:
获取模块,用于获取待处理语句,并将所述待处理语句中包括的N个词汇以预设的第一顺序输入机器学习模型;其中,N≥2;
计算模块,用于根据所述N个词汇的输入中间结果和所述N个词汇,通过机器学习模型计算所述N个词汇的输出结果和中间结果;其中,在所述机器学习模型在计算所述N个词汇中M个目标词汇的中间结果和输出结果时,对于M个目标词汇中的每个目标词汇,根据所述目标词汇在N个词汇中以第一顺序所在的第m个位置,丢弃所述目标词汇之前的L个词汇对应的中间结果,并将丢弃所述L个词汇对应的中间结果后每个所述目标词汇之前的其他词汇对应的中间结果作为所述目标词汇的输入中间结果;M<N,0<L<m;
处理模块,用于根据所述机器模型计算的所述N个词汇的输出结果,确定所述待处理语句对应的语言模型。
8.根据权利要求7所述的装置,其特征在于,所述计算模块具体用于,
根据所述第一顺序,确定N个词汇中位于所述目标词汇之前的所有m-1个词汇;
根据所述位于所述目标词汇之前的m-1个词汇的语义相关程度,丢弃位于所述目标词汇之前的L个词汇的中间结果。
9.一种电子设备,其特征在于,包括:处理器,存储器以及计算机程序;其中,所述计算机程序被存储在所述存储器中,并且被配置为由所述处理器执行,所述计算机程序包括用于执行如权利要求1-6中任一项所述的方法的指令。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,当所述计算机程序在计算机上运行时,使所述计算机执行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911005690.9A CN112784575B (zh) | 2019-10-22 | 2019-10-22 | 语句的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911005690.9A CN112784575B (zh) | 2019-10-22 | 2019-10-22 | 语句的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112784575A true CN112784575A (zh) | 2021-05-11 |
CN112784575B CN112784575B (zh) | 2023-06-30 |
Family
ID=75747595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911005690.9A Active CN112784575B (zh) | 2019-10-22 | 2019-10-22 | 语句的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112784575B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08339365A (ja) * | 1995-06-12 | 1996-12-24 | Toshiba Corp | 文書作成装置及び文書作成方法 |
WO2016199160A2 (en) * | 2015-06-12 | 2016-12-15 | Satyanarayana Krishnamurthy | Language processing and knowledge building system |
US20190122145A1 (en) * | 2017-10-23 | 2019-04-25 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method, apparatus and device for extracting information |
CN110083829A (zh) * | 2019-04-03 | 2019-08-02 | 平安科技(深圳)有限公司 | 情感极性分析方法及相关装置 |
CN110245349A (zh) * | 2019-05-21 | 2019-09-17 | 武汉数博科技有限责任公司 | 一种句法依存分析方法、装置及一种电子设备 |
-
2019
- 2019-10-22 CN CN201911005690.9A patent/CN112784575B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08339365A (ja) * | 1995-06-12 | 1996-12-24 | Toshiba Corp | 文書作成装置及び文書作成方法 |
WO2016199160A2 (en) * | 2015-06-12 | 2016-12-15 | Satyanarayana Krishnamurthy | Language processing and knowledge building system |
US20190122145A1 (en) * | 2017-10-23 | 2019-04-25 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method, apparatus and device for extracting information |
CN110083829A (zh) * | 2019-04-03 | 2019-08-02 | 平安科技(深圳)有限公司 | 情感极性分析方法及相关装置 |
CN110245349A (zh) * | 2019-05-21 | 2019-09-17 | 武汉数博科技有限责任公司 | 一种句法依存分析方法、装置及一种电子设备 |
Non-Patent Citations (2)
Title |
---|
PALANGI H, ET AL.: "Deep Sentence Embedding Using the Long Short Term Memory Network:Analysis and Application to Information Retrieval", IEEE/ACM TRANSACTIONS ON AUDIO,SPEECH,AND LANGUAGE PROCESSING, vol. 24, no. 4 * |
袁书寒;向阳;: "词汇语义表示研究综述", 中文信息学报, vol. 30, no. 05 * |
Also Published As
Publication number | Publication date |
---|---|
CN112784575B (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220147848A1 (en) | Human-Computer Dialogue Method and Apparatus | |
JP6955580B2 (ja) | 文書要約自動抽出方法、装置、コンピュータ機器及び記憶媒体 | |
WO2020140403A1 (zh) | 文本分类方法、装置、计算机设备及存储介质 | |
WO2021057884A1 (zh) | 语句复述方法、训练语句复述模型的方法及其装置 | |
CN106897268B (zh) | 文本语义理解方法、装置和系统 | |
CN109299237B (zh) | 基于行动者评论家强化学习算法的循环网络人机对话方法 | |
JP2019528502A (ja) | パターン認識に適用可能なモデルを最適化するための方法および装置ならびに端末デバイス | |
CN112487182A (zh) | 文本处理模型的训练方法、文本处理方法及装置 | |
CN107992486A (zh) | 一种信息处理方法及相关产品 | |
CN110765269B (zh) | 基于动态词向量和层级神经网络的文档级情感分类方法 | |
CN108419094A (zh) | 视频处理方法、视频检索方法、装置、介质及服务器 | |
US11010664B2 (en) | Augmenting neural networks with hierarchical external memory | |
CN109766557A (zh) | 一种情感分析方法、装置、存储介质及终端设备 | |
WO2020151175A1 (zh) | 文本生成方法、装置、计算机设备及存储介质 | |
CN115455171B (zh) | 文本视频的互检索以及模型训练方法、装置、设备及介质 | |
JP6743942B2 (ja) | 語彙テーブルの選択方法、装置およびコンピュータ読み取り可能な記憶媒体 | |
CN113158687A (zh) | 语义的消歧方法及装置、存储介质、电子装置 | |
CN116306612A (zh) | 一种词句生成方法及相关设备 | |
CN111160049A (zh) | 文本翻译方法、装置、机器翻译系统和存储介质 | |
CN114037772A (zh) | 一种图像生成器的训练方法、图像生成方法及装置 | |
CN113535912A (zh) | 基于图卷积网络和注意力机制的文本关联方法及相关设备 | |
CN116028613B (zh) | 常识问答方法、系统、计算机设备和存储介质 | |
JP2019082860A (ja) | 生成プログラム、生成方法及び生成装置 | |
CN112784575B (zh) | 语句的处理方法及装置 | |
CN112528621B (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 |