发明内容
鉴于上述问题,本公开提供了一种用于业务问题识别的方法及装置。利用该方法及装置,可以通过将业务问题识别解耦为问句识别和业务识别,并且使用多个业务场景通用的问句模板集来执行问句识别,以及利用定制化的文本分类模型来针对特定业务执行业务识别,从而使得可以仅仅通过修改定制化的文本分类模型来适用于针对不同业务的业务问题识别,而无需修改问句模板集以及相应的问句识别处理,由此降低针对不同业务场景的适应性修改的复杂度。
根据本公开的一个方面,提供了一种用于业务问题识别的方法,包括:使用问句模板集来对输入语句进行模板匹配,以识别所述输入语句是否是问句语句,其中,所述问句模板集是使用所支持的多个业务的问句格式信息创建的;以及在所述输入语句是问句语句时,使用文本分类模型来对所述输入语句进行文本分类处理,以确定所述输入语句是否是目标业务的业务问题。
可选地,在上述方面的一个示例中,所述文本分类模型是利用所述目标业务的业务知识库中的知识点标题、答案内容以及通用闲聊语料信息训练出的。
可选地,在上述方面的一个示例中,使用文本分类模型来对所述输入语句进行文本分类处理,以确定所述输入语句是否是目标业务的业务问题可以包括:对所述输入语句进行分词处理;以及使用所述文本分类模型来基于经过所述分词处理后得到的分词进行文本分类处理。
可选地,在上述方面的一个示例中,所述文本分类模型包括下述文本分类模型中的一种:快速文本(FastText)模型、卷积神经网络(Convolutional Neural Network,CNN)模型和长短期记忆网络(Long Short-Term Memory,LSTM)模型。
可选地,在上述方面的一个示例中,所采用的文本分类模型的类型是基于用于所述文本分类模型训练的训练集的数据量尺寸来确定的。
可选地,在上述方面的一个示例中,所述输入语句是即时通信应用中的群聊消息中的消息语句。
可选地,在上述方面的一个示例中,所述方法还包括:在确定所述输入语句是业务问题时,提醒对所述输入语句进行响应处理。
根据本公开的另一方面,提供一种用于业务问题识别的装置,包括:问句识别单元,被配置为使用问句模板集来对输入语句进行模板匹配,以识别所述输入语句是否是问句语句,其中,所述问句模板集是使用所支持的多个业务的问句格式信息创建的;以及业务问题确定单元,被配置为在所述输入语句是问句语句时,使用文本分类模型来对所述输入语句进行文本分类处理,以确定所述输入语句是否是目标业务的业务问题。
可选地,在上述方面的一个示例中,所述装置还可以包括:训练单元,被配置为利用所述目标业务的业务知识库中的知识点标题、答案内容以及通用闲聊语料信息训练所述文本分类模型。
可选地,在上述方面的一个示例中,所述业务问题确定单元可以包括:分词处理模块,被配置为对所述输入语句进行分词处理;以及文本分类处理模块,被配置为使用所述文本分类模型来基于经过所述分词处理后得到的分词进行文本分类处理。
可选地,在上述方面的一个示例中,所述文本分类模型包括下述文本分类模型中的一种:FastText模型、CNN模型和LSTM模型。
可选地,在上述方面的一个示例中,所采用的文本分类模型的类型是基于用于所述文本分类模型训练的训练集的数据量尺寸来确定的。
可选地,在上述方面的一个示例中,所述装置还可以包括:提醒单元,被配置为在确定所述输入语句是业务问题时,提醒对所述输入语句进行响应处理。
根据本公开的另一方面,提供一种计算设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的用于业务问题识别的方法。
根据本公开的另一方面,提供一种非暂时性机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的用于业务问题识别的方法。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
群聊技术是即时通信应用软件的一项重要功能,比如微信、钉钉和百度Hi都支持群聊技术。群聊技术可以允许在现实生活中的多个用户聚集在一起进行信息的交互与分享。
针对一些面向企业的即时通信应用,比如钉钉等,结合实际需要,通常在普通群聊的基础上开发了服务群功能。在服务群中,既存在提出问题的客户,也存在解答问题的客服人员,比如客服机器人。除了在服务群中发送普通聊天消息之外,客户还可以将业务咨询以普通聊天消息的形式发送到服务群中,以寻求客服人员(比如客服机器人等)对客户提出的业务咨询进行响应。由于在服务群中既存在需要客服人员及时处理的业务咨询消息,也存在不需要客服人员处理的普通聊天,为了提高客服效率,减轻客户负担,需要提供一种业务问题识别机制来对业务咨询问题进行有效识别。
在现有的业务问题识别机制中,针对各个服务商所提供的业务服务场景,创建一种业务问题识别模型。然后,利用该业务问题识别模型来进行业务问题识别。由于每个服务商对于“业务问题”的定义存在差异,由此针对各个服务商所提供的业务服务场景,需要提供一种定制的业务问题识别模型。如果业务场景发生改变,所定制的业务问题识别模型的整体架构都需要相应修改,包括问句判断部分和业务识别部分,从而造成现有的业务问题识别机制针对不同业务场景的适应性修改的复杂度较高。
在本公开所提供的业务问题识别机制中,考虑到在不同的业务场景下,问句的定义通常大同小异,从而可以将业务问题识别解耦为问句识别部分和业务识别部分,基于各个业务场景下的问句格式信息来创建通用的问句模板集来进行问句识别,并且针对特定的业务场景,定制专用的业务识别模型来进行业务识别,由此,如果业务场景发生改变,仅仅需要修改业务识别部分所对应的业务识别模型,而无需修改问句识别部分,从而降低针对不同业务场景的适应性修改的复杂度。
图1示出了根据本公开的实施例的客服端的界面的群聊消息的一个示例的示意图。图1中所示的群聊消息界面是所创建的钉钉服务端的界面10。
如图1中所示,界面10中示出了用户发出的普通聊天消息“天气怎么样?”、“昨天的电影很好看!”以及业务咨询消息“钉钉是什么?”。此外,界面10中还示出了客服机器人针对业务咨询消息“钉钉是什么?”的回复消息“阿里巴巴集团为中国企业打造的免费沟通和协同的多端平台”。
图2示出了根据本公开的实施例的用于业务问题识别的装置200(下文中称为业务问题识别装置200)的方框图。
如图2所示,业务问题识别装置200包括问句识别单元210和业务问题确定单元220。
问句识别单元210被配置为使用问句模板集来对输入语句进行模板匹配,以识别所述输入语句是否是问句语句。这里,问句模板集是使用所支持的多个业务的问句格式信息创建的。在本公开中,问句格式信息可以包括通用问句格式信息和各个业务的业务场景问句格式信息。通用问句格式可以是指语法意义上的问句格式,比如“天气怎么样?”、“钉钉是什么?”、“为什么余额宝的收益变低?”等。业务场景问句格式可以是指用于描述某种事实以寻求响应(比如,希望他人帮助处理)的陈述句格式,比如“考勤打卡失败了”、“帮我审批一下”等。
在本公开中,输入语句可以是用户在业务问题识别装置上实时输入,例如,用户经由业务问题识别装置的输入装置或输入界面(比如,安装有业务问题识别程序/模块的客户端的输入界面)实时输入。在本公开的一个示例中,输入语句可以是即时通信应用中的群聊消息中的消息语句。
在对输入语句进行模板匹配时,使用该输入语句来遍历问句模板集中的所有问句模板。如果存在匹配的模板,则认为该输入语句是问句语句。否则,认为该输入语句不是问句语句。
业务问题确定单元220被配置为在输入语句被识别为是问句语句时,使用文本分类模型来对该输入语句进行文本分类处理,以确定该输入语句是否是目标业务的业务问题。这里,目标业务是指服务提供商所支持的业务。例如,钉钉服务群所支持的业务,比如支付宝业务等。
在本公开的一个示例中,文本分类模型可以包括下述文本分类模型中的一种:FastText模型、CNN模型和LSTM模型。
在本公开中,文本分类模型是基于目标业务的业务知识库中的知识点标题、答案内容以及通用闲聊语料信息来训练。图3示出了根据本公开的实施例的业务知识库的结构的一个示例的示意图。图3所示的业务知识库包括3条知识点302,304和306,每条知识点包括知识点标题和答案内容。通用闲聊语料信息例如是通用的聊天信息,比如“天气怎么样?”等。
在进行文本分类模型训练时,将业务知识库中的所有知识点的标题和内容作为正样本,并从预设的闲聊语料库中随机选取预定数目条语料信息作为负样本,例如,“你好”、“今天天气怎么样”等,由此组成文本分类模型的训练集。
例如,针对图3中示出的业务知识库,将知识点标题“花呗是什么?”、“余额宝是什么?”、“密码忘记怎么办?”以及对应的答案内容“花呗是一种借贷产品”、“余额宝是一种货币基金”、“使用手机找回密码”总共6句作为正样本,并且从闲聊语料库中随机选取6条闲聊语料信息作为负样本,由此组成总共12条的训练集。
在进行文本分类模型训练时,首先,将训练集中的数据转换为文本分类模型所规定的数据格式,例如,FastText所规定的数据格式。例如,正样本:花呗是什么__label__biz,和负样本:今天天气怎么样__label__chat。然后,使用经过数据格式转换后的训练集来对文本分类模型训练。
在本公开的一个示例中,业务问题识别装置200还可以包括训练单元230。训练单元230被配置为利用目标业务的业务知识库中的知识点标题、答案内容以及通用闲聊语料信息训练文本分类模型。
在本公开的一个示例中,所采用的文本分类模型的类型可以是基于用于文本分类模型训练的训练集的数据量尺寸来确定的。例如,在用于文本分类模型训练的训练集是大数据量训练集时,可以使用CNN模型和LSTM模型。在用于文本分类模型训练的训练集是小数据量训练集时,可以使用FastText模型。通常,由于成本考虑,在为客户提供定制化的文本分类模型时,期望使用较小数据量的训练集来执行文本分类模型训练,相应地,文本分类模型优选使用FastText模型。
在本公开中,业务问题确定单元220包括分词处理模块221和文本分类处理模块223。在进行业务问题确定时,分词处理模块221对输入语句进行分词处理。例如,将被识别为问句的输入语句“花呗如何开通?”分词为“花呗”、“如何”和“开通”。然后,文本分类处理模块223使用文本分类模型来基于经过所述分词处理后得到的分词进行文本分类处理。
例如,在文本分类模型是FastText模型的情况下,首先,将分词“花呗”、“如何”和“开通”表示为三个词向量,例如,利用Word2Vec来将分词“花呗”、“如何”和“开通”表示为3个词向量。接着,利用卷积处理来将所得到的3个词向量转换为语义矩阵。随后,利用池化计算来将语义矩阵转换为语义向量。最后,利用Softmax层来进行分类,以得到分类为业务类(biz)和闲聊类(chat)两个类目的分值,并且将分值较大的类目作为文本分类结果输出,即,在被识别为是业务类时,确定为业务问题,以及在识别为是闲聊类时,确定不是业务问题。
此外,可选地,业务问题识别装置200还可以包括提醒单元240。提醒单元240被配置为在确定输入语句是业务问题时,提醒对输入语句进行响应处理。例如,提醒单元240被配置为在确定输入语句是业务问题时,向客服人员发送提示,以提醒客服人员(例如,客服机器人)对输入语句进行响应处理。所述提示例如可以采用文本格式、视频格式、音频格式或者下游系统能够识别的其它格式来发送给客服人员。
图4示出了根据本公开的实施例的用于业务问题识别的方法的流程图
如图4所示,首先,在块410,利用目标业务的业务知识库中的知识点标题、答案内容以及通用闲聊语料信息来训练文本分类模型。块410的操作可以参照上面参照图2描述的训练单元230的操作。
在进行业务问题识别时,在块420,使用问句模板集来对输入语句进行模板匹配,以识别该输入语句是否是问句语句。这里,问句模板集是使用所支持的多个业务的问句格式信息来创建的。块420的操作可以参照上面参照图2描述的问句识别单元210的操作。
然后,在块430,在输入语句被识别为是问句语句时,使用训练好的文本分类模型来对输入语句进行文本分类处理,以确定该输入语句是否是目标业务的业务问题。块430的操作可以参照上面参照图2描述的业务问题识别单元220的操作。
此外,可选地,在图4中示出的用于业务问题识别的方法中,还可以包括块440的操作。在块440中,在确定输入语句是业务问题时,提醒对输入语句进行响应处理。块440的操作可以参照上面参照图2描述的提醒单元240的操作。
如上参照图1到图4,对根据本公开的用于业务问题识别的方法和装置的实施例进行了描述。
利用根据本公开的用于业务问题识别的方法和装置,通过将业务问题识别解耦为问句识别部分和业务识别部分,基于各个业务场景下的问句格式信息来创建通用的问句模板集来进行问句识别,并且针对特定的业务场景,定制专用的业务识别模型来进行业务识别,由此,如果业务场景发生改变,仅仅需要修改业务识别部分所对应的业务识别模型,而无需修改问句识别部分,从而降低针对不同业务场景的适应性修改的复杂度。
此外,利用根据本公开的用于业务问题识别的方法和装置,通过基于用于文本分类模型训练的训练集的数据量尺寸来确定所采用的文本分类模型的类型,可以基于不同的应用场景来选用适合的文本分类模型进行业务问题识别,由此提高业务问题识别效率。
如上参照图1到图4,对根据本公开的用于业务问题识别的方法和装置的实施例进行了描述。上述业务问题识别装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图5示出了根据本公开的实施例的用于业务问题识别的计算设备500的方框图。根据一个实施例,计算设备500可以包括至少一个处理器510,该至少一个处理器510执行在计算机可读存储介质(即,存储器520)中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器520中存储计算机可执行指令,其当执行时使得至少一个处理器510:使用问句模板集来对输入语句进行模板匹配,以识别所述输入语句是否是问句语句,其中,所述问句模板集是使用所支持的多个业务的问句格式信息创建的;以及在所述输入语句是问句语句时,使用文本分类模型来对所述输入语句进行文本分类处理,以确定所述输入语句是否是目标业务的业务问题。
应该理解,在存储器520中存储的计算机可执行指令当执行时使得至少一个处理器510进行本公开的各个实施例中以上结合图1-4描述的各种操作和功能。
在本公开中,计算设备500例如可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
根据一个实施例,提供了一种比如非暂时性机器可读介质的程序产品。非暂时性机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图1-4描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。