一种训练问题识别模型的方法和系统与流程

文档序号:21273801发布日期:2020-06-26 23:06阅读:247来源:国知局
一种训练问题识别模型的方法和系统与流程

本申请涉及计算机技术领域,特别涉及一种训练问题识别模型的方法和系统。



背景技术:

随着互联网技术的发展,即时通讯(instantmessaging,im)软件在人们的生活和工作中都起到了举足轻重的作用。客服服务是im软件中常见的功能,客服服务可以针对用户发送的问题给出解答,客服服务包括人工客服和智能客服。

然而,用户使用im软件过程,并非用户输入的内容都是问题,并非都需要客服给出反馈,例如,用户与其余用户的会话沟通以及与业务相关的非问题文本。因此,亟需一种可以准确识别用户输入的内容是否为问题的方法。



技术实现要素:

本说明书一个方面提供一种训练问题识别模型的方法。所述方法包括:获取多个第一文本和多个第二文本,所述第一文本和所述第二文本分别为问题类文本和非问题类文本;生成模型基于所述第一文本与所述第二文本之间的相似度,为所述第一文本选择满足第一预设条件的至少一个所述第二文本,生成至少一个文本对;将所述文本对输入初始问题识别模型进行训练,训练得到目标问题识别模型。

本说明书另一个方面提供一种训练问题识别模型的系统。所述系统包括:文本获取模块:获取多个第一文本和多个第二文本,所述第一文本和所述第二文本分别为问题类文本和非问题类文本;文本对生成模块:生成模型基于所述第一文本与所述第二文本之间的相似度,为所述第一文本选择满足第一预设条件的至少一个所述第二文本,生成至少一个文本对;模型训练模块:将所述文本对输入初始问题识别模型进行训练,训练得到目标问题识别模型。

本说明书另一个方面提供一种训练问题识别模型的装置,包括处理器,所述处理器用于执行如上任一项所述的方法。

本说明书另一个方面提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行如上任一项所述的方法。

附图说明

本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:

图1是根据本说明书一些实施例所示的训练问题识别模型系统的示例性应用场景示意图;

图2是根据本说明书一些实施例所示的训练问题识别模型系统的示例性模块图;

图3是根据本说明书一些实施例所示的训练问题识别模型方法的示例性流程图;

图4是根据本说明书一些实施例所示的生成模型的训练过程的示例性流程图。

具体实施方式

为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。

应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。

如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。

本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。

图1是根据本说明书的一些实施例所示的训练问题识别模型系统的示例性应用场景示意图。

训练问题识别模型系统100可以通过实施本申请中披露的方法和/或过程来训练得到目标问题识别模型,并基于该目标问题识别模型识别文本是否为问题文本。训练问题识别模型系统100可以应用于不同客服场景下的智能客服机器人。例如,即时通讯(instantmessaging,im)场景、智能导航场景以及票务订购等场景。

通常,智能客服机器人需要根据用户输入的问题为其推荐多个可能的答案。但是用户输入的可能并不是问题,而是一些无需回答的内容,例如,该用户与其余用户或人工客服的会话沟通以及与业务相关的非问题文本。从而可能导致智能客服机器人对这些无需回答的内容进行错误识别的情况,增加了智能客服机器人或人工客服的负担。因此,可以通过系统100对用户输入的文本进行准确识别,使得客服仅仅只回答用户的问题文本,减轻客服的负担,从而提高客服的效率。

如图1所示,训练问题识别模型系统100可以包括服务器110、网络120、用户端130、数据库140。服务器110可以包含处理设备112。

