一种信息处理方法及系统与流程

文档序号:19738205发布日期:2020-01-18 04:48阅读:196来源:国知局
一种信息处理方法及系统与流程

本说明书实施例涉及数据处理技术领域,特别涉及一种信息处理方法及系统。



背景技术:

在云客服问答推荐引擎中,用户可以通过提问的方式对历史对话记录进行搜索。云客服问答推荐引擎会根据用户的提问给出推荐的对话信息。为了进一步提升推荐对话信息的准确度和效率,有必要提出一种能够提升用户体验的对话信息的处理方法。



技术实现要素:

本说明书实施例的一个方面提供一种信息处理方法,所述方法由至少一个处理器执行,所述方法包括:获取对话信息,所述对话信息包括角色信息及其对应的内容信息;确定对话信息对应的对话文本;至少基于机器学习模型和所述对话文本确定对话文本的向量表示;基于对话文本的向量表示确定所述对话信息的属性或分类。

本说明书实施例的第二方面提供一种对话信息的处理系统,所述系统包括:对话信息获取模块,用于获取对话信息,所述对话信息包括角色信息及其对应的内容信息;对话文本确定模块,用于确定对话信息对应的对话文本;向量表示确定模块,用于至少基于机器学习模型和所述对话文本确定对话文本的向量表示;处理结果确定模块,用于基于对话文本的向量表示确定所述对话信息的属性或分类。

本说明书实施例的第三方面提供一种信息处理装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,以实现本说明书一些实施例中所述信息识别方法对应的操作。

附图说明

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

图1是根据本说明书一些实施例所示的一种信息处理系统的示例性应用场景图;

图2是根据本说明书一些实施例所示的一种信息处理系统的模块图;

图3是根据本说明书一些实施例所示的一种信息处理方法的示例性流程图;

图4是根据本说明书一些实施例所示的bert模型使用过程的示例性示意图;

图5是根据本说明书一些实施例所示的信息分类的示例性示意图;

图6是根据本说明书一些实施例所示的bert模型训练过程的示例性示意图;

图7是根据本说明书一些实施例所示的一种信息获取系统的模块图;以及

图8是根据本说明书一些实施例所示的一种信息获取方法的示例性流程图。

具体实施方式

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

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

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

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

本说明书的一个或多个实施例可以应用于不同的客服问答系统或搜索引擎系统等。不同的客服问答系统包括但不限于金融、购物、出行、教育、医疗等中的一种或几种的组合。例如,网上购物客服、银行客服、支付平台客服、商场导购客服、订票客服、便民服务客服、教育咨询客服、导诊客服等应用了机器问答的客服问答系统。搜索引擎系统包括但不限于金融平台搜索引擎、购物平台搜索引擎、出行平台搜索引擎、教育平台搜索引擎、医疗平台搜索引擎、知识分享平台搜索引擎等中的一种或几种的组合。本说明书的一个或多个实施例的不同实施例应用场景包括但不限于网页、浏览器插件、客户端app、定制系统、企业内部分析系统、人工智能机器人等中的一种或几种的组合。

在一些应用场景中,平台可以将历史用户针对不同问题与客服进行的咨询对话进行存储,当有新的用户问及同样或类似的问题时,平台的客服问答推荐引擎可以将相关的历史对话记录作为新用户问题的知识信息推荐给该用户。在一些实施例中,平台存储的历史对话记录中可能存在大量内容相同或近似的对话,如果不对这些历史对话记录进行分类或甄别,客服推荐引擎推荐给用户的对话信息中可能存在较多重复,降低了推荐准确度和效率。例如,客服问答推荐引擎一般会针对用户的提问推荐三个对话信息,这样可以在一定程度上提高命中用户问题的概率,当推荐的三个对话信息中存在两个或更多内容重复的对话信息时,命中用户问题的概率会明显降低,用户体验不好。在一些实施例中,可以对历史对话记录去重。例如,可以对历史对话记录分类,然后从各类中找出有代表性的对话信息推荐给用户或者将各类对话记录中有代表性的对话信息保留在数据库中。

应当理解的是,本说明书的一个或多个实施例的系统及方法的应用场景仅仅是本说明书的一个或多个实施例的一些示例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书的一个或多个实施例应用于其它类似情景。例如,其他类似的帮助引导系统。

图1为根据本说明书的一些实施例所示的对话信息的处理系统的应用场景示意图。处理设备110可以从存储设备140获取对话信息进行处理。例如,处理设备110可以将对话信息变换为对话文本。又例如,处理设备110可以基于机器学习模型将对话文本转换为其对应的向量表示。再例如,处理设备110可以基于对话文本的向量表示确定对话信息的属性或将对话信息进行分类处理。在一些实施例中,处理设备110也可以获取终端130中用户提出的问题,并从存储设备140中确定与问题匹配的对话信息,并推送给终端130。

终端130可以是带有数据获取、存储和/或发送功能的设备,例如,智能手机。终端130的使用者可以通过提出问题,获取并接收与所述问题匹配的知识点对话信息或目标对话信息。在一些实施例中,终端130的使用者可以是平台的用户,也可以是平台的客服。例如,用户可以在终端130的应用程序中输入问题,应用程序根据用户的提问向用户推荐历史对话信息。又例如,客服可以在终端130上接收用户咨询的问题,并通过终端向用户推荐与咨询问题相关的知识点信息。在一些实施例中,终端130可以包括但不限于移动设备130-1、平板电脑130-2、笔记本电脑130-3、台式电脑130-4等或其任意组合。在一些实施例中,终端130可以将获取到的数据发送至对话信息处理系统100中的一个或多个设备。例如,终端130可以将获取到的数据传输至处理设备110或存储设备120。在一些实施例中,获取到的数据可以是对话信息,以充实或更新历史对话记录,获取到的数据也可以是用户提出的问题。

存储设备120可以存储数据和/或指令。存储设备120可以存储从终端130采集到的数据。存储设备120还可以存储经处理设备110处理后数据。所述数据可以是对话信息数据。例如,存储设备120可以存储用户与客服对话产生的对话信息。在一些实施例中,所述数据还可以包括对话信息群,以及其中心对话。例如,存储设备120可以存储对话信息分类后形成的对话信息群和/或每个对话信息群的中心对话。在一些实施例中,存储设备120可以存储供处理设备110执行或使用的数据和/或指令,处理设备110可以通过执行或使用所述数据和/或指令以实现本说明书中的示例性方法。在一些实施例中,存储设备120可以与网络140连接实现与对话信息处理系统100中的一个或多个部件(例如,处理设备110、终端130等)之间的通信。对话信息处理系统100的一个或多个部件可以通过网络140访问存储在存储设备120中的数据或指令。在一些实施例中,存储设备120可以直接与对话信息处理系统100的一个或多个部件(例如,处理设备110、终端130等)连接或通信。在一些实施例中,存储设备120可以是处理设备110的一部分。

网络140可以促进信息和/或数据的交换。在一些实施例中,对话信息处理系统100(例如,处理设备110、存储设备120和终端130)的一个或以上部件可以经由网络140向对话信息处理系统100中的其他部件发送信息和/或数据。例如,处理设备110可以经由网络140从终端130获得对话信息。又例如,处理设备110可以通过网络140向用户终端130发送推荐的与用户提问相关的对话信息。在一些实施例中,网络140可以为任意形式的有线或无线网络,或其任意组合。

图2是根据本说明书的一些实施例所示的示例性对话信息的处理系统的模块图。该系统200可以获取对话信息,确定对话信息所对应的对话文本,基于机器学习模型和对话文本确定对话文本的向量表示,并基于所述对话文本的向量表示确定所述对话信息的属性和分类。如图2所示,对话信息的处理系统200可以包括对话信息获取模块210、对话文本确定模块220、向量表示确定模块230、处理结果确定模块240。

对话信息获取模块210可以获取对话信息。在一些实施例中,对话信息可以包括获取对话信息的角色信息及其对应的内容信息。所述角色信息可以是对话参与者的身份信息。例如,角色信息可以是用户或客服,对话信息可以是用户与客服之间对话所产生的信息。

对话文本确定模块220可以确定对话信息对应的对话文本。在一些实施例中,对话文本确定模块220可以根据角色的发言顺序将对话信息中的内容信息进行拼接,并将拼接后的文本确定为对话信息对应的对话文本。在一些实施例中,所述对话文本中包含对话信息的角色信息和内容信息。

向量表示确定模块230可以确定对话文本的向量表示。在一些实施例中,向量表示确定模块230可以基于机器学习模型和所述对话文本确定对话文本的向量表示。在一些实施例中,所述机器学习模型可以包括bert模型。在一些实施例中,向量表示确定模块230可以将对话文本输入到bert模型中,并将bert模型输出的cls向量作为对话文本的向量表示。在一些实施例中,向量表示确定模块230也可以将对话文本输入到bert模型中,并将bert模型输出的两个或以上的序列向量做最大化或平均处理,并将所述处理结果作为对话文本的向量表示。

处理结果确定模块240可以确定所述对话信息的属性或分类。在一些实施例中,处理结果确定模块240可以基于对话文本的向量表示确定对话信息的属性。在一些实施例中,处理结果确定模块240可以基于对话信息的属性计算对话信息的相似度,并按相似度对对话信息进行分类。在一些实施例中,所述分类包括对多个对话文本的向量表示做聚类以确定一个或多个对话信息群。

在一些实施例中,所述系统还包括训练模块,其用于训练机器学习模型。所述训练模块训练机器学习模型可以包括以下步骤:获取训练样本集,所述训练样本集包括一个或多个文本,以及所述文本的词语信息;遮住文本中的至少一个词语信息以形成遮盖文本,将其作为输入数据;将所述文本中被遮住的词语信息或其对应的向量表示作为对应的输出数据;利用输入数据及对应的输出数据训练初始机器学习模型;获得训练好的机器学习模型。

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

需要注意的是,以上对于处理设备110及其模块的描述,仅为描述方便,并不能把本说明书一个或多个实施例中限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,图2中披露的对话信息获取模块210、对话文本确定模块220可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。又例如,向量表示确定模块230可以被细分为对话文本输入单元、向量表示确定单元,分别用于实现输入对话文本和确定对话文本的向量表示的功能。还例如,处理设备110中各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书一个或多个实施例的保护范围之内。

图3为根据本说明书的一些实施例所示的对话信息的处理方法的示例性流程图。在一些实施例中,方法300中的一个或以上步骤可以在图1所示的系统100中实现。例如,方法300中的一个或以上步骤可以作为指令的形式存储在存储设备120中,并被处理设备110调用和/或执行。

步骤310,获取对话信息。在一些实施例中,步骤310可以由对话信息获取模块210执行。

所述对话信息可以是两个或两个以上角色对话时产生的信息。所述对话信息可以包括文本形式的对话信息,也可以包括图像形式的对话信息,还可以包括语音形式的对话信息。在一些实施例中,可以通过图像识别技术将图像形式的对话信息转化成对应的文本信息,也可以通过语音识别技术将语音形式的对话信息转化为文本形式的对话信息。所述对话信息包括角色信息及其对应的内容信息。在一些实施例中,所述角色信息可以是对话参与者的身份信息。例如,所述角色信息可以是用户、访客、商家及客服等。所述内容信息可以是对话参与者在当前对话中的对话内容。仅作为示例,对话信息可以是如下形式:

“访客”:“不能重新打印吗?”

“客服”:“没有底片了。”

“访客”:“这个我可以给你们发。”

“客服”:“这边给您补偿一张免费打印券,您重新下单制作可以吗?”

“访客”:“好的。”

其中,“访客”和“客服”是上述对话信息的角色信息。“访客”和“客服”之间的对话内容是上述对话信息的内容信息。

在一些实施例中,对话信息获取模块210可以通过与存储设备120进行通信以获取对话信息。例如,获取模块710可以访问读取存储在存储设备120上的历史数据(例如,历史对话信息等)。

步骤320,确定对话信息对应的对话文本。在一些实施例中,步骤320可以由对话文本确定模块220执行。

在一些实施例中,对话信息对应的对话文本可以是对话信息的文本表示。在一些实施例中,所述对话文本可以包括角色文本和内容文本。所述角色文本可以包括角色信息。所述内容文本可以包括内容信息。在一些实施例中,所述角色文本可以是使用特殊符号对角色信息进行标记后形成的文本。在一些实施例中,所述特殊符号可以是中括弧“[]”。例如,对话信息中的角色信息“客服”在对话文本中可以表示为[客服]。在一些实施例中,确定对话信息对应的对话文本,至少包括确定对话信息中的角色文本及其对应的内容文本。在一些实施例中,所述内容文本可以是某一角色所说的内容信息中的文本表示。例如,对于步骤310中对话信息的示例,其内容文本可以包括“不能重新打印吗”、“没有底片了”、“这个我可以给你们发”、“这边给您补偿一张免费打印券您重新下单制作可以吗”、“好的”。在一些实施例中,所述对话信息包括语音形式的对话,确定对话信息对应的对话文本包括将语音对话转换为文本对话信息,基于转换之后的文本对话信息确定角色文本和内容文本。语音对话转换的文本同样可以使用上述方法进行处理,并确定语音对话的对话文本。

在一些实施例中,所述确定对话信息对应的对话文本还可以包括根据角色信息的发言顺序将所述对话信息中的内容信息进行拼接。在一些实施例中,对话文本确定模块220可以将对话信息的角色信息和内容信息转换为角色文本和内容文本后进行拼接。在一些实施例中,所述拼接可以包括将角色文本和内容文本按发言顺序依次拼接。在一些实施例中,对于每一句发言,所述拼接的次序可以是角色文本在前,内容文本在后,也可以是内容文本在前,角色文本在后。仅作为示例,对话信息为:

“访客”:“不能重新打印吗?”

“客服”:“没有底片了。”

在一些实施例中,将该对话信息进行拼接后的对话文本可以是:“[访客]不能重新打印吗[客服]没有底片了”。在一些实施例中,将该对话信息进行拼接后的对话文本也可以是:“不能重新打印吗[访客]没有底片了[客服]”。

步骤330,至少基于机器学习模型和所述对话文本确定对话文本的向量表示。在一些实施例中,步骤330可以由向量表示确定模块230执行。

所述对话文本的向量表示可以是能够反映整个对话文本语义信息的向量表示。在一些实施例中,所述对话文本的向量表示可以由对话文本中各个字/词的原始词向量经过机器学习模型计算后获得。在一些实施例中,所述对话文本的向量表示可以是机器学习模型的输出向量。所述机器学习模型的输入可以是对话文本。在一些实施例中,所述对话文本输入至机器学习模型后,对话文本中的各个字/词可以被转化为对应的原始词向量。对话文本的原始词向量经过神经网络层处理后可以输出为融合了全文语义信息的向量。

在一些实施例中,所述机器学习模型可以是bert模型。在一些实施例中,所述机器学习模型也可以是其他自然语义模型,例如,elmo模型等。

下面结合图4以bert模型为例,阐述利用机器学习模型确定对话文本向量表示的过程。在一些实施例中,所述bert模型的输入可以是加入特殊符号[cls]后的对话文本。仅作为示例,对话信息为:

“访客”:“不能重新打印吗?”

“客服”:“没有底片了。”

bert模型的输入可以是:“[cls][访客]不能重新打印吗[客服]没有底片了”。在一些实施例中,所述bert模型的结构可以包括但不限于嵌入层(embedding)、神经网络层。所述神经网络层可以是包含注意力机制的神经网络层。例如,神经网络层可以是多头自注意力(multi-headself-attention)神经网络层。在一些实施例中,所述bert模型可以输出一组结果向量。所述输出的结果向量可以包括cls向量在内的多个序列向量。在一些实施例中,向量表示确定模块230可以将bert模型输出向量中的cls向量确定为对话文本的向量表示。在一些实施例中,向量表示确定模块230也可以将bert模型输出向量中的两个或以上的序列向量做最大化或平均处理,并将所述处理结果作为对话文本的向量表示。所述处理结果可以是对序列向量做最大化或平均处理后获得的结果向量。例如,所述最大化处理可以是在所述两个或以上的序列向量的同一个维度的元素间取最大值,并将其作为结果向量(或,最大化向量)对应维度的元素。所述平均处理可以是对所述两个或以上的序列向量的同一个维度元素取平均值,并将其作为结果向量(或,平均向量)对应维度的元素。

步骤340,基于对话文本的向量表示确定所述对话信息的属性或分类。在一些实施例中,步骤340可以由处理结果确定模块240执行。

所述基于对话文本的向量表示确定所述对话信息的属性,可以理解为对话文本的向量表示可以作为所述对话文本的代表,在某一维度表示所述对话文本。例如,在某一语义空间中,每一个向量表示代表一个对话文本。在一些实施例中,可以基于对话文本的向量表示对对话文本进行后续处理。在一些实施例中,所述后续处理可以包括基于向量表示确定对话信息与其他对话信息之间的相似度,在一些实施例中,所述后续处理还包括基于不同对话之间的相似度来进行对话信息的分类。

在一些实施例中,所述计算对话信息的相似度可以是计算对话信息的向量的距离,距离越近,相似度越高。所述计算对话信息的相似度的方法可以包括但不限于:余弦相似度(cosine)、欧氏距离(euclidean)、曼哈顿距离(manhattandistance)、皮尔逊相关系数(pearsoncorrelationcoefficient)、斯皮尔曼(等级)相关系数(spearmanrankcorrelation)、杰卡德(jaccard)相似系数等。

在一些实施例中,所述确定对话信息的分类可以是将对话信息的向量表示做聚类。在一些实施例中,所述聚类可以是以对话信息的相似度为标准,将对话信息分类至一个或多个对话信息群。所述聚类采用的算法可以包括但不限于k-means聚类算法、层次聚类算法、som聚类算法、fcm聚类算法。

具体的,参见图5,在一些实施例中,向量表示确定模块230确定对话信息的向量表示后,处理结果确定模块240可以基于对话信息的向量表示将对话信息进行分类。所述分类可以是基于对话信息的向量表示所确定的向量位置510之间的距离做聚类。所述聚类可以将对话信息的向量表示分为一个或多个对话信息群520。参照图5所示,例如,向量表示确定模块230可以基于各对话信息对应的向量表示510之间的距离将对话信息分别分类成对话信息群520-1、520-2或520-3中。所述对话信息群520-1、520-2以及520-3分别表示不同的对话信息类别。所述同一个对话信息群中的对话信息的向量表示之间距离比较近,表示所述同一个对话信息群中的对话信息之间的语义相近。所述不同的对话信息群中的对话信息的向量之间距离比较远,则表示所述不同对话信息群中的对话信息之间的语义较远或不同。所述每一个对话信息群520中的对话信息是相同类型的对话信息。例如,520-1中可以表示第一类的对话信息。520-2中可以表示第二类的对话信息。520-3中可以表示第三类的对话信息。

在一些实施例中,对话信息处理系统100可以将完成分类之后的一个或多个对话信息群520保存在数据库中,作为数据库的分类更新,使数据库中的数据保持整齐,不凌乱。

在一些实施例中,对话信息处理系统100还可以在完成分类之后的一个或多个对话信息群520中选取最优的对话信息,例如对话信息群的中心对话。在一些实施例中,对话信息处理系统100可以仅保留各个对话信息群中的最优对话信息,以实现对数据库中的历史对话记录去重。在一些实施例中,可以确定每个对话信息群520的中心向量。所述中心向量可以是在对应的对话信息群中位于群的中心位置的向量。在一些实施例中,可以先确定群的中心位置,将距离所述中心位置最近的向量表示确定为中心向量。仅作为示例,可以对对话信息群中的各向量表示求均值,得到平均向量,再计算群中各向量表示与该平均向量的距离,将距离最短的向量表示确定为中心向量。在一些实施例中,所述中心向量对应的对话信息可以理解为该对话信息群的中心对话。

应当注意的是,上述有关流程300的描述仅仅是为了示例和说明,而不限定本说明书一个或多个实施例的适用范围。对于本领域技术人员来说,在本说明书一个或多个实施例的指导下可以对流程300进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,步骤310和步骤320可以合并为一个步骤,由对话信息获取模块210获取对话信息后直接将对话信息转化为对话文本。又例如,步骤330可以拆分为步骤330-1和步骤330-2。在步骤330-1中计算对话文本的向量表示,在步骤330-2中确定对话文本的向量表示。还例如,流程300中的所有步骤可以在包括一组指令的计算机可读介质中实现。

图6是根据本说明书的一些实施例所示的机器学习模型训练过程的示意图。本说明书一些实施例中所使用的机器学习模型可以通过以下步骤获取:获取训练样本集;遮住文本中的至少一个词语信息以形成遮盖文本,将其作为输入数据;将所述文本中被遮住的词语信息或其对应的向量表示作为对应的输出数据;利用输入数据及对应的输出数据训练初始机器学习模型,获得训练好的机器学习模型。

在一些实施例中,所述训练样本集可以包括一个或多个文本,以及所述文本的词语信息。在一些实施例中,所述文本可以是对话文本,也可以是对话文本以外的其他带有一定语义信息的文本。在一些实施例中,所述对话文本可以是由存储在终端130或存储设备120上的历史对话数据确定的对话文本。所述对话文本可以包括角色文本和内容文本。在一些实施例中,所述文本可以包括词语信息。所述词语信息可以包括内容信息中的部分词语和/或角色信息,优选地,包括内容信息和角色信息。

在一些实施例中,获得训练样本集后,需要对训练样本集中的一个或多个文本进行处理,所述处理包括将上述文本中的一个或多个词语信息进行遮盖以形成遮盖文本,并确定被遮盖的一个或多个词语信息对应的向量表示。将上述遮盖文本以及被遮盖词语的向量表示输入机器学习模型中进行训练,在一些实施例中,训练好的机器学习模型能够推算出遮盖文本中被遮盖的词语信息的语义,具体地,能够推算输出与被遮盖词语信息的语义相对应的向量表示。

在一些实施例中,所述遮盖文本可以是包含遮盖信息的文本。所述遮盖信息可以用特殊符号表示。例如,遮盖信息可以表示为特殊符号[mask]。所述一个遮盖信息对应一个被遮盖的词语信息。仅作为示例,对于文本“[cls][访客]不能重新打印吗[客服]没有底片了”,可以将文本中的词语信息“打”和“印”进行遮盖,并以特殊符号[mask]表示,遮盖后形成的遮盖文本可以是:“[cls][访客]不能重新[mask][mask]吗[客服]没有底片了”。在其他实施例中,也可以对上述示例中的[访客]进行遮盖以形成对应的遮盖文本。

在一些实施例中,将遮盖文本作为训练模型的输入数据,将被遮住词语信息对应的向量表示作为输出数据,并利用上述输入数据和对应的输出数据来训练初始机器学习模型。在一些实施例中,所述初始机器学习模型可以是bert模型。

输入信息经过嵌入层后,遮盖文本的各个字/词可以被转化为对应的原始词向量,特殊符号[cls]可以被转化为cls向量,遮盖信息[mask]可以被转化为隐层向量。各向量经过神经网络层的计算后,可以获得结果向量。在一些实施例中,所述神经网络层可以是多头自注意力(multi-headself-attention)神经网络层。所述神经网络层可以包含n层,其中n>1,并且n可以根据实际需要设置不同的数值。例如,n可以等于12。在一些实施例中,经过bert模型的计算后,实际输出的向量中包含遮盖文本所对应的隐层的结果向量,该实际输出的结果向量能够反映遮盖文本中被遮盖词语信息的语义。在一些实施例中,经过一定次数的训练,实际输出的结果向量与上述输出数据中的目标向量表示的相似度会越来越高。

在实际训练的过程中,可以根据实际输出的结果向量与输出数据中的目标向量表示的比较结果来决定是否结束训练。在一些实施例中,可以通过向量的相似度计算来判断实际输出的结果向量与输出数据中的目标向量之间的接近程度。当结果向量与输出数据相同或相近时,则表示模型是训练好的机器学习模型,终止训练过程,获得训练好的机器学习模型。

图7是根据本说明书的一些实施例所示的示例性信息获取系统的模块图。该系统700可以获取用户的问题,确定与所述问题匹配的目标对话信息,并输出所述目标对话信息。如图7所示,信息获取系统700可以包括用户问题获取模块710、目标信息确定模块720、目标信息输出模块730。

用户问题获取模块710可以获取用户的问题。在一些实施例中,用户可以在终端130中提出问题。用户问题获取模块710可以自终端130中获取用户提出的问题。

目标信息确定模块720可以确定与所述问题匹配的目标对话信息。在一些实施例中,所述目标对话信息可以选自一个或多个对话信息群,所述一个或多个对话信息群可以基于多个对话信息对应的对话文本的向量表示分类得到。

目标信息输出模块730可以输出所述目标对话信息。在一些实施例中,目标信息输出模块730可以将目标对话信息输出至终端130,终端130可以将目标对话信息以文字或语音的形式发送给用户。

图8是根据本说明书一些实施例所示的信息获取方法的示例性流程图。在一些实施例中,方法800中的一个或以上步骤可以在图1所示的系统100中实现。例如,方法800中的一个或以上步骤可以作为指令的形式存储在存储设备120中,并被处理设备110调用和/或执行。

步骤810,获取用户的问题。在一些实施例中,步骤810可以由用户问题获取模块710执行。

在一些实施例中,用户可以在终端130提出问题。所述问题可以是文本形式的问题,也可以是语音形式的问题。在一些实施例中,可以通过语音识别技术将语音形式的问题转换为文本形式的问题。在一些实施例中,用户问题获取模块710可以通过网络140从终端130获取用户提出的问题。

步骤820,确定与所述问题匹配的目标对话信息。在一些实施例中,步骤820可以由目标信息确定模块720执行。在一些实施例中,所述目标对话信息可以选自一个或多个对话信息群。

在一些实施例中,可以基于多个对话信息获取一个或多个对话信息群(确定对话信息群具体过程可以参见图3的相关说明),并基于一个或多个对话信息群确定一个或多个知识点对话信息,将与所述问题匹配的知识点对话信息确定为目标对话信息。在一些实施例中,可以将各个对话群中的中心对话(确定中心对话的具体过程可以参见图3的相关说明)确定为知识点对话信息。在一些实施例中,所述匹配的方式可以是基于向量距离进行的匹配。具体的,目标信息确定模块720可以将用户问题确定为其向量表示。目标信息确定模块720还可以确定用户问题的向量表示与各知识点对话信息的向量表示(如,各个对话信息群的中心向量)之间的距离,并基于该距离是否小于设定阈值确定二者是否匹配。例如,目标信息确定模块720可以计算用户问题的向量表示与各知识点对话信息的向量表示之间的距离,并将距离小于阈值的向量表示所对应的知识点对话信息确定为与用户问题相匹配的目标对话信息。

在一些实施例中,还可以基于多个对话信息获取一个或多个对话信息群(确定对话信息群具体过程可以参见图3的相关说明),给每个对话信息群一个分类标签,所述分类标签可以是能够反映该群语义内容的一个或多个关键词,例如某个对话信息群的分类标签包括:照片打印、底片。目标信息确定模块720可以确定用户问题的关键词,将用户问题的关键词与各个对话信息群的分类标签进行匹配,并从与用户问题匹配的一个或多个对话信息群中分别选出一个对话信息作为所述目标对话信息。

步骤830,输出所述目标对话信息。在一些实施例中,步骤830可以由目标信息输出模块730执行。

在一些实施例中,目标信息确定模块720确定目标对话信息后,可以由目标信息输出模块730将目标对话信息输出至终端130,并推送给用户。在一些实施例中,输出的方式包括语音、文本或图像等中的一种或多种。例如,目标信息输出模块730可以通过终端130的应用程序向用户以文本或图像的方式显示目标对话信息,或者向用户发送目标对话信息的语音信息。

应当注意的是,上述有关流程800的描述仅仅是为了示例和说明,而不限定本说明书一个或多个实施例的适用范围。对于本领域技术人员来说,在本说明书一个或多个实施例的指导下可以对流程800进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,步骤820可以拆分为步骤820-1和步骤820-2。在步骤820-1中执行确定一个或多个知识点对话信息,在步骤820-2中执行确定目标对话信息。又例如,流程800中的所有步骤可以在包括一组指令的计算机可读介质中实现,指令可以以电子流或电信号的形式传输。

本说明书实施例可能带来的有益效果包括但不限于:(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 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1