CN113420136A - 一种对话方法、系统、电子设备、存储介质和程序产品 - Google Patents
一种对话方法、系统、电子设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN113420136A CN113420136A CN202110695637.7A CN202110695637A CN113420136A CN 113420136 A CN113420136 A CN 113420136A CN 202110695637 A CN202110695637 A CN 202110695637A CN 113420136 A CN113420136 A CN 113420136A
- Authority
- CN
- China
- Prior art keywords
- user
- transaction
- conversation
- dialog
- intention
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000003860 storage Methods 0.000 title claims abstract description 25
- 230000003997 social interaction Effects 0.000 claims abstract description 17
- 230000003993 interaction Effects 0.000 claims abstract description 4
- 239000013598 vector Substances 0.000 claims description 67
- 230000006870 function Effects 0.000 claims description 58
- 238000004590 computer program Methods 0.000 claims description 34
- 230000004044 response Effects 0.000 claims description 29
- 238000006243 chemical reaction Methods 0.000 claims description 24
- 238000013527 convolutional neural network Methods 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 19
- 230000007246 mechanism Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000010606 normalization Methods 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 239000010410 layer Substances 0.000 description 33
- 238000010586 diagram Methods 0.000 description 27
- 230000000875 corresponding effect Effects 0.000 description 25
- 230000008569 process Effects 0.000 description 15
- 230000006854 communication Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 238000012549 training Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 6
- 210000004027 cell Anatomy 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 230000006403 short-term memory Effects 0.000 description 4
- 230000001755 vocal effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000008451 emotion Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 238000013145 classification model Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000002996 emotional effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007787 long-term memory Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009016 anticipatory response Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000002779 inactivation Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000012892 rational function Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
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/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种对话方法,可以应用于人工智能技术领域。该对话方法包括:获取用户发送的对话信息;根据对话信息判断是否存在交易意图;若是,则与用户进行交易对话;若否,则与用户进行社交对话;其中,与用户进行社交对话时,继续判断用户发送的对话信息是否存在交易意图;若是,则与用户从社交对话转向交易对话。本公开的方法可同时与用户进行交易对话、社交对话,提高智能问答服务的效率与质量。本公开还提供了一种对话系统、电子设备、计算机可读存储介质和程序产品。
Description
技术领域
本公开涉及人工智能技术领域,具体涉及一种对话方法、系统、电子设备、存储介质和程序产品。
背景技术
金融系统中,业务术语和交易具有高度专业性,数据量也十分庞大,并且面临更高等级的安全性,现有的智能问答系统仅仅用以匹配少量查询交易场景,采用简单的关键词匹配模式,不能很好的理解客户的意图,影响客户交易并给人工坐席带来负担。
目前,中文智能问答系统存在答非所问、应答场景有限等缺点。基于检索匹配模型的任务型会话系统旨在理解用户意图并完成具体任务,主要应用在客户服务系统领域,它能够理解用户以自然语言表达的请求,并提供相应的业务服务。任务型会话系统的核心是机器学习,辅以少量的手工设计规则,能够真正理解对话的内容,执行适当的策略或动作。但此类系统的检索数据量庞大,通常只关注任务结果,从而忽视了问答过程中会话的连续性和话轮转换技巧,使得用户与系统之间的交互体验欠佳。
基于生成式的社交型聊天系统致力于建立与用户的情感联系,成为用户的人工智能伴侣。互联网时代,用户的社交感情需求愈发凸显,社交型聊天机器人作为社交的补充手段,能够疏解人们的社交情感需求。社交型聊天系统一般使用深度学习技术,通过构建端到端的生成式模型,使得问答系统能够生成未出现在语料库中的回复,从而满足了开放领域的问答需求。基于生成式的社交型聊天机器人拥有强大的语言理解能力和丰富的知识库,能够与用户在开放领域内展开自然流畅的对话,并通过学习不断提升新的技能,在智能音响等产品中得到广泛应用。然而,此类系统对于语言中的情感、隐喻等深层语义信息仍不能很好的理解并加以应用,导致问答过程中常有“不合时宜”的回复,降低用户体验。
发明内容
(一)要解决的技术问题
针对上述问题,本公开提供了一种对话方法、系统、电子设备、存储介质和程序产品,用于至少部分解决传统智能问答难以同时兼顾交易场景和社交场景等技术问题。
(二)技术方案
本公开一方面提供了一种对话方法,包括:获取用户发送的对话信息;根据对话信息判断是否存在交易意图;若是,则与用户进行交易对话;若否,则与用户进行社交对话;其中,与用户进行社交对话时,继续判断用户发送的对话信息是否存在交易意图;若是,则与用户从社交对话转向交易对话。
进一步地,根据对话信息判断是否存在交易意图包括:将对话信息转化成词向量;根据词向量进行卷积神经网络意图分类;判断意图分类是否为交易意图。
进一步地,与用户进行交易对话包括:若根据对话信息判断存在交易意图;则与用户进行多轮对话,进行交易匹配;执行匹配成功的交易。
进一步地,与用户进行交易对话还包括:判断交易意图是否高于阈值;若是,则与用户进行多轮对话,进行交易匹配;若否,则进入按键服务。
进一步地,判断交易意图是否高于阈值包括:计算语料库中问句的词频矩阵,并进行归一化处理;采用词频-逆向文件频率算法得到每条候选问句对应的词频向量;计算对话信息的词频向量;采用相似度函数计算对话信息的词频向量与每条候选问句对应的词频向量的余弦相似度;判断余弦相似度的值是否高于阈值。
进一步地,判断余弦相似度的值是否高于阈值包括:若判断余弦相似度的值高于阈值,则将余弦相似度最高的候选问句所对应的答案作为应答,返还给用户,并与用户进行多轮对话;若判断余弦相似度的值低于阈值,则进入按键服务。
进一步地,还包括:构建应答系统路由数据库的关键表字段,用于与平台交易服务进行关联,以执行交易;还用于连接客户按键与平台交易服务进行关联,以执行交易。
进一步地,与用户进行多轮对话包括:将对话信息按照言语功能进行分类;根据分类确定话轮转换策略;基于话轮转换策略,将候选问句所对应的答案进行优化,对用户进行应答。
进一步地,与用户进行社交对话包括:采用基于注意力机制的生成对话模型与用户进行社交对话。
进一步地,基于注意力机制的生成对话模型包括:基于长短期记忆网络模型构建序列到序列的问答基础模型;通过对输入序列每一部分赋予不同的关注权重,来表征预测结果与输入序列的语义关联,以便于处理长序列问句。
进一步地,继续判断用户发送的对话信息是否存在交易意图包括:判断交易意图是否高于阈值;若是,则与用户从社交对话转向交易对话。
本公开另一方面提供了一种对话系统,包括:获取模块,用于获取用户发送的对话信息;第一判断模块,用于根据对话信息判断是否存在交易意图;若是,则与用户进行交易对话;若否,则与用户进行社交对话;第二判断模块,用于与用户进行社交对话时,继续判断用户发送的对话信息是否存在交易意图;若是,则与用户从社交对话转向交易对话。
进一步地,该系统还包括:转化模块,用于将对话信息转化成词向量;意图判别模块,用于根据词向量进行卷积神经网络意图分类;判断意图分类是否为交易意图。
本公开还有一方面提供了一种电子设备,包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,使得处理器执行如前述的对话方法。
本公开还有一方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如前述的对话方法。
本公开还有一方面提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如前述的对话方法。
(三)有益效果
本公开提供的一种对话方法、系统、电子设备、存储介质和程序产品,通过结合交易对话与社交对话,可以实现交易对话与社交对话的随时切换。其中,通过交易对话可以为客户提供交易服务,具有专业性;通过社交对话能够满足用户广泛的社交聊天需求,具有通用性,两者之间可以通过阈值控制实现切换,提高了智能问答服务的效率与质量,提升了客户体验,并极大减少了人工坐席运营成本。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例对话方法的应用场景示意图;
图2示意性示出了根据本公开实施例对话方法的流程图;
图3示意性示出了根据本公开实施例的判断是否存在交易意图方法的流程图;
图4示意性示出了根据本公开实施例Word2vec词向量表示模块中Skip-gram训练模型的结构示意图;
图5示意性示出了根据本公开实施例中卷积神经网络意图分类模块的结构示意图;
图6示意性示出了根据本公开实施例的判断交易意图是否高于阈值方法的流程图;
图7示意性示出了根据本公开实施例的与用户进行多轮对话方法的流程图;
图8示意性示出了根据本公开实施例的话轮转换模型的结构示意图;
图9-1示意性示出了根据本公开实施例注意力模型结构图;
图9-2示意性示出了根据本公开实施例的长短期记忆网络模型单元结构示意图;
图10示意性示出了根据本公开实施例的基于LSTM的序列到序列问答框架模型结构示意图;
图11示意性示出了根据本公开实施例对话方法的完整流程图;
图12示意性示出了根据本公开实施例智能问答系统对话模型结构示意图;
图13示意性示出了根据本公开实施例基于卷积神经网络的检索匹配模型的架构示意图;
图14示意性示出了根据本公开实施例对话系统的结构示意图;
图15示意性示出了根据本公开实施例另一对话系统的结构示意图;
图16示意性示出了根据本公开一实施例的适于实现上文描述的方法的电子设备方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种对话方法、系统、电子设备及存储介质,能同时为用户提供交易对话与社交对话服务,满足用户的不同需求,提高了智能问答的服务效率、降低客户等待时间、提高客户的满意度。
图1示意性示出了根据本公开实施例的可以应用于对话方法的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如摄像功能应用、拍照功能应用、网页浏览器应用、搜索类应用、即时通信工具、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的对话方法一般可以由服务器105执行。相应地,本公开实施例所提供的用于对话的系统一般可以设置于服务器105中。本公开实施例所提供的对话方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的用于对话的系统也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
目前,中文智能问答系统存在答非所问、应答场景有限等缺点,为了构建更加符合日常交互特点的系统,本公开使用“混合模型”生成应答,由两部分组成,其中检索匹配模型用来应答高度针对性的问题,基于注意力机制的生成对话模型可以用来应答语料库之外更广泛的情景。两种模型的切换是通过判断问句与语料库的相似度是否高于阈值实现的,即预先设定一个阈值,若相似度大于该阈值,则调用检索模型生成的结果,反之则调用生成模型产生的结果,两种模型相互结合,以弥补每个系统单独使用的缺点。
图2示意性示出了根据本公开实施例的对话方法的流程图。
如图2所示,该对话方法包括:
在操作S1,获取用户发送的对话信息。
用户可以通过语音的方式发送消息,也可以通过文本的方式发送消息,还可以是其它方式等等。用户发送的对话信息的内容可以是问句,例如“请问50万的理财产品有哪些?”;也可以是陈述句、感叹句等等,例如“今天天气真好!”这里对用户发送信息的方式和内容均不作限定。
在操作S2,根据对话信息判断是否存在交易意图;若是,则与用户进行交易对话;若否,则与用户进行社交对话。
接收用户询问后,系统根据对话信息的内容判断用户是否有进行交易的倾向;若用户有交易倾向,则与用户进行交易对话模式,例如像用户进行相关交易产品的介绍,根据上述实施例,用户发送的内容为“请问50万的理财产品有哪些?”,系统可以向用户推荐若干50万的理财产品并进行相应介绍。若用户没有交易倾向,则与用户进行社交对话模式,例如与用户聊天,根据上述实施例,用户发送的内容为“今天天气真好!”,系统可以向用户发送“天气好适合出去走走哦。”。通过交易对话模式能够解决用户的实际问题,通过社交对话模式能够满足用户广泛的社交聊天需求,有利于提高智能问答服务的效率与质量。
在操作S3,其中,与用户进行社交对话时,继续判断用户发送的对话信息是否存在交易意图;若是,则与用户从社交对话转向交易对话。
用户刚开始聊天时可能没有交易意图,但在聊天过程中如果出现交易意图,系统则自动切换到交易对话模式,为用户提供相应交易类的服务。本公开中,两种模式自动切换、相互结合,可以弥补单个模式使用的缺点。
图3示意性示出了根据本公开实施例的判断是否存在交易意图方法的流程图。
如图3所示,该判断是否存在交易意图的方法包括:
在操作S201,将对话信息转化成词向量。
判断是否存在交易意图的方法采用基于卷积神经网络的检索匹配模型,包括Word2vec词向量表示模块、卷积神经网络意图分类模块、Doc2vec语义等价判别模块等。通过Word2vec词向量表示模块将对话信息转化成词向量。
Word2vec是一种开源的分布式词向量表征方式,其本质是浅层神经网络,该层的任务是将用户问句中的每个单词转化成计算机能够进行运算的词向量形式。本公开采用Gensim的Python实现其Skip-gram训练模型,该模型是输入词ωt已知,而该词的上下文未知,利用当前词来预测其上下文ωt-2,ωt-1,ωt+1,ωt+2出现的概率,skip-gram由输入层、投影层、输出层三层网络结构组成。
图4示意性示出了根据本公开实施例Word2vec词向量表示模块中Skip-gram训练模型结构示意图,包括:
(1).输入层:输入中间词ω对应的、维度为m的随机初始化向量v(ω)∈Rm。
(2).投影层:这一层主要是为了和cobw模型结构对应,无实际意义。
(3).输出层:该层通过Huffman树将复杂的多分类问题转化为二分类,即经过softmax归一化处理之后ω上下文的概率转化成了一颗Huffman树,叶子结点对应的是语料库词表中词,非叶子结点决定词向量分配到哪个叶子结点上。目标函数定义为从Huffman树的根节点出发到叶子结点所经过路径上非叶子结点的概率乘积:L=∑ω∈Clog p(Context(ω)|ω)。
汉语言博大精深,某一个词可能出现在不同场景、不同领域、不同语境中,其前后所依赖的上下文是不尽相同,所以word2vec算法训练小规模语料库只能获取词的特定语义信息,对语义的表达是不准确、不完整的。因此,本公开首先使用word2vec算法训练了维基百科wiki的中文语料库获得了预训练的词向量,然后从预训练的词向量模型中抽取了本文语料的word2vec向量。获取本文word2vec向量的步骤如下:
step1:加载word2vec预训练词向量库;
step2:从预训练模型中抽取本文语料对应的词向量,得到当前句中各个词汇的word2vec(t)向量,每个语句对应着一个二维矩阵;
在操作S202,根据词向量进行卷积神经网络意图分类;
卷积神经网络是深层神经网络模型的一种。本公开构建的基于卷积神经网络的问句意图分类模块能够分析用户问句的所属意图,从而缩小问题匹配的范围,提升问答检索速度与准确性。图5示意性示出了根据本公开实施例中卷积神经网络意图分类模块的结构示意图。模块结构及各部分功能如下:
(1).问句向量输入层:输入层的主要任务是对分好词的用户问句进行预处理,将其转化为矩阵形式。对于长为L的一条语句,可将其表示为L个Word2vec词向量按序排列而成的特征矩阵,矩阵的每一行代表一个词,矩阵的大小为L*n,n代表词向量的维度,在本公开中为300。
(2).问句特征卷积层:卷积层的功能是提取输入的用户问句的特征,通过卷积核来实现。卷积核为输入矩阵上的滑动窗口,每个卷积核通过与卷积区域内的词向量求内积获取局部特征。卷积核有三个核心参数,分别为宽度w、高度h和步长s。本模型中卷积核的宽度等于Word2vec的维度,这是因为输入矩阵的每一行都对应了一个完整的词向量;而卷积核的高度对应于矩阵纵向不同范围词之间的关系,本公开设置了2、3、4三种卷积核高度,每种卷积核的数量为100,并设置卷积的步长为1,代表卷积核每次滑动一行即一个词的距离。
由于每次卷积都是对矩阵整行进行操作,因此每个卷积核对一条语句采样完成后得到的特征映射为一维列向量,向量的长度与输入语句的长度、卷积核的高度和卷积步长均有关。
(3).特征池化层:池化层的作用是将卷积层采样后的特征映射中不同位置的局部特征进行聚合统计,压缩数据规模的同时保留有效信息,能在一定程度上避免过拟合。本公开采用1-max pooling,即每组特征映射只保留最大值特征作为最重要的特征。
(4).问句意图分类层:问句意图分类层是一个全连接层,该层的每个神经元连接到池化层每个神经元的输出,从而将问句的分布式特征映射到意图类别标记空间,确定最终的问句意图类别,并通过softmax函数对分类的概率进行归一化。
(5).反向传播:反向传播阶段采用随机梯度下降算法,按照意图分类层-池化层-卷积层的顺序进行误差传递,逐层改进模型参数。同时为了避免过拟合问题,本公开在模型训练过程中引入了丢弃机制与L2正则化策略。其中丢弃机制通过将全连接层的神经元部分随机失活,使其输出归零,从而限制参数过大,提升学习效率,本公开中的神经元失活比例设为0.5;L2正则化是通过在损失函数上引入权重参数来约束模型的复杂程度,达到减少泛化误差的目的。
在操作S203,判断意图分类是否为交易意图。
利用前置意图分类模型即可得到用户问题是否所属交易意图,从而进入交易对话模式或者是社交对话模式。
在上述实施例的基础上,与用户进行交易对话包括:若根据对话信息判断存在交易意图;则与用户进行多轮对话,进行交易匹配;执行匹配成功的交易。
用户存在交易意图时,系统与用户进行多轮对话,逐步推进交易过程,直到进行交易匹配、执行交易。现有的智能问答方式通常都是一次性的回复,例如当客户说“查余额”,现有系统返回客户余额即会话结束,但本公开的系统会进一步问客户“请问还有什么可以帮到您”、“余额不充足,请问是否需要充值”等等。该方法考虑到了问答过程中会话的连续性和话轮转换技巧,提升了用户与系统交互服务体验的舒适性。
在上述实施例的基础上,与用户进行交易对话还包括:判断交易意图是否高于阈值;若是,则与用户进行多轮对话,进行交易匹配;若否,则进入按键服务。
识别到用户交易意图后,还进一步判断交易意图是否高于阈值,即判断用户的对话信息与语料库的相似度是否高于阈值。若交易意图高于阈值,说明用户的交易意图比较明确,则进一步通过多轮对话的方式确认交易,以及执行交易。若存在交易意图但交易意图低于阈值,说明用户的交易意图比较模糊,则进一步通过按键服务的方式精确匹配交易,以及执行交易。
图6示意性示出了根据本公开实施例的判断交易意图是否高于阈值方法的流程图。
利用前置意图分类模型得到用户问题所属意图后,接下来需要从该意图所对应的候选问题集中检索出最匹配的问题,即问题相似度计算。本公开采用词频-逆向文件频率(Term Frequency-Inverse Document Frequency,TF-IDF)实现。如图6所示,该判断交易意图是否高于阈值的方法包括:
在操作S601,计算语料库中问句的词频矩阵,并进行归一化处理。
利用词频统计工具CountVectorizer计算数据集中所有问句的词频矩阵,计算时为了消除问句长度不同带来的影响,需要对词数进行归一化处理。
在操作S602,采用词频-逆向文件频率算法得到每条候选问句对应的词频向量。
利用TF-IDF计算工具TfidfTransformer得到每条候选问句对应的词频向量,主要思路为当给定词在一条问句中出现频率高,而在其他问句中出现频率低时,说明该词具有很好的问句区分能力,应当给予较高的权重;反之,当给定词在所有问句中都出现,则说明该词不具有代表性,应当降低其权重。
在操作S603,计算对话信息的词频向量。
输入测试问句,计算其词频向量,TF-IDF值与给定词在问句中出现的频次呈正相关,而与语料库汇总包含该词的问句数呈负相关,TF-IDF值越大,说明该词对当前问句的代表性越强,利用这种方式能够取出每条问句的关键词。
在操作S604,采用相似度函数计算对话信息的词频向量与每条候选问句对应的词频向量的余弦相似度。
利用相似度函数cosine_similarity计算该向量与所有候选问句词频向量的余弦相似度,其本质是一种浅层语义向量空间模型。
在操作S605,判断余弦相似度的值是否高于阈值。
判断交易意图是否高于阈值,若是,则输出相似度最大的候选问句对应的答案。
在上述实施例的基础上,判断余弦相似度的值是否高于阈值包括:若判断余弦相似度的值高于阈值,则将余弦相似度最高的候选问句所对应的答案作为应答,返还给用户,并与用户进行多轮对话;若判断余弦相似度的值低于阈值,则进入按键服务。
通过相似度函数计算对话信息的词频向量与每条候选问句对应的词频向量的余弦相似度,若高于阈值,则输出相似度最大的候选问句对应的答案;若低于阈值,则进入按键服务精确匹配交易。
在上述实施例的基础上,还包括:构建应答系统路由数据库的关键表字段,用于与平台交易服务进行关联,以执行交易;还用于连接客户按键与平台交易服务进行关联,以执行交易。
如果智能应答系统识别到用户意图,若交易意图高于阈值,则进入多轮对话过程,若交易意图低于阈值,则进入按键服务进行更加精确的匹配。
以下是智能语音应答系统路由数据库的关键表字段,并对这些字段信息予以说明:
表1.语音菜单和指令编码数据表结构
其中,PARNO父级菜单为客户已经进入的语音菜单层级,CHINO子菜单为本级菜单,一个子菜单原则上只能有一个父级菜单,但也可以有多个父级菜单,唯一确定菜单功能的是FUNCNO字段。一个子菜单可以有子菜单或无子菜单,如果有,则对于子菜单,该级菜单为父菜单,如果无,则说明该菜单是一个原子功能,是客户锁定的交易。VOICE为报读给客户的语音信息,客户根据语音提示进行按键操作。OPENFLAG为该菜单的开启标志,如果为1则表明可以进行该菜单报读,反之则不进行报读,如果该菜单有子菜单也无法进行报读。LANG为语言类型,客户可以选择中文、英文或其他语言,此时语音报读会根据客户选择进行匹配调整;ARTID为语音识别标志,当客户通过检索匹配模型识别客户意图后,会返回给数据库一个语音识别编码,数据库会进行编码匹配,如果检索到传进来的语音编码,便可锁定该交易,后续根据其他信息如地区信息、用户手机号、用户卡号等执行对应的交易即可。
图7示意性示出了根据本公开实施例的与用户进行多轮对话方法的流程图。
话轮是会话的基本结构单元,会话的过程实际就是话轮不断转换的过程。话轮转换的本质是在动态交际过程中发话人与受话人之间发生的角色转换,其目的在于最大限度减少交际阻滞,保障会话的持续进行。本公开采用毗邻应对的话轮转化模式,该模式由两条相邻语句组成,第一条语句称为引发语,由发话人提出,第二条语句称为应答语,由受话人提出,两条语句呈现相互对应的关系。智能问答系统是经典的毗邻应对模式的例子,用户的问题对应引发语,而系统的回复则对应应答语,逻辑上的应对关系为提问-回答。由于目前检索式智能问答系统大多依赖预定义的问答知识库,而忽略了问答过程中的话轮转换技巧,导致应答模式千篇一律,影响了用户的使用体验。本公开使用系统功能语法构建话轮转换模型。
系统功能语法理论由系统语法和功能语法两部分组成:系统语法是将语言视为一系列语义系统,从理论角度探究语言的共性与一般规律;而功能语法则更关注语言的实际应用,即语言在社交活动中完成的功能,并抽象出语言的三大纯理功能:概念功能、语篇功能和人际功能。其中,人际功能是指语言在会话过程中发挥的作用,主要包括发话人与受话人之间相互沟通、建立并保持关系、观点交换及彼此影响等。人际功能认为所有的话语可以划分为两类言语角色一给与或索取,交换对象可以是物品、服务或者信息。言语角色与交换对象两两组合便构成了四种基本的言语功能:陈述、提问、提供和命令。
本公开提出了基于系统功能语法的话轮转换模型,用于解决检索式智能问答系统应答模式单一的问题,话轮转换模型图8所示,主要由三部分组成:言语功能分类模块802,话轮转换策略模块803、应答优化模块804。
如图7所示,该与用户进行多轮对话的方法包括:
在操作S701,将对话信息按照言语功能进行分类。
言语功能分类模块802:该模块负责分析用户问题801的言语功能,该场景与意图分类场景类似,区别只是训练语料不同,因此同样采用单层卷积神经网络结构,本公开将言语功能划分为4个部分,分别是陈述、提问、提供和命令。
在操作S702,根据分类确定话轮转换策略。
话轮转换策略模块803:该模块负责根据问题所属言语功能从话轮转换规则库806中选择对应的话轮转换策略,为了进一步提高应答的灵活性,对于每类言语功能,本公开提供了不同的应答话术,言语功能及应对形式关系如下:
表2.言语功能及话轮转换策略表
言语功能 | 预期应对 | 可选应对 |
陈述 | 认可 | 驳回 |
提问 | 回答 | 拒答 |
提供 | 接受 | 退回 |
命令 | 执行 | 拒绝 |
在操作S703,基于话轮转换策略,将候选问句所对应的答案进行优化,对用户进行应答。
应答优化模块804:该模块基于Doc2vec语义等价判别模块1304可以检索匹配出候选应答,但此时的候选应答用于回答一类问题,基于选择的话轮转换策略,将抽取的答案进行优化,使得输出更加符合问题言语功能的回复805。
例如,用户提出如下问题:[你们有什么适合50万的理财产品推荐]?根据CNN意图分类模块可以得知该问题归属于理财产品推荐相关问题,根据Doc2vec语义等价模块1304检索匹配出候选应答,根据言语功能分类模块可以得知该问题属于提问类,因此应对形式为回答或拒答,如果候选应答集不为空,则取出得分最高的候选应答,805并将回答优化为:[根据您的理财需求,智能客服为您推荐如下理财产品]:+[候选应答]。
在上述实施例的基础上,与用户进行社交对话包括:采用基于注意力机制的生成对话模型与用户进行社交对话。
由于循环神经网络无法解决长期依赖问题,致使生成模型在处理长序列问句时效果欠佳,而长短期记忆网络模型(LSTM)由于门控单元与线性连接的加入避免了上述问题,因此本公开基于LSTM构建序列到序列问答基础模型,同时针对序列到序列模型的编码器-解码器结构在编码时语义信息表征不完整的问题,本公开引入注意力机制,通过对输入序列每一部分赋予不同关注权重,来有效表征预测结果与输入序列的语义关联;综合上述两个功能模块,本公开提出基于注意力机制的序列到序列问答模型。
在上述实施例的基础上,基于注意力机制的生成对话模型包括:基于长短期记忆网络模型构建序列到序列的问答基础模型;通过对输入序列每一部分赋予不同的关注权重,来表征预测结果与输入序列的语义关联,以便于处理长序列问句。
生成对话模型包括:
1.基于LSTM的序列到序列问答模块
长短期记忆网络(LSTM)是循环神经网络的一类变种,旨在解决循环神经网络的长期依赖问题,使网络具有一级长间隔信息的能力。相比与循环神经网络,长短期记忆网络主要有两点改进:1.采用线性连接的方式实现序列状态的传递;2.设计门控单元有选择的更新或舍弃信息,从而实现记忆或遗忘的功能。
图9-2示意性示出了根据本公开实施例的长短期记忆网络模型单元结构的示意图。
其中,Ct-1和Ct分别代表网络前一时刻与当前时刻的单元状态(序列信息),二者之间的连线象征了序列信息的传递,由于传递过程只是少量的线性运算,因此能够保证较长间隔前的有效信息也能够被无障碍的传递下来;ht不仅与当前时刻的输入xt有关,还受到前一时刻隐藏层输出ht-1的影响。同时,长短期记忆网络设计了不同的门控结构(ft、it、ot)来控制单元状态信息的改变,该结构由sigmoid激活函数和向量元素乘操作组成,能够实现向单元状态中添加或移除信息。每个门控单元的功能及原理如下:
(1).遗忘门:遗忘门ft负责根据输入xt与前一时刻的输出ht-1决定需要从单元状态中舍弃哪些信息,遗忘门的输入为xt与ht-1的拼接向量,通过sigmoid函数生成一个0到1之间的值,用于控制上一单元状态Ct-1信息的遗忘程度,越接近0遗忘程度越大,越接近1遗忘程度越小,计算公式为:ft=σ(Wfxt+Ufht-1+bf)。
(2).输入门:输入门it负责决定为单元状态增加哪些信息,计算公式为:it=σ(Wixt+Uiht-1+bi),所有的新信息包含在一个候选向量中,该向量可以利用tanh函数对输入xt和ht-1进行激活得到:而新单元的最终状态为Ct, 包含了对原有信息的遗忘和对新信息的添加,因此能够更好的表征序列信息。
(3).输出门:输出门ot的作用是决定使用单元状态Ct的哪些信息传递到隐藏层向量ht中,ht=ot⊙tanh(Ct),其中ot=σ(Woxt+Uoht-1+bo)。
2.序列到序列问答框架
本公开采用典型的LSTM结构用于生产式问答序列模型的构建,模型框架如图10所示。左侧部分对应问句编码器,右侧部分对应应答解码器,水平箭头传递的是LSTM隐藏层状态,即问句记忆信息,<GO>和<EOS>分别是解码器端预测应答的起始与结束标志。为了避免初始预测误差对后续解码的影响,提高模型的准确率,在模型训练阶段,解码器的输入并不是来自于上一时刻的预测输出,而是直接使用训练样本的目标数据。
3.注意力机制模块
在传统的编码器-解码器结构中,输入序列的全部上下文信息都在编码时被压缩进一个定长向量中,这种做法存在严重的局限性,即当输入为长序列时,编码输出的定长向量将无法保留输入序列的全部有效信息,同时,先输入句首信息会被后输入的句尾信息稀释,造成解码时因序列信息缺失而预测失准的问题。针对该问题,本公开采用注意力机制进行解决,该机制能够保留编码器在每一时刻的输出结果,并通过在解码时为每项输入分配不同权重来体现当前输出对输入内容的不同关注程度。
其中xt代表输入问句中的每个词,通过编码器编码为不同的中间向量ht;而yt代表生成应答中待预测输出的词,由当前时刻解码器状态st决定,从图9-1注意力模型结构图中可以看出,解码器在每一时刻的状态不是只取决于最后的编码器结果,而是取决于所有编码器的加权组合。
本公开采用无监督的方式训练生成式问答的注意力模块,模块的输入有两个,分别是LSTM编码端用户问题的隐藏层向量与解码端预测应答的隐藏层状态,训练过程如下:
step1:根据当前时刻解码器状态st与每个编码器结果ht计算关联权重:ut,i=Vttanh(Whhi+WsSt)。其中,Vt,Wh,Ws为注意力机制模块要学习的参数,训练时进行随机初始化;
step3:按照归一化后的权重系数对所有编码器结果进行加权求和,求得上下文信息向量Ct:并计算编码器状态S′t=f(St-1,[yt-1;Ct]),其中[yt-1;Ct]代表前一时刻预测输出向量yt-1与上下文信息向量Ct的拼接,利用新的解码器状态S′t得到预测输出词,与目标结果进行比较,计算损失函数,通过反向传播算法确定注意力机制模块的参数;
4.评价指标
本公开使用困惑度和平均话轮数作为衡量生成式问答模型的指标,各指标定义如下:
(1).困惑度:困惑度是语言模型的一种评价指标,用于衡量生成式语句与自然语言的接近程度,其本质为估算生成语句中所有词出现的联合概率,计算公式如下:公式中的P(wi)代表了生成词句R中词wi出现的概率。
(2).平均话论数(CPS)
平均话论数是指用户与问答系统一次会话交流的话轮数均值,能够反映出用户对问答系统的情感投入程度,平均话轮数越大,说明智能问答系统的参与度越高,平均话轮数的计算公式如下:其中,m代表会话次数,li代表第i次会话的话论数。
在上述实施例的基础上,继续判断用户发送的对话信息是否存在交易意图包括:判断交易意图是否高于阈值;若是,则与用户从社交对话转向交易对话。
进入社交对话后,如果在生成式聊天模型检测到用户的聊天内容对交易有需求时,则自动转入检索匹配模型为用户匹配交易。具体地,也可以是采用判断交易意图是否高于阈值的方法,前面已经详细说明,这里不再赘述。需要说明的是,交易对话模式中判断交易意图是否高于阈值中的阈值要低于前述判断是进入多轮对话还是按键服务的阈值。举例来说,若用户发送的对话信息为“今天天气真好”,低于本实施例的第一阈值0.1,则进入聊天模块;若用户发送的对话信息为“今天我要取款买房”,检索匹配模型根据这里的“取款”关键字判断相似度值为0.3,进入检索匹配模型,判断交易意图是否高于第二阈值0.5,0.3低于该第一阈值0.5则进入按键服务;若用户发送的对话信息为“看看我卡里有多钱”,相似度值为0.7,高于第二阈值0.5,则与用户进行多轮对话,进行交易匹配。
本公开发明了一种基于检索匹配模型和生成模型的混合智能问答系统,其中,基于检索匹配的任务型会话系统能够解决用户的实际问题,具有专业性;基于生成式的社交型聊天机器人能够满足用户广泛的社交聊天需求,具有通用性,两者之间有阈值控制,即如果在生成式聊天模型检测到用户的聊天内容对交易有需求时,则自动转入检索匹配模型为用户匹配交易。
下面结合图11~12对本方法各步骤举一具体实施进行进一步说明。
步骤1101,首先,获取用户发送的对话信息;
步骤1102,基于卷积神经网络的检索匹配模型接受用户询问;
步骤1103,判断是否识别到用户的交易意图;
步骤1104,若未识别到用户的交易意图,则进入生成对话模型与用户进行社交聊天;系统也可以使用注意力机制的生成对话模型对用户进行产品介绍或基于客户历史交易记录进行个性化推荐;
步骤1105,在与用户聊天过程中若检测到用户的聊天内容对交易有需求时,则自动转入检索匹配模型为用户匹配交易;
步骤1106,若识别到用户的交易意图,则进一步判断客户问句与语料库的相似度是否高于阈值;
步骤1107,若高于阈值,则判断是否匹配到具体交易,若是,则执行该交易;
步骤1108,若未匹配到具体交易,则与用户进行多轮对话,并重复上述流程;
步骤1109,若低于阈值,则进入按键服务精确匹配交易。
图13中,将用户问句1301输入基于卷积神经网络的检索匹配模型,该基于卷积神经网络的检索匹配模型包括Word2vec词向量表示模块1302、卷积神经网络意图分类模块1303、Doc2vec语义等价判别模块1304,系统功能语法的话轮转换模型,同时包含一个全量候选问答集1305;基于注意力机制的生成对话模型使用LSTM构建序列到序列的问答模型基础,同时引入注意力机制来表征语义之间的关联。前面已经对各模块进行了详细说明,这里不再赘述。路由模块根据检索匹配模块或按键服务识别的客户意图匹配具体交易,并由其转发给主机,在实际生产中为了避免单点失效问题,路由和主机都是分布式部署的;主机包含交易业务逻辑,与数据库交互并对外提供服务接口;数据库存储按键服务语音菜单树和语音识别编码等信息。
本公开的对话方法与系统具有如下优点:
1.本本公开实现了智能问答系统中检索匹配模型与生成式模型的有机融合,其中,检索匹配模型用于回答用户高度针对性问题,在金融系统中,主要用于回答交易相关问题,由该模型匹配具体交易并转发给服务器;生成式模型可以与用户进行社交型聊天,用以满足用户广泛的社交聊天需求,两者之间通过阈值控制,即如果在生成式聊天模型检测到用户的聊天内容对交易有需求时,则自动转入检索匹配模型为用户匹配交易。
2.基于卷积神经网络的检索匹配模型通过前置CNN意图分类模块缩小候选范围,利用TF-IDF进行语义等价判别,从候选问题集中检索出最匹配的问题并进行相似度计算,通过系统功能语法的话轮转换模块在动态交际过程中进行角色转换,保障会话流畅持续进行。
3.基于注意力机制的生成对话模型采用长短期记忆网络LSTM构建序列到序列的问答模块,解决了循环神经网络处理长序列问句效果欠佳的问题,并且引入注意力机制,通过对输入序列的每一部分赋予不同的关注权重来表征预测结果与输入序列的语义关联,并使用困惑度和平均话轮数作为衡量生成式问答模型的指标。
4.构建语音菜单数据表结构将检索匹配模型识别的交易类型与平台服务资源进行关联,以执行具体交易并返回给用户。该数据表还包括语音菜单层级关系、报读语音文件名、开启标志、交易编码等信息。该数据表作为路由功能,连接客户按键或语音识别的交易到平台服务。
图14示意性示出了根据本公开一实施例的对话系统的方框图。
如图14所示,该对话系统1400包括:获取模块1410、第一判断模块1420、第二判断模块1430。
获取模块1410,用于获取用户发送的对话信息;根据本公开的实施例,该获取模块1410例如可以用于执行上文参考图2所描述的S1步骤,在此不再赘述。
第一判断模块1420,用于根据对话信息判断是否存在交易意图;若是,则与用户进行交易对话;若否,则与用户进行社交对话;根据本公开的实施例,该第一判断模块1420例如可以用于执行上文参考图2所描述的S2步骤,在此不再赘述。
第二判断模块1430,用于与用户进行社交对话时,继续判断用户发送的对话信息是否存在交易意图;若是,则与用户从社交对话转向交易对话。根据本公开的实施例,该第二判断模块1430例如可以用于执行上文参考图2所描述的S3步骤,在此不再赘述。
如图15所示,该对话系统1400还包括:转化模块1440、意图判别模块1450。
转化模块1440,用于将对话信息转化成词向量;根据本公开的实施例,该转化模块1440例如可以用于执行上文参考图3所描述的S201步骤,在此不再赘述。
意图判别模块1450,用于根据词向量进行卷积神经网络意图分类;判断意图分类是否为交易意图;根据本公开的实施例,该意图判别模块1450例如可以用于执行上文参考图3所描述的S202~S203步骤,在此不再赘述。
需说明的是,根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,获取模块1410、第一判断模块1420、第二判断模块1430、转化模块1440、意图判别模块1450中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块1410、第一判断模块1420、第二判断模块1430、转化模块1440、意图判别模块1450中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块1410、第一判断模块1420、第二判断模块1430、转化模块1440、意图判别模块1450中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
本公开提供的一种对话系统及方法,可用于机器学习及金融科技领域,特别是智能问答领域,提供了一种基于检索匹配模型和注意力模型的电话银行智能语音问答系统。同时,结合金融科技交易系统的特点,将智能问答系统识别的客户意图传递给交易系统,并根据返回结果回答客户询问。
图16示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的方框图。图16示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图16所示,本实施例中所描述的电子设备1600,包括:处理器1601,其可以根据存储在只读存储器(ROM)1602中的程序或者从存储部分1608加载到随机访问存储器(RAM)1603中的程序而执行各种适当的动作和处理。处理器1601例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1601还可以包括用于缓存用途的板载存储器。处理器1601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1603中,存储有系统1600操作所需的各种程序和数据。处理器1601、ROM1602以及RAM 1603通过总线1604彼此相连。处理器1601通过执行ROM 1602和/或RAM 1603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM1602和RAM 1603以外的一个或多个存储器中。处理器1601也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1600还可以包括输入/输出(I/O)接口1605,输入/输出(I/O)接口1605也连接至总线1604。系统1600还可以包括连接至I/O接口1605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1607;包括硬盘等的存储部分1608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1609。通信部分1609经由诸如因特网的网络执行通信处理。驱动器1610也根据需要连接至I/O接口1605。可拆卸介质1611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1610上,以便于从其上读出的计算机程序根据需要被安装入存储部分1608。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1609从网络上被下载和安装,和/或从可拆卸介质1611被安装。在该计算机程序被处理器1601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的对话方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1602和/或RAM 1603和/或ROM1602和RAM 1603以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的物品推荐方法。
在该计算机程序被处理器1601执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1609被下载和安装,和/或从可拆卸介质1611被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1609从网络上被下载和安装,和/或从可拆卸介质1611被安装。在该计算机程序被处理器1601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
需要说明的是,在本公开各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。电要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (16)
1.一种对话方法,其特征在于,包括:
获取用户发送的对话信息;
根据所述对话信息判断是否存在交易意图;若是,则与所述用户进行交易对话;若否,则与所述用户进行社交对话;
其中,与所述用户进行社交对话时,继续判断所述用户发送的对话信息是否存在交易意图;若是,则与所述用户从社交对话转向交易对话;若否,则与所述用户继续进行社交对话。
2.根据权利要求1所述的对话方法,其特征在于,所述根据所述对话信息判断是否存在交易意图包括:
将所述对话信息转化成词向量;
根据所述词向量进行卷积神经网络意图分类;
判断所述意图分类是否为交易意图。
3.根据权利要求2所述的对话方法,其特征在于,所述与所述用户进行交易对话包括:
若根据所述对话信息判断存在交易意图;
则与所述用户进行多轮对话,进行交易匹配;
执行匹配成功的交易。
4.根据权利要求3所述的对话方法,其特征在于,所述与所述用户进行交易对话还包括:
判断所述交易意图是否高于阈值;若是,则与所述用户进行多轮对话,进行交易匹配;若否,则进入按键服务。
5.根据权利要求4所述的对话方法,其特征在于,所述判断所述交易意图是否高于阈值包括:
计算语料库中问句的词频矩阵,并进行归一化处理;
采用词频-逆向文件频率算法得到每条候选问句对应的词频向量;
计算所述对话信息的词频向量;
采用相似度函数计算所述对话信息的词频向量与每条候选问句对应的词频向量的余弦相似度;
判断所述余弦相似度的值是否高于阈值。
6.根据权利要求5所述的对话方法,其特征在于,所述判断所述余弦相似度的值是否高于阈值包括:
若判断所述余弦相似度的值高于阈值,则将所述余弦相似度最高的候选问句所对应的答案作为应答,返还给所述用户,并与所述用户进行多轮对话;
若判断所述余弦相似度的值低于阈值,则进入按键服务。
7.根据权利要求4所述的对话方法,其特征在于,还包括:
构建应答系统路由数据库的关键表字段,用于与平台交易服务进行关联,以执行交易;还用于连接客户按键与平台交易服务进行关联,以执行交易。
8.根据权利要求3所述的对话方法,其特征在于,所述与所述用户进行多轮对话包括:
将所述对话信息按照言语功能进行分类;
根据所述分类确定话轮转换策略;
基于所述话轮转换策略,将候选问句所对应的答案进行优化,对所述用户进行应答。
9.根据权利要求1所述的对话方法,其特征在于,所述与所述用户进行社交对话包括:
采用基于注意力机制的生成对话模型与所述用户进行社交对话。
10.根据权利要求9所述的对话方法,其特征在于,所述基于注意力机制的生成对话模型包括:
基于长短期记忆网络模型构建序列到序列的问答基础模型;
通过对输入序列每一部分赋予不同的关注权重,来表征预测结果与输入序列的语义关联,以便于处理长序列问句。
11.根据权利要求9所述的对话方法,其特征在于,所述继续判断所述用户发送的对话信息是否存在交易意图包括:
判断所述交易意图是否高于阈值;若是,则与所述用户从社交对话转向交易对话;若否,则与所述用户继续进行社交对话。
12.一种对话系统,其特征在于,包括:
获取模块,用于获取用户发送的对话信息;
第一判断模块,用于根据所述对话信息判断是否存在交易意图;若是,则与所述用户进行交易对话;若否,则与所述用户进行社交对话;
第二判断模块,用于与所述用户进行社交对话时,继续判断所述用户发送的对话信息是否存在交易意图;若是,则与所述用户从社交对话转向交易对话;若否,则与所述用户继续进行社交对话。
13.根据权利要求12所述的对话系统,其特征在于,还包括:
转化模块,用于将所述对话信息转化成词向量;
意图判别模块,用于根据所述词向量进行卷积神经网络意图分类;判断所述意图分类是否为交易意图。
14.一种电子设备,包括:
处理器;
存储器,其存储有计算机可执行程序,该程序在被所述处理器执行时,使得所述处理器执行如权利要求1~11中任意一项所述的对话方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~11中任意一项所述的对话方法。
16.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~11中任一项所述的对话方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110695637.7A CN113420136A (zh) | 2021-06-22 | 2021-06-22 | 一种对话方法、系统、电子设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110695637.7A CN113420136A (zh) | 2021-06-22 | 2021-06-22 | 一种对话方法、系统、电子设备、存储介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113420136A true CN113420136A (zh) | 2021-09-21 |
Family
ID=77717437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110695637.7A Pending CN113420136A (zh) | 2021-06-22 | 2021-06-22 | 一种对话方法、系统、电子设备、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113420136A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114564525A (zh) * | 2022-04-28 | 2022-05-31 | 支付宝(杭州)信息技术有限公司 | 基于用户交易数据挖掘用户意图的方法和装置 |
CN115952271A (zh) * | 2023-03-09 | 2023-04-11 | 杭州心识宇宙科技有限公司 | 一种生成对话信息的方法、装置、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150156268A1 (en) * | 2013-12-04 | 2015-06-04 | Conduit Ltd | Suggesting Topics For Social Conversation |
CN105975511A (zh) * | 2016-04-27 | 2016-09-28 | 乐视控股(北京)有限公司 | 智能对话的方法及装置 |
CN109241251A (zh) * | 2018-07-27 | 2019-01-18 | 众安信息技术服务有限公司 | 一种会话交互方法 |
CN109727041A (zh) * | 2018-07-03 | 2019-05-07 | 平安科技(深圳)有限公司 | 智能客服多轮问答方法、设备、存储介质及装置 |
-
2021
- 2021-06-22 CN CN202110695637.7A patent/CN113420136A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150156268A1 (en) * | 2013-12-04 | 2015-06-04 | Conduit Ltd | Suggesting Topics For Social Conversation |
CN105975511A (zh) * | 2016-04-27 | 2016-09-28 | 乐视控股(北京)有限公司 | 智能对话的方法及装置 |
CN109727041A (zh) * | 2018-07-03 | 2019-05-07 | 平安科技(深圳)有限公司 | 智能客服多轮问答方法、设备、存储介质及装置 |
CN109241251A (zh) * | 2018-07-27 | 2019-01-18 | 众安信息技术服务有限公司 | 一种会话交互方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114564525A (zh) * | 2022-04-28 | 2022-05-31 | 支付宝(杭州)信息技术有限公司 | 基于用户交易数据挖掘用户意图的方法和装置 |
CN115952271A (zh) * | 2023-03-09 | 2023-04-11 | 杭州心识宇宙科技有限公司 | 一种生成对话信息的方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309283B (zh) | 一种智能问答的答案确定方法及装置 | |
US11694281B1 (en) | Personalized conversational recommendations by assistant systems | |
CN107846350B (zh) | 一种语境感知网络聊天的方法、计算机可读介质和系统 | |
US11049500B2 (en) | Adversarial learning and generation of dialogue responses | |
WO2020177282A1 (zh) | 一种机器对话方法、装置、计算机设备及存储介质 | |
CN111046132A (zh) | 一种检索多轮对话的客服问答处理方法及其系统 | |
US20230135179A1 (en) | Systems and Methods for Implementing Smart Assistant Systems | |
CN110232109A (zh) | 一种网络舆情分析方法以及系统 | |
CN111428010B (zh) | 人机智能问答的方法和装置 | |
US11861315B2 (en) | Continuous learning for natural-language understanding models for assistant systems | |
CN112287089B (zh) | 用于自动问答系统的分类模型训练、自动问答方法及装置 | |
CN112799747A (zh) | 智能助理评价、推荐方法、系统、终端及可读存储介质 | |
CN111026840B (zh) | 文本处理方法、装置、服务器和存储介质 | |
CN113420136A (zh) | 一种对话方法、系统、电子设备、存储介质和程序产品 | |
CN110597968A (zh) | 一种回复选择方法及装置 | |
EA038264B1 (ru) | Способ создания модели анализа диалогов на базе искусственного интеллекта для обработки запросов пользователей и система, использующая такую модель | |
CN116561284A (zh) | 智能应答方法、装置、电子设备及介质 | |
CN116958738A (zh) | 图片识别模型的训练方法和装置、存储介质及电子设备 | |
CN113886539A (zh) | 话术推荐方法、装置、客服设备及存储介质 | |
CN113806541A (zh) | 情感分类的方法和情感分类模型的训练方法、装置 | |
CN117521674B (zh) | 对抗信息的生成方法、装置、计算机设备和存储介质 | |
CN116957047B (zh) | 一种采样网络更新方法、装置、设备和介质 | |
US20240062044A1 (en) | Addressing catastrophic forgetting and over-generalization while training a natural language to a meaning representation language system | |
CN116955529A (zh) | 一种数据处理方法、装置及电子设备 | |
CN113934829A (zh) | 交互信息回复方法、装置、电子设备和存储介质 |
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 |