在一些实施例中,服务器110可以用于处理与数据处理相关的信息和/或数据。在一些实施例中,服务器110可以通过网络120访问储存于用户端130和数据库140中的信息和/或资料。例如,服务器110可以通过网络120获取数据库140中问题文本和非问题文本。又例如,服务器110可以通过网络120接收用户在用户端130输入的内容。在一些实施例中,服务器110可以直接与数据库140和/或用户端130连接以访问存储于其中的信息和/或资料。服务器110可以是独立的服务器或者服务器组。该服务器组可以是集中式的或者分布式的(如:服务器110可以是分布系统)。在一些实施例中,服务器110可以是区域的或者远程的。在一些实施例中,服务器110可以在云平台上实施,或者以虚拟方式提供。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分散式云、内部云等中的一种或其任意组合。

在一些实施例中,服务器110可包含处理设备112。该处理设备112可处理数据和/或信息以执行一个或多个本申请中描述的功能。例如,处理设备112可以基于获取的问题文本和非问题文本训练目标问题识别模型。又例如,处理设备112可以通过目标问题识别模型确定用户端130输入的内容是否为问题。又例如,若输入的内容为问题,处理设备112可以为该内容确定相应的答案。在一些实施例中,处理设备112可包含一个或多个子处理设备(例如,单芯处理设备或多核多芯处理设备)。仅仅作为范例,处理设备112可包含中央处理器(cpu)、专用集成电路(asic)、专用指令处理器(asip)、图形处理器(gpu)、物理处理器(ppu)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编辑逻辑电路(pld)、控制器、微控制器单元、精简指令集电脑(risc)、微处理器等或以上任意组合。

在一些实施例中,网络120可促进数据和/或信息的交换,数据或信息可以包括用户端130输入的内容、数据库140中存储的问题类文本和非问题类文本、服务器110中的训练目标问题识别模型和训练生成模型的参数等。在一些实施例中,训练问题识别模型系统100中的一个或多个组件(例如,服务器110、用户端130、数据库140)可通过网络120发送数据和/或信息给训练问题识别模型系统100中的其他组件。在一些实施例中,网络120可是任意类型的有线或无线网络。例如,网络120可包括缆线网络、有线网络、光纤网络、电信网络、内部网络、网际网络、区域网络(lan)、广域网络(wan)、无线区域网络(wlan)、都会区域网络(man)、公共电话交换网络(pstn)、蓝牙网络、zigbee网络、近场通讯(nfc)网络等或以上任意组合。在一些实施例中,网络120可包括一个或多个网络进出点。例如,网络120可包含有线或无线网络进出点,如基站和/或网际网络交换点120-1、120-2、…,通过这些进出点,训练问题识别模型系统100的一个或多个组件可连接到网络120上以交换数据和/或信息。

在一些实施例中,用户端130可以是一台计算设备或计算设备组。在一些实施例中,用户端130具体输入的功能,可以用于用户输入问题或其它内容。例如,打字输入、语音输入等。所述计算设备可以包括手机130-1、平板电脑130-2、笔记本电脑130-3、台式计算机130-4等中的一种或其任意组合。所述计算设备组可以是集中式或分布式的。在一些实施例中,用户端130可以将输入的内容发送到服务器110。相应地,服务器110可以根据输入内容确定对应的答案,并将答案发送到客户端130。

在一些实施例中,数据库140可以用于问题类文本和非问题类文本。数据库140可以在在单个中央服务器、通过通信链路连接的多个服务器或多个个人设备中实现。数据库140可以由多个个人设备和云服务器生成。在一些实施例中,数据库140可以用于提供所需要数据的器件或原始媒体,还可以用于数据的存储、加密等操作。在一些实施例中,数据库140可存储供服务器110执行或使用的信息和/或指令,以执行本申请中描述的示例性方法。在一些实施例中,数据库140可包括大容量存储器、可移动存储器、挥发性读写存储器(例如,随机存取存储器ram)、只读存储器(rom)等或以上任意组合。在一些实施例中,数据库140可在云平台上实现。例如,该云平台可包括私有云、公共云、混合云、社区云、分散式云、内部云等或以上任意组合。

图2根据本说明书的一些实施例所示的训练问题识别模型系统的示例性模块图。

