CN113647067A - 跨通信信道维护机器语言模型状态 - Google Patents
跨通信信道维护机器语言模型状态 Download PDFInfo
- Publication number
- CN113647067A CN113647067A CN202080028364.4A CN202080028364A CN113647067A CN 113647067 A CN113647067 A CN 113647067A CN 202080028364 A CN202080028364 A CN 202080028364A CN 113647067 A CN113647067 A CN 113647067A
- Authority
- CN
- China
- Prior art keywords
- channel
- user
- action
- communication
- customer
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 302
- 238000000034 method Methods 0.000 claims abstract description 210
- 230000009471 action Effects 0.000 claims abstract description 182
- 238000010801 machine learning Methods 0.000 claims abstract description 153
- 230000008569 process Effects 0.000 claims abstract description 71
- 230000004044 response Effects 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims description 59
- 230000015654 memory Effects 0.000 claims description 20
- 238000012546 transfer Methods 0.000 claims description 13
- 210000002569 neuron Anatomy 0.000 claims description 7
- 230000036651 mood Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 abstract description 4
- 239000003795 chemical substances by application Substances 0.000 description 190
- 230000007704 transition Effects 0.000 description 34
- 238000012552 review Methods 0.000 description 15
- 238000013528 artificial neural network Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 238000013178 mathematical model Methods 0.000 description 10
- 238000012550 audit Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 230000006855 networking Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 210000004027 cell Anatomy 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013518 transcription Methods 0.000 description 2
- 230000035897 transcription Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- NIXOWILDQLNWCW-UHFFFAOYSA-M Acrylate Chemical compound [O-]C(=O)C=C NIXOWILDQLNWCW-UHFFFAOYSA-M 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 229920001577 copolymer Polymers 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
- G10L13/027—Concept to speech synthesisers; Generation of natural phrases from machine-based concepts
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/5141—Details of processing calls and other types of contacts in an unified manner
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/5166—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing in combination with interactive voice response systems or voice portals, e.g. as front-ends
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/5183—Call or contact centers with computer-telephony arrangements
- H04M3/5191—Call or contact centers with computer-telephony arrangements interacting with the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/0024—Services and arrangements where telephone services are combined with data services
- H04M7/0042—Services and arrangements where telephone services are combined with data services where the data service is a text-based messaging service
- H04M7/0045—Services and arrangements where telephone services are combined with data services where the data service is a text-based messaging service where the text-based messaging service is an instant messaging service
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/20—Aspects of automatic or semi-automatic exchanges related to features of supplementary services
- H04M2203/2038—Call context notifications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Marketing (AREA)
- Business, Economics & Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Telephonic Communication Services (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
可以在通信会话期间使用机器学习模型来处理自然语言通信并执行与通信会话相关的动作。例如,机器学习模型可以用于向用户提供自动响应、建议用户输入的文本的补全或提供关于相关资源的信息。此外,公司可以实现自动工作流程以方便用户或降低支持成本。例如,允许用户使用自动工作流程改变地址可能相比于用人工代理更快或不太昂贵。
Description
优先权要求
本专利申请要求 2019年4月12日提交并且题为“MAINTAINING MACHINE LANGUAGEMODEL STATE ACROSS COMMUNICATIONS CHANNELS”(ASAP-0021-P01)的美国专利申请序列号62/833,262的权益。
本专利申请要求以下美国专利申请中的每一个的权益,并且是其延续:2019年7月4日提交并且题为“MAINTAINING MACHINE LANGUAGE MODEL STATE ACROSSCOMMUNICATIONS CHANNELS”(ASAP-0021-U01)的美国专利申请序列号16/503,528;2019年7月4日提交并且题为“AUTOMATED COMMUNICATIONS OVER MULTIPLE CHANNELS”(ASAP-0021-U02)的美国专利申请序列号16/503,529;和2019年7月4日提交并且题为“INITIALIZATIONOF AUTOMATED WORKFLOWS”(ASAP-0021-U03)的美国专利申请序列号16/503,531。
出于所有目的,上述申请中的每一个的内容特此通过引用以其整体被并入。
背景技术
实体(例如,人、自动响应系统和/或这些的组合)之间的对话可以在各种情况下发生,诸如公司的客户和帮助客户的客户服务代表之间的客户支持会话。对话可能发生在不同类型的信道上。例如,一些对话可能发生在文本信道上,其中对话的参与者以文本形式交换消息,并且一些对话可能发生在语音信道上,其中对话的参与者通过传输音频信号与每个人交谈(speak)。
在一些实例中,可能期望在某类型的信道之间(例如,从语音信道到文本信道)或在各种对话实体(例如,人和/或自动对话实体)之间切换。当前已知的系统在对话信道和/或参与者之间切换时存在许多缺点。例如,在转换期间可能会发生延迟和/或中断,诸如:在对话实体确定发生了信道或实体切换并花费时间确定新的正确信道或实体的情况下;在对话实体利用不正确的信道(例如,错过切换和/或切换到错误的信道)的情况下;和/或在对话实体错过必须重复的消息和/或导致错误通信的情况下(例如,在信道已切换但对话实体不知道该切换的情况下)。此外或替代地,信道和/或参与者的变化可能会导致更困难或错误的通信——例如,在先前的通信不可以新的信道格式容易访问的情况下;在一些通信历史丢失、遗忘或遗漏的情况下;和/或在新信道的变化(例如,通信公约、地址等)导致提供新消息、理解先前消息和/或为新信道提供次优消息中的延迟的情况下。
附图说明
通过参考以下附图可以理解本发明及其一些实施例的以下详细描述:
图1是用于在信道之间和/或在人工代理和自动代理之间转换客户支持会话的示例系统。
图2A是用于将客户从语音信道转换到文本信道的示例方法。
图2B是文本信道的示例用户界面。
图3是用于将客户支持会话从第一信道转换到第二信道的示例系统。
图4A和4B是用于将客户支持会话从第一信道转换到第二信道的示例方法。
图5是用于在多个信道上实现自动代理的示例系统。
图6是用于在多个信道上实现自动代理的示例方法。
图7是可以由自动代理处理的工作流程的示例列表。
图8A和8B是可以由人工代理用于帮助客户的示例用户界面。
图9是用于通过使用机器学习模型来处理客户和人工代理之间的通信来改进客户支持的示例方法。
图10是用于存储多种类型信道的日志的示例通用日志系统。
图11A-11C是跨三个信道的通用日志条目的示例表示。
图12A和12B是用于实现通用日志系统的示例方法。
图13是第三方公司向其他公司提供服务的示例系统。
图14是可以用于实现本文描述的任何技术的示例性计算设备。
具体实施方式
人之间的对话在各种情况下,并使用各种类型的通信信道发生。例如,对话可以通过电话、在视频会议中或作为文本消息的交换发生。在一些情况下,一个人可能会进行对话,其中对话的另一端是使用人工智能技术和机器学习模型生成的。本文描述的技术可以与任何类型的对话一起使用,但是为了呈现的清楚,将使用客户与人类客户服务代理之间或客户与自动客户支持之间的客户支持会话的示例作为示例对话。
公司需要与客户高效地交互以向它们的客户提供服务。例如,客户可能需要获得关于公司的服务的信息,可能对计费有疑问,或者可能需要来自公司的技术支持。公司以多种不同的方式与客户交互。公司可能有web站点,并且客户可以导航该web站点以执行各种动作。公司可能有在用户设备(诸如智能电话或平板计算机)上运行的应用(“app”),其提供与web站点类似的服务。公司可能有客户可以呼叫以经由交互式语音响应获得信息或与客户服务代表交谈的电话号码。公司还可以使用各种社交媒体服务(诸如Facebook或Twitter)来响应客户。公司还可以使用各种形式的文本消息与客户互动。如本文中所使用的,文本消息包括作为文本发送的任何消息,包括但不限于:使用电子邮件、SMS(短消息服务)或专用应用(例如,Facebook Messenger、Apple iMessage、Google Hangouts或WhatsApp)发送的消息。
在一些实例中,公司可能会向客户提供自动支持。在这些实例中,客户是对话的一部分,其中从公司接收的消息由“机器人”生成,并由数学模型或过程生成。因此,对话可以包括在人和计算机之间或甚至在不同计算机之间(例如,在交换消息的两个机器人之间)交换的消息。
客户可以使用多种通信技术从公司寻求支持,并且本文中描述的技术不限于任何特定的通信技术。例如,客户可以通过输入文本消息或交谈来通信,并且客户可以使用任何适当的设备来发送消息,所述设备诸如计算机、智能电话、平板计算机、可穿戴设备或物联网设备。客户可以使用任何适当的技术来传输消息,例如使用在客户设备上运行的app(例如,公司的app或为处理客户请求而创建的第三方app)、web页面、文本消息收发客户端或发送电子邮件来传输通信。
如本文所使用的,信道包括在公司和客户之间传输通信的任何方式。本文描述的技术不限于任何特定的信道,并且以下是可能的信道的示例:来自固定电话的语音通话;来自手机的语音通话;使用第三方通信平台(例如Skype、Google Hangouts和AppleFacetime,其中每个第三方平台可能是一个单独的信道)的语音或视频通话;SMS或MMS消息;或第三方消息平台(例如Facebook Messenger、Apple Business Chat或Twitter,其中每个第三方平台可能是一个单独的信道)。
信道可以按它们的能力分组。例如,语音信道包括允许通过语音通信的任何信道,并且文本信道包括允许使用文本消息通信的任何信道,并且一些信道可以是语音和文本信道二者。公司可以通过多个信道与单个客户进行通信,例如根据客户的偏好或通信会话的目标。公司还可以同时通过多个信道与客户进行通信。
机器学习工具可以用于促进对话的各个方面。在一些对话中,对话的一端可以使用机器学习工具自动操作。例如,对于文本信道,算法可以生成要发送给某人的文本消息,并且对于语音信道,算法可以生成要呈现给某人的语音。在一些对话中,机器学习工具可以用于帮助对话中的人,诸如通过建议某人键入的文本或自动提供与对话相关的信息。
在一些情况下,可能期望改变通信信道或在人工代理提供的客户支持和自动客户支持之间切换。例如,通过电话接收客户支持的人可能会丢失连接并期望使用文本信道恢复对话。对于另一示例,某人可能正在与一个人工代理交谈,并且人工代理可以将该人转移到自动客户支持,因为自动客户支持可用于解决客户的支持问题。
因此,可能发生各种类型的转换。第一种类型的转换是从具有人工代理的第一信道到具有人工代理的第二信道的转换。例如,从文本支持到语音支持的转换,从语音支持到文本支持的转换,从第一种类型的文本支持(例如,Apple商务聊天)到第二种类型的文本支持(例如,SMS)的转换,或者从第一种类型的语音支持(例如,Skype)到第二种类型的语音支持(例如,电话通话)的转换。第二种类型的转换是从具有自动代理的第一信道到具有自动代理的第二信道的转换(上述任何信道转换)。第三种类型的转换是从接收来自自动代理的支持到接收来自人工代理的支持的转换(包括保持在同一信道上的上述任何信道转换)。最后,第四种类型的转换是从接收来自人工代理的支持到接收来自自动代理的支持的转换(包括保持在同一信道上的上述任何信道转换)。除了上述之外,转换可以包括从第一信道到第一信道和第二信道二者的转换。例如,客户可以同时通过文本信道和语音信道进行通信。
图1是用于在不同信道之间转换客户支持会话并且还用于在人工代理和自动代理之间转换的示例系统100。
在图1中,客户110可能正在寻求来自公司的客户支持。公司可能允许客户通过各种信道(诸如文本、音频或视频的任何组合)获得支持。客户可以具有他可以用来获得支持的多个设备,诸如允许客户向公司发送文本消息的客户文本设备111或允许客户使用语音与公司通信的客户语音设备112。客户可能具有支持文本和语音二者的单个设备(例如,智能手机),并且可能具有支持文本和语音通信之一或两者的多个设备(例如,固定电话、个人计算机、平板电脑等)。
因此,客户可以使用各种设备和信道寻求支持,并且可以寻求(或被分配到)与人工代理或自动代理的支持会话。作为支持会话的一部分,客户设备可以建立与公司的API(应用编程接口)服务器120的连接。尽管公司可能针对不同类型的支持请求具有不同的服务器,但为了呈现的清楚,图1图示了用于处理客户的支持请求的单个API服务器120。
API服务器120可以包括用于与客户通信的任何适当技术,诸如防火墙、负载平衡等。API服务器120可以与用于帮助客户支持过程的各种其他组件通信。例如,当客户110通过文本信道进行通信并从自动代理接收支持时,API服务器120可以与能够处理从客户接收的文本消息并提供适当响应的自动文本支持组件131通信。类似地,当客户通过语音信道进行通信并从自动代理接收支持时,API服务器120可以与自动语音支持组件132通信。
公司可能具有多个人工代理来为客户提供支持。人工代理可以提供通过文本信道的支持或通过语音信道的支持之一或二者。在图1中,文本代理151、文本代理152、文本代理153、语音代理161、语音代理162和语音代理163可用于向客户提供支持。当客户110从人工代理接收支持时,API服务器120可以根据客户所使用的通信信道将客户与文本代理或语音代理连接。
提供客户支持服务的公司可以使用机器学习技术来改进客户支持过程。图1图示了机器学习组件140,其可以用于促进自动支持和人工代理的支持二者。例如,在自动支持下,机器学习技术可以用于理解来自客户的通信,然后生成响应和/或执行作为支持过程的一部分的动作。在人工代理的支持下,机器学习技术可以用于帮助人工代理。例如,机器学习可以用于提供对由代理输入的文本的自动补全(completion),建议代理发送给客户的响应,或自动提供与对话主题相关的资源,诸如客户的账单历史或客户的线缆调制解调器手册。
机器学习技术可以包括在如下各项中描述的任何技术:美国专利9,715,496;美国专利10,109,275;美国公开申请公开2018/0374029;美国专利10,083,451;美国公开申请公开2019/0019197;美国专利9,892,414;美国专利申请序列号15/836,110;美国专利申请序列号15/863,225;美国专利10,210,244;美国专利10,097,690;美国专利10,169,315;美国专利申请序列号16/035,062;美国专利申请序列号16/054,473;美国专利申请序列号16/189,584;美国临时专利申请序列号62/777,434;美国专利申请序列号16/252,063;和美国临时专利申请序列号62/800,099;其中的每一个由此通过引用被并入。
在客户支持会话期间,客户可能会转换到不同的信道或在来自人工代理和自动代理的支持之间转换。转换可能由于各种原因而发生,诸如以下各项:客户为了自己的方便而希望转换到不同的信道;电话通话掉线;客户的问题可能更容易在不同的信道上得到解决;公司可能会建议客户从语音信道转换到文字信道以降低成本;或者公司可能会建议客户从人工支持转换到自动支持以方便客户并降低成本。
在特定信道上的客户支持会话期间,可以通过处理会话的通信来执行各种计算。在一些实现中,数学模型或机器学习模型,诸如神经网络,可以处理对话的文本或音频。例如,机器学习模型可以用于确定从客户接收到的通信意图、确定客户的情绪、建议人工代理发送给客户的消息,或本文或通过引用并入的专利和申请中描述的数学模型的任何应用。可以在整个客户支持会话期间使用和更新计算。
当客户从第一信道转换到第二信道时,可能期望在转换到第二信道之后使用利用第一信道执行的计算结果。因此,高速缓存160可以用于存储在利用第一信道的客户支持会话期间执行的计算,使得可以在转换到第二信道之后使用所述计算,如下文更详细描述的。
公司可能期望存储与客户的客户支持会话的日志。客户支持会话的日志可以包括在会话期间交换的消息文本、会话的音频转录本和其他信息,诸如关于呈现给客户的用户界面或执行的动作的信息。不同的信道在向客户呈现信息方面可能具有不同的能力。除了文本和音频信道之间的差异之外,两个不同的文本信道可能具有不同的能力。例如,一些文本信道可能只允许交换文本,诸如SMS消息。其他文本信道,诸如嵌入在网页中的文本聊天,可以允许增强的内容,诸如向客户呈现表格或一个或多个按钮。
公司对于不同的信道可能具有不同的日志集,但是对于不同的信道具有不同的日志可能会使获取特定客户的所有日志更加困难和/或在计算上更加密集。为了便于使用多个信道,公司可能期望使用通用日志格式,该格式允许在单个位置存储与客户的交互,而不管发生通信所用的信道的能力如何。因此,公司可以使用通用日志数据存储170来跨多个或所有可用信道存储日志。
用人工代理的信道转换
在一些实现中,客户可能正在第一信道上与人工代理进行对话,并且会话可以转换到与相同人工代理或可能不同人工代理的第二信道。图2A和2B图示了一示例,其中客户从语音支持转换到文本支持。
在图2A中,在步骤210,通过语音信道向客户提供客户支持。例如,客户可能呼叫了寻求支持的公司的电话号码。在步骤220,客户支持转换到文本信道。例如,客户或公司可能要求通过文本信道继续支持过程。支持过程可以使用任何适当的技术转换到文本信道。例如,客户可以访问公司的网站上的文本支持,或者支持可以使用SMS消息而继续。
为了促进从语音信道到文本信道的转换,可能期望向客户呈现语音信道上发生的事情的转录或概要。在从语音信道转换到文本信道时存在一些延迟的情况下,转录或概要可以刷新客户的记忆。在步骤230,生成基于语音的支持的文本转录本或概要,并且在步骤240,文本转录本或概要通过文本信道呈现给客户。在一些实现中,可以在接收到每个通信时为它们生成转录。
图2B图示了可以在文本信道上呈现的示例消息。消息260通知客户语音信道上的支持会话正在文本信道上继续,并且消息270提供在语音信道上发生的事情的概要。
在步骤250,支持会话在文本信道上继续,其中客户和人工代理交换文本消息。例如,在图2B中,消息280是来自人工代理的继续支持过程的消息,并且消息290是来自客户的响应。
更一般地,客户可以从任何类型的第一信道转换到任何类型的第二信道。图3是用于将与客户的客户支持会话从第一信道转换到第二信道的示例系统300,并且图4A和4B是用于将客户从第一信道转换到第二信道的示例方法。
在步骤410,在第一信道上开始与客户的第一客户支持会话,其中支持会话在客户和人工代理之间。例如,图3的客户110可以使用语音信道来建立与API服务器120的连接。在步骤415,获得开始支持会话的客户的标识符。在一些实现或实例中,客户标识符可以在会话一开始就是可用的。例如,如果客户登录到公司的网页中并且客户正经由网页请求支持,则客户标识符可以包括在客户支持请求中。在客户标识符未包括在支持请求中的情况下,可以使用任何适当的技术来获得客户标识符。例如,可能会要求客户提供用户名和密码。
图3的API服务器120可以执行任何适当的动作来开始客户支持过程,诸如创建新的客户支持会话并将客户与人工代理(例如人工代理310)连接。在创建新的客户支持会话时,API服务器120可以使用会话管理器组件340。会话管理器组件340可以被配置为执行任何适当的动作来创建会话。例如,会话管理器组件340可以在会话数据存储350中创建条目,该条目包括会话的标识符、客户的标识符、分配给客户支持会话的人工代理的标识符以及任何其他适当的信息。
在步骤420,在客户和人工代理之间传输一个或多个通信。例如,如果第一信道是语音信道,则客户和人工代理可以相互交谈,或者如果第一信道是文本信道,则传输文本消息。
在步骤425,用一个或多个机器学习模型处理通信以向客户或人工代理提供帮助。可以使用任何适当的机器学习模型,诸如人工神经网络、支持向量机、贝叶斯网络或遗传算法。机器学习模型可以处理任何适当的数据,诸如通信的文本或音频、来自客户资料的数据或公司可用的任何其他数据。机器学习模型可以实现任何适当的功能,诸如本文或通过引用并入的专利和申请中描述的任何功能。
在一些实现中,对于文本信道,机器学习模型可以在客户或代理输入每个字符时对其进行处理,并建议对正在键入的内容的补全。例如,可以在输入的文本附近呈现建议的补全,并且用户可以选择建议的补全并发送它。在一些实现中,机器学习模型可以处理通信并建议用户发送给另一个用户的完整消息。在一些实现中,机器学习模型可以处理通信并建议与对话相关的资源。例如,在客户和代理正在讨论关于调制解调器的问题的情况下,可以向客户和/或代理呈现调制解调器的手册的链接。
在一些实现中,一些机器学习模型可以与一个以上的信道一起使用,并且一些机器学习模型可能特定于特定的信道。下面描述的机器学习模型的另外的细节可以在通过引用并入的专利和申请中找到。
以下是可以与一个以上的信道一起使用的机器学习模型的示例:用于处理通信文本并计算描述对话上下文的上下文向量的机器学习模型;以及处理与对话相关的输入(例如,由先前机器学习模型计算的上下文向量)并选择一个或多个与对话相关的资源(例如,调制解调器的手册)的机器学习模型。
以下是可能特定于文本信道的机器学习模型的示例:在用户正输入各个字符时处理它们并建议对正输入的文本的补全的机器学习模式;处理与对话相关的输入(例如,如上所述的上下文向量)并建议一个人向另一个人传输的通信的机器学习模型。
以下是可能特定于语音信道的机器学习模型示例:将语音转换为文本的机器学习模型;处理音频以确定说话者情绪的机器学习模型;以及将文本转换为语音的机器学习模型。
在一些实现中,可以为客户支持会话创建机器学习模型的实例。例如,第一机器学习模型可以具有定义,诸如模型的类型(例如,卷积神经网络、循环神经网络、支持向量机)、参数(例如,层的数量和大小)和初始化值(例如,各个神经元的值)。当第一客户支持会话开始时,可以在分配给第一会话的服务器计算机上创建第一机器学习模型的实例。可以使用上述数学模型的定义来创建第一数学模型的第一实例。在一些实现中,第一数学模型的第一实例可以仅在第一会话的持续时间内存在并且可以在会话结束时从存储器中移除。
在图3中,通用机器学习模型330可以表示可以在一个以上信道中使用的模型,语音机器学习模型332可以表示特定于语音信道的机器学习模型,并且文本机器学习模型334可以表示特定于文本信道的模型。机器学习模型可以进一步特定于特定信道(例如,Skype通话)或其他信道特性(例如,视频信道或支持语音和文本二者的信道)。
机器学习模型可以以适合于信道的任何方式组合。例如,语音或文本机器学习模型的输出可以是通用机器学习模型的输入,并且通用机器学习模型的输出可以是语音或文本机器学习模型的输入。
通用机器学习模型330、语音机器学习模型332和文本机器学习模型334的组合可以用于提供上述任何功能,诸如向人工代理或客户建议资源。
在步骤430,确定转换到另一个信道。转换到另一个信道可以基于任何适当的原因。例如,客户可能会请求在不同的信道上继续对话,或者公司可能会建议在不同的信道上继续对话。在一些实现或实例中,可能没有明确的确定来转换到另一个信道。例如,与客户的手机连接可能会掉线,并且客户可能会使用不同的信道重新连接。对于另一个示例,在会话结束后,客户可能意识到他的问题未解决或未完全解决,并用不同的信道重新连接。
在步骤435,会话结束。可以使用任何适当的技术来结束会话。例如,连接可能会中断(例如,通话掉线),客户可能会结束会话,或者代理可能会结束会话。在一些实现或实例中,会话可能不会结束,并且客户可能同时通过两个信道进行参与。
在步骤440,会话数据和机器学习模型数据被保存到数据存储,使得数据可以在未来的会话中重复使用。可以保存任何适当的会话数据和机器学习模型数据,并且可以将数据保存在任何适当的位置,由高速缓存160表示。例如,数据可能保存在存储在磁盘上的数据库、存储器内数据库或混合数据库(存储器内和磁盘存储装置的混合)中。例如,会话数据和机器学习模型数据可以由机器学习状态组件336保存到数据存储。
在步骤440可以存储任何适当的会话数据。例如,会话数据可以包括客户的标识符、关于客户的其他信息(例如,客户的姓名或来自客户资料的其他信息)、会话的通信文本、与会话相关的时间戳、在会话期间解决的问题的标识符、指示各个问题是否在会话期间得到解决的信息,以及工作流程的状态(在下面更详细地描述)。
任何适当的机器学习模型数据都可以在步骤440存储。例如,机器学习模型数据可以包括神经网络的各个神经元的值(例如,以内部状态向量的形式)、输入到机器学习模型的值以及由机器学习模型输出的值。例如,第一机器学习模型可以计算并输出第一值,并且第二机器学习模型可以将第一值作为输入来处理。可以存储该第一值,使得稍后可以由另一个神经网络对其进行处理。对于另一个示例,第一神经网络可以执行处理,并且在执行该处理时,神经网络的各个神经元可以取与神经网络的状态对应的值。可以存储各个神经元的值,使得可以将另一个神经网络初始化为具有与第一神经网络相同的状态。
会话数据和机器学习模型数据的存储可以在任何合适的时间执行。在一些实现中,对会话数据和机器学习模型数据的更新可以在整个会话中被存储到数据存储。例如,在机器学习模型的每个实例执行处理之后(例如,在每个通信被处理之后),机器学习模型数据可以存储在数据存储中。在一些实现中,会话数据和机器学习模型数据可以以不太频繁的间隔或仅在会话结束时存储。
转到图4B,在步骤450,在第二信道上开始第二客户支持会话,其中支持会话在图4A的客户和人工代理之间。人工代理可以是与来自图4A的人工代理相同的代理或不同的人工代理。在步骤455,获得客户的标识符。步骤450和455可以使用以上针对步骤410和415描述的任何技术。
第二信道可以是与第一信道相同类型的信道或者可以是不同类型的信道。例如,其中第一信道为通过电话通话的语音信道,并且通话断开时,用户可以回叫,并且第二信道也可以是通过电话通话的语音信道。对于另一个示例,第一信道可以是语音信道,并且第二信道可以是文本信道。对于另一个示例,第一信道可以是文本信道(例如,SMS),并且第二信道可以是不同类型的文本信道(例如,网页上的客户支持界面)。
在步骤460,对客户的先前会话执行搜索。在一些实现中,会话信息可以存储在会话数据存储350中,并且客户的标识符可以用于搜索会话数据存储350以查找客户的当前或先前会话。例如,会话管理器组件340可以执行对会话数据存储350的搜索。
在步骤465,确定第二会话是图4A的第一会话的继续。尽管第二会话是与第一会话不同的会话,但确定的是预期第二会话将继续在第一会话中解决的主题。例如,第二会话将解决在第一会话中解决的相同客户支持问题。
可以使用任何适当的信息来确定第二会话是第一会话的继续。例如,该确定可以基于以下因素中的一个或多个:第一会话的时间戳接近当前时间(例如,第一会话正在进行或最近结束);第一会话意外终止(例如,电话通话掉线);第一会话的问题没有得到解决;将第二会话的通信内容与第一会话的通信内容进行比较(例如,客户发送关于第一会话主题的通信);或询问客户(使用人工或自动代理)客户是否愿意继续第一会话的主题。
可以使用任何适当的技术来确定第二会话是第一会话的继续。在一些实现中,可以使用基于规则的方法。例如,如果第一会话在当前时间的5分钟内,则可以确定第二会话是第一会话的继续。在一些实现中,机器学习模型可以处理关于第二会话和第一会话的信息并且确定第二会话是否是第一会话的继续。例如,神经网络或支持向量机可以处理本文描述的任何信息并且输出关于第二会话是否是第一会话的继续的决定。
在步骤470,获得第一会话的描述。例如,描述可以是第一会话的转录本或第一会话的概要。在一些实现中,转录本生成器组件342可以用于生成第一会话的转录本。例如,转录本生成器组件342可以从通用日志数据存储170检索第一会话的文本或音频并且从文本或音频生成转录本。在一些实现中,概要生成器组件344可以从通用日志数据存储170检索第一会话的文本或音频,并生成对第一会话的内容进行总结的文本。例如,概要生成器组件344可以实现通过引用并入的专利和申请中描述的任何技术。
在步骤475,第一会话的描述被呈现给第二会话的客户和人工代理之一或两者。例如,在会话是文本会话的情况下,可以向客户或代理呈现描述的文本。在会话是语音会话的情况下,生成的描述的语音可以呈现给客户或代理(或者文本可以在代理用户界面中呈现给代理)。
步骤470和475是可选的并且在一些实现或一些实例中可以不执行。在一些实现中,第一会话的描述可能取决于信道的类型或其他情况。例如,对于文本信道,描述可以是转录本,并且对于语音信道,描述可以是概要。对于另一个示例,在第一会话和第二会话之间的时间小于阈值的情况下或者如果第一会话和第二会话同时进行,可以跳过步骤470和475。
在步骤480,从诸如高速缓存160的数据存储中检索来自第一会话的会话数据和机器学习数据。会话数据和机器学习数据可以用于初始化一个或多个机器学习模型。例如,可以创建以上在步骤425描述的第一机器学习模型的第二实例。可以初始化第二实例,例如通过从机器学习数据设置第二实例的各个神经元的值,执行其他初始化步骤,或者可以通过设置会话数据或机器学习数据为第二实例的输入,并且处理会话数据或机器学习数据以初始化第二实例。
在步骤485,在客户和人工代理之间传输一个或多个通信。步骤485可以使用以上针对步骤420描述的任何技术。
在步骤490,用一个或多个机器学习模型处理通信以向客户或人工代理提供帮助。步骤490可以使用以上针对步骤425描述的任何技术。
然后第二会话可以继续直到它被终止。在一些实例中,客户可以在第三信道上开始第三客户支持会话,并且可以确定第三客户支持会话是第二客户支持会话的继续。在一些实例中,在第一和第二会话同时进行的情况下,第二会话可以结束,并且客户可以继续进行第一会话。例如,可能更喜欢在特定类型的信道上进行客户支持会话的一些方面(例如,验证或提交信用卡号),并且第二会话可以用于完成那些方面,然后处理可能会返回到第一会话。
以上处理可以提供许多优点以改进客户支持过程。确定第二客户支持会话是第一客户支持会话的继续可以改善客户的体验并且还可以降低客户支持成本。通过搜索并找到第一会话并确定第二会话是第一会话的继续,来自第一会话的信息可以立即对正在帮助客户的人工代理可用。因此,客户可能不需要再次解释作为第一客户支持会话的主题的客户支持问题。此外,由于第一客户支持会话的信息是立即可用的,因此可以更快地进行第二客户支持会话,从而释放人工代理来帮助其他客户并降低公司的客户支持成本。
在一些方面,存储来自第一会话的会话数据和机器学习模型数据并检索第二会话的数据可以提高机器学习模型的性能。提高机器学习模型的性能可以为客户和人工代理提供改善的帮助,并且因此更快地解决客户的问题。更快地解决问题可以为客户提供更高的满意度并为公司提供降低的客户支持成本。
用自动代理的信道转换
客户还可以经由自动代理接收客户支持。在一些实例中,自动代理可能更可取,因为客户可以更快地接收帮助(例如,无需等待通话),并且它可以降低公司的客户支持成本。
在一些实现中,自动支持可以类似于与人工代理的通信,在于客户可以使用自然语言(例如,文本或语音)进行通信并且接收自动的自然语言响应。在一些实现中,其中支持过程允许客户使用自然语言进行通信,客户可能能够随时改变对话的方向。例如,客户可能最初关于第一支持问题进行通信,然后替代地期望关于第二支持问题进行通信。
在一些实现中,自动支持可以使用自然语言来标识客户的问题,并且支持过程然后可以继续自动工作流程,其中自动工作流程可以实现更加结构化的通信,诸如在选项中进行选择、回答问题,并填写表格。例如,可以使用自然语言来标识客户需要提供更新的信用卡,然后可以使用自动工作流程获得信用卡号、到期日期和三位数的卡验证码(CVC)。在一些实现中,自动支持过程可以包括自然语言通信和自动工作流程的组合。
可以使用任何适当的技术来实现自动工作流程。例如,可以使用描述需要从客户获得的信息的逻辑和用于获得信息的程序来实现自动工作流程。在一些实现中,自动工作流程可以使用决策树、有向图、有限状态机或有限状态转换器来实现,其中处理可以在树或图的节点处并且根据从客户接收的通信或信息继续到后续节点。当接收到所有需要的信息时,工作流程可以完成了。
在一些实现中,自动工作流程可以包括所需信息项以及用于从客户请求信息项中的每一个并处理客户的响应以识别所请求的信息的指令的列表。工作流程可以迭代所需的信息项并从客户那里请求它们中的每一个。
工作流程的状态可以用于指示工作流程的进度。例如,在工作流程从客户那里获得一组信息项的情况下,工作流程的状态可以包括已接收到其值的信息项、接收到的信息项的值以及尚未接收到其值的信息项中的一个或多个。树或图的节点可以与状态相关联。
理解来自客户的通信的过程可称为意图检测或识别。实现自动支持系统的公司可以将其预期从客户接收的通信分类为固定数量的定义的意图。通过将通信分类为意图,提供自动响应对公司而言可能是更容易的。例如,“是”意图可以包括传达同意的多种方式(例如,“是”、“好”、“那很好”等)。为了提供响应,知道通信的意图可能是足够的,并且以其来表达意图的具体方式可能是不重要的。
为了确定通信的意图,公司用数学模型(诸如意图分类器)来处理接收到的通信。数学模型可以提供输出,该输出指示来自可能意图的列表的通信的意图,或者指示该通信不匹配意图的列表的任何意图。
如本文中所使用的,意图是具有相似含义的通信的集合。公司可以定义意图的集合(诸如数百、数千或更多意图),并且可以使用任何适当的技术来定义意图。例如,意图可以通过处理通信以确定通信的意图的数学模型来定义,或者通过被用于创建数学模型的训练数据的语料库(corpus)来定义。因为可以使用各种各样的语言来表达概念,所以意图可能对应于大量的通信。
意图可以被分配标签,以使得理解与该意图相对应的通信的类型对于人类而言更容易。例如,“是”意图可以包括表达同意的消息,“否”意图可以包括表达不同意的消息,并且“支付账单(PAY_BILL)”意图可以包括表达期望支付账单的消息。
在一些实现中,意图可以具有槽(slot)以允许更大的灵活性。例如,在公司销售大量的产品的情况下,具有与购买产品中的每种产品相关的意图可能是不可行的。代之以,意图可以具有槽(例如,参数或变量),以允许单个购买意图覆盖任何产品的购买。例如,购买意图可以具有针对产品的槽,并且当确定消息对应于购买意图时,通信也可以被处理以确定槽的值(例如,客户想要购买订书机)。
本文描述的用于确定从客户接收到的通信的意图的技术可以使用并入的专利和申请所描述的任何技术。
公司可以定义一组能够由自动支持过程处理的工作流程或问题。例如,图7是一表格,其带有可能由自动支持过程处理的可能工作流程的列表。每个工作流程可以具有工作流程标识符、与工作流程对应的意图、客户完成工作流程所需的信息项的列表,以及完成与工作流程对应的操作所需的任何其他适当信息。例如,该表格可以包括在从客户接收到所有需要的信息项之后要执行的API调用的规范。
在图7的示例中,第一工作流程与更新客户的信用卡有关。此工作流程包括CC_UPDATE意图,该意图对应于客户可能用来指示他们需要更新他们的信用卡的预期语言。该工作流程还包括客户完成信用卡更新所需的信息项的列表。图7中的其他意图与更新客户的地址和帮助客户支付账单有关。
在自动支持会话期间,可以通过处理自由格式文本、使用表单域或任何其他适当技术来获得客户所需的信息项。在一些实现中,命名实体识别和其他技术可以用于从来自用户的文本通信中提取信息。命名实体识别技术可能能够标识信息项存在于文本中,即使该信息项可以以各种方式呈现。例如,日期可以表示为“12/6/2020”;“12月6日,2020年”;或“明年12月的第6日”。
在一些实现中,在自动支持会话期间,可以处理客户的通信以确定(i)通信的意图,(ii)对应于该意图的自动支持过程的工作流程,以及(iii)对应于工作流程的信息项的列表。然后可以处理客户的另外的通信以标识对应于工作流程的信息项。
在一些实现中,可以在确定意图之前标识信息项,或者可以针对尚未标识的意图处理信息项。例如,客户可能首先传达“到期日期是12/6/2020”,并且稍后传达他需要更新他的信用卡。即使在标识更新信用卡意图之前就传达了到期日期,也可以标识和使用到期日期。对于另一个示例,客户可能指示他需要更新他的信用卡,然后说明他的地址。尽管可能不需要地址来更新信用卡,但是地址可以被识别并且可能用于对应于其他意图的未来动作。
当使用自动代理向客户提供客户支持时,在一些实例中,可能合期望的是从一个信道切换到另一个信道。例如,客户从私人位置移动到公共位置,并且可能更喜欢使用文本而不是语音进行通信。对于另一个示例,一些支持程序可能更适合特定类型的信道,诸如网页上的支持,其中可以向客户呈现更多种类的信息。
当客户从第一信道上的自动支持转换到第二信道上的自动支持时,也可以使用上面针对图4A和4B描述的技术。客户可以在第一信道(例如,语音信道)上开始客户支持会话,其中支持由自动代理提供,并且可以获得客户的标识符。一个或多个通信可以在客户和自动代理之间传输,并且通信可以使用自然语言或者是结构化自动工作流程的一部分。客户和自动代理之间的通信可以由一个或多个机器学习模型处理,例如以确定客户通信的意图、标识客户通信中的信息项或确定自动代理的下一个自动响应。
客户然后可以选择转换到第二信道或使用第一信道和第二信道二者继续支持过程,诸如通过使用上述技术。在第一信道上的客户支持过程期间,会话数据和机器学习模型数据可以保存到数据存储,使得数据可以在其他信道上使用。
客户然后可以在第二信道上与自动代理开始第二客户支持会话,并且第二信道可以是与第一信道不同类型的信道(例如,文本信道而不是语音信道)。如上所述,可以获得客户的标识符,该标识符可以用于搜索与客户的先前的支持会话,并且可以确定第二会话是第一会话的主题的继续,诸如通过使用上述任何技术。在一些实现中,第一信道上的支持过程的描述可以在第二信道上呈现给客户,如上所述。
然后可以从数据存储中检索会话数据和机器学习数据,并将其用于第二信道上的支持会话。例如,机器学习数据可以用于初始化一个或多个机器学习模型,诸如标识意图、标识信息项或生成对来自客户的通信的响应的机器学习模型。可以在客户和自动代理之间传输一个或多个通信,并且机器学习模型可以处理该通信。该过程可以继续直到客户支持会话完成或客户转换到第三信道。
在一些实现中,自动工作流程可以用于通过多种类型的信道进行自动通信。例如,文本信道和语音信道二者可能都使用相同的自动工作流程来解决客户支持问题。然而,由于不同的信道具有用于向客户呈现通信的不同能力,因此可能需要其他技术来确定如何改编单个工作流程使得其可以通过多个信道进行操作。
例如,作为自动工作流程的一部分,要执行的动作可能是从客户获得信用卡号。由于自动工作流程用于多个信道,因此可能需要该动作的实现可用于客户支持过程的每个信道。
对于语音信道,获得信用卡号的动作的实现可能包括以下步骤:(i)向客户呈现语音,要求客户说出他们的信用卡号;(ii)处理客户的语音以获得信用卡号;(iii)向客户呈现语音,要求客户说出信用卡的到期日期;(iv)处理客户的语音以获得信用卡的到期日期;(v)向客户呈现语音,要求客户说出CVC;以及(vi)处理客户的语音以获得CVC。
对于限于传输文本的文本信道,获得信用卡号的动作的实现可以包括与语音信道的步骤类似的步骤,除了可以传输和处理文本而不是语音之外。对于能够阻止更多种类的用户界面元素(例如,在网页上实现的客户服务聊天)的文本信道,可以向客户呈现一个表单以允许客户输入信用卡号、到期日期和CVC。客户可以提供表单所要求的所有信息,然后选择一个按钮来提交表单。类似地,动作实现可以为其他信道并且为可以用自动工作流程执行的其他动作而实现。
对于不同类型的信道,自动工作流程的其他方面可能具有不同的实现。在一些实现中,信道实现可以被配置为如果没有从客户接收到响应则重新发送通信。例如,在语音信道下,如果在5-10秒内未从客户接收到响应,则可能会向客户发送附加的语音通信以重复先前的通信或询问客户是否还在那里。对于文本信道,实现可能会等待更长的时间段(因为客户在会话期间做其他事情可能更为典型)或可能无限期地等待客户响应(或直到通信会话结束)。
在一些实现中,信道实现可以被配置为允许客户中断正在传输的通信,否则被称为允许客户“闯入”。例如,在语音信道下,呈现给客户的语音通信可能持续数秒。在呈现该通信时,客户可以说话,并且语音信道可以被配置为停止呈现该通信,并且替代地接收和处理客户的通信。对于文本信道,通信的传输可能几乎是瞬时的,并且因此文本信道可能不需要任何与闯入相关的功能。
在一些实现中,对于不同的信道,请求信息的顺序和/或信息的数量(例如,信息项的数量)可以不同。例如,在语音信道下,通信可以简单地询问客户该客户想要购买哪张机票并允许客户指定任何相关信息(例如,出发地点、出发日期和时间、目的地等)。在文本信道下,客户可能替代地被要求一次提供一个信息项。
在一些实现中,各种信道实现可以为客户或代理提供附加功能。例如,对于文本信道,机器学习工具可以用于为客户或代理提供特征,诸如用户输入的文本的补全的自动建议或要发送的完整消息的自动建议。对于语音信道,这样的特征可能不太有用或难以实现,并且因此可能不提供。
图5是用于通过多个信道实现自动工作流程的示例系统500,并且图6是用于通过多个信道实现自动工作流程的示例方法。
在图5中,一个或多个客户可以经由自动工作流程接收客户支持,并且自动工作流程可以使用本文描述的任何技术来实现。例如,客户110可能通过第一信道接收自动支持,并且客户515可能通过第二信道接收自动支持。尽管客户110和客户515可能通过不同的信道接收自动支持,但是可以在两个信道上使用相同的自动工作流程。
在步骤610,创建自动客户支持会话以通过第一信道帮助第一客户。自动客户支持会话可以使用自动工作流程,并且自动工作流程可以被配置为处理来自客户的一个或多个通信并确定要执行的动作,诸如任何上述动作。
图5包括自动工作流程510,其包括动作511、动作512和动作513,并且这些动作可以包括本文描述的任何动作。API服务器120可以创建自动工作流程510的一个或多个实例,并且使用这些实例来确定响应于从客户接收到的通信要执行的动作。
在步骤615,获得多个第一信道动作实现以用于在第一信道上实现动作。图5包括用于在第一信道上实现自动工作流程510的动作的第一信道动作实现520。第一信道动作实现中的每一个可以对应于自动代理的动作。例如,第一信道动作实现521可以对应于动作511,第一信道动作实现522可以对应于动作512,并且第一信道动作实现523可以对应于动作513。动作和动作实现之间的关系可能是或者可能不是一一对应。
可以使用任何适当的技术来实现第一信道动作实现。例如,可以使用提供关于动作的实现的信息的结构化数据来指定第一信道动作实现。结构化数据可以包括正在实现的动作的标识符;其中要使用实现的信道的标识符;要呈现给用户的通信规范(例如,使用模板);与动作对应的通信序列的规范;要从客户获得的信息项的列表;呈现给客户的表单;响应于完成动作而更新公司服务器的API调用(例如,对客户的信用卡收费的API调用)。
在步骤620,在第一信道上从第一客户接收第一通信。例如,API服务器120可以接收来自客户110的第一通信。在步骤625,通过用自动工作流程处理第一通信来选择多个动作中的第一动作。例如,API服务器120可以使用自动工作流程510来选择第一动作。
在一些实现中,可以使用工作流程的状态和/或有向图来获得第一动作。可以处理第一通信以获得存在于通信中的信息,诸如信用卡号或客户表达同意。可以使用任何适当的技术从通信中获得信息,诸如从通信文本中标识意图或通过对通信文本执行命名实体识别。从通信获得的信息可以用于更新工作流程的状态,诸如通过更新状态以指示已从客户接收到信息。在一些实现中,从客户接收的信息或更新的状态可以使工作流程从树或有向图的第一节点遍历到第二节点。例如,工作流程可以被配置为基于接收到的信息或更新的状态从第一节点进行到第二节点。然后可以使用图形的当前节点或工作流程的当前状态中的一个或两个来选择第一动作。例如,可以创建从状态和/或节点到工作流程的动作的映射。
在步骤630,获得对应于在步骤625选择的第一动作的第一信道动作实现。例如,API服务器120可以从自动工作流程510接收选择的第一动作,使用动作实现组件540来获得对应于第一动作的第一信道动作实现。API服务器120可以向动作实现组件540提供第一动作和第一信道正在被使用的指示。动作实现组件540然后可以从第一信道动作实现520获得第一信道动作实现。
在步骤635,使用在步骤630获得的第一信道动作实现来确定第一响应。例如,动作实现组件540可以使用在步骤630获得的第一信道动作实现来生成文本或语音通信。动作实现组件540可以执行任何其他适当的任务,例如填写模板的变量或槽以及执行API调用以更新公司的服务器。
在步骤640,第一响应被传输给客户。例如,语音的音频可以跨语音信道传输,文本可以跨语音信道传输,或者结构化数据(例如,JSON、XML或HTML)可以被传输以更新客户的用户界面。
可以对任何数量的信道和任何数量的客户执行上述处理。由于不同的客户可能同时寻求支持,因此处理对于不同客户可以是同时的。步骤645到675可以第二信道上对第二客户,诸如图5的客户515,执行与以上描述的类似的处理。
在步骤645,创建自动客户支持会话以通过第二信道帮助第二客户。自动客户支持会话可以使用在步骤610处用于处理第一信道上的通信的相同自动工作流程。
在步骤650,获得多个第二信道动作实现用于在第二信道上实现动作。图5包括用于在第二信道上实现自动工作流程510的动作的第二信道动作实现530。第二信道动作实现中的每一个可以对应于自动代理的动作。例如,第二信道动作实现531可以对应于动作511,第二信道动作实现532可以对应于动作512,并且第二信道动作实现533可以对应于动作513。动作和动作实现之间的关系可能是或者可能不是一一对应。在一些实例中,第二信道的动作实现可以与第一信道的动作实现相同或相似(例如,具有相似能力的两个不同文本信道)。
在步骤655,在第二信道上从第二客户接收第二通信。在步骤660,通过用自动工作流程的第二实例处理第二通信来选择多个动作中的第一动作。注意,这里选择的第一动作是在步骤625选择的相同的第一动作(例如,第一客户和第二客户二者都被要求提供信用卡号)。在步骤665,获得对应于第一动作的第二信道动作实现。在步骤670,使用在步骤665获得的第二信道动作实现来确定第二响应。尽管正在执行相同的第一动作,但是步骤635处的第一响应被配置用于第一信道并且步骤670处的第二响应被配置用于第二信道。在步骤675,第二响应被传输给客户。步骤645至675可以使用以上针对步骤610至640描述的任何技术。
在客户支持过程期间,经由自动工作流程接收支持的客户也可以从第一信道转换到第二信道,诸如使用本文所描述的任何技术。例如,第一客户可以经由自动工作流程在第一信道上接收支持,并且会话数据(其可以包括例如自动工作流程的状态)可以被保存到数据存储。然后,第一客户可以转换到第二信道以继续支持过程。在第二信道上,会话数据可以从数据存储中检索并用于初始化用于第二信道的自动工作流程的实例。客户然后可以使用自动工作流程在第二信道上继续支持过程,而不必重复在第一信道上执行的动作。
因此,自动工作流程可以用于通过多个信道与客户一起实现动作。在多个信道上使用相同的自动工作流程可以降低自动支持的成本,因为实现单个自动工作流程可能相比于为每个信道实现单独的自动工作流程不太昂贵和耗时。在多个信道上使用相同的自动工作流程也可以提高自动工作流程的性能。例如,在对于文本和语音信道二者都使用相同的自动工作流程的情况下,语音和文本数据二者都可以用于训练自动工作流程。具有可用于训练自动工作流程的更大的训练数据语料库可以提高自动工作流程中使用的模型的准确性。
从自动代理到人工代理的信道转换
另一种类型的转换是从客户从自动代理接收支持到从人工代理接收支持的转换。对于这种转换,客户可能会保持在同一信道上,或者客户可能会切换到不同的信道。例如,客户可能更喜欢从人工代理而不是自动代理接收支持,或者客户的问题可能不适用于任何可用的自动支持程序。
当客户从自动代理接收支持转换到从人工代理接收支持时,也可以使用以上针对图4A和4B描述的技术(以及还有以上描述的用于改编图4A和4B以用于与自动代理的信道转换的技术)。
在与自动代理的会话期间,会话数据和机器学习模型数据可以被保存到数据存储,如上所述。当客户转换为从人工代理接收支持时,会话数据和机器学习数据可以用于初始化一个或多个机器学习模型的实例,如上所述。
在一些实现中,客户和自动代理之间的自动支持的描述(例如,概要或转录本)可以被呈现给现在正在帮助客户的人工代理。例如,自动会话的概要或转录本可以如上所述被呈现。在一些实现中,自动支持会话的描述可以包括关于在自动支持会话期间标识的一个或多个意图的信息和在支持会话期间标识的信息项。分数或概率可以与在自动会话期间标识的每个意图和信息项相关联。
例如,可以处理自动会话的通信,并标识以下内容:更新信用卡的第一意图,其中分数为100分中的91分;进行支付的第二意图,其中分数为100分中的9分;以及信用卡号,其中分数为100分中99分。然后,人工代理可以使用该信息来帮助客户,并且使得客户不需要重复已经提供的信息。例如,该人工代理与客户确认他想要更新他的信用卡,解释已经提供了信用卡号,然后请求到期日期和三位数的卡验证码。在客户实际打算支付的情况下,则人工代理可以帮助客户进行支付并使用已经提供的信用卡号。
从人工代理到自动代理的信道转换
另一种类型的转换是从客户从人工代理接收支持到从自动代理接收支持的转换。对于这种转换,客户可能会保持在同一信道上,或者客户可能会切换到不同的信道。例如,人工代理可以在标识客户的问题之后通知客户自动支持可用于帮助解决问题,并建议客户将他转移到自动支持。
当客户从人工代理接收支持转换为从人工代理接收支持时,也可以使用以上针对图4A和4B描述的技术(以及还有以上描述的用于改编图4A和4B以用于与自动代理的信道转换的技术)。
在与人工代理的会话期间,会话数据和机器学习模型数据可以被保存到数据存储,如上所述。当客户转换为从自动代理接收支持时,会话数据和机器学习数据可以用于初始化一个或多个机器学习模型的实例,如上所述。
在一些实现中,在与人工代理的支持会话期间,一个或多个机器学习模型可以处理会话的通信以标识在会话期间表达的意图和包括在通信中的信息项中的一个或二者。这些机器学习模型可能是在自动支持会话期间使用的相同机器学习模型,或者可能是不同的机器学习模型。标识的意图和信息项可以用于帮助人工代理或促进将客户转移到自动支持。尽管人工代理正在接收通信,但用机器学习模型处理通信允许自动提取可以如下所述使用的信息。
图8A是示例用户界面(UI),人工代理可以使用它来帮助客户。UI可以允许人工代理同时帮助多个客户。例如,代理可能会响应第一客户,并且在等待第一客户的回音时,代理可能会响应第二客户。可以使用任何适当的技术将UI呈现给代理。代理可以使用任何适当的技术通过UI与客户进行通信,诸如键入消息、说出使用语音识别转录为文本的消息,或通过音频连接(例如VOIP连接)与客户交谈。为了呈现的清楚,以下描述将使用文本通信作为示例,但是当通过语音通信时也可以使用相同的技术。
图8A包括客户列表部分810,其可以包括代理当前正在与之通信的客户列表。图8A还包括对话部分820,其允许代理查看客户键入的消息、键入给客户的消息并查看对话历史。图8A还包括信息部分830,其提供附加信息以帮助代理,诸如客户资料、账单信息或公司服务的状态。
在一些实现中,信息部分830可以用于呈现通过用机器学习模型处理通信而从通信获得的信息。例如,信息部分830可以呈现机器学习模型在通信中标识的意图和信息项连同对应于标识是正确的可能性的分数或概率。
在一些实现中,信息部分830可以包括用于完成与客户的工作流程或用于将客户转移到自动支持以用于解决客户的问题的用户界面。由机器学习模型标识的意图和信息项可以用于帮助人工代理完成与工作流程相对应的操作或初始化对客户的自动支持。
例如,在图8A中,客户写下了“我需要支付我的账户的账单并取消向我开账单的电影。”机器学习模型可以处理此通信以标识通信中存在的意图。在此示例中,标识了三个意图:支付账单意图,其中分数为100分中的97分,取消电影意图,其中分数为100分中的93分;以及更新信用卡意图,其中分数为100分中的31分。响应于标识这些意图,信息部分830的UI可以被更新以帮助人工代理完成与这些意图相对应的工作流程。
在图8A的示例中,信息部分830包括用于完成与所标识的意图中的每一个相对应的工作流程的UI。每个工作流程的UI包括完成工作流程所需的信息项的列表连同完成工作流程或将客户转移到自动支持以完成工作流程的按钮。每个信息项后面都有一空格,因为客户尚未提供与信息项对应的信息。
随着对话的继续,人工代理可能会要求客户提供与客户的请求相关的另外的信息。例如,人工代理可能会要求客户提供用于支付账单的信用卡号。当客户传输包含信用卡号的通信时,机器学习模型可以处理该通信以标识信用卡号,并且信用卡号(或出于隐私原因的它的经编辑的版本)可以在信息部分830中呈现,如图8B所示。因为两个工作流程包括信用卡号的信息项,所以可以为两个工作流程呈现信用卡号。
然后人工代理可以将账单金额通知客户,并且机器学习模型可以处理该通信以提取金额并将金额输入在信息部分830中。机器学习模型可以相应地标识客户的通信和人工代理的通信中的信息项。
在一些实现中,信息项的值可以从不同于与客户的对话的源获得。例如,客户的资料可以包括信用卡号,并且可以为支付账单工作流程和更新信用卡工作流程自动输入该信用卡号。对于另一个示例,客户的最近的账单金额或客户的最近购买的电影的名称或标识符可以从公司的数据存储中获得,并且这些值可以在信息部分830中呈现。
在一些实现中,人工代理可能能够在信息部分830中输入值或校正信息部分830中的值(例如,如果语音识别或命名实体提取中存在错误的话)。
当已获得支付账单工作流程的所有值时,人工代理然后可以选择完成工作流程按钮以使客户的信用卡被收费并且在客户的账户中指示付款的接收。
在一些实现中,人工代理还可以将客户转移到自动支持以完成工作流程。例如,客户还可以指示他想要将其账户的信用卡更新为刚刚提供用于支付账单的信用卡。为了完成更新信用卡的过程,需要到期日期和CVC。为了获得该信息并完成更新信用卡的工作流程,人工代理可以选择转移客户按钮来将客户转移到自动支持以用于更新信用卡。
可以用已经接收到的信用卡号的值来初始化用于更新信用卡的自动支持。以这种方式初始化自动支持允许自动使用已经提供的信用卡号并且避免要求客户再次提供信用卡号。自动支持过程可以如上所述从客户获得到期日期和CVC,然后完成更新信用卡号的工作流程。
图9是用于通过使用机器学习模型来处理客户和人工代理之间的通信以标识通信中表达的意图和信息项来改进客户支持的示例方法。
在步骤910,在客户和人工代理之间建立客户支持会话。在客户支持会话期间,客户可以使用自然语言(诸如文本消息或语音)进行通信。
在步骤915,处理客户和人工代理之间的一个或多个通信以从一组可能的意图中选择一个或多个意图。可以使用任何适当的技术来标识意图,诸如用机器学习模型处理一个或多个通信。例如,公司可能会创建它预期客户在客户支持通话期间表达的意图列表,并训练机器学习模型来标识这些意图。
在步骤920,呈现给人工代理的用户界面被更新以呈现对应于所标识意图的工作流程的表单。如本文所使用的,表单包括用于在用户界面中呈现信息的任何适当技术,诸如项的列表、表格或HTML表单。可以呈现关于意图的任何适当信息,诸如标题、工作流程的描述、与意图的标识相关的分数以及完成工作流程所需的一个或多个信息项。表单可以包括完成工作流程的按钮,诸如立即实现对应于工作流程的操作的按钮(在接收到完成工作流程所需的所有信息之后)或将客户转移到自动支持以完成工作流程的按钮。
在步骤925,处理客户和人工代理之间的一个或多个通信以标识通信中包括的一个或信息项的值。信息项可以表示可以用于完成工作流程的任何信息。例如,信息项可以包括姓名、日期、地址、购买的产品或服务,或者信用卡信息。可以使用任何适当的技术来获得信息项的值,诸如用机器学习模型处理一个或多个通信或执行命名实体识别。信息项的值可以以任何适当的格式表示,诸如文本(例如,地址的文本)或数字(例如,信用卡号)。在步骤925处理的通信可以是在步骤915处理的相同通信或不同的通信。步骤925可以在步骤915之前发生,并且可以多次执行步骤915和步骤925中的每一个以标识在通信中表达的附加意图和信息项。
在步骤930,呈现给人工代理的用户界面被更新以呈现所标识的信息项。例如,表单中的空格可以用从通信中标识的信息项的值替换。
在步骤935,从人工代理接收与使用标识的意图和标识的信息项完成工作流程有关的输入。例如,输入可能是选择一个按钮来完成工作流程(这可能只有在接收到工作流程的所有信息项时才可能),或者可能是选择一个按钮来使用标识的意图和标识的信息项来将客户转移到自动工作流程。
在步骤935接收到的输入是完成工作流程的输入的情况下,则处理进行到步骤940,其中执行对应于工作流程的操作。可以使用任何适当的技术来执行该操作。例如,在没有接收到完成工作流程所需的信息项的情况下,可能向人工代理呈现错误消息,并且可能不执行操作。在已经接收到所有需要的信息的情况下,可以执行操作,例如通过对服务器进行API调用,其中API包括要执行的操作的指示(例如,工作流程的标识符)和执行操作所需的信息(例如,信用卡号等)。
在步骤935接收到的输入是将客户转移到自动工作流程的输入的情况下,处理可以进行到步骤950。在步骤950,使用在步骤925标识的信息项的值,客户被转移到具有用于工作流程的自动工作流程的通信会话。例如可以使用工作流程的标识符来获得自动工作流程。例如,可以使用API调用来创建自动工作流程的实例。自动工作流程的实例被更新以包括在步骤925标识的信息项的值。在一些实现中,可以使用API调用(可以与先前的API调用相同)来设置自动工作流程中的信息项的值。例如,信用卡号的变量或存储位置可以被设置为在步骤925标识的信用卡号的值。然后可以使用任何适当的技术将客户连接到自动工作流程。
在步骤955,与客户一起实现自动工作流程以获得完成工作流程所需的任何其他信息。在步骤955期间,由于已经获得了第一信息项的值,因此可以绕过或跳过用于获得第一信息项的值的工作流程的逻辑。可以使用任何适当的技术来实现自动工作流程。在一些实现中,自动工作流程可以是自然语言通信的交换,其中客户的通信由机器学习模型处理,并且自动代理的通信由机器学习模型生成。在一些实现中,自动工作流程可以更加结构化,诸如填写表单或使用交互式语音响应(IVR)技术。
在步骤960中,在获得了实现工作流程的所有信息之后,执行与工作流程对应的操作。可以使用任何适当的技术来执行操作,诸如在步骤940描述的技术。
在一些实现中,自动工作流程可以在客户和人工代理之间的客户支持会话期间(例如,在步骤910到930期间)运行。即使客户由人工代理帮助,客户的每个通信也可以通过自动工作流程处理。因此,自动工作流程可以在客户支持会话期间持续更新,即使人工代理正在向代理提供响应并且自动工作流程没有(尽管通过自动工作流程生成的响应可以呈现给人工代理以向人工代理提供建议响应)。当客户从人工代理接收支持转换到自动工作流程时,自动工作流程可能已经具有所有需要的信息,并且不需要单独初始化。在一些实现中,多个自动工作流程可以在客户和人工代理之间的客户支持会话期间运行,使得多个自动工作流程中的每一个都可以在没有单独的初始化步骤的情况下使用。
在一些实现中,可以向人工代理呈现其他选项以用于自动化支持过程的部分。例如,客户可能会被转移到自动工作流程以从客户接收信息项,但人工代理可能能够审查或监督自动支持过程的各个方面。例如,当客户正在经历自动工作流程时,所获得的信息项的值可以被呈现给人工代理,诸如在图8B的信息部分830中。然后人工代理可以审查接收到的值,并且如果需要,则请求来自客户的澄清或进行更改。在一些实现中,该自动工作流程可以收集所需的信息项但不执行与工作流程相对应的操作。替代地,在接收到需要的信息项之后,可以向人工代理呈现指示以通知人工代理已经接收到用于执行工作流程的操作的所有需要的信息项。然后人工代理可以审查并使得执行操作,诸如通过选择按钮来执行操作。
用机器学习模型处理客户和人工代理之间的通信可以改进客户和提供支持的公司二者的客户支持过程。从对话中自动确定意图和信息项可以降低人工代理的负担。通过自动标识意图,对应于那些意图的工作流程可以自动呈现给人工代理,使得人工代理不需要手动寻找对应于客户的请求的用户界面。自动确定信息项并将它们呈现在用户界面中以完成工作流程可以降低人工代理的负担并且还降低人工代理可能无意中错误地输入信息的错误。
使用在客户和人工代理之间的对话中获得的信息来初始化自动工作流程改善客户的体验。客户在完成他的客户支持请求时节省了时间,并且不必承担不止一次提供相同信息的负担。
通用日志
在实现以上技术时,通信可以在具有不同用于呈现信息的能力的不同类型的信道上传输,并且通信可以由人工代理或自动代理传输。以下是不同类型信道的示例:具有人工代理的语音信道;具有自动代理的语音信道,客户能够在其中使用自由格式的语音进行通信;具有使用IVR技术的自动代理的语音信道;具有人工代理或自动代理的文本信道,其中仅可以传输文本;以及具有人工代理或自动代理的文本信道,其中该信道可以显示除文本之外的用户界面元素,诸如表单、按钮或小部件。
公司可能期望记录与客户的交互和通信日志。由于不同信道的不同能力,常规的日志技术可能需要为每种类型的信道创建不同的记录系统和/或数据库(或其他种类的数据存储)。例如,公司可能具有用于文本信道的第一日志系统和第一数据库以及用于语音信道的第二日志系统和第二数据库。维护多个日志系统可能会增加实现日志系统的成本,并且可能会使人工代理更难审查先前与客户的交互,因为人工代理可能需要检查多个日志系统。
为了改进日志系统的功能并还降低费用,公司可能会实现通用日志系统,该系统能够提供跨所有信道的日志服务,并且还将单个日志条目以通用格式存储在单个数据存储中(尽管单个数据存储可以是分布式的,并且数据可以存储在不止一个物理存储设备或不同位置处的多个存储设备上)。
图10是用于存储多种类型信道的日志的示例通用日志系统1000,图11A-11C是跨三个信道的通用日志条目的示例表示,并且图12A和12B是用于实现通用日志系统的示例方法。
在图10中,客户110可以通过客户支持会话从人工代理310或自动代理320接收支持,并且客户支持会话可以通过任何类型的信道发生。在图10中,API服务器120和会话管理器组件340可以实现上述任何功能。会话数据存储350可以存储关于如上所述的客户会话的数据,并且通用日志数据存储可以如下更详细地描述地以通用格式存储通过多种类型的信道的客户支持会话的日志条目。
图12A是用于使用通用日志格式存储客户支持会话的通信并将通用格式日志条目存储在数据存储中的示例方法。
在图12A的步骤1210,开始与第一客户的客户支持会话。客户支持会话可以通过任何类型的信道发生,可以与人工代理或自动代理进行,并且可以实现本文描述的任何技术。
在步骤1215,确定第一通信以传输给第一客户。在由人工代理提供支持的情况下,人工代理可以例如键入第一通信、说出第一通信或选择用户界面元素(例如,按钮)以指示第一通信。
在步骤1220,为第一通信生成第一通用日志条目。通用日志条目可以包括对稍后理解第一通信的内容有用的任何相关信息。通用日志条目可以采用任何适当的格式,诸如结构化数据(例如,JSON或XML)。以下是可能包含在通用日志条目中的信息示例:客户的标识符、人工代理(如果存在)的标识符、信道(例如,文本信道、语音信道或Apple 商务聊天)的标识符、会话标识符、时间戳以及关于第一通信的内容的信息。
第一通信的内容可以取决于信道的类型和特定的通信。以下是可以存储在通用日志条目中的内容的示例:文本;音频文件;音频文件的转录本;表单、小部件或用户界面元素的标识符;执行的动作(例如,从客户接收到的支付可能是作为动作的通信);以及所执行动作的数据或参数。
然后可以将通用日志条目存储在数据存储中,使得可以在稍后的时间点访问它。可以使用任何适当的技术来生成通用日志条目并将其存储在数据存储中。例如,通用日志条目创建组件1010可以接收关于由人工或自动代理生成的通信的信息,然后创建通用日志条目。通用日志条目创建组件1010或另一个组件,诸如会话管理器组件340,然后可以将通用日志条目存储在通用日志数据存储170中。
图11A-C图示了三个不同信道的通用日志条目的示例。图11A图示了文本信道的通用日志条目,图11B图示了语音信道的通用日志条目,并且图11C图示了支持其他用户界面元素(例如,表单和小部件)的文本信道的通用日志条目,诸如网页上的客户支持信道。
每个通用日志条目包括使得有可能向人呈现通用日志条目的描述的信息。在一些实现中,通用日志条目可以包括足够的信息来重新创建如由客户和代理查看的对话。这些示例日志条目使用JSON格式,但任何适当的格式都可以用于通用日志条目。
在图11A中,对于文本信道,第一日志条目是从代理到客户的文本通信,第二日志条目是从客户到代理的文本通信,第三日志条目是从代理到客户的另一个通信,省略号指示其他文本通信,并且最终的日志条目描述了客户用信用卡完成支付的动作。最终的日志条目指示执行了支付动作、执行该动作的客户、支付金额以及使用的支付方式,诸如信用卡标识符。
在图11B中,对于语音信道,日志条目与图11A的日志条目类似,除了日志条目包括客户和代理之间的通信的音频文件,并且为方便起见,包括可以使用语音识别获得的音频通信的转录本之外。
在图11C中,对于具有增强内容的文本信道,通用日志条目还描述了从客户那里接收支付,但以不同的方式。第一日志条目是从代理到客户的文本通信,指示代理将发送表单以允许客户提供支付信息。第二日志条目指示支付表单已传输给客户以用于在客户的设备上呈现,以允许客户输入信用卡号、到期日期和CVC。第三日志条目指示在客户完成并提交支付表单时执行了支付动作。
在步骤1225,生成第一通信的传输表示。然后,第一通信的传输表示通过网络连接被传输到客户的设备,以使客户的设备呈现第一通信。传输表示的生成可以取决于通过其正在发送传输的那个信道。例如,对于文本信道,传输表示可以是发送SMS消息的格式;对于语音信道,传输表示可以是一个UDP数据包的序列;并且对于具有增强内容的文本信道,传输表示可以是使用TCP/IP协议传输的JSON对象。在一些实现中,传输表示可以从第一通信的通用日志条目生成。可以使用任何适当的技术来生成传输表示。例如,传输表示组件1020可以生成传输表示,并且API服务器120可以使传输表示被传输给客户。
在步骤1230,从客户接收第二通信。可以使用任何适当的技术来接收第二通信,诸如本文描述的任何技术。在步骤1235,为第二通信生成第二通用日志条目,并且将第二通用日志条目存储在数据存储中。步骤1235可以使用上述任何技术来实现。
客户支持会话可以以任何数量的通信继续,并且在步骤1240,客户支持会话结束。
第一客户可以通过不同信道多次请求客户支持,并且每个客户支持会话可以如图12A所描述的那样实现。通用日志数据存储将为客户存储来自所有客户支持会话的日志条目,即使客户支持会话可能通过不同的信道而发生。将所有客户支持会话存储在通用日志数据存储中可以便于稍后审查日志条目。
图12B是用于审查第一客户的日志条目的示例方法,其中日志条目来自通过不止一个信道的客户支持会话。
在步骤1250,接收审查第一客户的日志条目的请求。例如,当前正在帮助第一客户的人工代理可能期望审查在与客户的先前客户支持会话期间发生的事情。可以使用任何适当的技术来请求审查日志条目。例如,由人工代理使用的用户界面可以包括用于查看当前客户的日志的按钮,或者用户界面可以允许人输入客户的标识符或通过客户名称搜索以请求客户的日志。
在步骤1255,从通用日志数据存储中检索第一客户的通用日志条目。可以使用任何适当的技术来检索日志条目,诸如使用客户的标识符执行查询。
在步骤1260,为第一信道通用日志条目(例如,从第一信道上的客户支持会话生成的通用日志条目)生成第一审查表示。第一审查表示可以包括最有可能对审查者有帮助的信息,并且还可以以使得可以在审查者使用的用户界面上查看它的方式呈现来自日志条目的信息。例如,对于来自文本信道的日志条目,第一审查表示可以包括通信文本;对于来自语音信道的日志条目,第一审查表示可以包括音频通信的转录本和向审查者播放音频的链接;并且对于具有增强内容的文本信道,第一审查表示可以包括增强内容的描述,诸如支付表单被呈现给客户。可以使用任何适当的技术来生成第一审查表示。审查表示组件1030可以从第一信道通用日志条目生成第一审查表示。
在步骤1265,为第二信道通用日志条目(例如,从第二信道上的客户支持会话生成的通用日志条目,其中第二信道是与第一信道不同的信道)生成第二审查表示。可以使用针对步骤1260描述的任何技术来执行步骤1265。
在步骤1270,将第一审查表示和第二审查表示呈现给诸如人工代理之类的人。可以使用任何适当的技术来呈现第一和第二审查表示。例如,第一和第二审查表示可以呈现在此人正在使用的网页上。在一些实现中,第一和第二审查表示可以允许交互式呈现。例如,此人可能请求查看关于日志条目的附加信息或收听转录的音频。
图12B的方法可以允许跨任何数量和类型的信道呈现第一客户的客户支持会话的日志。该方法还可以用于查看其他客户的日志和同时查看多个客户的日志。例如,人工代理的主管可能想要查看人工代理帮助客户的日志。
因此,在通用日志数据存储中以通用日志格式存储来自多个信道的日志条目简化了允许人查看客户的所有日志或多个客户的所有日志的过程。代替访问多个数据存储来查看客户的所有日志,可以访问单个数据存储并且通用日志格式可以允许在单个用户界面中呈现来自多个信道的日志条目。
实现
在一些实现中,第三方公司可以向其他公司提供与本文描述的任何技术相关的服务。例如,公司可能允许其客户通过多个信道获得客户支持,并且公司可能会使用第三方公司的服务来处理来自客户的通过多个信道的通信、允许信道之间的转换、以通用日志格式存储通信,以及本文描述的任何其他技术。公司可能会发现使用第三方公司的服务比实现其自己的服务更具成本效益。图13图示了示例架构,公司可以使用该架构以在与其客户进行通信时从第三方公司获得帮助。
图13图示了系统1300,该系统1300允许第三方公司1310向多个公司提供服务。在图13中,第三方公司1310正在向公司A1330、公司B1331和公司C1332提供服务。第三方公司1310可以向任何数量的公司提供服务。
每个公司的客户可以与支持过程使用了第三方公司1310的服务的公司通信。例如,客户A1320可能正在从公司A1330寻求支持,客户B1321可能正在从公司B1331寻求支持,并且客户C1322可能正在从公司C1332寻求支持。对于客户而言,是否使用第三方公司1310的服务可能是明显的或者可能不是明显的。
第三方公司1310可以以各种方式来帮助公司。在一些实现中,第三方公司1310可以帮助将客户与代表该公司工作的客户服务代表相连接。例如,第三方公司1310可以选择客户服务代表,可以向客户提供用户接口以使客户更容易请求支持,并且可以向客户服务代表提供用户接口以帮助客户服务代表对客户的请求作出响应。客户服务代表可以与公司具有任何适当的关系,客户服务代表正在代表该公司提供客户支持。例如,客户服务代表可以是公司的雇员或承包商并且仅向该公司的客户提供客户支持,或者客户服务代表可以向多个公司提供服务并且同时向该多个公司的客户提供支持。
第三方公司1310、客户和公司之间的网络通信可以以各种方式来构建。在一些实现中,客户与公司之间的所有通信可以经由第三方公司1310来进行,并且客户与公司之间可能不存在任何直接连接。在一些实现中,第三方公司1310可以与公司通信,但是可能不直接与客户通信。在一些实现中,客户可以直接与公司并且还与第三方公司1310进行通信。
在客户连接到公司和第三方公司1310两者的情况下,这两个连接中的每一个可以用于不同种类的请求。例如,在客户以不需要第三方公司1310的服务的方式与公司进行交互的情况下(例如,浏览公司的网站),客户可以使用与公司的网络连接。在客户以使用第三方公司1310的服务的方式与公司进行交互的情况下,客户可以使用与第三方公司的网络连接。对于客户而言,客户是使用与公司还是与第三方公司1310的网络连接可能不是明显的。
图14图示了用于实现上面描述的技术中的任何技术的计算设备1400的一个实现的组件。在图14中,组件被示出为在单个计算设备上,但是组件可以被分布在诸如计算设备的系统的多个计算设备中,所述计算设备包括例如最终用户计算设备(例如,智能电话或平板计算机)和/或服务器计算设备(例如,云计算)。
计算设备1400可以包括计算设备的任何典型组件,诸如易失性或非易失性存储器1410、一个或多个处理器1411以及一个或多个网络接口1412。计算设备1400还可以包括任何输入和输出组件,诸如显示器、键盘和触摸屏。计算设备1400还可以包括提供具体功能的多种组件或模块,并且这些组件或模块可以以软件、硬件或其组合来实现。下面,针对一个示例实现描述了组件的若干个示例,并且其他实现可以包括附加组件或者排除下面描述的组件中的一些。
计算设备1400可以具有API服务器组件1420,其可以提供任何适当的接口和功能以通过多个信道提供人工和自动支持。计算设备1400可以具有自动文本支持组件1421,其可以实现用于通过文本信道实现自动支持的技术,诸如使用一个多个机器学习模型来处理通信并生成响应。计算设备1400可以具有自动语音支持组件1422,其可以实现用于通过语音信道实现自动支持的技术,诸如使用一个多个机器学习模型来处理通信并生成响应。计算设备1400可以具有机器学习组件1423,其可以使用本文描述的任何技术来实现一个或多个机器学习模型。计算设备1400可以具有转换组件1424,其可以帮助在不同信道之间或在自动支持和来自人工代理的支持之间转换客户。计算设备1400可以具有通用日志组件1425,其可以生成通用格式的日志条目并且生成通用格式日志条目的传输表示和审查表示。
计算设备1400可以包括或可以访问各种数据存储。数据存储可以使用任何已知的存储技术,诸如文件、关系数据库、非关系数据库或任何非暂时性计算机可读介质。计算设备1400可以具有会话数据存储1430,其可以用于存储关于客户支持会话的信息,诸如上述任何信息。计算设备1400可以具有通用日志数据存储1431,其可以以通用格式存储来自多个信道的日志条目。计算设备1400可以具有机器学习数据存储1432,其可以存储机器学习模型数据(诸如机器学习模型的状态、输入或输出)和会话数据,使得它可以在不同信道上的客户支持会话上使用。
本文中描述的方法和系统可以部分或全部通过在处理器上执行计算机软件、程序代码和/或指令的机器来部署。如本文中使用的“处理器”旨在包括至少一个处理器,并且除非上下文另外清楚地指示,否则复数和单数应该被理解为是可互换的。本公开的任何方面可以被实现为机器上的计算机实现的方法、实现为作为机器的部分或与机器相关的系统或装置、或者实现为在机器中的一个或多个上执行的计算机可读介质中实现的计算机程序产品。处理器可以是服务器、客户端、网络基础设施、移动计算平台、固定计算平台或其他计算平台的部分。处理器可以是能够执行程序指令、代码、二进制指令以及诸如此类的任何种类的计算或处理设备。处理器可以是或包括信号处理器、数字处理器、嵌入式处理器、微处理器或任何变体,诸如协处理器(数学协处理器、图形协处理器、通信协处理器以及诸如此类)以及诸如此类,其可以直接或间接促进存储在其上的程序代码或程序指令的执行。此外,处理器可以使能多个程序、线程和代码的执行。线程可以被同时执行,以增强处理器的性能并促进应用的同时操作。作为实现,本文中描述的方法、程序代码、程序指令以及诸如此类可以在一个或多个线程中实现。该线程可以产生(spawn)可能已经分配了与它们相关联的优先级的其他线程;处理器可以基于优先级或基于程序代码中提供的指令的任何其他次序来执行这些线程。处理器可以包括存储如本文中和其他地方描述的方法、代码、指令和程序的存储器。处理器可以通过接口访问存储介质,该存储介质可以存储如本文中和其他地方描述的方法、代码和指令。与处理器相关联的用于存储方法、程序、代码、程序指令或能够由计算或处理设备执行的其他类型的指令的存储介质可以包括但可以不限于CD-ROM、DVD、存储器、硬盘、闪存驱动器、RAM、ROM、高速缓存以及诸如此类中的一个或多个。
处理器可以包括可以增强多处理器的速度和性能的一个或多个核。在实施例中,该处理可以是双核处理器、四核处理器、其他芯片级多处理器以及诸如此类,其组合了两个或更多个独立的核(称为管芯)。
本文中描述的方法和系统可以部分或全部通过在服务器、客户端、防火墙、网关、集线器、路由器或其他这样的计算机和/或联网硬件上执行计算机软件的机器来部署。软件程序可以与服务器相关联,该服务器可以包括文件服务器、打印服务器、域服务器、互联网服务器、内联网服务器和其他变体,诸如辅助服务器、主机服务器、分布式服务器以及诸如此类。服务器可以包括存储器、处理器、计算机可读介质、存储介质、端口(物理和虚拟)、通信设备和能够通过有线或无线介质访问其他服务器、客户端、机器和设备的接口以及诸如此类中的一个或多个。如本文中和其他地方描述的方法、程序或代码可以由服务器执行。此外,执行如本申请中描述的方法所需的其他设备可以被视为与服务器相关联的基础设施的一部分。
服务器可以提供到其他设备的接口,所述其他设备包括但不限于客户端、其他服务器、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器以及诸如此类。此外,该耦合和/或连接可以促进跨网络的程序的远程执行。这些设备中的一些或全部的联网可以促进在一个或多个位置处对程序或方法的并行处理,而不脱离本公开的范围。此外,通过接口附接到服务器的设备中的任何设备可以包括能够存储方法、程序、代码和/或指令的至少一个存储介质。中央存储库可以提供要在不同设备上执行的程序指令。在该实现中,远程存储库可以充当用于程序代码、指令和程序的存储介质。
软件程序可以与客户端相关联,该客户端可以包括文件客户端、打印客户端、域客户端、互联网客户端、内联网客户端以及诸如辅助客户端、主机客户端、分布式客户端以及诸如此类的其他变体。客户端可以包括存储器、处理器、计算机可读介质、存储介质、端口(物理和虚拟)、通信设备和能够通过有线或无线介质访问其他客户端、服务器、机器和设备的接口以及诸如此类中的一个或多个。如本文中和其他地方描述的方法、程序或代码可以由客户端执行。此外,执行如本申请中描述的方法所需的其他设备可以被视为与客户端相关联的基础设施的一部分。
客户端可以提供到其他设备的接口,所述其他设备包括但不限于服务器、其他客户端、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器以及诸如此类。此外,该耦合和/或连接可以促进跨网络的程序的远程执行。这些设备中的一些或全部的联网可以促进在一个或多个位置处对程序或方法的并行处理,而不脱离本公开的范围。此外,通过接口附接到客户端的设备中的任何设备可以包括能够存储方法、程序、应用、代码和/或指令的至少一个存储介质。中央存储库可以提供要在不同设备上执行的程序指令。在该实现中,远程存储库可以充当用于程序代码、指令和程序的存储介质。
本文中描述的方法和系统可以部分或全部通过网络基础设施来部署。网络基础设施可以包括诸如计算设备、服务器、路由器、集线器、防火墙、客户端、个人计算机、通信设备、路由设备和如本领域中已知的其他有源和无源设备、模块和/或组件的元素。除了其他组件之外,与网络基础设施相关联的(一个或多个)计算和/或非计算设备还可以包括诸如闪存、缓冲器、堆栈、RAM、ROM以及诸如此类的存储介质。本文中和其他地方描述的过程、方法、程序代码、指令可以由网络基础设施元素中的一个或多个执行。
本文中和其他地方描述的方法、程序代码和指令可以在具有多个小区的蜂窝网络上实现。蜂窝网络可以是频分多址(FDMA)网络或码分多址(CDMA)网络。蜂窝网络可以包括移动设备、小区站点、基站、中继器(repeater)、天线、塔以及诸如此类。蜂窝网络可以是GSM、GPRS、3G、EVDO、网状网络(mesh)或其他网络类型。
本文中和其他地方描述的方法、程序代码和指令可以在移动设备上或通过移动设备来实现。移动设备可以包括导航设备、蜂窝电话、移动电话、移动个人数字助理、膝上型计算机、掌上型计算机、上网本、寻呼机、电子书阅读器、音乐播放器以及诸如此类。除了其他组件之外,这些设备还可以包括存储介质,诸如闪存、缓冲器、RAM、ROM和一个或多个计算设备。可以使得与移动设备相关联的计算设备能够执行存储在其上的程序代码、方法和指令。替代地,移动设备可以被配置成与其他设备协作地执行指令。移动设备可以与基站通信,该基站与服务器对接(interface)并被配置成执行程序代码。移动设备可以在对等网络、网状网络或其他通信网络上通信。程序代码可以被存储在与服务器相关联的存储介质上,并由嵌入在服务器内的计算设备执行。基站可以包括计算设备和存储介质。存储设备可以存储由与基站相关联的计算设备执行的程序代码和指令。
可以在机器可读介质上存储和/或访问计算机软件、程序代码和/或指令,机器可读介质可以包括:计算机组件、设备和记录介质,其将用于计算的数字数据保留达一定的时间的间隔;被称为随机存取存储器(RAM)的半导体存储设备;通常用于更永久的存储的大容量存储设备,诸如光盘、磁存储设备的形式,比如硬盘、带、鼓、卡和其他类型;处理器寄存器、高速缓存存储器、易失性存储器、非易失性存储器;光学存储设备,诸如CD、DVD;可移动介质,诸如闪存(例如,USB棒或钥匙(key))、软盘、磁带、纸带、穿孔卡(punchcards)、独立RAM盘、Zip驱动器、可移动大容量存储设备、离线以及诸如此类;其他计算机存储器,诸如动态存储器、静态存储器、读/写存储设备、可变(mutable)存储设备、只读存储设备、随机存取存储设备、顺序存取存储设备、位置可寻址存储设备、文件可寻址存储设备、内容可寻址存储设备、网络附接存储设备、存储区域网络、条形码、磁性墨水以及诸如此类。
本文中描述的方法和系统可以将物理和/或或无形物品(item)从一种状态转换为另一种状态。本文中描述的方法和系统还可以将表示物理和/或无形物品的数据从一种状态转换为另一种状态。
包括贯穿附图的流程图和框图中的本文中描述和描绘的元素暗示了元素之间的逻辑边界。然而,根据软件或硬件工程实践,所描绘的元素及其功能可以通过计算机可执行介质在机器上实现,该计算机可执行介质具有能够执行存储在其上的程序指令的处理器,作为单片软件结构、作为独立软件模块、或者作为采用外部例程、代码、服务等等的模块、或者这些的任何组合,并且所有这样的实现都可以在本公开的范围内。这样的机器的示例可以包括但可以不限于个人数字助理、膝上型计算机、个人计算机、移动电话、其他手持式计算设备、医疗装备、有线或无线通信设备、换能器、芯片、计算器、卫星、平板PC、电子书、小工具(gadgets)、电子设备、具有人工智能的设备、计算设备、联网装备、服务器、路由器以及诸如此类。此外,流程图和框图中描绘的元素或任何其他逻辑组件可以在能够执行程序指令的机器上实现。因此,尽管前述附图和描述阐述了公开的系统的功能方面,但是除非明确陈述或者另外从上下文中清楚,否则不应从这些描述中推断用于实现这些功能方面的软件的特定布置。类似地,将理解,上面标识和描述的各种步骤可以变化,并且步骤的次序可以适于本文中公开的技术的特定应用。所有这样的变化和修改都旨在落入本公开的范围内。因此,各种步骤的次序的描绘和/或描述不应被理解为要求那些步骤的特定的执行的次序,除非由特定应用要求,或者明确陈述或者另外从上下文中清楚。
上面描述的方法和/或过程及其步骤可以以适用于特定应用的硬件、软件或硬件和软件的任何组合来实现。硬件可以包括通用计算机和/或专用计算设备或具体计算设备或具体计算设备的特定方面或组件。所述过程可以在一个或多个微处理器、微控制器、嵌入式微控制器、可编程数字信号处理器或其他可编程设备以及内部和/或外部存储器中实现。所述过程也可以或者代之以在专用集成电路、可编程门阵列、可编程阵列逻辑或者可以被配置成处理电子信号的任何其他设备或者设备的组合中实现。将进一步理解,过程中的一个或多个可以被实现为能够在机器可读介质上执行的计算机可执行代码。
计算机可执行代码可以使用诸如C的结构化编程语言、诸如C++的面向对象的编程语言或任何其他高级或低级编程语言(包括汇编语言、硬件描述语言和数据库编程语言和技术)来创建,其可以被存储、编译或解释为在上述设备之一以及处理器的异构组合、处理器架构、或不同硬件和软件的组合、或能够执行程序指令的任何其他机器上运行。
因此,在一个方面中,上面描述的每种方法及其组合可以在计算机可执行代码中实现,当在一个或多个计算设备上执行时,所述计算机可执行代码执行其步骤。在另一方面中,所述方法可以在执行其步骤的系统中实现,并且可以以多种方式跨设备分布,或者功能中的所有功能可以被集成到专用的独立设备或其他硬件中。在另一方面中,用于执行与上面描述的过程相关联的步骤的装置可以包括上面描述的硬件和/或软件中的任何硬件和/或软件。所有这样的排列和组合旨在落入本公开的范围内。
尽管已经结合详细示出和描述的优选实施例公开了本发明,但是对其的各种修改和改进对本领域技术人员来说将变得容易明显的。因此,本发明的精神和范围将不受前述示例的限制,而是在法律允许的最广泛的意义上理解。
本文中引用的所有文档由此通过引用被并入。
Claims (61)
1.一种用于跨通信信道使用机器学习模型数据的计算机实现的方法,所述方法包括:
在第一信道上创建与第一用户的第一通信会话;
使用机器学习模型的第一实例处理第一信道上的来自第一用户的第一自然语言通信;
将来自机器学习模型的第一实例的第一机器学习模型数据存储到数据存储;
结束第一通信会话;
在第二信道上创建与第一用户的第二通信会话;
从数据存储中获得第一机器学习模型数据;
使用第一机器学习模型数据初始化机器学习模型的第二实例;和
使用机器学习模型的第二实例处理第二信道上的来自第一用户的第二自然语言通信。
2.根据权利要求1所述的计算机实现的方法,其中所述第一信道是语音信道并且所述第二信道是文本信道。
3.根据权利要求1所述的计算机实现的方法,包括确定所述第二通信会话是所述第一通信会话的继续。
4.根据权利要求3所述的计算机实现的方法,其中确定所述第二通信会话是所述第一通信会话的继续包括以下各项中的一个或多个:
将第一通信会话的时间戳与当前时间进行比较;
将来自第一通信会话的第一意图与来自第二通信会话的第二意图进行比较;
确定第一通信会话包括未解决的问题;或者
询问第一用户。
5.根据权利要求1所述的计算机实现的方法,包括:
获得第一通信会话的描述;和
在第二信道上向第一用户呈现第一通信会话的描述。
6.根据权利要求5所述的计算机实现的方法,其中所述第一通信会话的描述包括(i)所述第一通信会话的转录本或(ii)所述第一通信会话的概要。
7.根据权利要求1所述的计算机实现的方法,其中所述第一机器学习模型数据包括神经元的状态或机器学习模型的输出。
8.根据权利要求1所述的计算机实现的方法,包括:
获得用机器学习模型的第二实例处理第二自然语言通信的输出;和
使用输出向第一用户呈现信息。
9.根据权利要求8所述的计算机实现的方法,其中所述信息包括以下各项中的一个或多个:由第一用户输入的文本的补全;文本通信的建议;关于与第二通信会话相关的资源的信息;通信的意图;语音的转录本;或通信的情绪。
10.一种用于跨通信信道使用机器学习模型数据的系统,所述系统包括:
至少一个服务器计算机,包括至少一个处理器和至少一个存储器,该至少一个服务器计算机被配置为:
在第一信道上创建与第一用户的第一通信会话;
使用机器学习模型的第一实例处理第一信道上的来自第一用户的第一自然语言通信;
将来自机器学习模型的第一实例的第一个机器学习模型数据存储到数据存储;
结束第一通信会话;
在第二信道上创建与第一用户的第二通信会话;
从数据存储中获得第一机器学习模型数据;
使用第一机器学习模型数据初始化机器学习模型的第二实例;和
使用机器学习模型的第二实例处理第二信道上的来自第一用户的第二自然语言通信。
11.根据权利要求10所述的系统,其中第一用户是公司的客户并且第一用户在第一通信会话期间与第一人工代理通信。
12.根据权利要求11所述的系统,其中至少一个服务器计算机被配置为:
确定第一自然语言通信的意图;
从第一通信会话的第三通信中标识信息项;和
更新呈现给第一人工代理的用户界面以包括信息项。
13.根据权利要求12所述的系统,其中至少一个服务器计算机被配置为:
接收来自第一人工代理的输入,以将客户转移到自动工作流程;和
使用信息项初始化自动工作流程。
14.根据权利要求10所述的系统,其中至少一个服务器计算机被配置为:
将来自第一通信会话的第一会话数据存储到数据存储;和
在第二通信会话期间使用第一会话数据。
15.根据权利要求14所述的系统,其中所述第一会话数据包括工作流程的状态。
16.根据权利要求10所述的系统,其中所述第一通信会话是自动通信会话,所述第二通信会话是自动通信会话,并且所述至少一个服务器计算机被配置为:
通过使用机器学习模型的第一实例处理第一自然语言通信来确定第一动作;
使用第一动作获得第一信道动作实现;
使用第一信道动作实现在第一信道上向第一用户传输响应;
通过使用机器学习模型的第二实例处理第二自然语言通信来确定第二动作;
使用第二动作获得第二信道动作实现;和
使用第二信道动作实现在第二信道上向第一用户传输响应。
17.一种或多种非暂时性计算机可读介质,包括计算机可执行指令,当执行该指令时,使至少一个处理器执行包括以下各项的动作:
在第一信道上创建与第一用户的第一通信会话;
使用机器学习模型的第一实例处理第一信道上的来自第一用户的第一自然语言通信;
将来自机器学习模型的第一实例的第一机器学习模型数据存储到数据存储;
结束第一通信会话;
在第二信道上创建与第一用户的第二通信会话;
从数据存储中获得第一机器学习模型数据;
使用第一机器学习模型数据初始化机器学习模型的第二实例;和
使用机器学习模型的第二实例处理第二信道上的来自第一用户的第二自然语言通信。
18.根据权利要求17所述的一种或多种非暂时性计算机可读介质,其中所述数据存储包括存储器内数据存储。
19.根据权利要求17所述的一种或多种非暂时性计算机可读介质,其中第一用户是公司的客户并且第一用户在第一通信会话期间接收自动客户支持。
20.根据权利要求17所述的一种或多种非暂时性计算机可读介质,其中:
处理第一信道上的来自第一用户的第一自然语言通信包括使用不用于第二信道上的通信的第二机器学习模型;和
处理第二信道上的来自第一用户的第二自然语言通信包括使用不用于第一信道上的通信的第三机器学习模型。
21.根据权利要求17所述的一种或多种非暂时性计算机可读介质,所述动作包括:
为第一自然语言通信生成第一通用日志条目;
将第一通用日志条目存储在通用日志数据存储中;
为第二自然语言通信生成第二通用日志条目;和
在通用日志数据存储中存储第二通用日志条目。
22.一种用于通过多个信道实现自动工作流程的计算机实现的方法,该方法包括:
使用第一自动工作流程在第一信道上创建与第一用户的第一通信会话,其中第一自动工作流程处理用户的通信并从多个动作中选择一动作;
获得第一信道的多个第一信道动作实现,其中每个第一信道动作实现对应于多个动作中的一动作;
接收第一信道上的来自第一用户的第一通信;
通过处理用第一自动工作流程的第一通信来选择多个动作中的第一动作;
使用第一动作从多个第一信道动作实现中获得第一信道动作实现;
使用第一信道动作实现在第一信道上向第一用户传输第一响应;
使用第一自动工作流程在第二信道上创建与第二用户的第二通信会话;
获得第二信道的多个第二信道动作实现,其中每个第二信道动作实现对应于多个动作中的一动作;
接收第二信道上的来自第二用户的第二通信;
通过处理用第一自动工作流程的第二通信来选择多个动作中的第一动作;
使用第一动作从多个第二信道动作实现中获得第二信道动作实现;和
使用第二信道动作实现在第二信道上向第二用户传输第二响应。
23.根据权利要求22所述的计算机实现的方法,其中所述第一信道是语音信道并且所述第二信道是在网页上实现的客户支持信道。
24.根据权利要求22所述的计算机实现的方法,其中所述第一信道动作实现包括生成语音的音频以呈现给所述第一用户。
25.根据权利要求22所述的计算机实现的方法,其中选择所述多个动作中的第一动作包括:
通过用机器学习模型处理第一通信,从多个意图中选择第一意图;和
使用第一意图选择第一动作。
26.根据权利要求22所述的计算机实现的方法,其中选择所述多个动作中的第一动作包括对所述第一通信执行命名实体识别。
27.根据权利要求22所述的计算机实现的方法,其中选择第一动作包括:
使用第一通信更新第一自动工作流程的状态;和
使用更新的状态选择第一动作。
28.根据权利要求22所述的计算机实现的方法,其中选择第一动作包括:
使用第一通信从有向图的第一节点遍历到有向图的第二节点;和
使用有向图的第二节点选择第一动作。
29.根据权利要求22所述的计算机实现的方法,其中,
第一响应从第一用户请求第一信息项和第二信息项;和
第二响应从第二用户请求第一信息项并且不从第二用户请求第二信息项。
30.一种用于实现在多个信道上的自动工作流程的系统,该系统包括:
至少一个服务器计算机,包括至少一个处理器和至少一个存储器,该至少一个服务器计算机被配置为:
使用第一自动工作流程在第一信道上创建与第一用户的第一通信会话,其中第一自动工作流程处理用户的通信并从多个动作中选择一动作;
获得第一信道的多个第一信道动作实现,其中每个第一信道动作实现对应于多个动作中的一动作;
接收第一信道上的来自第一用户的第一通信;
通过处理用第一自动工作流程的第一通信来选择多个动作中的第一动作;
使用第一动作从多个第一信道动作实现中获得第一信道动作实现;
使用第一信道动作实现在第一信道上向第一用户传输第一响应;
使用第一自动工作流程在第二信道上创建与第二用户的第二通信会话;
获得第二信道的多个第二信道动作实现,其中每个第二信道动作实现对应于多个动作中的一动作;
接收第二信道上的来自第二用户的第二通信;
通过处理用第一自动工作流程的第二通信来选择多个动作中的第一动作;
使用第一动作从多个第二信道动作实现中获得第二信道动作实现;和
使用第二信道动作实现在第二信道上向第二用户传输第二响应。
31.根据权利要求30所述的系统,其中所述至少一个服务器计算机被配置为通过从第一通信获得信息来选择第一动作。
32.根据权利要求31所述的系统,其中所述至少一个服务器计算机被配置为通过确定第一通信的意图或对第一通信执行命名实体识别来从第一通信获得信息。
33.根据权利要求30所述的系统,其中所述至少一个服务器计算机被配置为:
将第一通信会话期间第一自动工作流程的第一状态存储到数据存储;
结束第一通信会话;
在第二信道上创建与第一用户的第三通信会话;
从数据存储中获得第一自动工作流程的第一状态;
使用第一状态初始化第一自动工作流程的第二实例;和
使用第一自动工作流程的第二实例处理第二信道上的来自第一用户的第三通信。
34.根据权利要求30所述的系统,其中所述至少一个服务器计算机被配置为:
为在第一信道上进行通信的用户提供建议;和
不向在第二信道上进行通信的用户提供建议。
35.根据权利要求34所述的系统,其中所述建议包括要由用户发送的建议消息或由用户输入的文本的建议补全。
36.根据权利要求30所述的系统,其中第二信道动作实现包括向第一用户呈现表单。
37.根据权利要求30所述的系统,其中所述至少一个服务器计算机被配置为通过使用第一自动工作流程的状态或有向图的节点来获得第一信道动作实现。
38.一种或多种非暂时性计算机可读介质,包括计算机可执行指令,当执行该指令时,使至少一个处理器执行包括以下各项的动作:
使用第一自动工作流程在第一信道上创建与第一用户的第一通信会话,其中第一自动工作流程处理用户的通信并从多个动作中选择一动作;
获得第一信道的多个第一信道动作实现,其中每个第一信道动作实现对应于多个动作中的一动作;
接收第一信道上的来自第一用户的第一通信;
通过处理用第一自动工作流程的第一通信来选择多个动作中的第一动作;
使用第一动作从多个第一信道动作实现中获得第一信道动作实现;
使用第一信道动作实现在第一信道上向第一用户传输第一响应;
使用第一自动工作流程在第二信道上创建与第二用户的第二通信会话;
获得第二信道的多个第二信道动作实现,其中每个第二信道动作实现对应于多个动作中的一动作;
接收第二信道上的来自第二用户的第二通信;
通过处理用第一自动工作流程的第二通信来选择多个动作中的第一动作;
使用第一动作从多个第二信道动作实现中获得第二信道动作实现;和
使用第二信道动作实现在第二信道上向第二用户传输第二响应。
39.根据权利要求38所述的一种或多种非暂时性计算机可读介质,其中所述第一信道动作实现包括生成语音的音频以呈现给所述第一用户,并且所述第二信道动作实现包括向所述第一用户呈现表单。
40.根据权利要求38所述的一种或多种非暂时性计算机可读介质,其中使用结构化数据指定所述多个第一信道动作实现。
41.根据权利要求38所述的一种或多种非暂时性计算机可读介质,其中所述第一信道动作实现包括向所述第一用户呈现一个或多个按钮。
42.一种用于实现自动工作流程的计算机实现的方法,所述方法包括:
在第一用户和第二用户之间创建第一通信会话;
处理第一用户和第二用户之间的一个或多个通信以从多个可能的意图中选择第一意图;
处理第一用户和第二用户之间的一个或多个通信以识别对应于第一信息项的第一值;
使用第一意图从多个自动工作流程中选择第一自动工作流程,其中第一自动工作流程包括多个信息项和用于从第一用户获得多个信息项的值的逻辑;
确定第一自动工作流程包括第一信息项;
更新第一自动工作流程以包括第一信息项的第一值;
将第一用户转移到用第一自动工作流程的第二通信会话;
与第一用户一起实现第一自动工作流程,其中实现第一自动工作流程包括绕过用于请求第一信息项的值的逻辑;和
使用从第一自动工作流程获得的信息完成第一操作。
43.根据权利要求42所述的计算机实现的方法,包括:
向第二用户呈现将第一用户转移到第二通信会话的建议;和
从第二用户接收将第一用户转移到第二通信会话的指示。
44.根据权利要求42所述的计算机实现的方法,包括:
向第二用户呈现第一意图和第一信息项的指示;和
向第二用户呈现按钮以允许第二用户使第一操作被执行。
45.根据权利要求42所述的计算机实现的方法,其中处理第一用户和第二用户之间的一个或多个通信以选择所述第一意图包括用机器学习模型处理所述一个或多个通信。
46.根据权利要求42所述的计算机实现的方法,其中处理第一用户和第二用户之间的一个或多个通信以识别对应于所述第一信息项的所述第一值包括使用命名实体识别来处理所述一个或多个通信。
47.根据权利要求42所述的计算机实现的方法,其中所述第一通信会话和所述第二通信会话在文本信道上。
48.根据权利要求42所述的计算机实现的方法,其中所述第一自动工作流程包括有向图。
49.根据权利要求42所述的计算机实现的方法,其中所述第二用户不参与所述第二通信会话。
50.一种用于实现自动工作流程的系统,所述系统包括:
至少一个服务器计算机,包括至少一个处理器和至少一个存储器,该至少一个服务器计算机被配置为:
在第一用户和第二用户之间创建第一通信会话;
处理第一用户和第二用户之间的一个或多个通信以从多个可能的意图中选择第一意图;
处理第一用户和第二用户之间的一个或多个通信以识别对应于第一信息项的第一值;
使用第一意图从多个自动工作流程中选择第一自动工作流程,其中第一自动工作流程包括多个信息项和用于从第一用户获得多个信息项的值的逻辑;
确定第一自动工作流程包括第一信息项;
更新第一自动工作流程以包括第一信息项的第一值;
将第一用户转移到用第一自动工作流程的第二通信会话;
与第一用户一起实现第一自动工作流程,其中实现第一自动工作流程包括绕过用于请求第一信息项的值的逻辑;和
使用从第一自动工作流程中获得的信息完成第一操作。
51.根据权利要求50所述的系统,其中所述第一通信会话在语音信道上并且所述第二通信会话在文本信道上。
52.根据权利要求50所述的系统,其中所述至少一个服务器计算机被配置为:
将来自第一通信会话的第一机器学习模型数据存储到数据存储;和
在第二通信会话期间从数据存储中获得第一机器学习模型数据。
53.根据权利要求52所述的系统,其中所述第一机器学习模型数据包括神经元的状态或机器学习模型的输出。
54.根据权利要求50所述的系统,其中第一用户是公司的客户并且第二用户正在向第一用户提供客户支持。
55.根据权利要求50所述的系统,其中所述至少一个服务器计算机被配置为通过以下各项与所述第一用户一起实现所述第一自动工作流程:
在第二通信会话期间从第一用户接收第一通信;
通过处理用第一自动工作流程的第一通信来选择多个动作中的第一动作;
使用第一动作从多个第一信道动作实现中获得第一信道动作实现;
使用第一信道动作实现向第一用户传输第一响应。
56.根据权利要求50所述的系统,其中所述至少一个服务器计算机被配置为通过使用命名实体识别处理所述一个或多个通信来识别对应于所述第一信息项的所述第一值。
57.一种或多种非暂时性计算机可读介质,包括计算机可执行指令,当执行该指令时,使至少一个处理器执行包括以下各项的动作:
在第一用户和第二用户之间创建第一通信会话;
处理第一用户和第二用户之间的一个或多个通信以从多个可能的意图中选择第一意图;
处理第一用户和第二用户之间的一个或多个通信以识别对应于第一信息项的第一值;
使用第一意图从多个自动工作流程中选择第一自动工作流程,其中第一自动工作流程包括多个信息项和用于从第一用户获得多个信息项的值的逻辑;
确定第一自动工作流程包括第一信息项;
更新第一自动工作流程以包括第一信息项的第一值;
将第一用户转移到用第一自动工作流程的第二通信会话;
与第一用户一起实现第一自动工作流程,其中实现第一自动工作流程包括绕过用于请求第一信息项的值的逻辑;和
使用从第一自动工作流程获得的信息完成第一操作。
58.根据权利要求57所述的一种或多种非暂时性计算机可读介质,其中所述动作包括:
将来自第一通信会话的会话数据存储到数据存储;和
在第二通信会话期间使用第一会话数据。
59.根据权利要求58所述的一种或多种非暂时性计算机可读介质,其中所述会话数据包括所述第一自动工作流程的状态。
60.根据权利要求57所述的一种或多种非暂时性计算机可读介质,其中处理第一用户和第二用户之间的一个或多个通信以选择所述第一意图包括用机器学习模型处理所述一个或多个通信。
61.根据权利要求57所述的一种或多种非暂时性计算机可读介质,其中所述第一自动工作流程包括有向图。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962833262P | 2019-04-12 | 2019-04-12 | |
US62/833262 | 2019-04-12 | ||
US16/503,529 US11588759B2 (en) | 2019-04-12 | 2019-07-04 | Automated communications over multiple channels |
US16/503,528 US11373044B2 (en) | 2019-04-12 | 2019-07-04 | Maintaining machine language model state across communications channels |
US16/503529 | 2019-07-04 | ||
US16/503531 | 2019-07-04 | ||
US16/503528 | 2019-07-04 | ||
US16/503,531 US11588760B2 (en) | 2019-04-12 | 2019-07-04 | Initialization of automated workflows |
PCT/US2020/027600 WO2020210580A1 (en) | 2019-04-12 | 2020-04-10 | Maintaining machine language model state across communications channels |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113647067A true CN113647067A (zh) | 2021-11-12 |
Family
ID=72747494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080028364.4A Pending CN113647067A (zh) | 2019-04-12 | 2020-04-10 | 跨通信信道维护机器语言模型状态 |
Country Status (4)
Country | Link |
---|---|
US (4) | US11588759B2 (zh) |
EP (1) | EP3912077A1 (zh) |
CN (1) | CN113647067A (zh) |
WO (1) | WO2020210580A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023082280A1 (zh) * | 2021-11-15 | 2023-05-19 | Oppo广东移动通信有限公司 | 用于无线信道处理的模型更新方法、装置、终端及介质 |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018176000A1 (en) | 2017-03-23 | 2018-09-27 | DeepScale, Inc. | Data synthesis for autonomous control systems |
US11157441B2 (en) | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US10671349B2 (en) | 2017-07-24 | 2020-06-02 | Tesla, Inc. | Accelerated mathematical engine |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
US11215999B2 (en) | 2018-06-20 | 2022-01-04 | Tesla, Inc. | Data pipeline and deep learning system for autonomous driving |
US11361457B2 (en) | 2018-07-20 | 2022-06-14 | Tesla, Inc. | Annotation cross-labeling for autonomous control systems |
US11636333B2 (en) | 2018-07-26 | 2023-04-25 | Tesla, Inc. | Optimizing neural network structures for embedded systems |
US11562231B2 (en) | 2018-09-03 | 2023-01-24 | Tesla, Inc. | Neural networks for embedded devices |
KR20210072048A (ko) | 2018-10-11 | 2021-06-16 | 테슬라, 인크. | 증강 데이터로 기계 모델을 훈련하기 위한 시스템 및 방법 |
US11196678B2 (en) | 2018-10-25 | 2021-12-07 | Tesla, Inc. | QOS manager for system on a chip communications |
US11816585B2 (en) | 2018-12-03 | 2023-11-14 | Tesla, Inc. | Machine learning models operating at different frequencies for autonomous vehicles |
US11537811B2 (en) | 2018-12-04 | 2022-12-27 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
US11610117B2 (en) | 2018-12-27 | 2023-03-21 | Tesla, Inc. | System and method for adapting a neural network model on a hardware platform |
US10997461B2 (en) | 2019-02-01 | 2021-05-04 | Tesla, Inc. | Generating ground truth for machine learning from time series elements |
US11567514B2 (en) | 2019-02-11 | 2023-01-31 | Tesla, Inc. | Autonomous and user controlled vehicle summon to a target |
US10956755B2 (en) | 2019-02-19 | 2021-03-23 | Tesla, Inc. | Estimating object properties using visual image data |
US11588759B2 (en) * | 2019-04-12 | 2023-02-21 | Asapp, Inc. | Automated communications over multiple channels |
US11711465B2 (en) * | 2019-08-22 | 2023-07-25 | [24]7.ai, Inc. | Method and apparatus for providing assistance to calling customers |
CN111292716A (zh) * | 2020-02-13 | 2020-06-16 | 百度在线网络技术(北京)有限公司 | 语音芯片和电子设备 |
US11050885B1 (en) * | 2020-06-02 | 2021-06-29 | Bank Of America Corporation | Call interception heuristics |
US11527250B2 (en) * | 2020-07-01 | 2022-12-13 | Bank Of America Corporation | Method and system for mobile data communication |
US11907670B1 (en) | 2020-07-14 | 2024-02-20 | Cisco Technology, Inc. | Modeling communication data streams for multi-party conversations involving a humanoid |
US11875362B1 (en) * | 2020-07-14 | 2024-01-16 | Cisco Technology, Inc. | Humanoid system for automated customer support |
US10970485B1 (en) * | 2020-07-31 | 2021-04-06 | Cresta Intelligence Inc. | Systems and methods for selecting effective phrases to be presented during a conversation |
US11120812B1 (en) | 2020-07-31 | 2021-09-14 | Cresta Intelligence Inc. | Application of machine learning techniques to select voice transformations |
US20220157323A1 (en) * | 2020-11-16 | 2022-05-19 | Bank Of America Corporation | System and methods for intelligent training of virtual voice assistant |
KR20220078224A (ko) * | 2020-12-03 | 2022-06-10 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 동작 방법 |
CN112559718B (zh) * | 2020-12-24 | 2024-04-12 | 北京百度网讯科技有限公司 | 对话处理的方法、装置、电子设备和存储介质 |
US11329933B1 (en) * | 2020-12-28 | 2022-05-10 | Drift.com, Inc. | Persisting an AI-supported conversation across multiple channels |
KR20240021834A (ko) * | 2021-06-01 | 2024-02-19 | 페이멘터스 코포레이션 | 대화형 통신 시스템을 동적으로 탐색하기 위한 방법, 장치 및 시스템 |
US11252113B1 (en) | 2021-06-15 | 2022-02-15 | Drift.com, Inc. | Proactive and reactive directing of conversational bot-human interactions |
US20230177518A1 (en) * | 2021-12-06 | 2023-06-08 | International Business Machines Corporation | Enhanced issue detection and resolution in a call center |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150186156A1 (en) * | 2013-12-31 | 2015-07-02 | Next It Corporation | Virtual assistant conversations |
US20180052664A1 (en) * | 2016-08-16 | 2018-02-22 | Rulai, Inc. | Method and system for developing, training, and deploying effective intelligent virtual agent |
CN109074402A (zh) * | 2016-04-11 | 2018-12-21 | 脸谱公司 | 基于示例会话使用自然语言机器学习来响应用户请求的技术 |
US20190104092A1 (en) * | 2017-10-03 | 2019-04-04 | Servicenow, Inc. | Virtual agent conversation service |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7606714B2 (en) | 2003-02-11 | 2009-10-20 | Microsoft Corporation | Natural language classification within an automated response system |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8054964B2 (en) | 2009-04-30 | 2011-11-08 | Avaya Inc. | System and method for detecting emotions at different steps in a communication |
US20120117051A1 (en) * | 2010-11-05 | 2012-05-10 | Microsoft Corporation | Multi-modal approach to search query input |
US8693998B2 (en) | 2011-01-26 | 2014-04-08 | Nice-Systems Ltd. | System and method for managing a customer service session |
EP3122001B1 (en) * | 2015-07-24 | 2019-10-23 | Facebook, Inc. | Providing personal assistant service via messaging |
US10083451B2 (en) | 2016-07-08 | 2018-09-25 | Asapp, Inc. | Using semantic processing for customer support |
EP3482393A4 (en) * | 2016-07-08 | 2019-12-18 | Asapp, Inc. | AUTOMATIC RESPONSE TO A REQUEST FROM A USER |
US20180054523A1 (en) * | 2016-08-16 | 2018-02-22 | Rulai, Inc. | Method and system for context sensitive intelligent virtual agents |
US10003692B2 (en) * | 2016-10-20 | 2018-06-19 | Avaya Inc. | System initiated dialog adjustment |
US10109275B2 (en) | 2016-12-19 | 2018-10-23 | Asapp, Inc. | Word hash language model |
US20180189795A1 (en) | 2016-12-29 | 2018-07-05 | Callvu Ltd. | System and method for providing enhanced interactive sessions via digital channels |
US10332505B2 (en) | 2017-03-09 | 2019-06-25 | Capital One Services, Llc | Systems and methods for providing automated natural language dialogue with customers |
US11172063B2 (en) | 2017-05-22 | 2021-11-09 | Genesys Telecommunications Laboratories, Inc. | System and method for extracting domain model for dynamic dialog control |
US20180374029A1 (en) | 2017-06-27 | 2018-12-27 | Asapp, Inc | Selection of customer service requests |
US20190019197A1 (en) | 2017-07-13 | 2019-01-17 | Asapp, Inc | Determining to dispatch a technician for customer support |
US9892414B1 (en) | 2017-08-16 | 2018-02-13 | Asapp, Inc. | Method, medium, and system for responding to customer requests with state tracking |
US11568231B2 (en) | 2017-12-08 | 2023-01-31 | Raytheon Bbn Technologies Corp. | Waypoint detection for a contact center analysis system |
US20190182383A1 (en) * | 2017-12-08 | 2019-06-13 | Asapp, Inc. | Transfer of customer support to automated processing |
US10497004B2 (en) | 2017-12-08 | 2019-12-03 | Asapp, Inc. | Automating communications using an intent classifier |
US10726843B2 (en) * | 2017-12-20 | 2020-07-28 | Facebook, Inc. | Methods and systems for responding to inquiries based on social graph information |
US10489792B2 (en) | 2018-01-05 | 2019-11-26 | Asapp, Inc. | Maintaining quality of customer support messages |
US10210244B1 (en) | 2018-02-12 | 2019-02-19 | Asapp, Inc. | Updating natural language interfaces by processing usage data |
US10523978B1 (en) * | 2018-02-27 | 2019-12-31 | Amazon Technologies, Inc. | Dynamic quality adjustments for media transport |
US10044647B1 (en) | 2018-03-09 | 2018-08-07 | Capital One Services, Llc | Systems and methods for controlling enrollment and secure persistent SMS texting account servicing with an intelligent assistant |
US10097690B1 (en) | 2018-03-15 | 2018-10-09 | Asapp, Inc. | Detecting events from customer support sessions |
US10169315B1 (en) | 2018-04-27 | 2019-01-01 | Asapp, Inc. | Removing personal information from text using a neural network |
US20200019609A1 (en) | 2018-07-13 | 2020-01-16 | Asapp, Inc. | Suggesting a response to a message by selecting a template using a neural network |
US10681213B2 (en) | 2018-07-31 | 2020-06-09 | Avaya Inc. | Dynamic synchronization of co-existing multichannel interactions in a contact center |
US11216510B2 (en) | 2018-08-03 | 2022-01-04 | Asapp, Inc. | Processing an incomplete message with a neural network to generate suggested messages |
US10708424B1 (en) | 2018-10-05 | 2020-07-07 | United States Automobile Association (USAA) | AI assistant for interacting with customers across multiple communication modes |
US11409961B2 (en) * | 2018-10-10 | 2022-08-09 | Verint Americas Inc. | System for minimizing repetition in intelligent virtual assistant conversations |
CA3116131A1 (en) | 2018-10-15 | 2020-04-23 | Liveperson, Inc. | Dynamic endpoint communication channels |
US11196863B2 (en) * | 2018-10-24 | 2021-12-07 | Verint Americas Inc. | Method and system for virtual assistant conversations |
US11551004B2 (en) | 2018-11-13 | 2023-01-10 | Asapp, Inc. | Intent discovery with a prototype classifier |
US11610064B2 (en) | 2018-12-10 | 2023-03-21 | Asapp, Inc. | Clarification of natural language requests using neural networks |
US10554817B1 (en) | 2018-12-12 | 2020-02-04 | Amazon Technologies, Inc. | Automation of contact workflow and automated service agents in contact center system |
US10984781B2 (en) | 2019-01-18 | 2021-04-20 | Asapp, Inc. | Identifying representative conversations using a state model |
US11880666B2 (en) | 2019-02-01 | 2024-01-23 | Asapp, Inc. | Generating conversation descriptions using neural networks |
US10395648B1 (en) | 2019-02-06 | 2019-08-27 | Capital One Services, Llc | Analysis of a topic in a communication relative to a characteristic of the communication |
US10750019B1 (en) * | 2019-03-29 | 2020-08-18 | Genesys Telecommunications Laboratories, Inc. | System and method for assisting agents via artificial intelligence |
US11588759B2 (en) | 2019-04-12 | 2023-02-21 | Asapp, Inc. | Automated communications over multiple channels |
US10630840B1 (en) | 2019-05-22 | 2020-04-21 | Capital One Services, Llc | Systems for transitioning telephony-based and in-person servicing interactions to and from an artificial intelligence (AI) chat session |
-
2019
- 2019-07-04 US US16/503,529 patent/US11588759B2/en active Active
- 2019-07-04 US US16/503,528 patent/US11373044B2/en active Active
- 2019-07-04 US US16/503,531 patent/US11588760B2/en active Active
-
2020
- 2020-04-10 CN CN202080028364.4A patent/CN113647067A/zh active Pending
- 2020-04-10 EP EP20721372.9A patent/EP3912077A1/en active Pending
- 2020-04-10 WO PCT/US2020/027600 patent/WO2020210580A1/en unknown
-
2023
- 2023-02-02 US US18/104,915 patent/US11956187B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150186156A1 (en) * | 2013-12-31 | 2015-07-02 | Next It Corporation | Virtual assistant conversations |
CN109074402A (zh) * | 2016-04-11 | 2018-12-21 | 脸谱公司 | 基于示例会话使用自然语言机器学习来响应用户请求的技术 |
US20180052664A1 (en) * | 2016-08-16 | 2018-02-22 | Rulai, Inc. | Method and system for developing, training, and deploying effective intelligent virtual agent |
US20190104092A1 (en) * | 2017-10-03 | 2019-04-04 | Servicenow, Inc. | Virtual agent conversation service |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023082280A1 (zh) * | 2021-11-15 | 2023-05-19 | Oppo广东移动通信有限公司 | 用于无线信道处理的模型更新方法、装置、终端及介质 |
Also Published As
Publication number | Publication date |
---|---|
US11588760B2 (en) | 2023-02-21 |
US20200327192A1 (en) | 2020-10-15 |
EP3912077A1 (en) | 2021-11-24 |
US20200327892A1 (en) | 2020-10-15 |
US20230179548A1 (en) | 2023-06-08 |
US11588759B2 (en) | 2023-02-21 |
WO2020210580A8 (en) | 2020-11-05 |
US20200329144A1 (en) | 2020-10-15 |
WO2020210580A1 (en) | 2020-10-15 |
US11956187B2 (en) | 2024-04-09 |
US11373044B2 (en) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11956187B2 (en) | Natural language processing for information extraction | |
US10599644B2 (en) | System and method for managing artificial conversational entities enhanced by social knowledge | |
CN111492383B (zh) | 使用意图分类器的自动化通信 | |
AU2018383615B2 (en) | Systems and methods for chatbot generation | |
US11301908B2 (en) | System and method for providing contextual summaries in interaction transfer | |
US20190182383A1 (en) | Transfer of customer support to automated processing | |
US20210157989A1 (en) | Systems and methods for dialog management | |
CN114730429A (zh) | 用于管理联系中心系统和其用户之间的对话的系统和方法 | |
CN114270338A (zh) | 促进机器人通信的系统和方法 | |
US20210158203A1 (en) | Reinforcement learning for chatbots | |
US20220172021A1 (en) | Method and system for over-prediction in neural networks | |
US11075007B2 (en) | Dynamic selection of virtual agents in a mutli-domain expert system | |
US20220366427A1 (en) | Systems and methods relating to artificial intelligence long-tail growth through gig customer service leverage | |
WO2023014791A1 (en) | Systems and methods relating to providing chat services to customers | |
US11710002B1 (en) | Multilingual intent matching engine | |
US20220318234A1 (en) | System and method for providing natural language processing | |
US11157843B1 (en) | Pull-based routing for service sessions |
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 |