CN111630506A - 用于导航对话流的机器学习工具 - Google Patents

用于导航对话流的机器学习工具 Download PDF

Info

Publication number
CN111630506A
CN111630506A CN201980009117.7A CN201980009117A CN111630506A CN 111630506 A CN111630506 A CN 111630506A CN 201980009117 A CN201980009117 A CN 201980009117A CN 111630506 A CN111630506 A CN 111630506A
Authority
CN
China
Prior art keywords
user
predefined
intelligent
bot
intent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980009117.7A
Other languages
English (en)
Inventor
K·V·潘沙加姆
S·洛尼亚尔
S·维贾扬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oracle International Corp filed Critical Oracle International Corp
Publication of CN111630506A publication Critical patent/CN111630506A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/041Abduction
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

实施例提供了用于使用经过训练的智能机器人程序导航对话流的系统和方法。在用户和经过训练的智能机器人程序之间发起聊天会话时,可以接收一个或多个话语。可以使用经过训练的智能机器人程序处理话语以从多个预定义意图中解析意图,其中,基于与预定义意图相关联的训练数据,训练智能机器人程序以解析预定义意图。可以使用智能机器人程序导航与所解析的意图相关联的预定义对话流,其中智能机器人程序使用与用户或聊天会话相关联的上下文变量,在对话流中引导用户。可以使用基于对话流的导航或上下文变量中的一个或多个生成的检索请求,向用户提供由智能机器人程序检索的企业数据。

Description

用于导航对话流的机器学习工具
相关申请交叉引用
本申请要求于2018年10月22日提交的美国临时专利申请序列号62/748,929的优先权,其公开内容通过引用合并于此。
技术领域
本公开的实施例总体上涉及一种用于导航对话流的机器学习工具。
背景技术
人工智能(“AI”)的实施已经产生了切实的好处,从基于监督学习的预测到面部识别。然而,围绕AI的挑战仍然存在,例如特定于实现的问题,这些问题通常在不同的系统之间有所不同。例如,与AI系统的人机交互仍然有很多不足之处。另外,可能难以实现产生有价值结果(例如,对企业、客户或个人具有特定价值的结果)的AI解决方案。因此,可以传递预期的、一致的和有价值的结果的AI工具将对此类系统的用户有益。
发明内容
本公开的实施例总体上针对用于使用经过训练的智能机器人程序导航对话流的系统和方法,其对现有技术进行了实质性的改进。在用户和经过训练的智能机器人程序之间发起聊天会话时,可以从用户接收一个或多个话语。可以使用经过训练的智能机器人程序处理话语以从多个预定义意图中解析意图,其中,基于与每个预定义意图相关联的训练数据,训练智能机器人程序以从用户话语中解析预定义意图。可以使用智能机器人程序导航与所解析的意图相关联的预定义对话流,其中智能机器人程序使用与用户或聊天会话相关联的上下文变量,在对话流中引导用户。可以使用基于对话流的导航或上下文变量中的一个或多个生成的检索请求,向用户提供由智能机器人程序检索的企业数据。
实施例的特征和优点在下面的说明书中阐述,或者将从说明书中变得显而易见,或者可以通过本公开的实践而获知。
附图说明
通过结合附图对优选实施例的以下详细描述,其他实施例、细节、优点和修改将变得显而易见。
图1示出了根据示例实施例的,用于使用经过训练的智能机器人程序来导航对话流的系统。
图2示出了根据示例实施例的,在操作上耦合至系统的计算设备的框图。
图3示出了根据示例实施例的实现对话流程的图。
图4示出了根据示例实施例的,使用经过训练的智能机器人程序和业务逻辑来实现对话流的系统。
图5A示出了根据示例实施例的,用于使用云服务客户端来实现对话流的系统组件。
图5B示出了根据示例实施例的,用于使用网络(web)逻辑容器来实现对话流的系统组件。
图6A-6C示出了根据示例实施例的示例对话流。
图7示出了根据示例实施例的,使用经过训练的智能机器人程序来导航对话流的流程图。
图8示出了根据示例实施例的,包括如本文公开的改进的供应动作的集成供应商、库存和物流系统。
具体实施方式
实施例使用经过训练的智能机器人程序来导航对话流。在一些实施例中,可以在用户和经过训练的AI组件(例如,经过训练的智能机器人程序)之间发起聊天会话。例如,用户可以与诸如具有给定配置的企业软件应用程序之类的软件应用程序交互。软件应用程序配置可以包括由软件应用程序显示的数据,用户正在查看、正在分析或以其他方式选择的数据的典型代表,用户标识或角色,以及任何其他适当的配置信息。在一些实施例中,这样的软件应用程序配置信息可以被称为上下文。
当与经过训练的智能机器人程序聊天时,用户可能具有意图。例如,当使用企业应用程序时,用户可能想要检索某些企业数据、处理或分析某些数据、运行批处理软件过程或某些其他功能、这些意图的组合或任何其他适当的意图。在一些实施例中,可以基于用户输入的文本或用户话语来训练智能机器人程序以从多个意图中解析意图。例如,可以针对多个意图中的每一个意图用示例文本来训练智能机器人程序,并且因此可以利用示例来从用户话语解析意图。可以传递给智能机器人程序的软件应用程序上下文也可以用于解析意图。
在一些实施例中,智能机器人程序可以导航与所解析的意图相关联的预定义对话流。例如,可以在诸如标记语言数据文档(或其他数据描述语言文档)中定义与意图相关联的对话流。在一些实施例中,数据文档可以定义对话流的变量、状态和转换。智能机器人程序可以基于预定义的对话流与用户交换消息。在一些实施例中,由智能机器人程序跟随以导航对话流的状态转换基于用户对智能机器人程序的消息提供的响应。
在一些实施例中,对话流的导航可以触发功能的执行。例如,可以生成检索请求(例如,查询)以检索企业数据,其中用于检索请求的参数基于在导航对话流时由用户提供的响应和/或软件应用程序上下文。在另一示例中,可以触发软件处理(例如,批处理),例如基于用户干预/编辑进行调整的处理或包括用户批准的处理,其中对话流可以涉及与软件处理有关的用户干预、编辑和/或批准。在一些实施例中,这些功能中的一个或多个可以被包括在对话流的导航内。
现在将详细参考本公开的实施例,其示例在附图中示出。在下面的详细描述中,阐述了许多具体细节以便提供对本公开的透彻理解。然而,对于本领域的普通技术人员将显而易见的是,可以在没有这些具体细节的情况下实践本公开。在其他情况下,没有详细描述公知的方法、过程、组件和电路,以免不必要地使实施例的各方面不清楚。在任何可能的情况下,相同的参考标号将用于相同的元件。
图1示出了根据示例实施例的,使用经过训练的智能机器人程序来导航对话流的系统。系统100包括服务组件102、网络逻辑容器104和机器人程序服务106。在一些实施例中,服务组件102可以提供与网络逻辑容器104和/或机器人程序服务106通信以导航对话流的客户端。例如,可以经由服务组件102与用户发起聊天会话,并且网络逻辑容器104和机器人程序服务106可以为聊天会话提供功能。
在实施例中,机器人程序服务106可以为聊天会话提供经过训练的智能机器人程序。在实施例中,网络逻辑容器104可以托管用于会话的聊天服务器和/或实现用于导航对话流的定制业务逻辑组件。服务组件102、网络逻辑容器104和机器人程序服务106可以组合使用,以实现与用户进行聊天会话,其中经过训练的智能机器人程序导航与用户的对话流。可以类似地实现任何其他适当的框架、组件或组件的组合。
图2是根据实施例的计算机服务器/系统200的框图。系统200的全部或部分可用于实现图1所示的任何元件。如图2所示,系统200可以包括总线设备212和/或被配置为在系统200的各种组件(例如,处理器222和存储器214)之间进行信息通信的(一个或多个)其他通信机制。另外,通信设备220可以通过对要通过网络(未示出)从处理器222发送到另一设备的数据进行编码,并且对通过网络从另一系统接收以用于处理器222的数据进行解码,来使能处理器222与其他设备之间的连接性。
例如,通信设备220可以包括被配置为提供无线网络通信的网络接口卡。可以使用各种无线通信技术,包括红外、无线电、
Figure BDA0002590057390000041
Wi-Fi和/或蜂窝通信。替代地,通信设备220可以被配置为提供(一个或多个)有线网络连接,诸如以太网连接。
处理器222可以包括一个或多个通用或专用处理器,以执行系统200的计算和控制功能。处理器222可以包括单个集成电路,例如微处理设备,或者可以包括多个集成电路设备和/或电路板协同工作以完成处理器222的功能。此外,处理器222可以执行存储在存储器214内的计算机程序,例如操作系统215、AI模块216和其他应用程序218。
系统200可以包括用于存储信息和用于处理器222执行的指令的存储器214。存储器214可以包含用于检索、呈现、修改和存储数据的各种组件。例如,存储器214可以存储在由处理器222执行时提供功能的软件模块。模块可以包括为系统200提供操作系统功能的操作系统215。模块可以包括操作系统215、被配置为执行对话流导航和本文公开的所有其他功能的AI模块216、以及其他应用程序模块218。操作系统215为系统200提供操作系统功能。在某些情况下,AI模块216可以实现为存储器中配置。在一些实施方式中,当系统200执行AI模块216的功能时,它实现执行本文公开的功能的非常规专用计算机系统。
非暂态存储器214可以包括可由处理器222访问的各种计算机可读介质。例如,存储器214可以包括随机存取存储器(“RAM”)、动态RAM(“DRAM”)、静态RAM(“SRAM”)、只读存储器(“ROM”)、闪存、高速缓存和/或任何其他类型的非暂态计算机可读介质的任意组合。处理器222进一步通过总线212耦合到显示器224,例如液晶显示器(“LCD”)。键盘226和光标控制设备228(例如,计算机鼠标)进一步耦合到通信设备212,以使用户能够与系统200交互。
在一些实施例中,系统200可以是较大系统的一部分。因此,系统200可以包括一个或多个附加功能模块218以包括附加功能。其他应用程序模块218可以包括例如
Figure BDA0002590057390000051
云基础设施、
Figure BDA0002590057390000052
云平台、
Figure BDA0002590057390000053
云应用程序的各种模块。AI模块216、其他应用程序模块218和系统200的任何其他适当的组件可以包括
Figure BDA0002590057390000061
零售高级科学云服务、
Figure BDA0002590057390000062
智能机器人程序、
Figure BDA0002590057390000063
数字助理和其他适当的框架/服务的各种模块。
数据库217被耦合到总线212,以为模块216和218提供集中式存储,并存储例如AI模块216或其他数据源的数据。数据库217可以将数据存储在逻辑相关的记录或文件的集成集合中。数据库217可以是操作数据库、分析数据库、数据仓库、分布式数据库、最终用户数据库、外部数据库、导航数据库、存储器内数据库,面向文档的数据库、实时数据库、关系数据库、面向对象的数据库、非关系数据库、NoSQL数据库、
Figure BDA0002590057390000064
分布式文件系统(“HFDS”)或本领域已知的任何其他数据库。
尽管被示出为单个系统,但是系统200的功能可以被实现为分布式系统。例如,存储器214和处理器222可以被分布在合起来代表系统200的多个不同的计算机上。在一个实施例中,系统200可以是设备(例如,智能手机、平板电脑、计算机等)的一部分。在实施例中,系统200可以与该设备分离,并且可以为该设备远程提供所公开的功能。此外,可以不包括系统200的一个或多个组件。例如,对于作为用户或顾客设备的功能,系统200可以是智能手机或其他无线设备,其包括处理器、存储器和显示器,不包括图2所示的其他组件中的一个或多个,以及包括图2未示出的附加组件,例如天线、收发器或任何其他适当的无线设备组件。此外,当被实现为执行本文公开的功能时,系统200是专用计算机,专门适用于提供AI聊天会话功能。
图3示出了根据示例实施例的实现对话流的图。例如,图3描绘了对话流310包括意图302、话语304、实体306和业务逻辑308。例如,智能机器人程序和/或其他系统组件的组合可以使用意图302、话语304、实体306和业务逻辑308来导航对话流310。
在一些实施例中,可以在与智能机器人程序的聊天会话期间从用户接收话语304。使用话语304,可以由经过训练的智能机器人程序从多个意图中识别意图302。例如,意图可以是典型用户请求和陈述或话语304的排列组合。在一些实施例中,可以使用指示给定意图的示例文本来训练智能机器人程序以识别给定意图。当话语304类似于用于训练智能机器人程序的意图302的示例时,经过训练的智能机器人程序可以从多个意图中识别意图302。丰富的示例话语集合使智能机器人程序能够了解用户的需求。例如,可以从话语“向我显示位置波士顿的优化结果”识别出意图,并将其与其他预定义的意图区分开。
意图使智能机器人程序能够了解用户希望它做什么。例如,意图可以通过机器人程序执行的任务和动作对典型的用户请求进行分类。使用具有零售优化的企业应用程序的实施例的示例意图可以是优化概要意图,其与直接请求、回顾优化概要相关联。
在一些实施例中,可以基于针对特定动作的话语汇编(例如,文本的鲁棒数据集(例如,一到两打话语))来创建用于识别的意图。话语的汇编也可以变化,以便经过训练的智能可以解释模糊的用户输入。例如,丰富的话语集合使智能机器人程序能够从具有不同结构、音调、语法等的用户消息中了解用户的需求。
意图也可以被视为用例的说明,因为意图描述了智能机器人程序帮助其用户完成的各种动作。意图不仅描述了智能机器人程序可以做什么,而且意图还被智能机器人程序用于识别用户输入,因为每个意图具有与之相关联的话语集合。以下表示示例意图:
·可以为典型的定价用户创建意图。
·例外管理。例如,用户可以要求查看利润增长低于5%的部门的位置。
·批准流程。例如,对于折扣高于40%的运行拒绝价格推荐,或者批准所有显示收入增长5%的批量运行。
·重新计算关键绩效度量。例如,拒绝折扣高于70%的推荐并重新计算度量。
所识别的意图可以与为该意图定义对话流的数据文档(例如,标记语言文档或数据描述语言文档)相关联。例如,意图302可以与包括变量、状态和转换的数据文档相关联。实体306可以是意图302的上下文,并且该上下文与数据文档一起使用以导航对话流。例如,当意图将单词和短语映射到特定动作时,实体将上下文添加到意图本身。它们有助于更全面地描述意图,并使智能机器人程序能够完成用户请求。实体306的示例是话语“向我显示位置波士顿的优化结果”中的位置波士顿。
在一些实施例中,数据文档可以包括用于导航对话流的变量。例如,对话流可以涉及检索企业数据的特定典型代表。因此,变量可以包括定义企业数据的典型代表的参数。在示例中,数据文档可以被结构化为使得智能机器人程序获得针对参数的一个或多个值,以便构造请求返回期望数据的检索请求。
在一些实施例中,用户变量也可以用于导航对话流。例如,用户变量可以包括用户身份、角色、偏好等。也可以传递其他变量,例如软件应用程序的上下文变量或软件应用程序的状态,以导航对话流。例如,可以在对话流中定义会话和/或用户范围的变量。这些变量可以是定制组件的一部分,该定制组件用于在软件应用程序与智能机器人程序引擎之间(例如,经由REST API)通信信息。
在一些实施例中,变量可以包括字母数字值、电子邮件地址、特定时间、持续时间、电话号码、统一资源定位符等。变量还可以包括值列表,例如可以指示相似概念的用户输入列表;实体列表,例如实体的超级集合;导出变量,其中一个变量是从另一个变量导出的;或者正则表达式,其可以允许智能机器人程序标识用户输入中的预定义模式。实体306可以包括这些变量中的一个或多个。
业务逻辑308可以包括由智能机器人程序使用以导航对话流并为用户执行动作的业务智能。例如,数据文档内调用的某些状态、转换和/或功能可以根据业务考虑(例如,根据预期用于检索的企业数据的数据模式,根据通过导航对话流配置的批处理的结构,活任何其他适当的考虑)进行结构化。在一些实施例中,当从交易数据存储返回数据时和/或在执行业务逻辑时,智能机器人程序可以使用定制组件,例如从企业数据库中获取位置波士顿的概要结果的智能机器人程序的实例。
在一些实施例中,数据文档可以是标记语言文档。例如,数据文档可以实现预定义的YAML Ain’t标记语言(“YAML”)结构,其中智能机器人程序被配置为基于预定义的YAML结构来导航对话流。可以类似地实现任何其他适当的数据文档。
以下是与订购比萨的简化版本有关的已解析意图的示例数据文档定义,其中,该数据文档用于配置智能机器人程序以导航与用户的对话流程以完成比萨订购:
Figure BDA0002590057390000091
Figure BDA0002590057390000101
Figure BDA0002590057390000111
下面是如本公开的各个实施例中所描述的,与企业软件实现有关的已解析意图的另一示例数据文档定义。
Figure BDA0002590057390000112
Figure BDA0002590057390000121
Figure BDA0002590057390000131
Figure BDA0002590057390000141
Figure BDA0002590057390000151
在一些实施例中,示例对话流可以包括上下文、默认转换和状态,并且还可以包括定制组件(例如,用于与外部组件和/或企业软件应用程序的组件进行通信)。以下是对话流中的定制组件的示例(例如,commonGreeting和retailOptimization)。例如,每个组件都可以将属性作为变量,这些变量(例如,从机器人程序服务)传递到定制组件以采取动作。在一些实施例中,定制组件在处理请求之后,可以更新上下文变量并在响应中将它们发送给机器人程序服务。
Figure BDA0002590057390000152
Figure BDA0002590057390000161
组合起来,意图302、话语304、实体306和业务逻辑308可以用于导航对话流310和/或为用户执行相关动作。在一些实施例中,智能机器人程序可以是诸如在零售会话AI设置中的交易机器人程序,其与零售数据仓库(例如,存储企业数据的数据库)交互以通过问问题审查关键绩效度量(“KPI”)和业务绩效。这些智能机器人程序可以在对话上维护上下文,并且可以被集成到零售企业应用程序流内。这些智能机器人程序使零售商能够在UI工作流内进行交互式对话,其中在企业应用程序内向最终用户提供各种响应,例如带有KPI的简单文本消息、供用户选择的多个选择、或基于系统状态向其他屏幕的指南。图6A-6C提供了示例实施方式的图示。
在一些实施例中,聊天会话可以与语音助手(例如,Echo、Google Home、Chrome语音助手等),机器学习技术(例如,自然语言处理)和企业软件(例如,
Figure BDA0002590057390000162
零售报价优化等)。这样的实现可以减少企业软件应用程序的典型用户的工作量,并且可以包括处理复杂的业务流程用例。
在当前版本的企业零售软件中,诸如定价决策/优化之类的复杂业务用例未与语音助手/智能机器人程序集成,以处理复杂的工作流/业务流程问题。例如,管理零售服装价格推荐的购买者或管理者会对诸如例外管理(例如,基于价格推荐,向我显示利润增长低于5%的部门的位置),复杂的批准流程(例如,拒绝高于40%的价格推荐,重新计算关键绩效度量,将靶向报价发送给我的白金客户)或即时汇总(例如,美国的利润增长是多少?德国?)之类的用例感兴趣。在一些实施例中,用户可以使用自然语言处理(“NLP”)算法(例如,如
Figure BDA0002590057390000171
智能机器人程序所实现的)向启用语音的设备口头表达特定问题(话语),并且话语可以被转换为文本并映射到意图/实体。在一些示例中,一旦意图/实体被解析并且对话流被导航,则可以调用定价解决方案(例如,
Figure BDA0002590057390000172
零售报价优化),该解决方案可以执行适合的流程并返回信息。
实施例可以减少用户进行某些复杂的业务流程所需的工作量,同时还基于启用语音的功能,为用户添加以自然语言向企业业务软件应用程序讲话的能力。例如,作为此类软件的典型用户,业务用户可以向企业业务软件应用程序讲其业务用例。
实施例包括经过训练且集成的智能机器人程序(例如,使用
Figure BDA0002590057390000173
数字助理实现),以回答例如定价软件解决方案中针对典型用户产生的特定问题。例如,管理零售服装价格推荐的购买者或管理者可能对诸如下面的用例感兴趣:
·例外管理。例如,用户可以要求查看利润增长低于5%的部门的位置。
·批准流程。例如,对于折扣高于40%的运行拒绝价格推荐,或者批准所有显示收入增长5%的批量运行。
·重新计算关键绩效度量。例如,拒绝折扣高于70%的推荐并重新计算度量。
·Q&A。这种整合有助于回答用户最常问的问题。例如,用户可以询问促销信息,并且Q&A选项卡显示与项目“促销”有关的相关问题和答案。
一些实施例可以包括以下内容:
1.用户可以启用语音助手(例如,通过点击麦克风符号)。
2.用户可以向启用语音的设备说出特定的问题(话语)。
3.可以使用NLP算法将话语转换为文本,然后可以从话语中解析出意图和相应的实体。例如,可以使用经过训练的智能机器人程序来识别上述用例的意图。经过训练的智能机器人程序还可以用于询问适合的后续问题以达到意图。
4.一旦解析了意图/实体,可以导航对话流,并且可以调用企业软件应用程序(例如,
Figure BDA0002590057390000181
零售报价优化),该企业软件应用程序然后执行适合的流程。
5.一旦流程完成,企业软件应用程序可以返回信息。
可以针对不同的用例创建一个或多个意图,以帮助用户实现相关功能。此外,可以训练一个或多个情报机器人程序来识别所创建的意图。例如,用户可以要求查看不满足批准标准的部门的位置,或者用户可以要求查看利润增长低于5%的部门的位置。如本文所描述的,可以提供针对每个意图的示例话语以训练智能机器人程序。
实施例可以实施多种训练技术。例如,可以使用Trainer Ht技术,该技术使用基于NLP的语言学,基于所提供的示例话语集合来推导衍生规则模板的组合。这可以帮助智能机器人程序快速部署,并可以产生高度准确的预测。Trainer Ht可以与小的训练语料库(例如,针对所创建的意图的10-20个话语)一起使用,可以利用基于NLP的语言学来识别意图,并且可以使用匹配规则来创建模板并区分意图。
当更大量的会话数据可用时,可以使用另一训练技术,即Trainer Tm。Trainer Tm可以很好地适合需要进行意图预测的泛化并且实现者已为对话流建立了质量良好的初始数据集的情况。这些模型可以使用算法的组合,这些算法从大量未标记的文本中执行无监督学习,以基于最终用户在零售企业应用程序中随时间收集的数据来为用户意图预测生成上下文敏感的映射。
除了提供特定于定价解决方案的训练数据之外,还可以使用其他适当的NLP处理技术,例如识别属于每个意图的样本短语以及与那些短语相似的短语的技术。例如,可以使用由
Figure BDA0002590057390000182
数字助理实现的NLP技术。在一些实施例中,可以利用执行单词分析和语义分析的NLP算法。例如,匹配引擎可以在语法和语义上分析用户的表达或陈述,以了解用户的意图。
在一些实施例中,NLP技术可以包括拼写校正、词形还原(例如,单词的形式可以与被称为词根的单词的一个一般或基本形式相关联)、词干提取(例如,单词的结尾可以被去除,以便获得基本词,例如,cats变成cat)、同义词查找、上位词和下位词分析(例如,分别是父子关系、或类的类型的某种东西,例如颜色是红色的上位词,以及勺子是餐具的下位词(餐具的类型))、对多个单词单元的检测、解析词汇歧义(例如,使用特定行业和用户的知识来解析歧义,例如在金融领域,bank指金融机构,而不是河岸)、语义分析和其他适合的NLP技术。
除了训练之外,还可以针对意图定义实体。例如,在某些情况下,上下文可以用于使智能机器人程序能够完成用户请求。根据用例和请求,可以添加诸如位置、商品之类的实体。例如,对于与找到不满足批准标准的运行相关的意图,可以包括以下实体:地点、部门。
一旦定义了训练和实体,就可以集成定制组件,例如定制业务逻辑和/或功能(例如,REST API调用)。实施例包括使用数据文档(例如,标记语言数据文档或类似的数据定义文档)定义对话流,其中智能机器人程序可以使用培训、实体、定制组件/业务逻辑和所定义的数据文档来导航与用户的对话流。
图4示出了根据示例实施例的,使用经过训练的智能机器人程序和业务逻辑来实现对话流程的系统。该系统包括企业AI客户端402、网络逻辑容器404、机器人程序服务406、高级科学云服务聊天组件408、AI聊天服务器410、机器人程序请求412、事件网络挂钩414、信道配置416、服务配置418、训练组件420、对话流422、业务逻辑组件424、高速缓存426、数据库428和定制组件API 430。
企业AI客户端402可以具有集成的启用语音的解决方案,该解决方案允许用户或是提出问题或是键入问题以获得响应,并显示问题和响应的历史以供用户查看(例如,聊天显示)。企业AI客户端402可以使用例如
Figure BDA0002590057390000191
Chrome浏览器中的语音识别套件将语音转换为文本,或者可以使用任何其他适合的技术、服务或框架。可以在允许用户在用户工作流的上下文中询问问题的用户界面中(例如,在上下文区域中)显示企业AI客户端402。来自客户端的此类查询的示例是“在商店XYZ正在运行什么促销”,同时在报价优化工作流程中查看靶向报价。企业AI客户端402还可以通过从UI重置上下文来提供重置和重启与企业应用程序的对话的功能。
网络逻辑容器404和AI聊天服务器412可以通过将应用程序上下文和/或安全角色附加到客户端请求来将客户端查询中继到机器人程序服务406。例如,客户查询可以是简单的请求,也可以具有获取详细的标准,此类查询标准的示例可以是显示商店YY或部门XX中的促销。网络逻辑容器404和AI聊天服务器412还可以使用基本定制组件API 430、业务逻辑组件424、高速缓存426和数据库428向机器人程序服务406提供企业数据。
机器人程序服务406可以包括定义对话和转换状态的对话流的复合。这些对话流可以被配置用于业务用例,并且可以依赖于内置组件和/或可以具有依赖于企业特定组件的组件控制的导航,以按顺序显示消息并转换到下一状态。机器人程序服务406可以使用训练组件420来通过使用过去对机器人程序的使用所收集的数据来周期性地批量训练模型。在一些实施例中,这些组件层可以彼此交互(例如,使用REST应用程序编程接口(“API”))并且与充当中介者的AI聊天服务器410共享消息(例如,JSON对象消息),该AI聊天服务器410可以被部署为Java企业服务器上的网络应用程序。在一些实施例中,企业应用程序可以与机器人程序服务406共享应用程序上下文,例如登录用户、他们的角色、UI中当前显示/导航到的应用程序或模块。
在一些实施例中,企业AI客户端402可以将机器人程序请求发送到网络逻辑容器404,网络逻辑容器404可以将请求中继到机器人程序服务406。信道配置416和/或服务配置418可用于通过智能机器人程序配置聊天会话。在一些实施例中,对话流(例如,对话流422)的导航可以调用业务逻辑组件,并且基本定制组件API 430、业务逻辑组件424、高速缓存426和数据库428可以用于执行业务操作和/或返回企业数据。可以配置事件网络挂钩414,并将其用于将信息中继回企业AI客户端402,如图4所示。
在一些实施例中,对基本定制组件API 430的示例调用可以包括:
Figure BDA0002590057390000211
Figure BDA0002590057390000221
在一些实施例中,对来自基本定制组件API 430的调用的示例响应(例如,在通过业务逻辑组件424、高速缓存426、数据库428检索数据和/或执行动作之后)可以包括:
Figure BDA0002590057390000222
Figure BDA0002590057390000231
在一些实施例中,机器人程序服务406可以通过定制组件发送请求和一个或多个参数以及由机器人程序服务维护的上下文变量。基本定制组件API 430可以(例如,使用JDBC从交易数据库中)检索相关信息,或者可以与其他组件通信以获取数据。在一些实施例中,基于传递的参数,基本定制组件API 430然后可以更新上下文变量并构造响应以发送回机器人程序服务406。该响应可以包括数据、成功或错误响应和/或机器人程序服务406应采取的下一动作。
在一些实施例中,用户聊天可以从发送到机器人程序服务406的用户提示开始,其中使用NLP算法或机器学习模型来解析意图。在解析了意图之后,机器人程序服务406可以唤起一个或多个组件来获得实时企业数据,其中此类数据和下一个转换状态可以作为响应返回给机器人程序服务406。可以将转换状态解析为采取下一个动作和/或向用户提供响应消息,该消息被显示在聊天窗口中。在一些实施例中,响应消息可以是供选择的多项选项、简单消息,或者其可以将用户引导到企业应用程序中的另一屏幕。可以将机器人程序服务406中的对话流设计为具有例外流,该例外流被配置为在未解析出意图或提示用户提供进一步的澄清的情况下引导用户。
图5A示出了根据示例实施例的,用于使用云服务客户端来实现对话流的系统组件。图5A描绘了高级科学云服务聊天组件408,其可以包括UI组件450、语音识别组件453、定制改变组件458、UI到ADF交互454以及网络套接字456。UI组件450可以在客户端的界面中和/或企业应用程序的UI内显示聊天客户端(例如,聊天窗口,如图6A-6C所示)。语音识别452可以识别自然语言语音,并且可以包括
Figure BDA0002590057390000232
Chrome中的语音识别套件或任何其他适合的组件。定制改变458可以包括用于客户端处的聊天会话的定制实现。
例如,聊天可以从企业应用程序问候,并通过设置对话的上下文开始,然后可以是来自用户的话语,该话语在机器人程序服务406处被解析并转换为对话。定制改变458可以实现定制问候和/或定制重置条件以重置上下文。例如,可以添加JavaScript重置方法以清除来自聊天客户端的消息。一旦消息被清除,映射到重置意图的“重置”话语可以被推送到机器人程序服务406以重置变量。在一些实施例中,可以在初始化网络套接字连接时将JavaScript初始化问候消息添加到聊天客户端。
在一些实施例中,应用程序数据框架(“ADF”)可以与应用程序/UI组件交互。例如,当与智能机器人程序对话时,可以将消息从定制组件发送到机器人程序服务器406,然后机器人程序服务器将结果作为回调返回给信道网络挂钩(Webhook)。然后可以将这些参数传递给复合组件,该组件可以将这些参数传递给JavaScript父窗口(例如,ADF组件)。然后,此组件可以调用baking bean(例如,以打开任务流)。在一些实施例中,添加JavaScript以将语音转换为文本,然后将文本推送到机器人程序服务器406,这可以类似于传递所键入的文本消息的方式。聊天客户端可以使用网络套接字456与聊天服务器进行通信。
图5B示出了根据示例实施例的,用于使用网络逻辑容器实现对话流的系统组件。图5B描绘了网络逻辑容器404,其可以包括聊天配置460、任务流462、聊天上下文464、聊天JSON模型466、聊天安全性468、消息事件470、网络套接字中介器472、基本定制组件API474、网络挂钩476、组件注册表478、凭证存储器480、安全性上下文482、业务服务和组件484以及角色和权限486。
聊天配置460可以使用信道ID和其他相关的配置信息来配置聊天。任务流462可以包括可被用于与UI组件和企业软件应用程序集成的任务流元数据。聊天上下文464可以包括用于聊天会话的上下文数据,包括用户上下文、企业应用程序上下文等。聊天JSON模型466可以包括用于配置智能机器人程序以引导用户的数据描述(例如,用于对话流数据文档的数据描述)。
聊天安全性468可以包括管理角色,例如查看角色和服务角色(例如,授予已向机器人程序服务406注册的受限用户)。凭证存储480可以存储用于维护聊天会话的安全性的信道密钥,并且安全性上下文482可以确保用户角色由外部定制组件(例如,企业应用程序的定制组件)验证。
消息事件470可以表示用户与智能机器人程序之间的消息(例如,从机器人程序服务406接收的作为回调的消息)。在一些实施例中,这是使用安全套接字层(“SSL”)协议来实现的。网络套接字中介器472可以从聊天客户端接收消息并将数据推送到机器人程序服务406。基本定制组件API 474可以用于从定制组件(例如,返回企业数据的企业应用程序的组件)读取消息有效载荷。网络挂钩476被配置为信道配置的一部分。组件注册表478可以使用Spring应用程序上下文作为注册表,该注册表可以指示要从公共层唤起哪个服务/组件并委托给业务层。
在一些实施例中,还配置了问答(“Q&A”)智能机器人程序。Q&A机器人程序可以依赖于预定义的问题和答案集合以在上下文问题内引导用户和顾客服务。Q&A机器人程序可以依赖于弹性搜索来使用内置规则和推断规则来解析意图。这种类型的机器人程序可以最大程度地减少顾客服务参与度,因为他们会从企业解决方案中获得即刻响应,并且还减少了在响应多个零售商的重复性问题时的企业开发团队介入。
可以使用主机器人程序和子机器人程序来实现Q&A机器人程序,其可以基于上下文集合来解析。在实施例中,如果企业应用程序是零售,并且其具有诸如预测和报价优化之类的模块,则可以将主机器人程序配置为具有逻辑以切换到用于特定意图解决方案的特定Q&A机器人程序。因此,预测和报价优化不会混合在一起,而是分开在不同的机器人程序中。
在一些实施例中,定制组件可以用于在组件导航之后解析意图。例如,某些对话导航可以由智能机器人程序解析。组件导航的示例是定制组件按顺序显示多个消息,然后要求智能机器人程序使用动作转换到下一个状态的情形。下面示出了示例实施例:
用户:向我显示优化结果。
机器人程序:(调用定制组件,并且定制组件返回带有优化结果度量的消息列表,以及通过问题提示用户的下一个动作(他们愿意批准还是复制结果?))
用户:向我显示优化结果(再一次)
机器人程序:使用受控定制——导航智能机器人程序能够正确解析意图并显示
(调用定制组件,并且定制组件返回带有度量的消息列表,以及通过问题提示用户的下一个动作(他们愿意批准还是复制结果?))
在一些实施例中,导航对话流可以包括对话导航和定制组件导航。例如,在对话导航中,意图可以由智能机器人程序解析(例如,使用所定义的对话流和示例话语),而在定制组件导航中,意图解析可以从定制组件转发到智能机器人程序(如本公开所示)。在以上定制组件导航的示例中,定制组件按顺序显示多条消息(例如,其间没有用户动作),并且当用户提示时,定制组件负责配置智能机器人程序以解析用户意图。在一些实施例中,对话流的导航可以包括对话导航和定制组件导航(例如,以组合的形式)。
示出了多个示例对话流的导航的附加示例文本如下:
样本对话:针对所有部门的国家级视图
用户:“我想看看我在美国的商店绩效如何。”
机器人程序:“好的。您似乎想查看针对商店的国家级度量。请从以下各项中指定位置:<美国、欧洲、美国电子商务>?”
用户:“美国”。
机器人程序:“您是想要审查特定部门还是所有部门?”
用户:“所有部门”。
机器人程序:“针对(一个或多个)所指定地点和所有部门的汇总度量为:收入为2756451.736,收入变化为-1.49%,毛利润为1868901.003,毛利润变化为-3%,销售率为0.6861,销售率改变为1.28%。”
样本对话:针对所选择部门的国家级视图
用户:“我想看看我在美国的商店绩效如何。”
机器人程序:“好的。您似乎想查看针对商店的国家级度量。请从以下各项中指定位置:<美国、欧洲、美国电子商务>?”
用户:“美国”。
机器人程序:“您是想要审查特定部门还是所有部门?”
用户:“特定部门”。
机器人程序:“您对哪个部门感兴趣?”
用户:“女士运动装”
机器人程序:“针对(一个或多个)所指定地点和(一个或多个)部门的汇总度量为:收入为2756451.736,收入变化为-1.49%,毛利润为1868901.003,毛利润变化为-3%,销售率为0.6861,销售率改变为1.28%。”
样本对话:例外管理
用户:“我想查看不满足批准条件的位置。”
机器人程序:“好的。您似乎对找到例外感兴趣。首先,您对哪个部门感兴趣?”
用户:“女士运动装”。
机器人程序:“您要寻找什么度量:收入增长、利润增长、销售率增长或销售率?”
用户:“销售率”。
机器人程序:“请指定用于标识绩效差的位置的阈值(例如,15%)。”
用户:“10%”。
机器人程序:“销售率低于10%的女士运动服部门的位置是公司。”
机器人程序:“您想查看该部门和该位置的运行摘要吗?”
用户:“是”。
机器人程序:“运行Copy_Of_test的度量是:收入为2756451.736,收入变化为-1.49%,毛利润为1868901.003,毛利润变化为-3%,销售率为0.6861,销售率变化为1.28%。
机器人程序:“您想批准该运行吗-是/否?”
根据用户在此处回答的内容,该流程将有所不同。如果用户说“是”,则将用户带到批准用例。如果用户说“否”,则将用户带到重新计算用例。
样本对话:批准用例
用户:“我想审查度量,并希望今天进行运行批准。”
机器人程序:“好的。您似乎对批准运行感兴趣。首先,您对哪个位置感兴趣?”
用户:“公司”。
机器人程序:“您对哪个部门感兴趣?”
用户:“女士运动服”。
机器人程序:“运行Copy_Of_test的度量是:收入为2756451.736,收入变化为-1.49%,毛利润为1868901.003,毛利润变化为-3%,销售率为0.6861,销售率变化为1.28%。”
机器人程序:“您想批准该运行吗-是/否”
用户:“是”。
机器人程序:“该运行已获批准,并且报价已发送给顾客。”
机器人程序:“请让我知道关于报价优化应用程序我如何帮您。”
样本对话:重新计算用例
用户:“我想审查度量,并希望查看是否对推荐进行任何更改。”
机器人程序:“好的。您似乎对接受或拒绝推荐感兴趣。首先,您对哪个位置感兴趣?”
用户:“公司”。
机器人程序:“您对哪个部门感兴趣?”
用户:“女士运动服”。
机器人程序:“运行Copy_Of_test的度量为:收入为2756451.736,收入变化为-1.49%,毛利润为1868901.003,毛利润变化为-3%,销售率为0.6861,销售率变化为1.28%。”
机器人程序:“您想批准该运行吗-是/否?”
用户:“否”。
机器人程序:“您想接受/拒绝可用的推荐吗?-接受/拒绝。”
用户:“接受”。
机器人程序:“您想接受促销/降价推荐吗?-促销/降价。”
用户:“促销”。
机器人程序:“接受促销推荐的最大折扣百分比度量是多少?”
用户:“40%”。
机器人程序:“促销价格推荐低于40%已被接受。”
机器人程序:“您是否想重新计算度量-是/否?”
用户:“是”。
机器人程序:“已提交运行以重新计算度量。要查看新的度量,请查询机器人程序。”
机器人程序:“请让我知道关于报价优化应用程序我下一步如何帮助您。”
在一些实施例中,可以在企业应用程序的上下文中举行聊天会话(例如,以便执行动作和/或检索与企业应用程序相关联的数据)。例如,企业应用程序可以包括报价优化功能(例如,具有报价优化的
Figure BDA0002590057390000291
零售高级科学云服务)。在一些实施例中,企业应用程序可以包括和/或访问企业数据,例如多维企业数据模型。这样的模型可以包括数据维度,例如产品、度量、位置、日历、季节、部门等。在一些实施例中,维度可以每个都包括多个成员(例如,多个产品、组织度量、位置、日历定时、季节、部门等),并且在一些实施方式中,这些成员中的一个或多个可以具有多级别的组织结构或者可以按层次结构进行组织(例如,根据产品线组织的产品,根据更一般的度量组织的特定组织度量,例如,退货下面的店内退货,较大地理位置下面的特定位置,较大日历定时下面的更细日历定时,例如月下面的周、更一般的部门下的特定部门,等等)。
在一些实施例中,这些维度的典型代表可以描述有用的信息,例如,在一年中的特定时间段内,特定地理位置内的商店中,特定产品线的总销售额。在此示例的情况下,可以基于产品、度量、位置和日历维度的成员的指定典型代表(例如,在这些维度中感兴趣的每个维度内各个体成员指定的典型代表)来检索此信息。因此,在某些情况下,访问企业数据可能涉及指定多维数据模型中的成员的参数。
在一些实施例中,报价优化可以用于确定促销、降价或靶向报价的推荐定价。例如,促销和降价可以在位置级别(例如,价格区域),并且靶向报价可以考虑位置和/或可以特定于每个顾客。促销、降价或靶向报价的定时和深度可能会在产品的生命周期中影响库存管理。例如,报价优化可以用在以下示例情境中:
·将库存提高到理想水平,不仅在全价销售时期,而且在清仓时期。
·在整个产品生命周期中最大化总毛利润额。
·评估季节表现。
·每周更新推荐。这有助于基于最近的数据(包括新的销售、库存、价格水平、计划的促销以及其他相关数据)作出决策。
·在细分市场级别上提供靶向价格推荐。
在一些实施例中,可以通过生成价格推荐来使用报价优化来增强买方的业务策略,例如针对部门的业务策略。买方可以指定业务策略,并可能想要确定何时提供促销、促销的深度、哪些物品被视为促销的一部分以及有关降价的类似问题,同时要记住某些业务规则和库存水平。在一些实施例中,考虑提供促销或降价时的收益以及是否提供可以一种高效的方式实现优化目标的任何特定于顾客的促销,报价优化可以运行不同的价格组合。一旦优化完成,运行即可进入“准备好进行审查”状态。用户可以审查推荐(例如,在每个物品级别),并决定接受、拒绝或推翻该推荐。一旦完成,运行状态可以更改为“已审查”。经过审查的运行可以到达买方以供批准。如果买方喜欢该推荐,则买方可以将运行状态更改为“已提交”。例如,“提交”可以指示价格推荐被发送到价格执行系统或软件应用程序。
在一些实施例中,可以在经配置的处理(或运行)位置、商品级别和日历级别执行优化。一旦优化完成,就可以在比处理级别更低的级别上生成推荐,这被称为针对商品级别和位置级别的推荐级别。位置和商品级别可以分别是位置层次结构和商品层次结构中的任何级别。实施例包括考虑以下内容的优化:可以在运行的商品级别以下的一个级别上进行的优化(例如,如果运行商品级别为部门(Department),则每个作业都在类(Class)级别);在经配置的推荐商品级别,库存可以滚动到所需的推荐商品级别和/或库存可以跨多个或所有位置汇总到运行的位置级别;可以在推荐商品、位置和日历级别以及客户群级别生成价格推荐。
图6A-6C示出了根据示例实施例的示例对话流程。例如,企业应用程序600描绘了企业应用程序,例如零售报价优化应用程序。聊天窗口602描述了智能机器人程序与用户之间对话流的导航,包括解析意图、导航企业数据的定制数据层、检索企业信息以及触发企业批处理。
图7示出了根据示例实施例的用于使用经过训练的智能机器人程序来导航对话流的流程图。在一个实施例中,图7的功能由存储在存储器或其他计算机可读或有形介质中的软件实现,并由处理器执行。在其他实施例中,每个功能可以由硬件(例如,通过使用专用集成电路(“ASIC”)、可编程门阵列(“PGA”)、现场可编程门阵列(“FPGA”)等),或硬件和软件的任何组合执行。在实施例中,图7的功能可以由图2的系统200的一个或多个元件执行。
在702处,在用户与经过训练的智能机器人程序之间的聊天会话发起时,可以从用户接收一个或多个话语。例如,可以在与企业应用程序交互的用户与由机器人程序服务提供的智能机器人程序之间发起聊天会话。可以从用户接收表明用户意图或用例的话语或语言/文本。
在704处,可以使用经过训练的智能机器人程序来处理话语,以从多个预定义意图中解析意图,其中,基于与每个预定义意图相关联的训练数据,对智能机器人程序进行训练以从用户话语中解析预定义意图。例如,训练智能机器人程序以解析的每个意图都可以与一系列示例话语或训练数据相关联。可以使用这些示例来训练智能机器人程序,从而可以在执行解析时从多个意图中区分意图。
在706处,智能机器人程序可以例如响应于用户的话语生成消息。在708处,可以例如响应于来自智能机器人程序的提示或消息接收来自用户的响应。在710处,该通信可以涉及导航与所解析的意图相关联的预定义对话流。
例如,意图可以与定义智能机器人程序用来导航对话流的状态、转换和变量的数据文档(例如,预定义的对话流)相关联。在实施例中,预定义的对话流将智能机器人程序配置为从用户获取用于检索请求的参数,并且该参数基于与预定义的对话流相关联的所解析的意图。例如,对话流的导航可以涉及保护用于企业动作(例如,检索企业数据或执行企业批处理)的参数。
在实施例中,导航预定义对话流包括从智能机器人程序生成预配置的消息,该消息提示用户输入用于检索请求的参数。例如,智能机器人程序可以在定义对话流的数据定义文档内的状态之间转换时,生成预配置的消息。在实施例中,响应于由智能机器人程序在第一状态下生成的第一预配置消息,可以基于来自用户的输入,从多个状态中的至少第一状态转换到多个状态中的第二状态。例如,当响应于第一预配置消息,来自用户的输入具有第一类别时,数据定义文档可以定义从第一状态到第二状态的转换,并且当响应于第一预配置消息,来自用户的输入具有第二类别时,定义从第一状态到第三状态的转换。
在712处,可以基于导航对话流来生成检索请求以使用参数来检索企业数据。例如,企业数据可以包括多维数据的典型代表,并且导航对话流可以包括智能机器人程序,该智能机器人程序从用户获取用于检索该多维数据的参数。然后可以调用定制功能(例如,REST API)来检索企业数据,例如从企业数据存储或数据库中。
在714处,可以在导航对话流的同时触发批处理。例如,批处理可以包括批准针对优化零售报价的推荐,在编辑用于流程的参数(例如,促销阈值、降价等)之后运行报价优化流程,拒绝推荐报价或推荐报价的子集,以及其他适合的批处理。
图8示出了根据示例实施例的,包括库存管理的集成的供应商、库存和物流系统。如图8所示,系统800可以包括企业业务系统870,该企业业务系统870执行代码以使用仓库880管理企业位置801-804的产品库存,并将产品从仓库880直接运送到消费者。企业业务系统870通过云网络850或其他类型的通信网络与一个或多个库存系统820进行通信。在一些实施例中,企业业务系统870的零售报价优化软件可以生成针对各种产品的优化报价。库存系统820和仓库880可以基于这些优化的报价执行往返于企业位置801-804的运输。在一些实施例中,定制的和经过训练的模型的使用可以提供对这些库存水平的改进,从而产生更有效的运输过程。
库存系统820存储库存并提供运输物流,以使用卡车810-813或某些其他运输机制将物品运送到企业位置801-804和消费者位置(例如,消费者的家)。在一个实施例中,库存系统820实施企业应用程序专用计算机系统或专用库存控制系统,其使用来自诸如零售报价优化软件之类的企业业务系统810的输入来确定库存水平以及产品交付到企业位置801-804的数量和定时。
仓库880可以是履行仓库,其基于库存系统820向企业位置801-804供应一个或多个产品,并将产品运送到消费者位置(例如,消费者的家)。在一个实施例中,仓库880实施使用来自企业业务系统810的输入的专用计算机系统或专用供应商系统(例如,零售报价优化软件),来确定产品装运到库存系统820和/或企业位置801-804的数量和定时。在一些实施例中,例如基于对企业位置801-804的退货,仓库880可以接收来自企业位置的装运,例如以确保企业位置不被过度供应并且具有足够的产品种类。
实施例使用经过训练的智能机器人程序来导航对话流。在一些实施例中,可以在用户和经过训练的AI组件(例如,经过训练的智能机器人程序)之间发起聊天会话。例如,用户可以与例如具有给定配置的企业软件应用程序之类的软件应用程序交互。软件应用程序配置可以包括软件应用程序显示的数据,用户正在查看、正在分析或以其他方式选择的数据的典型代表,用户标识或角色以及任何其他适合的配置信息。在一些实施例中,这样的软件应用程序配置信息可以被称为上下文。
当与经过训练的智能机器人程序聊天时,用户可能具有意图。例如,当使用企业应用程序时,用户可能想要检索某些企业数据,处理或分析某些数据,运行批处理软件过程或某些其他功能,这些功能的组合或任何其他适合的意图。在一些实施例中,可以基于用户输入的文本或用户话语来训练智能机器人程序以从多个意图中解析意图。例如,可以针对多个意图中的每一个意图用示例文本来训练智能机器人程序,并且因此可以利用示例来从用户话语中解析意图。可以传递给智能机器人程序的软件应用程序上下文也可以用于解析意图。
在一些实施例中,智能机器人程序可以导航与所解析的意图相关联的预定义对话流。例如,可以在标记语言数据文档(或其他数据描述语言文档)中定义与意图相关联的对话流。在一些实施例中,数据文档可以定义对话流的变量、状态和变换。智能机器人程序可以基于预定义的对话流与用户交换消息。在一些实施例中,由智能机器人程序跟随以导航对话流的状态转换基于用户对智能机器人程序的消息提供的响应。
在一些实施例中,对话流的导航可以触发功能的执行。例如,可以生成检索请求以获得企业数据,其中用于检索请求的参数基于在导航对话流和/或软件应用上下文时用户提供的响应。在另一示例中,可以触发软件处理(例如,批处理),例如基于用户干预/编辑进行调整或包括用户批准的处理,其中对话流可以涉及用户干预、编辑和/或与软件处理有关的批准。在一些实施例中,这些功能中的一个或多个可以被包括在对话流的导航内。
在整个说明书中描述的本公开的特征、结构或特性可以在一个或多个实施例中以任何适合的方式组合。例如,在整个说明书中,“一个实施例”、“一些实施例”、“某个实施例”、“某些实施例”或其他类似语言的使用是指这样的事实,即结合实施例描述的特定特征、结构或特性可以被包括在本公开的至少一个实施例中。因此,在整个说明书中,出现短语“一个实施例”、“一些实施例”、“某个实施例”、“某些实施例”或其他类似语言不一定全都指同一组实施例,并且所描述的特征、结构或特性可以在一个或多个实施例中以任何适合的方式组合。
本领域普通技术人员将容易理解,可以以不同顺序的步骤和/或以与所公开的配置不同的配置的元件来实施上文讨论的实施例。因此,尽管本公开考虑了概述的实施例,但是对于本领域技术人员而言显而易见的是,某些修改、变型和替代构造将是显而易见的,同时仍在本公开的精神和范围内。因此,为了确定本公开的范围和界限,应参考所附权利要求。

