CN110990547B - 一种话术生成方法和系统 - Google Patents
一种话术生成方法和系统 Download PDFInfo
- Publication number
- CN110990547B CN110990547B CN201911204119.XA CN201911204119A CN110990547B CN 110990547 B CN110990547 B CN 110990547B CN 201911204119 A CN201911204119 A CN 201911204119A CN 110990547 B CN110990547 B CN 110990547B
- Authority
- CN
- China
- Prior art keywords
- representation
- model
- samples
- dialog
- intent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3343—Query execution using phonetics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Acoustics & Sound (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
本说明书实施例公开了话术生成方法。所述方法可以包括:获取对话上文,以及与所述对话上文相关的至少一个意图;分别获取与每一个意图相关的历史话术;基于话术生成模型,确定所述历史话术与所述对话上文的关联编码表示,所述话术生成模型为编码解码模型;基于所述话术生成模型,基于所述关联编码表示进行解码,生成目标话术。本说明书所披露的话术生成方法中采用了具有明确意图的历史话术,使得生成的话术具备多样性及针对性。
Description
技术领域
本说明书涉及互联网技术领域,特别涉及一种话术生成方法和系统。
背景技术
在互联网领域中,用户与网络对话机器人之间的对话可以包括多种。例如,任务型对话、FAQ型对话、闲聊型对话、以及说服型对话等。说服型对话是一种引导式的新型对话,网络机器人基于与用户之间的对话过程对用户的意图进行探索,生成具有引导作用的对话语句,从而使用户在经过对话后完成特定的操作。说服型对话一般由网络对话机器人主动发起,可以应用于例如慈善捐款、贷款催收等场景中。但这种对话中用户的意图分散,网络对话机器人在训练时难以配置对话流程,使得网络对话机器人无法满足要求。一种解决方法是利用强化学习探索用户的意图。因此,需要有多样性、针对性的训练话术,为网络对话机器人提供学习环境,最终实现能够较为精确把握用户对话中包含的意图的网络对话机器人,其可以在对话中对用户进行常规引导和规则引导。
发明内容
本说明书实施例之一提供一种话术生成方法。所述方法包括:获取对话上文,以及与所述对话上文相关的至少一个意图;分别获取与每一个意图相关的历史话术;基于话术生成模型,确定所述历史话术与所述对话上文的关联编码表示,所述话术生成模型为编码解码模型;基于所述话术生成模型,基于所述关联编码表示进行解码,生成目标话术。
本说明书实施例之一提供一种话术生成系统。所述系统包括获取模块、确定模块以及生成模块。所述获取模块,用于获取对话上文,以及与所述对话上文相关的至少一个意图;并分别获取与每一个意图相关的历史话术。所述确定模块,用于基于话术生成模型,确定所述历史话术与所述对话上文的关联编码表示;所述话术生成模型为编码解码模型。所述生成模块,用于基于所述话术生成模型,基于所述关联编码表示进行解码,生成目标话术。
本说明书实施例之一提供一种话术生成装置,所述装置包括处理器以及存储器。所述存储器可以用于存储指令。当所述指令被所述处理器执行时,可以导致所述装置实现如上所述的话术生成方法。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的一种话术生成系统的应用场景示意图;
图2是根据本说明书一些实施例所示的一种话术生成方法的示例性流程图;
图3是根据本说明书一些实施例所示的一种话术生成系统的模块图;
图4是根据本说明书一些实施例所示的一种意图分类模型训练方法的示例性流程图;
图5是根据本说明书一些实施例所示的一种确定关联编码表示方法的示例性流程图;以及
图6是根据本说明书一些实施例所示的一种基于关联编码表示生成目标话术方法的示例性流程图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
本说明书一个或多个实施例中所使用的术语“话术”可以是词、语句组成的一段话,由对话双方各自说出。不同对话场景可以具有不同的话术。所述对话场景可以包括金融服务对话、商品推销对话、活动推荐对话等。不同对话场景中,话术可以具有所属专业领域的常用词汇以及表达习惯。从对话方角色来看,如某一网络服务对话,话术又可以分为用户话术和服务话术。术语“用户话术”可以指对话中用户所说的内容。术语“服务话术”可以指对话由服务方的对话系统或服务人员所说的内容。术语“对话上文”可以指在对话的过程中,对话双方所说的所有内容。术语“用户”可以指服务使用者或有潜在服务需求的个人或群体。术语“意图”可以指用户输入的对话内容的主题或对话方的目的。术语“用户终端”可以指需要或者订购服务的一方。在一些实施例中,终端可以是个人、工具或者其他实体等。应当理解的是,本说明书中所提到的系统及方法的应用场景仅仅是一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其他类似情景。
图1是根据本说明书一些实施例所示的话术生成系统的应用场景示意图。
图1是根据本说明书的一些实施例所示的示例性话术生成系统的示意图。在一些实施例中,该话术生成系统100可以用于基于对话上文及其对应的历史话术生成目标话术。在一些实施例中,该目标话术可以直接作为网络对话机器人在一场说服型对话中的输出话术,使网络对话机器人在线完成与相关用户的说服型对话,引导用户完成目标任务。在一些实施例中,目标话术也可以作为训练网络对话机器人的训练话术,用于网络对话机器人投入使用前的训练过程。如图1所示,话术生成系统100可以包处理设备110、存储设备120、用户终端130和网络140。
处理设备110可用于处理与话术生成相关联的信息和/或数据来执行在本说明书中揭示的一个或者多个功能。在一些实施例中,处理设备110可以包括用于生成对话中某一方的话术的话术模拟器。例如,处理设备110可以包括用户模拟器,其可用于模拟用户以生成多样性且针对性的用户话术,该用户话术可以用于训练对话机器人。又例如,处理设备110可以包括机器人模拟器,其可用于模拟服务人员生成引导性的服务话术,该服务话术可以用于引导用户完成某些特定操作。在一些实施例中,处理设备110可以用于获取对话上文,以及与该对话上文相关的至少一个意图。在一些实施例中,处理设备110可以分别获取与每一个意图相关的历史话术。在一些实施例中,处理设备110可以基于话术生成模型,确定历史话术与对话上文的关联编码表示。在一些实施例中,处理设备110可以基于话术生成模型、关联编码表示进行解码,生成目标话术。在一些实施例中,处理设备110可以包括一个或多个处理引擎(例如,单核心处理引擎或多核心处理器)。仅作为范例,处理设备110可以包括中央处理器(中央处理器)、特定应用集成电路(ASIC)、专用指令集处理器(ASIP)、图像处理器(GPU)、物理运算处理单元(PPU)、数字信号处理器(DSP)、现场可程序门阵列(FPGA)、可程序逻辑装置(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等中的一种或多种组合。
网络120可以促进信息和/或数据的交换。在一些实施例中,话术生成系统100的一个或者多个组件(例如处理设备110、用户终端130和存储设备140)可以通过网络120传送信息至话术生成系统100的其他组件。例如,处理设备110可以通过网络120从数据库中获取与对话上文相关联的信息和/或数据。在一些实施例中,网络120可以是任意形式的有线或者无线网络,或其任意组合。仅作为范例,网络120可以是有线网络、光纤网络、远程通信网络、内部网络、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、广域网(WAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络、近场通讯(NFC)网络、全球移动通讯系统(GSM)网络、码分多址(CDMA)网络、时分多址(TDMA)网络、通用分组无线服务(GPRS)网络、增强数据速率GSM演进(EDGE)网络、宽带码分多址接入(WCDMA)网络、高速下行分组接入(HSDPA)网络、长期演进(LTE)网络、用户数据报协议(UDP)网络、传输控制协议/互联网协议(TCP/IP)网络、短讯息服务(SMS)网络、无线应用协议(WAP)网络、超宽带(UWB)网络、移动通信(1G、2G、3G、4G、5G)网络、Wi-Fi、Li-Fi、窄带物联网(NB-IoT)、红外通信等中的一种或多种组合。
用户终端130可以是带有数据获取、存储和/或发送功能的设备,例如,智能手机。在一些实施例中,用户终端130的使用者可以是服务用户或消费者或与训练所述网络对话机器人相关的工作人员。例如,在网络金融服务中,用户终端130的使用者可以是利用用户终端130进行信用消费的用户。又例如,在网络购物活动中,用户终端130的使用者可以是利用用户终端130网上购买商品的消费者。在一些实施例中,用户终端130可以包括但不限于移动设备130-1、平板电脑130-2、笔记本电脑130-3、台式电脑130-4等或其任意组合。示例性的移动设备130-1可以包括但不限于智能手机、个人数码助理(Personal DigitalAssistance,PDA)、收银机、掌上游戏机、智能眼镜、智能手表、可穿戴设备、虚拟显示设备、显示增强设备等或其任意组合。在一些实施例中,用户终端130可以将获取到的数据发送至话术生成系统100中的一个或多个设备。例如,用户终端130可以将获取到的数据传输至处理设备110或存储设备140。在一些实施例中,用户终端130的使用者可以是服务用户或消费者,获取到的数据可以是用户使用服务的相关数据或相关咨询问题或应答网络对话机器人的对话内容。仅作为示例,当用户所使用的服务为信用消费时,该相关数据可以包括已使用金额、未使用金额、最低还款金额、最迟还款时间等。在一些实施例中,用户终端130的使用者可以是与训练所述网络对话机器人相关的工作人员,获取到的数据可以是各个对话场景的相关话术,以便及时更新生成目标话术的历史话术。
存储设备140可以存储数据和/或指令。在一些实施例中,存储设备140可以存储从用户终端130采集到的数据。所述数据可以是如上所述的服务使用的相关的数据。在一些实施例中,所述数据还可以是用户与服务提供方之间的对话数据,例如,用户与客服(例如,人工或智能客服)的聊天记录、通话记录等。在一些实施例中,存储设备140可以存储供处理设备110执行或使用的数据和/或指令,处理设备110可以通过执行或使用所述数据和/或指令以实现本说明书中的示例性方法。在一些实施例中,存储设备140可以与网络120连接实现与话术生成系统100中的一个或多个部件(例如,处理设备110、用户终端130等)之间的通信。话术生成系统100的一个或多个部件可以通过网络120访问存储在存储设备140中的数据或指令。在一些实施例中,存储设备140可以直接与话术生成系统100的一个或多个部件(例如,处理设备110、用户终端130等)连接或通信。在一些实施例中,存储设备140可以是处理设备110的一部分。在一些实施例中,存储设备140可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。在一些实施例中,存储设备140可以在云平台上实现。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。例如,本发明中一些算法或者数据可以存储在某个云平台上,定期更新,处理设备110通过网络访问这些算法或者数据,以实现整个平台的算法或者数据的统一与交互。特别的,一些历史数据可以统一存储在平台的一个云平台上,以便多个处理设备110或者用户终端130访问或者更新,以便保证数据的实时性和跨平台使用。例如,用户终端130可以随时将信用消费数据上传到某个云平台上,系统可以根据多个用户终端130的数据确定对用户进行还款引导操作。
本说明书所披露的话术生成方法,可以生成对话中任意一方的模拟的话术,例如,消费服务的用户和提供服务的服务方(比如智能对话机器人)中任意一方的模拟话术,包括用户话术和/或服务话术。所生成的用户话术可以用于训练对话机器人,所生成的服务话术可以用于引导用户完成某些特定操作。生成话术的方法是一致的,本说明书将以生成用户话术为例,通过流程图来阐述所披露的技术方案。
图2是根据本说明书一些实施例所示的话术生成方法的示例性流程图。在一些实施例中,流程200中的一个或以上步骤可以在图1所示的系统100中实现。例如,流程200中的一个或以上步骤可以作为指令的形式存储在存储设备140中,并被处理设备110调用和/或执行。
步骤202,获取对话上文,以及与所述对话上文相关的至少一个意图。在一些实施例中,该步骤202可以由获取模块310执行。
在一些实施例中,所述对话上文可以指在进行对话的双方之间的对话内容。例如,用户与服务方之间的对话内容。该对话可以是已完成的对话,和/或正在进行的对话。所述对话上文可以是该对话的全部内容,也可以是该对话的部分内容。在一些实施例中,用户可以在用户终端130上通过语音录入或者文本输入的方式进行对话内容的输入。如此处所使用的,用户所输入的对话内容可以被称为用户话术。服务方可以根据用户的输入进行回复和/或引导。如此处所使用的,服务方所回复的对话内容可以被称为服务话术。获取模块310可以将对话中用户话术和服务话术按照对话轮数(例如,话术输入和/或回复的时间顺序)进行拼接,得到所述对话上文。例如,在信用消费服务中,服务方向用户发起对话,话术为A。用户随后输入的话术为B。服务方根据用户的输入回复了话术C。用户基于话术C输入了话术D。则其中一种对话上文可以是A-B-C-D。在一些实施例中,获取模块310可以从处理设备110、网络120、用户终端130、存储设备140等设备中获取对话上文。
在一些实施例中,所述与对话上文相关的至少一个意图可以是指所述对话上文中的一方通过其话术所表露的想法。例如,在信用消费服务中,临近还款日但用户暂未还款,服务方与用户的对话上文中,服务方的某一话术为“您好!还有12小时就要错过还款日了”。用户的某一话术为“借款日与还款日之间相隔太近”。则所述与对话上文相关的至少一个意图可以是服务方的某一想法比如引导用户尽快还款,或用户的某一想法比如用户暂时不能还款、用户希望有另外的还款方式、用户希望延后还款等。在一些实施例中,所述与对话上文相关的至少一个意图可以通过意图分类模型确定。例如,将所述对话上文输入所述意图分类模型直接获取相关的意图。所述意图分类模型可以是机器学习模型,例如BERT模型。其可以先提取所述对话上文中的关键词及其特征向量,再对所述对话上文的关键词及其特征向量进行处理,得到所述与对话上文相关的至少一个意图。关于获取所述意图分类模型具体描述可参考本说明书图4,在此不再赘述。
步骤204,分别获取与每一个意图相关的历史话术。在一些实施例中,步骤204可以由获取模块310执行。
在一些实施例中,所述历史话术可以是指过去一段时间内,例如,一个星期、一个月、一个季度、半年、或一年,所发生的对话中对话双方的话术。与所述意图相关的历史话术可以是指表达了相同或相近意图的历史话术。例如,基于步骤202确定的与对话上文相关的意图是用户希望推迟还款,则与所述意图相关的历史话术,可以是在已发生的历史用户与服务方的对话中,历史用户的话术“借款日与还款日相隔太近”、“现有的还款方式有哪些”等。与一个意图相关的历史话术可以包括多条,其可以组成一个话术集合。每个话术集合可以进行标记,例如,使用话术所表达的意图,或表示所述意图的关键词进行标记。在一些实施例中,话术集合可以是预先确定的,存储于存储设备例如存储设备150中。处理设备110(例如,获取模块610)在确定与所述对话上文相关的至少一个意图后,可以分别确定与所述至少一个意图相关的话术集合,并从话术集合中选出一个话术作为与所述意图相关的历史话术。例如,处理设备110(例如,获取模块610)可以提取所述意图的关键词,基于该关键词确定具有相同意图的话术集合,并从话术集合中获取一个话术作为具有相同意图的历史话术。
步骤206,基于话术生成模型,确定所述历史话术与所述对话上文的关联编码表示;所述话术生成模型为编码解码模型。在一些实施例中,该步骤206可以由确定模块320执行。
在一些实施例中,所述话术生成模型可以是引入注意力机制的序列到序列(seq2seq)模型,可以包含编码器(encoder)和解码器(decoder)。确定模块320可以利用话术生成模型的编码器(encoder)分别对对话上文和各历史话术进行编码,得到对话上文编码表示和各历史话术编码表示。所述编码表示可以是以向量或向量序列表示。作为示例,所述话术生成模型的编码器可以是LSTM、GRU、或双向GRU(BIGRU)。仅出于说明的目的,本说明书中的实施例以LSTM编码器为例进行介绍。确定模块320可以将所述对话上文输入到LSTM中进行编码,得到每个时刻的隐状态,以及最后时刻的隐状态,并将最后时刻的隐状态作为整个对话上文的编码表示,例如,向量。类似地,确定模块320可以将各历史话术输入到LSTM中进行编码,得到每个时刻的隐状态,以及每个句子最后时刻的隐状态,并将最后时刻的隐状态作为每个句子的编码表示,例如,向量。在获取所述对话上文的编码表示以及各历史话术的编码表示后,确定模块320可以利用所述话术生成模型,基于对话上文的编码表示对各历史话术的编码表示做注意力机制运算,得到所述关联编码表示。所述关联编码表示可以理解为更新后的对话上位的编码表示。由于每个历史话术代表了用户的不同意图,在进行注意力机制运算后,可以将所述对话上文关联紧密的历史话术充分利用,有利于在后续流程中生成更具针对性的话术。具体的基于注意力机制运算确定关联编码表示的方法可参考图5的相关描述,在此不再赘述。
步骤208,基于所述话术生成模型,基于所述关联编码表示进行解码,生成目标话术。步骤208可以由生成模块330执行。
在一些实施例中,所述目标话术可以是指具有明确意图或能够准确响应对方意图的模拟话术。例如,所述目标话术可以是模拟的用户话术,其表达了用户的一个意图,并可作为训练数据用以训练智能对话机器人,或作为对话语料与对话机器人进行对话达到冷启动的作用。作为示例,生成模块630可以利用话术生成模型的解码器(decoder)对对话上文和各历史话术的关联编码表示进行解码。示例性的话术生成模型的解码器可以是LSTM、GRU、或双向GRU(BIGRU)。解码过程可以包括一个或以上的迭代环节。例如,生成模块330可以将所述关联编码表示作为初始解码迭代环节的输入,并进行至少一个以上的解码迭代以生成所述目标话术。在每一个解码迭代环节中,生成模块330可以基于前一解码迭代环节的解码隐状态表示对对话上文编码过程中的各编码隐状态表示做注意力机制运算,得到当前解码迭代环节的上下文向量表示。并将该上下文向量表示与前一解码迭代环节的解码表示合并作为当前解码迭代环节的输入。仅出于说明的目的,本说明书以LSTM解码器为例进行介绍。生成模块330可以将步骤206中经LSTM编码器所确定的关联编码表示作为LSTM解码的初始状态,解码过程中使用注意力机制将解码器隐状态和对话上文编码的每个时刻的编码隐状态做内积计算,再进行归一化(例如,softmax)计算,得到对话上文中各个词的权重值。其后,基于各权重值可以对对话上文编码过程中的各编码隐状态表示进行加权求和,得到当前解码时刻的上下文向量表示。所得到的上下文向量表示可以用于下一解码迭代环节。在所有的解码迭代环节结束后,可以基于每次解码迭代环节生成的解码表示,利用映射表例如向量-字词映射表,获取对应于各解码表示的字词,将各字词顺序拼接作为所述目标话术。具体的基于注意力机制运算得到当前解码时刻上下文向量表示方法可参考图6的相关描述,在此不再赘述。
应当注意的是,上述有关流程200的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程200进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图3是根据本说明书一些实施例所示的一种意图分类模型训练方法的示例性流程图。在一些实施例中,流程300中的一个或以上步骤可以在图1所示的系统100中实现。例如,流程400中的一个或以上步骤可以作为指令的形式存储在存储设备140中,并被处理设备110调用和/或执行。在一些实施例中,流程300可以由训练模块640执行。
步骤302,从第一样本集中获取第二样本集,所述第二样本中的样本数量小于所述第一样本集中的样本数量。
在一些实施例中,所述第一样本集可以指在一段时间内,例如,一个星期、一个月、一个季度、半年、或一年,所有发生的对话中参与方的话术的集合。例如,对于信用消费服务,在一段时间内用户与服务方的对话中,所有的用户与服务方之间的对话的话术的集合可以被称为第一样本集。每一个用户与服务方之间的对话话术可以被称为一个对话样本。所述第一样本集的样本数量可以是百万级别的数量。所述第二样本集可以是从所述第一样本集中获取的部分,其所包含的样本数量要小于第一样本集的样本数量。例如,所述第二样本集的样本数量可以是万级别的数量。在一些实施例中,所述第一样本集中的样本可以是存储在存储设备例如存储设备140中。训练模块640可以从与存储设备进行通信以获取所述第一样本集。在获取所述第一样本集之后,训练模块640可以以任意的选择方式例如随机选取的方式,从所述第一样本集中确定所述第二样本集。
步骤304,对所述第二样本集中的对话样本进行意图类别标注,并利用所述第二样本集中标注后的对话样本训练初始分类模型以获取第一分类模型。
在一些实施例中,在对所述对话样本的意图类别进行标注之前,训练模块340可以获取预定数量例如两个或以上的定义明确的分类标签,再利用该分类标签对第二样本集中的对话样本进行意图类别标注。标注完成后,训练模块640可以使用所述第二样本集中标注后的对话样本训练初始分类模型,得到训练好的第一分类模型。训练好的第一分类模型可以用于预测对话中一方或多方的一个或多个意图。在训练中,训练模块640可以根据模型的预测输出与意图分类标签之间的差异反向调整模型参数,以达到优化或更新模型。当差异满足某一预设条件时,例如,模型的预测正确率大于某一预先设置的正确率阈值,或损失函数(Loss Function)的值小于某一预设值,训练过程将停止,即得到训练好的第一分类模型。
步骤306,至少利用所述第一分类模型,对所述第一样本集中的对话样本进行意图类别标注;第一样本集的意图类别多于第二样本集的意图类别。
在一些实施例中,训练模块640可以将第一样本集中的对话样本输入到训练好的第一分类模型中,得到对应于每个对话样本的预测意图,并基于预测意图对第一样本集中的对话样本进行分类,例如,将对应于相同或相似预测意图的对话样本归为同一类。分类完成后可以得到至少两个样本分组,每个样本分组对应一个相同或相似的预测意图。在获取样本分组后,训练模块640可以利用聚类算法分别对各样本分组进行聚类,得到多个样本簇。所使用的聚类算法可以是密度聚类算法,例如DBSCAN算法、OPTICS算法、DENCLUE算法等。在一些实施例中,所得到的样本簇可以进行合并,例如,利用人工审核的方式对相似的样本簇进行合并。在确定多个样本簇后,对于每一个样本簇,可以基于该簇中的对话样本确定意图关键词,并将该意图关键词作为该簇中每个对话样本的意图类别标签。关键词的抽取可以使用,例如,PageRank、TextRank、TF-IDF、LDA等关键词抽取算法,来对每一簇的对话样本抽取关键词,取该簇的前N个最高频关键词作为该簇的类别标签,例如,前两个。这样,第一样本集中的每个对话样本都可以高效被标注,且对应的意图类别的数量多,分类精细。仅作为示例,假定第一样本集的对话样本经过第一分类模型处理后得到P个样本分组。对于每一个样本分组,经过聚类以及合并后可以得到Q个样本簇。其后,经过关键词抽取可以得到每个样本簇的两个高频关键词作为该样本簇的类别标签。因此,经过上述操作后,可以为第一样本集中的对话样本标注2×P×Q中的一个类别标签。这对于样本数量达到百万级别的样本集来说,可以高效得到精确且多样的意图类别标注,有益于意图分类模型的训练。
步骤308,利用所述第一样本集中标注后的对话样本训练初始分类模型以获取所述意图分类模型。
在一些实施例中,所述第一样本集中标注后的对话样本可以被利用以训练初始分类模型得到训练好的分类更加精细的意图分类模型。所述初始分类模型可以是未经训练的BERT模型。所述训练好的意图分类模型可以基于所述对话上文确定与对话上文相关的至少一个意图。在所述初始分类模型的训练过程中,可以根据模型的预测输出(例如,预测的意图)与对话样本的已标注的意图之间的差异反向调整模型参数,以达到训练或优化模型的目的。当差异满足某一预先设置的条件时,例如,模型的预测正确率大于某一预定正确率阈值,或损失函数(Loss Function)的值小于某一预设值,训练过程将停止,即得到训练好的意图分类模型。
应当注意的是,上述有关流程300的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程300进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图4是根据本说明书一些实施例所示的确定关联编码表示方法的示例性流程图。在一些实施例中,流程400中的一个或以上步骤可以在图1所示的系统100中实现。例如,流程400中的一个或以上步骤可以作为指令的形式存储在存储设备140中,并被处理设备110调用和/或执行。在一些实施例中,流程400可以由确定模块620执行。
步骤402,基于所述话术生成模型,确定各历史话术的编码表示以及所述对话上文的编码表示。
在一些实施例中,确定模块620可以将所述对话上文输入到所述话术生成模型的编码器中,得到每个时刻的对话上文的编码隐状态,以及最后时刻的编码隐状态,并将最后时刻的编码隐状态作为整个对话上文的编码表示。仅作为示例,假定所述话术生成模型的编码器为LSTM,所述对话上文的表示可以是(x1,x2,..xn),n可以表示一个时刻,其对应了对话上文中的一个句子。将所述对话上文的表示依次输入到LSTM中进行编码,可以得到对应于每个时刻的编码隐状态(或称为编码隐状态表示),记为(hk1,hk2,…,hkn)。hkn为最后时刻的编码隐状态,其可以作为所述对话上文的编码表示。在此处所述对话上文的编码表示也可以记为hc。在一些实施例中,与获取所述对话上文的编码表示类似,确定模块620可以分别将每个历史话术输入至所述话术生成模型的编码器中,得到每个时刻的历史话术的编码隐状态,以及最后时刻的编码隐状态,并将最后时刻的编码隐状态作为整个历史话术的编码表示。仅作为示例,假定所述话术生成模型的编码器为LSTM,所述历史话术的表示为(x1,x2,…,xm)。m可以表示一个时刻,其对应了历史话术中的一个字或词。将所述历史话术的表示输入到LSTM中进行编码,可以得到对应于每个时刻的编码隐状态,记为(hh1,hh2,…,hhm)。hhm为最后时刻的编码隐状态,其可以作为所述历史话术的编码表示。在此处所述历史话术的编码表示也可以记为hs。多个历史话术的编码表示可以记为hs1,hs2,…,hst,t等于历史话术的总数。
步骤404,基于对话上文的编码表示对各历史话术的编码表示做注意力机制运算,得到所述关联编码表示。
在一些实施例中,所述话术生成模型可以为引入注意力机制的模型。在确定对话上文的编码表示对各历史话术的编码后,确定模块620可以利用所述话术生成模型,基于对话上文的编码表示对各历史话术的编码表示做注意力机制运算,以获取所述关联编码表示。所述关联编码表示可以理解为更新后的对话上文的编码表示。由于每一个历史对话都代表了与所述对话上文相关的一个意图,因此对各历史对话进行注意力机制运算可以有效地选择与所述对话上文更相关的历史话术,所得到的关联编码应用在后续的流程中(例如,解码过程以得到目标话术),可以得到更符合所述对话上文的、表达了针对性意图的目标话术。仅作为示例,所述注意力机制运算可以表述如下:分别将对话上文的编码表示hc与各历史话术的编码表示hs1,hs2,…,hst做内积(在本说明书中也可被称为点积),得到多个内积值。在获取多个內积值后,可以利用归一化函数(例如,softmax函数)将内积值转换为对应的权重值a1,a2,…,at。每一个权重值对应一个历史话术。最后基于各权重值对各历史话术的编码表示进行加权求和,得到整个对话上文和历史话术的关联编码表示hc’。
应当注意的是,上述有关流程400的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程400进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图5是根据本说明书一些实施例所示的关联编码的解码方法的示例性流程图。在一些实施例中,流程500中的一个或以上步骤可以在图1所示的系统100中实现。例如,流程500中的一个或以上步骤可以作为指令的形式存储在存储设备140中,并被处理设备110调用和/或执行。在一些实施例中,所述目标话术可以是基于对所述关联编码的一次或以上的解码迭代以获取。所述关联编码可以作为初始解码迭代环节的输入,在经过至少一次或以上的解码迭代后生成所述目标话术。流程500用以描述一次解码迭代环节的过程。在一些实施例中,流程500可以由生成模块630执行。
步骤502,基于前一解码迭代环节的解码隐状态表示对对话上文编码过程中的各编码隐状态表示做注意力机制运算,得到当前解码迭代环节的上下文向量表示。
在一些实施例中,所述解码隐状态表示可以是所述话术生成模型对于该轮解码迭代过程的输入的一个直接输出。例如,对于第一轮解码迭代环节,该轮的输入为所述关联编码表示hc’。经过话术生成模型的解码器(decoder)解码所述关联编码hc’,所得到的结果包括当前解码迭代环节的解码表示(或称为解码结果)以及中间量解码隐状态表示。在一些实施例中,当前解码环节产生的解码表示以及解码隐状态表示可以直接或经过处理后输入到下一解码迭代环节中。在本文中,所述解码隐状态表示可以用hdn表示,n为解码迭代环节的轮数。所述话术生成模型的解码器可以是LSTM、GRU、或双向GRU(BIGRU)。在一些实施例中,生成模块330可以利用前一解码迭代环节的解码隐状态表示对对话上文编码过程中的各编码隐状态表示做注意力机制运算,得到当前解码迭代环节的上下文向量表示。
获取所述上下文向量表示的示例性过程可以如下:利用前一解码迭代环节的解码隐状态表示分别与对话上文编码过程中的各个时刻的编码隐状态表示做内积,得到多个内积值。再利用归一化函数(例如,softmax函数)将内积值转换为对应的权重值。最后基于各权重值对对话上文编码过程中的各编码隐状态表示加权求和,得到当前解码迭代环节的上下文向量表示。例如,假定第x轮解码迭代环节的输入为hx,则经过所述话术生成模型的解码器的运算得到解码隐状态表示hdx。随后使用注意力机制将解码隐状态表示hdx分别和对话上文的各个时刻的解码隐状态(hk1,hk2,…,hkm)计算内积,得到多个内积值(q1,q2,…,qm)。将多个内积值进行softmax计算,得到对话上文各个词或语句的权重a’1,a’2,…,a’m,再将对话上文的各个解码隐状态表示(hk1,hk2,…,hkm)和权重向量a’1,a’2,…,a’m进行加权求和,得到第x+1轮解码迭代环节的上下文向量。
步骤504,将该上下文向量表示与前一解码迭代环节的解码表示合并作为当前解码迭代环节的输入。
在一些实施例中,在获取所述上下文向量后,生成模块630可以将所述上下文向量与前一解码迭代环节的解码表示进行合并。合并后得到结果可以作为当前解码迭代环节的输入,进行当前轮的解码迭代,得到当前解码的解码表示以及解码隐状态表示。所使用的合并方法可以包括,例如,embedding拼接等。在一些实施例中,除了将合并后的结果作为当前解码迭代环节的输入以外,还可以将前一解码迭代环节的解码隐状态表示作为当前解码迭代环节的另一输入。
应当注意的是,上述有关流程500的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程500进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,步骤504可以分成两个步骤,分别用于实现关联编码表示的解码和目标话术的生成。
图6是根据本说明书一些实施例所示的话术生成系统的模块图。在一些实施例中,话术生成系统600可以由处理设备110实现。在一些实施例中,话术生成系统600可以用于基于对话上文和历史话术生成目标话术。如图6所示,处理设备110可以包括获取模块610、确定模块620、生成模块630以及训练模块640。
获取模块310可以用于获取对话上文和历史话术。
在一些实施例中,获取模块310可以用于获取对话上文以及与所述对话上文相关的至少一个意图。所述对话上文可以指在进行对话的双方之间的对话内容。例如,用户与服务方之间的对话内容。该对话可以是已完成的对话,和/或正在进行的对话。所述对话上文可以是该对话的全部内容,也可以是该对话的部分内容。所述与对话上文相关的至少一个意图可以是指所述对话上文中的一方通过其话术所表露的想法。获取模块610可以将所述对话上文输入所述意图分类模型直接获取相关的意图。所述意图分类模型可以是机器学习模型,例如BERT模型。
在一些实施例中,获取模块610还可以分别获取与每一个意图相关的历史话术。,所述历史话术可以是指过去一段时间内,例如,一个星期、一个月、一个季度、半年、或一年,所发生的对话中对话双方的话术。与所述意图相关的历史话术可以是指表达了相同或相近意图的历史话术。获取模块610在确定与所述对话上文相关的至少一个意图后,可以分别确定与所述至少一个意图相关的话术集合,并从话术集合中选出一个话术作为与所述意图相关的历史话术。
确定模块620可以用于基于话术生成模型,确定历史话术与对话上文的关联编码表示。
在一些实施例中,所述话术生成模型可以是引入注意力机制的序列到序列(seq2seq)模型,可以包含编码器(encoder)和解码器(decoder)。确定模块320可以利用话术生成模型的编码器(encoder)分别对对话上文和各历史话术进行编码,得到对话上文编码表示和各历史话术编码表示。所述编码表示可以是以向量或向量序列表示。作为示例,所述话术生成模型的编码器可以是LSTM、GRU、或双向GRU(BIGRU)。在获取所述对话上文的编码表示以及各历史话术的编码表示后,确定模块320可以利用所述话术生成模型,基于对话上文的编码表示对各历史话术的编码表示做注意力机制运算,得到所述关联编码表示。所述关联编码表示可以理解为更新后的对话上位的编码表示。
在一些实施例中,确定模块620可以利用对话上文的编码表示分别与各历史话术的编码表示做内积,将各內积值转换为对应的权重值,基于各权重值对各历史话术的编码表示加权求和,得到所述关联编码表示。
生成模块330可以用于基于所述话术生成模型,基于所述关联编码表示进行解码,生成目标话术。
在一些实施例中,所述目标话术可以是指具有明确意图或能够准确响应对方意图的模拟话术。例如,所述目标话术可以是模拟的用户话术,其表达了用户的一个意图,并可作为训练数据用以训练智能对话机器人,或作为对话语料与对话机器人进行对话达到冷启动的作用。生成模块630可以利用话术生成模型的解码器(decoder)对对话上文和各历史话术的关联编码表示进行解码。示例性的话术生成模型的解码器可以是LSTM、GRU、或双向GRU(BIGRU)。解码过程可以包括一个或以上的迭代环节。例如,生成模块330可以将所述关联编码表示作为初始解码迭代环节的输入,并进行至少一个以上的解码迭代以生成所述目标话术。在每一个解码迭代环节中,生成模块330可以基于前一解码迭代环节的解码隐状态表示对对话上文编码过程中的各编码隐状态表示做注意力机制运算,得到当前解码迭代环节的上下文向量表示。并将该上下文向量表示与前一解码迭代环节的解码表示合并作为当前解码迭代环节的输入。
在一些实施例中,生成模块630还可以利用前一解码迭代环节的解码隐状态表示分别与对话上文编码过程中的各编码隐状态表示做內积。将各內积值转换为对应的权重值。基于各权重值对对话上文编码过程中的各编码隐状态表示加权求和,得到当前解码迭代环节的上下文向量表示。
训练模块640可以训练意图分类模型。
在一些实施例中,训练模块640可以获取第一样本集,并从第一样本集中获取第二样本集。所述第一样本集可以指在一段时间内,例如,一个星期、一个月、一个季度、半年、或一年,所有发生的对话中参与方的话术的集合。所述第一样本集的样本数量可以是百万级别的数量。所述第二样本集可以是从所述第一样本集中获取的部分,其所包含的样本数量要小于第一样本集的样本数量。例如,所述第二样本集的样本数量可以是万级别的数量。其后,训练模块640可以对所述第二样本集中的对话样本进行意图类别标注,并利用所述第二样本集中标注后的对话样本训练初始分类模型以获取第一分类模型。训练模块340可以获取预定数量例如两个或以上的定义明确的分类标签,再利用该分类标签对第二样本集中的对话样本进行意图类别标注。标注完成后,训练模块640可以使用所述第二样本集中标注后的对话样本训练初始分类模型,得到训练好的第一分类模型。训练好的第一分类模型可以用于预测对话中一方或多方的一个或多个意图。继而,训练模块640可以至少利用所述第一分类模型,对所述第一样本集中的对话样本进行意图类别标注。训练模块640可以将第一样本集中的对话样本输入到训练好的第一分类模型中,得到对应于每个对话样本的预测意图,并基于预测意图对第一样本集中的对话样本进行分类。随后,并利用所述第一样本集中标注后的对话样本训练初始分类模型以获取所述意图分类模型。
关于处理设备110的各模块的详细描述可以参见本说明书图2至图5部分。
应当理解,图6所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于话术生成系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,例如,图6中披露的获取模块610、确定模块620、生成模块630以及训练模块640可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,确定模块620和生成模块630可以是两个模块,也可以是一个模块同时具有确定和生成目标话术的功能。又例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例可能带来的有益效果包括但不限于:(1)目标话术的生成基于引入注意力机制的序列到序列模型,结合对话上文相关的至少一个意图相关的历史话术,提升了场景中的话术模拟细度。同时不需要配置话术模板,减少了工作量。(2)基于对话上文利用意图分类模型分类出多个相关的意图,并基于多个意图从历史对话记录中匹配出多个具有相同意图的历史话术,所得到的历史话术应用于话术生成过程中,提升了话术模拟在意图上的多样性;(3)在话术生成模型中引入注意力机制,将和对话上文关系密切的历史话术充分利用,增加了生成的目标话术的针对性。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (19)
1.一种话术生成方法,包括:
获取对话上文,以及与所述对话上文相关的至少一个意图;
分别获取与每一个意图相关的历史话术;
基于话术生成模型,确定所述历史话术与所述对话上文的关联编码表示;所述话术生成模型为编码解码模型;
基于所述话术生成模型,基于所述关联编码表示进行解码,生成目标话术。
2.根据权利要求1所述的方法,其中,确定与所述对话上文相关的至少一个意图,包括:
基于所述意图分类模型处理所述对话上文以确定与所述对话上文相关的至少一个意图;其中,所述意图分类模型为机器学习模型。
3.根据权利要求2所述的方法,其中,所述意图分类模型为BERT。
4.根据权利要求3所述的方法,其中,所述意图分类模型通过以下步骤获取,包括:
从第一样本集中获取第二样本集,所述第二样本中的样本数量小于所述第一样本集中的样本数量;
对所述第二样本集中的对话样本进行意图类别标注,并利用所述第二样本集中标注后的对话样本训练初始分类模型以获取第一分类模型;
至少利用所述第一分类模型,对所述第一样本集中的对话样本进行意图类别标注;第一样本集的意图类别多于第二样本集的意图类别;
利用所述第一样本集中标注后的对话样本训练初始分类模型以获取所述意图分类模型。
5.根据权利要求4所述的方法,其中,所述至少利用所述第一分类模型,对所述第一样本集中的对话样本进行意图类别标注,包括:
利用所述第一分类模型对所述第一样本集中的对话样本进行分类,获取来自于第一样本集的至少两个样本分组;
基于聚类算法分别对各样本分组进行聚类,获取多个样本簇;
对于每一样本簇,基于簇中的对话样本确定意图关键词,并将所述意图关键词作为该簇中每个对话样本的意图类别标签。
6.根据权利要求1所述的方法,其中,所述话术生成模型为引入注意力机制的序列到序列模型;所述基于话术生成模型,确定所述历史话术与所述对话上文的关联编码表示,包括:
基于所述话术生成模型,确定各历史话术的编码表示以及所述对话上文的编码表示;
基于对话上文的编码表示对各历史话术的编码表示做注意力机制运算,得到所述关联编码表示。
7.根据权利要求6所述的方法,其中,所述基于对话上文的编码表示对各历史话术的编码表示做注意力机制运算,得到所述关联编码表示,包括:
利用对话上文的编码表示分别与各历史话术的编码表示做內积;
将各內积值转换为对应的权重值;
基于各权重值对各历史话术的编码表示加权求和,得到所述关联编码表示。
8.根据权利要求1或6所述的方法,其中,所述话术生成模型为引入注意力机制的序列到序列模型;所述基于所述话术生成模型,基于所述关联编码表示进行解码,生成目标话术,包括:
将所述关联编码表示作为初始解码迭代环节的输入,并进行至少一个或以上的解码迭代,以生成目标话术;
在每一个解码迭代环节中:
基于前一解码迭代环节的解码隐状态表示对对话上文编码过程中的各编码隐状态表示做注意力机制运算,得到当前解码迭代环节的上下文向量表示;
将该上下文向量表示与前一解码迭代环节的解码表示合并作为当前解码迭代环节的输入。
9.根据权利要求8所述的方法,其中,所述基于前一解码迭代环节的解码隐状态表示对对话上文编码过程中的各编码隐状态表示做注意力机制运算,得到当前解码迭代环节的上下文向量表示包括:
利用前一解码迭代环节的解码隐状表示分别与对话上文编码过程中的各编码隐状态表示做內积;
将各內积值转换为对应的权重值;
基于各权重值对对话上文编码过程中的各编码隐状态表示加权求和,得到当前解码迭代环节的上下文向量表示。
10.一种话术生成系统,所述系统包括获取模块、确定模块以及生成模块:
所述获取模块,用于获取对话上文,以及与所述对话上文相关的至少一个意图;并分别获取与每一个意图相关的历史话术;
所述确定模块,用于基于话术生成模型,确定所述历史话术与所述对话上文的关联编码表示;所述话术生成模型为编码解码模型;
所述生成模块,用于基于所述话术生成模型,基于所述关联编码表示进行解码,生成目标话术。
11.根据权利要求10所述的系统,其中,所述获取模块进一步用于:
基于所述意图分类模型处理所述对话上文以确定与所述对话上文相关的至少一个意图;其中,所述意图分类模型为机器学习模型。
12.根据权利要求11所述的系统,其中,所述意图分类模型为BERT。
13.根据权利要求12所述的系统,其中,所述系统进一步包括训练模块,所述训练模块用于执行以下步骤以获取所述意图分类模型:
从第一样本集中获取第二样本集,所述第二样本中的样本数量小于所述第一样本集中的样本数量;
对所述第二样本集中的对话样本进行意图类别标注,并利用所述第二样本集中标注后的对话样本训练初始分类模型以获取第一分类模型;
至少利用所述第一分类模型,对所述第一样本集中的对话样本进行意图类别标注;第一样本集的意图类别多于第二样本集的意图类别;
利用所述第一样本集中标注后的对话样本训练初始分类模型以获取所述意图分类模型。
14.根据权利要求13所述的系统,其中,为至少利用第一分类模型,对所述第一样本集中的对话样本进行意图类别标注,所述训练模块被进一步用于:
利用所述第一分类模型对所述第一样本集中的对话样本进行分类,获取来自于第一样本集的至少两个样本分组;
基于聚类算法分别对各样本分组进行聚类,获取多个样本簇;
对于每一样本簇,基于簇中的对话样本确定意图关键词,并将所述意图关键词作为该簇中每个对话样本的意图类别标签。
15.根据权利要求10所述的系统,其中,所述话术生成模型为引入注意力机制的序列到序列模型;所述确定模块进一步用于:
基于所述话术生成模型,确定各历史话术的编码表示以及所述对话上文的编码表示;
基于对话上文的编码表示对各历史话术的编码表示做注意力机制运算,得到所述关联编码表示。
16.根据权利要求15所述的系统,其中,为基于对话上文的编码表示对各历史话术的编码表示做注意力机制运算,得到所述关联编码表示,所述确定模块进一步用于:
利用对话上文的编码表示分别与各历史话术的编码表示做內积;
将各內积值转换为对应的权重值;
基于各权重值对各历史话术的编码表示加权求和,得到所述关联编码表示。
17.根据权利要求10或15所述的系统,其中,所述话术生成模型为引入注意力机制的序列到序列模型;所述生成模块进一步用于:
将所述关联编码表示作为初始解码迭代环节的输入,并进行至少一个或以上的解码迭代,以生成目标话术;
在每一个解码迭代环节中:
基于前一解码迭代环节的解码隐状态表示对对话上文编码过程中的各编码隐状态表示做注意力机制运算,得到当前解码迭代环节的上下文向量表示;
将该上下文向量表示与前一解码迭代环节的解码表示合并作为当前解码迭代环节的输入。
18.根据权利要求17所述的系统,其中,为基于前一解码迭代环节的解码隐状态表示对对话上文编码过程中的各编码隐状态表示做注意力机制运算,得到当前解码迭代环节的上下文向量表示,所述生成模块进一步用于:
利用前一解码迭代环节的解码隐状态表示分别与对话上文编码过程中的各编码隐状态表示做內积;
将各內积值转换为对应的权重值;
基于各权重值对对话上文编码过程中的各编码隐状态表示加权求和,得到当前解码迭代环节的上下文向量表示。
19.一种话术生成装置,其中,所述装置包括处理器以及存储器;所述存储器用于存储指令,其特征在于,所述指令被所述处理器执行时,导致所述装置实现如权利要求1~9中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911204119.XA CN110990547B (zh) | 2019-11-29 | 2019-11-29 | 一种话术生成方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911204119.XA CN110990547B (zh) | 2019-11-29 | 2019-11-29 | 一种话术生成方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110990547A CN110990547A (zh) | 2020-04-10 |
CN110990547B true CN110990547B (zh) | 2023-03-14 |
Family
ID=70088740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911204119.XA Active CN110990547B (zh) | 2019-11-29 | 2019-11-29 | 一种话术生成方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990547B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553403A (zh) * | 2020-04-26 | 2021-10-26 | 阿里巴巴集团控股有限公司 | 对话模型的训练方法、对话生成方法及装置 |
CN111564202B (zh) * | 2020-04-30 | 2021-05-28 | 深圳市镜象科技有限公司 | 基于人机对话的心理疏导方法、心理疏导终端和存储介质 |
CN111581388B (zh) * | 2020-05-11 | 2023-09-19 | 北京金山安全软件有限公司 | 一种用户意图识别方法、装置及电子设备 |
CN111814984B (zh) * | 2020-05-11 | 2024-06-07 | 北京嘀嘀无限科技发展有限公司 | 用于处理对话的方法、装置、电子设备和存储介质 |
CN111710338B (zh) * | 2020-06-28 | 2023-07-25 | 度小满科技(北京)有限公司 | 一种话术播放方法及装置 |
CN111737146B (zh) * | 2020-07-21 | 2020-11-13 | 中国人民解放军国防科技大学 | 一种用于对话系统评估的语句生成方法 |
CN112185355B (zh) * | 2020-09-18 | 2021-08-24 | 马上消费金融股份有限公司 | 一种信息处理方法、装置、设备及可读存储介质 |
CN115033702B (zh) * | 2022-03-04 | 2024-06-04 | 贵州电网有限责任公司 | 一种基于集成学习的变电站选址知识抽取方法 |
CN115017870A (zh) * | 2022-05-30 | 2022-09-06 | 平安科技(深圳)有限公司 | 一种闭环的话术扩写方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704013A (zh) * | 2016-03-18 | 2016-06-22 | 北京光年无限科技有限公司 | 基于上下文的话题更新数据处理方法及装置 |
CN107679224A (zh) * | 2017-10-20 | 2018-02-09 | 竹间智能科技(上海)有限公司 | 一种面向无结构文本智能问答的方法和系统 |
CN108256066A (zh) * | 2018-01-16 | 2018-07-06 | 智言科技(深圳)有限公司 | 端到端层次解码任务型对话系统 |
EP3486842A1 (en) * | 2017-11-17 | 2019-05-22 | Digital Genius Limited | Template generation for a conversational agent |
CN110263131A (zh) * | 2019-03-05 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 回复信息生成方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10453454B2 (en) * | 2017-10-26 | 2019-10-22 | Hitachi, Ltd. | Dialog system with self-learning natural language understanding |
-
2019
- 2019-11-29 CN CN201911204119.XA patent/CN110990547B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704013A (zh) * | 2016-03-18 | 2016-06-22 | 北京光年无限科技有限公司 | 基于上下文的话题更新数据处理方法及装置 |
CN107679224A (zh) * | 2017-10-20 | 2018-02-09 | 竹间智能科技(上海)有限公司 | 一种面向无结构文本智能问答的方法和系统 |
EP3486842A1 (en) * | 2017-11-17 | 2019-05-22 | Digital Genius Limited | Template generation for a conversational agent |
CN108256066A (zh) * | 2018-01-16 | 2018-07-06 | 智言科技(深圳)有限公司 | 端到端层次解码任务型对话系统 |
CN110263131A (zh) * | 2019-03-05 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 回复信息生成方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110990547A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110990547B (zh) | 一种话术生成方法和系统 | |
CN111862977B (zh) | 一种语音对话处理方法和系统 | |
CN111160514B (zh) | 一种对话的方法和系统 | |
CN110390108B (zh) | 基于深度强化学习的任务型交互方法和系统 | |
US9892414B1 (en) | Method, medium, and system for responding to customer requests with state tracking | |
US10853421B2 (en) | Segmented sentence recognition method and device for human-machine intelligent question answer system | |
US20170092261A1 (en) | System and method for crowd-sourced data labeling | |
CN111177325B (zh) | 一种自动生成答案的方法和系统 | |
WO2019177816A1 (en) | Sequence to sequence conversational query understanding | |
US11481646B2 (en) | Selecting answer spans from electronic documents using neural networks | |
JP7502469B2 (ja) | スパースアテンションメカニズムを備えたアテンションニューラルネットワーク | |
CN111339309B (zh) | 一种用户意图的语料扩展方法和系统 | |
CN113010653B (zh) | 一种对话策略模型训练、对话的方法和系统 | |
CN112084769B (zh) | 依存句法模型优化方法、装置、设备及可读存储介质 | |
CN111950295A (zh) | 一种训练自然语言处理模型的方法和系统 | |
CN112925894B (zh) | 对话中标问匹配方法、系统及装置 | |
CN116561284A (zh) | 智能应答方法、装置、电子设备及介质 | |
CN116580704A (zh) | 语音识别模型的训练方法、语音识别方法、设备及介质 | |
CN114519094A (zh) | 基于随机状态的话术推荐方法、装置及电子设备 | |
CN111767735B (zh) | 执行任务的方法、装置及计算机可读存储介质 | |
CN113688222A (zh) | 基于上下文语义理解的保险销售任务话术推荐方法、系统以及设备 | |
CN111651582A (zh) | 一种模拟用户发言的方法和系统 | |
CN113705206B (zh) | 情感预测模型的训练方法、装置、设备及存储介质 | |
CN111340218B (zh) | 一种训练问题识别模型的方法和系统 | |
US11461399B2 (en) | Method and apparatus for responding to question, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |