CN112489641A - 用于高效对话处理的实时反馈 - Google Patents
用于高效对话处理的实时反馈 Download PDFInfo
- Publication number
- CN112489641A CN112489641A CN202010932157.3A CN202010932157A CN112489641A CN 112489641 A CN112489641 A CN 112489641A CN 202010932157 A CN202010932157 A CN 202010932157A CN 112489641 A CN112489641 A CN 112489641A
- Authority
- CN
- China
- Prior art keywords
- intent
- subsystem
- dialog
- user
- speech input
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 85
- 238000000034 method Methods 0.000 claims abstract description 83
- 230000000007 visual effect Effects 0.000 claims abstract description 64
- 230000008569 process Effects 0.000 claims abstract description 40
- 230000004044 response Effects 0.000 claims description 48
- 230000015654 memory Effects 0.000 claims description 37
- 230000026676 system process Effects 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 30
- 230000009471 action Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 12
- 235000013550 pizza Nutrition 0.000 description 12
- 238000007726 management method Methods 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000001149 cognitive effect Effects 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000006855 networking Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 235000001674 Agaricus brunnescens Nutrition 0.000 description 3
- 241000207836 Olea <angiosperm> Species 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005352 clarification Methods 0.000 description 3
- 230000008451 emotion Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 240000005020 Acaciella glauca Species 0.000 description 2
- 241000282412 Homo Species 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 235000003499 redwood Nutrition 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013068 supply chain management Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 244000141359 Malus pumila Species 0.000 description 1
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 235000021016 apples Nutrition 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000002591 computed tomography Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000037211 monthly cycles Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000002600 positron emission tomography Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 235000013580 sausages Nutrition 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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
- 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/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
-
- 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/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- 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
- G10L15/1815—Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
-
- 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/26—Speech to text systems
-
- 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/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
- G10L2015/0638—Interactive procedures
-
- 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/221—Announcement of recognition results
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Machine Translation (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开涉及用于高效对话处理的实时反馈。描述了用于通过基本上实时地提示和处理用户反馈来提高对话处理的效率的技术。对话***从用户接收语音输入并且处理语音输入的第一部分以确定初始辨别的意图。对话***使得显示初始辨别的意图的视觉指示。辨别的意图的视觉指示用于引导对话,使得用户能够以自然方式更正或确认初始辨别的意图。如果初始辨别的意图不准确,则用户能够提供更正对话***的反馈,然后对话***处理语音输入的第二部分以确定经修改的辨别的意图。因此,对话***能够使用反馈来即时更正误解。
Description
相关申请的交叉引用
本申请根据35 U.S.C.119(e)要求于2019年9月12日提交的、标题为“IMPROVINGCOGNITIVE UNDERSTANDING IN A DIALOG SYSTEM USING USER FEEDBACK(使用用户反馈改善对话***中的认知理解)”的美国专利申请第62/899,641号的权益和优先权,其内容出于所有目的通过引用整体并入本文。
技术领域
本公开总体上涉及对话***。更具体地但非限制性地,本公开描述了用于通过提供用于引导对话的视觉提示来改善对话处理的体验和提高对话处理的效率的技术。
背景技术
现在,越来越多的装置使用户能够直接使用话音(voice)或口述语音(speech)与装置进行交互。例如,用户可以用自然语言对这种装置讲话,其中用户可以提出问题或做出陈述请求执行某个动作。作为响应,装置执行所请求的动作或者使用话音输出来响应用户的问题。由于直接使用话音进行交互是人类与周围环境进行交流的更自然和直观的方式,这种基于语音的***的普及正以天文数字的速度增长。
在常规***中,当对话(dialog)***误解了所接收话语的含义时,用户与对话***之间的交谈可能漫长且令人沮丧。常规对话***作为一系列事务而不是连续流进行操作。例如,用户按住按钮说出一个句子,对话***确定并提供响应,然后对话结束。但如果对话***错误理解了句子的含义,那么对话***可能会返回不正确的响应,于是对话***必须开启一个新的会话(session)并与用户反复交互,直到确定正确的含义为止。
发明内容
本公开总体上涉及对话***。更特别地,描述了用于通过提供用于引导对话的视觉提示来改善对话处理的体验和提高对话处理的效率的技术。本文描述了各种实施例,包括方法、***、存储有可由一个或多个处理器执行的程序、代码或指令的非暂时性计算机可读存储介质等。
在某些实施例中,对话***从用户接收语音输入。对话***处理语音输入的第一部分以确定初始辨别的意图。对话***使得显示初始辨别的意图的视觉指示。对话***处理语音输入的第二部分以确定经修改的辨别的意图,其中语音输入的第二部分响应于初始辨别的意图的视觉指示来更正初始辨别的意图。
在一些方面,对话***基本上实时地处理语音输入。在一些方面,视觉指示包括以下中的一个或多个:指定与辨别的意图相关联的域的文本;指定辨别的意图的文本;指示与辨别的意图相关联的域的图像;或者指示辨别的意图的图像。
在一些方面,方法还包括由对话***执行对应于经修改的辨别的意图的任务。在一些方面,方法还包括:由对话***基于经修改的辨别的意图确定响应,并且由对话***将响应提供给用户。
在一些方面,确定初始辨别的意图包括:由对话***计算相应的多个潜在意图和语音输入的第一部分的多个得分;并且由对话***确定多个潜在意图中的特定意图的得分超过阈值,从而将所述特定意图设置为初始辨别的意图,其中,通过确定所述得分超过阈值来触发使得显示初始辨别的意图的视觉指示。
在一些方面,确定初始辨别的意图包括:由对话***的自动语音识别子***确定对应于语音输入的第一部分的第一文本话语;由自动语音识别子***向对话***的自然语言理解子***提供第一文本话语;并且由自然语言理解子***基于第一文本话语确定初始辨别的意图。
实施例还包括被配置用于执行本文描述的方法的***和计算机可读介质(例如,非暂时性计算机可读存储器)。
当参考以下说明书、权利要求书和附图时,前述连同其他特征和实施例将变得更显而易见。
附图说明
图1是描述根据某些实施例的对话***的简化框图。
图2是描述根据某些实施例的用于使用反馈来进行高效对话处理的技术的方法的简化流程图。
图3是描述根据某些实施例的用于确定和显示初始辨别的意图的技术的简化流程图。
图4A-图4D描述了根据某些实施例的界面视图。
图5描述了用于实现实施例的分布式***的简化图。
图6是根据某些实施例的基于云的***环境的简化框图,其中各种存储相关的服务可以作为云服务被提供。
图7示出了可以用于实现某些实施例的示例性计算机***。
具体实施方式
在以下描述中,出于解释的目的,阐述了具体细节以提供对某些实施例的全面理解。然而,将显而易见的是,可以在没有这些具体细节的情况下实践各种实施例。附图和描述不旨在进行限制。词语“示例性”在本文用来意指“充当示例、实例或说明”。在本文描述为“示例性”的任何实施例或设计不一定被解释为相对于其他实施例或设计是优选的或有利的。
能够经由话音输入和话音输出与用户对话的启用话音的***可以以各种形式出现。例如,这种***可以提供为独立装置、数字或虚拟助手、能够话音的服务等。在这些形式的每一种中,***能够接收话音或语音输入、理解输入、生成响应或响应于输入采取动作并且使用话音输出来输出响应。在某些实施例中,这种启用话音的***中的对话功能由对话***或基础设施(“对话***”)提供。
如上所述,在常规***中,由于认知理解和对话处理的整体流程的问题,用户与对话***之间的交谈可能漫长且令人沮丧。例如,通常,对话***将处理整个问题或句子,包括确定用户意图,并返回响应。如果对话***错误地识别了用户的意图,则对话***可能返回不正确的响应,然后在用户尝试澄清查询时与用户反复交互。这通常需要开启新的对话会话——例如,对话***将返回错误的答案并终止对话会话,并且用户将必须发起新的对话会话尝试更正误解。除了使用户感到沮丧之外,解决用户查询的时间越长,处理时间和计算资源的消耗就越大。
本公开描述了用于通过实时提供与用户输入相关联的实时反馈来减少对话***使用的用户交互量、时间、内存和处理资源的技术。例如,对话***可以处理部分话语、句子或问题,以便在用户仍在讲话时确定初始辨别的意图。在用户继续讲话时,***返回初始辨别的意图的视觉指示。这样,用户可以在继续讲话的同时提供澄清或更改路线。这消除了发起新会话所需的内存,并减少了处理由提供不正确的响应导致的多个输入和输出所需的处理能力。这些功效也改善了用户体验。
对话处理可以涉及检测话语的域和/或对话语的意图进行分类。域是话语的类别——例如,旅行、天气和音乐是域。话语的意图相当于话语的目的(例如,用户请求执行的动作)。意图的示例包括Order_Pizza(订购披萨)和Find_Directions(查找导航)。给定的域可以对应于多个意图——例如,在“旅行”域中,可以使用从Book_Flight(预订航班)、Upgrade_Seat(升舱)、Request_Car(请求车辆)等中选择的意图对话语进行分类。
域和意图分类各自是在对话处理管线中相对较早执行的操作,因此,有益的是显示初始辨别的意图和/或域的指示以改善对话***中的认知理解。通过在对话中相对较早地提供初始辨别的意图和/或域的指示,对话***可以以被引导的方式提示和处理用户话语,以确保对话***正在以正确的域和/或意图工作。
在一些实施例中,在用户讲一个或多个句子时,对话***连续呈现其对上下文的理解。用户反馈可以通过词、图片或通过自然语言生成。例如,对话***检测到包括词“JohnHowie”的用户输入,并以一定确信度地确定John Howie是联系人(例如,***确定识别的用户意图为检索联系人信息)。对话***可以在屏幕上在用户联系人中显示所有“John”的列表。然后在稍后在话语中或通过下一个句子接收到另外信息后,对话***可以重新评估请求。例如,用户可以通过继续讲并说“No,I am talking about the steakhouse(不,我在谈论牛排屋)”来更正***。这可能导致对话***修改与识别关于餐馆的信息相关的辨别的意图。对话***提供的提示允许用户看到***可能误解他们。然后,用户可以中途调整他们的话语,使得对话***就能够无缝地提供更多信息。通过利用实时处理来中途指示辨别的意图,对话***提示用户在需要时提供澄清或更正,而不必停止和开启对话。
图1示出了根据一些实施例的对话***100的示例。对话***100是可以用于使用大量计算机处理周期处理大量数据的专用计算***。图1中描述的装置的数量是为了说明目的提供的。可以使用不同数量的装置。例如,虽然图1中的每个装置、服务器和***被示出为单个装置,但可以代替地使用多个装置。
对话***100被配置成从用户102接收话音或语音输入104(也称为语音话语)。对话***100然后可以理解话音输入。对话***100可以维持与用户102的对话,并且可以基于对话音输入的理解来执行一个或多个动作或使得一个或多个动作被执行。对话***100可以准备适当的响应,并使用话音或语音输出122向用户输出响应。对话***100可以进一步准备并输出视觉输出128。
在某些实施例中,由对话***执行的处理由部件或子***管线实现,包括语音输入部件105、唤醒词检测(WD)子***106、自动语音识别(ASR)子***108、自然语言理解(NLU)子***110——其包括命名实体识别器(NER)子***112和语义解析器子***114、对话管理器(DM)子***116、自然语言生成器(NLG)子***118、文本转语音(TTS)子***120、语音输出部件124、视觉反馈生成器子***126以及显示器130。上面列出的子***可以仅以软件(例如,使用可由一个或多个处理器或核执行的代码、程序或指令)、硬件、或硬件和软件的组合来实现。在某些实施方式中,子***中的一个或多个可以组合成单个子***。另外或替代地,在一些实施方式中,本文所描述的由特定子***执行的功能可以由多个子***实现。
语音输入部件105包括配置为接收语音输入104的硬件和软件。在一些实例中,语音输入部件105可以是对话***100的一部分。在一些其他实例中,语音输入部件105可以与对话***100分离并且通信地耦合到对话***100。语音输入部件105可以例如包括麦克风,所述麦克风耦合到被配置成将语音输入数字化并将其传输到唤醒词检测子***106的软件。
唤醒词检测(WD)子***106被配置成针对对应于特殊声音或词或词集(称为唤醒词)的输入侦听并监视音频输入流。在检测到配置用于对话***100的唤醒词后,WD子***106被配置成激活ASR子***108。在某些实施方式中,可以向用户提供激活或停用WD子***106的能力(例如,通过讲出唤醒词按下按钮)。在被激活时(或以在激活模式中操作时),WD子***106被配置成连续接收音频输入流,并且处理音频输入流以识别对应于唤醒词的音频或话音输入。当检测到对应于唤醒词的音频输入时,WD子***106激活ASR子***108。
如上所述,WD子***106激活ASR子***108。在启用话音的***的一些实施方式中,可以使用唤醒词以外的机制来触发或激活ASR子***108。例如,在一些实施方式中,可以使用装置上的按钮来触发ASR子***108处理而无需唤醒词。在此类实施方式中,可以不提供WD子***106。当按下或激活按钮时,在按钮激活之后接收的语音输入被提供给ASR子***108以进行处理。在一些实施方式中,可以在接收到要处理的输入时激活ASR子***108。
ASR子***108被配置成在触发或唤醒信号(例如,唤醒信号可以由WD子***106在语音输入中检测到唤醒词后发送,可以在激活按钮后接收唤醒信号,等)之后接收和监视口述话音输入,并且将话音输入转换成文本。作为ASR子***的处理的一部分,该ASR子***108执行语音到文本的转换。口述语音或话音输入可以是自然语言形式,并且ASR子***108被配置成以语音输入的语言生成对应的自然语言文本。然后,将由ASR子***生成的文本馈送到NLU子***110以进行进一步处理。ASR子***108接收的话音输入可以包括一个或多个词、短语、子句、句子、问题等。ASR子***108被配置成针对每个口述子句生成文本话语,并且将文本话语馈送到NLU子***110以进行进一步处理。
NLU子***110接收由ASR子***108生成的文本。由NLU子***110从ASR子***108接收的文本可以包括对应于说出的词、短语、子句等的文本话语。NLU子***110将每个文本话语(或一系列文本话语)翻译成其对应的逻辑形式。在某些实施方式中,NLU子***110包括命名实体识别器(NER)子***112和语义解析器(SP)子***114。NER子***112接收文本话语作为输入,标识文本话语中的命名实体,并用与所标识的命名实体相关的信息标记文本话语。然后将标记的文本话语馈送到被配置成针对每个标记的文本话语(或一系列标记的文本话语)生成逻辑形式的SP子***114。针对话语生成的逻辑形式可以标识对应于文本话语的一个或多个意图。话语的意图标识话语的目的。意图的示例包括“order pizza(订购披萨)”和“find directions(查找导航)”。意图可以例如标识被请求执行的动作。除了意图之外,针对文本话语生成的逻辑形式还可以针对所标识的意图标识空位(slot)(也被称为参数或自变量)。例如,对于语音输入“I’dlike to order a large pepperoni pizza withmushrooms and olives(我想要订购带有蘑菇和橄榄的大份意大利辣香肠披萨)”,NLU子***100可以标识意图Order_Pizaa(订购披萨)。NLU子***还可以标识并填充空位,例如,Pizza_Size(披萨_尺寸)(用“大”来填充)和Pizza_Toppings(披萨_饼料)(用“蘑菇”和“橄榄”来填充)。NLU子***可以使用基于机器学习的技术、规则(其可能是领域特定的)或这两者的组合来生成逻辑形式。然后将由NLU子***110生成的逻辑形式馈送到DM子***116,以进行进一步处理。
DM子***116被配置成基于从NLU子***110接收的逻辑形式来管理与用户的对话。作为对话管理的一部分,DM子***116被配置成跟踪对话状态、发起对多个动作或任务中的一个动作或任务的执行或自身执行多个动作或任务中的一个动作或任务、并且确定如何与用户进行交互。这些动作可以包括例如查询一个或多个数据库、产生执行结果及其他动作。例如,DM子***116被配置成对在从NLU子***110接收的逻辑形式中标识的意图进行解释。基于这些解释,DM子***116可以发起其解释为通过由用户提供的话音输入所请求的一个或多个动作。在某些实施例中,DM子***116基于当前的和过去的话音输入并基于为DM子***116配置的规则集合(例如,对话策略)来执行对话状态跟踪。这些规则可以指定不同的对话状态、在状态之间进行转变的条件、在处于特定状态时要执行的动作等。这些规则可以是域特定的。DM子***116还生成要被传送回对话中所涉及的用户的响应。这些响应可以基于由DM子***116发起的动作以及这些动作的结果。将由DM子***116生成的响应馈送到NLG子***118和或视觉反馈生成器子***126,以进行进一步处理。
NLG子***118被配置成生成对应于DM子***116生成的响应的自然语言文本。文本可以以使它们能够被TTS子***120转换为语音的形式生成。TTS子***120从NLG子***118接收文本,并将每个文本转换为语音或话音音频,然后语音或话音音频可以经由对话***的音频或语音输出部件124(例如,扬声器或耦合到外部扬声器的通信信道)输出给用户。替代地或另外,NLG子***118可以将文本输出传输到视觉反馈生成子***126以进行进一步处理。在一些实例中,语音输出部件124可以是对话***100的一部分。在一些其他实例中,语音输出部件124可以与对话***100分离并且通信地耦合到对话***100。
视觉反馈生成器子***126被配置成生成可以指示在给定时间对对话***的认知理解的视觉指示。视觉指示可以包括图标、图像和/或文本。视觉指示可以指示辨别的意图(例如,当辨别的意图是订购披萨时,披萨的图标)。替代地或另外,视觉指示可以指示辨别的域。域可以代表意图族或组。因此,可将辨别的域链接到一个或多个意图。例如,视觉指示可以是代表旅行的图标,其可以对应于多个意图,诸如预订航班、预订旅馆、取消预订以及修改预订。视觉反馈生成器子***将表征视觉输出的信息传输到显示器130,以将视觉输出128提供给用户102。显示器130可以例如是移动装置、监视器、电视、信息亭等上的显示屏。显示器将视觉输出呈现给用户102。
如上所述,对话***100的各个子***协作地工作提供了以下功能:使得对话***100能够接收语音输入104并使用语音输出122做出响应,并且使用自然语言语音来维持与用户的对话。可以使用单个计算机***或使用协作地工作的多个计算机***来实施上述各个子***。例如,对于实施支持话音的***的设备,可以完全在用户与之交互的设备上实施上述对话***100的子***。在一些其他实施方式中,对话***100的一些部件或子***可以在用户与之交互的设备上实施,而其他部件可以远离设备实施、可以在一些其他计算设备、平台或服务器上实施。
如上所述,在某些实施例中,可以使用子***的管线来实施对话***100。在一些实施例中,一个或多个子***可以被组合成单个子***。在某些实施例中,可以由多个子***来提供由特定子***提供的功能。还可以使用多个子***来实施特定子***。
在某些实施例中,可以使用机器学习技术来实施对话***100的一个或多个功能。例如,可以使用监督机器学习技术、诸如使用神经网络(例如,深度神经网络)实施的那些技术,来实施对话***100的一个或多个功能。作为一个示例,可以提供被训练用于执行所执行的ASR功能的神经网络,并且这种经训练的模型可以由ASR子***108用于进行所述ASR子***的处理。这种神经网络实施方式可以将语音输入作为输入并且向NLU子***输出文本话语。也可以由对话***100的其他子***使用基于机器学习的模型。
图2描述了根据某些实施例的示出用于使用反馈来进行高效对话处理的方法200的简化流程图。可以在由相应***的一个或多个处理单元(例如,处理器、核)执行的软件(例如,代码、指令、程序)、硬件或其组合中实现图2中描述的处理。软件可以存储在非暂时性存储介质上(例如,在存储器装置上)。图2中呈现且以下描述的方法旨在进行说明并不进行限制。尽管图2描述了以特定顺序或次序发生的各个处理步骤,但这不旨在进行限制。在某些替代实施例中,可以以一些不同的次序执行所述步骤,或者也可以并行执行一些步骤。在某些实施例中,图2中描述的处理可以由以上关于图1描述的对话***执行。
在202处,对话***从用户接收语音输入。语音输入可以包括一个或多个句子,并且可以包括停顿(通常持续时间相对较短)。对话***可以例如经由语音输入部件105(例如,用户装置或信息亭的麦克风)接收语音输入。语音输入可以作为波形被接收。语音输入可以是特定语言,并且是自然语言查询形式。语音输入可以指定用户想要对话***回答的问题,指定用户想要对话***发起的一个或多个动作(例如,“I would like a mediumpepperoni pizza(我想要一个中号意大利辣香肠披萨)”)等。ASR子***108可以处理语音输入以生成文本话语,ASR子***108将所述文本话语传递给NLU子***110以进行进一步处理。
在某些实施例中,作为接收口述语音输入(如在202中)的替代,例如,当用户在与对话***的聊天期间键入文本时,可以以文本形式接收输入。本公开中描述的技术可以与接收口述语音、文本输入或其组合形式的输入的***一起使用。
在204处,对话***处理第一语音输入的第一部分以确定初始辨别的意图。处理语音输入可以包括NLU处理,其可以由自然语言理解子***110执行。对话***可以使用诸如语义解析、意图识别、空位填充(slot filing)和确定域的NLU操作来处理语音输入。处理语音输入还可以包括ASR处理,其可以由ASR子***108执行。例如,自动语音识别子***108确定对应于语音输入的第一部分的第一文本话语,并且将第一文本话语提供给自然语言理解子***110。然后,自然语言子***110基于第一文本话语来确定初始辨别的意图。替代地或另外,从用户接收的文本输入可以由NLU子***110直接处理。所述处理还可以包括确定情绪、标识命名实体、空位填充等。
作为处理的结果,对话***可以确定初始辨别的意图。初始辨别的意图可以对应于对话***已经确定用户可能要求对话***执行的任务。例如,初始辨别的意图可以是Find_Flight(查找航班)、Get_Weather(获取天气)或Order_Delivery(订单递送)。在一些示例中,初始辨别的意图可以对应于基于部分输入、例如基于部分口语子句确定的意图。替代地或另外,对话***可以标识初始辨别的域。例如,初始辨别的域可以是旅行或天气。
在一些实施例中,对话***使用机器学习模型来确定初始辨别的意图。机器学习模型例如可以是被训练来使用样本意图和话语对话语的意图进行分类的神经网络。作为一个具体示例,可以应用分类器模型来基于与导航相关的意图的样本话语,确定最好用意图“Directions_To,(到……的导航)”来对话语“How do I get to Charleston?(我如何到达查尔斯顿?)”进行分类。类似地,可以使用机器学习模型、诸如被训练来基于样本域到话语对来预测可能域的神经网络来确定初始辨别的域。合适的模型类型的示例包括隐马尔可夫模型(HMM)和门控循环单元(GRU)。
在一些实施例中,当接收到每个语音输入(例如,第一语音输入、第二语音输入等)时,对话***可以分类并维持排名的意图或域的集。例如,可以标识三个域,其等级从10(与语音输入匹配的可能性最高)到1(与语音输入匹配的可能性最低)。如果特定域达到了应用可配置的阈值,则在206处可以触发事件以显示视觉指示。下面关于图3进一步描述用于基于这种阈值确定初始辨别的意图的技术。
对话***可以在接收到语音输入的另外部分时处理语音输入的第一部分。语音输入的第一部分、语音输入的第二部分等可以基本上实时地紧跟彼此作为来自用户的口述输入的连续流。基本实时地处理输入可以包括在接收到输入数据时处理输入数据流,而不是等待输入已终止的指示。例如,***可以在用户继续提供语音输入并且***继续接收另外语音输入的同时处理句子或一组词。对话***可以分块或部分地处理语音输入的连续流。例如,NLU子***110一次处理一个词或短语,迅速移动到流中的下一个词或短语。块可以对应于句子或词组。
替代地或另外,可以使用集成的语音识别和自然语言理解管线来处理语音输入。例如,单个神经网络可以用于从语音输入生成逻辑形式(例如,没有输出文本话语的中间步骤)。在例如Lugosh等人的Speech Model Pre-training for End-to-End SpokenLanguage Understanding(用于端到端口语理解的语音模型预训练)(https://arxiv.org/pdf/1904.03670.pdf)以及Haghani等人的From Audio to Semantics:Approaches toend-to-end spoken language understanding(从音频到语义:端到端口语理解的方法)(https://arxiv.org/abs/1809.09190)中描述了集成语音识别和自然语言理解的技术。
在206处,对话***使得显示初始辨别的意图的视觉指示。使得显示可以包括在对话***的显示元件上呈现视觉指示。替代地或另外,使得显示可以包括将指令传输到远程显示装置,从而使得远程显示装置显示视觉指示。视觉指示包括以下中的一个或多个:指定与辨别的意图相关联的域的文本;指定辨别的意图的文本;指示与辨别的意图相关联的域的图像;或者指示辨别的意图的图像。可以以文本形式(例如Travel(旅行)或Book_Flight(预订航班))指定域或意图。替代地或另外,可以通过诸如应用或技能图标、表情符号等的图像来指定域或意图。例如,对话***辨别出用户请求与费用相关,于是显示“费用应用”的图标。这种视觉提示可以非常有助于使用户确信他们正在与支持的功能进行交互,而且还可以允许他们在事情偏离轨道时中途改变过程。
对话***可以基本上实时地处理用户输入,并且一旦对话***确定了辨别的意图,对话***就可以向用户呈现视觉指示。在用户讲一个或多个句子时,对话***可以连续呈现对上下文的理解。用户反馈可以通过词、图片或通过自然语言生成。例如,对话***预测语音输入对应于“旅行”域。对话***显示文本“旅行”。作为另一个示例,对话***预测初始辨别的意图为查找联系人,以及标识命名实体John。对话***在屏幕上显示用户的所有名字为John的联系人的列表。在一些示例中,对话***可以将视觉指示显示为完整的问题或句子,例如“Do you want to change your flight?(您是否要更改航班?)”。替代地或另外,对话***可以显示诸如飞机的图片、与旅行相关的表情符号等的图像,以指示初始辨别的意图和/或域。
在一些实施例中,对话***显示初始辨别的意图中的置信度水平的视觉指示。例如,对话***对初始辨别的意图具有低置信度,并且显示低置信度水平的指示。作为特定示例,对话***可以显示具有困惑表情的表情符号或问号以指示需要澄清。作为另一示例,对话***可以包括机器人或者可以通信地耦合到机器人,并且指示可以是来自机器人的头部点头,作为其正在理解所接收的语音输入的指示。在一些实施例中,对话***可以显示表情符号来指示在204处确定的当前情绪。
在一些实施例中,对话***基本上在从用户接收连续流第二语音输入的同时显示视觉指示。如本文所使用的,“基本上同时”是指在对话过程中显示指示,例如,可以在显示辨别的意图之前和/或之后大约1秒内和/或在不需要对话***确定用户完成讲话时接收语音输入。
在208处,对话***确定反馈是否建议修改初始辨别的意图。如果初始辨别的意图或域不准确,则用户可以提供反馈以向正确的意图或域引导对话***。反馈可以是所接收的语音输入的连续流的一部分(例如,语音输入的第二部分、语音输入的第三部分等)。
基于在206处显示的视觉指示,用户可以确定初始辨别的意图是否准确。用户可以确定由视觉指示所指示的辨别的意图实际上对应于或不对应于用户正试图传达的意图或用户寻求发起的动作。用户可以即时确定初始辨别的意图是否准确。通过使用在206处提供的视觉提示,用户可以在评估视觉指示的同时继续提供语音输入。视觉指示可以允许用户看到***可能误解所提供的输入。因此,用户能够无缝地提供其他信息。或者,如果意图正确,则视觉提示也可以非常有助于使用户确信她正在与***支持的功能进行交互。
如果语音输入的第二部分明确指出或暗示初始辨别的意图不正确,则反馈可以建议修改初始辨别的意图(例如,208处的“是”)。例如,在语音输入流的第一部分中,用户指的是名为John Howie的牛排馆,并且显示的初始辨别的意图的指示是表示联系人的图标(例如,初始辨别的意图是标识名为John Howie的联系人)。响应于查看图标,用户通过继续讲并说“No,I am talking about the steak house.(不,我在谈论牛排馆)”来更正***。
如果反馈确认或无视了初始辨别的意图,则反馈可能不建议修改初始辨别的意图(例如,208处的“否”)。例如,用户可以确认显示的辨别的意图是正确的(例如,通过说“Yes,I want to buy a ticket to New York.(是的,我想买去纽约的票)”)。作为另一示例,用户可以继续讲话而无需考虑所显示的指示,并且对话***可以基于初始辨别的意图继续处理接收到的输入。
在210处,如果在208处反馈建议修改初始辨别的意图,则对话***处理语音输入的第二部分以确定经修改的辨别的意图。语音输入的第二部分更正了初始辨别的意图。例如,用户注意到在206处显示了错误的域图标,并且由此用户中途提供调整的输入。作为一个特定示例,语音输入的连续流是:“Add my dinner expense for$100[第一语音输入]using the expenses skill[第二语音输入,已调整以指定预期意图](将我的晚餐费用增加为100美元[第一语音输入],使用费用技能[第二语音输入,已调整以指定预期意图]。)”
对话***响应于语音输入的第二部分来修改辨别的意图。对话***可以利用语音输入的第二部分(例如,实时反馈)来改善***对用户输入和上下文的认知理解。例如,基于语音输入的第二部分,所述部分指定用户要在牛排馆进行预订,而不是呼叫名为JohnHowie的联系人,对话***选择做出预订意图而不是查找联系人意图。
在212处,对话***基于经修改的辨别的意图提供响应或执行动作。在一些实施例中,对话***基于经修改的辨别的意图确定响应。响应可以进一步基于语音输入的其他方面,诸如标识的命名实体和情绪。对话***可以向用户提供响应。提供响应可以通过准备并输出语音输出来执行。对话***可以经由对话管理器子***116和NLG子***118准备文本响应。可以将这种文本响应传递到文本语音子***120,所述子***将文本响应转换为口述响应。然后经由语音输出部件124将口述响应作为语音输出122输出。替代地或另外,可以经由显示器130向用户显示文本响应。
替代地或另外,基于在210处确定的经修改的辨别的意图,对话***可以执行对应于经修改的辨别的意图的任务。例如,***可以基于已经响应于用户反馈进行了调整的意图来订餐、预定航班、从数据库中检索信息等。
在214处,如果在208处反馈不建议修改初始辨别的意图,则对话***结合初始辨别的意图处理语音输入的第二部分。如果在204处确定并在206处显示的初始辨别的意图是准确的,则对话***可以处理在语音输入流的第二部分中接收的补充信息。例如,对话***可以结合基于语音输入的第一部分确定的初始辨别的意图,使用语音输入的第二部分来填充空位。替代地或另外,对话***可以使用语音输入的第二部分结合初始辨别的意图来执行情绪分析。
在216处,对话***基于初始辨别的意图提供响应或执行动作。以与上文关于212所述类似的方式,对话***可以基于初始辨别的意图来确定并提供响应和/或执行一个或多个动作。
替代地或另外,图2中描述的处理可以应用于一组域。对话***可以以与上文关于意图描述的类似方式确定初始辨别的域,显示初始辨别的域的指示,并且根据需要调整初始辨别的域。
图3描述了根据一些实施例的示出用于在图2的块204确定初始辨别的意图的方法300的简化流程图。可以在由相应***的一个或多个处理单元(例如,处理器、核)执行的软件(例如,代码、指令、程序)、硬件或其组合中实现图2中描述的处理。软件可以存储在非暂时性存储介质上(例如,在存储器装置上)。图3中呈现且以下描述的方法旨在进行说明并不进行限制。尽管图3描述了以特定顺序或次序发生的各个处理步骤,但这不旨在进行限制。在某些替代实施例中,可以以一些不同的次序执行所述步骤,或者也可以并行执行一些步骤。在某些实施例中,图3中描述的处理可以由以上关于图1描述的对话***执行。
在302处,对话***计算相应的多个潜在意图和语音输入的第一部分的多个得分。对话***可以使用机器学习模型诸如逻辑回归模型或神经网络来计算得分。合适模型的具体示例包括长短期记忆(LSTM)递归神经网络(例如,参见K Sreelakshmi等,Deep Bi-Directional LSTM Network for Query Intent Detection(用于查询意图检测的深度双向LSTM网络),第八届国际计算与通信进展会议(ICACC-2018),Rajkumar Buyy和SherlyK.K(2018)),以及来自变压器的双向编码器表示(BERT)(例如,参见Devlin,Jacob;Chang,Ming-Wei;Lee,Kenton;Toutanova,Kristina,"BERT:Pre-training of DeepBidirectional Transformers for Language Understanding(BERT:深度双向变压器的预训练以进行语言理解)".arXiv:1810.04805v2(2018))。这种模型可能先前已经在将样本文本输入与对应意图配对的数据集上进行了训练。在一些实施例中,模型的输出是得分,所述得分指示***支持的意图对应于在202处接收的语音输入的意图的概率。
在304处,对话***确定阈值。对话***可以存储一个或多个阈值,以用于确定特定意图是否被认为足够可能对应于用户的实际意图。对话***可以检索所存储的阈值。在一些实施例中,阈值可以是应用可配置的阈值——对话***可以接受并应用输入(例如,来自管理员)以配置一个或多个阈值。例如,对话***的功能可以作为云服务提供给不同的公司,并且不同的公司可以配置适合于其使用的不同阈值。
在306处,对话***确定特定意图的得分超过阈值。对话***可以将在302处计算出的每个意图的得分与在304处确定的阈值进行比较,直到发现多个潜在意图中的特定意图的得分超过阈值。
在308处,对话***将306处的特定意图设置为初始辨别的意图。基于得分超过阈值,对话***可以确定对应的特定意图足够可能是用户的实际意图。因此,对话***由此将特定意图设置为初始辨别的意图。
在308之后,对话***可以使得显示视觉指示,如上文在206处所述。通过在306处确定特定意图的得分超过阈值,来触发使得显示初始辨别的意图的视觉指示。如果特定意图达到阈值,那么将触发能够更新图形界面或被对话***拦截的事件。
替代地或另外,图3中描述的处理可以应用于一组域。对话***可以将得分分配给多个域。例如,可以训练神经网络以对语音输入的域进行分类。这可以包括计算得分,所述得分指示一组域中的每一个与语音输入的匹配程度。替代地或另外,模型可以计算意图的得分,每个意图映射到对应的域。对话***可以将每个得分与预定阈值进行比较。因此,对话***确定足够可以触发在306处显示视觉指示的域。对话***然后可以显示域的视觉指示(例如,天气图标,其可以指示初始辨别的意图与天气相关)。
图4A-图4D描述了根据一些实施例的界面视图400A-400D。图1的对话***100的显示器130可以显示如图4A-图4D示出的界面以向用户提供辨别的意图的视觉提示。
图4A示出了第一界面视图400A。可以向用户显示第一界面视图,以示出用户提供给对话***的输入。输入可以被接收为文本输入,或者被接收为语音输入,其由对话***处理以确定显示的文本。在图4A示出的示例中,用户已提供输入“Add four...(添加四个...)”。对话***在文本气泡402中显示输入“Add four(添加四个)”。这可以对应于话音输入的连续流的第一部分。在一些实施例中,对话***可以基于话音输入来产生文本,并且显示确定的文本话语。在文本输出与话音输入不正确匹配的情况下,用户可以中途更正或调整。
图4B示出了第二界面视图400B。第二界面视图显示初始辨别的意图404的视觉指示。在图4B示出的示例中,初始辨别的意图的视觉指示是计算器图标。初始辨别的意图404的视觉指示代表由对话***确定的初始辨别的意图。在这种情况下,基于图4A中示出的语音输入,对话***确定意图足够可能添加数字以便触发显示辨别的意图的视觉指示。添加数字对应于计算器技能。因此,对话***显示计算器图标。
图4C示出了第三界面视图400C。可以向用户显示第三界面视图400C,以示出用户提供给对话***的话音或文本输入。在图4C示出的示例中,用户已提供输入“..apples toshopping list(苹果到购物清单)”。对话***在文本气泡406中显示部分输入“apples toshopping list(苹果到购物清单)”。这可以对应于语音输入的连续流的第二部分。图4C中示出的语音输入响应于图4B处显示的图标,计算器图标指示对话***未跟随用户正在参考购物清单,因此用户必须确保明确指出这是指图4C中示出的连续语音输入流第二部分中的购物清单。
图4D示出了第四界面视图400D。第四界面视图400D显示结果408。结果408是响应于图4A和图4C中指示的语音输入添加了四个苹果的购物清单。通过显示如图4B所示的初始辨别的意图指示,对话***能够操纵对话以快速确定正确的意图并且确定并提供图4D中示出的结果。
本文描述的技术具有多个优点。通过处理用户输入并实时提供对其的初步了解,***可以更准确地复制自然语音交互。例如,当两个人讲话时,视觉提示可以在让一个人知道另一个人是否听懂他们的讲话时非常有用。同样,通过利用实时自然语言处理,对话***可以向用户显示视觉指示,以使用户知道对话***是否正在按预期理解用户的语音。
相反,在处理语音或键入的用户输入的典型***中,***将等待口述子句完成,然后再花一些时间来处理口述子句并返回结果。如果结果是错误的,或者需要另外的信息,则这可能导致交互的不期望的开始和停止模式和/或扩展的一系列输入和输出,以使对话顺利进行。与本文描述的技术相比,这导致更多的时间资源、更多的处理资源以及更多的计算资源被消耗。本文描述的技术避免了这些问题并节省了时间和计算资源。因此,本文描述的技术可以减少执行用户请求的功能所需的总体时间和处理,因为***可以实时给出并接收反馈以改善***对接收到的语音输入的认知理解,而不是在用户被误解时停止并重启对话。
可以在包括云环境(可以是包括私有、公共和混合云环境的各种类型的云)、本地环境、混合环境等的各种不同环境中实现上述基础设施。
图5描述了用于实现实施例的分布式***500的简化图。在所示的实施例中,分布式***500包括经由一个或多个通信网络510耦合到服务器512的一个或多个客户端计算设备502、504、506和508。客户端计算设备502、504、506和508可以被配置成执行一个或多个应用。
在各种实施例中,服务器512可以适于运行一个或多个服务或软件应用,所述服务或软件应用使得能够使用用户反馈来改善对话***中的认知理解。
在某些实施例中,服务器512还可以提供可以包括非虚拟和虚拟环境的其他服务或软件应用。在一些实施例中,这些服务可以作为基于网络的或云服务诸如在软件即服务(SaaS)模型下提供给客户端计算设备502、504、506和/或508的用户。操作客户端计算设备502、504、506和/或508的用户可以依次利用一个或多个客户端应用来与服务器512交互以利用由这些部件提供的服务。
在图5中描述的配置中,服务器512可以包括实现由服务器512执行的功能的一个或多个部件518、520和522。这些部件可以包括可以由一个或多个处理器执行的软件部件、硬件部件或其组合。应当理解,各种不同的***配置是可能的,其可以与分布式***500不同。图5中所示的实施例因此是用于实现实施例***的分布式***的一个示例,并且不旨在进行限制。
根据本公开的教导,用户可以使用客户端计算设备502、504、506和/或508来使用用户反馈来改善对话***中的认知理解。客户端设备可以提供使客户端设备的用户能够与客户端设备交互的界面。客户端设备还可以经由这个界面向用户输出信息。尽管图5仅描述了四个客户端计算设备,但可以支持任何数量的客户端计算设备。
客户端设备可以包括各种类型的计算***,如便携式手持装置、如个人计算机和膝上型计算机等通用计算机、工作站计算机、可穿戴装置、游戏***、瘦客户端、各种消息传递装置、传感器或其他感测装置等。这些计算装置可以运行各种类型和版本的软件应用和操作***(例如,MicrosoftApple或类UNIX操作***、Linux或类Linux操作***诸如Google ChromeTM OS),包括各种移动操作***(例如,Microsoft WindowsWindowsAndroidTM、Palm)。便携式手持装置可以包括蜂窝电话、智能电话(例如,)、平板计算机(例如,)、个人数字助理(PDA)等。可穿戴装置可以包括Google头戴式显示器以及其他装置。游戏***可以包括各种手持游戏装置、支持因特网的游戏装置(例如,有或没有姿势输入装置的Microsoft游戏控制台、Sony***、由提供的各种游戏***、以及其他)等。客户端设备可以能够执行各种不同的应用,如各种因特网相关应用、通信应用(例如,电子邮件应用、短消息服务(SMS)应用)并可以使用各种通信协议。
(多个)网络510可以是本域技术人员熟悉的任何类型的网络,其可以使用多种可用协议中的任何一种来支持数据通信,所述协议包括但不限于TCP/IP(传输控制协议/互联网协议)、SNA(***网络架构)、IPX(互联网包交换)、等。仅作为示例,(多个)网络510可以是局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、互联网、虚拟网络、虚拟专用网络(VPN)、内部网、外部网、公共交换电话网(PSTN)、红外网络、无线网络(例如,在电气和电子学会(IEEE)1002.11协议套件中的任何一种下运行的网络)、和/或任何其他无线协议)和/或这些和/或其他网络的任意组合。
服务器512可以由以下组成:一个或多个通用计算机、专用服务器计算机(例如包括PC(个人计算机)服务器、服务器、中端服务器,大型计算机、机架式服务器等)、服务器场、服务器群集或任何其他适当的装置和/或组合。服务器512可以包括运行虚拟操作***的一个或多个虚拟机,或者涉及虚拟化的其他计算架构,诸如可以被虚拟化以维护服务器的虚拟存储装置的逻辑存储装置的一个或多个灵活池。在各种实施例中,服务器512可以适于运行一个或多个服务或软件应用,所述服务或软件应用提供前述公开中描述的功能。
服务器512中的计算***可以运行一个或多个操作***,包括上面讨论的那些中的任一操作***以及任何可商购的服务器操作***。服务器512还可以运行各种另外服务器应用和/或中间层应用中的任何一种,包括HTTP(超文本传输协议)服务器、FTP(文件传送协议)服务器、CGI(通用网关接口)服务器、服务器、数据库服务器等。示例性数据库服务器包括但不限于可从(国际商业机器)等商购的数据库服务器。
在一些实施方式中,服务器512可以包括用于分析和合并从客户端计算设备502、504、506和508的用户接收的数据馈送和/或事件更新的一个或多个应用。作为示例,数据馈送和/或事件更新可以包括但不限于:从一个或多个第三方信息源和连续数据流接收到的馈送、更新或实时更新,其可以包括与传感器数据应用、金融报价机、网络性能测量工具(例如网络监视和流量管理应用)、点击流分析工具、汽车流量监视等相关的实时事件。服务器512还可包括用于经由客户端计算设备502、504、506和508的一个或多个显示装置来显示数据馈送和/或实时事件的一个或多个应用。
分布式***500还可以包括一个或多个数据存储库514、516。在某些实施例中,这些数据存储库可以用于存储数据和其他信息。例如,数据存储库514、516中的一个或多个可以用于存储诸如对话历史的信息。数据存储库514、516可以驻留在各种位置。例如,服务器512使用的数据存储库可以是服务器512本地的,或者可以是远离服务器512的,并且经由基于网络或专用的连接与服务器512通信。数据存储库514、516可以是不同类型的。在某些实施例中,服务器512使用的数据存储库可以是数据库,例如关系数据库,诸如由Oracle和其他供应商提供的数据库。这些数据库中的一个或多个可以适于响应于SQL格式的命令实现数据库中数据的存储、更新和检索。
在某些实施例中,应用还可以使用数据存储库514、516中的一个或多个来存储应用数据。应用使用的数据存储库可以是不同的类型,诸如例如键值存储库、对象存储库或文件***支持的通用存储库。
在某些实施例中,可以经由云环境将本公开中描述的与NLU相关的功能作为服务来提供。图6是根据某些实施例的基于云的***环境的简化框图,其中各种NLU相关的服务可以作为云服务被提供。在图6描述的实施例中,云基础设施***602可以提供用户可以使用一个或多个客户端计算设备604、606和608请求的一个或多个云服务。云基础设施***602可以包括一个或多个计算机和/或服务器。云基础设施***602中的计算机可以被组织为通用计算机、专用服务器计算机、服务器场、服务器集群或任何其他适当的装置和/或组合。
(多个)网络610可以促进客户端604、606和608与云基础设施***602之间的数据通信和交换。(多个)网络610可以包括一个或多个网络。网络可以是相同或不同的类型。(多个)网络610可以支持一种或多种通信协议,包括有线和/或无线协议,以促进通信。
图6中描述的实施例仅为云基础设施***的一个示例,并且不旨在进行限制。应当理解,在一些其他实施例中,云基础设施***602可以具有比图6中描述的部件更多或更少的部件,可以组合两个或更多个部件,或者可以具有不同配置或布置的部件。例如,尽管图6描述了三个客户端计算设备,但在替代性实施例中可以支持任何数量的客户端计算设备。
术语云服务通常用于指代由服务提供商的***(例如,云基础设施***602)经由通信网络诸如因特网按需对用户可用的服务。通常,在公共云环境中,构成云服务提供商的***的服务器和***与客户自身的室内服务器和***不同。云服务提供商的***由云服务提供商管理。因此,客户可以使自身利用由云服务提供商提供的云服务,而不必针对服务购买单独的许可证、支持或硬件和软件资源。例如,云服务提供商的***可以托管应用,并且用户可以通过因特网按需订购并使用应用,而用户不必购买用于执行应用的基础设施资源。云服务被设计成提供对应用、资源和服务的容易的、可伸缩的访问。几个提供商提供云服务。例如,由加利福尼亚州红木海岸(Redwood Shores,California)的Oracle提供如中间件服务、数据库服务、Java云服务以及其他服务等几种云服务。
在某些实施例中,云基础设施***602可以使用不同的模型诸如在软件即服务(SaaS)模型、平台即服务(PaaS)模型、基础设施即服务(IaaS)模型和其他模型(包括混合服务模型)下提供一个或多个云服务。云基础设施***602可以包括实现对各种云服务的置配的一套应用、中间件、数据库和其他资源。
SaaS模型使应用或软件能够作为服务通过如因特网等通信网络输送给客户,而客户不必购买底层应用的硬件或软件。例如,可以使用SaaS模型为客户提供对由云基础设施***602托管的按需应用的访问。Oracle提供的SaaS服务的示例包括但不限于用于人力资源/资本管理、客户关系管理(CRM)、企业资源规划(ERP)、供应链管理(SCM)、企业绩效管理(EPM)、分析服务、社交应用以及其他等的各种服务。
PaaS模型通常用于提供使客户能够开发、运行并管理应用和服务而客户不必采购、构建或维护这种资源的平台和环境资源作为服务。由Oracle提供的PaaS服务的示例包括但不限于Oracle Java云服务(JCS)、Oracle数据库云服务(DBCS)、数据管理云服务、各种应用开发解决方案服务、以及其他服务。
云服务通常基于按需自助服务、基于订阅的、弹性可扩展的、可靠的、高度可用的和安全的方式提供。例如,客户可以经由订阅订单订购云基础设施***602提供的一个或多个服务。云基础设施***602然后执行处理以提供客户的订阅订单中所请求的服务。例如,云基础设施***602使用历史上下文来影响对话任务。云基础设施***602可以被配置成提供一个或甚至多个云服务。
云基础设施***602可以通过不同的部署模型提供云服务。在公共云模型中,云基础设施***602可以由第三方云服务提供商拥有,并且云服务被提供给任何一般的公众客户,其中,所述客户可以是个人或企业。在某些其他实施例中,在私有云模型下,云基础设施***602可以在组织内(例如,在企业组织内)操作并且服务被提供给组织内的客户。例如,客户可以是如人力资源部门、薪资部门等企业的各个部门或甚至是企业内的个人。在某些其他实施例中,在社区云模型下,云基础设施***602和所提供的服务可以由相关的社区中的几个组织共享。也可以使用如以上所提到的模型的混合等各种其他模型。
客户端计算设备604、606和608可以是不同类型(诸如图5中描述的设备502、504、506和508),并且可以能够操作一个或多个客户端应用。用户可以使用客户端设备与云基础设施***602进行交互,以便请求由云基础设施***602提供的服务。例如,用户可以使用客户端设备来请求本公开中描述的与NLU相关的服务。
在一些实施例中,由云基础设施***602执行的用于提供NLU相关服务的处理可以涉及大数据分析。此分析可以涉及使用、分析并操纵大数据集以检测并可视化数据中的各种趋势、行为、关系等。此分析可以由一个或多个处理器执行,从而可能并行地处理数据、使用数据执行模拟等。例如,云基础设施***602可以执行大数据分析,以基于接收到的语音输入来辨别的意图。用于此分析的数据可以包括结构化数据(例如,存储在数据库中或根据结构化模型进行结构化的数据)和/或非结构化数据(例如,数据块(data blob)(二进制大对象))。
如图6的实施例所描述的,云基础设施***602可以包括基础设施资源630,其被用于促进由云基础设施***602提供的各种云服务的置配(provision)。基础设施资源630可以包括例如处理资源、存储或存储器资源、联网资源等。
在某些实施例中,为了促进对这些资源的高效置配以用于支持由云基础设施***602为不同客户提供的各种云服务,资源可以被捆绑成资源组或资源模块(也称为“群聚(pod)”)。每个资源模块或群聚可以包括一种或多种类型的资源的预先集成且优化的组合。在某些实施例中,可以针对不同类型的云服务预先置配不同的群聚,所述云服务可以包括以上针对服务器512描述的那些。例如,可以针对数据库服务置配第一组群聚、可以针对Java服务置配第二组群聚等,第二组群聚可以包括与第一组群聚中的群聚不同的资源组合。对于一些服务,被分配用于置配服务的资源可以在服务之间共享。
云基础设施***602本身可以在内部使用由云基础设施***602的不同部件共享并且促进云基础设施***602置配服务的服务632。这些内部共享服务可以包括但不限于安全和身份服务、集成服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高度可用性、备份和恢复服务、用于实现云支持的服务、电子邮件服务、通知服务、文件传送服务等。
云基础设施***602可以包括多个子***。这些子***可以在软件或硬件或其组合中实施。如图6所描绘的,子***可以包括使云基础设施***602的用户或客户能够与云基础设施***602交互的用户界面子***612。用户界面子***612可以包括各种不同的界面,如web界面614、其中广告并且客户可购买由云基础设施***602提供的云服务的在线商店界面616和其他界面618。例如,客户可以使用客户端设备请求(服务请求634)由云基础设施***602使用界面614、616和618中的一个或多个界面提供的一个或多个服务。例如,客户可以访问在线商店、浏览由云基础设施***602提供的云服务并且针对客户希望订阅的由云基础设施***602提供的一个或多个服务下订阅订单。服务请求可以包括标识客户和客户期望订阅的一个或多个服务的信息。例如,客户可以针对由云基础设施***602提供的NLU相关服务下订阅订单。作为订单的一部分,客户可以提供标识请求的语音输入。
在某些实施例中,诸如图6中描述的实施例,云基础设施***602可以包括被配置成处理新订单的订单管理子***(OMS)620。作为此处理的一部分,OMS 620可以被配置成:为客户创建账户(如果尚未创建的话);从客户接收要用于向客户开具账单以向客户提供所请求的服务的账单和/或计费信息;验证客户信息;在验证之后,为客户预订订单;以及策划各种工作流程来准备订单以进行置配。
一旦验证通过,OMS 620就可以调用被配置成为订单置配资源包括处理资源、存储器资源和联网资源的订单置配子***(OPS)624。置配可以包括为订单分配资源并配置资源以促进客户订单所请求的服务。为订单置配资源的方式和所置配的资源的类型可以取决于客户已经订购的云服务的类型。例如,根据一个工作流,OPS 624可以被配置成确定正在请求的特定云服务并且标识可能已经为所述特定云服务预先配置的群聚的数量。为订单分配的群聚的数量可以取决于所请求服务的大小/量/层级/范围。例如,要分配的群聚的数量可以基于服务所要支持的用户的数量、正在请求的服务的持续时间等来确定。然后,可以为特定的请求客户定制分配的群聚以用于提供所请求服务。
云基础设施***602可以向请求客户发送响应或通知644,以指示何时所请求服务现在已准备好使用。在一些实例中,可以向客户发送使客户能够开始使用和利用所请求服务的益处的信息(例如,链接)。在某些实施例中,对于请求NLU相关服务的客户,响应可以包括基于所标识的意图而生成的响应。
云基础设施***602可以向多个客户提供服务。对于每个客户,云基础设施***602负责管理与从客户接收的一个或多个订阅订单有关的信息、维护与订单相关的客户数据并且向客户提供所请求服务。云基础设施***602还可以收集关于客户使用所订阅服务的使用情况统计数据。例如,可以收集所使用的存储量、所传送的数据量、用户的数量以及***开机时间量和***停机时间量等的统计数据。可以使用此使用情况信息向客户开具账单。可以例如以月为周期完成开具账单。
云基础设施***602可以并行地向多个客户提供服务。云基础设施***602可以存储这些客户的信息,包括可能的专有信息。在某些实施例中,云基础设施***602包括身份管理子***(IMS)628,其被配置成管理客户信息并提供所管理信息的分离,使得与一个客户相关的信息不能被另一客户访问。IMS 628可以被配置成提供各种安全相关的服务,诸如身份服务,诸如信息访问管理、认证和授权服务、用于管理客户身份和角色及相关能力的服务等。
图7示出了可以用于实现某些实施例的示例性计算机***700。例如,在一些实施例中,计算机***700可以用于实现上述的ASR子***、NLU子***以及各种服务器和计算机***中的任何一个。如图7所示,计算机***700包括各种子***,包括经由总线子***702与多个其他子***通信的处理子***704。这些其他子***可以包括处理加速单元706、I/O子***708、存储子***718以及通信子***724。存储子***718可以包括非暂时性计算机可读存储介质,其包括存储介质722和***存储器710。
总线子***702提供了让计算机***700的各个部件和子***按预期彼此通信的机制。虽然总线子***702被示意性地示出为单一总线,但总线子***的替代性实施例可以利用多条总线。总线子***702可以是若干类型的总线结构中的任何一种,包括存储器总线或存储器控制器、***总线、使用各种总线架构中的任何一种的本地总线等。例如,此类架构可以包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线,以及***部件互连(PCI)总线,其可以实现为按照IEEEP1386.1标准制造的夹层总线等。
处理子***704控制计算机***700的操作,并且可以包括一个或多个处理器、专用集成电路(ASIC)或现场可编程门阵列(FPGA)。处理器可以包括单核或多核处理器。可以将计算机***700的处理资源组织成一个或多个处理单元732、734等。处理单元可以包括一个或多个处理器、来自相同或不同处理器的一个或多个核、核与处理器的组合,或核与处理器的其他组合。在一些实施例中,处理子***704可以包括一个或多个专用协同处理器,诸如图形处理器、数字信号处理器(DSP)等。在一些实施例中,可以使用诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)的定制电路来实现处理子***704的一些或全部处理单元。
在一些实施例中,处理子***704中的处理单元可以执行存储在***存储器710中或计算机可读存储介质722上的指令。在各种实施例中,处理单元可以执行各种程序或代码指令,并且可以维护多个同时执行的程序或过程。在任何给定时间,要执行的一些或全部程序代码可以驻留在***存储器710中和/或计算机可读存储介质722上,包括可能在一个或多个存储设备上。通过合适的编程,处理子***704可以提供上述各种功能。在计算机***700正在执行一个或多个虚拟机的实例中,可以将一个或多个处理单元分配给每个虚拟机。
在某些实施例中,可以可选地提供处理加速单元706,以用于执行定制处理或卸载由处理子***704执行的一些处理,以便使由计算机***700执行的整体处理加速。
I/O子***708可以包括用于向计算机***700输入信息和/或用于从或经由计算机***700输出信息的设备和机构。通常,使用术语输入设备旨在包括用于向计算机***900输入信息的所有可能类型的设备和机构。用户界面输入设备可以包括例如键盘、如鼠标或轨迹球的指向设备、并入到显示器中的触摸板或触摸屏、滚轮、点击轮、拨号盘、按钮、开关、小键盘、具有话音命令识别***的音频输入设备、麦克风以及其他类型的输入设备。用户界面输入设备还可以包括运动感测和/或姿势识别设备,如使用户能够控制输入设备并与输入设备交互的Microsoft运动传感器、Microsoft360游戏控制器、提供用于使用姿势和口述命令接收输入的界面的设备。用户界面输入设备还可以包括眼部姿势识别设备,如检测来自用户的眼部活动(例如,在拍照和/或进行菜单选择时“眨眼”)并将眼部姿势变换为到输入设备(如Google)的输入的Google眨眼检测器。另外,用户界面输入设备可以包括使用户能够通过话音命令与话音识别***交互的话音识别感测设备。
用户界面输入设备的其他示例包括但不限于三维(3D)鼠标、操纵杆或指向杆、游戏手柄和图形板、以及音频/视觉设备诸如扬声器、数码相机、数码摄像机、便携式媒体播放器、网络摄像机、图像扫描仪、指纹扫描仪、条形码读取器3D扫描仪、3D打印机、激光测距仪、眼睛注视跟踪设备。另外,用户界面输入设备可以包括例如医学成像输入设备,如计算机断层扫描、磁共振成像、正电子发射断层扫描和医学超声检查设备。用户界面输入设备还可以包括例如音频输入设备,如MIDI键盘、数码乐器等。
通常,使用术语输出设备旨在包括用于从计算机***700向用户或其他计算机输出信息的所有可能类型的设备和机构。用户界面输出设备可以包括显示子***、指示灯或如音频输出设备等非视觉显示器。显示子***可以是阴极射线管(CRT)、平板设备诸如使用液晶显示器(LCD)或等离子显示器的平板设备、投影设备、触摸屏等。例如,用户界面输出设备可以包括但不限于在视觉上传达文本、图形和音频/视频信息的各种显示设备,如监视器、打印机、扬声器、头戴式耳机、汽车导航***、绘图仪、话音输出设备和调制解调器。
存储子***718提供用于存储由计算机***700使用的信息和数据的存储库或数据存储。存储子***718提供用于存储提供一些实施例的功能的基本编程和数据构造的非暂时性计算机可读存储介质。存储子***718可以存储在由处理子***704执行时提供上述功能的软件(例如,程序、代码模块、指令)。软件可以由处理子***704的一个或多个处理单元执行。存储子***718还可以提供用于存储根据本公开的教导使用的数据的存储库。
存储子***718可以包括一个或多个非易失性存储设备,包括易失性和非易失性存储设备。如图7所示,存储子***718包括***存储器710和计算机可读存储介质722。***存储器710可以包括多个存储器,包括:在程序执行期间用于存储指令和数据的易失性主随机存取存储器(RAM)和其中存储有固定指令的非易失性只读存储器(ROM)或闪速存储器。在一些实施方式中,基本输入/输出***(BIOS)通常可以被存储在ROM中,所述基本输入/输出***包含有助于诸如在启动期间在计算机***700内的元件之间传送信息的基本例程。RAM通常包含当前由处理子***704操作和执行的数据和/或程序模块。在一些实施方式中,***存储器710可以包括多种不同类型的存储器,诸如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
作为示例并不限制,如图7中描述的,***存储器710可以加载正在执行的应用程序712,其可以包括各种应用,诸如Web浏览器、中间层应用、关系数据库管理***(RDBMS)等、程序数据714以及操作***716。作为示例,操作***716可以包括各种版本的MicrosoftApple和/或Linux操作***、各种可商购的或类UNIX操作***(包括但不限于各种GNU/Linux操作***、GoogleOS等)和/或移动操作***诸如iOS、Phone、OS、OS、OS操作***等。
计算机可读存储介质722可以存储提供一些实施例的功能的程序和数据构造。计算机可读介质722可以为计算机***700提供计算机可读指令、数据结构、程序模块和其他数据的存储。在由处理子***704执行时提供上述功能的软件(程序、代码模块、指令)可以存储在存储子***718中。作为示例,计算机可读存储介质722可以包括非易失性存储器,诸如硬盘驱动器、磁盘驱动器、诸如CD ROM、DVD的光盘驱动器、Blu-盘或其他光学介质。计算机可读存储介质722可以包括但不限于:驱动器、闪速存储器卡、通用串行总线(USB)闪存驱动器、安全数字(SD)卡、DVD盘、数字录像带等。计算机可读存储介质722还可以包括:基于非易失性存储器的固态驱动器(SSD),诸如基于闪速存储器的SSD、企业级闪存驱动器、固态ROM等;基于易失性存储器的SSD,诸如固态RAM、动态RAM、静态RAM;基于DRAM的SSD;磁阻RAM(MRAM)SSD以及使用DRAM和基于闪速存储器的SSD的组合的混合SSD。
在某些实施例中,存储子***718还可以包括计算机可读存储介质读取器720,其可以进一步连接到计算机可读存储介质722。读取器720可以接收并且被配置成从诸如磁盘、闪存驱动器等的存储设备读取数据。
在某些实施例中,计算机***700可以支持虚拟化技术,包括但不限于处理和存储器资源的虚拟化。例如,计算机***700可以提供对执行一个或多个虚拟机的支持。在某些实施例中,计算机***700可以执行程序,诸如促进虚拟机的配置和管理的管理程序。可以为每个虚拟机分配存储器、计算(例如,处理器、核)、输入/输出和联网资源。每个虚拟机通常独立于其他虚拟机运行。虚拟机通常运行其自己的操作***,所述操作***可以与计算机***700执行的其他虚拟机执行的操作***相同或不同。因此,计算机***700可能潜在地同时运行多个操作***。
通信子***724提供到其他计算机***和网络的接口。通信子***724充当用于从计算机***700的其他***接收数据并将数据传输到所述其他***的接口。例如,通信子***724可以使计算机***700能够经由互联网建立到一个或多个客户端设备的通信信道,以用于从客户端设备接收信息和向所述客户端设备发送信息。例如,通信子***可以用于与数据库通信以执行查询来标识可请求的实体。
通信子***724可以支持有线通信协议和/或无线通信协议两者。例如,在某些实施例中,通信子***724可以包括用于访问无线话音和/或数据网络的射频(RF)收发器部件(例如,使用蜂窝电话技术诸如3G、4G或EDGE(全球演进增强型数据速率)等先进的数据网络技术、WiFi(IEEE 802.XX家庭标准、或其他移动通信技术、或其任何组合)、全球定位***(GPS)接收器部件和/或其他部件。在一些实施例中,除了无线接口之外或代替无线接口,通信子***724可以提供有线网络连接(例如,以太网)。
通信子***724可以以各种形式接收和传输数据。例如,在一些实施例中,除了其他形式之外,通信子***724可以以结构化和/或非结构化数据馈送726、事件流728、事件更新730等形式接收输入通信。例如,通信子***724可以被配置成从社交媒体网络和/或其他通信服务诸如馈送、更新、诸如丰富站点摘要(RSS)馈送的网络馈送和/或来自一个或多个第三方信息源的实时更新的用户实时地接收(或发送)数据馈送726。
在某些实施例中,通信子***724可以被配置成接收连续数据流形式的数据,所述连续数据流可以包括可以没有显式结束的本质上连续的或无界的实时事件的事件流728和/或事件更新730。生成连续数据的应用的示例可以包括例如传感器数据应用、金融报价机、网络性能测量工具(例如网络监视和交通管理应用)、点击流分析工具、汽车交通监视等。
通信子***724还可以被配置成将数据从计算机***700传达到其他计算机***或网络。数据可以以各种不同的形式诸如结构化和/或非结构化数据馈送726、事件流728、事件更新730等传达到一个或多个数据库,所述一个或多个数据库可以与耦合到计算机***700的一个或多个流式数据源计算机通信。
计算机***700可以是各种类型中的一种,包括手持便携式设备(例如,蜂窝电话、计算平板电脑、PDA)、可穿戴设备(例如Google头戴式显示器)、个人计算机、工作站、大型机、信息亭、服务器机架或任何其他数据处理***。由于计算机和网络的性质不断变化,对图7所描述的计算机***700的描述仅旨在作为具体示例。具有比图7中描述的***更多或更少部件的许多其他配置是可能的。基于本文提供的公开和教导,本域普通技术人员将理解实现各种实施例的其他方式和/或方法。
尽管已经描述了特定的实施例,但各种修改、变更、替代构造和等同方案都是可能的。实施例不限于在某些特定数据处理环境内的操作,而是可以在多个数据处理环境内自由地操作。另外,尽管已经使用特定系列的事务和步骤描述了某些实施例,但对于本域技术人员应该显而易见的是,这并不旨在进行限制。尽管一些流程图将操作描述为顺序过程,但许多操作可以并行或同时执行。另外,可以重排操作的顺序。一个过程可以具有图中未包括的另外步骤。上述实施例的各种特征和方面可以单独或共同使用。
此外,尽管已经使用硬件和软件的特定组合描述了某些实施例,但应该认识到,硬件和软件的其他组合也是可能的。某些实施例可以仅以硬件或仅以软件或其组合来实现。本文描述的各种过程可以以任何组合在相同处理器或不同处理器上实现。
在将设备、***、部件或模块描述为被配置成执行某些操作或功能的情况下,这种配置可以例如通过将电子电路设计成执行操作、通过对可编程电子电路(诸如微处理器)进行编程以执行操作,诸如通过执行计算机指令或代码,或通过被编程成执行存储在非暂态存储器介质上的代码或指令的处理器或核或其任何组合来完成。过程可以使用包括但不限于用于过程间通信的传统技术的各种技术进行通信,并且不同的过程对可以使用不同的技术,或者相同的过程对可以在不同的时间使用不同的技术。
本公开中给出了具体细节以提供对实施例的透彻理解。然而,可以在没有这些具体细节的情况下实践实施例。例如,已经示出了公知的电路、过程、算法、结构和技术,而没有不必要的细节,以避免模糊实施例。此描述仅提供了示例实施例并且不旨在限制其他实施例的范围、适用性或配置。而是,先前对实施例的描述将为本领域技术人员提供用于实施各种实施例的使能描述。可以对元件的功能和布置作出各种改变。
因此,应当从说明性而非限制性意义上看待说明书和附图。然而,将明显的是,在不脱离权利要求中阐述的更广泛的精神和范围的情况下,可以对其作出添加、减少、删除以及其他修改和改变。因此,虽然已经描述了具体实施例,但是这些示例不旨在是限制性的。各种修改和等同物均在以下权利要求的范围内。
Claims (21)
1.一种用于对话处理的方法,包括:
由对话***从用户接收语音输入;
由所述对话***处理所述语音输入的第一部分以确定初始辨别的意图;
由所述对话***使得显示所述初始辨别的意图的视觉指示;以及
由所述对话***处理所述语音输入的第二部分以确定经修改的辨别的意图,其中所述语音输入的所述第二部分响应于所述初始辨别的意图的所述视觉指示来更正所述初始辨别的意图。
2.如权利要求1所述的方法,其中,所述对话***基本上实时地处理所述语音输入。
3.如权利要求1所述的方法,其中所述视觉指示包括以下中的一个或多个:指定与所述初始辨别的意图相关联的域的文本;指定所述初始辨别的意图的文本;指示与所述初始辨别的意图相关联的所述域的图像;或者指示所述初始辨别的意图的图像。
4.如权利要求1所述的方法,还包括由所述对话***执行与所述经修改的辨别的意图相对应的任务。
5.如权利要求1所述的方法,还包括:
由所述对话***基于所述经修改的辨别的意图确定响应;以及
由所述对话***将所述响应提供给所述用户。
6.如权利要求1所述的方法,其中,确定所述初始辨别的意图包括:
由所述对话***针对相应的多个潜在意图和所述语音输入的所述第一部分计算多个得分;以及
由所述对话***确定所述多个潜在意图中的特定意图的得分超过阈值,从而将所述特定意图设置为所述初始辨别的意图,
其中通过所述确定所述得分超过所述阈值来触发使得显示所述初始辨别的意图的视觉指示。
7.如权利要求1所述的方法,其中,确定所述初始辨别的意图包括:
由所述对话***的自动语音识别子***确定与所述语音输入的所述第一部分对应的第一文本话语;
由所述自动语音识别子***向所述对话***的自然语言理解子***提供所述第一文本话语;以及
由所述自然语言理解子***基于所述第一文本话语确定所述初始辨别的意图。
8.一种非暂时性计算机可读存储器,存储有能够由一个或多个处理器执行的多个指令,所述多个指令包括在由所述一个或多个处理器执行时使得所述一个或多个处理器执行包括以下的处理的指令:
从用户接收语音输入;
处理所述语音输入的第一部分以确定初始辨别的意图;
使得显示所述初始辨别的意图的视觉指示;以及
处理所述语音输入的第二部分以确定经修改的辨别的意图,其中,所述语音输入的所述第二部分响应于所述初始辨别的意图的视觉指示来更正所述初始辨别的意图。
9.如权利要求8所述的非暂时性计算机可读存储器,其中,基本上实时地处理所述语音输入。
10.如权利要求8所述的非暂时性计算机可读存储器,其中,所述视觉指示包括以下中的一个或多个:指定与所述初始辨别的意图相关联的域的文本;指定所述初始辨别的意图的文本;指示与所述初始辨别的意图相关联的所述域的图像;或者指示所述初始辨别的意图的图像。
11.如权利要求8所述的非暂时性计算机可读存储器,所述处理还包括执行与所述经修改的辨别的意图相对应的任务。
12.如权利要求8所述的非暂时性计算机可读存储器,所述处理还包括:
基于所述经修改的辨别的意图确定响应;以及
将所述响应提供给所述用户。
13.如权利要求8所述的非暂时性计算机可读存储器,其中确定所述初始辨别的意图包括:
针对相应的多个潜在意图和所述语音输入的所述第一部分计算多个得分;以及
确定所述多个潜在意图中的特定意图的得分超过阈值,从而将所述特定意图设置为所述初始辨别的意图,
其中通过所述确定所述得分超过所述阈值来触发使得显示所述初始辨别的意图的视觉指示。
14.如权利要求8所述的非暂时性计算机可读存储器,其中确定所述初始辨别的意图包括:
由自动语音识别子***确定与所述语音输入的所述第一部分对应的第一文本话语;
由所述自动语音识别子***向自然语言理解子***提供所述第一文本话语;以及
由所述自然语言理解子***基于所述第一文本话语确定所述初始辨别的意图。
15.一种用于对话处理的***,包括:
一个或多个处理器;
耦合到所述一个或多个处理器的存储器,所述存储器存储有能够由所述一个或多个处理器执行的多个指令,所述多个指令包括在由所述一个或多个处理器执行时使得所述一个或多个处理器执行包括以下的处理的指令:
从用户接收语音输入;
处理所述语音输入的第一部分以确定初始辨别的意图;
使得显示所述初始辨别的意图的视觉指示;以及
处理所述语音输入的第二部分以确定经修改的辨别的意图,其中所述语音输入的所述第二部分响应于所述初始辨别的意图的视觉指示来更正所述初始辨别的意图。
16.如权利要求15所述的***,其中,基本上实时地处理所述语音输入。
17.如权利要求15所述的***,其中,所述视觉指示包括以下中的一个或多个:指定与所述初始辨别的意图相关联的域的文本;指定所述初始辨别的意图的文本;指示与所述初始辨别的意图相关联的所述域的图像;或者指示所述初始辨别的意图的图像。
18.如权利要求15所述的***,所述处理还包括执行与所述经修改的辨别的意图相对应的任务。
19.如权利要求15所述的***,所述处理还包括:
基于所述经修改的辨别的意图确定响应;以及
将所述响应提供给所述用户。
20.如权利要求15所述的***,其中,确定所述初始辨别的意图包括:
针对相应的多个潜在意图和所述语音输入的所述第一部分计算多个得分;以及
确定所述初始辨别的意图的得分超过阈值,
其中,通过所述确定所述初始辨别的意图的所述得分超过所述阈值,触发使得显示所述初始辨别的意图的视觉指示。
21.一种用于对话处理的***,包括用于执行根据权利要求1至7中任一项所述的方法的步骤的装置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962899641P | 2019-09-12 | 2019-09-12 | |
US62/899,641 | 2019-09-12 | ||
US16/941,051 | 2020-07-28 | ||
US16/941,051 US11935521B2 (en) | 2019-09-12 | 2020-07-28 | Real-time feedback for efficient dialog processing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112489641A true CN112489641A (zh) | 2021-03-12 |
Family
ID=74869040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010932157.3A Pending CN112489641A (zh) | 2019-09-12 | 2020-09-08 | 用于高效对话处理的实时反馈 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11935521B2 (zh) |
CN (1) | CN112489641A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113645124A (zh) * | 2021-08-09 | 2021-11-12 | 南京易米云通网络科技有限公司 | 通过智能语音交互平台推送社交平台信息的***及方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11425064B2 (en) * | 2019-10-25 | 2022-08-23 | Asapp, Inc. | Customized message suggestion with user embedding vectors |
US20220284887A1 (en) * | 2021-03-03 | 2022-09-08 | Samsung Electronics Co., Ltd. | Electronic device for correcting speech input of user and operating method thereof |
US20220300560A1 (en) * | 2021-03-18 | 2022-09-22 | Amazon Technologies, Inc. | Voice search refinement resolution |
JP7452755B2 (ja) | 2021-03-25 | 2024-03-19 | 日本電気株式会社 | 運動支援装置、運動支援方法及び記録媒体 |
JP7420109B2 (ja) * | 2021-04-08 | 2024-01-23 | トヨタ自動車株式会社 | 情報出力システム、サーバ装置および情報出力方法 |
US12008991B2 (en) * | 2021-05-27 | 2024-06-11 | Soundhound Ai Ip, Llc | Enabling natural language interactions with user interfaces for users of a software application |
US11854544B1 (en) | 2021-06-11 | 2023-12-26 | Amazon Technologies, Inc. | Entity resolution of product search filters |
US11830489B2 (en) * | 2021-06-30 | 2023-11-28 | Bank Of America Corporation | System and method for speech processing based on response content |
US20230056680A1 (en) * | 2021-08-18 | 2023-02-23 | International Business Machines Corporation | Integrating dialog history into end-to-end spoken language understanding systems |
US20240161737A1 (en) * | 2022-11-15 | 2024-05-16 | Soundhound, Inc. | Real-time natural language processing and fulfillment |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1170726A1 (en) * | 2000-07-05 | 2002-01-09 | International Business Machines Corporation | Speech recognition correction for devices having limited or no display |
US20100138215A1 (en) * | 2008-12-01 | 2010-06-03 | At&T Intellectual Property I, L.P. | System and method for using alternate recognition hypotheses to improve whole-dialog understanding accuracy |
CN101989424A (zh) * | 2009-07-30 | 2011-03-23 | 索尼公司 | 语音处理设备和方法及程序 |
US20120035935A1 (en) * | 2010-08-03 | 2012-02-09 | Samsung Electronics Co., Ltd. | Apparatus and method for recognizing voice command |
US20140120987A1 (en) * | 2012-11-01 | 2014-05-01 | Lg Electronics Inc. | Mobile terminal and controlling method thereof |
US20140188477A1 (en) * | 2012-12-31 | 2014-07-03 | Via Technologies, Inc. | Method for correcting a speech response and natural language dialogue system |
US20160063994A1 (en) * | 2014-08-29 | 2016-03-03 | Google Inc. | Query Rewrite Corrections |
CN106847278A (zh) * | 2012-12-31 | 2017-06-13 | 威盛电子股份有限公司 | 基于语音识别的选择方法及其移动终端装置及信息*** |
CN107077464A (zh) * | 2014-10-14 | 2017-08-18 | 三星电子株式会社 | 电子设备和用于其口头交互的方法 |
KR20180054362A (ko) * | 2016-11-15 | 2018-05-24 | 삼성전자주식회사 | 사용자의 음성 입력을 인식하는 방법 및 장치 |
CN108073600A (zh) * | 2016-11-11 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种智能问答交互方法、装置以及电子设备 |
US20180342233A1 (en) * | 2017-05-23 | 2018-11-29 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for correcting speech recognition error based on artificial intelligence, and storage medium |
US20190132451A1 (en) * | 2017-11-02 | 2019-05-02 | Pallipuram V. Kannan | Method and apparatus for facilitating agent conversations with customers of an enterprise |
JP2019074645A (ja) * | 2017-10-16 | 2019-05-16 | 富士通株式会社 | 修正制御装置、修正制御方法及び修正制御プログラム |
CN109815314A (zh) * | 2019-01-04 | 2019-05-28 | 平安科技(深圳)有限公司 | 一种意图识别方法、识别设备及计算机可读存储介质 |
CN109887483A (zh) * | 2019-01-04 | 2019-06-14 | 平安科技(深圳)有限公司 | 自助服务处理方法、装置、计算机设备及存储介质 |
US20200327890A1 (en) * | 2017-11-28 | 2020-10-15 | Sony Corporation | Information processing device and information processing method |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10521189B1 (en) * | 2015-05-11 | 2019-12-31 | Alan AI, Inc. | Voice assistant with user data context |
DK201770383A1 (en) * | 2017-05-09 | 2018-12-14 | Apple Inc. | USER INTERFACE FOR CORRECTING RECOGNITION ERRORS |
KR20200052612A (ko) * | 2018-11-07 | 2020-05-15 | 삼성전자주식회사 | 사용자 발화를 처리하는 전자 장치, 및 그 전자 장치의 제어 방법 |
US10747957B2 (en) * | 2018-11-13 | 2020-08-18 | Asapp, Inc. | Processing communications using a prototype classifier |
KR20220008401A (ko) * | 2019-06-07 | 2022-01-21 | 엘지전자 주식회사 | 엣지 컴퓨팅 디바이스에서 음성 인식 방법 |
-
2020
- 2020-07-28 US US16/941,051 patent/US11935521B2/en active Active
- 2020-09-08 CN CN202010932157.3A patent/CN112489641A/zh active Pending
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1170726A1 (en) * | 2000-07-05 | 2002-01-09 | International Business Machines Corporation | Speech recognition correction for devices having limited or no display |
US20100138215A1 (en) * | 2008-12-01 | 2010-06-03 | At&T Intellectual Property I, L.P. | System and method for using alternate recognition hypotheses to improve whole-dialog understanding accuracy |
CN101989424A (zh) * | 2009-07-30 | 2011-03-23 | 索尼公司 | 语音处理设备和方法及程序 |
US20120035935A1 (en) * | 2010-08-03 | 2012-02-09 | Samsung Electronics Co., Ltd. | Apparatus and method for recognizing voice command |
US20140120987A1 (en) * | 2012-11-01 | 2014-05-01 | Lg Electronics Inc. | Mobile terminal and controlling method thereof |
US20140188477A1 (en) * | 2012-12-31 | 2014-07-03 | Via Technologies, Inc. | Method for correcting a speech response and natural language dialogue system |
CN106847278A (zh) * | 2012-12-31 | 2017-06-13 | 威盛电子股份有限公司 | 基于语音识别的选择方法及其移动终端装置及信息*** |
US20160063994A1 (en) * | 2014-08-29 | 2016-03-03 | Google Inc. | Query Rewrite Corrections |
CN107077464A (zh) * | 2014-10-14 | 2017-08-18 | 三星电子株式会社 | 电子设备和用于其口头交互的方法 |
CN108073600A (zh) * | 2016-11-11 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种智能问答交互方法、装置以及电子设备 |
KR20180054362A (ko) * | 2016-11-15 | 2018-05-24 | 삼성전자주식회사 | 사용자의 음성 입력을 인식하는 방법 및 장치 |
US20180342233A1 (en) * | 2017-05-23 | 2018-11-29 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for correcting speech recognition error based on artificial intelligence, and storage medium |
JP2019074645A (ja) * | 2017-10-16 | 2019-05-16 | 富士通株式会社 | 修正制御装置、修正制御方法及び修正制御プログラム |
US20190132451A1 (en) * | 2017-11-02 | 2019-05-02 | Pallipuram V. Kannan | Method and apparatus for facilitating agent conversations with customers of an enterprise |
US20200327890A1 (en) * | 2017-11-28 | 2020-10-15 | Sony Corporation | Information processing device and information processing method |
CN109815314A (zh) * | 2019-01-04 | 2019-05-28 | 平安科技(深圳)有限公司 | 一种意图识别方法、识别设备及计算机可读存储介质 |
CN109887483A (zh) * | 2019-01-04 | 2019-06-14 | 平安科技(深圳)有限公司 | 自助服务处理方法、装置、计算机设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113645124A (zh) * | 2021-08-09 | 2021-11-12 | 南京易米云通网络科技有限公司 | 通过智能语音交互平台推送社交平台信息的***及方法 |
Also Published As
Publication number | Publication date |
---|---|
US20210082412A1 (en) | 2021-03-18 |
US11935521B2 (en) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11935521B2 (en) | Real-time feedback for efficient dialog processing | |
EP4028932B1 (en) | Reduced training intent recognition techniques | |
CN114365215B (zh) | 动态上下文对话会话扩展 | |
CN112487790B (zh) | 包括粗略语义解析器和精细语义解析器的改进语义解析器 | |
WO2021050284A1 (en) | Techniques for dialog processing using contextual data | |
US11810553B2 (en) | Using backpropagation to train a dialog system | |
CN112487137B (zh) | 使用集成共享资源来流线化对话处理 | |
US20240144923A1 (en) | Using a generative adversarial network to train a semantic parser of a dialog system | |
CN112489632B (zh) | 实施校正模型以减少自动语音识别错误的传播 | |
EP3792912B1 (en) | Improved wake-word recognition in low-power devices | |
CN112487783A (zh) | 用于自然语言理解的神经网络的压缩 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |