一种中文文本多意图识别方法及系统与流程

文档序号:17442545发布日期:2019-04-17 04:58阅读:787来源:国知局
一种中文文本多意图识别方法及系统与流程

本发明涉及自然语言处理技术领域,特别是一种中文文本多意图识别方法及其应用该方法的系统。



背景技术:

在自然语言处理过程中,需要根据文本意图将对其进行打标或者归类。然而实际情况是,一方面,文本常常存在歧义,或者文本本身确实存在多种意图,导致无法准确选择唯一的类别;另一方面,在制定智能对话系统等领域确实存在着对文本多意图识别的需求,需要根据文本所包含不同的意图来定制综合回复。因此,文本的多意图识别问题成了自然语言处理中急需解决的问题。

现有技术中解决文本多意图识别的问题,一般有人工标注方法和机器标注方法。

人工标注方法即由标注人员逐条读取语料然后理解其中的多个含义并进行标注。人工标注的优点是稳健,准确率相对较高,但是存在效率低下,耗费人力和时间资源的问题。如果是由多人分工进行标注,还可能出现由于标注人员理解能力差别导致的系统性错误。

现有技术的机器标注方法,也存在以下几个问题:

1.机器学习模型只能给出正确率较高的最优解,难以输出次优解(其他意图),因此只适合进行单意图识别;

2.利用深度学习模型进行多意图的标注可以解决输出多意图的问题,但是需要大量的均衡的多意图数据进行训练,并且难以保证正确率。



技术实现要素:

本发明为解决上述问题,提供了一种中文文本多意图识别方法及系统,能够在准确识别文本的主意图类别的前提下,进一步输出文本最有可能包含的子意图类别,从而实现文本的多意图识别。

为实现上述目的,本发明采用的技术方案为:

一种中文文本多意图识别方法,其包括以下步骤:

a.根据预设的意图类别,对每个意图类别计算对应的标准向量;

b.计算待识别文本的向量;

c.将所述待识别文本的向量输入单意图识别模型中,输出所述待识别文本的主意图类别;

d.计算所述待识别文本的向量与所述的每个意图类别对应的标准向量之间的马氏距离;

e.根据所述马氏距离,从所述预设的意图类别中选取所述待识别文本的子意图类别。

优选的,所述的步骤a中,所述标准向量的计算,是通过分别计算每个意图类别下的所有文本在其所属的意图类别中出现的概率,得到概率最高文本,并计算所述概率最高文本的向量,作为该概率最高文本所属的意图类别的标准向量;或者,通过分别计算每个意图类别下的所有文本的向量平均值,作为每个意图类别对应的标准向量;或者,根据经验法进行设置每个意图类别的标准向量。

进一步的,计算所述待识别文本的向量,或者,计算所述概率最高文本的向量,是通过对文本进行分词和去除停用词的处理,并将处理结果输入word2vec模型中,通过所述word2vec模型输出所述文本的句向量,作为所述待识别文本或所述概率最高文本的向量。

优选的,所述的步骤c中,所述的单意图识别模型,是通过将训练数据输入xgboost模型中进行意图识别的训练,得到所述单意图识别模型。

优选的,所述的步骤d中,计算所述待识别文本的向量与所述的每个意图类别对应的标准向量之间的马氏距离,是通过计算所述待识别文本的向量与除了所述主意图类别之外的其他意图类别的标准向量之间的马氏距离,得到包含n个距离值的集合;其中,n为所述其他意图类别的数量。

优选的,所述的步骤e中,从所述预设的意图类别中选取所述待识别文本的子意图类别,是通过在所述集合中选取距离绝对值最小的k个数值所对应的意图类别,作为所述待识别文本的子意图类别;其中,k<n。

对应的,本发明还提供了一种中文文本多意图识别系统,其包括:

向量计算模块,用于根据预设的意图类别,对每个意图类别计算对应的标准向量;并且,计算待识别文本的向量;

主意图识别模块,用于将所述待识别文本的向量输入单意图识别模型中,输出所述待识别文本的主意图类别;

子意图识别模块,其通过计算所述待识别文本的向量与所述的每个意图类别对应的标准向量之间的马氏距离;并根据所述马氏距离,从所述预设的意图类别中选取所述待识别文本的子意图类别。

本发明的有益效果是:

(1)本发明通过单意图识别模型和马氏距离算法分别获取待识别文本的主意图类别和子意图类别,能够在准确识别文本的主意图类别的前提下,进一步输出文本最有可能包含的子意图类别,从而实现文本的多意图识别;

(2)本发明通过分别计算每个意图类别下的所有文本在其所属的意图类别中出现的概率,并将概率最高文本的向量作为该概率最高文本所属的意图类别的标准向量,在实际应用中具有更高的准确率;

(3)本发明采用xgboost模型中进行意图识别的训练,从而能够获得高质量的单意图识别模型,进一步提高意图识别的准确性;

(4)本发明选取距离绝对值最小的k个数值所对应的意图类别,作为所述待识别文本的子意图类别,能够获取最有可能包含的子意图类别,准确性更高。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明一种中文文本多意图识别方法的流程简图;

图2为本发明一种中文文本多意图识别系统的结构示意图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

如图1所示,本发明的一种中文文本多意图识别方法,其包括以下步骤:

a.根据预设的意图类别,对每个意图类别计算对应的标准向量;

b.计算待识别文本的向量;

c.将所述待识别文本的向量输入单意图识别模型中,输出所述待识别文本的主意图类别;

d.计算所述待识别文本的向量与所述的每个意图类别对应的标准向量之间的马氏距离;

e.根据所述马氏距离,从所述预设的意图类别中选取所述待识别文本的子意图类别。

所述的步骤a中,所述标准向量的计算,是通过分别计算每个意图类别下的所有文本在其所属的意图类别中出现的概率,得到概率最高文本,并计算所述概率最高文本的向量,作为该概率最高文本所属的意图类别的标准向量;或者,通过分别计算每个意图类别下的所有文本的向量平均值,作为每个意图类别对应的标准向量;或者,根据经验法进行设置每个意图类别的标准向量。

所述的步骤b中,计算所述待识别文本的向量,或者,所述的步骤a中,计算所述概率最高文本的向量,是通过对文本进行分词和去除停用词的处理,并将处理结果输入word2vec模型中,通过所述word2vec模型输出所述文本的句向量,作为所述待识别文本或所述概率最高文本的向量。其中,所述分词的处理,是采用结巴分词实现了对中文句子按词语粒度进行拆分,其支持三种分词模式:一是精确模式,试图将句子最精确地切开,适合文本分析;二是全模式,把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义;三是搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。同时还能支持繁体分词和自定义词典。所述word2vec也叫wordembeddings,中文名“词向量”,作用就是将自然语言中的字词转为计算机可以理解的稠密向量(densevector)。word2vec主要分为cbow(continuousbagofwords)和skip-gram两种模式。cbow是从原始语句推测目标字词;而skip-gram正好相反,是从目标字词推测出原始语句。cbow对小型数据库比较合适,而skip-gram在大型语料中表现更好。

所述的步骤c中,所述的单意图识别模型,是通过将训练数据输入xgboost模型中进行意图识别的训练,得到所述单意图识别模型。xgboost(extremegradientboosting)是由陈天奇在gbdt(gradientboosting)的基础上改进的集成学习方法,能够自动利用cpu的多线程进行并行计算,同时在算法上加以改进提高了精度。所述xgboost模型是一个加性回归模型,通过boosting迭代构造一组弱学习器进行表决,从而输出最优结果。不需要做特征的归一化,并且,能够自动进行特征选择、模型可解释性较好、可以适应多种损失函数如squareloss,logloss等。

所述的步骤d中,计算所述待识别文本的向量与所述的每个意图类别对应的标准向量之间的马氏距离,是通过计算所述待识别文本的向量与除了所述主意图类别之外的其他意图类别的标准向量之间的马氏距离,得到包含n个距离值的集合;其中,n为所述其他意图类别的数量。所述马氏距离(mahalanobisdistance)是由印度统计学家马哈拉诺比斯(p.c.mahalanobis)提出的,通过计算两个未知量的协方差距离,从而实现对未知样本之间相似度的对比。本发明的马氏距离相较于欧氏距离的优点是量纲无关,即两点之间的马氏距离与原始数据的测量单位无关,并且能够排除变量之间的相关性的干扰。因此,本发明采用马氏距离可以很好的避免文本转化为向量后不同维度之间的相关性带来的干扰。

马氏距离的算法如下:

设有向量空间{x1,x2,……,xn},则xi到xj的马氏距离计算公式为:

所述的步骤e中,从所述预设的意图类别中选取所述待识别文本的子意图类别,是通过在所述集合中选取距离绝对值最小的k个数值所对应的意图类别,作为所述待识别文本的子意图类别;其中,k<n。

如图2所示,本发明还提供了一种中文文本多意图识别系统,其包括:

向量计算模块,用于根据预设的意图类别,对每个意图类别计算对应的标准向量;并且,计算待识别文本的向量;

主意图识别模块,用于将所述待识别文本的向量输入单意图识别模型中,输出所述待识别文本的主意图类别;

子意图识别模块,其通过计算所述待识别文本的向量与所述的每个意图类别对应的标准向量之间的马氏距离;并根据所述马氏距离,从所述预设的意图类别中选取所述待识别文本的子意图类别。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。并且,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

上述说明示出并描述了本发明的优选实施例,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1