CN116635863A - 使用有意义的自动连接分数进行对话机器人评估和强化 - Google Patents
使用有意义的自动连接分数进行对话机器人评估和强化 Download PDFInfo
- Publication number
- CN116635863A CN116635863A CN202180083549.XA CN202180083549A CN116635863A CN 116635863 A CN116635863 A CN 116635863A CN 202180083549 A CN202180083549 A CN 202180083549A CN 116635863 A CN116635863 A CN 116635863A
- Authority
- CN
- China
- Prior art keywords
- robot
- macs
- conversation
- machine learning
- session
- 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
- 238000010801 machine learning Methods 0.000 claims abstract description 145
- 238000000034 method Methods 0.000 claims abstract description 99
- 238000012549 training Methods 0.000 claims abstract description 86
- 230000015654 memory Effects 0.000 claims description 48
- 230000008569 process Effects 0.000 abstract description 57
- 239000003795 chemical substances by application Substances 0.000 description 137
- 238000004891 communication Methods 0.000 description 54
- 238000011156 evaluation Methods 0.000 description 31
- 238000012545 processing Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 238000013145 classification model Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 230000005291 magnetic effect Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 230000009466 transformation Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010223 real-time analysis Methods 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/02—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Investigation Of Foundation Soil And Reinforcement Of Foundation Soil By Compacting Or Drainage (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
所公开的实施方式提供了一种框架,以帮助机器人管理者和构建者识别机器人与客户之间的特定摩擦点,从而允许实时识别机器人对话问题,并训练机器人以改善对话流。使用机器学习模型来处理对话数据,以检测对话中的机器人状态,并计算这些对话的有意义的自动连接分数(MACS)。对话的MACS被提供给机器人构建者,以允许机器人构建者识别摩擦点并相应地更新机器人。
Description
相关申请的交叉引用
本专利申请要求于2020年12月22日提交的美国临时专利申请No.63/128,992的优先权权益,该临时专利申请的公开内容通过引用并入本文中。
技术领域
本发明总体上涉及用于使用有意义的自动连接分数(MACS)来促进对话机器人的评估的系统和方法。更具体地,提供了部署框架的技术,以帮助机器人管理者和构建者识别机器人与客户之间的特定摩擦点,从而允许实时识别机器人对话问题,并训练机器人以改善对话流。
发明内容
所公开的实施方式提供了一种框架,以帮助机器人管理者和构建者识别机器人与客户之间的特定摩擦点,从而允许实时识别机器人对话问题,并训练机器人以改善对话流。根据一些实施方式,提供了计算机实现的方法。该计算机实现的方法包括接收与对话机器人代理和客户之间的对话相对应的对话数据。所述对话数据包括在所述对话机器人代理和所述客户之间交换的消息。该计算机实现的方法还包括根据所述对话数据计算一组特征。该计算机实现的方法还包括检测与所述对话中的所述对话机器人代理的表现相对应的一组机器人状态。基于所述一组特征和所述对话数据来检测所述一组机器人状态。该计算机实现的方法还包括使用样本对话数据和相对应的机器人状态来训练机器学习模型。所述训练包括确定所述对话的有意义的自动连接分数(MACS)。该计算机实现的方法还包括提供所述对话的MACS和所述一组机器人状态。该计算机实现的方法还包括接收对所述对话机器人代理的更新并实施对所述对话机器人代理的更新。所述更新用于训练所述机器学习模型。
在一个示例中,一种系统,包括:一个或多个处理器和包括指令的存储器,这些指令由于由所述一个或多个处理器执行而使得所述系统执行本文所述的方法。在另一示例中,一种非暂时性计算机可读存储介质,在所述非暂时性计算机可读存储介质上存储有可执行指令,所述可执行指令由于由计算机系统的一个或多个处理器执行而使得所述计算机系统执行本文所述的方法。
本概要不旨在标识所要求保护的主题的关键或基本特征,也不旨在单独用于确定所要求保护的主题的范围。应通过参考本专利申请的整个说明书的适当部分、任何或所有附图、以及每个权利要求来理解主题。
下文将在以下说明书、权利要求书和附图中更详细地描述上述内容以及其他特征和示例。
下面详细讨论本发明的各种实施方式。尽管讨论了特定实现方式,但是应当理解,这仅出于说明目的。相关领域的技术人员能够认识到,在不脱离本发明的精神和范围的情况下,可以使用其他组件和配置。因此,以下描述和附图是说明性的而不能理解成是限制性的。描述了很多特定细节以提供对本发明的透彻理解。然而,在某些情况中,众所周知的或常规的细节没有被描述以避免使说明书含糊不清。对本发明的一个实施方式或一实施方式的提及可以是指同一实施方式或任一实施方式;并且,这种提及意味着实施方式中的至少一个实施方式。
对“一个实施方式”或“一实施方式”的提及意味着,结合该实施方式描述的特定特征、结构或特性被包括在本发明的至少一个实施方式中。在本说明书中各种地方出现的措词“在一个实施方式中”未必是全都指的是同一实施方式,也不是与其他实施方式相互排斥的不同的或替选的实施方式。此外,描述了可以由一些实施方式具有而其他实施方式不具有的各个特征。
本说明书中所使用的术语在本发明的上下文中以及在使用各个术语的特定上下文中,通常具有其在本领域中的通常含义。替选语言和同义词可用于本文中讨论的术语中的任一者或多者,并且本文是否详细阐述或讨论了术语不应有特别意义。在一些情况下,提供了用于某些术语的同义词。一个或多个同义词的记载并不排除其他同义词的使用。本说明书中任何地方使用的示例(包括本文讨论的任何术语的示例)仅是说明性的,并不旨在进一步限制本发明或任何示例术语的范围和含义。同样,本发明不限于本说明书中给出的各个实施方式。
在不旨在限制本发明的范围的情况下,下面给出根据本发明的实施方式的仪器、装置、方法及其相关的结果的示例。需要注意的是,为了方便读者,示例中可以使用标题或副标题,其不应以任何方式限制本发明的范围。除非另有定义,否则本文中所使用的技术术语和科学术语具有本发明所属领域普通技术人员通常理解的含义。在有矛盾的情况下,将以包括定义的本申请文件为准。
本发明的附加特征和优势将在以下描述中进行阐述,并且某种程度上能够从描述中显而易见或者可以从本文公开的原理的实践中习得。本发明的特征和优势可以通过所附权利要求中特别指出的仪器和结合来实现并获得。本发明的这些和其他特征能够从以下描述和所附权利要求变得更充分明显,或者可以从本文阐述的原理的实践中了解。
附图说明
结合附图描述本发明:
图1示出了根据各种实施方式的环境的说明性示例,其中,确定对话机器人代理的MACS并将其提供给机器人构建者以允许生成机器人更新,从而提高对话机器人代理的表现;
图2示出了根据至少一个实施方式的环境的说明性示例,其中,机器人状态机器学习建模引擎使用机器人状态和MACS注释来执行机器人状态预测模型和MACS预测模型的并行训练;
图3示出了根据至少一个实施方式的环境的说明性示例,其中,机器人状态机器学习建模引擎使用机器人状态以及MACS注释和特征来执行机器人状态预测模型和MACS预测模型的并行训练;
图4示出了根据至少一个实施方式的环境的说明性示例,其中,机器人状态机器学习建模引擎使用由机器人状态预测模型生成的预测来执行MACS预测模型的训练;
图5示出了根据至少一个实施方式的环境的说明性示例,其中,机器人状态机器学习建模引擎使用由机器人状态预测模型生成的预测和特征来执行MACS预测模型的训练;
图6示出了根据至少一个实施方式的环境的说明性示例,其中,机器人状态机器学习建模引擎使用机器人状态以及MACS注释和特征来执行联合机器人状态和MACS预测模型的训练;
图7示出了根据至少一个实施方式的环境的说明性示例,其中,MACS预测模型基于一个或多个机器人代理的对话数据和所识别的机器人状态来提供一个或多个机器人代理的MACS;
图8示出了根据至少一个实施方式的环境的说明性示例,其中,机器人状态机器学习建模引擎对活动通信会话的消息执行实时分析以动态地确定对话机器人代理的机器人状态和MACS;
图9示出了根据至少一个实施方式的用于使用对话数据和与先前分析的机器人对话相对应的机器人状态的计算概率来训练机器人状态预测模型的过程的说明性示例;
图10示出了根据至少一个实施方式的用于基于经注释的对话数据和识别的机器人状态来训练MACS预测模型的过程的说明性示例;
图11示出了根据至少一个实施方式的用于生成和提供机器人代理与客户之间的对话的MACS和任何机器人状态的过程的说明性示例;以及
图12示出了可以实施各种实施方式的环境的说明性示例。
在附图中,相似的组件和/或特征可以具有相同的附图标记。此外,相同类型的各种组件可以通过在附图标记后加上破折号和第二标记来区分,第二标记在相似的组件之间进行区分。如果在说明书中仅使用了第一附图标记,则该描述适用于具有相同的第一附图标记的相似组件中的任一者,而与第二附图标记无关。
具体实施方式
随后的描述仅提供(一个或多个)实施方式的优选示例,并且不旨在限制本发明的范围、适用性或配置。相反,随后的(一个或多个)实施方式的优选示例的描述将向本领域技术人员提供用于实现实施方式的优选示例的使能描述。应当理解,在不脱离如所附权利要求书所阐述的精神和范围的情况下,可以对元件的功能和布置进行各种改变。
图1示出了根据各种实施方式的环境的说明性示例,其中,确定对话机器人代理104的MACS并将其提供给机器人构建者116以允许生成机器人更新,从而提高对话机器人代理104的表现。在环境100中,客户112可以通过计算设备114参与和客户服务呼叫中心102的对话机器人代理104的通信会话。对话机器人代理104可以被配置为自主地与诸如计算设备114之类的网络设备通信。此外,对话机器人代理104可以被配置用于特定的能力。能力的示例可以包括更新数据库记录、向客户提供更新、向人工代理或其他对话机器人代理提供关于客户112的附加数据、确定客户的意图并基于该意图将客户112路由到目的地系统、预测或建议对与客户通信的人工代理的响应、升级通信会话以包括一个或多个附加机器人或人工代理、以及其他合适的能力。在一些实现方式中,当对话机器人代理104在通信会话期间(例如,使用聊天使能接口)与客户112通信时,通信服务器(未示出)可以自动且动态地确定将对话机器人代理104与人工代理使用的终端设备进行切换。例如,对话机器人代理104可以与客户就某些任务进行通信(例如,更新与客户112相关联的数据库记录),而人工代理可以与客户就该更困难的任务进行通信(例如,使用通信信道进行通信以解决技术问题)。
对话机器人代理104可以是代码,该代码当被执行时,被配置为通过计算设备114自主地与客户(例如客户112)通信。例如,对话机器人代理104可以是自动生成消息的机器人以发起和与计算设备114相关联的客户112的对话和/或自动响应来自计算设备114的消息。在一实施方式中,客户服务呼叫中心102可以允许客户端(例如,客户服务呼叫中心102的平台的外部系统)通过客户服务呼叫中心102在其内部通信系统中部署对话机器人代理104。在一些示例中,客户端可以在客户服务呼叫中心的平台中使用他们自己的机器人,这使得客户端能够在其内部通信系统中实现本文所述的方法和技术。
在一些实现方式中,对话机器人代理104可以由一个或多个源定义。例如,客户服务呼叫中心102的数据存储器可以存储表示由客户服务呼叫中心102的客户端定义(例如,创建或编码)的对话机器人代理104的代码。例如,已经定义了其自己的对话机器人代理104的客户端可以将对话机器人代理104加载到客户服务呼叫中心102。由客户端定义的对话机器人代理104可以存储在客户端机器人数据存储器中。在一些情况下,客户服务呼叫中心102可以包括数据存储器,该数据存储器可以用于存储表示由第三方系统定义的对话机器人代理104的代码。例如,第三方系统可以包括独立的软件供应商。另一数据存储器可以存储表示对话机器人代理104的代码,对话机器人代理104由与客户服务呼叫中心102相关联的实体定义。例如,由实体编码的对话机器人代理104可以被加载到客户服务呼叫中心102或可由客户服务呼叫中心102访问,从而对话机器人代理104可以被执行并自主地与客户通信。在一些实现方式中,客户服务呼叫中心102可以使用云网络访问存储在这些数据存储器中的机器人。云网络可以是任何网络,并且可以包括开放网络(例如因特网、个人局域网、局域网(LAN)、校园局域网(CAN)、城域网(MAN)、广域网(WAN)、无线局域网(WLAN))、私有网络(例如内联网、外联网、或其他骨干网)。
在一些实施方式中,客户服务呼叫中心102可以推荐自动操作,以使对话在对话机器人代理104和计算设备114之间的特定通信会话期间在对话机器人器代理104和客户112之间动态切换。例如,客户服务呼叫中心102可以促进计算设备114和对话机器人代理104之间的通信会话。对话机器人代理104可以被配置为通过在通信会话期间与计算设备114交换一个或多个消息来自主地与计算设备114进行通信。客户服务呼叫中心102可以动态地确定是否将对话机器人代理104与人工代理进行切换(或者在某些情况下,反之亦然),使得现场人工代理而不是对话机器人代理104可以与计算设备114通信。在一些实现方式中,可以在没有来自客户112或人工代理的提示的情况下执行切换。例如,切换可以基于在计算设备114和对话机器人代理104之间交换的消息的消息参数(例如,表示一个消息或一系列消息的情绪的分数),而不提示计算设备请求转移到人工代理。
在一个实施方式中,客户服务呼叫中心102记录客户与对话机器人代理104之间的对话以进行评估,从而识别在这些对话期间遇到的任何机器人状态。这些机器人状态可以包括任何失败状态(例如,询问旧信息、任何误解、无法帮助客户、无法将客户转移到现场代理、某些谴责等)、信息收集状态(例如客户身份、新信息的提示、确认请求等)、转移状态(例如,提出转移到现场代理、提示客户转移到现场代理、成功转移等)、协助状态(例如向客户提供有用信息、解决客户问题、提供对查询的准确响应等)等。例如,当客户112与对话机器人代理104进行会话时,客户服务呼叫中心102可以将每个消息以及任何相关联的机器人元数据记录在对话数据存储器106中。在对话数据存储器106内,客户服务呼叫中心102可以将每个消息与对应于客户112和对话机器人代理104之间的特定对话的唯一标识符相关联。客户服务呼叫中心102可以监控该对话以确定在客户112和对话机器人代理104之间的对话是否已经结束。例如,客户服务呼叫中心102可以由于对话从对话机器人代理104转移到人工代理而确定特定对话已经结束。替选地,客户服务呼叫中心102可以由于客户112已经提交了指示特定问题已经解决的消息或对话结束的其他确认而确定该对话已经结束。在一些情况下,当对话机器人代理104与客户112使用的计算设备114之间的通信会话终止时,客户服务呼叫中心102可以确定对话已经结束。
在一个实施方式中,存储在对话数据存储器106中的对话的样本集被提供给一组注释者110用于手动评估。例如,在一些情况下,可以将特定对话提供给一组注释者110,以识别在该特定对话期间出现的任何机器人状态。这些机器人状态可以包括机器人未能理解客户的消息(例如,意图、问题等)、机器人忽视客户、机器人陷入消息循环、检测到客户对机器人的不满、机器人错误地转移到人工代理等。此外,这些机器人状态可以包括机器人执行的导致对话成功地转移到现场代理,导致客户在对话期间表达的问题的成功解决等的任何操作。机器人状态还可以包括任何信息收集活动,例如提示客户提供身份信息、对可用于解决问题的新信息的任何提示、关于机器人将要执行的操作的任何确认请求等。在一个实施方式中,每个注释者110可以评估特定对话的每个消息,并指示检测到的与该消息相对应的任何特定状态。例如,注释者110可以对特定对话的每个消息进行注释,以指示该消息是指示特定失败状态、还是指示特定转移状态、还是指示特定信息收集状态,等等。
在一个实施方式中,注释数据以及与客户和对话机器人代理104之间的对话相对应的原始对话数据,被提供给机器人状态机器学习建模引擎108以生成和训练机器人状态预测模型,该机器人状态预测模型可用于动态且实时地评估客户与对话机器人代理104之间的消息,从而预测对话层次的机器人状态。机器人状态机器学习建模引擎108可以在客户服务呼叫中心102的计算机系统或其他系统(例如,服务器、虚拟机实例等)上实施。替选地,机器人状态机器学习建模引擎108可以被实施为在客户服务呼叫中心102的计算系统上执行的应用程序或其他进程。
在一个实施方式中,机器人状态机器学习建模引擎108实施聚合策略,以确定对话中的某个消息具有特定状态的概率。例如,机器人状态机器学习建模引擎108可以计算对话中每个消息存在特定状态的概率。作为说明性示例,如果特定消息已经由三个注释者110评估并且这些注释者110中的一个注释者已经确定对于该特定消息存在特定状态,机器人状态机器学习建模引擎108可以确定消息中存在该特定状态的概率是指示特定状态的注释的数量除以注释的总数,或者在这种情况下,是1/3。机器人状态机器学习建模引擎108可以从1中减去该概率,以获得转换的特定消息不包括该特定状态的概率。机器人状态机器学习建模引擎108可以将针对特定对话中的每个消息获得的概率相乘,以获得特定状态不在特定对话中的概率。机器人状态机器学习建模引擎108可以将从1中减去该概率,以获得特定状态存在于特定对话中的概率。
所得到的在对话中存在特定状态的概率是单调递减的,由此,存在更多消息不会降低存在特定状态的概率。例如,如果所有注释者110都同意特定状态存在于特定消息中,则无论特定对话内的消息数量如何,该特定状态在特定对话内存在的概率都是1。所得到的经注释的对话和相对应的状态概率可以用作用于训练可用于实时从对话动态检测状态的分类模型的“基准真值”或样本数据集。因此,样本数据集中的每个消息根据先前计算的对应于每个分类的存在的概率可能已知对应于特定分类(例如,客户不满、机器人忽视客户、机器人陷入消息循环、机器人提示客户提供新信息以解决问题、机器人已成功将对话转移到现场代理、机器人成功解决问题等)。可以用于针对特定失败状态对来自特定对话的消息进行分类的分类模型可以包括逻辑回归算法、随机森林模型、朴素贝叶斯模型、线性回归模型、决策树模型、K-均值聚类模型、K-最近邻(kNN)模型、支持向量机(SVM)模型、梯度提升机器模型、等等。
在一个实施方式中,机器人状态预测模型提供每个可能的机器人状态的置信度分数,作为输出并用于机器人状态预测模型所处理的每个对话。置信度分数可以对应于对话中存在特定机器人状态的概率。在一些情况下,可以将置信度分数与特定对话中存在相应状态的上述概率进行比较,以确定分类模型是否产生准确的结果。例如,用于计算特定对话的每个可能状态的置信度分数的分类模型可以被评估,以基于与特定对话的注释者评估相对应的机器人状态概率来确定分类模型是否正确地识别了可能存在于特定对话中的任何机器人状态。基于该评估,可以修改分类模型以增加分类模型生成期望结果的可能性。
在一个实施方式中,机器人状态机器学习建模引擎108可以将机器人状态预测模型(例如,分类模型)生成的置信度分数转换为特定对话的MACS。例如,机器人状态机器学习建模引擎108可以使用通过特定对话的机器人状态预测模型获得的每个机器人状态的置信度分数作为MACS预测模型的输入,以获得该特定对话的MACS。替选地,机器人状态机器学习建模引擎108可以确定每个机器人状态的置信度分数是否满足阈值。如果特定机器人状态的置信度分数高于阈值,则机器人状态机器学习建模引擎108可以确定相对应的机器人状态存在于对话中。对话中根据阈值的机器人状态的存在,可以用作MACS预测模型的输入,以计算对话的MACS。
MACS预测模型可以通过不同的技术进行训练。在一个实施方式中,可以通过使用注释者110为一个或多个样本对话生成的机器人状态和MACS注释作为输入以生成用于该一个或多个样本对话中的每个样本对话的MACS,来与机器人状态预测模型并行地训练MACS预测模型。可以评估所得到的MACS,以基于与特定对话的注释者评估相对应的机器人状态概率和对话的MACS注释来确定MACS预测模型是否正确地计算了该特定对话的MACS。基于该评估,可以修改MACS预测模型以增加MACS预测模型生成期望结果的可能性。
在一个实施方式中,MACS预测模型可以使用注释者110为一个或多个样本对话生成的机器人状态和MACS注释以及该一个或多个样本对话的一组特征来训练。例如,机器人状态机器学习建模引擎108可以利用特征提取器来提取特定对话的对话长度,并确定指示对话长度是否处于对话长度的任一极端(例如,短与长)的二进制特征。与对话长度相对应的二进制特征可以增加由注释者110基于对话的手动评估确定的MACS分数与由MACS预测模型预测的分数之间的相关性。因此,该二进制特征可以用于进一步改进MACS预测模型的训练。
在一些实施方式中,可以使用由上述机器人状态预测模型生成的预测的机器人状态置信度分数来训练MACS预测模型。例如,机器人状态机器学习建模引擎108可以使用由机器人状态预测模型生成的置信度分数、以及由注释者110确定的样本对话的经注释的MACS,作为MACS预测模型的输入,来生成该样本对话的预测的MACS。该预测的MACS可以与由注释者110确定的经注释的MACS进行比较,以确定MACS预测模型是否正在生成准确的结果。基于该评估,可以修改MACS预测模型以增加MACS预测模型生成该样本对话的期望MACS的可能性。在一些情况下,可以使用预测的机器人状态置信度分数和所述一个或多个样本对话的一组特征的组合来训练MACS预测模型。该组特征可以类似于上述一组特征,包括指示对话长度是否处于对话长度的任一极端的二进制特征。
在一个实施方式中,基于不同样本对话的预测的MACS和由注释者110确定的这些不同样本对话的经注释的MACS的MACS预测模型的评估可用于进一步确定每个机器人状态对不同样本对话的MACS的影响。例如,基于预测的MACS和由注释者110确定的经注释的MACS之间的差异,可以确定机器人状态对MACS的相对影响。该确定的影响可以用于训练MACS预测模型,以基于不同机器人状态的存在(或不存在)来更好地预测给定对话的MACS,不同机器人状态的存在(或不存在)如基于机器人状态置信度分数所确定的,或者由机器人状态预测模型或注释者110确定的特定机器人状态的存在的其他指标所确定的。
所得到的MACS可以与对话的质量以及对话机器人代理104关于特定对话的表现相对应。例如,“1”的MACS可以对应于糟糕的对话,其中对话机器人代理104在解决客户的特定问题方面没有帮助。替选地,“5”的MACS可以指示对话机器人代理104是有帮助的(例如,提供与客户意图有关的相关动作或信息),并且对话是平静的,从而产生积极的客户体验。应该注意,可能的MACS值的范围可以由客户服务呼叫中心102确定,以指示对话机器人代理104关于与客户的特定对话的可能的表现度量。因此,除了上述“1-5”的范围之外,或者作为上述“1-5”的范围的替选,可以使用其他MACS范围。
在一个实施方式中,一旦机器人状态预测模型和MACS预测模型被训练成处理对话机器人代理104和客户之间的新对话,客户服务呼叫中心102就可以实施这些预测模型以检测活动对话中的机器人状态,并实时计算对话的MACS。例如,当客户112通过对话机器人代理104与计算设备114之间的通信会话来参与和对话机器人代理104的对话时,机器人状态机器学习建模引擎108可以处理客户112与对话机器人代理104之间的消息,以检测对话机器人代理104的任何机器人状态,并基于这些机器人状态来确定对话的MACS。随着检测到更多的机器人状态,机器人状态机器建模引擎108(通过MACS预测模型)可以继续递减对话的MACS,以表示对话机器人代理104的表现恶化。如果与对话机器人代理104的对话终止(例如,对话被转移到人工代理,客户112已经断开与通信会话的连接等),则机器人状态机器学习建模引擎108可以基于机器人状态预测模型检测到的机器人状态(如果有的话)来计算对话的最终MACS。
在一个实施方式中,机器人状态机器学习建模引擎108向机器人构建者116提供每个对话的MACS,以允许这些机器人构建者116更新对话机器人代理104。对话的MACS可以通过由客户服务呼叫中心102提供的接口或门户来提供,并且可以通过机器人构建者116所使用的计算设备118来访问。在一些情况下,除了由机器人构建者116配置的对话机器人代理104的对话的MACS之外,机器人状态机器学习建模引擎108还可以提供检测到的机器人状态以及对机器人构建者116更新对话机器人代理104可能有用的其他见解。例如,如果由于遇到一组特定的不太有利的机器人状态,特定类别的对话机器人代理104的MACS始终低于阈值(例如,对话机器人代理104表现不佳),则机器人构建者116可以生成对该对话机器人代理104的更新,以降低这些不太有利的机器人状态出现的可能性并改善这些对话机器人代理104的MACS。
如上所述,机器人状态机器学习建模引擎108可以检测机器人状态,并实时计算特定对话或特定对话中每个消息的MACS。在一个实施方式中,特定对话可以由现场代理(例如,人类)监控,由此可以向现场代理提供对话的实时MACS和关于任何检测到的机器人状态的信息。如果对话的MACS低于阈值,或者检测到某些机器人状态(例如,特定的失败状态等),则现场代理可以将对话从对话机器人代理104转移到现场代理。在某些情况下,这种转移可以作为失败状态,并且可以用于计算对话的最终MACS。如上所述,对话的最终MACS可以被提供给机器人构建者116。
图2示出了根据至少一个实施方式的环境200的说明性示例,其中,机器人状态机器学习建模引擎202使用机器人状态和MACS注释来执行机器人状态预测模型210和MACS预测模型222的并行训练。在环境200中,机器人状态机器学习建模引擎202使用注释者基于对话机器人代理与客户或其他实体之间的样本对话生成的注释数据214、以及与由注释者评估以生成注释数据214的样本对话相对应的对话数据来执行机器人状态预测模型210的训练204。例如,注释者可以评估样本对话,以识别参与这些样本对话的对话机器人代理的不同机器人状态。此外,基于这些机器人状态,注释者可以计算每个样本对话的MACS。样本对话的不同机器人状态和相对应的MACS可以被存储为注释数据214。注释数据214可以包括机器人状态注释数据216(例如,由每个注释者生成的指示在样本对话内检测到的机器人状态的数据)以及机器人状态和MACS注释数据218(例如,由每个注释者生成的指示在样本对话内检测到的机器人状态以及样本对话的相对应的MACS的数据)。
在一个实施方式中,为了执行机器人状态预测模型210的训练204,机器人状态机器学习建模引擎202使用软分数阈值化引擎212来处理机器人状态注释数据216,并确定与样本对话中存在机器人状态的可能性相对应的概率。如上所述,机器人状态机器学习建模引擎202可以实施聚合策略,以确定对话中的某个消息具有特定状态的概率。例如,机器人状态机器学习建模引擎202可以通过软分数阈值化引擎212来计算对话中每个消息存在特定状态的概率。软分数阈值化引擎212可以将获得的特定对话中的每个消息的概率相乘,以获得特定状态不在特定对话中出现的概率。软分数阈值化引擎212可以从1中减去该概率,以获得该状态存在于该特定对话中的概率。这些概率可以用作机器人状态预测模型210的输入,以训练机器人状态预测模型210。
在一个实施方式中,机器人状态预测模型210的训练204还可以包括使用特征提取器208计算样本对话的特征。如上所述,机器人状态机器学习建模引擎202可以利用特征提取器208从对话数据存储器228中提取特定对话的对话长度,并确定指示该对话长度是否处于对话长度的任一极端(例如,短与长)的二进制特征。与对话长度相对应的二进制特征可以提供在样本对话中检测到机器人状态的概率与对话长度之间的相关性。因此,该二进制特征可以用于进一步训练机器人状态预测模型210,以检测机器人状态并更准确地计算与给定对话中存在特定状态的可能性相对应的置信度分数。
可以使用特征提取器208来提取各种特征。例如,特征提取器208可以计算再提示(reprompt)特征,该再提示特征可以在对话机器人代理由于对话机器人代理未能理解客户意图而重复先前消息时计算。可以由特征提取器208提取的另一个特征可以包括升级计数特征,该升级计数特征可以对应于在客户与对话机器人代理之间的对话期间客户问题已经升级的次数。这些升级可以作为对话机器人代理进行了不正确路由的信号。作为另一示例,特征提取器208可以计算未计划的升级特征,该未计划的升级特征可以对应于在与对话机器人代理的对话期间要转移到人工代理的任何客户请求。这可以作为对话机器人代理未能解决客户的问题,从而导致不满的客户体验的指示。特征提取器208还可以计算回退特征的数量,该回退特征可以对应于对话机器人代理已经要求客户重新表述消息的次数。这可以作为对话机器人代理在理解客户消息方面遇到困难的指示,从而导致负面客户体验。可以由特征提取器208计算的其他特征可以包括唯一意图检测特征(例如,对话中意图的数量,其可以与对话机器人代理误解意图之一的概率相关)、重复意图特征(例如,如果意图正在被重复,则其可以作为客户陷入与对话机器人代理的循环中或者对话机器人代理未能理解意图或提供足够的响应的指示)等。
也可以使用特征提取器208提取不指示机器人失败的其他特征。例如,可以计算客户身份特征,该客户身份特征对应于机器人向客户提供的关于可以用于识别客户的信息的提示。作为另一个说明性示例,可以基于机器人向客户提供的关于可以用于解决特定问题或意图的任何新信息的提示来计算信息收集特征。特征提取器208还可以计算检查理解特征,该检查理解特征可以对应于机器人提供以确认机器人可以访问的与客户和/或要解决的问题有关的信息的提示、以及客户提供的任何响应。例如,如果机器人提示客户指示所提供的信息是否正确,则客户可以提供诸如“是”、“实际上不是”等的响应。特征提取器208可以使用机器人提示和客户响应的这种配对来计算检查理解特征。可以由特征提取器208计算的特征的另一示例可以包括提供辅助特征。可以基于机器人向客户提供有用信息或以其他方式解决或回答客户的问题、意图或其他查询来计算提供辅助特征。可以对机器人提供的信息进行评估,以确定该信息是否与客户相关和/或对于客户可执行。
在某些情况下,一旦客户与对话机器人代理之间的对话关闭(例如,非实时执行的计算),则某些特征可能是可适用的。例如,特征提取器208可以计算重复联系特征,该重复联系特征对应于在与对话机器人代理的对话在预定时间段内关闭之后,客户和与客户服务呼叫中心相关联的特定品牌重新接触的次数。该特征可以作为对话中存在不同失败模式的指示。作为另一示例,特征提取器208可以计算上述二进制特征,该二进制特征指示对话长度是否处于对话长度的任一极端(例如,短与长)。
机器人状态预测模型210生成的输出(例如,置信度分数)可以由注释者或与客户服务呼叫中心相关联的其他实体进行评估,以确定机器人状态预测模型210是否生成准确或正确的结果。在一些情况下,可以将机器人状态预测模型210生成的置信度分数与特定对话中存在对应机器人状态的概率进行比较,以确定机器人状态预测模型210是否正在产生准确的结果。例如,用于计算特定对话的每个可能的机器人状态的置信度分数的机器人状态预测模型210可以被评估,以基于与特定对话的注释者评估相对应的来自机器人状态注释数据216的机器人状态概率,来确定机器人状态预测模型210是否正确地识别可能存在于特定对话中的任何机器人状态。基于该评估,可以修改机器人状态预测模型210以增加机器人状态预测模型210生成期望结果的可能性。
与机器人状态预测模型210的训练204并行,机器人状态机器学习建模引擎202可以执行用于计算每个样本对话的MACS的MACS预测模型222的训练206。例如,如图2所示,机器人状态机器学习建模引擎202可以使用注释分数提取器226来根据机器人状态和由注释者生成的MACS注释数据218获得每个样本对话的MACS。每个样本对话的MACS以及注释者检测到的机器人状态可以被提供给机器人状态软分数阈值化引擎224,该机器人状态软分数阈值化引擎224可以处理每个样本对话的MACS和在样本对话中检测到的相对应的机器人状态,以识别机器人状态和MACS之间的任何相关性。这些相关性、以及由注释者提供的经注释的MACS和检测到的机器人状态,可以用作MACS预测模型222的输入,以训练MACS预测模型222。
在一个实施方式中,MACS预测模型222的训练206还可以包括使用每个样本对话的长度来识别特定样本对话的对话长度和MACS之间的任何相关性。例如,MACS预测模型222可以被训练为使用特定对话的对话长度作为输入,以根据对话的对话长度确定不同机器人状态对对话的MACS的影响。例如,机器人状态的影响可能会随着对话长度的增加而变化。因此,机器人状态机器学习建模引擎202可以利用对话长度提取器220从对话数据存储器228中获得每个样本对话的对话长度,并且除了样本对话的经注释的MACS和检测到的机器人状态之外,还可以利用该对话长度作为MACS预测模型222的输入,以训练MACS预测模型222。
MACS预测模型222的输出可以包括每个样本对话的MACS。可以评估所得到的MACS,以基于与样本对话的注释者评估相对应的机器人状态概率和从注释数据214获得的样本对话的MACS注释来确定MACS预测模型222是否正在正确地计算特定对话的MACS。基于该评估,可以修改MACS预测模型222以增加MACS预测模型222生成期望结果的可能性。
图3示出了根据至少一个实施方式的环境300的说明性示例,其中,机器人状态机器学习建模引擎302使用机器人状态以及MACS注释和特征来执行机器人状态预测模型310和MACS预测模型322的并行训练。环境300可以类似于图2中所示的并且如上所述的环境200的环境。例如,可以使用注释者基于对话机器人代理与客户或其他实体之间的样本对话生成的注释数据314、以及与由注释者评估以生成注释数据314的样本对话相对应的对话数据来执行机器人状态预测模型310的训练304。如上所述,注释数据214可以包括机器人状态注释数据316(例如,由每个注释者生成的指示在样本对话内检测到的机器人状态的数据)以及机器人状态和MACS注释数据318(例如,由每个注释者生成的指示在样本对话内检测到的机器人状态以及样本对话的相对应的MACS的数据)。
如上所述,机器人状态预测模型310的训练304还可以包括使用特征提取器308计算样本对话的特征。特征提取器308可以确定二进制特征,该二进制特征指示对话长度是否处于对话长度的任一极端(例如,短与长)。与对话长度相对应的二进制特征可以用于识别在样本对话中检测到机器人状态的概率与对话长度之间的相关性。由机器人状态预测模型310生成的输出(例如,置信度分数)可以由注释者或者与客户服务呼叫中心相关联的其他实体来评估,以确定机器人状态预测模型310是否正在生成准确或正确的结果。例如,用于计算特定对话的每个可能的机器人状态的置信度分数的机器人状态预测模型310可以被评估,以基于来自机器人状态注释数据316的与特定对话的注释者评估相对应的机器人状态概率,来确定机器人状态预测模型310是否正确地识别了可能存在于特定对话中的任何机器人状态。基于该评估,可以修改机器人状态预测模型310。
在一个实施方式中,不像上面结合图2所描述的那样依赖于对话长度提取器来确定来自对话数据存储器328的每个样本对话的长度,可以使用由特征提取器308从存储在对话数据存储器328中的样本对话中提取的特征来执行MACS预测模型322的训练306。例如,机器人状态机器学习建模引擎302可以利用特征提取器308来提取特定对话的对话长度,并确定指示对话长度是否处于对话长度的任一极端(例如,短与长)的二进制特征。与对话长度相对应的二进制特征可以增加由注释者基于对话的手动评估确定的MACS分数(如在机器人状态和MACS注释数据318中提供的)与由MACS预测模型322预测的MACS分数之间的相关性。因此,该二进制特征可以用于改进MACS预测模型322的训练。
类似于上面结合图2描述的MACS预测模型222的训练206,可以使用注释分数提取器326和机器人状态软分数阈值化引擎324来执行MACS预测模型322的训练306。例如,机器人状态机器学习建模引擎302可以使用注释分数提取器326从注释者生成的机器人状态和MACS注释数据318获得每个样本对话的MACS。每个样本对话的MACS以及注释者检测到的机器人状态可以被提供给机器人状态软分数阈值化引擎324,该机器人状态软分数阈值化引擎324可以处理每个样本对话的MACS和在样本对话中检测到的相对应的机器人状态,以识别机器人状态与MACS之间的任何相关性。这些相关性、以及注释者提供的经注释的MACS和检测到的机器人状态,可以用作MACS预测模型322的输入,以训练MACS预测模型322。
图4示出了根据至少一个实施方式的环境400的说明性示例,其中,机器人状态机器学习建模引擎402使用由机器人状态预测模型410生成的预测来执行MACS预测模型422的训练。在环境400中,机器人状态预测模型410的训练404根据与上面结合图2和图3描述的过程类似的过程来执行。例如,可以使用软分数阈值化引擎412来训练机器人状态预测模型410,该软分数阈值化引擎412可以处理来自注释数据414的机器人状态注释数据416,以确定与样本对话中存在机器人状态的可能性相对应的概率。软分数阈值化引擎412可以计算对话中的每个消息存在机器人状态的概率以及特定对话中存在机器人状态的概率。这些概率可以用作机器人状态预测模型410的输入,以训练机器人状态预测模型410。
机器人状态预测模型410的训练404还可以包括使用特征提取器408来计算样本对话的特征。如上所述,特征提取器408可用于从对话数据存储器428中提取特定对话的对话长度,并确定指示对话长度是否处于对话长度的任一极端(例如,短与长)的二进制特征。与对话长度相对应的二进制特征可以提供在样本对话中检测到机器人状态的概率与对话长度之间的相关性。因此,该二进制特征可以用于进一步训练机器人状态预测模型410,以检测机器人状态并更准确地计算与给定对话中存在机器人状态的可能性相对应的置信度分数。
可以评估机器人状态预测模型410的输出,以确定机器人状态预测模型410是否正在产生准确的结果(例如,给定对话的不同机器人状态的置信度分数)。类似于上面描述的训练204和304,用于计算特定对话的每个可能的机器人状态的置信度分数的机器人状态预测模型410可以被评估,以基于来自机器人状态注释数据416的与特定对话的注释者评估相对应的机器人状态概率,来确定机器人状态预测模型410是否正确地识别了可能存在于特定对话中的任何机器人状态。基于该评估,可以修改机器人状态预测模型410以增加机器人状态预测模型410生成期望结果的可能性。
在一个实施方式中,机器人状态预测模型410的输出还用于执行MACS预测模型422的训练406。例如,所得到的由机器人状态预测模型410生成的置信度分数可以用作MACS预测模型422的输入,以生成每个样本对话的MACS。这可以消除利用如上结合图2和图3所述的机器人状态软分数阈值化引擎来与机器人状态预测模型410的训练404并行地计算置信度分数的需要。因此,与机器人状态软分数阈值化引擎使用注释分数提取器426的输出来生成置信度分数不同,注释分数提取器426的输出可以直接提供给MACS预测模型422以用于训练MACS预测模型422。
如上所述,机器人状态机器学习建模引擎402可以使用注释分数提取器426从由注释者生成的机器人状态和MACS注释数据418中获得每个样本对话的MACS。每个样本对话的MACS、连同由注释者检测到的机器人状态,可以被提供给MACS预测模型422,其可以用于评估MACS预测模型422的性能。例如,可以将由MACS预测模型422生成的预测MACS与由注释者确定并从机器人状态和MACS注释数据418中提取的经注释的MACS进行比较,以确定MACS预测模型422是否正在生成准确的结果。基于该评估,可以修改MACS预测模型422以增加MACS预测模型422生成样本对话的期望MACS的可能性。
类似于上面结合图2描述的训练206,训练406也可以依赖于对话长度提取器420来获得要使用MACS预测模型422来确定其MACS的每个样本对话的对话长度。如上所述,MACS预测模型422的训练406还可以包括使用每个样本对话的长度来识别特定样本对话的对话长度与MACS之间的任何相关性。例如,MACS预测模型422可以被训练为使用特定对话的对话长度作为输入,以根据对话的对话长度来确定不同机器人状态对对话的MACS的影响。因此,机器人状态机器学习建模引擎402可以利用对话长度提取器420从对话数据存储器428获得每个样本对话的对话长度,并且除了样本对话的经注释的MACS和机器人状态置信度分数之外,还可以利用该对话长度作为MACS预测模型422的输入来训练MACS预测模型422。
图5示出了根据至少一个实施方式的环境500的说明性示例,其中,机器人状态机器学习建模引擎502使用由机器人状态预测模型510生成的预测和特征来执行MACS预测模型522的训练506。在环境500中,机器人状态预测模型510的训练504根据与上面结合图2-图4描述的过程类似的过程来执行。例如,可以使用软分数阈值化化引擎512来训练机器人状态预测模型510,该软分数阈值化引擎512可以处理来自注释数据514的机器人状态注释数据516,以确定与样本对话中存在机器人状态的可能性相对应的概率。软分数阈值化引擎512可以计算对话中的每个消息存在机器人状态的概率以及特定对话中存在机器人状态的概率。这些概率可以用作机器人状态预测模型510的输入,以训练机器人状态预测模型510。
类似于上面结合图3描述的MACS预测模型322的训练306,可以使用由特征提取器508从存储在对话数据存储器528中的样本对话中提取的特征来执行MACS预测模型522的训练506。例如,机器人状态机器学习建模引擎502可以利用特征提取器508来提取特定对话的对话长度,并确定指示对话长度是否处于对话长度的任一极端(例如,短与长)的二进制特征。与对话长度相对应的二进制特征可以增加由注释者基于对话的手动评估确定的MACS(如在机器人状态和MACS注释数据518中提供的)与由MACS预测模型522预测的MACS之间的相关性。因此,该二进制特征可以用于改进MACS预测模型522的训练。
此外,类似于上面结合图4描述的训练406,机器人状态预测模型510的输出可以用于执行MACS预测模型522的训练506。所得到的由机器人状态预测模型510生成的置信度分数可以用作MACS预测模型522的输入,以生成每个样本对话的MACS。此外,机器人状态机器学习建模引擎502可以使用注释分数提取器526从机器人状态和MACS注释数据518获得每个样本对话的MACS,并将这些MACS提供给MACS预测模型522。这些MACS可以用于评估MACS预测模型522的性能,并且基于该评估来修改MACS预测模型502,以增加MACS预测模型522生成样本对话的期望MACS的可能性。
图6示出了根据至少一个实施方式的环境600的说明性示例,其中,机器人状态机器学习建模引擎602使用机器人状态以及MACS注释和特征来执行联合机器人状态和MACS预测模型630的训练。在环境600中,机器人状态机器学习建模引擎602训练联合机器人状态和MACS预测模型630,该联合机器人状态和MACS预测模型630可用于识别对话内的机器人状态并为参与和客户的对话的对话机器人代理(在对话关闭后或实时地)提供MACS。因此,不是如图2-图5所示针对不同的机器人状态和MACS预测模型执行并行训练过程,而是可以通过如本文所述的单一过程来训练联合机器人状态和MACS预测模型630。
机器人状态和MACS预测模型630的训练可以包含与上面结合图2-图5描述的特征类似的特征。例如,可以使用软分数阈值化引擎612来训练机器人状态和MACS预测模型630,软分数阈值化引擎612可以处理来自注释数据614的机器人状态和MAC注释数据618,以确定与样本对话中存在机器人状态的可能性相对应的概率。软分数阈值化引擎612可以计算对话中每个消息存在机器人状态的概率以及特定对话中存在机器人状态的概率。这些概率可以用作机器人状态和MACS预测模型630的输入,以训练机器人状态和MACS预测模型630来以预测在与客户的对话期间对话机器人代理的机器人状态。
除了处理来自注释数据614的机器人状态和MACS注释数据618以生成用于训练机器人状态和MACS预测模型630的输入之外,机器人状态机器学习建模引擎602可以利用特征提取器608根据存储在对话数据存储器628中的会话数据计算一组特征,该组特征可以用于进一步训练机器人状态和MACS预测模型630。如上所述,特征提取器608可用于从对话数据存储器628中提取特定对话的属性,并确定可提供在样本对话中检测到机器人状态的概率与对话的属性之间的相关性的特征。因此,这些特征可以用于进一步训练机器人状态和MACS预测模型630来检测机器人状态并更准确地计算与给定对话中存在机器人状态的可能性相对应的置信度分数。
此外,这些特征可用于训练机器人状态和MACS预测模型630来预测特定对话的对话机器人代理的MACS。例如,机器人状态和MACS预测模型630可以利用由特征提取器508计算的特征、以及由机器人状态和MACS预测模型630生成的机器人状态置信度分数来预测对话的MACS。这些特征可以增加由注释者基于对话的手动评估确定的MACS(如在机器人状态和MACS注释数据618中提供的)与由机器人状态和MACS预测模型630预测的MACS之间的相关性。因此,这些特征可以用于改进机器人状态和MACS预测模型630的训练。
图7示出了根据至少一个实施方式的环境700的说明性示例,其中,MACS预测模型710基于一个或多个机器人代理714的对话数据和所识别的机器人状态来提供一个或多个机器人代理714的MACS。在环境700中,对话机器人代理714与客户和客户服务呼叫中心的其他用户之间的对话可以被记录在对话数据存储器712中。存储在对话数据存储器712内的对话可以包括通过在特定对话机器人代理714与客户或其他实体的计算设备之间建立的通信会话,在该特定对话机器人代理714与该客户或其他实体之间传送的任何消息。例如,客户或其他用户可以使用计算设备来就问题的解决发起与对话机器人代理714的对话。对话机器人代理714可以自动识别客户或其他用户意图、以及可以用于解决意图的关键用户信息(例如,订单号、账号等)。如上所述,对话机器人代理714可以被配置为自主地与客户和其他用户通信、以及用于特定能力。
在一个实施方式中,对话机器人代理714与客户或其他用户之间通过通信会话进行的特定对话的对话数据被用作机器人状态机器学习建模引擎702的特征提取器704的输入。例如,来自对话数据存储器712的对话数据可以被自动地流式传输到特征提取器704,以计算与对话机器人代理714与客户或其他用户之间的对话相对应的一组特征。如上所述,机器人状态机器学习建模引擎702可以利用特征提取器704来计算特定对话的对话长度,并确定指示对话长度是否处于对话长度的任一极端(例如,短与长)的二进制特征。与对话长度相对应的二进制特征可以增加由注释者基于对话的手动评估确定的对话的MACS与在MACS预测模型710的训练期间由MACS预测模型710预测的MACS之间的相关性。在一些实现方式中,特征提取器704还可以用于提取机器人状态预测模型706可以使用的特征,以更准确地计算可以在对话中检测到的不同的可能机器人状态的置信度分数。
在一个实施方式中,由特征提取器704计算的特征以及与特定计算相对应的对话数据可以用作机器人状态预测模型706的输入,以生成对话中可能存在的不同机器人状态的置信度分数。置信度分数可以对应于对话中存在特定机器人状态的概率。在一些情况下,机器人状态预测模型706将阈值应用于置信度分数,使得如果特定机器人状态的置信度分数高于阈值,则该特定机器人状态被标示为存在于对话中。替选地,如果特定机器人状态的置信度分数不大于阈值,则该特定机器人状态被标示为不在对话中。因此,机器人状态预测模型706可以向MACS预测模型710提供与对话中机器人状态的可能存在相对应的置信度分数,或者提供与这些机器人状态的存在相对应的二进制指示。
在一个实施方式中,机器人状态机器学习建模引擎702可以向机器人构建者718提供与对话中机器人状态的可能存在相对应的置信度分数或与这些机器人状态的存在相对应的二进制指示,而不通过MACS预测模型710处理这些分数或二进制指示。例如,机器人状态机器学习建模引擎702可以通过由客户服务呼叫中心提供并且可通过机器人构建者718所使用的计算设备716访问的接口或门户,提供与由机器人构建者718实现的对话机器人代理714所参与的对话内的不同机器人状态的存在相对应的置信度分数或二进制指示。基于置信度分数或二进制指示,机器人构建者718可以更新对话机器人代理714的配置,以潜在地改进对话机器人代理人714的表现(例如,降低特定机器人状态存在的可能性等)。例如,如果特定类别的对话机器人代理714存在特定机器人状态(例如,具有高于阈值的置信度分数,被指示为通过二进制指示来呈现等),并且该特定机器人状态是不希望的(例如,机器人要求旧信息,机器人误解客户,机器人无法帮助客户,机器人无法将对话转移到现场代理,等等),则机器人构建者718可以生成对对话机器人代理714的更新,以降低这些对话机器人代理出现这些机器人状态的可能性。
在一个实施方式中,除了针对特定对话向机器人构建者718提供置信度分数或二进制机器人状态指示之外,MACS预测模型710还可以处理机器人状态预测模型706的输出(例如,置信度分数或二进制机器人状态指示)、以及与对话长度相对应的度量,以生成对话的MACS。在一些情况下,如果MACS预测模型710被配置为另外利用特征来计算对话的MACS,则MACS预测模型710还可以从特征提取器704或从机器人状态预测模型706获得这些特征。这些特征可以对应于对话的不同特性,例如对话长度、对话机器人代理714的先前消息重复的实例、在对话关闭后客户与品牌重新接触的次数、客户问题升级的次数、将对话转移到人工代理的客户请求的数量、等等。
MACS预测模型710的输出可以包括特定对话的整体MACS、以及对话中每个消息的MACS。如上所述,MACS可以对应于对话的质量以及对话机器人代理714关于特定对话的表现。例如,“1”的MACS可以对应于糟糕的对话,其中对话机器人代理714在解决客户的特定问题方面没有帮助。替选地,“5”的MACS可以指示对话机器人代理714是有帮助的(例如,提供与客户意图有关的相关动作或信息),并且对话是平静的,从而产生积极的客户体验。应该注意的是,可能的MACS值的范围可以由客户服务呼叫中心确定,以指示对话机器人代理714关于与客户的特定对话的可能的表现度量。因此,除了上述“1-5”的范围之外,或作为上述“1-5”的范围的替选,可以使用其他MACS范围。
在一个实施方式中,特定对话和相对应的消息的MACS、以及任何识别的机器人状态和相对应的置信度分数/二进制指示,可以被提供给机器人构建者718,以提供对话机器人代理714的表现的指示。例如,机器人状态机器学习建模引擎702可以通过由客户服务呼叫中心提供并且可通过机器人构建者718所使用的计算设备716访问的接口或门户,提供由机器人构建者718实现的对话机器人代理714所参与的不同对话的MACS和机器人状态(以及相对应的置信度分数和/或二进制指示)。基于所得到的MACS、所识别的机器人状态、以及这些所识别的机器人状态的对应置信度分数和/或二进制指示,机器人构建者718可以更新对话机器人代理714的配置,以潜在地改进对话机器人代理714的表现(例如,MACS、降低不利的机器人状态的可能性等)。例如,如果由于遇到一组特定的机器人状态,特定类别的对话机器人代理714的MACS始终低于阈值(例如,对话机器人代理716表现不佳),则机器人构建者718可以生成对对话机器人代理714的更新,以降低这些机器人状态出现的可能性并改进这些对话机器人代理714的MACS。
在一个实施方式中,当机器人状态预测模型706和MACS预测模型710处理来自特定对话的新消息时,可以实时地动态更新该特定对话的MACS、以及不同机器人状态的置信度分数和/或二进制指示。例如,机器人状态机器学习建模引擎702可以处理进行中的对话,而不是处理来自对话数据存储器712的对应于已完成或已终止的对话的对话数据。作为说明性示例,机器人状态机器学习建模引擎702可以监控来自对话数据存储器712的正在进行的对话,以检测添加到正在进行的对话中的任何新消息。如果机器人状态机器学习建模引擎702检测到正在进行的对话中的一个或多个新消息,则机器人状态机器学习建模引擎702可以使用机器人状态预测模型706和MACS预测模型710来处理正在进行的对话,包括处理该一个或多个新消息,以识别正在进行的对话的任何新的机器人状态(如果有的话)和新的MACS。可以实时地将新的机器人状态和更新的MACS分数提供给机器人构建者718,以允许机器人构建者718对对话机器人代理714进行动态修改或实施更新,从而使得能够在对话期间增强对话机器人代理的功能。
在一个实施方式中,来自机器人构建者718的关于所提供的对话机器人代理714与客户或其他用户的对话的机器人状态和MACS的反馈,可以用于进一步训练机器人状态预测模型706和MACS预测模型710。例如,机器人构建者718可以评估特定对话以及该对话的所指示的机器人状态和MACS,以确定所指示的机器人状态和MACS是否准确。例如,如果机器人构建者718确定对话中的机器人状态被错误地识别,则机器人构建者718可以向机器人状态机器学习建模引擎702提供机器人状态由该对话的机器人状态预测模型706错误地识别的指示。作为响应,机器人状态机器学习建模引擎702可以使用该反馈来进一步训练机器人状态预测模型706和MACS预测模型710,以便分别提高这些模型在识别机器人状态和计算不同对话的MACS方面的准确性。
图8示出了根据至少一个实施方式的环境800的说明性示例,其中,机器人状态机器学习建模引擎802对活动的通信会话804的消息806-1–806-N执行实时分析以动态地确定对话机器人代理814的机器人状态和MACS。在环境800中,客户808可以通过计算设备810参与与客户服务呼叫中心的对话机器人代理814的通信会话。通过通信会话804,客户808和对话机器人代理814可以随着时间的推移交换各种消息806-1–806-N。
在一个实施方式中,实现对话机器人代理814和其他对话机器人代理以自主与客户通信的客户服务呼叫中心在总线或高速缓存中添加通信会话804的任何新接收的消息。客户服务呼叫中心可以实施一个或多个服务,这些服务被配置为监控总线或高速缓存中对应于通信会话804的任何新消息,并获得这些新消息以用于处理。如图8所示,如上所述,消息806-1和806-2是新接收的,并且由这一个或多个服务检索以用于特征提取。这些消息806-1和806-2以及提取的特征被提供给机器人状态机器学习建模引擎802进行处理。如上所述,机器人状态机器学习建模引擎802可以被配置为通过使用不同的模型或者通过使用如图6所示的联合机器人状态和MACS预测模型来联合预测给定对话的机器人状态和MACS。
在一个实施方式中,除了使用新接收的消息806-1和806-2以及从这些消息806-1和806-2中提取的特征之外,机器人状态机器学习建模引擎802还从对话数据存储器812中获得与通信会话804相对应的对话数据。该对话数据可以包括关于通信会话804的上下文,机器人状态机器学习建模引擎802可以使用该上下文来在新接收的消息806-1和806-2的适当上下文中评估新接收的消息806-1和806-2。例如,机器人状态机器学习建模引擎802可以从对话数据存储器812中检索在通信会话804的持续时间内客户808和对话机器人代理814之间的任何先前交换的消息。替选地,机器人状态机器学习建模引擎802可以获得通信会话804的元数据,该元数据可以指定可以用于确定通信会话804的上下文的通信会话804的属性。例如,该元数据可以指定通信会话804的标题或标签(例如,“客户计费问题”、“客户寻求退款”等)、以及与对话机器人代理814的当前表现相对应的任何数据。该附加数据可以包括基于先前交换的消息的、通信会话804的任何先前确定的机器人状态和/或MACS。
机器人状态机器学习建模引擎802可以使用机器人状态和MACS预测模型来处理新接收的消息806-1和806-2、以及从这些消息中提取的特征和来自对话数据存储器812的通信会话804的上下文。如上所述,机器人状态和MACS预测模型被训练为从对话中检测一个或多个机器人状态,并且基于检测到的一个或多个机器人状态来计算对话的MACS。可以使用特征提取器从样本对话中提取的特征来训练机器人状态和MACS预测模型。例如,机器人状态机器学习建模引擎802可以利用特征提取器来提取特定对话的特征。这些特征可以增加由注释者基于对话的手动评估确定的MACS(如注释者提供的机器人状态和MACS注释数据中提供的)与由机器人状态和MACS预测模型预测的MACS之间的相关性。此外,可以使用软分数阈值化引擎来训练机器人状态和MACS预测模型,该软分数阈值化引擎可以处理样本对话的机器人状态和MACS注释数据,以确定与样本对话中存在机器人状态的可能性相对应的概率。软分数阈值化引擎可以计算对话中每个消息存在机器人状态的概率以及特定对话中存在机器人状态的概率。这些概率可以用作模型的输入,以训练机器人状态和MACS预测模型。
在一个实施方式中,机器人状态机器学习建模引擎802在机器人状态和MACS数据存储器816中存储经处理的消息806-1和806-2、以及通信会话804的任何先前处理的消息和确定的通信会话804的机器人状态以及MACS。该数据存储器816可以被实施为消息总线,由此消息总线的订户(例如,机器人构建者等)可以实时地评估对话机器人代理814的表现。例如,当处理新接收的消息806-1和806-2以识别任何新的机器人状态并更新通信会话804的MACS时,机器人状态和MACS数据存储器816的订户可以实时地被呈现通信会话804的更新的机器人状态和MACS。该数据还可以存储在对话数据存储器812中,以在处理新消息(例如,在消息806-1和806-2之后接收的消息806-3–806-N等)时为通信会话804提供附加的上下文。因此,当在通信会话804期间交换新消息时,机器人状态机器学习建模引擎802可以动态地更新通信会话804的MACS并且实时地识别任何新的机器人状态。例如,当接收到新消息(例如,消息806-3–806-N等)时,机器人状态机器学习建模引擎802可以动态且实时地处理这些新消息。机器人状态机器学习建模引擎802可以从对话数据存储器812中检索先前计算的通信会话804的MACS和先前识别的机器人状态。在一些情况下,先前计算的通信会话804的MACS和先前识别的机器人状态可以被保留在存储器中,使得当通过通信会话804交换新消息时,机器人状态机器学习建模引擎802可以实时地获得这些新消息,并处理这些新消息以执行机器人状态和通信会话804的MACS的初步识别。机器人状态机器学习建模引擎802可以使用机器人状态和MACS的这种初步识别以及先前获得的机器人状态和MACS来动态更新通信会话804的MACS并识别任何新的机器人状态。
图9示出了根据至少一个实施方式的用于使用对话数据和与先前分析的机器人对话相对应的机器人状态的计算概率来训练机器人状态预测模型的过程900的说明性示例。过程900可以由上述机器人状态机器学习建模引擎来执行。例如,机器人状态机器学习建模引擎可以利用特征提取器以及软分数阈值化引擎来处理样本对话和对这些样本对话进行的注释,以训练机器人状态预测模型。
在步骤902,机器人状态机器学习建模引擎可以识别由对话机器人代理进行的用于训练机器人状态预测模型的先前分析的对话(例如,对话机器人代理通过通信会话与客户或其他实体的对话)。例如,机器人状态机器学习建模引擎可以识别已经由一组注释者注释的用于训练机器人状态预测模型和MACS预测模型的一组样本对话。如上所述,可以将特定对话提供给一组注释者,以识别在特定对话期间出现的任何机器人状态。这些机器人状态可以包括机器人未能理解客户的消息(例如,意图、问题等)、机器人忽视客户、机器人陷入消息循环、检测到客户对机器人的不满、机器人向人工代理的错误转移、机器人执行信息收集以解决意图、机器人成功地向客户提供帮助、机器人将对话转移到现场代理或更能够处理意图的其他机器人、机器人检查对客户响应的理解、等等。在一个实施方式中,每个注释者可以评估特定对话的每个消息,并指示是否检测到针对该消息的机器人状态。例如,注释者可以对特定对话的每个消息进行注释,以指示该消息是否指示特定机器人状态。
除了识别用于训练机器人状态预测模型的任何先前分析的对话之外,在步骤904,机器人状态机器学习建模引擎还可以计算这些先前分析的对话的一组特征。例如,机器人状态机器学习建模引擎可以利用特征提取器来提取先前分析的对话的对话长度,并确定指示对话长度是否处于对话长度的任一极端(例如,短与长)的二进制特征。与对话长度相对应的二进制特征可以提供在样本对话中检测到机器人状态的概率与对话长度之间的相关性。因此,该二进制特征可以用于进一步训练机器人状态预测模型,以检测机器人状态,并更准确地计算与给定对话中存在机器人状态的可能性相对应的置信度分数。
在步骤906,机器人状态机器学习建模引擎可以获得对话机器人代理进行的先前分析的对话的机器人状态注释。如上所述,用于训练机器人状态预测模型的每个样本对话都可以由一组注释者进行注释,以指示样本对话中特定机器人状态的存在(或不存在)。例如,注释者可以评估对话的每个消息,并指示注释者是否检测到了机器人状态,以及指定检测到了哪个机器人状态。因此,根据将用于训练机器人状态预测模型的先前分析的对话,机器人状态机器学习建模引擎可以识别由该组注释者为特定对话提供的注释,并且基于这些注释,识别由每个注释者检测到的机器人状态。
在步骤908,基于一组注释者为先前分析的对话提供的注释,机器人状态机器学习建模引擎可以计算与先前分析的对话中不同机器人状态的存在相对应的概率。例如,机器人状态机器学习建模引擎可以实施聚合策略,以确定对话中的某个消息具有特定机器人状态的概率。例如,机器人状态机器学习建模引擎可以计算对话中每个消息存在机器人状态的概率。作为说明性示例,如果特定消息已经由三个注释者评估,并且这些注释者中的一个已经确定该特定消息存在特定机器人状态,则机器人状态机器学习建模引擎可以确定消息中存在机器人状态的概率是指示机器人状态的注释的数量除以注释的总数,或者,在这种情况下为1/3。机器人状态机器学习建模引擎可以从1中减去该概率,以获得该转换的特定消息不包括该机器人状态的概率。机器人状态机器学习建模引擎可以将特定对话中每个消息获得的概率相乘,以获得特定机器人状态不在特定对话中的概率。机器人状态机器学习建模引擎可以从1中减去该概率,以获得机器人状态存在于特定对话中的概率。所得到的经注释的对话和相对应的机器人状态概率可以用作用于训练分类模型的“基准真值”或样本数据集,该分类模型可用于实时从对话中动态检测机器人状态。
在步骤910,机器人状态机器学习建模引擎可以使用上述概率和与先前分析的对话相对应的对话数据(例如,消息、对话长度、特征等)来训练机器人状态预测模型。例如,机器人状态机器学习建模引擎可以使用上述概率和与先前分析的对话相对应的对话数据作为机器人状态预测模型的输入。机器人状态预测模型可以生成与样本对话中存在不同机器人状态的可能性相对应的置信度分数作为输出。
机器人状态预测模型生成的输出(例如,置信度分数)可以由注释者或其他实体进行评估,以确定机器人状态预测模型是否生成准确或正确的结果。在一些情况下,可以将机器人状态预测模型生成的置信度分数与特定对话中存在的相对应的机器人状态的概率进行比较,以确定机器人状态预测模型是否产生准确的结果。例如,用于计算特定对话的每个可能的机器人状态的置信度分数的机器人状态预测模型可以被评估,以基于与来自对话数据的特定对话的注释者评估相对应的机器人状态概率,来确定机器人状态预测模型是否正确地识别可能存在于特定对话中的任何机器人状态。基于该评估,可以修改机器人状态预测模型以增加机器人状态预测模型生成期望结果的可能性。
一旦机器人状态预测模型已经被训练和评估,机器人状态机器学习建模引擎就可以使用任何新获得的对话以及来自机器人构建者和其他实体的基于他们对这些对话的评估的反馈来重复过程900。这允许对机器人状态预测模型进行连续训练,以确保机器人状态预测模型实时地为每个对话产生准确的结果。
图10示出了根据至少一个实施方式的用于基于经注释的对话数据和识别的机器人状态来训练MACS预测模型的过程1000的说明性示例。过程1000可以由机器人状态机器学习建模引擎执行,机器人状态机器学习建模引擎可以使用机器人状态和MACS注释数据(例如,由每个注释者生成的指示在样本对话内检测到的机器人状态以及样本对话的对应MACS的数据)、以及样本对话的属性(例如对话长度等)来训练MACS预测模型。如本文中更详细地描述的,机器人状态机器学习建模引擎还可以利用根据样本对话计算的一组特征和由机器人状态预测模型生成的机器人状态置信度分数来训练MACS预测模型。
在步骤1002,机器人状态机器学习建模引擎可以识别由对话机器人代理进行的用于训练机器人状态预测模型的先前分析的对话(例如,对话机器人代理通过通信会话与客户或其他实体的对话)。例如,机器人状态机器学习建模引擎可以识别已经由一组注释者注释的用于训练机器人状态预测模型和MACS预测模型的一组样本对话。如上所述,可以向一组注释者提供特定对话,以识别在该特定对话期间出现的任何机器人状态、以及该特定对话的MACS。此外,当检测机器人状态时,注释者可以递减特定对话的MACS,直到确定特定对话的最终MACS为止。因此,可以用渐进式MACS和完整对话的最终MACS来注释特定样本对话,该渐进式MACS随着在特定对话的流内检测到机器人状态而被更新。
在步骤1004,机器人状态机器学习建模引擎可以确定是否为用于训练MACS预测模型的先前分析的对话计算一组特征。如上所述,机器人状态机器学习建模引擎可以利用特征提取器来提取特定对话的对话长度,并确定指示对话长度是否处于对话长度的任一极端(例如,短与长)的二进制特征。与对话长度相对应的二进制特征可以增加由注释者基于对对话的手动评估确定的MACS分数与由MACS预测模型预测的MACS分数之间的相关性。因此,该二进制特征可以用于进一步改进MACS预测模型的训练。然而,在一些情况下,MACS预测模型可以在没有特征的情况下进行训练,由此可以提取特定对话的特性并将其直接用于训练MACS预测模型。
如果机器人状态机器学习建模引擎被配置为计算在MACS预测的训练中使用的特征,则在步骤1006,机器人状态机器学习建模引擎可以利用特征提取器来计算一个或多个样本对话的特征。替选地,如果机器人状态机器学习建模引擎被配置为在不计算样本对话的特征的情况下训练MACS预测引擎,则在步骤1008,机器人状态机器学习建模引擎可以使用对话长度提取器提取样本对话的对话长度。除了样本对话的经注释的MACS和检测到的机器人状态之外,机器人状态机器学习建模引擎还可以使用这些对话长度作为MACS预测模型的输入,来训练MACS预测模型,如本文所述。
在步骤1010,机器人状态机器学习建模引擎可以从一个或多个先前分析的对话的经注释的对话数据中提取注释分数(例如,MACS)。如上所述,机器人状态机器学习建模引擎可以从由一个或多个注释者为一组样本对话生成的注释数据中获得机器人状态和MACS注释数据(例如,由每个注释者生成的指示在样本对话内检测到的机器人状态以及该样本对话的对应MACS的数据)。机器人状态机器学习建模引擎可以利用注释分数提取器来从注释者生成的机器人状态和MACS注释数据获得每个样本对话的MACS。
在步骤1012,机器人状态机器学习建模引擎可以确定是否使用机器人状态预测模型生成的机器人状态置信度分数作为MACS预测模型的输入,以用于训练MACS预测模型。如上所述,MACS预测模型和机器人状态预测模型的训练可以并行执行,由此,MACS预测模型不依赖于机器人状态预测模型的输出来进行训练。然而,在一些情况下,不是与机器人状态预测模型的训练并行地执行MACS预测模型的训练,而是可以使用置信度分数(或者基于置信度分数检测到的机器人状态)作为输入来训练MACS预测模型。
如果机器人状态机器学习建模引擎被配置为与训练机器人状态预测模型并行执行MACS预测模型的训练,则在步骤1014,机器人状态机器学习建模引擎可以对先前分析的对话中的经注释的机器人状态执行软分数阈值化。例如,每个样本对话的MACS以及注释者检测到的机器人状态可以被提供给机器人状态软分数阈值化引擎,该软分数阈值化引擎可以处理每个样本对话的MACS和在样本对话中检测到的相对应的机器人状态,以识别机器人状态和MACS之间的任何相关性。这些相关性、以及注释者提供的经注释的MACS和检测到的机器人状态,可以用作MACS预测模型的输入,以用于训练MACS预测模型。
如果机器人状态机器学习建模引擎被配置为利用来自机器人状态预测模型的置信度分数来训练MACS预测模型,则在步骤1016,机器人状态机器学习建模引擎可以获得来自机器人状态预测模型的用于先前分析的对话的置信度分数。在一个实施方式中,机器人状态机器学习建模引擎可以使用利用特定对话的机器人状态预测模型获得的每个机器人状态的置信度分数作为MACS预测模型的输入,来获得特定对话的MACS。替选地,机器人状态机器学习建模引擎可以确定每个机器人状态的置信度分数是否满足阈值。如果特定机器人状态的置信度分数高于阈值,则机器人状态机器学习建模引擎可以确定相应的机器人状态存在于对话中。对话中符合阈值的机器人状态的存在,可以用作MACS预测模型的输入,以计算对话的MACS。
在步骤1018,机器人状态机器学习建模引擎可以使用作为输入并用于评估MACS预测模型的性能的上述数据(例如,对话长度、特征、经注释的MACS、经注释的机器人状态、置信度分数、使用软分数阈值化生成的相关性等)来训练MACS预测模型。如上所述,MACS预测模型的输出可以包括用于每个样本对话的MACS。可以评估所得到的MACS,以基于与样本对话的注释者评估相对应的机器人状态概率和从注释数据获得的样本对话的MACS注释来确定MACS预测模型是否正确地计算了特定对话的MACS。基于该评估,可以修改MACS预测模型以增加MACS预测模型生成期望结果的可能性。
类似于上面结合图9描述的机器人状态预测模型的连续训练,可以连续执行MACS的训练以提高MACS预测模型的准确性。例如,机器人状态机器学习建模引擎可以使用任何新获得的对话以及来自机器人构建者和其他实体的基于他们对这些对话的评估的反馈来重复过程1000。这允许对MACS预测模型进行连续训练,以确保MACS预测模型实时地为每个对话产生准确的结果。
图11示出了根据至少一个实施方式的用于生成和提供机器人代理与客户之间的对话的MACS和任何机器人状态的过程1100的说明性示例。过程1100可以由客户服务呼叫中心或实施机器人状态预测模型和MACS预测模型的其他实体执行,所述机器人状态预测模型和MACS预测模型分别用于针对对话机器人代理与客户之间的对话检测机器人状态和计算MACS。在步骤1102,客户服务呼叫中心或其他实体可以获得客户与对话机器人代理之间的特定对话的对话数据。例如,可以记录对话机器人代理与客户以及客户服务呼叫中心的其他用户之间的对话。记录的对话可以包括在特定对话机器人代理与客户或其他实体之间通过在该对话机器人代理与该客户或其他实体的计算设备之间建立的通信会话传送的任何消息。
在步骤1104,客户服务呼叫中心或其他实体可以根据对话数据计算对话的一组特征。例如,对话机器人代理与客户或其他用户之间在通信会话上的特定对话的对话数据可以用作特征提取器的输入。如上所述,特征提取器可用于计算特定对话的对话长度,并确定指示对话长度是否处于对话长度的任一极端(例如,短与长)的二进制特征。与对话长度相对应的二进制特征可以增加由注释者基于对话的手动评估确定的对话的MACS与在MACS预测模型的训练期间由MACS预测模型预测的MACS之间的相关性。在一些实现方式中,特征提取器还可以用于提取机器人状态预测模型可以使用的特征,以更准确地计算可能在对话中检测到的不同的可能机器人状态的置信度分数。
在步骤1106,客户服务呼叫中心或其他实体可以使用机器人状态预测模型来处理该组特征和与特定对话相对应的对话数据。如上所述,由特征提取器计算的特征以及与特定计算相对应的对话数据可以用作机器人状态预测模型的输入,以生成可能存在于对话中的不同机器人状态的置信度分数。在一些情况下,机器人状态预测模型可以将阈值应用于置信度分数,使得如果特定机器人状态的置信度分数高于阈值,则该特定机器人状态被指示为存在于对话中。替选地,如果特定机器人状态的置信度分数不大于阈值,则该特定机器人状态被指示为不在对话中。因此,机器人状态预测模型可以向MACS预测模型提供与对话中机器人状态的可能存在相对应的置信度分数、或者与这些机器人状态的存在相对应的二进制指示。
在步骤1108,客户服务呼叫中心或其他实体可以从对话数据中提取对话长度。客户服务呼叫中心或其他实体可以使用对话长度提取器来确定正在为其确定MACS的对话的长度。对话的长度可以被确定为在对话机器人代理与客户或其他用户之间的通信会话期间该对话机器人代理与该客户或其他用户之间交换的消息的数量。替选地,对话长度可以被定义为在与客户或其他用户的通信会话期间由对话机器人代理发送的消息的数量。
在步骤1110,客户服务呼叫中心或其他实体可以确定是否使用该组特征作为MACS预测模型的输入以获得对话的MACS。如上所述,MACS预测模型可以被配置为处理机器人状态预测模型的输出(例如,置信度分数或二进制机器人状态指示)以及与对话长度相对应的度量,以生成对话的MACS。在一些情况下,如果MACS预测模型被配置为附加利用特征来计算对话的MACS,则在步骤1114,客户服务呼叫中心或其他实体可以使用MACS预测模型来处理这些特征以及机器人状态预测模型的输出、对话长度和对话数据本身。替选地,如果MACS预测模型被配置为利用机器人状态预测模型的输出和对话长度作为输入,则在步骤1112,客户服务呼叫中心或其他实体可以使用MACS预测模型来处理它们。
在步骤1116,客户服务呼叫中心或其他实体提供对话的所得到的MACS和检测到的机器人状态。例如,客户服务呼叫中心或其他实体可以通过由客户服务呼叫中心提供并且可通过机器人构建者所使用的计算设备访问的接口或门户,来提供由机器人构建者实现的对话机器人代理所参与的对话的MACS和机器人状态。基于所得到的MACS和所识别的机器人状态,机器人构建者可以更新对话机器人代理的配置,以潜在地改进对话机器人代理的表现(例如,MACS等)。例如,如果由于遇到一组特定的机器人状态,特定类别的对话机器人代理的MACS始终低于阈值(例如,对话机器人代理表现不佳),则机器人构建者可以生成对对话机器人代理的更新,以降低这些机器人状态出现的可能性并提高这些对话机器人代理的MACS。
图12示出了根据一些实现方式的计算系统架构1200,其包括使用诸如总线的连接1206彼此电通信的各种部件。示例系统架构1200包括处理单元(CPU或处理器)1204和系统连接1206,系统连接1206将包括系统存储器1220(例如ROM 1218和RAM 1216)的各种系统部件联接到处理器1204。系统架构1200可以包括高速存储的高速缓存1202,该高速缓存1202直接与处理器1204连接、极为接近于处理器1204、或者集成为处理器1204的一部分。系统架构1200可以将数据从存储器1220和/或存储设备1208复制到高速缓存1202以便由处理器1204快速访问。以这种方式,高速缓存可以提供性能提升,避免处理器1204在等待数据时延迟。这些和其他模块可以控制或被配置为控制处理器1204执行各种动作。
也可以使用其他系统存储器1220。存储器1220可以包括具有不同性能特性的多种不同类型的存储器。处理器1204可以包括:任何通用处理器和硬件或软件服务,例如存储在存储设备1208中的服务1 1210、服务2 1212和服务3 1214,这些服务被配置为控制处理器1204以及软件指令被并入实际的处理器设计中的专用处理器。处理器1204可以是包含多个核或处理器、总线、存储器控制器、高速缓存等的完全独立的计算系统。多核处理器可以是对称的或不对称的。
为了使用户能够与计算系统架构1200进行交互,输入设备1222可以表示任何数量的输入机构,诸如用于讲话的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、运动输入、讲话等等。输出设备1224也可以是本领域技术人员已知的多种输出机构中的一种或多种输出机构。在一些情况下,多模式系统可以使用户能够提供多种类型的输入以与计算系统架构1200通信。通信接口1226可以总体上管理和控制用户输入和系统输出。对在任何特定硬件布置上的操作没有限制,因此随着硬件或固件布置的发展,这里的基本特征可以很容易替代为改进的硬件或固件布置。
存储设备1208是非易失性存储器并且可以是硬盘或者可以存储可由计算机访问的数据的其他类型的计算机可读介质,诸如磁带盒、闪存卡、固态存储器设备、数字通用光盘、盒式磁带、RAM 1216、ROM 1218及其混合。
存储设备1208可以包括用于控制处理器1204的服务1210、1212、1214。可以设想其他硬件或软件模块。存储设备1208可以连接到系统连接1206。在一个方面,执行特定功能的硬件模块可以包括存储在与所需的硬件部件连接的计算机可读介质中的软件组件,以执行所述功能,所述硬件部件诸如处理器1204、连接1206、输出设备1224等等。
可以使用计算系统执行所公开的方法。示例计算系统可以包括处理器(例如,中央处理单元)、存储器、非易失性存储器、和接口设备。存储器可以存储数据和/或一个或多个代码集、软件、脚本等。计算机系统的组件可以经由总线或通过某一其他已知或方便的设备联接在一起。处理器可以被配置为例如通过执行例如存储在存储器中的代码来执行本文所描述的方法的全部或部分。用户设备或计算机、提供商服务器或系统、或者暂停数据库更新系统中的一者或多者可以包括计算系统的组件或这种系统的变型系统的组件。
本发明预想到采用任何合适的物理形式的计算机系统,包括但不限于销售点系统(“POS”)。作为示例而非限制,计算机系统可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(诸如,例如模块计算机(COM)或模块系统(SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式自助服务终端(kiosk)、大型机、计算机系统网格、移动电话、个人数字助理(PDA)、服务器、或以上两者或更多者的组合。适当时,计算机系统可以:包括一个或多个计算机系统;为统一的或分布式的;跨多个位置;跨多个机器;和/或驻留在云中,该云可以包括一个或多个网络中的一个或多个云组件。适当时,一个或多个计算机系统可以基本上没有空间或时间限制而执行本文所描述或所示出的一种或多种方法的一个或多个步骤。作为示例而非限制,一个或多个计算机系统可以实时或以批量模式执行本文所描述或所示出的一种或多种方法的一个或多个步骤。适当时,一个或多个计算机系统可以在不同时间或在不同位置执行本文所描述或所示出的一种或多种方法的一个或多个步骤。
处理器可以例如为传统微处理器,诸如英特尔奔腾微处理器或摩托罗拉功率PC微处理器。相关领域技术人员能够认识到术语“机器可读(存储)介质”或“计算机可读(存储)介质”包括可由处理器访问的任何类型的设备。
存储器可以通过例如总线联接到处理器。通过示例而非限制,存储器可以包括随机存取存储器(RAM),诸如动态RAM(DRAM)和静态RAM(SRAM)。存储器可以是本地的、远程的、或分布式的。
总线还可以将处理器联接到非易失性存储器和驱动单元。非易失性存储器通常是磁性软盘或硬盘、磁光盘、光盘、只读存储器(ROM)(诸如CD-ROM、EPROM、或EEPROM)、磁卡或光卡、或另一种形式的用于大量数据的存储装置。该数据中的某些数据通常在计算机中的软件执行期间通过直接存储器访问过程来写入存储器中。非易失性存储装置可以是本地的、远程的、或分布式的。非易失性存储器是可选的,因为可以使用存储器中可用的所有适用数据创建系统。典型的计算机系统通常会至少包括处理器、存储器、以及将存储器联接到处理器的设备(例如,总线)。
软件可以存储在非易失性存储器和/或驱动单元中。实际上,对于大的程序,甚至可能不能将整个程序存储在存储器中。然而,应当理解,对于要运行的软件,如果需要,其可以移动到适于处理的计算机可读位置,并且为了说明目的,该位置在本文中称为存储器。即使当软件被移动到存储器以用于执行,处理器也可以使用硬件寄存器来存储与软件相关联的值以及使用理想地用于加速执行的本地缓存。如本文所使用的,当软件程序被称为“在计算机可读介质中实施的”时,软件程序被假设为存储在任何已知或方便位置(从非易失性存储装置至硬件寄存器)。当与程序相关联的至少一个值存储在可由处理器读取的寄存器中时,该处理器被认为是“被配置为执行程序”。
总线还可以将处理器联接到网络接口设备。接口可以包括调制解调器或网络接口中的一者或多者。能够理解,调制解调器或网络接口可以被视为计算机系统的一部分。接口可以包括模拟调制解调器、综合业务数字网(ISDN)调制解调器、线缆调制解调器、令牌环接口、卫星传输接口(例如,“直接PC”)、或其他用于将一计算机系统联接到其他计算机系统的接口。接口可以包括一个或多个输入和/或输出(I/O)设备。通过示例而非限制,I/O设备可以包括键盘、鼠标或其他定点设备、磁盘驱动器、打印机、扫描仪、以及其他输入和/或输出设备(包括显示设备)。通过示例而非限制,显示设备可以包括阴极射线管(CRT)、液晶显示器(LCD)、或某一其他适用的已知或方便的显示设备。
在操作中,计算机系统可由包括文件管理系统(诸如磁盘操作系统)的操作系统软件控制。具有相关联的文件管理系统软件的操作系统软件的一个示例是来自华盛顿州雷德蒙德的Microsoft Corporation(微软公司)的被称为的操作系统系列及其相关联的文件管理系统。具有其相关联的文件管理系统软件的操作系统软件的另一个示例是LinuxTM操作系统及其相关联的文件管理系统。文件管理系统可以存储在非易失性存储器和/或驱动单元中,并且可以使处理器执行由操作系统所需的各种动作,以输入和输出数据以及将数据存储在存储器中,包括将文件存储在非易失性存储器和/或驱动单元上。
具体实施方式的某些部分可以依据对计算机存储器中的数据位的操作的算法和符号表示来呈现。这些算法描述和表示是数据处理领域的技术人员所使用的手段,以将其工作的实质最有效地传达给本领域的其他技术人员。算法在这里并且通常被设想成导致所期望的结果的操作的自洽序列。操作是那些需要物理量的物理操纵的操作。通常,虽然非必须,但这些物理量采用能够被存储、被转移、被组合、被比较、和以其他方式被操纵的电信号或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、数字等有时是方便的。
然而,应当记住,所有这些术语和类似术语是与合适的物理量相关联的并且仅仅是应用于这些物理量的方便的标签。除非以与以下讨论明显不同的方式明确声明,否则应当理解,贯穿整个说明书,使用诸如“处理”或“计算(computing)”或“计算(calculating)”或“确定”或“显示”或“生成”等的术语的讨论是指计算机系统或类似电子计算设备的动作和过程,所述计算机系统或类似电子计算设备将表示为计算机系统的寄存器和存储器内的物理(电子)量的数据操纵并转换成其他类似地表示为计算机系统的存储器或寄存器或其他这种信息存储、传输或显示设备内的物理量的数据。
本文中呈现的算法和显示并非固有地与任何特定计算机或其他装置相关。各种通用系统可以与根据本文教导的程序一起使用,或者可以证实构建更专门的装置来执行一些示例的方法是方便的。根据以下描述,所需的用于各种这些系统的结构将显现。此外,并未参考任何特定编程语言来描述技术,因此各种示例可以使用各种编程语言来实现。
在各种实现方式中,系统作为独立设备进行操作或者可以连接(例如,联网)到其他系统。在联网部署中,系统可以在客户端-服务器网络环境中作为服务器或客户端系统进行操作,或者在点对点(或分布式)网络环境中作为对等系统进行操作。
系统可以是服务器计算机、客户端计算机、个人计算机(PC)、平板PC、膝上型计算机、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、iPhone(苹果手机)、Blackberry(黑莓手机)、处理器、电话、网络设备、网络路由器、交换机或桥接器、或能够执行指定待由该系统采取的动作的一组指令(按顺序或者以其他方式)的任何系统。
虽然机器可读介质或机器可读存储介质作为示例被示为单个介质,但术语“机器可读介质”和“机器可读存储介质”应被理解为包括存储一组或多组指令的单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的高速缓存和服务器)。术语“机器可读介质”和“机器可读存储介质”还应理解为包括能够存储、编码或携带一组供系统执行的指令并且使系统执行本文公开的任何一种或多种方法或模块的任何介质。
通常,被执行以实现本发明的实现方式的例程可以实现为操作系统或专用应用程序、组件、程序、对象、模块或被称为“计算机程序”的指令序列的一部分。计算机程序通常包括在不同时间在计算机中的各种存储器和存储设备中设置的一个或多个指令,并且所述指令在被计算机中的一个或多个处理单元或处理器读取并执行时,致使该计算机进行操作以执行涉及本发明的各种方面的元素。
此外,尽管已经在功能完善的计算机和计算机系统的上下文中描述了示例,但是本领域技术人员能够理解,各种示例能够作为程序客体而以各种形式分布,而且不管实际用于实现分布的机器或计算机可读介质的具体类型如何,本发明都同样适用。
机器可读存储介质、机器可读介质、或计算机可读(存储)介质的其他示例包括但不限于:可记录类型介质,诸如易失性和非易失性存储器设备、软盘和其他可移除磁盘、硬盘驱动器、光盘(例如,光盘只读存储器(CD ROM)、数字通用光盘(DVD)等)等等;以及传输类型介质,诸如数字和模拟通信链路。
在一些情况中,存储器设备的操作(诸如从二进制1到二进制0的状态改变或者反之亦然)例如可以包括变换(诸如物理变换)。利用特定类型的存储器设备,这种物理变换可以包括物品向不同状态或事物的物理变换。例如,但非限制地,对于某些类型的存储器设备,状态的改变可以涉及电荷的积累和存储或者所存储的电荷的释放。类似地,在其他存储器设备中,状态的改变可以包括磁取向的物理改变或变换或者分子结构的物理改变或变换,诸如从晶体到非晶体或者反之亦然。前述内容不意图为其中存储器设备中从二进制1到二进制0(或者反之)的状态改变可以包括变换(诸如物理变换)所有示例的穷尽列表。而是,前述内容意图作为说明性示例。
存储介质通常可以为非暂时性设备或者可以包括非暂时性设备。在该情况下,非暂时性存储介质可以包括有形设备,这意味着该设备具有具体的物理形式,但是该设备的物理状态可以改变。因此,例如,非暂时性是指尽管状态改变但是保持有形的设备。
以上描述和附图是说明性的而不能解释为将主题限制到所公开的确切形式。相关领域的技术人员能够理解,鉴于上述公开内容可以有许多修改和变型。描述了许多具体细节来提供对本发明的透彻理解。然而,在某些情况中,众所周知的或常规的细节没有被描述,从而避免使描述模糊不清。
如本文中所使用的,术语“连接”、“联接”、或其任何变型当应用于系统的模块时,意味着两个或更多个元件之间直接或间接的任何连接或联接;元件之间的联接或连接可以是物理的、逻辑的、或其任何组合。此外,词语“本文”、“以上”、“以下”、以及类似含义的词语,当用于本申请中时,应该是指本申请整体,而不是本申请的任何特定部分。当上下文允许时,在以上具体实施方式部分中的使用单数或复数的词语也可以分别包括复数或单数。在关于两个或更多个项目的列表中,词语“或”涵盖该词语的所有如下解释:列表中项目的任一者、列表中所有项目、或者列表中项目的任何组合。
本领域技术人员能够理解,所公开的主题可以以下面未示出的其他形式和方式来实施。应当理解,关系型术语的使用(如果有的话,诸如第一、第二、顶部和底部等)仅用于将一个实体或动作与另一个实体或动作区分开,而不必要求或暗示这些实体或动作之间的任何这种实际关系或顺序。
尽管过程或方框以给定顺序呈现,但是替选实现方式可以执行具有不同顺序的步骤的例程或采用具有不同顺序的方框的系统,并且一些过程或方框可以被删除、移动、添加、细分、取代、组合和/或修改,以提供替选组合或子组合。可以以各种不同方式实现这些过程或方框中的每一者。此外,尽管过程或方框有时被示出为串行执行,但是这些过程或方框也可以并行执行或者可以在不同时间执行。另外,本文中提到的任何特定数字都只是示例:替选实现方式可以采用不同的值或范围。
本文中提供的本发明的教导可以应用于其他系统,而不必是上述系统。上述各种示例的元素和动作可以被结合以提供进一步的示例。
以上提到的任何专利和申请和其他参考文件(包括可能在所附递交文件中列出的任何参考文件)通过引用并入本文。如果需要,可以修改本发明的方面来采用上述各个参考文件的系统、功能和概念,以提供本发明的其他进一步的示例。
可以根据以上具体实施方式来对本发明做出这些和其他改变。尽管以上描述描述了特定示例,并且描述了预期的最好方式,但是不管上述内容的文本呈现得多么详细,教导都可以以许多方式实践。系统的细节可以在其实现方式细节上进行相当大的变化,但是仍然被本文所公开的主题所包括。如上所述,当描述本发明的某些特征或方面时所使用的特定术语不应当被看作是暗示该术语在本文中被重新定义以限制到与该术语相关联的本发明的任何特定特性、特征或方面。通常,在所附权利要求书中所使用的术语不应当被解释为将本发明限制到说明书中所公开的特定实现方式,除非以上具体实施方式部分明确定义了这些术语。因此,本发明的实际范围不仅包括所公开的实现方式,而且包括根据权利要求实践或实现本发明的所有等同方式。
尽管以某些权利要求形式呈现了本发明的某些方面,但是发明人预期到任何数量的权利要求形式的本发明的各个方面。任何旨在根据35U.S.C.§112(f)进行处理的权利要求将以表述“用于……”开头。因此,申请人保留在递交本申请之后添加附加权利要求的权利以寻求这些用于本发明的其他方面的附加权利要求形式。
在本发明的上下文内,在本说明书中所使用的术语通常具有其在本领域和在每个术语所使用的特定上下文中的通常含义。用于描述本发明的特定术语在以上或者说明书中的其他地方进行讨论,以为实践者提供关于本发明的描述的附加指导。为了方便,某些术语可以被突出,例如使用大写、斜体、和/或引号。使用突出不会对术语的范围和含义有任何影响;在同一上下文中,无论术语是否被突出,该术语的范围和含义都是相同的。能够理解,同一元素可以以多于一种的方式被描述。
因此,本文所讨论的任何一个或多个术语可以使用替选语言和同义词,但也不是基于术语是否在本文中详尽或讨论而对其赋予任何特殊意义。提供了某些术语的同义词。一个或多个同义词的记载并不排除其他同义词的使用。包括本文所讨论的任何术语的示例的本说明书中任何地方使用的示例都仅是说明性的,并且不意图进一步限制本发明或任何示例性术语的范围和含义。同样地,本发明并不限于本说明书中所给出的各个示例。
下面给出根据本发明的示例的设备、装置、方法及其相关结果的示例,但不意图进一步限制本发明的范围。需要注意的是,为了阅读者方便,可以在示例中使用标题或副标题,但不以任何方式限制本发明的范围。除非另外定义,否则本文所使用的所有技术术语和科学术语具有与本发明所属领域的普通技术人员通常理解的含义相同的含义。在有冲突的情况下,将以包括定义的本文为准。
本说明书的一些部分描述了对信息进行操作的算法和符号表示的示例。这些算法描述和表示通常由数据处理领域的技术人员用于将其工作实质有效地传达给本领域的其他技术人员。当从功能上、从计算上、或从逻辑上描述这些操作时,这些操作被理解成将由计算机程序或等效电路、微代码等实现。此外,还已经证实将这些操作的布置称为模块有时是方便的,且不失通用性。所描述的操作及其相关联的模块可以体现在软件、固件、硬件、或其任意组合中。
本文描述的任何步骤、操作、或过程可以利用一个或多个硬件或软件模块单独地或与其他设备结合地执行或实现。在一些示例中,软件模块利用包括计算机可读介质的计算机程序客体来实现,计算机可读介质包含计算机程序代码,计算机程序代码可由计算机处理器执行以用于执行所描述的步骤、操作、或过程中的任一者或全部。
示例还可以涉及用于执行本文中的操作的装置。该装置可以被专门构建以用于所需目的,和/或该装置可以包括通过计算机中存储的计算机程序选择性激活或重新配置的通用计算设备。这种计算机程序可以存储在非暂时性、有形的计算机可读存储介质或适用于存储电子指令的任何类型的介质中,所述介质可以联接到计算机系统总线。此外,本说明书中提及的任何计算系统都可以包括单个处理器或者可以是采用多处理器设计以提高计算能力的架构。
示例还可以涉及由本文描述的计算进程形成的客体。该客体可以包括由计算进程产生的信息,其中该信息存储在非暂时性、有形的计算机可读存储介质上以及可以包括计算机程序客体或本文描述的其他数据组合的任何实现方式。
已经主要出于可读性和指导目的而选择本说明书中所使用的语言,而不是选择这些语言来描绘或约束主题。因此,不意图通过详细描述来限制本发明的范围,而是通过基于本申请发布的任何权利要求来限制。因此,示例的公开意图是说明性的,而非对主题的范围的限制,主题的范围在所附权利要求中阐述。
在以上描述中给出了特定细节以提供对用于上下文连接系统的系统和组件的各种实现方式的透彻理解。然而,本领域普通技术人员应当理解,可以在没有这些特定细节的情况下实践上述实现方式。例如,电路、系统、网络、进程、和其他组件可以被示为框图形式中的组件,以免在不必要的细节上使实施方式模糊不清。在其他情况下,可以示出公知的电路、进程、算法、结构和技术而没有不必要的细节,以避免使实施方式模糊不清。
另外,应当注意,各个实现方式可以被描述为过程,该过程被描绘为流程图、作业图、数据流图、结构图或框图。尽管流程图可以将操作描述为顺序过程,但是许多操作可以并行或同时执行。另外,可以重新安排操作的顺序。当一个过程的操作完成时,该过程将终止,但是可以具有未包含在图中的附加步骤。过程可以对应于方法、函数、程序、子例程、子程序等。当过程对应于函数时,其终止可对应于该函数返回到调用函数或主函数。
客户端设备、网络设备、和其他设备可以是计算系统,该计算系统包括一个或多个集成电路、输入设备、输出设备、数据存储设备、和/或网络接口等等。集成电路可以包括例如一个或多个处理器、易失性存储器、和/或非易失性存储器等等。输入设备可以包括例如键盘、鼠标、小键盘、触摸界面、麦克风、相机和/或其他类型的输入设备。输出设备可以包括例如显示屏、扬声器、触觉反馈系统、打印机和/或其他类型的输出设备。诸如硬盘驱动器或闪存的数据存储设备可以使计算设备能够临时地或永久地存储数据。诸如无线或有线接口的网络接口可以使计算设备能够与网络通信。计算设备的示例包括台式计算机、膝上型计算机、服务器计算机、手持计算机、平板电脑、智能电话、个人数字助理、数字家庭助理、以及已经并入计算设备的机器和装置。
术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光存储设备、以及能够存储、包含、或承载(一个或多个)指令和/或数据的各种其他介质。计算机可读介质可以包括非暂时性介质,该非暂时性介质中可以存储数据,并且不包括无线地或通过有线连接传播的载波和/或暂时性电信号。非暂时性介质的示例可以包括但不限于磁盘或磁带、诸如光盘(CD)或数字通用光盘(DVD)的光存储介质、闪存、存储器或存储器设备。计算机可读介质可以具有其上存储的代码和/或机器可执行指令,其可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类、或者指令、数据结构或程序语句的任何组合。一代码段可以通过传递和/或接收信息、数据、自变量、参数、或存储内容而与另一代码段或硬件电路关联。信息、自变量、参数、数据等可以通过包括存储器共享、消息传递、令牌传递、网络传输等的任何适当手段来进行传递、转发或传输。
以上讨论的各种示例还可以通过硬件、软件、固件、中间件、微代码、硬件描述语言、或它们的任何组合来实现。当以软件、固件、中间件或微代码实现时,执行必要任务的程序代码或代码段(例如,计算机程序产品)可以存储在计算机可读或机器可读存储介质(例如,用于存储程序代码或代码段的介质)中。在集成电路中实现的(一个或多个)处理器可以执行必要任务。
当组件被描述成“被配置为”执行某些操作时,这种配置可以例如通过将电子电路或其他硬件设计成执行操作、通过将可编程电子电路(例如,微处理器、或其他合适的电子电路)编程为执行操作、或者其任何组合来完成。
结合本文公开的实现方式描述的各种说明性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件、固件、或其组合。为了清楚地说明硬件和软件的这种可互换性,以上已经在其功能方面总体上描述了各种说明性组件、块、模块、电路、和步骤。这种功能被实现为硬件还是软件取决于特定应用和对整个系统的设计约束。技术人员可以针对每种特定应用以不同方式实现所描述的功能,但是这种实现决策不应被解释为造成偏离本发明的范围。
本文描述的技术也可以在电子硬件、计算机软件、固件或其任何组合中实现。这样的技术可以在多种设备中的任何一种中实现,例如通用计算机、无线通信设备手机、或具有多种用途的集成电路设备,包括在无线通信设备手机和其他设备中的应用程序。描述为模块或组件的任何特征都可以在集成逻辑设备中一起实现,或者作为分立但可互操作的逻辑设备单独实现。如果以软件实现,则该技术可以至少部分地由包括程序代码的计算机可读数据存储介质实现,该程序代码包括指令,该指令当被执行时,执行上述方法中的一种或多种。计算机可读数据存储介质可以形成计算机程序产品的一部分,该计算机程序产品可以包括包装材料。计算机可读介质可以包括存储器或数据存储介质,例如随机存取存储器(RAM)(例如同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦可编程只读存储器(EEPROM)、闪存、磁或光数据存储介质等。附加地或替选地,这些技术可以至少部分地通过计算机可读通信介质来实现,该计算机可读通信介质承载或传送指令或数据结构形式的程序代码并且这些指令或数据结构可以由计算机访问、读取和/或执行,例如传播的信号或波。
程序代码可以由处理器执行,处理器可以包括一个或多个处理器,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)、或其他等效的集成或离散逻辑电路。这种处理器可以被配置为执行本发明中描述的任何技术。通用处理器可以是微处理器;但是在替选方案中,处理器可以是任何常规处理器、控制器、微控制器、或状态机。处理器也可以实现为计算设备的组合,例如DSP和微处理器的组合、多个微处理器、与DSP核结合的一个或多个微处理器、或者任何其他这种配置。因此,本文中所使用的术语“处理器”可以是指任何前述结构、前述结构的任何组合、或适于实现本文所描述的技术的任何其他结构或装置。此外,在一些方面中,可以在被配置为用于实现暂停数据库更新系统的专用软件模块或硬件模块内提供本文所描述的功能。
已经出于说明和描述的目的呈现了技术的前述详细描述。该详细描述并非详尽的,也不意图将技术限制到所公开的确切形式。鉴于以上教导可以有许多修改和变型。选择所描述的实施方式是为了最好地解释技术的原理、其实践应用、以及使本领域其他技术人员能够在各种实施方式中利用该技术并且与适用于预期的特定用途的各种修改一起利用该技术。意图通过权利要求来限定该技术的范围。
Claims (21)
1.一种计算机实现的方法,包括:
接收与对话机器人代理和客户之间的对话相对应的对话数据,其中,所述对话数据包括在所述对话机器人代理和所述客户之间交换的消息;
根据所述对话数据计算一组特征;
检测与所述对话中的所述对话机器人代理的表现相对应的一组机器人状态,其中,所述一组机器人状态是基于所述一组特征和所述对话数据来检测的;
使用样本对话数据和相应的机器人状态来训练机器学习模型,其中,该训练包括确定对话的有意义的自动连接分数(MACS);
提供所述对话的MACS和所述一组机器人状态;
接收对所述对话机器人代理的更新;以及
实施对所述对话机器人代理的更新,其中,所述更新用于训练所述机器学习模型。
2.根据权利要求1所述的计算机实现的方法,还包括:
使用所述样本对话数据和对所述样本对话数据进行的注释来训练机器人状态机器学习模型,其中,该训练包括确定对话的机器人状态;以及
使用所述机器人状态机器学习模型来检测所述一组机器人状态。
3.根据权利要求1所述的计算机实现的方法,还包括:
计算与一组可能的机器人状态相对应的置信度分数,其中,所述置信度分数是基于所述一组特征和所述对话数据计算的;
将阈值应用于所述置信度分数,其中,由于相应的置信度分数大于所述阈值而检测到机器人状态。
4.根据权利要求1所述的计算机实现的方法,还包括:
提取与所述样本对话数据相对应的对话长度;以及
使用所述对话长度来进一步训练所述机器学习模型,其中,所述机器学习模型被进一步训练以识别对话长度与所述对话的MACS之间的相关性。
5.根据权利要求1所述的计算机实现的方法,还包括:
接收与所述对话相关联的新消息;
生成关于在所述新消息内是否存在新的机器人状态的确定;
动态更新所述对话的所述MACS,其中,基于所述确定、所述对话数据和所述新消息来更新所述MACS;以及
提供经更新的MACS。
6.根据权利要求1所述的计算机实现的方法,其中,基于与所述样本对话数据中的机器人状态的存在相对应的置信度分数来进一步训练所述机器学习模型,其中,从所述机器人状态机器学习模型获得所述置信度分数。
7.根据权利要求1所述的计算机实现的方法,其中,使用从所述样本对话数据中提取的一组特征来进一步训练所述机器学习模型。
8.一种系统,包括:
一个或多个处理器;以及
存储器,所述存储器存储有指令,所述指令由于被所述一个或多个处理器执行而使得所述系统:
接收与对话机器人代理和客户之间的对话相对应的对话数据,其中,所述对话数据包括在所述对话机器人代理和所述客户之间交换的消息;
根据所述对话数据计算一组特征;
检测与所述对话中的所述对话机器人代理的表现相对应的一组机器人状态,其中,所述一组机器人状态是基于所述一组特征和所述对话数据来检测的;
使用样本对话数据和相应的机器人状态来训练机器学习模型,其中,该训练包括确定对话的有意义的自动连接分数(MACS);
提供所述对话的MACS和所述一组机器人状态;
接收对所述对话机器人代理的更新;以及
实施对所述对话机器人代理的更新,其中,所述更新用于训练所述机器学习模型。
9.根据权利要求8所述的系统,其中,使得所述系统检测所述一组机器人状态的所述指令还使得使所述系统:
使用所述样本对话数据和对所述样本对话数据进行的注释来训练机器人状态机器学习模型,其中,该训练包括确定对话的机器人状态;以及
使用所述机器人状态机器学习模型来检测所述一组机器人状态。
10.根据权利要求8所述的系统,其中,使得所述系统检测所述一组机器人状态的所述指令还使得使所述系统:
计算与一组可能的机器人状态相对应的置信度分数,其中,所述置信度分数是基于所述一组特征和所述对话数据计算的;以及
将阈值应用于所述置信度分数,其中,由于相应的置信度分数大于所述阈值而检测到机器人状态。
11.根据权利要求8所述的系统,其中,所述指令还使得所述系统:
提取与所述样本对话数据相对应的对话长度;以及
使用所述对话长度来进一步训练所述机器学习模型,其中,所述机器学习模型被进一步训练以识别对话长度与所述对话的MACS之间的相关性。
12.根据权利要求8所述的系统,其中,所述指令还使得所述系统:
接收与所述对话相关联的新消息;
生成关于在所述新消息内是否存在新的机器人状态的确定;
动态更新所述对话的所述MACS,其中,基于所述确定、所述对话数据和所述新消息来更新所述MACS;以及
提供经更新的MACS。
13.根据权利要求8所述的系统,其中,基于与所述样本对话数据中的机器人状态的存在相对应的置信度分数来进一步训练所述机器学习模型,其中,从所述机器人状态机器学习模型获得所述置信度分数。
14.根据权利要求8所述的系统,其中,使用从所述样本对话数据中提取的一组特征来进一步训练所述机器学习模型。
15.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质上存储有可执行指令,所述可执行指令由于被计算机系统的一个或多个处理器执行而使得所述计算机系统:
接收与对话机器人代理和客户之间的对话相对应的对话数据,其中,所述对话数据包括在所述对话机器人代理和所述客户之间交换的消息;
根据所述对话数据计算一组特征;
检测与所述对话中的所述对话机器人代理的表现相对应的一组机器人状态,其中,所述一组机器人状态是基于所述一组特征和所述对话数据来检测的;
使用样本对话数据和相应的机器人状态来训练机器学习模型,其中,该训练包括确定对话的有意义的自动连接分数(MACS);
提供所述对话的MACS和所述一组机器人状态;
接收对所述对话机器人代理的更新;以及
实施对所述对话机器人代理的更新,其中,所述更新用于训练所述机器学习模型。
16.根据权利要求15所述的非暂时性计算机可读介质,其中,使得所述计算机系统检测所述一组机器人状态的所述可执行指令还使得使所述计算机系统:
使用所述样本对话数据和对所述样本对话数据进行的注释来训练机器人状态机器学习模型,其中,该训练包括确定对话的机器人状态;以及
使用所述机器人状态机器学习模型来检测所述一组机器人状态。
17.根据权利要求15所述的非暂时性计算机可读介质,其中,使得所述计算机系统检测所述一组机器人状态的所述可执行指令还使得使所述计算机系统:
计算与一组可能的机器人状态相对应的置信度分数,其中,所述置信度分数是基于所述一组特征和所述对话数据计算的;以及
将阈值应用于所述置信度分数,其中,由于相应的置信度分数大于所述阈值而检测到机器人状态。
18.根据权利要求15所述的非暂时性计算机可读介质,其中,所述可执行指令还使得所述计算机系统:
提取与所述样本对话数据相对应的对话长度;以及
使用所述对话长度来进一步训练所述机器学习模型,其中,所述机器学习模型被进一步训练以识别对话长度与所述对话的MACS之间的相关性。
19.根据权利要求15所述的非暂时性计算机可读介质,其中,所述可执行指令还使得所述计算机系统:
接收与所述对话相关联的新消息;
生成关于在所述新消息内是否存在新的机器人状态的确定;
动态更新所述对话的所述MACS,其中,基于所述确定、所述对话数据和所述新消息来更新所述MACS;以及
提供经更新的MACS。
20.根据权利要求15所述的非暂时性计算机可读介质,其中,基于与所述样本对话数据中的机器人状态的存在相对应的置信度分数来进一步训练所述机器学习模型,其中,从所述机器人状态机器学习模型获得所述置信度分数。
21.根据权利要求15所述的非暂时性计算机可读存储介质,其中,使用从所述样本对话数据中提取的一组特征来进一步训练所述机器学习模型。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063128992P | 2020-12-22 | 2020-12-22 | |
US63/128,992 | 2020-12-22 | ||
PCT/US2021/064565 WO2022140357A1 (en) | 2020-12-22 | 2021-12-21 | Conversational bot evaluation and reinforcement using meaningful automated connection scores |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116635863A true CN116635863A (zh) | 2023-08-22 |
Family
ID=80222416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180083549.XA Pending CN116635863A (zh) | 2020-12-22 | 2021-12-21 | 使用有意义的自动连接分数进行对话机器人评估和强化 |
Country Status (8)
Country | Link |
---|---|
US (2) | US11496422B2 (zh) |
EP (1) | EP4268118A1 (zh) |
JP (1) | JP2024500884A (zh) |
CN (1) | CN116635863A (zh) |
AU (1) | AU2021410701B2 (zh) |
CA (1) | CA3200467A1 (zh) |
IL (1) | IL303483A (zh) |
WO (1) | WO2022140357A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2021410701B2 (en) | 2020-12-22 | 2024-02-29 | Liveperson, Inc. | Conversational bot evaluation and reinforcement using meaningful automated connection scores |
US20230353677A1 (en) * | 2022-04-29 | 2023-11-02 | Avaya Management L.P. | Contact center continuous avatar visual experience |
US20240086435A1 (en) * | 2022-09-14 | 2024-03-14 | Jpmorgan Chase Bank, N.A. | System and method for providing message content based routing |
US12079224B2 (en) * | 2022-12-12 | 2024-09-03 | Salesforce, Inc. | Database systems with adaptive automated metadata assignment |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10831802B2 (en) * | 2016-04-11 | 2020-11-10 | Facebook, Inc. | Techniques to respond to user requests using natural-language machine learning based on example conversations |
US10796295B2 (en) * | 2016-12-22 | 2020-10-06 | Facebook, Inc. | Processing payment transactions using artificial intelligence messaging services |
US10891560B2 (en) * | 2017-07-27 | 2021-01-12 | International Business Machines Corporation | Supervised learning system training using chatbot interaction |
US10424319B2 (en) | 2017-09-26 | 2019-09-24 | International Business Machines Corporation | Assessing the structural quality of conversations |
US20200005117A1 (en) * | 2018-06-28 | 2020-01-02 | Microsoft Technology Licensing, Llc | Artificial intelligence assisted content authoring for automated agents |
US10997372B2 (en) * | 2019-03-25 | 2021-05-04 | Fmr Llc | Computer systems and methods for representatives to monitor and intervene in robot conversation |
US11978452B2 (en) * | 2019-04-26 | 2024-05-07 | Oracle International Corportion | Handling explicit invocation of chatbots |
JP2022530109A (ja) | 2019-04-26 | 2022-06-27 | オラクル・インターナショナル・コーポレイション | ボットシステムの性能に関する見解 |
US11121986B2 (en) * | 2019-08-01 | 2021-09-14 | International Business Machines Corporation | Generating process flow models using unstructure conversation bots |
US20210081972A1 (en) * | 2019-09-13 | 2021-03-18 | Rimini Street, Inc. | System and method for proactive client relationship analysis |
US11158321B2 (en) * | 2019-09-24 | 2021-10-26 | Google Llc | Automated calling system |
CA3158094A1 (en) * | 2019-11-22 | 2021-05-27 | Conor Mcgann | System and method for managing a dialog between a contact center system and a user thereof |
US20220171930A1 (en) * | 2020-11-30 | 2022-06-02 | Oracle International Corporation | Keyword data augmentation tool for natural language processing |
US12019994B2 (en) * | 2020-11-30 | 2024-06-25 | Oracle International Corporation | Distance-based logit value for natural language processing |
AU2021410701B2 (en) | 2020-12-22 | 2024-02-29 | Liveperson, Inc. | Conversational bot evaluation and reinforcement using meaningful automated connection scores |
-
2021
- 2021-12-21 AU AU2021410701A patent/AU2021410701B2/en active Active
- 2021-12-21 CA CA3200467A patent/CA3200467A1/en active Pending
- 2021-12-21 IL IL303483A patent/IL303483A/en unknown
- 2021-12-21 WO PCT/US2021/064565 patent/WO2022140357A1/en active Application Filing
- 2021-12-21 JP JP2023537985A patent/JP2024500884A/ja active Pending
- 2021-12-21 US US17/557,601 patent/US11496422B2/en active Active
- 2021-12-21 EP EP21854841.0A patent/EP4268118A1/en active Pending
- 2021-12-21 CN CN202180083549.XA patent/CN116635863A/zh active Pending
-
2022
- 2022-10-05 US US17/960,495 patent/US11876757B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20220200936A1 (en) | 2022-06-23 |
CA3200467A1 (en) | 2022-06-30 |
AU2021410701A9 (en) | 2024-10-10 |
US11876757B2 (en) | 2024-01-16 |
US11496422B2 (en) | 2022-11-08 |
IL303483A (en) | 2023-08-01 |
JP2024500884A (ja) | 2024-01-10 |
US20230122872A1 (en) | 2023-04-20 |
AU2021410701A1 (en) | 2023-06-29 |
AU2021410701B2 (en) | 2024-02-29 |
WO2022140357A1 (en) | 2022-06-30 |
EP4268118A1 (en) | 2023-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7561836B2 (ja) | 自然言語処理のためのストップワードデータ拡張 | |
CN116635863A (zh) | 使用有意义的自动连接分数进行对话机器人评估和强化 | |
US10176800B2 (en) | Procedure dialogs using reinforcement learning | |
US20230169955A1 (en) | Noise data augmentation for natural language processing | |
US10540977B2 (en) | Proximity-based engagement with digital assistants | |
AU2022281319B2 (en) | Data-driven taxonomy for annotation resolution | |
US20240126795A1 (en) | Conversational document question answering | |
CN116615727A (zh) | 用于自然语言处理的关键词数据扩充工具 | |
CN116508040A (zh) | 机器人监督 | |
US20220253610A1 (en) | Systems and method for intent messaging | |
US12118569B2 (en) | Data-driven taxonomy for annotation resolution | |
US11924205B2 (en) | Systems and methods for account synchronization and authentication in multichannel communications | |
US20240205335A1 (en) | Automated systems for communications analysis according to recording restrictions | |
US20230080553A1 (en) | Adjusting outlier data points for training a machine-learning model | |
WO2024044491A1 (en) | Adaptive training data augmentation to facilitate training named entity recognition models |
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 |