Claims (20)

1.一种使用经过训练的智能机器人程序导航对话流的方法,所述方法包括:
在用户和经过训练的智能机器人程序之间发起聊天会话时,从所述用户接收一个或多个话语;
使用所述经过训练的智能机器人程序处理所述话语以从多个预定义意图中解析意图,其中,所述智能机器人程序被基于与每个所述预定义意图相关联的训练数据而训练,以从用户话语中解析预定义意图;
使用所述智能机器人程序导航与所解析的意图相关联的预定义对话流,其中所述智能机器人程序使用与所述用户或所述聊天会话相关联的上下文变量,在所述对话流中引导所述用户;
使用基于所述对话流的导航或所述上下文变量中的一个或多个生成的检索请求,向所述用户提供由所述智能机器人程序检索的企业数据。
2.根据权利要求1所述的方法,其中,与所解析的意图相关联的训练数据包括指示所解析的意图的用户话语的多个示例。
3.根据权利要求1所述的方法,其中,所述预定义对话流将所述智能机器人程序配置为从所述用户获取用于所述检索请求的参数,并且所述参数基于与所述预定义对话流相关联的所解析的意图。
4.根据权利要求3所述的方法,其中,所述对话流由数据定义文档定义,所述数据定义文档包括用于所述对话流的状态、转换和变量。
5.根据权利要求4所述的方法,其中,导航所述预定义对话流包括:从所述智能机器人程序生成预配置消息,所述预配置消息提示所述用户输入用于所述检索请求的参数。
6.根据权利要求5所述的方法,其中,所述预配置消息是在定义所述对话流的数据定义文档内的状态之间进行转换时由所述智能机器人程序生成的。
7.根据权利要求6所述的方法,其中,从所述多个状态中的至少第一状态转换到所述多个状态中的第二状态基于响应于由所述智能机器人程序在所述第一状态下生成的第一预配置消息的来自所述用户的输入。
8.根据权利要求7所述的方法,其中,当响应于所述第一预配置消息的来自所述用户的输入具有第一类别时,所述数据定义文档定义从所述第一状态到所述第二状态的转换,以及当响应于所述第一预配置消息的来自所述用户的输入具有第二类别时,所述数据定义文档定义从所述第一状态到第三状态的转换。
9.根据权利要求1所述的方法,还包括:
响应于基于所述预定义对话流的导航的用户输入,触发批处理。
10.根据权利要求9所述的方法,其中,所述批处理取决于导航所述预定义对话流时接收到的用户批准,或者导航所述预定义对话流时对接收到的企业信息的用户编辑。
11.一种用于使用经过训练的智能机器人程序导航对话流的系统,所述系统包括:
处理器;以及
存储器,所述存储器存储供所述处理器执行的指令,所述指令将所述处理器配置为:
在用户和经过训练的智能机器人程序之间发起聊天会话时,从所述用户接收一个或多个话语;
使用所述经过训练的智能机器人程序处理所述话语以从多个预定义意图中解析意图,其中,所述智能机器人程序被基于与每个所述预定义意图相关联的训练数据而训练,以从用户话语中解析预定义意图;
使用所述智能机器人程序导航与所解析的意图相关联的预定义对话流,其中所述智能机器人程序使用与所述用户或所述聊天会话相关联的上下文变量,在所述对话流中引导所述用户;
使用基于所述对话流的导航或所述上下文变量中的一个或多个生成的检索请求,向所述用户提供由所述智能机器人程序检索的企业数据。
12.根据权利要求11所述的系统,其中,与所解析的意图相关联的训练数据包括指示所解析的意图的用户话语的多个示例。
13.根据权利要求11所述的系统,其中,所述预定义对话流将所述智能机器人程序配置为从所述用户获取用于所述检索请求的参数,并且所述参数基于与所述预定义对话流相关联的所解析的意图。
14.根据权利要求13所述的系统,其中,所述对话流由数据定义文档定义,所述数据定义文档包括用于所述对话流的状态、转换和变量。
15.根据权利要求14所述的系统,其中,导航所述预定义对话流包括:从所述智能机器人程序生成预配置消息,所述预配置消息提示所述用户输入用于所述检索请求的参数。
16.根据权利要求15所述的系统,其中,所述预配置消息是在定义所述对话流的数据定义文档内的状态之间进行转换时由所述智能机器人程序生成的。
17.根据权利要求16所述的系统,其中,从所述多个状态中的至少第一状态转换到所述多个状态中的第二状态基于响应于由所述智能机器人程序在所述第一状态下生成的第一预配置消息的来自所述用户的输入。
18.根据权利要求17所述的系统,其中,当响应于所述第一预配置消息的来自所述用户的输入具有第一类别时,所述数据定义文档定义从所述第一状态到所述第二状态的转换,以及当响应于所述第一预配置消息的来自所述用户的输入具有第二类别时,所述数据定义文档定义从所述第一状态到第三状态的转换。
19.根据权利要求11所述的系统,其中,所述处理器还被配置为:
响应于基于所述预定义对话流的导航的用户输入,触发批处理。
20.一种非暂态计算机可读介质,其上存储有指令,所述指令当由处理器执行时,使得所述处理器使用经过训练的智能机器人程序导航对话流,其中,所述指令在被执行时使得所述处理器:
在用户和经过训练的智能机器人程序之间发起聊天会话时,从所述用户接收一个或多个话语;
使用所述经过训练的智能机器人程序处理所述话语以从多个预定义意图中解析意图,其中,基于与每个所述预定义意图相关联的训练数据,训练所述智能机器人程序以从用户话语中解析预定义意图;
使用所述智能机器人程序导航与所解析的意图相关联的预定义对话流,其中所述智能机器人程序使用与所述用户或所述聊天会话相关联的上下文变量,在所述对话流中引导所述用户;
使用基于生成的检索请求,向所述用户提供由所述智能机器人程序检索的企业数据。
CN201980009117.7A 2018-10-22 2019-10-04 用于导航对话流的机器学习工具 Pending CN111630506A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862748929P 2018-10-22 2018-10-22
US62/748,929 2018-10-22
US16/387,834 2019-04-18
US16/387,834 US11501763B2 (en) 2018-10-22 2019-04-18 Machine learning tool for navigating a dialogue flow
PCT/US2019/054643 WO2020086234A1 (en) 2018-10-22 2019-10-04 Machine learning tool for navigating a dialogue flow