该系统200可以应用于互联网服务的线上服务平台。在一些实施例中,该系统200可以用于包含智能答复系统的线上服务平台。例如,即时通讯平台、电商平台、线上咨询平台以及公共服务平台等。

如图2所示,该系统200可以包括文本获取模块210、文本对生成模块220以及模型训练模块230。

文本获取模块210可以用于获取多个第一文本和多个第二文本,所述第一文本和所述第二文本分别为问题类文本和非问题类文本。

文本对生成模块220可以用于生成模型基于所述第一文本与所述第二文本之间的相似度,为所述第一文本选择满足第一预设条件的至少一个所述第二文本,生成至少一个文本对。在一些实施例中,所述生成模型包括第二文本编码模型和相似度计算模型,所述第二文本编码模型用于对输入的文本对进行向量表示,得到所述输入的文本对中不同文本的向量,所述相似度计算模型基于所述不同文本的向量计算所述不同文本之间相似度。

模型训练模块230可以用于将所述文本对输入初始问题识别模型进行训练,训练得到目标问题识别模型。在一些实施例中,模型训练模块230还可以用于当训练得到的中间问题识别模型的识别准确率满足第二预设条件时,将所述中间问题识别模型确定为所述目标问题识别模型。在一些实施例中,所述初始问题识别模型可以包括第一文本编码模型和用于分类的神经网络,所述第一文本编码模型用于对输入的文本进行向量表示,得到所述输入的文本的向量,所述用于分类的神经网络用于基于所述输入的文本的向量确定所述输入的文本的类别。

在一些实施例中,所述第一文本编码模型和所述第二文本编码模型可以共用同一个编码模型。在一些实施例中,所述第一文本编码模型或/和所述第二文本编码模型可以由wordembedding和bilstm组成,所述输入的文本或所述输入的文本对依次经过wordembedding和bilstm生成对应的向量。在一些实施例中,所述相似度计算模型为esim模型。关于训练问题识别模型的更多细节请参见图3及其相关描述,在此不再赘述。

在一些实施例中,所述模型训练模块230用于获取初始生成模型;将所述文本对输入所述初始问题识别模型,输出所述文本对中第一文本和第二文本的分类结果;当所述文本对中第一文本或第二文本的真实标记与所述分类结果不一致时,将所述文本对作为所述初始生成模型的正样本输入所述初始生成模型进行训练,训练得到所述生成模型。关于训练生成模型的更多细节请参见图4及其相关描述,在此不再赘述。

该系统200还可以包括应用模块240,应用模块240可以用于获取实体对象输入的内容,将所述实体对象输入的内容输入所述目标问题识别模型,识别所述实体对象输入的内容是否为问题;是则执行回答所述输入的内容的提醒操作。

应当理解,图2所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。

需要注意的是,以上对于训练问题识别模型系统200及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,图2中披露的文本获取模块210、文本对生成模块220、模型训练模块230以及应用模块240可以是一个系统中的不同模块,也可以是一个模块实现上述的两个模块的功能。又例如,训练问题识别模型系统200中各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。

图3是根据本说明书的一些实施例所示的训练问题识别模型的方法的示例性流程图。如图3所示,该训练问题识别模型的方法300可以包括:

步骤310,获取多个第一文本和多个第二文本,所述第一文本和所述第二文本分别为问题类文本和非问题类文本。具体的,该步骤310可以由文本获取模块210执行。

文本可以是一句话、一个段落或者一篇文章。在一些实施例中,第一文本是可以是问题类文本,问题类文本是指用户提问的问题文本;第二文本可以是非问题类文本,非问题类文本是指用户提出的除问题文本以外的任何文本。

在一些实施例中,第一文本可以是客服场景中的问题文本。例如,用户需要智能客服机器人或人工客服回答的问题文本。对应地,第二文本可以是客服场景中的非问题类文本。例如,智能客服机器人或人工客服对用户的问题文本的回答文本,又例如,用户与智能客服、人工客服、或者其他用户的会话沟通。会话沟通可以是指用户的闲聊信息,无需智能客服机器人或人工客服进行回答。例如,用户输入的“我的花呗额度怎么这么低啊!”,又例如,用户输入的“我觉得花呗用起来很方便。”。

