改进消息接发对话管理系统中的意图确定的制作方法

专利2025-01-09  48



1.本发明总体上涉及数据处理领域,并且更具体地涉及在消息接发对话管理器系统中改进意图确定。


背景技术:

2.会话代理正成为产品和服务提供方与其顾客和用户交互的日益流行的在线方法。会话代理是软件代理的形式,并且可以被称为聊天程序、聊天程序、人工会话实体、智能助理、聊天机器人或其他这样的术语。会话代理是通过语音或文本来模拟与用户的会话以便向用户提供信息和服务并且还征求和接收来自用户的信息的系统。目的是使会话代理准确地理解用户查询并且相应地做出响应。例如,会话代理可以接收用户查询、确定用户查询的意图和目的、并且返回相关响应或者执行任务或动作。
3.然而,会话代理仍然遭受阻碍其广泛采用的多个限制。一个关键的能力是标识消息条目(例如,话语、文本)后面的意图,即,陈述是询问信息还是提供信息。当经历来自用户的意外响应时,标识消息条目后面的意图可以显著改善代理的决策。
4.会话代理典型地被设计用于有限数目的使用情况,在许多情况下是单个使用情况。例如,用户可以向天气会话代理请求天气预报、通过访问针对相关供应方的会话代理来预订旅行或娱乐的门票、从零售方购买产品、以及利用记账系统会话代理来记录诸如收据的信息。会话代理允许用户以简单和直观的方式与产品和服务提供方交互。


技术实现要素:

5.在与用户的聊天程序会话期间,用户可能提供歧义话语,聊天程序可能不能辨别该话语是问题还是陈述。当机器和人类交互时,特别是以自然语言交互时,误解可能导致严重的后果。标识特定交互之后的意图,诸如,当一个短语(例如,经由代理或实体)提供信息对比询问信息时,对于避免可能导致无法预见的效果的模糊陈述是重要的。
6.本公开解决了上述缺点。本发明实施例公开了计算机实现的用于改善消息接发对话管理器系统中的意图确定的方法、计算机程序产品和计算机系统。用于改善消息接发对话管理器系统中的意图确定的计算机实现的方法可以包括:一个或多个处理器,其被配置用于:接收与在消息接发对话界面中通信的第一代理相对应的第一代理条目数据;确定第一代理条目数据期望在第一响应域内的响应;确定在消息接发对话界面中接收的第一用户条目不在第一响应域内;标识配置具有包括第一用户条目的第二响应域的第二代理;以及将第一用户条目传输到第二代理,以促进在第一代理与在消息接发对话界面中通信的第一用户之间建立的通信流的无缝转换。
7.在实施例中,计算机实现的方法还可以包括:标识对应于第一代理条目数据中的自然语言(nl)文本的代理文本数据;以及标识对应于第一用户条目中的nl话语的用户文本数据。
8.在实施例中,计算机实现的方法可以还包括:基于代理文本数据确定第一代理数
据条目主题,其中,第一响应域对应于第一代理数据条目主题;基于用户文本数据来确定第一用户条目主题;以及将第一代理数据条目主题与第一用户条目主题进行比较以确定相似度阈值被满足。
9.在实施例中,计算机实现的方法还可以包括:至少基于确定相似度阈值不超过预定值,确定第一用户条目不在第一响应域内。
10.在实施例中,计算机实现的方法还可以包括:由第一经训练的机器学习模型处理代理文本数据以生成对应于响应期望分类的模型输出数据;以及如果响应期望分类满足条件,则将nl文本确定为期望响应的第一代理条目数据。
11.在实施例中,第一用户条目可以包括文档条目,其中计算机实现的方法可以还包括:从文档条目提取文档条目数据;以及处理文档条目数据,以确定自然语言文本数据,其中确定第一用户条目不在第一响应域内至少基于自然语言文本数据。
12.在实施例中,将第一条目传输到第二代理可以对应于在消息接发对话界面中在第一用户与第二代理之间的离题(“digress”)的会话流。
13.在实施例中,确定第一代理条目期望响应还可以包括:将词性(pos)标签附加到nl文本中的一个或多个词,以生成标记的nl文本数据;将代理文本数据编码为具有768或更少的维度的语句嵌入;由第二训练的机器学习模型处理标记的nl文本数据和语句嵌入,以生成对应于响应期望分类的模型输出数据;以及如果响应期望分类满足条件,则将nl文本确定为期望响应的第一代理条目数据。
附图说明
14.图1示出了根据本发明实施例的用于在消息接发对话系统中改善意图确定的分布式数据处理环境的框图;
15.图2示出了根据本发明的实施例的用于在消息接发对话系统中改进意图确定的系统的框图;
16.图3描述了根据本发明的实施例的用于改善消息接发对话管理器系统中的意图确定的模型;
17.图4示出了根据本发明的实施例的用于在消息接发对话系统中改进意图确定的计算机实现的方法的操作步骤;以及
18.图5描绘了根据本发明的实施例的图1的分布式数据处理环境内的服务器计算机的组件的框图。
具体实施方式
19.本发明的实施例描述了用于在消息接发对话管理器系统中改进意图确定的计算机实现的方法、系统和计算机程序产品。如本文所描述的,提供了数据驱动的机器学习方法以通过编译英语语句的经标记的数据集并且训练关于语句嵌入和句法特征的多个模型来标识疑问、命令和声明性陈述。针对机器,自然语言交互是难以控制的任务,因为自然语言话语可以为高度非结构化的,并且其内容可广泛地变化。含糊或不清楚的陈述、说话者偶然地离题或者从不完整会话转移、以及其他常见用户行为添加到与人会话的机器的挑战。
20.专注于自然语言理解,其目标是理解范围从句法组成和词在语句中的作用到其语
义含义、上下文和其他任务的自然语言话语。本文描述的实施例集中于在对话设置中标识特定语法语句结构、值得注意的疑问句和命令语句(与那些不是的话)的任务。标识语句类型对于多个场景中的会话代理是有用的。例如,标识等待响应的陈述(即,询问和命令陈述)允许聊天系统确定当陈述没有被适当地寻址或响应时是否发生离题。
21.而且,在多代理聊天机器人设置中,标识陈述的类型可以有助于对话管理器、处理响应、对话转向、上下文和其他对话制品的实体的决策过程。最后,分类语句或数据条目允许会话代理(体现的或虚拟的)确定它们何时是信息的给予方和它们何时是信息的接收方。该确定可以被提供给对话管理器以更新对应的知识库,该知识库被配置为促进正在进行的通信会话中的不同主题之间的无缝转换。
22.本文中描述的实施例提供计算机实现的方法,该方法被配置为训练机器学习模型以标识自然语言话语,自然语言话语期望响应(例如,“谁是前5名银行”和“获得前5名银行的名称”)与不期望响应的那些(例如,“前5名以下的银行”)。不同于执行也考虑请求的域的意图标识,该分类可以是域独立的。例如,可以从文献中的现有基准来编译特定语言(例如,英语)的自然语言陈述的数据集,并且可以基于这两个类别来标记该数据集(即,期望响应,期望无响应)。进一步,机器学习模型(例如,浅、深学习)可以在包括语句嵌入和语法特征的不同特征上进行训练。结果,限定了特定的自然语言任务和在消息接发对话系统中对其重要性的标识,并且对本文描述的实施例进行了贡献。进一步,本文描述的实施例包括标记的语句集合和已经学习分类任务的机器学习模型。
23.本文描述的实施例可以应用于用户话语或会话代理生成的响应两者,其中可以至少基于确定在消息对话系统中输入的消息是否期望响应来标识会话中的离题。在面向多轮面向目标会话代理系统中,对话流可以被可视化为对话树中从根到叶的分支遍历。在多轮对话中,该流程可涉及当用户从一个主题离题到另一主题时在许多分支之间跳跃。理解话语何时期望响应有助于确定对话应当沿着分支继续还是相反地离题。
24.本文中描述的实施例提供了机器学习模型,其捕获语句的语法结构和整体含义,标识其期望响应或其他的属性。例如,如果代理询问问题,则进入多轮对话的概率高。本文描述的实施例集中于生成最佳来表示任务并且很好地概括为看不见的数据的特征。进一步,本文的实施例集中于选择捕捉请求信息或响应的意图的众多方式的模型。简单地采用“是问题”分类器将错过如“请指定你想要绘制的列”的话语。
25.在实施例中,为了学习分类任务,创建适当的数据集来训练机器学习模型。数据集主要区分对话中的两种类型的语句:期望响应的语句(类别1)和不期望响应的语句(类别0)。类别0话语可以是来自不寻求信息或做出请求的用户或聊天程序的备注、声明性陈述或情感,其。类别1言语确实期望响应,因为它们正在询问问题或请求改变系统或世界的状态。例如,在用户和贷款代理之间的会话的上下文中,用户可能请求“我能检查我的贷款申请的状态吗?”(类别1)并且代理可以响应“这是你请求的信息”(类别0)。然而,标识类别1言语可能不总是与检查语句是否包含问号一样简单,因为可以使用其他语法结构。示例可以包括以下项:谁是最高借款人?(即,wh-词[例如,谁、什么、何时、何地、为什么、怎么问题]);是否有任何未决申请?经理1或经理2的未决申请吗?(即,是否或选择问题);我不具有任何未决请求,对吗?(即,反意的或标签问题);向我展示我提交的申请。(即,命令式时动词);我想/需要知道我请求的状态(即,命令式);请信用分数(即,命令式);年收入?(即,其他)。
[0026]
此外,本文描述的实施例还可以考虑会话环境的特性(例如,用户可能不总是提供语法上正确的语句)。有趣数据可以包括没有问号的问题、不完整的语句或短语、或者任何其他数量的语法或拼写错误。
[0027]
本文描述的实施例还可以包括使用来自具有预训练的bert模型(伯特-基-nli-均值符号,“bert-base-nli-mean-tokens”)的变换器(bert)-网络的暹罗(“siamese”)双向编码器表示将语句编码成语句嵌入。例如,嵌入的两个不同集(例如,基础和压缩)可以用于生成分类。根据基本预训练的模型,主分量分析(pca)方法可用于将默认768个维度向量从bert压缩到100个、200个和400个的维度。
[0028]
除了创建语句嵌入之外,本文中描述的实施方式被配置为使用词性(pos)标签来捕捉语句的语法结构,因为模型可能能够学习调用响应的标签后面的模式。例如,自然语言工具包(nltk)的pos标签器可以被用于通过比较出现频率以及标记在语句中的首次出现的位置来创建计数和位置特征。为了计算位置,由其索引测量的每个词距语句中心的距离可以除以语句的长度。更接近于-1的位置值接近语句的开始并且更接近1的位置值接近结束。位置值可以移位+1,以消除负值作为对需要非负条目的一些特征选择算法的输入。
[0029]
本文描述的实施例可以包含多个特征选择算法以执行自动特征选择。例如,皮尔逊(“pearson”)相关过滤、卡方过滤或库尔贝克莱布勒(“kullback-leibler”)发散可以用于执行自动特征选择。
[0030]
本文描述的实施例可包括用于基于某些应用参数针对特定应用选择的一个或多个模型。例如,应用参数可包含问题的复杂性/简单性、训练/测试上的计算约束(例如,空间和时间)和问题特性(例如,特征独立性/相依性、数据噪声量、随机性、静止性)等。每个模型可以具有超参数集,该超参数集可以被调谐以优化训练(例如,特征映射函数、隐藏神经元的数量)。
[0031]
本文描述的实施例可包括不同类型的机器学习模型,并且用于训练机器学习模型的技术被用于改进消息接发对话管理器系统中的意图确定。例如,可以在浅层模型(例如,svm、k最近邻(knn)、随机森林、决策树、朴素贝叶斯)上使用有监督的学习技术来充当用于与深层学习模型进行比较的基线。进一步地,本文描述的实施例可以包括执行网格搜索,以微调针对svm模型、knn模型、或多后感知器(mlp)模型的超参数。
[0032]
本文描述的实施例可以包括深度学习模型以模拟双向长短期存储器(lstm)模型以提供用于自然语言处理(nlp)任务的技术结果。例如,在会话环境中,可以分析语句的前半部分和后半部分两者以提供帮助确定语句的含义或意图的上下文。因此,与单向lstm相反,双向lstm可以在分析前后两部分中的语句中提供改善的结果。
[0033]
本文描述的实施例使用来自会话自然语言文献的数据集阵列来训练机器学习模型。对于真实值,可以以半自动方式注释数据以创建45%(即,标签:期望-响应)至55%(标签:不期望-响应)数据分割。例如,半自动注释可以包括:标识数据源上的数据点的标签,其中来自数据集的不调用在多轮会话中对其作出响应的必要性的示例语句(例如,“关于痛苦、飘飘的年轻人的非常、非常、非常缓慢移动、无目的的电影”)将被如此标记。如果类似于示例语句的其他语句共享相同的属性和结构,则它们将被类似地标记。备选地,来自在多轮对话中调用响应的必要性的数据集的另一示例语句(例如,“这支球队是usl a联盟的部分的去年是什么?”将被如此标记。
[0034]
本文描述的实施例可以包括使用预训练的bert语句嵌入与pos标签的组合作为对机器学习模型的输入特征来训练机器学习模型。例如,输入语句嵌入可以包括768个、400个、200个或100个维度,缩放约2倍。进一步地,通过应用具有在768个维度语句向量上复杂度为50的t分布式随机邻居嵌入(t-sne),可以在2维空间中可视化语句嵌入。进一步,可以对语句向量执行10倍交叉验证,以报告训练/验证性能。
[0035]
本文所描述的实施例还可以包括:通过将语句的pos标签(例如,计数、位置)附加到特征集来从语句捕获更自然语言结构。通过包括pos标签,模型实现改进的性能,因为pos标签辅助模型学习自然语言语句结构。此外,聚合所有阴影模型结果和特征集,基于svm的分类器模型产生最小偏差并且当基于pos标签特征和bert语句嵌入而被训练时,对未看见数据很好地概括。
[0036]
本文中描述的实施例可以包括关于维度768、400、200或100的语句嵌入的双向lstm模型。语句嵌入和pos标签可以被包括作为到双向lstm模型的特征集,以生成满意的结果,该结果指示双向lstm模型利用添加语法语言特征向语句嵌入时表现最好。
[0037]
本发明的实施例认识到,期望定制解决方案用于以高效和方便的方式改进消息收发对话管理器系统中的意图确定。本发明的实施例的实现可以采取多种形式,并且随后参照附图讨论的示范性实现细节。
[0038]
图1示出了根据本发明实现的用于改善消息接发对话管理器系统中的意图确定的分布式数据处理环境的框图。图1仅提供了本发明的一个实现的示图,并且不暗示关于其中可以实施不同实现的环境的任何限制。在所描绘的实施例中,分布式数据处理环境100包括通过网络110互连的用户设备120、服务器125和数据库124。网络110作为计算网络来操作,该计算网络可以是例如局域网(lan)、广域网(wan)或两者的组合,并且可以包括有线、无线或光纤连接。通常,网络110可以是将支持用户设备120、服务器125与数据库124之间的通信的连接和协议的任何组合。分布式数据处理环境100还可以包括附加的服务器、计算机或未示出的其他设备。
[0039]
如本文所使用的术语“分布式”描述了包括多个物理上不同的设备的计算机系统,这些设备作为单个计算机系统一起操作。本领域技术人员可对所描述的环境作出许多修改,而不脱离权利要求书所述的本发明的范围。
[0040]
用户设备120可以操作以执行计算机程序的至少部分,用于改善消息接发对话管理器系统中的意图确定。在实施例中,用户设备120可以被配置为,经由网络110从数据库124和服务器125中的一个或多个中发送和/或接收数据。用户设备120可以包括用户界面122,该用户界面被配置为促进用户和用户设备120之间的交互。例如,用户界面122可以包括作为向用户显示数据的机构的显示器,并且可以是例如触摸屏、发光二极管(led)屏幕或液晶显示器(lcd)屏幕。用户界面122还可以包括被配置成用于接收来自用户的字母数字条目的键盘或文本输入设备。用户界面122还可以包括其他外围组件,以进一步促进与用户设备120相关联的用户进行的用户交互或数据输入。
[0041]
在一些实施例中,用户设备120可以是管理服务器、web服务器或能够接收和发送数据的任何其他电子设备或计算系统。在一些实施例中,用户设备120可以是膝上型计算机、平板计算机、上网本计算机、个人计算机(pc)、台式计算机、智能电话、或能够经由网络110与数据库124、服务器125进行通信的任何可编程电子设备。用户设备120可以包括如图5
中进一步详细描述的组件。
[0042]
数据库124操作为用于流向网络110和来自网络110的数据的存储库。数据的示例包括对应于经由用户界面122输入和接收的通信的数据。数据库是有组织的数据集合。数据库124可以利用能够存储数据和配置文件的任何类型的存储设备来实现,该数据和配置文件可以由用户设备120(诸如,数据库服务器、硬盘驱动器或闪存)访问和利用。在实施例中,数据库124由用户设备120访问以存储对应于经由用户界面122与其的消息通信的数据。在另一实施例中,数据库124可以驻留在分布式网络环境100内的其他地方,只要数据库124具有对网络110的访问。
[0043]
服务器125可以是独立的计算设备、管理服务器、web服务器或能够接收、发送和处理数据并且能够经由网络110与用户设备120和/或数据库124通信的任何其他电子设备或计算系统。在其他实施例中,服务器125表示利用多个计算机作为服务器系统的服务器计算系统,诸如云计算环境。在又一实施例中,服务器125表示利用集群计算机和组件(例如,数据库服务器计算机、应用服务器计算机等)的计算系统,所述集群计算机和组件在分布式数据处理环境100内被访问时充当单个无缝资源池。服务器125可以包括如图5中进一步详细描述的组件。
[0044]
图2示出了根据本发明的实施例的用于在消息接发对话系统中改进意图确定的系统200的框图。
[0045]
在实现中,系统200可以包括被配置为在计算设备(诸如,图1的用户设备120)的显示器上生成用户界面210的一个或多个处理器。进一步,系统200可以包括一个或多个处理器,其配置成经由用户界面210来生成消息接发对话界面,其中消息接发对话界面可以配置为,促进用户与代理(例如,会话代理、聊天机器人)之间的通信。
[0046]
在实施例中,系统200可以包括一个或多个处理器,其被配置来在消息接发对话界面内接收代理条目数据212
1-n
和用户条目数据214
1-n
,以促进用户和代理之间的会话或通信流,其中n可以表示代理条目数据和用户条目数据的任何数目的实例。例如,一个或多个处理器可以被配置为,在消息接发对话界面(例如,用户界面210)中接收第一代理条目数据2121和第一用户条目数据2141。条目数据可以包括对应于事件的数据(例如,自然语言短语、非自然语言文档条目)。在消息接发对话界面中可以交换附加的代理条目与用户条目,以建立类似于正常对话的用户与代理之间的会话或通信流。如果代理不能够响应用户条目,则可以中断会话或通信流,其中代理可以利用错误消息或利用与用户期望的内容不一致的代理条目来响应。
[0047]
系统200可以被配置为使用自然语言处理(nlp)引擎(未示出)来解释在用户界面210内执行的消息接发对话框中接收的条目数据。nlp引擎是在任何给定时间解释陈述并且将陈述转换成系统可以处理的结构化条目的核心组件。nlp引擎可以包含高级机器学习算法以标识用户和代理陈述中的意图并且进一步将用户意图与由驻留在系统内的聊天系统所支持的可用动作的列表匹配。例如,nlp引擎可以使用有限状态自动模型或深度学习模型来生成对用户和代理陈述的系统生成的响应。nlp引擎可以包括意图分类器和实体提取器,其中意图分类器可以被配置为解释陈述的自然语言,并且实体提取器可以被配置为从陈述中提取关键信息或关键词。
[0048]
在实施例中,系统200可以包括一个或多个处理器,其被配置用于标识与第一代理
条目数据2121中的自然语言(nl)文本相对应的代理文本数据。进一步,一个或多个处理器可以被配置成,用于标识与第一用户条目2141中的自然语言(nl)话语相对应的用户文本数据。例如,nlp引擎可以配置为,处理代理文本数据以标识第一代理条目中的nl文本并且处理用户文本数据以标识第一用户条目中的nl文本。
[0049]
在实施例中,系统200可以包括期望响应组件220,其被配置用于确定代理条目数据212
1-n
是否期望响应域内的响应。例如,期望响应组件220可以包括一个或多个机器学习模型,所述一个或多个机器学习模型被配置为对nl文本条目数据执行特征提取,并且处理所提取的特征和nl文本条目数据,以确定nl文本条目数据是否期望响应的分类。
[0050]
虽然前面描述了机器学习模型的实现,但是本公开不限于此。在至少一些实施例中,机器学习模型可以实现被配置为执行上述过程的经训练的组件或经训练的模型。经训练的组件可以包括一个或多个机器学习模型,包括但不限于一个或多个分类器、一个或多个神经网络、一个或多个概率图、一个或多个决策树等。在其他实施例中,经训练的组件可以包括基于规则的引擎、一个或多个基于统计的算法、一个或多个映射函数或其他类型的函数/算法,以确定自然语言输入是复杂的还是非复杂的自然语言输入。在一些实施例中,经训练的组件可以被配置为执行二进制分类,其中自然语言输入可以被分类为两个类别/类别中的一个。在一些实施例中,经训练的组件可以被配置为,执行多类别或多项式分类,其中,自然语言输入可以被分类为三个或更多个类别/类别中的一个。在一些实施例中,经训练的组件可以被配置为执行多标签分类,其中,自然语言输入可以与多于一个的类别/类别相关联。
[0051]
不同机器学习技术可用于训练和操作经训练的组件以执行本文描述的不同过程。可以根据不同机器学习技术来训练和操作模型。此类技术可以包括例如神经网络(诸如,深度神经网络和/或递归神经网络)、推断引擎、经训练的分类器等。经训练的分类器的示例包括支持向量机(svm)、神经网络、决策树、与决策树组合的adaboost(简称为“自适应增强”)和随机森林。集中于svm作为示例,svm是具有相关联的学习算法的监督学习模型,该学习算法分析数据并且标识数据中的模式,并且通常用于分类和回归分析。给定训练示例集,每个训练示例被标记为属于两个类别中的一个类别,svm训练算法建立将新示例分配到一个类别或另一类别中的模型,使其成为非概率性二进制线性分类器。可以利用标识两个以上类别的训练集来建立更复杂的svm模型,其中svm确定哪个类别与条目数据最相似。svm模型可以被映射成使得单独的类别的示例被清楚的间隙划分。新示例随后被映射到该相同空间中并且被预测为属于基于它们落在间隙的哪一侧上的类别。分类器可以发出“得分”,其指示数据最紧密地匹配哪个类别。分数可以提供数据有多紧密地匹配类别的指示。
[0052]
为了应用机器学习技术,机器学习过程本身需要被训练。训练机器学习组件需要为训练示例建立“基础事实”。在机器学习中,术语“真实值”是指用于有监督的学习技术的训练集的分类的准确度。不同技术可以被用于训练模型,包含反向传播、统计学学习、监督学习、半监督学习、随机学习或其他已知技术。
[0053]
在实施例中,期望响应组件220还可以包括一个或多个处理器,其被配置用于由第一经训练的机器学习模型来处理代理文本数据,以生成对应于响应期望分类的模型输出数据;以及如果响应期望分类满足条件,则将nl文本确定为期望响应的第一代理条目数据。响应期望分类可以对应于指示条目数据期望响应的第一类(类别1)或者指示条目数据不期望
响应的第二类(类别0)。包括nl话语的类别0条目数据可以是来自不寻求信息或作出请求的用户或代理的备注、声明性语句或情感。类1nl话语确实期望响应,因为它们正在询问问题或请求改变系统或世界的状态。条件可以包括二进制分类或对应于二进制分类的得分。
[0054]
在实施例中,第一机器学习模型可以包括浅模型,如本文上面所描述的,其中,浅模型在被配置为响应于接收到和处理nl文本数据而生成模型输出数据的不同特征(例如,语句嵌入、语法特征)上被训练。模型输出数据可以包括指示nl文本数据是期望响应还是不期望响应的二进制分类。
[0055]
在实施例中,第一机器学习模型可以包括浅模型或深学习模型中的一个或多个模型,如本文上面所描述的,其中,浅模型和深学习模型在被配置为响应于接收到和处理nl文本数据而生成模型输出数据的不同特征(例如,语句嵌入、语法特征)上被训练。模型输出数据可以包括指示nl文本数据是期望响应还是不期望响应的二进制分类。在发生离题或歧义消除的情况下,该确定改善了会话体验。
[0056]
在实施例中,期望响应组件220还可以包括一个或多个处理器,其被配置用于将词性(pos)标签附加到nl文本中的一个或多个词以生成标记的nl文本数据。进一步地,期望响应组件220可以包括一个或多个处理器,该一个或多个处理器被配置成用于将代理文本数据编码成具有768个或更少的维度的语句嵌入。
[0057]
在实施例中,期望响应组件220可以包括一个或多个处理器,其被配置用于由第二经训练的机器学习模型处理标记的nl文本数据和语句嵌入,以生成对应于响应期望分类的模型输出数据。进一步,一个或多个处理器可以被配置为:如果响应期望分类满足条件,则将nl文本确定为期望响应的第一代理条目数据。
[0058]
在实施例中,第一用户条目可以包括文档条目,其中系统200还可以包括一个或多个处理器,其被配置用于从文档条目提取文档条目数据并且处理文档条目数据以确定nl文本数据,其中确定第一用户条目不在第一响应域内至少基于自然语言文本数据。
[0059]
在实施例中,一个或多个处理器可以被配置用于比较第一代理数据条目主题和第一用户条目主题,以确定满足相似度阈值。例如,如果第一用户条目主题是约会主题,并且第一代理数据条目主题是通用帮助查询主题,则当相似度阈值由于主题不相似而不被满足时。作为另一示例,如果第一用户条目主题是预留主题,并且第一代理数据条目主题也是预留主题,则当由于主题相同而将满足相似度阈值时。
[0060]
在实施例中,系统200可以包括响应域组件230,其被配置用于确定响应是否在响应域内。例如,响应域组件230可以包括被配置用于基于代理文本数据来确定第一代理数据条目主题的一个或多个处理器,其中第一响应域对应于第一代理数据条目主题。此外,响应域组件230可以包括被配置用于基于用户文本数据来确定第一用户条目主题的一个或多个处理器。此外,响应域组件230可以包括被配置用于比较第一代理数据条目主题和第一用户条目主题以确定相似度阈值被满足的一个或多个处理器。例如,如果基于包括关于预留的问题的代理文本数据确定第一代理数据条目主题是预留主题,并且如果基于包括关于预留的语句的用户文本数据确定第一用户条目主题也是预留主题,则可以满足相似度阈值,因为第一代理条目主题和第一用户条目主题相同。相反,如果确定第一代理条目主题不同于第一用户条目主题,则将不满足相似度阈值。
[0061]
在实施例中,响应域组件230可以包括被配置用于至少基于确定相似度阈值不超
过预定值来确定第一用户条目不在第一响应域内的一个或多个处理器。
[0062]
在实施例中,系统200可以包括代理标识组件240,代理标识组件240被配置成用于标识代理并且与代理通信,代理具有包括所接收的用户条目数据214
1-n
的对应的响应域。例如,响应于确定在消息接发对话界面中输入的第一用户条目不在第一响应域内,代理标识组件240可以被配置为标识配置具有包括第一用户条目的第二响应域的第二代理。
[0063]
在实施例中,响应于标识第二代理,代理标识组件240可以被配置成将第一用户条目传输到第二代理,以促进第一代理与在消息对话界面中通信的第一用户之间的已建立的通信流的无缝转换。此外,将第一条目传输到第二代理可以对应于在消息接发对话界面中在第一用户与第二代理之间的离题的会话流。
[0064]
在实施例中,可以将与确定发生离题相对应的离题数据通信到被配置为促进在消息接发对话界面中的代理操作的代理服务器。离题数据可以改善促进代理与被配置为在消息接发对话界面内通信的用户之间的通信,使得与代理条目不相关的用户条目不会妨碍正在进行的通信会话的过程。相反,不相关的用户条目可以被标识为离题,并且被配置有响应域以适当响应的代理将被标识并且进行离题的会话。
[0065]
在实施例中,一个或多个处理器可以包括nlp引擎,该nlp引擎被配置成通过处理通信串(例如,nl文本)并且生成包含要被提取和进一步处理的关键字的结构化文本来解释代理条目数据212
1-n
或输入到在用户界面210中执行的消息对话中的任何其他用户条目。
[0066]
图3描述了根据本发明的实现的用于改善消息接发对话管理器系统中的意图确定的模型300。
[0067]
在实施例中,用于改善消息接发对话管理器系统中的意图确定的模型300可以被配置为,从代理和用户中的一个或多个接收自然语言条目数据310。进一步地,模型300可以包括一个或多个处理器,该一个或多个处理器被配置成用于将作为自然语言条目数据310的部分接收的代理文本数据编码成具有768个或更少的维度的语句嵌入320。换而言之,模型300可以被配置成用于将自然语言条目数据310转换成768个维度bert语句嵌入320,如在此以上描述的。进一步,模型300可以被配置为,将词性(pos)标签330附加到nl文本中的一个或多个词以生成标记的nl文本数据。此外,模型300可以包括经训练的模型340,其被配置为处理nl标记的文本数据和语句嵌入320,以生成对应于响应期望分类350的输出数据。进一步,模型300可以包括一个或多个处理器,一个或多个处理器被配置为:如果响应期望分类满足条件,则将nl文本确定为期望响应的第一代理条目数据。
[0068]
在实施例中,模型300可以包括被配置成确定用户条目是否在代理条目的响应域内的响应域360。例如,响应域360可以包括配置用于基于代理文本数据确定第一代理数据条目主题的一个或多个处理器,其中第一响应域对应于第一代理数据条目主题。进一步,响应域360可以包括一个或多个处理器,其被配置用于基于用户文本数据来确定第一用户条目主题,并且将第一代理数据条目主题与第一用户条目主题进行比较以确定满足相似度阈值。如果第一代理数据条目主题与第一用户条目主题之间的比较超过相似度阈值,则用户条目在代理条目的响应域内。另一方面,如果第一代理数据条目主题与第一用户条目主题之间的比较没有超过相似度阈值,则用户条目不在代理条目的响应域内。如果用户条目不在代理条目的响应域内,那么一个或多个处理器可以被配置为确定发生了离题。如果用户条目在代理条目的响应域内,那么一个或多个处理器可以被配置为确定没有发生离题。
[0069]
在实施例中,计算机实现的方法可以进一步包括:至少基于确定相似度阈值不超过预定值,确定第一用户条目不在第一响应域内。
[0070]
图4描述了根据本发明的实现的用于改善消息接发对话系统中的意图确定的计算机实现的方法400的操作步骤。应当理解,图4仅提供一个实现的图示并且不暗示关于其中可以实现不同实施例的环境的任何限制。可以对所描绘的环境做出许多修改。
[0071]
用于改善消息接发对话系统中的意图确定的计算机实现的方法400可以包括一个或多个处理器,一个或多个处理器被配置为,接收402与在消息接发对话界面中通信的第一代理相对应的第一代理条目数据。
[0072]
在实施例中,计算机实现的方法400还可以包括一个或多个处理器,其被配置用于标识与第一代理条目数据中的自然语言(nl)文本相对应的代理文本数据。
[0073]
在实施例中,计算机实现的方法400可以还可以包括一个或多个处理器,一个或多个处理器被配置成用于由第一经训练的机器学习模型处理代理文本数据,以生成对应于响应期望分类的模型输出数据。
[0074]
进一步,一个或多个处理器可以被配置为:如果响应期望分类满足条件,则将nl文本确定为期望响应的第一代理条目数据。
[0075]
进一步,计算机实现的方法400还可以包括一个或多个处理器,其被配置用于标识与第一用户条目中的自然语言(nl)话语相对应的用户文本数据。
[0076]
在实施例中,计算机实现的方法400还可以包括一个或多个处理器,其被配置用于基于代理文本数据来确定第一代理数据条目主题,其中第一响应域对应于第一代理数据条目主题。
[0077]
进一步,计算机实现的方法400还可以包括一个或多个处理器,其被配置用于基于用户文本数据来确定第一用户条目主题。
[0078]
进一步,计算机实现的方法400还可以包括一个或多个处理器,其被配置用于比较第一代理数据条目主题和第一用户条目主题以确定相似度阈值被满足。
[0079]
计算机实现的方法400还可以被配置用于确定404第一代理条目数据期望在第一响应域内的响应。
[0080]
在实施例中,确定404第一代理条目期望响应可以进一步包括一个或多个处理器,一个或多个处理器被配置成用于将词性(pos)标签附加到nl文本中的一个或多个词语以生成标记的nl文本数据。
[0081]
进一步地,该一个或多个处理器可以被配置成用于将该代理文本数据编码成具有768或更少的维度的语句嵌入。
[0082]
进一步地,一个或多个处理器可以被配置成用于由第二经训练的机器学习模型来处理标记的nl文本数据和语句嵌入以生成对应于响应期望分类的模型输出数据。
[0083]
进一步,一个或多个处理器可以被配置为:如果响应期望分类满足条件,则将nl文本确定为期望响应的第一代理条目数据。
[0084]
计算机实现的方法400还可以被配置为确定406在消息接发对话界面中输入的第一用户条目不在第一响应域内。
[0085]
在实施例中,计算机实现的方法400还可以包括一个或多个处理器,其被配置用于至少基于确定相似度阈值不超过预定值来确定第一用户条目不在第一响应域内。
[0086]
计算机实现的方法400还可以被配置用于标识408配置有包括第一用户条目的第二响应域的第二代理。
[0087]
在一个实施例中,第一用户条目可以包括文档条目,其中计算机实现的方法400还可以包括被配置为从文档条目提取文档条目数据的一个或多个处理器。
[0088]
进一步,一个或多个处理器可以被配置为处理文档条目数据以确定自然语言文本数据,其中确定第一用户输入不在第一响应域内至少基于自然语言文本数据。
[0089]
在实施例中,将第一条目传输到第二代理可以对应于在消息接发对话界面中在第一用户与第二代理之间的离题的会话流。
[0090]
计算机实现的方法400还可以被配置为将第一用户条目传输410给第二代理,以促进第一代理与在消息对话界面中通信的第一用户之间建立的通信流的无缝转换。
[0091]
图5描绘了根据本发明的实现的图1的分布式数据处理环境内的服务器计算机的组件的框图。
[0092]
计算设备500包括通信结构502,其提供高速缓存516、存储器506、持久性存储器508、通信单元510和输入/输出(i/o)接口512之间的通信。通信结构502可以用被设计用于在处理器(诸如,微处理器、通信和网络处理器等)、系统存储器、外围设备与系统内的任何其他硬件组件之间传递数据和/或控制信息的任何架构来实现。例如,通信结构502可以用一个或多个总线或纵横开关来实现。
[0093]
存储器506和持久性存储器508是计算机可读存储介质。在该实施例中,存储器506包括随机存取存储器(ram)。通常,存储器506可以包括任何合适的易失性或非易失性计算机可读存储介质。高速缓存516是快速存储器,其通过保存来自存储器506的最近访问的数据和接近访问的数据的数据来增强计算机处理器504的性能。
[0094]
程序可以存储在持久性存储器508和存储器506中,用于由一个或多个相应的计算机处理器504经由高速缓存516执行和/或访问。在实施例中,持久性存储器508包括磁性硬盘驱动器。备选地,或者附加于磁性硬盘驱动,持久性存储器508可以包括固态硬盘驱动、半导体存储设备、只读存储器(rom)、可擦除可编程只读存储器(eprom)、闪存、或能够存储程序指令或数字信息的任何其他计算机可读存储介质。
[0095]
由持久性存储器508使用的介质也可以是可移动的。例如,可移动硬盘驱动器可以用于持久性存储器508。其他示例包括光盘和磁盘、拇指驱动器和智能卡,它们被插入到驱动器中以便转移到也是持久存储器508的部分的另一计算机可读存储媒质上。
[0096]
在这些示例中,通信单元510提供与其他数据处理系统或设备的通信。在这些示例中,通信单元510包括一个或多个网络接口卡。通信单元510可通过使用物理和无线通信链路中的任一者或两者提供通信。如本文中所描述的程序可以通过通信单元510下载到持久性存储器508。
[0097]
i/o接口512允许与可以连接到用户设备120的其他设备进行数据的输入和输出。例如,i/o接口512可以提供到外部设备518(诸如图像传感器、键盘、小键盘、触摸屏、和/或一些其他合适的输入设备)的连接。外部设备518还可以包括便携式计算机可读存储介质(诸如,例如拇指驱动器、便携式光盘或磁盘、以及存储卡)。用于实施本发明的实施例的软件和数据514可以存储在这种便携式计算机可读存储介质上并且可以通过i/o接口512加载到持久性存储器508上。i/o接口512还连接到显示器520。
[0098]
显示器520提供向用户显示数据的机构,并且可以是例如计算机监视器。
[0099]
本文中描述的软件和数据514是基于在本发明的具体实施例中针对其实现的应用而被标识的。然而,应当理解,本文中的任何特定程序术语仅为了方便而使用,并且因此本发明不应局限于仅在由这样的术语标识和/或暗示的任何特定应用中使用。
[0100]
在此描述的程序是基于应用在本发明的具体实施例中实施的来标识的。然而,应当理解,本文中的任何特定程序术语仅为了方便而使用,并且因此本发明不应局限于仅在由这样的术语标识和/或暗示的任何特定应用中使用。
[0101]
本发明可以是计算机系统、计算机实施的方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的方面的计算机可读程序指令的计算机可读存储媒质(或多个媒质)。
[0102]
计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的任何有形设备。计算机可读存储媒质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储媒质的更具体示例的非穷尽列表包括以下项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、诸如穿孔卡的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储媒体不应被解释为瞬态信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输媒体传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
[0103]
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并且转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储媒质中。
[0104]
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如,smalltalk、c++等)和常规的过程式程序设计语言(诸如,“c”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供方通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
[0105]
下面将参照根据本发明实施例的计算机实现的方法、设备(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个框以及流程图和/或
框图中各框的组合,都可以由计算机可读程序指令实现。
[0106]
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生机器,使得经由计算机或其他可编程数据处理设备的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的设备。也可以将这些计算机可读程序指令存储在计算机可读存储媒质中,这些指令使计算机、可编程数据处理设备、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储媒质包括包含实现流程图和/或框图中的或多方框中规定的功能/动作的方面的指令的制品。
[0107]
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
[0108]
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可以表示包括用于实现指定的逻辑功能的一个或多个可执行指令的模块、片段或指令的部分。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
[0109]
已经出于说明的目的呈现了本发明的各种实现的描述,但并不旨在是详尽的或者限于所公开的实现。在不背离本发明的范围和精神的情况下,许多修改和变化对于本领域普通技术人员来说是清楚的。在此所使用的术语被选择来最好地解释实施例的原理、实际应用、或优于市场中所发现的技术的技术改进、或使得本领域普通技术人员能够理解在此所公开的实施例。

技术特征:
1.一种用于改进消息接发对话管理器系统中的意图确定的计算机实现的方法,所述计算机实现的方法包括:由一个或多个处理器接收与在消息接发对话界面中通信的第一代理对应的第一代理条目数据;由所述一个或多个处理器确定所述第一代理条目数据期望在第一响应域内的响应;由所述一个或多个处理器确定在所述消息接发对话界面中被接收到的第一用户条目不在所述第一响应域内;由所述一个或多个处理器标识配置有包括所述第一用户条目的第二响应域的第二代理;以及由所述一个或多个处理器将所述第一用户条目传输到所述第二代理,以促进所述第一代理与第一用户之间的建立的通信流的无缝转换。2.根据权利要求1所述的计算机实现的方法,还包括:由所述一个或多个处理器标识对应于所述第一代理条目数据中的自然语言nl文本的代理文本数据;以及由所述一个或多个处理器标识对应于所述第一用户条目中的自然语言nl话语的用户文本数据。3.根据权利要求2所述的计算机实现的方法,还包括:由所述一个或多个处理器基于所述代理文本数据来确定第一代理数据条目主题,其中所述第一响应域对应于所述第一代理数据条目主题;由所述一个或多个处理器基于所述用户文本数据来确定第一用户条目主题;以及由所述一个或多个处理器将所述第一代理数据条目主题与所述第一用户条目主题进行比较,以确定相似度阈值被满足。4.根据权利要求3所述的计算机实现的方法,其中确定所述第一用户条目不在所述第一响应域内至少基于确定所述相似度阈值不超过预定值。5.根据权利要求2所述的计算机实现的方法,还包括:由第一经训练的机器学习模型处理所述代理文本数据,以生成对应于响应期望分类的模型输出数据;以及如果所述响应期望分类满足条件,则由所述一个或多个处理器将所述nl文本确定为期望所述响应的所述第一代理条目数据。6.根据权利要求1所述的计算机实现的方法,其中所述第一用户条目是文档条目,所述计算机实现的方法还包括:由所述一个或多个处理器从所述文档条目提取文档条目数据;由所述一个或多个处理器处理所述文档条目数据,以确定自然语言文本数据,其中确定所述第一用户条目不在所述第一响应域内至少基于所述自然语言文本数据。7.根据权利要求1所述的计算机实现的方法,其中将所述第一条目传输到所述第二代理对应于所述消息接发对话界面中所述第一用户与所述第二代理之间的离题的会话流。8.根据权利要求2所述的计算机实现的方法,其中确定所述第一代理条目期望所述响应还包括:由所述一个或多个处理器将词性pos标签附加到所述nl文本中的一个或多个词,以生
成标记的nl文本数据;由所述一个或多个处理器将所述代理文本数据编码成具有768或者更少的维度的语句嵌入。9.根据权利要求8所述的计算机实现的方法,其中确定所述第一代理条目期望所述响应还包括:由第二经训练的机器学习模型处理所述标记的nl文本数据和所述语句嵌入,以生成对应于响应期望分类的模型输出数据;以及如果所述响应期望分类满足条件,则由所述一个或多个处理器将所述nl文本确定为期望所述响应的所述第一代理条目数据。10.一种用于改进消息接发对话管理器系统中的意图确定的计算机程序产品,所述计算机程序产品包括:程序指令,所述程序指令由处理器可执行,以使所述处理器执行权利要求1至9中任一项所述的方法。11.一种用于改进消息接发对话管理器系统中的意图确定的计算机系统,所述计算机系统包括:一个或多个计算机处理器;一个或多个计算机可读存储介质,被耦合至所述处理器,所述计算机可读存储介质包括指令,所述指令在由所述处理器执行时,执行权利要求1至9中任一项所述的方法。

技术总结
一种改进消息接发对话管理系统中的意图确定。用于改善消息接发对话管理器系统中的意图确定的计算机实现的方法、计算机程序产品和计算机系统。用于改善消息接发对话管理器系统中的意图确定的计算机实现的方法可以包括一个或多个处理器,所述一个或多个处理器被配置为:接收与在消息接发对话界面中通信的第一代理相对应的第一代理条目数据;确定第一代理条目数据期望在第一响应域内的响应;确定在消息接发对话界面中输入的第一用户条目不在第一响应域内。进一步,计算机实现可以包括:标识配置有包括第一用户条目的第二响应域的第二代理;以及向第二代理发送第一用户条目以促进在第一代理和第一用户之间建立的通信流的无缝转换。转换。转换。


技术研发人员:Y
受保护的技术使用者:国际商业机器公司
技术研发日:2022.04.27
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-11365.html

最新回复(0)