Publications (1)

Publication Number Publication Date
CN111630506A true CN111630506A (zh) 2020-09-04

Family

ID=70279211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980009117.7A Pending CN111630506A (zh) 2018-10-22 2019-10-04 用于导航对话流的机器学习工具

Country Status (5)

Country Link
US (1) US11501763B2 (zh)
EP (1) EP3821352A1 (zh)
JP (1) JP7483608B2 (zh)
CN (1) CN111630506A (zh)
WO (1) WO2020086234A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10594635B2 (en) * 2018-04-20 2020-03-17 Oracle International Corporation Managing customer relationship using multiple chat servers designed to interface with service applications
US11500655B2 (en) 2018-08-22 2022-11-15 Microstrategy Incorporated Inline and contextual delivery of database content
US11714955B2 (en) 2018-08-22 2023-08-01 Microstrategy Incorporated Dynamic document annotations
US11682390B2 (en) * 2019-02-06 2023-06-20 Microstrategy Incorporated Interactive interface for analytics
CN114051740B (zh) * 2019-06-12 2023-06-09 利维帕尔森有限公司 用于外部系统集成的系统和方法
US11095577B2 (en) * 2019-07-01 2021-08-17 Open Text Corporation Conversation-enabled document system and method
US11184298B2 (en) * 2019-08-28 2021-11-23 International Business Machines Corporation Methods and systems for improving chatbot intent training by correlating user feedback provided subsequent to a failed response to an initial user intent
US11966705B2 (en) * 2019-11-13 2024-04-23 Fmr Llc Systems and methods for bot dialog delegation
US11665281B2 (en) * 2020-02-27 2023-05-30 Byung Kwan Jung Call recommendation system and call recommendation method based on artificial intelligence
US11561775B2 (en) 2020-03-30 2023-01-24 Nuance Communications, Inc. Development system and method
US11501754B2 (en) * 2020-07-07 2022-11-15 Beijing Didi Infinity Technology And Development Co., Ltd. Specifying trip destinations from spoken dialogs
US11914650B2 (en) * 2020-07-22 2024-02-27 International Business Machines Corporation Data amalgamation management between multiple digital personal assistants
US20220335452A1 (en) * 2021-04-20 2022-10-20 Walmart Apollo, Llc Systems and methods for retail facilities
US11451496B1 (en) * 2021-04-30 2022-09-20 Microsoft Technology Licensing, Llc Intelligent, personalized, and dynamic chatbot conversation
US12106067B2 (en) * 2022-01-24 2024-10-01 Jpmorgan Chase Bank, N.A. Voice assistant system and method for performing voice activated machine translation
US11790107B1 (en) 2022-11-03 2023-10-17 Vignet Incorporated Data sharing platform for researchers conducting clinical trials
US12007870B1 (en) 2022-11-03 2024-06-11 Vignet Incorporated Monitoring and adjusting data collection from remote participants for health research
US11907230B1 (en) * 2023-01-10 2024-02-20 Dell Products L.P. System and method for distributed management of hardware based on intent
US11929891B1 (en) 2023-01-10 2024-03-12 Dell Products L.P. System and method for distributed management of hardware through relationship management

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010049688A1 (en) * 2000-03-06 2001-12-06 Raya Fratkina System and method for providing an intelligent multi-step dialog with a user
US20180025726A1 (en) * 2016-07-22 2018-01-25 International Business Machines Corporation Creating coordinated multi-chatbots using natural dialogues by means of knowledge base
CN108170734A (zh) * 2017-12-15 2018-06-15 国网冀北电力有限公司信息通信分公司 一种智能化运维机器人
US10013416B1 (en) * 2015-12-18 2018-07-03 Amazon Technologies, Inc. Language based solution agent
CA2995929A1 (en) * 2017-03-09 2018-09-09 Capital One Services, Llc Systems and methods for providing automated natural language dialogue with customers

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370532B1 (en) * 1998-11-09 2002-04-09 Unisys Corporation Cool ICE batch interface
US6206104B1 (en) * 1998-11-27 2001-03-27 John M. Bouchard Bare root tree and stump extracting tool
US7200838B2 (en) * 2000-12-20 2007-04-03 National Instruments Corporation System and method for automatically generating a graphical program in response to a state diagram
EP1410381A4 (en) * 2001-05-04 2005-10-19 Unisys Corp DYNAMIC GENERATION OF VOICE APPLICATION INFORMATION FROM A WEB SERVER
US7412393B1 (en) * 2004-03-01 2008-08-12 At&T Corp. Method for developing a dialog manager using modular spoken-dialog components
US7930182B2 (en) * 2005-03-15 2011-04-19 Nuance Communications, Inc. Computer-implemented tool for creation of speech application code and associated functional specification
US8423635B2 (en) * 2007-06-11 2013-04-16 Enghouse Interactive Inc. System and method for automatic call flow detection
US8407159B2 (en) * 2010-11-17 2013-03-26 Microsoft Corporation Automatic batching of GUI-based tasks
US20150039316A1 (en) * 2013-07-31 2015-02-05 GM Global Technology Operations LLC Systems and methods for managing dialog context in speech systems
DE112014005354T5 (de) * 2013-11-25 2016-08-04 Mitsubishi Electric Corporation Dialog-management-system und dialog-management-verfahren
SG11201702029PA (en) 2014-09-14 2017-04-27 Speaktoit Inc Platform for creating customizable dialog system engines
JP6736691B2 (ja) 2016-06-13 2020-08-05 グーグル エルエルシー 人間のオペレータへのエスカレーション
US20180131642A1 (en) * 2016-11-04 2018-05-10 Microsoft Technology Licensing, Llc Conversation runtime
JP2018160088A (ja) 2017-03-23 2018-10-11 株式会社サテライトオフィス チャットシステム、プログラム
US10706085B2 (en) * 2018-01-03 2020-07-07 Oracle International Corporation Method and system for exposing virtual assistant services across multiple platforms
US10733982B2 (en) * 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10678406B1 (en) * 2018-02-05 2020-06-09 Botsociety, Inc. Conversational user interface design
US10997222B2 (en) * 2018-06-29 2021-05-04 International Business Machines Corporation Conversational agent dialog flow user interface

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010049688A1 (en) * 2000-03-06 2001-12-06 Raya Fratkina System and method for providing an intelligent multi-step dialog with a user
US10013416B1 (en) * 2015-12-18 2018-07-03 Amazon Technologies, Inc. Language based solution agent
US20180025726A1 (en) * 2016-07-22 2018-01-25 International Business Machines Corporation Creating coordinated multi-chatbots using natural dialogues by means of knowledge base
CA2995929A1 (en) * 2017-03-09 2018-09-09 Capital One Services, Llc Systems and methods for providing automated natural language dialogue with customers
CN108170734A (zh) * 2017-12-15 2018-06-15 国网冀北电力有限公司信息通信分公司 一种智能化运维机器人