在一些实施例中,可以从客服与用户的服务日志获取第一文本和第二文本。在一些实施例中,可以通过读取存储的数据、调用相关接口或其他方式获取第一文本和第二文本。

步骤320,生成模型基于所述第一文本与所述第二文本之间的相似度,为所述第一文本选择满足第一预设条件的至少一个所述第二文本,生成至少一个文本对。具体的,该步骤320可以由文本对生成模块220执行。

生成模型可以是指用于生成文本对的模型,其中,文本对中的文本之间存在相似,例如,相似度大于预设阈值等。

在一些实施例中,生成模型包括第二文本编码模型和相似度计算模型。其中,第二文本编码模型用于对输入的文本进行向量表示,若输入的是文本对,则可以对输入的文本对进行向量表示,得到输入的文本对中不同文本的向量。例如,输入文本对a1和b1,则可以得到a1对应的向量、b1对应的向量。

在一些实施例中,第二文本编码模型可以由wordembedding和bilstm组成,输入的文本对依次经过wordembedding和bilstm生成对应的向量。其中,wordembedding即词嵌入模型,bilstm即双向长短时记忆循环神经网络。在一些实施例中,词嵌入模型(即wordembedding)可以包括但不限于以下之一:word2vec模型和tf-idf(termfrequency–inversedocumentfrequency,词频-逆向文件频率)模型。

具体地,词嵌入模型(即wordembedding)可以将文本对中每个文本的每个词分别映射到多维向量(也称词嵌入向量)。其中,word2vec模型和tf-idf模型生成的词嵌入向量包含了文本的语义特征。获取词嵌入向量之后,可以将每个文本对应的词嵌入向量输入至双向长短时记忆循环神经网络(即bilstm)中,得到每个文本的向量,即得到文本对中每个文本的向量bilstm由前向的lstm与后向的lstm组成,通过使用bilstm,使得文本生成的向量中包含了各自的上下文信息,提高了后续计算的相似度的准确率。

在一些实施例中,bilstm模型还可以由具有类似功能的模型实现,包括但不限于cnn、transformer、elmo、bert等,本实施例不做限制。其中,bert(bidirectionalencoderrepresentationsfromtransformers)模型即基于transformers的双向编码器。bert模型可以对文本进行编码,得到文本中各个字/词融合了全文语义信息后的向量表示。相似度计算模型基于不同文本的向量计算所述不同文本之间相似度。即,相似度计算模型可以基于文本对中的两个文本的向量计算两个文本的相似度。在一些实施例中,相似度可以通过距离来度量。具体地,可以通过计算第一文本的向量与第二文本的向量的距离,获取两者之间的相似度。其中,距离与相似度负相关,即距离越大,相似度越小。在一些实施例中,距离可以包括但不限于余弦距离、欧式距离、曼哈顿距离、马氏距离或闵可夫斯基距离等。

在一些实施例中,相似度计算模型可以为esim模型。esim模型即增强序列推断(enhancedsequentialinferencemodel)模型。其中,esim模型由三部分组成,分别为输入编码(inputencoding)、局部推断建模(localinferencemodeling)以及推断合成(inferencecomposition)。

具体地,输入编码(inputencoding)用于接收文本对两个文本编码后各自的文本向量;局部推断建模(localinferencemodeling)用于计算两个文本向量之间的attention权重、计算两个文本之间的交互表示以及增强局部推理信息;推断合成(inferencecomposition)用于提取局部推理信息,并将该局部推理信息输入至一个全连接层分类器中进行分类获取推断结果。关于训练生成模型的更多细节参见图4及其相关描述,此处不再赘述。

文本对是由两个文本组成。在一些实施例中,文本对可以由第一文本和第二文本组成。在一些实施例中,可以通过(sp,sn)表示文本对,其中,sp表示文本对中的第一文本,sn表示文本对中的第二文本。

在一些实施例中,生成模型可以基于第一文本与第二文本之间的相似度,为所述第一文本选择满足第一预设条件的至少一个第二文本,生成至少一个文本对。具体的,将第一文本和第二文本输入生成模型,生成模型可以计算第一文本和第二文本之间的相似度,当该相似度满足第一预设条件时,将该第一文本和该第二文本组成文本对。可以理解,将第一文本和第二文本输入生成模型之后,生成模型的第二编码模型先对该第一文本和第二文本进行向量表示,然后,生成模型的相似度计算模型可以计算第一文本的向量与第二文本的向量之间的相似度,获得第一文本与第二文本之间的相似度。

在一些实施例中,第一预设条件可以根据实际需求进行具体设置。例如,第一预设条件可以为第二文本与第一文本的相似度大于等于预设阈值。其中,预设阈值可以根据实际需求进行具体设置,例如0.9或者0.95等,通过设置不同的预设阈值可以选取具备不同相似度的第二文本。又例如,预设条件为相似度排序的topn,n可以为1、2等。

例如,第一预设条件为相似度最大,第一文本有a1,a2、a3,第二文本有b1、b2、b3、b4、b5,生成模型计算得到a1分别与b1、b2、b3、b4、b5的相似度分别为0.65、0.87、0.96、0.34、0.67,生成模型计算得到a2分别与b1、b2、b3、b4、b5的相似度分别为0.53、0.36、0.90、0.95、0.61,生成模型计算得到a3分别与b1、b2、b3、b4、b5的相似度分别为0.92、0.54、0.78、0.32、0.46,则可以生成文本对(a1、b3)、(a2、b4)和(a3、b1)。

步骤330,将所述文本对输入初始问题识别模型进行训练,训练得到目标问题识别模型。具体的,该步骤330可以由模型训练模块230执行。

在一些实施例中,初始问题识别模型可以是由问题类文本和非问题类文本作为训练样本,预先训练生成的模型或算法,且这些文本含有是否为问题类文本的标签,例如,为问题类文本则标签为1,反之为0。在一些实施例中,可以将问题类文本作为正样本,非问题类文本作为负样本,训练一个二分类器,生成初始问题识别模型。在一些实施例中,可以使用逻辑回归模型、支持向量机、随机森林或其它分类模型等作为二分类器。

训练完成的初始问题识别模型可以用于判别输入的文本的类别,具体地,可以用于判别输入的文本为问题文本或者非问题文本。例如,判断输入的文本“我的花呗额度怎么这么低啊!”为问题文本或者非问题文本。

在一些实施例中,初始问题识别模型可以包括第一文本编码模型和用于分类的神经网络。其中,第一文本编码模型用于对输入的文本进行向量表示,得到输入的文本的向量;用于分类的神经网络用于基于所述输入的文本的向量确定输入的文本的类别。

在一些实施例中,第一文本编码模型可以由wordembedding和bilstm组成。通过wordembedding和bilstm可以得到包含输入文本的上下文信息的文本向量。关于wordembedding和bilstm的具体细节请参见步骤320,在此不再赘述。

用于分类的神经网络基于输入的文本的向量确定输入的文本的类别。具体地,输入的文本的向量经过用于分类的神经网络中的每一层神经网络,然后将最后一层神经网络的输出输入sigmoid函数中,确定该输入的文本的向量属于问题的概率和属于非问题的概率。进一步的,概率最高的作为该输入的文本的类别。

在一些实施例中,第一文本编码模型和第二文本编码模型可以共用同一个编码模型。由于初始问题识别模型的训练数据相对于生成模型的训练数据少,因为生成模型是用于计算两个文本的相似度,因此只要是任意两个文本都可以成为训练数据。而初始问题识别模型的训练数据有限,例如只能将客服与用户的问题类文本和非问题类文本作为训练数据。如果采用它的数据训练第一文本编码模型,效果较差,通过共用文本编码模型,可以利用生成模型的第二文本编码模型提升初始问题识别模型的第一文本编码模型的效果。在一些实施例中,可以将步骤320得到的文本对输入初始问题识别模型进行训练,训练得到目标问题识别模型。继续以步骤320的示例说明,则将文本对(a1、b3)、(a2、b4)和(a3、b1)输入至初始问题识别模型进行训练。

目标问题识别模型是指准确率满足第二预设条件的问题识别模型。在一些实施例中,在训练过程中,当训练得到的中间问题识别模型的识别准确率满足第二预设条件时,将所述中间问题识别模型确定为所述目标问题识别模型。

其中,可以通过多个测试样本确定中间问题识别模型的准确率,测试样本含有是否问题的标签。将多个测试样本输入中间问题识别模型之后,可以输出对应的预测类别,当预测类别与标签一致时,则预测正确,反之预测错误。准确率可以为预测正确的样本数除以总的测试样本数得到的值。

在一些实施例中,第二预设条件可以根据实际需求进行具体设置。例如,第二预设条件可以为准确率大于等于预设阈值。其中,预设阈值可以根据实际需求进行具体设置,例如90%或者95%等。

通过上述步骤310~步骤330得到训练好的目标问题识别模型后,可以将目标问题识别模型用于对实体对象输入的内容进行判别。具体地,当获取了实体对象输入的内容后,将该实体对象输入的内容输入目标问题识别模型,识别该实体对象输入的内容是否为问题;是则执行回答所述输入的内容的提醒操作。

在一些实施例中,实体对象可以是对现实世界中具体的业务实体的抽象,在一些实施例中,实体对象是任一可以被描述的个体,例如,用户或者商家等。在一些实施例中,实体对象可以是智能客服机器人或人工客服服务的用户。

在一些实施例中,可以通过实体对象在终端手动输入或语音输入获取实体对象输入的内容,实体对象的语音输入可以通过语音识别,转换为相应的文本内容。

在一些实施例中,执行回答输入的内容的提醒操作可以包括:执行触发智能客服机器人回答输入的内容的操作或执行提醒人工客服回答输入的内容的操作。仍以上述示例为例,若实体对象输入的内容为“花呗额度怎么调低”,目标问题识别模型识别该内容为问题,则可以执行触发智能客服机器人回答输入的内容的操作或执行提醒人工客服回答输入的内容的操作。

根据以上描述可知,目标问题识别模型是基于问题文本以及与该问题文本较为相似的非问题文本训练得到,可以理解,在训练过程中,初始问题识别模型在不断的学习问题文本的特征、与该问题文本较为相似的非问题的特征、及两者之间差异特征,从而,得到的目标问题识别模型可以更准确地预测文本是否为问题的准确率。特别的,对于易混淆的文本,即,与非问题文本非常相似的问题文本或者与问题文本非常相似的非问题文本,可以提高判断结果的准确率。从而,可以从用户的消息中准确的获取问题类文本,便于客服及时的处理,提升用户体验。

图4是根据本说明书的一些实施例所示的生成模型的训练过程的示例性流程图。如图4所示,该生成模型的训练过程的示例性流程图400可以包括:

步骤410,获取初始生成模型。具体地,该步骤410可以由模型训练模块230执行。

生成模型是基于初始生成模型训练的得到的,因此,初始生成模型与生成模型具备相同的模型结构。基于上述步骤320中对生成模型的具体细节的描述可知,生成模型包括第二文本编码模型和相似度计算模型,因此,初始生成模型可以包括第二文本编码模型和相似度计算模型。其中,关于第二文本编码模型和相似度计算模型的具体细节请参见步骤320,在此不再赘述。

在一些实施例中,可以基于训练样本集,对由第二文本编码模型和相似度计算模型共同构成的模型进行训练,获取初始生成模型。其中,训练样本集包括多个携带标签的文本对,所述标签为每个文本对是否相似,例如,文本对不相似,则标签为0,文本对相似,则标签为1。在一些实施例中,训练样本集中的文本对可以使任意的两个文本。。在一些实施例中,正样本对为标签为相似的文本对,负样本对为标签为不相似的文本对。在一些实施例中,文本对可以从客服与用户的服务日志中获取,即文本为客服与用户的对话文本。

具体地,将训练样本集输入至由第二文本编码模型和相似度计算模型共同构成的模型后,可以基于模型输出的预测结果和标签,对模型的参数进行调整。例如,通过梯度下降法、反向传播法调整参数。可以对模型进行持续训练,直到训练结果收敛,结束训练,得到初始生成模型。

步骤420,将所述文本对输入所述初始问题识别模型,输出所述文本对中第一文本和第二文本的分类结果。具体地,该步骤410可以由模型训练模块230执行。

在一些实施例中,可以将步骤320得到的文本对输入初始问题识别模型,输出文本对中第一文本和第二文本的分类结果,即文本对中第一文本是否为问题,文本对中的第二文本是否为问题。关于文本对的具体细节请参见步骤320及其相关描述,在此不再赘述。关于初始问题识别模型的具体细节请参见步骤330及其相关描述,在此不再赘述。

步骤430,当所述文本对中第一文本或/和第二文本的真实标记与所述分类结果不一致时,将所述文本对作为所述初始生成模型的正样本输入所述初始生成模型进行训练,训练得到所述生成模型。具体地,该步骤410可以由模型训练模块230执行。

在一些实施例中,当步骤420得到文本对中第一文本或第二文本的真实标记与分类结果不一致时,可以将该文本对作为初始生成模型的正样本输入初始生成模型进行训练,训练得到生成模型。在一些实施例中,真实标记可以表征文本的真实类别,即表征文本真实类别为问题类文本或者非问题类文本。由于第一文本为问题类文本,则第一文本的真实标记为问题类文本;第二文本为非问题类文本,则第二文本的真实标记为非问题类文本。

示例地,假设文本对分别包括文本对1和文本对2,文本对1中的第一文本为问题类文本1,第二文本为非问题类文本1,文本对2中的第一文本为问题类文本2,第二文本为非问题类文本2。若初始问题识别模型将文本对1中的问题类文本1和非问题类文本1都分类为非问题类文本。初始问题识别模型将文本对2中的问题类文本2分类为问题类文本,将非问题类文本2分类为问题类文本。则可以将文本对1和文本对2均作为初始生成模型的正样本对。

通过将初始问题识别模型识别错误的文本对作为初始生成模型的正样本对,训练得到生成模型,从而得到优化的生成模型,使得生成模型尽可能生成类似的文本对,即生成能被初始问题识别模型识别错误的文本对,进一步的,再将生成模型生成的类似的文本对输入初始问题识别模型中进行训练,训练得到的目标问题识别模型在后续应用时,准备率会得到提高。

本说明书实施例还提供一种装置,其至少包括处理器以及存储器。所述存储器用于存储指令。当所述指令被所述处理器执行时,导致所述装置实现前述的方法。

本说明书实施例还提供一种计算机可读存储介质。所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机实现前述的方法。

本说明书实施例可能带来的有益效果包括但不限于:(1)提高了问题识别模型对易混淆的文本的分类的准确率;(2)通过提高对用户输入内容识别的准确率,使得用户的提问能得到快速且正确的响应,提升用户的体验感受。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。

上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。

同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。

此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。

计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、rf、或类似介质,或任何上述介质的组合。

本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如java、scala、smalltalk、eiffel、jade、emerald、c++、c#、vb.net、python等,常规程序化编程语言如c语言、visualbasic、fortran2003、perl、cobol2002、php、abap,动态编程语言如python、ruby和groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。

此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。

同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。

针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。

最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

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