基于多轮交互的意图识别方法和装置与流程

文档序号:11627705阅读:457来源:国知局
基于多轮交互的意图识别方法和装置与流程
本发明涉及自然语言处理
技术领域
,尤其涉及一种基于多轮交互的意图识别方法和装置。
背景技术
:随着计算机技术的发展,自然语言处理(naturallanguageprocessing,nlp)的人机交互中产生一种重要的交互方式-多轮对话,多轮对话中通常有两个或多个代理(agent),通过自然语言的方式交替进行多轮交互,从而使得对话持续。多轮对话例如,在电商平台的用户和客服之间,通过语音、文字等方式进行多轮的沟通和交流,以达到解决某种问题的目的。在多轮交互的过程中,需要对语句的意图进行识别,即根据当前多轮交互的自然语言判断用户的真实意图,辅助平台更好的理解当前交互的语义,为后台服务器生成准确的自动回复提供基础,以提升对话系统的自动化程度。相关技术中,采用机器监督学习模型根据当前语句的文本提取对应的特征,进而通过事先训练好的机器学习模型,将当前样本分到某一类意图上。这种方式下,对当前语句的意图识别是基于单句的,即针对多轮交互中每一语句采用同样的机器学习模型进行意图识别,多轮交互的意图识别效果不佳。技术实现要素:本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种基于多轮交互的意图识别方法,能够有效提升多轮交互的意图识别效果。本发明的另一个目的在于提出一种基于多轮交互的意图识别装置。为达到上述目的,本发明第一方面实施例提出的基于多轮交互的意图识别方法,包括:获取待识别的当前语句对应的多个分词;获取所述当前语句上文的多条语句中,每条语句对应的意图;提取所述多个分词之间的第一预设特征,并提取多个意图之间的第二预设特征;基于所述第一预设特征和所述第二预设特征对所述当前语句的意图进行识别。本发明第一方面实施例提出的基于多轮交互的意图识别方法,通过获取当前语句上文的多条语句中每条语句对应的意图,而不仅仅是根据当前语句提取对应的特征对意图进行识别,由于一组多轮交互过程中,当前语句与上文的多条语句存在相关性,因此,能够有效提升多轮交互的意图识别效果。为达到上述目的,本发明第二方面实施例提出的基于多轮交互的意图识别装置,包括:分词获取模块,用于获取待识别的当前语句对应的多个分词;意图获取模块,用于获取所述当前语句上文的多条语句中,每条语句对应的意图;提取模块,用于提取所述多个分词之间的第一预设特征,并提取多个意图之间的第二预设特征;识别模块,用于基于所述第一预设特征和所述第二预设特征对所述当前语句的意图进行识别。本发明第二方面实施例提出的基于多轮交互的意图识别装置,通过获取当前语句上文的多条语句中每条语句对应的意图,而不仅仅是根据当前语句提取对应的特征对意图进行识别,由于一组多轮交互过程中,当前语句与上文的多条语句存在相关性,因此,能够有效提升多轮交互的意图识别效果。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1是本发明一实施例提出的基于多轮交互的意图识别方法的流程示意图;图2是本发明另一实施例提出的基于多轮交互的意图识别方法的流程示意图;图3是本发明一实施例提出的基于多轮交互的意图识别装置的结构示意图;图4是本发明另一实施例提出的基于多轮交互的意图识别装置的结构示意图。具体实施方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。图1是本发明一实施例提出的基于多轮交互的意图识别方法的流程示意图。本实施例中基于多轮交互的意图识别方法可以被配置在基于多轮交互的意图识别装置中。该基于多轮交互的意图识别装置可以设置在服务器中,或者也可以设置在电子设备中,本发明实施例对此不作限制。其中,电子设备例如为个人电脑(personalcomputer,pc),云端设备或者移动设备,移动设备例如智能手机,或者平板电脑等。需要说明的是,本发明实施例的执行主体,在硬件上可以例如为服务器/电子设备中的中央处理器(centralprocessingunit,cpu),在软件上可以例如为服务器/电子设备中的应用程序,对此不作限制。该基于多轮交互的意图识别方法可以应用在nlp的人机交互中。参见图1,该方法包括:s11:获取待识别的当前语句对应的多个分词。其中,待识别的当前语句为多轮交互中,当前需要对其意图进行识别的语句。该语句的具体形式可以例如为文本形式。分词是将当前语句中连续的字符分割成词。可选地,可以基于词典匹配的分词方法,或者也可以基于机器学习方法对当前语句进行分词,得到对应的多个分词,对此不作限制。例如,一个电商平台用户与客服之间的多轮交互可以如下表1示意:表1顺序语句意图用户第1句你好!打招呼客服第1句您好,有什么可以帮您?用户第2句我要点个外卖。订外卖客服第2句想吃什么呢?用户当前语句肯德基到家待识别意图其中,待识别的当前语句为“肯德基到家”,进而,待识别的当前语句对应的多个分词为“肯德基”“到”“家”,对此不作限制。s12:获取当前语句上文的多条语句中,每条语句对应的意图。在本发明的实施例中,当前语句上文的多条语句为在一组多轮交互过程中,当前语句之前的一条或者多条语句,通过获取当前语句上文的多条语句中每条语句对应的意图,而不仅仅是根据当前语句的文本提取对应的特征,进而通过事先训练好的机器学习模型,将当前样本分到某一类意图上,由于一组多轮交互过程中,当前语句与上文的多条语句存在相关性,因此,能够有效提升多轮交互的意图识别效果。例如,参考表1,当前语句上文的多条语句可以例如为,“你好!”“我要点个外卖。”,而与每条语句对应的意图例如为,“打招呼”“订外卖”。s13:提取多个分词之间的第一预设特征,并提取多个意图之间的第二预设特征。可选地,第一预设特征和第二预设特征为n-gram特征,或者,也可以为其它能够表征相邻字之间相关性的特征,例如,也可以采用gram关联矩阵对n-gram特征进行统计与合并,并将合并处理后的特征作为第一预设特征或者第二预设特征,对此不作限制。其中,根据外部指令对n-gram特征中的n值进行设定,对此不作限制。本实施例中,通过提取多个分词和多个意图之间的n-gram特征,算法实现简便,采用n-gram特征能够表征相邻字之间相关性,不需要做特殊的特征提取,使得该方法有很好的通用性。当n增大时,意图识别的效果会提升,但同时会增加基于多轮交互的意图识别方法的复杂度。因此,可以根据实际使用需求对n-gram特征中的n值进行设定,实现平衡基于多轮交互的意图识别方法的效率与复杂度,由于将多个分词之间或者多个意图之间的相关性纳入意图识别考量范畴,更好地识别出多轮交互中的意图变换,从而提升意图识别的准确率和召回率。例如,参见表1,假设n-gram特征为2-gram特征,则基于上述分词“肯德基”“到”“家”,提取多个分词之间的2-gram特征,(肯德基,到)、(到,家),提取多个意图之间的2-gram特征:(打招呼,订外卖)。s14:基于第一预设特征和第二预设特征对当前语句的意图进行识别。可选地,可以基于adaboost分类器、第一预设特征和第二预设特征对当前语句的意图进行识别。在本发明的实施例中,可以预先确定当前语句的多个可能的意图,并基于第一预设特征和第二预设特征训练多个不同的分类器(弱分类器),进而,将多个弱分类器集合起来,构成一个更强的最终分类器(强分类器),并对第一预设特征和第二预设特征迭代训练,确定每个可能的意图对应的置信度,通过该置信度对当前语句的意图进行识别。在本发明的实施例中,参见表2,为基于adaboost分类器、第一预设特征和第二预设特征对当前语句的意图进行识别得到的意图结果。表2意图置信度订外卖0.7叫车0.2其他0.1由于意图“订外卖”的置信度最高,因此,可以将“订外卖”作为对当前语句的意图进行识别的结果。本实施例中,通过获取当前语句上文的多条语句中每条语句对应的意图,而不仅仅是根据当前语句提取对应的特征对意图进行识别,由于一组多轮交互过程中,当前语句与上文的多条语句存在相关性,因此,能够有效提升多轮交互的意图识别效果。图2是本发明另一实施例提出的基于多轮交互的意图识别方法的流程示意图。参见图2,该方法包括:s21:根据外部指令对n-gram特征中的n值进行设定。其中,外部指令可以为用户根据实际需求生成的,该外部指令用于触发对n-gram特征中的n值进行设定。在本发明的实施例中,当n增大时,意图识别的效果会提升,但同时会增加基于多轮交互的意图识别方法的复杂度。因此,可以根据实际使用需求对n-gram特征中的n值进行设定,实现平衡基于多轮交互的意图识别方法的效率与复杂度,并提升方法的灵活性和适用范围。s22:获取待识别的当前语句对应的多个分词。其中,待识别的当前语句为多轮交互中,当前需要对其意图进行识别的语句。该语句的具体形式可以例如为文本形式。分词是将当前语句中连续的字符分割成词。可选地,可以基于词典匹配的分词方法,或者也可以基于机器学习方法对当前语句进行分词,得到对应的多个分词,对此不作限制。例如,用s1,s2,...,sk表示多轮交互中已经发生的k轮交互,用i1,i2,...,ik表示对k轮交互中每条语句经过意图识别模型所识别出来k个意图,待识别的当前语句为sk+1,则对sk+1进行分词得到的多个分词可以表示为w1,w2,...,wn。s23:获取当前语句上文的多条语句中,每条语句对应的意图。参见上述示例,每条语句对应的意图为i1,i2,...,ik。在本发明的实施例中,当前语句上文的多条语句为在一组多轮交互过程中,当前语句之前的一条或者多条语句,通过获取当前语句上文的多条语句中每条语句对应的意图,而不仅仅是根据当前语句的文本提取对应的特征,进而通过事先训练好的机器学习模型,将当前样本分到某一类意图上,由于一组多轮交互过程中,当前语句与上文的多条语句存在相关性,因此,能够有效提升多轮交互的意图识别效果。s24:提取多个分词中相邻的两个分词之间的n-gram特征,并将相邻的两个分词之间的n-gram特征作为第一预设特征。在本发明的实施例中,以n-gram特征中的n值为2进行示例,对此不作限制。参见上述示例,对多个分词w1,w2,...,wn,提取相邻的两个意图之间的2-gram特征为(w1,w2),(w2,w3),(w3,w4),...,(wn-1,wn),并将(w1,w2),(w2,w3),(w3,w4),...,(wn-1,wn)作为第一预设特征。s25:提取多个意图中相邻的两个意图之间的n-gram特征,并将相邻的两个意图之间的n-gram特征作为第二预设特征。参见上述示例,对多个意图i1,i2,...,ik,提取相邻的两个意图之间的2-gram特征为(i1,i2),(i2,i3),(i3,i4),...,(ik-1,ik),并将(i1,i2),(i2,i3),(i3,i4),...,(ik-1,ik)作为第二预设特征。通过提取多个分词和多个意图之间的n-gram特征,算法实现简便,采用n-gram特征能够表征相邻字之间相关性,不需要做特殊的特征提取,使得该方法有很好的通用性。s26:将第一预设特征和第二预设特征作为adaboost分类器的输入。可以理解的是,基于adaboost分类器的算法原理,可以分别将每个第一预设特征,以及每个第二预设特征分别作为一个弱分类器的输入,进而对该多个弱分类器进行训练合成一个强分类器,对此不作限制。s27:通过adaboost分类器确定当前语句对应的多个可能的意图中,置信度最高的意图。s28:将置信度最高的意图作为当前语句的意图。在本发明的实施例中,可以预先确定当前语句的多个可能的意图,并基于第一预设特征和第二预设特征训练多个不同的分类器(弱分类器),进而,将多个弱分类器集合起来,构成一个更强的最终分类器(强分类器),并对第一预设特征和第二预设特征迭代训练,确定每个可能的意图对应的置信度,通过该置信度对当前语句的意图进行识别。本实施例中,根据实际使用需求对n-gram特征中的n值进行设定,实现平衡基于多轮交互的意图识别方法的效率与复杂度,并提升方法的灵活性和适用范围。通过获取当前语句上文的多条语句中每条语句对应的意图,而不仅仅是根据当前语句提取对应的特征对意图进行识别,由于一组多轮交互过程中,当前语句与上文的多条语句存在相关性,因此,能够有效提升多轮交互的意图识别效果。通过提取多个分词和多个意图之间的n-gram特征,算法实现简便,采用n-gram特征能够表征相邻字之间相关性,不需要做特殊的特征提取,使得该方法有很好的通用性。图3是本发明一实施例提出的基于多轮交互的意图识别装置的结构示意图。参见图3,该装置300包括:分词获取模块301、意图获取模块302、提取模块303,以及识别模块304。其中,分词获取模块301,用于获取待识别的当前语句对应的多个分词。意图获取模块302,用于获取当前语句上文的多条语句中,每条语句对应的意图。提取模块303,用于提取多个分词之间的第一预设特征,并提取多个意图之间的第二预设特征。可选地,第一预设特征和第二预设特征为n-gram特征。可选地,一些实施例中,参见图4,提取模块303,包括:第一提取子模块3031,用于提取多个分词中相邻的两个分词之间的n-gram特征,并将相邻的两个分词之间的n-gram特征作为第一预设特征。第二提取子模块3032,用于提取多个意图中相邻的两个意图之间的n-gram特征,并将相邻的两个意图之间的n-gram特征作为第二预设特征。识别模块304,用于基于第一预设特征和第二预设特征对当前语句的意图进行识别。可选地,一些实施例中,参见图4,识别模块304,包括:输入子模块3041,用于将第一预设特征和第二预设特征作为adaboost分类器的输入。确定子模块3042,用于通过adaboost分类器确定当前语句对应的多个可能的意图中,置信度最高的意图。识别子模块3043,用于将置信度最高的意图作为当前语句的意图。可选地,一些实施例中,参见图4,该装置300还包括:设定模块305,用于根据外部指令对n-gram特征中的n值进行设定。需要说明的是,前述图1-图2实施例中对基于多轮交互的意图识别方法实施例的解释说明也适用于该实施例的基于多轮交互的意图识别装置300,其实现原理类似,此处不再赘述。本实施例中,通过获取当前语句上文的多条语句中每条语句对应的意图,而不仅仅是根据当前语句提取对应的特征对意图进行识别,由于一组多轮交互过程中,当前语句与上文的多条语句存在相关性,因此,能够有效提升多轮交互的意图识别效果。需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属
技术领域
的技术人员所理解。应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。本
技术领域
的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1