CN111460806A - 基于损失函数的意图识别方法、装置、设备及存储介质 - Google Patents
基于损失函数的意图识别方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111460806A CN111460806A CN202010156696.2A CN202010156696A CN111460806A CN 111460806 A CN111460806 A CN 111460806A CN 202010156696 A CN202010156696 A CN 202010156696A CN 111460806 A CN111460806 A CN 111460806A
- Authority
- CN
- China
- Prior art keywords
- intention
- potential
- loss
- text
- word segmentation
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及人工智能领域,公开了基于损失函数的意图识别方法、装置、设备及存储介质,用于直接计算文本中每个标签对损失函数的影响,提高了模型对多个意图的识别能力。本发明方法包括:获取待识别文本,待识别文本用于指示目标用户的至少一个意图;调用改进的机器学习模型FastText的输入层对待识别文本进行分词,得到多个分词向量;调用改进的FastText的隐藏层对多个分词向量进行叠加平均,得到文档向量;调用二分类用的交叉熵损失函数BCELoss对文档向量中的每个潜在意图进行计算,得到多个潜在意图的损失值;根据每个潜在意图对应的损失值以及预先设置的阈值对多个潜在意图的损失值进行筛选,基于筛选后的损失值确定待识别文本的多个候选意图标签。
Description
技术领域
本发明涉及分类算法技术领域,尤其涉及一种基于损失函数的意图识别方法、装置、设备及存储介质。
背景技术
在多轮对话系统中自然语言理解(natural language understanding,NLU)是机器从用户身上获取信息至关重要的一个步骤。对于文本的意图识别是自然语言理解最常用的方法之一,但是常见的意图识别都局限于一句话对应一个意图,分类器将用户的话分到事先设计好的多个分类中的某一类当中去,也就是多分类方法。而实际的情况是用户的一句话常常表达了不止一个意图,在这种情况下单单只识别意图就无法满足业务需求了。因此,对话系统需要一个可以同时识别用户多种意图的自然语言理解模块,也就是要将传统的单意图识别扩展到多意图识别的领域。
而多意图识别在业界一直是一个难题,通常的方法就是使用规则匹配,其原理就是靠人工事先为所有的意图设计关键词,若一句话匹配到了多个关键词就认为命中了多个意图,但这种方式存在扩展性差、人工工作量大,情况覆盖不全等缺点。
发明内容
本发明提供了一种基于损失函数的意图识别方法、装置、设备及存储介质,用于直接计算文本中每个标签对损失函数的影响,调整文本在所有意图中的概率分布,让所有标签位置上的损失都被计算在内,从而提高标签所在位置的置信度,并降低其余位置的置信度,并提高了模型对多个意图的识别能力。
本发明实施例的第一方面提供一种基于损失函数的意图识别方法,包括:获取待识别文本,所述待识别文本用于指示目标用户的至少一个意图;调用改进的机器学习模型FastText的输入层对所述待识别文本进行分词,得到多个分词向量;调用所述改进的FastText的隐藏层对所述多个分词向量进行叠加平均,得到文档向量;调用二分类用的交叉熵损失函数BCELoss对所述文档向量中的每个潜在意图进行计算,得到多个潜在意图的损失值;根据每个潜在意图对应的损失值以及预先设置的阈值对所述多个潜在意图的损失值进行筛选,基于筛选后的损失值确定所述待识别文本的多个候选意图标签。
可选的,在本发明实施例第一方面的第一种实现方式中,所述调用二分类用的交叉熵损失函数BCELoss对所述文档向量中的每个潜在意图进行计算,得到多个潜在意图的损失值,包括:将文档向量输入到改进的FastText中进行负采样,得到多个采样向量;调用分层分类器将所述多个采样向量导入树形结构,得到树形分类结构,所述树形分类结构包括多个潜在意图标签;通过S型阈值函数Sigmoid和二分类用的交叉熵损失函数BCELoss对所述多个潜在意图标签进行计算,得到多个潜在意图的损失值。
可选的,在本发明实施例第一方面的第二种实现方式中,所述通过S型阈值函数Sigmoid和二分类用的交叉熵损失函数BCELoss对所述多个潜在意图标签进行计算,得到多个潜在意图的损失值,包括:通过阈值函数Sigmoid将多个潜在意图标签的计算概率值y′;根据获取到的真实概率值y和预置BCELoss公式计算多个潜在意图标签的损失值,其中,预置BCELoss公式为l=-ylogy′-(1-y)log(1-y′)。
可选的,在本发明实施例第一方面的第三种实现方式中,所述根据每个潜在意图对应的损失值以及预先设置的阈值对所述多个潜在意图的损失值进行筛选,基于筛选后的损失值确定所述待识别文本的多个候选意图标签,包括:获取预先设置的阈值;判断每个潜在意图对应的损失值是否大于所述阈值;若目标损失值大于所述阈值,则将所述目标损失值对应的潜在意图确定为所述待识别文本的候选意图标签,得到多个候选意图标签。
可选的,在本发明实施例第一方面的第四种实现方式中,所述调用改进的机器学习模型FastText的输入层对所述待识别文本进行分词,得到多个分词向量,包括:通过预置的词袋对所述待识别文本进行分词,得到多个候选词语;调用预置的n元模型对所述多个候选词语进行表征,得到每个候选词语的模型特征;将每个候选词语的模型特征输入到改进的机器学习模型FastText的输入层生成多个分词向量,每个分词向量对应一个候选词语。
可选的,在本发明实施例第一方面的第五种实现方式中,所述调用所述改进的FastText的隐藏层对所述多个分词向量进行叠加平均,得到文档向量,包括:将多个分词向量按照分词顺序进行排列,得到分词序列;将所述分词序列按照所述分词顺序依次输入到改进的FastText的隐藏层进行平均处理;获取所述改进的FastText的隐藏层的输出结果,得到文档向量。
可选的,在本发明实施例第一方面的第六种实现方式中,在所述根据每个潜在意图对应的损失值以及预先设置的阈值对所述多个潜在意图的损失值进行筛选,基于筛选后的损失值确定所述待识别文本的多个候选意图标签之后,所述方法还包括:根据多个候选意图标签对待识别文本进行标注。
本发明实施例的第二方面提供了一种基于损失函数的意图识别装置,包括:获取单元,用于获取待识别文本,所述待识别文本用于指示目标用户的至少一个意图;分词单元,用于调用改进的机器学习模型FastText的输入层对所述待识别文本进行分词,得到多个分词向量;平均单元,用于调用所述改进的FastText的隐藏层对所述多个分词向量进行叠加平均,得到文档向量;计算单元,用于调用二分类用的交叉熵损失函数BCELoss对所述文档向量中的每个潜在意图进行计算,得到多个潜在意图的损失值;筛选单元,用于根据每个潜在意图对应的损失值以及预先设置的阈值对所述多个潜在意图的损失值进行筛选,基于筛选后的损失值确定所述待识别文本的多个候选意图标签。
可选的,在本发明实施例第二方面的第一种实现方式中,计算单元包括:负采样模块,用于将文档向量输入到改进的FastText中进行负采样,得到多个采样向量;导入模块,用于调用分层分类器将所述多个采样向量导入树形结构,得到树形分类结构,所述树形分类结构包括多个潜在意图标签;计算模块,用于通过S型阈值函数Sigmoid和二分类用的交叉熵损失函数BCELoss对所述多个潜在意图标签进行计算,得到多个潜在意图的损失值。
可选的,在本发明实施例第二方面的第二种实现方式中,计算模块具体用于:通过阈值函数Sigmoid将多个潜在意图标签的计算概率值y′;根据获取到的真实概率值y和预置BCELoss公式计算多个潜在意图标签的损失值,其中,预置BCELoss公式为l=-ylogy′-(1-y)log(1-y′)。
可选的,在本发明实施例第二方面的第三种实现方式中,筛选单元具体用于:获取预先设置的阈值;判断每个潜在意图对应的损失值是否大于所述阈值;若目标损失值大于所述阈值,则将所述目标损失值对应的潜在意图确定为所述待识别文本的候选意图标签,得到多个候选意图标签。
可选的,在本发明实施例第二方面的第四种实现方式中,分词单元具体用于:通过预置的词袋对所述待识别文本进行分词,得到多个候选词语;调用预置的n元模型对所述多个候选词语进行表征,得到每个候选词语的模型特征;将每个候选词语的模型特征输入到改进的机器学习模型FastText的输入层生成多个分词向量,每个分词向量对应一个候选词语。
可选的,在本发明实施例第二方面的第五种实现方式中,平均单元具体用于:将多个分词向量按照分词顺序进行排列,得到分词序列;将所述分词序列按照所述分词顺序依次输入到改进的FastText的隐藏层进行平均处理;获取所述改进的FastText的隐藏层的输出结果,得到文档向量。
可选的,在本发明实施例第二方面的第六种实现方式中,基于损失函数的意图识别装置还包括:标注单元,用于根据多个候选意图标签对待识别文本进行标注。
本发明实施例的第三方面提供了一种基于损失函数的意图识别设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的基于损失函数的意图识别方法。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,当所述计算机可读指令被处理器执行时实现上述所述的基于损失函数的意图识别方法的步骤。
本发明实施例提供的技术方案中,获取待识别文本,待识别文本用于指示目标用户的至少一个意图;调用改进的机器学习模型FastText的输入层对待识别文本进行分词,得到多个分词向量;调用改进的FastText的隐藏层对多个分词向量进行叠加平均,得到文档向量;调用二分类用的交叉熵损失函数BCELoss对文档向量中的每个潜在意图进行计算,得到多个潜在意图的损失值;根据每个潜在意图对应的损失值以及预先设置的阈值对多个潜在意图的损失值进行筛选,基于筛选后的损失值确定待识别文本的多个候选意图标签。本发明实施例,直接计算文本中每个标签对损失函数的影响,调整文本在所有意图中的概率分布,让所有标签位置上的损失都被计算在内,从而提高标签所在位置的置信度,并降低其余位置的置信度,并提高了模型对多个意图的识别能力。
附图说明
图1为本发明实施例中基于损失函数的意图识别方法的一个实施例示意图;
图2为本发明实施例中基于损失函数的意图识别方法的另一个实施例示意图;
图3为本发明实施例中基于损失函数的意图识别装置的一个实施例示意图;
图4为本发明实施例中基于损失函数的意图识别装置的另一个实施例示意图;
图5为本发明实施例中基于损失函数的意图识别设备的一个实施例示意图。
具体实施方式
本发明提供了一种基于损失函数的意图识别方法、装置、设备及存储介质,用于直接计算文本中每个标签对损失函数的影响,调整文本在所有意图中的概率分布,让所有标签位置上的损失都被计算在内,从而提高标签所在位置的置信度,并降低其余位置的置信度,并提高了模型对多个意图的识别能力。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例进行描述。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,本发明实施例提供的基于损失函数的意图识别方法的流程图,具体包括:
101、获取待识别文本,待识别文本用于指示目标用户的至少一个意图。
服务器获取待识别文本,待识别文本用于指示目标用户的至少一个意图。
需要说明的是,不同的待识别文本,对应的意图可能相同也可能不相同,不同的待识别文本可以表达相同的一个或多个意图,例如,“是否可以购买平安福”和“可以购买平安福产品吗”表达的是同一个意图;相同的待识别文本可以表达不同的意图,例如,“我想买平安福”和“我想买平安福?”表达的意图不同。
可以理解的是,本发明的执行主体可以为基于损失函数的意图识别装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
102、调用改进的机器学习模型FastText的输入层对待识别文本进行分词,得到多个分词向量。
服务器调用改进的机器学习模型FastText的输入层对待识别文本进行分词,得到多个分词向量。具体的,服务器通过预置的词袋对待识别文本进行分词,得到多个候选词语;服务器调用预置的n元模型对多个候选词语进行表征,得到每个候选词语的模型特征;服务器将每个候选词语的模型特征输入到改进的机器学习模型FastText的输入层生成多个分词向量,每个分词向量对应一个候选词语。
其中,词袋就是将数据集的所有语料都分词,然后基于各个词出现的频数从而对语句进行判断的方法。n-gram模型是一种语言模型(language model,LM),语言模型是一个基于概率的判别模型,它的输入是一句话(单词的顺序序列),输出是这句话的概率,即这些单词的联合概率(joint probability)。
例如,FastText使用了字符级别的n-gram来表示一个单词,对于“apple”,假设n的取值为3,则它的trigram有:"<ap","app","ppl","ple","le>",其中<表示前缀,>表示后缀,我们可以使用这5个trigram的向量叠加来表示“apple”的词向量。又例如,对于中文“我爱你”这句话中的词袋模型特征是“我”,“爱”,“你”。这些特征和句子“你爱我”的特征是一样的。如果加入2-gram,第一句话的特征还有“我-爱”和“爱-你”,这两句话“我爱你”和“你爱我”就能区别开来了。
需要说明的是,为了提高识别效率,需要将低频的n-gram进行过滤。
103、调用改进的FastText的隐藏层对多个分词向量进行叠加平均,得到文档向量。
服务器调用改进的FastText的隐藏层对多个分词向量进行叠加平均,得到文档向量。具体的,服务器将多个分词向量按照分词顺序进行排列,得到分词序列;服务器将分词序列按照分词顺序依次输入到改进的FastText的隐藏层进行平均处理;服务器获取改进的FastText的隐藏层的输出结果,得到文档向量。
104、调用二分类用的交叉熵损失函数BCELoss对文档向量中的每个潜在意图进行计算,得到多个潜在意图的损失值。
服务器调用二分类用的交叉熵损失函数BCELoss对文档向量中的每个潜在意图进行计算,得到多个潜在意图的损失值。具体的,服务器将文档向量输入到改进的FastText中进行负采样,得到多个采样向量;服务器调用分层分类器将多个采样向量导入树形结构,得到树形分类结构,树形分类结构包括多个潜在意图标签;服务器通过S型阈值函数Sigmoid和二分类用的交叉熵损失函数BCELoss对多个潜在意图标签进行计算,得到多个潜在意图的损失值。
105、根据每个潜在意图对应的损失值以及预先设置的阈值对多个潜在意图的损失值进行筛选,基于筛选后的损失值确定待识别文本的多个候选意图标签。
服务器根据每个潜在意图对应的损失值以及预先设置的阈值对多个潜在意图的损失值进行筛选,基于筛选后的损失值确定待识别文本的多个候选意图标签。服务器利用二元交叉熵损失(binary cross entropy loss,BCELOSS)函数单独计算每个意图对预测的影响,从而使得得到的概率分布在多个意图上有较大值,其他的意图有较小值,提高了模型对多个意图的识别能力。
本发明实施例,直接计算文本中每个标签对损失函数的影响,调整文本在所有意图中的概率分布,让所有标签位置上的损失都被计算在内,从而提高标签所在位置的置信度,并降低其余位置的置信度,并提高了模型对多个意图的识别能力。
请参阅图2,本发明实施例提供的基于损失函数的意图识别方法的另一个流程图,具体包括:
201、获取待识别文本,待识别文本用于指示目标用户的至少一个意图。
服务器获取待识别文本,待识别文本用于指示目标用户的至少一个意图。
需要说明的是,不同的待识别文本,对应的意图可能相同也可能不相同,不同的待识别文本可以表达相同的一个或多个意图,例如,“是否可以购买平安福”和“可以购买平安福产品吗”表达的是同一个意图;相同的待识别文本可以表达不同的意图,例如,“我想买平安福”和“我想买平安福?”表达的意图不同。
可以理解的是,本发明的执行主体可以为基于损失函数的意图识别装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
202、调用改进的机器学习模型FastText的输入层对待识别文本进行分词,得到多个分词向量。
服务器调用改进的机器学习模型FastText的输入层对待识别文本进行分词,得到多个分词向量。具体的,服务器通过预置的词袋对待识别文本进行分词,得到多个候选词语;服务器调用预置的n元模型对多个候选词语进行表征,得到每个候选词语的模型特征;服务器将每个候选词语的模型特征输入到改进的机器学习模型FastText的输入层生成多个分词向量,每个分词向量对应一个候选词语。
其中,词袋就是将数据集的所有语料都分词,然后基于各个词出现的频数从而对语句进行判断的方法。n-gram模型是一种语言模型(language model,LM),语言模型是一个基于概率的判别模型,它的输入是一句话(单词的顺序序列),输出是这句话的概率,即这些单词的联合概率(joint probability)。
例如,FastText使用了字符级别的n-gram来表示一个单词,对于“apple”,假设n的取值为3,则它的trigram有:"<ap","app","ppl","ple","le>",其中<表示前缀,>表示后缀,我们可以使用这5个trigram的向量叠加来表示“apple”的词向量。又例如,对于中文“我爱你”这句话中的词袋模型特征是“我”,“爱”,“你”。这些特征和句子“你爱我”的特征是一样的。如果加入2-gram,第一句话的特征还有“我-爱”和“爱-你”,这两句话“我爱你”和“你爱我”就能区别开来了。
需要说明的是,为了提高识别效率,需要将低频的n-gram进行过滤。
203、调用改进的FastText的隐藏层对多个分词向量进行叠加平均,得到文档向量。
服务器调用改进的FastText的隐藏层对多个分词向量进行叠加平均,得到文档向量。具体的,服务器将多个分词向量按照分词顺序进行排列,得到分词序列;服务器将分词序列按照分词顺序依次输入到改进的FastText的隐藏层进行平均处理;服务器获取改进的FastText的隐藏层的输出结果,得到文档向量。
204、将文档向量输入到改进的FastText中进行负采样,得到多个采样向量。
服务器将文档向量输入到改进的FastText中进行负采样,得到多个采样向量。负采样(negative sampling),是为了加速文本分类处理过程,主要解决的方案是给定一对单词,去预测否是上下文-目标词。例如orange-juice是目标词,标记为1,称为正样本;orange-king不是目标词,称为负样本。负样本的词选择数量减少,对于大样本集仅采集,每训练一个正样本仅使用2-5个负样本;对于小样本集也只使用5-20个负样本,提高了采样效率。
205、调用分层分类器将多个采样向量导入树形结构,得到树形分类结构,树形分类结构包括多个潜在意图标签。
服务器调用分层分类器将多个采样向量导入树形结构,得到树形分类结构,树形分类结构包括多个潜在意图标签。
其中,在标准分类器Softmax中,计算一个类别的Softmax概率时,需要对所有类别概率做归一化,在这类别很大情况下非常耗时,因此提出了层次分类器HierarchicalSoftmax,根据类别的频率构造霍夫曼树来代替标准Softmax,通过Hierarchical Softmax可以将复杂度从N降低到logN。
206、通过S型阈值函数Sigmoid和二分类用的交叉熵损失函数BCELoss对多个潜在意图标签进行计算,得到多个潜在意图的损失值。
服务器通过S型阈值函数Sigmoid和二分类用的交叉熵损失函数BCELoss对多个潜在意图标签进行计算,得到多个潜在意图的损失值。具体的,服务器通过阈值函数Sigmoid将多个潜在意图标签的计算概率值y′;服务器根据获取到的真实概率值y和预置BCELoss公式计算多个潜在意图标签的损失值,其中,预置BCELoss公式为l=-ylogy′-(1-y)log(1-y′)。
例如,FastText模型原有的单分类损失值仅仅计算了标签所在类别带来的损失,并没有计算其余位置的损失值,而Softmax将所有类别的置信度归一化后加起来等于1使得模型无法对多标签数据的损失值进行计算。而本发明改进后损失计算方法为:l=-ylogy′-(1-y)log(1-y′);
y=[0,0,1,0,1,0]
y′=[0.01,0.19,0.72,0.69,0.15,0.03]
这里同时考虑了标签为1的损失值和标签为0的损失值,总的损失值是他们的求和平均,这样进行训练后就能得到让所有标1的位置置信度越大越好,所有标0的位置置信度越小越好的效果。
需要说明的是,生成的每个潜在意图的损失函数的值的和不为1,对应多个置信度较高的意图,其他意图分值会非常小,一般阈值设为0.1就可以区分识别的意图。
207、根据每个潜在意图对应的损失值以及预先设置的阈值对多个潜在意图的损失值进行筛选,基于筛选后的损失值确定待识别文本的多个候选意图标签。
服务器根据每个潜在意图对应的损失值以及预先设置的阈值对多个潜在意图的损失值进行筛选,基于筛选后的损失值确定待识别文本的多个候选意图标签。具体的,服务器获取预先设置的阈值;服务器判断每个潜在意图对应的损失值是否大于阈值;若目标损失值大于阈值,则服务器将目标损失值对应的潜在意图确定为待识别文本的候选意图标签,得到多个候选意图标签。
208、根据多个候选意图标签对待识别文本进行标注。
服务器根据多个候选意图标签对待识别文本进行标注。
本发明实施例,直接计算文本中每个标签对损失函数的影响,调整文本在所有意图中的概率分布,让所有标签位置上的损失都被计算在内,从而提高标签所在位置的置信度,并降低其余位置的置信度,并提高了模型对多个意图的识别能力。
上面对本发明实施例中基于损失函数的意图识别方法进行了描述,下面对本发明实施例中基于损失函数的意图识别装置进行描述,请参阅图3,本发明实施例中基于损失函数的意图识别装置的一个实施例包括:
获取单元301,用于获取待识别文本,所述待识别文本用于指示目标用户的至少一个意图;
分词单元302,用于调用改进的机器学习模型FastText的输入层对所述待识别文本进行分词,得到多个分词向量;
平均单元303,用于调用所述改进的FastText的隐藏层对所述多个分词向量进行叠加平均,得到文档向量;
计算单元304,用于调用二分类用的交叉熵损失函数BCELoss对所述文档向量中的每个潜在意图进行计算,得到多个潜在意图的损失值;
筛选单元305,用于根据每个潜在意图对应的损失值以及预先设置的阈值对所述多个潜在意图的损失值进行筛选,基于筛选后的损失值确定所述待识别文本的多个候选意图标签。
本发明实施例,直接计算文本中每个标签对损失函数的影响,调整文本在所有意图中的概率分布,让所有标签位置上的损失都被计算在内,从而提高标签所在位置的置信度,并降低其余位置的置信度,并提高了模型对多个意图的识别能力。
请参阅图4,本发明实施例中基于损失函数的意图识别装置的另一个实施例包括:
获取单元301,用于获取待识别文本,所述待识别文本用于指示目标用户的至少一个意图;
分词单元302,用于调用改进的机器学习模型FastText的输入层对所述待识别文本进行分词,得到多个分词向量;
平均单元303,用于调用所述改进的FastText的隐藏层对所述多个分词向量进行叠加平均,得到文档向量;
计算单元304,用于调用二分类用的交叉熵损失函数BCELoss对所述文档向量中的每个潜在意图进行计算,得到多个潜在意图的损失值;
筛选单元305,用于根据每个潜在意图对应的损失值以及预先设置的阈值对所述多个潜在意图的损失值进行筛选,基于筛选后的损失值确定所述待识别文本的多个候选意图标签。
可选的,计算单元304包括:
负采样模块3041,用于将文档向量输入到改进的FastText中进行负采样,得到多个采样向量;
导入模块3042,用于调用分层分类器将所述多个采样向量导入树形结构,得到树形分类结构,所述树形分类结构包括多个潜在意图标签;
计算模块3043,用于通过S型阈值函数Sigmoid和二分类用的交叉熵损失函数BCELoss对所述多个潜在意图标签进行计算,得到多个潜在意图的损失值。
可选的,计算模块3043具体用于:
通过阈值函数Sigmoid将多个潜在意图标签的计算概率值y′;根据获取到的真实概率值y和预置BCELoss公式计算多个潜在意图标签的损失值,其中,预置BCELoss公式为l=-ylogy′-(1-y)log(1-y′)。
可选的,筛选单元305具体用于:
获取预先设置的阈值;判断每个潜在意图对应的损失值是否大于所述阈值;若目标损失值大于所述阈值,则将所述目标损失值对应的潜在意图确定为所述待识别文本的候选意图标签,得到多个候选意图标签。
可选的,分词单元302具体用于:
通过预置的词袋对所述待识别文本进行分词,得到多个候选词语;调用预置的n元模型对所述多个候选词语进行表征,得到每个候选词语的模型特征;将每个候选词语的模型特征输入到改进的机器学习模型FastText的输入层生成多个分词向量,每个分词向量对应一个候选词语。
可选的,平均单元303具体用于:
将多个分词向量按照分词顺序进行排列,得到分词序列;将所述分词序列按照所述分词顺序依次输入到改进的FastText的隐藏层进行平均处理;获取所述改进的FastText的隐藏层的输出结果,得到文档向量。
可选的,基于损失函数的意图识别装置还包括:
标注单元306,用于根据多个候选意图标签对待识别文本进行标注。
本发明实施例,直接计算文本中每个标签对损失函数的影响,调整文本在所有意图中的概率分布,让所有标签位置上的损失都被计算在内,从而提高标签所在位置的置信度,并降低其余位置的置信度,并提高了模型对多个意图的识别能力。
上面图3至图4从模块化功能实体的角度对本发明实施例中的基于损失函数的意图识别装置进行详细描述,下面从硬件处理的角度对本发明实施例中基于损失函数的意图识别设备进行详细描述。
图5是本发明实施例提供的一种基于损失函数的意图识别设备的结构示意图,该基于损失函数的意图识别设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)501(例如,一个或一个以上处理器)和存储器509,一个或一个以上存储应用程序507或数据506的存储介质508(例如一个或一个以上海量存储设备)。其中,存储器509和存储介质508可以是短暂存储或持久存储。存储在存储介质508的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于损失函数的意图识别设备中的一系列指令操作。更进一步地,处理器501可以设置为与存储介质508通信,在基于损失函数的意图识别设备500上执行存储介质508中的一系列指令操作。
基于损失函数的意图识别设备500还可以包括一个或一个以上电源502,一个或一个以上有线或无线网络接口503,一个或一个以上输入输出接口504,和/或,一个或一个以上操作系统505,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5中示出的基于损失函数的意图识别设备结构并不构成对基于损失函数的意图识别设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。处理器501可以执行上述实施例中获取单元301、调用识别单元302、叠加单元303、混淆意图识别单元304和标注单元305的功能。
下面结合图5对基于损失函数的意图识别设备的各个构成部件进行具体的介绍:
处理器501是基于损失函数的意图识别设备的控制中心,可以按照设置的基于损失函数的意图识别方法进行处理。处理器501利用各种接口和线路连接整个基于损失函数的意图识别设备的各个部分,通过运行或执行存储在存储器509内的软件程序和/或模块,以及调用存储在存储器509内的数据,执行基于损失函数的意图识别设备的各种功能和处理数据,从而提高标签所在位置的置信度,并降低其余位置的置信度,并提高了模型对多个意图的识别能力。存储介质508和存储器509都是存储数据的载体,本发明实施例中,存储介质508可以是指储存容量较小,但速度快的内存储器,而存储器509可以是储存容量大,但储存速度慢的外存储器。
存储器509可用于存储软件程序以及模块,处理器501通过运行存储在存储器509的软件程序以及模块,从而执行基于损失函数的意图识别设备500的各种功能应用以及数据处理。存储器509可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如调用改进的FastText的隐藏层对多个分词向量进行叠加平均,得到文档向量)等;存储数据区可存储根据基于损失函数的意图识别设备的使用所创建的数据(比如多个潜在意图的损失值等)等。此外,存储器509可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在本发明实施例中提供的基于损失函数的意图识别方法程序和接收到的数据流存储在存储器中,当需要使用时,处理器501从存储器509中调用。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于损失函数的意图识别方法,其特征在于,包括:
获取待识别文本,所述待识别文本用于指示目标用户的至少一个意图;
调用改进的机器学习模型FastText的输入层对所述待识别文本进行分词,得到多个分词向量;
调用所述改进的FastText的隐藏层对所述多个分词向量进行叠加平均,得到文档向量;
调用二分类用的交叉熵损失函数BCELoss对所述文档向量中的每个潜在意图进行计算,得到多个潜在意图的损失值;
根据每个潜在意图对应的损失值以及预先设置的阈值对所述多个潜在意图的损失值进行筛选,基于筛选后的损失值确定所述待识别文本的多个候选意图标签。
2.根据权利要求1所述的基于损失函数的意图识别方法,其特征在于,所述调用二分类用的交叉熵损失函数BCELoss对所述文档向量中的每个潜在意图进行计算,得到多个潜在意图的损失值,包括:
将文档向量输入到改进的FastText中进行负采样,得到多个采样向量;
调用分层分类器将所述多个采样向量导入树形结构,得到树形分类结构,所述树形分类结构包括多个潜在意图标签;
通过S型阈值函数Sigmoid和二分类用的交叉熵损失函数BCELoss对所述多个潜在意图标签进行计算,得到多个潜在意图的损失值。
3.根据权利要求2所述的基于损失函数的意图识别方法,其特征在于,所述通过S型阈值函数Sigmoid和二分类用的交叉熵损失函数BCELoss对所述多个潜在意图标签进行计算,得到多个潜在意图的损失值,包括:
通过阈值函数Sigmoid将多个潜在意图标签的计算概率值y′;
根据获取到的真实概率值y和预置BCELoss公式计算多个潜在意图标签的损失值,其中,预置BCELoss公式为l=-ylogy′-(1-y)log(1-y′)。
4.根据权利要求1所述的基于损失函数的意图识别方法,其特征在于,所述根据每个潜在意图对应的损失值以及预先设置的阈值对所述多个潜在意图的损失值进行筛选,基于筛选后的损失值确定所述待识别文本的多个候选意图标签,包括:
获取预先设置的阈值;
判断每个潜在意图对应的损失值是否大于所述阈值;
若目标损失值大于所述阈值,则将所述目标损失值对应的潜在意图确定为所述待识别文本的候选意图标签,得到多个候选意图标签。
5.根据权利要求1所述的基于损失函数的意图识别方法,其特征在于,所述调用改进的机器学习模型FastText的输入层对所述待识别文本进行分词,得到多个分词向量,包括:
通过预置的词袋对所述待识别文本进行分词,得到多个候选词语;
调用预置的n元模型对所述多个候选词语进行表征,得到每个候选词语的模型特征;
将每个候选词语的模型特征输入到改进的机器学习模型FastText的输入层生成多个分词向量,每个分词向量对应一个候选词语。
6.根据权利要求1所述的基于损失函数的意图识别方法,其特征在于,所述调用所述改进的FastText的隐藏层对所述多个分词向量进行叠加平均,得到文档向量,包括:
将多个分词向量按照分词顺序进行排列,得到分词序列;
将所述分词序列按照所述分词顺序依次输入到改进的FastText的隐藏层进行平均处理;
获取所述改进的FastText的隐藏层的输出结果,得到文档向量。
7.根据权利要求1-6中任一项所述的基于损失函数的意图识别方法,其特征在于,在所述根据每个潜在意图对应的损失值以及预先设置的阈值对所述多个潜在意图的损失值进行筛选,基于筛选后的损失值确定所述待识别文本的多个候选意图标签之后,所述方法还包括:
根据多个候选意图标签对待识别文本进行标注。
8.一种基于损失函数的意图识别装置,其特征在于,包括:
获取单元,用于获取待识别文本,所述待识别文本用于指示目标用户的至少一个意图;
分词单元,用于调用改进的机器学习模型FastText的输入层对所述待识别文本进行分词,得到多个分词向量;
平均单元,用于调用所述改进的FastText的隐藏层对所述多个分词向量进行叠加平均,得到文档向量;
计算单元,用于调用二分类用的交叉熵损失函数BCELoss对所述文档向量中的每个潜在意图进行计算,得到多个潜在意图的损失值;
筛选单元,用于根据每个潜在意图对应的损失值以及预先设置的阈值对所述多个潜在意图的损失值进行筛选,基于筛选后的损失值确定所述待识别文本的多个候选意图标签。
9.一种基于损失函数的意图识别设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任意一项所述的基于损失函数的意图识别方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时实现如权利要求1-7中任意一项所述的基于损失函数的意图识别方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010156696.2A CN111460806A (zh) | 2020-03-09 | 2020-03-09 | 基于损失函数的意图识别方法、装置、设备及存储介质 |
PCT/CN2020/098833 WO2021179483A1 (zh) | 2020-03-09 | 2020-06-29 | 基于损失函数的意图识别方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010156696.2A CN111460806A (zh) | 2020-03-09 | 2020-03-09 | 基于损失函数的意图识别方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111460806A true CN111460806A (zh) | 2020-07-28 |
Family
ID=71685581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010156696.2A Pending CN111460806A (zh) | 2020-03-09 | 2020-03-09 | 基于损失函数的意图识别方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111460806A (zh) |
WO (1) | WO2021179483A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114818703A (zh) * | 2022-06-28 | 2022-07-29 | 珠海金智维信息科技有限公司 | 基于BERT语言模型和TextCNN模型的多意图识别方法及系统 |
CN115600646A (zh) * | 2022-10-19 | 2023-01-13 | 北京百度网讯科技有限公司(Cn) | 语言模型的训练方法、装置、介质及设备 |
CN116521822A (zh) * | 2023-03-15 | 2023-08-01 | 上海帜讯信息技术股份有限公司 | 基于5g消息多轮会话机制的用户意图识别方法和装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11934785B2 (en) * | 2020-10-23 | 2024-03-19 | Target Brands, Inc. | Multi-task learning of query intent and named entities |
CN113888143B (zh) * | 2021-12-08 | 2022-02-25 | 畅捷通信息技术股份有限公司 | 一种对账单数据处理方法、装置及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11250042B2 (en) * | 2018-06-06 | 2022-02-15 | Microsoft Technology Licensing Llc | Taxonomy enrichment using ensemble classifiers |
US11531928B2 (en) * | 2018-06-30 | 2022-12-20 | Microsoft Technology Licensing, Llc | Machine learning for associating skills with content |
CN109165666A (zh) * | 2018-07-05 | 2019-01-08 | 南京旷云科技有限公司 | 多标签图像分类方法、装置、设备及存储介质 |
CN109657230B (zh) * | 2018-11-06 | 2023-07-28 | 众安信息技术服务有限公司 | 融合词向量和词性向量的命名实体识别方法及装置 |
CN110415086A (zh) * | 2019-08-01 | 2019-11-05 | 信雅达系统工程股份有限公司 | 基于用户连续行为序列特征的智能理财推荐方法 |
CN110728153A (zh) * | 2019-10-15 | 2020-01-24 | 天津理工大学 | 基于模型融合的多类别情感分类方法 |
CN110851817A (zh) * | 2019-10-29 | 2020-02-28 | 锐捷网络股份有限公司 | 一种终端类型识别方法及装置 |
-
2020
- 2020-03-09 CN CN202010156696.2A patent/CN111460806A/zh active Pending
- 2020-06-29 WO PCT/CN2020/098833 patent/WO2021179483A1/zh active Application Filing
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114818703A (zh) * | 2022-06-28 | 2022-07-29 | 珠海金智维信息科技有限公司 | 基于BERT语言模型和TextCNN模型的多意图识别方法及系统 |
CN115600646A (zh) * | 2022-10-19 | 2023-01-13 | 北京百度网讯科技有限公司(Cn) | 语言模型的训练方法、装置、介质及设备 |
CN115600646B (zh) * | 2022-10-19 | 2023-10-03 | 北京百度网讯科技有限公司 | 语言模型的训练方法、装置、介质及设备 |
CN116521822A (zh) * | 2023-03-15 | 2023-08-01 | 上海帜讯信息技术股份有限公司 | 基于5g消息多轮会话机制的用户意图识别方法和装置 |
CN116521822B (zh) * | 2023-03-15 | 2024-02-13 | 上海帜讯信息技术股份有限公司 | 基于5g消息多轮会话机制的用户意图识别方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2021179483A1 (zh) | 2021-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111460806A (zh) | 基于损失函数的意图识别方法、装置、设备及存储介质 | |
CN112084327B (zh) | 在保留语义的同时对稀疏标注的文本文档的分类 | |
KR102288249B1 (ko) | 정보 처리 방법, 단말기, 및 컴퓨터 저장 매체 | |
CN111523119B (zh) | 漏洞检测的方法和装置、电子设备及计算机可读存储介质 | |
CN109471944B (zh) | 文本分类模型的训练方法、装置及可读存储介质 | |
CN109190110A (zh) | 一种命名实体识别模型的训练方法、系统及电子设备 | |
US10977291B2 (en) | Automated document extraction and classification | |
US9652695B2 (en) | Label consistency for image analysis | |
CN109086265B (zh) | 一种语义训练方法、短文本中多语义词消歧方法 | |
CN111831826B (zh) | 跨领域的文本分类模型的训练方法、分类方法以及装置 | |
US10565478B2 (en) | Differential classification using multiple neural networks | |
US11347944B2 (en) | Systems and methods for short text identification | |
CN108287848B (zh) | 用于语义解析的方法和系统 | |
CN110929028A (zh) | 一种日志分类方法及装置 | |
CN111667817A (zh) | 一种语音识别方法、装置、计算机系统及可读存储介质 | |
CN111078881B (zh) | 细粒度情感分析方法、系统、电子设备和存储介质 | |
Wang et al. | Gated convolutional LSTM for speech commands recognition | |
CN115062621A (zh) | 标签提取方法、装置、电子设备和存储介质 | |
CN110750983A (zh) | 语料识别方法、装置、设备及计算机可读存储介质 | |
CN113095073B (zh) | 语料标签生成方法、装置、计算机设备和存储介质 | |
CN112364649B (zh) | 命名实体的识别方法、装置、计算机设备及存储介质 | |
CN111767710B (zh) | 印尼语的情感分类方法、装置、设备及介质 | |
CN108921216B (zh) | 一种图像分类模型的处理方法、装置及存储介质 | |
CN113221549A (zh) | 词语类型标注方法、装置以及存储介质 | |
CN114091447A (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 |