Also Published As

Publication number Publication date
JP2022502721A (ja) 2022-01-11
WO2020086234A1 (en) 2020-04-30
EP3821352A1 (en) 2021-05-19
US11501763B2 (en) 2022-11-15
JP7483608B2 (ja) 2024-05-15
US20200126540A1 (en) 2020-04-23

Similar Documents

Publication Publication Date Title
CN111630506A (zh) 用于导航对话流的机器学习工具
US11983746B2 (en) User interface and process flow for providing an intent suggestion to a user in a text-based conversational experience with user feedback
US11100153B2 (en) Dynamic process model optimization in domains
US10943072B1 (en) Contextual and intent based natural language processing system and method
US11347783B2 (en) Implementing a software action based on machine interpretation of a language input
US11238228B2 (en) Training systems for pseudo labeling natural language
US11368415B2 (en) Intelligent, adaptable, and trainable bot that orchestrates automation and workflows across multiple applications
US11106683B2 (en) System architecture for interactive query processing
US20210288927A1 (en) Enabling communication with uniquely identifiable objects
US20240078246A1 (en) Systems and Methods for Unifying Formats and Adaptively Automating Processing of Business Records Data
US11656889B2 (en) Method and system for automatically invoking functionality while using a primary application without user action
US10733240B1 (en) Predicting contract details using an unstructured data source
US20130326470A1 (en) Domain-specific generation of programming interfaces for business objects
US20160283876A1 (en) System and method for providing automomous contextual information life cycle management
US20140372158A1 (en) Determining Optimal Decision Trees
US20210149888A1 (en) Natural Language Analytics Queries
US20210272128A1 (en) Contextual user interface interaction logging and analysis
EP4071683A1 (en) Intelligent computer functionality and visualization for inventory item placement
US20220327147A1 (en) Method for updating information of point of interest, electronic device and storage medium
US20210383300A1 (en) Machine learning based application for the intelligent enterprise
WO2014168961A1 (en) Generating data analytics using a domain model
US20230245150A1 (en) Method and system for recognizing user shopping intent and updating a graphical user interface
US20240311559A1 (en) Enterprise-specific context-aware augmented analytics
Bamhaoued Functional design of a bot for query redirection in an employee web page oriented.

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