CN110023926B - 使用文本输入和用户状态信息生成要呈现的回复内容以响应文本输入 - Google Patents
使用文本输入和用户状态信息生成要呈现的回复内容以响应文本输入 Download PDFInfo
- Publication number
- CN110023926B CN110023926B CN201780053486.7A CN201780053486A CN110023926B CN 110023926 B CN110023926 B CN 110023926B CN 201780053486 A CN201780053486 A CN 201780053486A CN 110023926 B CN110023926 B CN 110023926B
- Authority
- CN
- China
- Prior art keywords
- user
- text
- input
- reply content
- reply
- 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.)
- Active
Links
- 230000004044 response Effects 0.000 title claims description 39
- 238000000034 method Methods 0.000 claims abstract description 72
- 230000007935 neutral effect Effects 0.000 claims description 27
- 238000012549 training Methods 0.000 claims description 26
- 230000008451 emotion Effects 0.000 claims description 16
- 238000010801 machine learning Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 230000000295 complement effect Effects 0.000 claims description 2
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 238000003062 neural network model Methods 0.000 description 17
- 230000002452 interceptive effect Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 230000015654 memory Effects 0.000 description 7
- 230000006978 adaptation Effects 0.000 description 6
- 230000008921 facial expression Effects 0.000 description 6
- 239000000463 material Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002996 emotional effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000036387 respiratory rate Effects 0.000 description 2
- 206010011469 Crying Diseases 0.000 description 1
- 206010038743 Restlessness Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000003334 potential effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000001931 thermography Methods 0.000 description 1
- 230000003867 tiredness Effects 0.000 description 1
- 208000016255 tiredness Diseases 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
-
- 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/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
Abstract
涉及在用户与自动助理(以及可选地一个或多个附加用户)之间的对话期间接收用户的文本输入的方法,装置和计算机可读介质,以及基于文本输入和基于用户状态信息生成响应的回复内容。提供回复内容以包含在对话框中。在一些实施方式中,回复内容被提供为自动助理对用户的文本输入的回复,并且可以可选地自动并入用户和自动助理之间的对话中。在一些实施方式中,回复内容由自动助理建议以包括在对话中,并且回复内容仅在响应于进一步的用户界面输入后才被包括在对话中。
Description
背景技术
用户可以通过诸如智能手机、平板计算机、可穿戴设备、汽车系统、独立自动辅助设备等的各种计算设备与自动助理(也称为“个人助理模块”、“移动助理”或“聊天机器人”)进行交互。自动助理接收来自用户(例如,打字和/或说出)的文本输入,并用响应的文本输出(例如,视觉和/或听觉的)进行响应。
发明内容
本说明书涉及与在用户和自动助理(以及可选地一个或多个附加用户)之间的对话期间,接收用户的文本输入,并且基于文本输入和基于用户状态信息生成响应的回复内容相关的方法,装置和计算机可读介质。提供回复内容以包含在对话框中。在一些实施方式中,回复内容被提供为自动助理对用户的文本输入的回复,并且可以可选地自动并入用户和自动助理之间的对话中。在一些实施方式中,回复内容由自动助理建议以包括在对话中,并且回复内容仅在响应于进一步的用户界面输入后才被包括在对话中。
在许多实施方式中,用于生成回复内容的用户状态信息至少部分地基于除文本输入本身之外的一个或多个指示符,诸如基于参与包括自动助理的对话的至少一个用户的计算设备的一个或多个传感器(例如,相机,麦克风,键盘传感器,触摸屏传感器,心率传感器)的指示符。在一些实施方式中,用户状态信息指示用户的当前情绪。在一些实施方式中,用户状态信息附加地或替代地指示另一个用户的当前情绪,该另一个用户也参与包括自动助理和用户的对话(例如,包括两个或更多个用户以及自动助理的对话)。
作为一个示例,假设在包括用户和自动助理的对话期间由用户向自动助理提供“你好”的文本输入。如果用户的用户状态信息指示用户是有压力的,则文本回复内容为“嗨,我该怎么做才能帮忙?”可以被自动助理提供,作为对用户的文本输入的回复。如果用户状态信息表明用户是快活的,那么可以改为提供文本回复内容“你好!(howdy)我可以帮忙吗?”。如本文更详细描述的,在一些实施方式中,可以基于根据用户状态信息修改来自文本生成引擎的“默认”初始文本输出,来提供不同的回复内容。例如,如前面示例中示意的,可以使用依赖于用户状态信息的附加内容来修改最初的文本输出“嗨,我可以帮忙吗?”(例如,将“嗨(hi)”替换为“你好!(howdy)”或将“what”和“do”添加到“我可以帮忙吗(can Ihelp)”)。
作为另一示例,假设在包括用户和自动助理的对话期间由用户向自动助理提供的“我感到无聊”的文本输入。如果用户的用户状态信息指示用户是快活的,那么可以由自动助理提供“想听一些笑话吗?”的文本回复内容作为对文本输入的回复。如果用户状态信息指示用户是悲伤的,那么可以改为提供文本回复内容“你想谈些什么吗?”。如本文更详细描述的,在一些实施方式中,可以通过基于用户状态信息从针对文本输入识别的多个回复选项中选择来提供不同的回复内容。以下提供对上述和附加技术的额外描述。
本说明书的一些上述和其他的实施方式可以实现各种技术优点。例如,基于用户状态信息生成回复内容的一些实施方式能够实现更简洁的对话,同时仍然满足对话中包括的用户的信息需求和/或其他需求。这可以减少用于视觉和/或可听地向用户呈现对话所需诸如计算设备的资源的各种计算资源的使用。作为又一示例,生成包括基于用户状态信息的用户界面交互式元素的回复内容的一些实施方式,可以增加这样的交互元素对对话中包括的一个或多个用户有益的可能性——并且降低计算资源被花费在不相关的交互元素的机会。诸如,本说明书中其他地方描述的一个或多个额外的或替代的技术优点可以被实现。
在一些实施方式中,提供了由一个或多个处理器进行的方法,其包括接收文本输入。文本输入是基于用户界面输入,用户界面输入是通过用户经由用户的计算设备的一个或多个用户界面输入设备生成,以及用户界面输入作为包括用户和自动助理的对话的一部分由用户生成,自动助理由一个或多个处理器实施。该方法还包括确定用户的用户状态信息,基于文本输入和用户状态信息两者生成回复内容,以及响应于用户界面输入来提供回复内容。用户状态信息识别用户的状态,用户状态信息是文本输入的补充,以及是基于由计算设备或用户的附加计算设备生成的传感器数据。响应于文本输入,回复内容被提供为用于包括在对话中,并且回复内容被提供为用于经由一个或多个用户界面输出设备呈现。
本文公开的这些和其他技术的实施方式可以可选地包括以下特征中的一个或多个。
在一些实施方式中,用户和自动助理之间的对话的正式文本显示在图形用户界面中,图形用户界面由用户的计算设备的用户界面输出设备之一渲染。在一些实施方式中,提供回复内容包括,将回复内容合并到正式文本中以与对话的先前内容一起显示。将回复内容合并到正式文本中可以包括,经由一个或多个网络接口向计算设备传送命令,其中命令使计算设备将回复内容合并到正式文本中。
在一些实施方式中,基于文本输入和用户状态信息两者生成回复内容包括:将文本输入提供给文本生成引擎,从文本生成引擎接收初始文本输出;和基于用户状态信息,通过修改初始文本输出来生成回复内容。在一些实施方式中,基于用户状态信息修改初始文本输出包括:将输入应用到模型,模型存储在一个或多个计算机可读介质中,输入是基于初始文本输出的一个或多个片段,在模型上并基于输入生成输出,输出指示用于修改初始文本输出的一个或多个术语。在这些版本的某些版本中,模型包括,从中性文本片段到特定于用户状态的文本片段的映射,应用于模型的输入是初始文本输出的一个或多个片段,以及在模型上生成的输出包括,特定于用户状态的文本片段中的至少一个文本片段。在那些实施方式的一些其他版本中,方法还包括,基于用户状态信息与分配给模型的一个或多个用户状态标识符之间的一致性来选择模型。在那些实施方式的其他版本中,方法还包括,将附加输入应用于模型,附加输入是基于用户状态信息。在模型上生成输出还基于附加输入。模型可以是已训练的机器学习模型,以及方法还包括基于多个训练示例生成已训练的机器学习模型。每个训练示例包括:基于对应的中性文本片段和对应的用户状态信息的训练示例输入;以及基于对应的被修改的文本片段的训练示例输出,该被修改的文本片段是鉴于对应的用户状态信息对对应中性文本片段的修改。生成已训练的机器学习模型包括,基于训练示例的训练示例输入的应用,以及基于训练示例的训练示例输出的反向传播,训练已训练的机器学习模型。大体上,将初始文本输出分解成片段,这些片段然后可以通过用一个或多个其他片段替换一个或多个片段来修改,特别是考虑到关于用户的用户状态信息,可以提供可适应的和有效的自动助理交互方法和系统。例如,没有必要将所有可能的片段组合存储为预定和/或固定短语,这导致减少了存储器和资源需求。
在一些实施方式中,回复内容包括,至少一个可选图形元素,当经由另外的用户界面输入选择可选图形元素时,使得用户的计算设备向用户呈现附加内容。在那些版本的某些版本中,基于文本输入和用户状态信息两者生成回复内容包括:基于文本输入和用户状态信息,发出对一个或多个数据库的搜索;响应于发出搜索,接收一个或多个搜索结果;以及将一个或多个搜索结果合并到回复内容中。可选图形元素与搜索结果中的一个搜索结果相关联。基于文本输入和用户状态信息两者发出搜索包括:基于文本输入确定搜索参数;基于用户状态信息确定附加搜索参数。附加搜索参数是以下其中一个参数:搜索术语,搜索术语用于识别搜索结果所基于的响应内容,或者排名参数,排名参数用于对搜索结果进行排名。在实施方式的一些其他版本中,回复内容包括至少一个可选图形元素,可选图形元素的选择使得用户的计算设备与附加用户的计算设备建立网络连接。附加内容指示与附加用户的新对话的发起。
在一些实施方式中,确定用户状态信息包括:基于传感器数据识别多个用户状态指示符;将用户状态指示符作为输入应用于至少一个用户状态模型,至少一个用户状态模型存储在一个或多个计算机可读介质中;以及在至少一个用户状态模型上并基于输入生成指示用户状态信息的输出。在那些实施方式的一些中,至少一个用户状态模型包括已训练的情绪分类器。
在一些实施方式中,传感器数据包括,基于用户界面输入的用户界面传感器数据,并且确定用户状态信息包括基于用户界面输入传感器数据确定用户状态信息。
在一些实施方式中,基于文本输入和用户状态信息两者生成回复内容包括:基于文本输入确定多个回复选项;选择回复选项中的一个回复选项,选择回复选项中的一个回复选项是基于回复选项中的所选择的一个回复选项与用户状态信息的一致性;以及基于回复选项中的所选择的一个回复选项生成回复内容。
在一些实施方式中,基于文本输入和用户状态信息两者生成回复内容包括:将文本输入提供给文本生成引擎;从文本生成引擎接收至少第一文本输出和第二文本输出;以及基于用户状态信息,选择第一文本输出和第二文本输出中的一个作为回复内容。
在一些实施方式中,对话包括附加用户,并且方法还包括确定附加用户的附加用户状态信息。生成回复内容还基于附加用户状态信息。
在一些实施方式中,基于用户状态信息生成回复内容包括,基于用户状态信息确定回复内容的样式特性。
在一些实施方式中,用户状态信息所基于的传感器数据来自计算设备或附加计算设备的多个传感器。
在一些实施方式中,提供了由一个或多个处理器进行的方法,其包括接收文本输入。文本输入是基于用户界面输入,用户界面输入是经由用户或附加用户的计算设备的一个或多个用户界面输入设备生成。其中用户界面输入被生成以作为对话的一部分,对话包括用户,附加用户和由一个或多个处理器实施的自动助理。方法还包括:确定用户和附加用户中至少一个的用户状态信息;基于文本输入和用户状态信息两者生成回复内容;和响应于文本输入提供回复内容。回复内容被提供为用于包括在对话中,回复内容被提供为用于经由一个或多个用户界面输出设备呈现。
本文公开的这些和其他技术的实施方式可以可选地包括以下特征中的一个或多个。
在一些实施方式中,提供回复内容包括,将回复内容合并到对话中以呈现给用户和附加用户。
在一些实施方式中,确定用户状态信息包括,确定用户和附加用户两者的用户状态信息。
在一些实施方式中,文本输入所基于的用户界面输入来自附加用户的计算设备,用户状态信息是至少用于附加用户,并且提供回复内容包括,提供用于呈现给用户的回复内容,以作为用户对文本输入的建议回复。
此外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中一个或多个处理器可操作以执行存储在相关存储器中的指令,并且其中指令被配置为使得任何上述方法被执行。一些实施方式还包括一个或多个非暂时性计算机可读存储介质,其中存储可由一个或多个处理器执行的以进行任何前述方法的计算机指令。
应当理解,本文更详细描述的前述概念和附加概念的所有组合都被认为是本文公开的主题的一部分。例如,出现在本公开结尾处的所要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
图1是可以实现本公开的实施方式的示例环境的框图。
图2A,2B和2C各自示出了使用图1的示例环境的组件基于文本输入和基于用户状态信息生成回复内容的示例。
图3A示出了具有显示屏的示例客户端计算设备的示例,该显示屏显示根据用户的用户状态信息在客户端计算设备的用户和自动助理之间发生的对话的示例。
图3B示出了根据用户的不同于图3A的用户状态信息的用户状态信息,图3A的对话是如何不同的示例。
图4A示出了图3A的示例客户端计算设备,该设备显示根据用户的用户状态信息客户端计算设备的用户与自动助理之间发生的对话的另一示例。
图4B示出了根据用户的不同于图4A的用户状态信息的用户状态信息,图4A的对话是如何不同的示例。
图5示出了根据本公开的实施方式的另一示例客户端计算设备,以及可在客户端计算设备的用户与自动助理之间发生的可听对话的示例。
图6和7示出了图3A的示例客户端计算设备,该设备显示根据用户的用户状态信息在客户端计算设备的用户与自动助理之间发生的对话的其他示例。
图8和9示出了图3A的示例客户端计算设备,该设备显示包括多个用户和自动助理的对话的示例。
图10是图示根据本文中所公开的实施方式的示例方法的流程图。
图11示出了计算设备的示例架构。
具体实施方式
这里描述的实施方式涉及在用户,自动助理以及可选地一个或多个附加用户参与的对话期间,接收用户的文本输入-并且基于文本输入生成响应的回复内容。由用户提供的文本输入可以是启动对话的文本输入,或者它可以是先前启动的对话的延续。文本输入可以是自然语言自由形式输入,诸如,基于用户经由一个或多个用户界面输入设备生成的用户界面输入(例如,基于通过物理或虚拟键盘提供的键入输入,或基于通过麦克风提供的口头输入)的文本输入。如本文所使用的,自由形式输入是由用户制定的输入,并且不限于呈现给用户用于选择的一组选项(例如,不限于下拉菜单中呈现的一组选项)。
如本文所述,在许多情况下,响应于用户的文本输入的由自动助理生成的回复内容是基于文本输入并基于用户状态信息生成。与生成回复内容有关的用户状态信息可以是用户和/或参与包括有自动助理的对话的其他用户的用户状态信息。
生成的回复内容由自动助理提供,用于包括(inclusion)在对话中。在一些实施方式中,自动助理将回复内容自动包括在对话中,作为自动助理对文本输入的回复。在一些实施方式中,回复内容由自动助理建议以包括在中,并且回复内容仅在响应于进一步的用户界面输入后才被包括在对话中。在那些实施方式的一些版本中,进一步的用户界面输入是提供文本输入的用户的输入,并且对话中的回复内容的包括是作为自动助理对文本输入的回复。在那些实施方式的一些其他版本中,进一步的用户界面输入是对话中参与的附加用户的输入,并且对话中的回复内容的包括是作为对参与对话的其他用户的文本输入的回复。
响应于用户提供的文本输入,可以提供各种类型的回复内容。此外,可以利用各种技术来确定用户状态信息和/或基于文本输入和用户状态信息来确定回复内容。下面参考附图更详细地描述这些技术中的一些。
自动助理可以从用户接收文本输入并且用针对所接收的文本输入定制的文本输出来响应。然而,许多传统的自动助理无法考虑任何未明确包含在所接收的文本输入中的用户状态信息。此外,许多传统的自动助理无法提供基于用户状态信息的响应的非文本输出(例如,交互的用户界面元素,应用的状态的改变)。
这样未能做到考虑用户状态信息可能导致计算资源的过度使用和/或在各种情况下的其他技术问题。例如,在某些情况下,未能做到考虑用户状态信息可能导致在用户和自动助理之间发生过多的对话以解决用户的信息需求或其他需求。这种过多的对话可能消耗各种计算资源,诸如,渲染对话的呈现所需的资源,用户的计算设备与自动助理和/或其他用户的计算设备的远程组件之间的通信等。而且,例如,在某些情况下,未能做到考虑用户状态信息可能导致用户过早地放弃对话并寻求使用计算成本更高的替代技术来解决他或她的需求。作为又一示例,未能提供基于用户状态信息的响应交互用户界面元素可能导致交互用户界面元素将由用户提供和选择——由于元素不是根据用户状态信息量身定制,这只会让用户忽略响应输出。这可能导致客户端计算设备响应于选择而不必要地进行动作,诸如打开新应用,渲染新界面,通过网络检索内容等。
说明书的一些实施方式可以通过一个或多个技术方案解决上述和/或其他技术问题。例如,基于用户状态信息生成回复内容的一些实施方式能够实现更简洁的对话,同时仍然满足对话中包括的用户的信息需求和/或其他需求。这可以减少用于视觉和/或可听地向用户呈现对话所需诸如计算设备的资源的各种计算资源的使用。作为又一示例,生成包括基于用户状态信息的交互式用户界面元素的回复内容的一些实施方式,可以增加这样的交互元素对对话中包括的一个或多个用户有益的可能性——并且降低计算资源被花费在不相关的交互元素的机会。诸如,本说明书中其他地方描述的一个或多个额外的或替代的技术优点可以被实现。
在图1中,示出了可以实施本文公开的技术的示例环境。示例环境包括一个或多个用户界面输入设备102,一个或多个用户界面输出设备104,一个或多个传感器106,自动助理120,搜索系统130,一个或多个搜索数据库154,以及一个或多个模块152。
用户界面输入设备102可以包括,例如,物理键盘,触摸屏(例如,实施虚拟键盘或其他文本输入机制)和/或麦克风。用户界面输出设备104可以包括,例如,显示屏和/或扬声器。传感器106可以包括,除用户界面输入设备102之外的一个或多个传感器,例如,相机,心率传感器,位置传感器,GPS传感器,加速度计,陀螺仪,Wi-Fi芯片等。
用户界面输入设备102,用户界面输出设备104和传感器106可以合并在用户的一个或多个计算设备上。例如,用户的移动电话可以包括用户界面输入和输出设备102、104,并且包括一个或多个传感器106。而且,例如,独立的个人助理硬件设备可以包括用户界面输入和输出设备102、104,并且单独的计算设备(例如,以手表形式或移动电话形式)可以包括一个或多个传感器106。作为另一示例,第一计算设备可以包括用户界面输出设备104,并且单独的第二计算设备可以包括用户界面输入设备102。在该示例和/或其他示例中,来自第一和第二计算设备的任何其他传感器106的传感器数据可以可选地不提供给自动助理120(例如,来自用户界面输入设备102的传感器数据可以被来确定用户状态)。
尽管图1中示出的自动助理120与传感器106分离并且与用户界面输入和输出设备102、104分离,但是在一些实施方式中,自动助理120的全部或多个方面可以在计算设备上实施,该计算设备还包含用户界面输入设备102,用户界面输出设备104和/或传感器106。例如,可以在计算设备上实施自动助理120的用户状态引擎122和/或回复内容引擎126的全部或多个方面。在用户状态引擎122的全部或多个方面被实施在计算设备上的一些情况下,用户状态信息的综合版本可以由计算设备确定并提供给远程的自动助理120,这可以能够防止某些更细粒度的传感器信号由计算设备传输到远程的自动助理120。在一些实施方式中,自动助理120的全部或多个方面可以在计算设备上实施,该计算设备与包含用户界面输入设备102,用户界面输出设备104和/或传感器106的计算设备相分离且远离(例如,所有或多个方面可以“在云中”实施)。在这些实施方式中的一些实施方式中,自动助理120的那些方面可以经由诸如局域网(LAN)和/或广域网(WAN)(例如,因特网)的一个或多个网络与计算设备通信。
包括用户界面输入设备102,用户界面输出设备104和/或传感器106的客户端计算设备的一些非限制性示例包括以下中的一个或多个:桌面计算设备,膝上型计算设备,至少部分专用于自动化辅助的独立硬件设备,平板计算设备,移动电话计算设备,用户的车辆的计算设备(例如,车载通信系统,车载娱乐系统,车载导航系统),或用户的包括有计算设备的可穿戴设备(例如,用户的具有计算设备的手表,用户的具有计算设备的眼镜,虚拟或增强现实计算设备)。
可以提供附加的和/或替代的客户端计算设备。在一些实施方式中,给定用户可以利用共同形成协调的计算设备的“生态系统”的多个客户端计算设备,与自动助理120的全部或多个方面进行通信。然而,为了简洁起见,本公开中描述的一些示例将集中于用户操作单个客户端计算设备。而且,在许多实施方式中,多个用户可以与自动助理120的全部或多个方面通信,并且每个用户可以利用他们的一个或多个计算设备来与自动助理120通信。例如,如本文所述,自动助理120可以参与多个用户之间的对话,并且可以与这些用户中的一个或多个用户的客户端计算设备通信。
客户端计算设备和自动助理120可以各自(当它们是单独的设备时)包括用于存储数据和软件应用的一个或多个存储器,用于访问数据和执行应用的一个或多个处理器,以及便于通过网络进行通信的其他组件。由一个或多个客户端计算设备和/或由自动助理120进行的操作可以分布在多个计算设备上。自动助理120可以被实施为,例如,计算机程序,该程序在通过网络彼此耦合的一个或多个位置中的一个或多个计算机上运行。
如图1所示,用户经由用户界面输入设备102向自动助理120提供输入。自动助理120经由用户界面输出设备104给用户和/或附加的用户提供用于呈现的响应的输出(可选地,在由一个或多个组件进一步处理之后)。为简单起见,在图1中所示的输入,由用户界面输入设备102直接提供给自动助理120,并且所示的输出由自动助理120直接提供给用户界面输出设备104。然而,应注意,在各种实施方式中,一个或多个中间硬件组件可以在功能上地插入自动助理120和用户界面输入和/或输出设备102、104之间,并且可选地处理输入和/或输出。例如,一个或多个组件可以处理由自动助理120提供的输出,并且基于对输出的处理,生成用于经由用户界面输出设备104呈现回复内容的一个或多个信号。例如,用户界面输出设备104在与自动助理120的全部或多个方面分离的客户端计算设备上的情况下,硬件处理器和/或其他组件可以处理输出,并基于该输出生成用于驱动用户界面输出设备104的信号。
在一些实施方式中,由自动助理120接收的输入包括,已经是文本格式的内容(以及可选地,不是文本格式的附加内容,诸如,图像)。例如,用户界面输入设备102可以包括键盘,该键盘响应于指向键盘的用户界面输入而生成文本输入,并且该文本输入被提供给自动助理120。而且,例如,用户界面输入设备102可以包括麦克风,与自动助理120分离的语音转文本处理器可以将从麦克风处接收的语音输入转换为文本输入,以及该文本输入将提供给自动助理120。在一些其他实施方式中,由自动助理120最初接收的输入不是文本格式,但是至少一些输入由自动助理120转换为文本格式,并且以文本格式提供给自动助理120的一个或多个其他组件。例如,用户界面输入设备102可以包括麦克风,可以在麦克风处接收语音输入,并将该语音输入提供给自动助理120,并且自动助理120的语音转文本处理器可以将语音输入转换为文本输入。
客户端计算设备可以可选地操作一个或多个能够与自动助理120对话的应用。这样的应用可以以各种形式出现,诸如,短消息服务(“SMS”)和/或多媒体消息服务(“MMS”)客户端,在线聊天客户端(例如,即时消息,因特网中继聊天或“IRC”,等等),与社交网络相关联的消息传递应用,电子邮件客户端,社交博客客户端,专用于与自动助理120进行交谈的自动助理消息传递服务,等等。在一些实施方式中,可以经由由网页浏览器或客户端计算设备的其他应用渲染的网页或其他资源来实施的一个或多个应用。
在各种实施方式中,响应于在包括自动助理120的对话期间提供给自动助理120的文本输入,自动助理120可以基于文本输入并基于用户状态信息生成响应的回复内容。然后,自动助理120可以向参与对话的一个或多个用户,提供用于呈现(视觉和/或可听)的回复内容作为输出。在一些实施方式中,回复内容由自动助理120自动地包括在对话中,作为自动助理120对文本输入的回复。在一些实施方式中,回复内容由自动助理120建议要包括在对话中,并且回复内容仅在响应于进一步的用户界面输入后才被包括在对话中。在那些实施方式的一些版本中,进一步的用户界面输入是提供有文本输入的用户的输入,并且在对话中包括回复内容是作为自动助理120对文本输入的回复。在这些实施方式的一些其他版本中,进一步的用户界面输入是参与对话的其他用户的输入,并且在对话中包括回复内容是作为对对话中涉及的其他用户的文本输入的回复。
在各种实施方式中,自动助理120可以包括用户状态引擎122,文本生成引擎124和回复内容引擎126。在一些实施方式中,引擎122、124和/或126中的一个或多个引擎可以在与自动助理120分离的组件中被省略,组合和/或实施。例如,引擎122、124和/或126中的一个或多个引擎或引擎的任何操作部分可以在由客户端计算设备执行的组件中实施,该客户端计算设备包括用户界面输入和/或输出设备102和104,并且该客户端计算设备与自动助理120分离。
用户状态引擎122确定参与与自动助理120的对话的一个或多个用户的用户状态信息。用户状态引擎122将用户状态信息提供给文本生成引擎124和/或回复内容引擎126,以用于基于用户状态信息生成回复内容。在一些实施方式中,被提供并被用于生成回复内容的用户状态信息可以包括,用户状态的一个或多个种类和/或大小。可以使用各种种类和/或大小。例如,可以使用指示快乐,悲伤,中性,活跃,疲倦,压力和/或其他用户状态的种类。在这些和/或其他实施方式中的一些实施方式中,用户状态引擎122还可以确定一个或多个用户状态的大小。例如,用户状态引擎122可以确定“快乐”的权重为“0.8”,“活跃”的权重为“0.7”,其他种类的权重为“0.0”。而且,例如,可以附加地和/或替代地使用更细粒度的种类,例如,稍微快乐,中等快乐和非常快乐(例如,代替笼统的“快乐”种类)。
在各种实施方式中,用户状态引擎122基于将一个或多个用户状态指示符应用于一个或多个训练过的分类器模型或其他训练过的机器学习模型,来确定用户状态的种类和/或大小。例如,由相机捕获的用户的一个或多个图像可以通过面部检测器并且进一步通过面部表情分类器,该面部表情分类器的输出指示面部表情是否为快乐,疲倦,悲伤和/或其他种类。用户状态引擎122可以至少部分地基于面部表情分类器的输出来确定用户状态信息。
在一些实施方式中,由用户状态引擎122提供并用于生成回复内容的用户状态信息包括,来自一个或多个传感器的“原始信号”和/或那些“原始信号”的离散化版本。例如,由相机捕获的用户的一个或多个图像可以由用户状态引擎122来提供,并且作为直接输入由回复内容引擎126应用到神经网络模型或其他机器学习模型,该神经网络模型或其他机器学习模型被用于确定要提供给用户的回复内容的一个或多个方面。而且,例如,从与用户界面输入设备之一相关联的传感器数据确定的用户的打字速度,可以由用户状态引擎122提供,并且作为直接输入由回复内容引擎126应用到神经网络模型或其他机器学习模型,该神经网络模型或其他机器学习模型被用于确定要提供给用户的回复内容的一个或多个方面。
在一些实施方式中,用户状态引擎122基于综合多个用户状态指示符来确定用户状态信息。例如,用户状态引擎122可以将由相机捕获的用户的图像应用于第一分类器,第一分类器该被训练为基于图像预测用户状态的种类,并且可以将心率传感器数据应用于第二分类器,该第二分类器被训练为基于心率传感器数据预测用户状态的种类。用户状态引擎122可以在确定用户状态信息时考虑两个分类器的输出。例如,用户状态引擎122可以对输出求平均来确定用户状态信息,在确定用户状态信息时使用更大的输出,和/或在确定用户状态信息时,使用其他方式考虑和/或组合两个输出。作为另一示例,用户状态引擎122可以将由相机捕获的用户的图像和用户的心率传感器数据两者作为输入应用于神经网络模型,该神经网络模型被训练为基于图像和心率传感器数据两者来预测用户状态的种类。用户状态引擎122可以基于神经网络模型根据被应用的输入来生成的输出,确定用户状态信息。
在一些实施方式中,用户状态引擎122确定指示参与对话的多个用户的用户状态的用户状态信息。用户状态引擎122可以使用各种技术确定指示两个用户的用户状态的用户状态信息。例如,用户状态引擎122可以为第一用户确定用户状态的一个或多个种类和/或大小,为第二用户确定用户状态的一个或多个种类和/或大小,以及基于两个用户的种类和/或大小确定用户状态信息。例如,用户状态引擎122可以对两个用户的种类和大小取平均。例如,假设第一用户的用户状态指示第一种类“快乐”的大小为“0.8”以及”第二种类“压力”的大小为“0.2”其;并且第二用户的用户状态指示第一种类“快乐”的大小为“0.6”以及第二种类“压力”的大小为“0.1”。用户状态引擎122可以确定指示第一种类“快乐”的大小为“0.7”并且第二种类“压力”的大小为“0.1”的种类平均值。用于确定指示多个用户的用户状态的用户状态信息的附加或替代技术可以被使用。
在一些实施方式中,用户状态引擎122至少部分地基于一个或多个用户状态指示符来确定给定用户的用户状态信息,该一个或多个用户状态指示符是在包括自动助理120的对话期间,除了文本输入之外,由给定用户提供的。在这些实施方式中的一些实施方式中,用户状态引擎122可以基于来自给定用户使用的一个或多个用户界面输入设备102的传感器数据来确定用户状态信息。例如,当给定用户在对话中提供了打字输入时(例如,使用物理键盘或虚拟键盘),可以基于已打字输入的键入速度,对于已打字输入的一个或多个字符的施加按压力(例如,通过实施虚拟键盘的触摸屏来感测),用于开始提供打字输入的“延迟时间”(例如,响应其他内容提供打字输入的时间),和/或打字输入的其他被感知的特性,来确定用户状态信息。例如,可以基于给定用户的打字速度快和给定用户在打字期间施加的按压力高,来确定指示给定用户承受压力的用户状态信息。“快”的打字速度和/或“高”的按压力可以是相对于一个或多个基线,例如,特定于给定用户的基线(例如,基于用户的先前打字输入)和/或适用于多个用户的基线。
作为另一示例,当给定用户在对话中提供语音输入时(例如,由麦克风感测到的),可以基于音调,变化,语调,重音,音高,音量,呼吸音量,呼吸速率,背景噪声水平,背景噪声类型和/或语音输入的其他特征来确定用户状态信息。作为另一示例,用户状态引擎122可以基于来自麦克风的音频输入来确定给定用户的用户状态信息,即使当给定用户未使用麦克风来提供文本输入时也是如此。例如,用户状态引擎122可以基于音频输入中的某些类型的声音(例如,笑声,哭泣,音乐)的存在和/或不存在,音频输入中的背景噪声水平,音频输入中的呼吸噪声水平,音频输入中的呼吸速率,音频输入中检测到的语音的多个方面(例如,语调,重音)等,来确定用户状态信息。
在一些实施方式中,除了给定用户提供的文本输入之外,由给定用户提供的用户状态指示符还包括来自除了用户界面输入和输出设备102、104之外的一个或多个传感器106的传感器数据。在这些实施方式中的一些实施方式中,传感器106可以是给定用户用于在对话中提供文本输入的计算设备的一部分和/或可以来自另一计算设备。作为一个示例,用户状态引擎122可以基于来自包括在传感器106中的相机的一个或多个图像,来确定给定用户的用户状态信息。例如,用户状态引擎122可以基于以下内容确定用户状态信息:图像中的用户面部表情;图像中的用户姿势;在图像中的用户移动速度;图像中用户注视的方向;图像中的环境亮度;图像中的背景对象;图像中的环境色温;和/或图像中的红外辐射的形状,波长和/或其他特征(例如,当相机是热成像相机时)。例如,由相机捕获的给定用户的一个或多个图像,可以经过面部检测器以检测图像中给定用户的面部,并且图像中给定用户的面部可以经过面部表情分类器,该面部表情分类器的输出指示面部表情是否快乐,疲倦,悲伤和/或其他种类的用户状态。输出的用户状态的种类可以用作用户状态信息,或者可以与其他用户状态指示符一起使用,以确定用户状态信息。
作为另一示例,用户状态引擎122可以基于指示用户心率的传感器数据,确定给定用户的用户状态信息。例如,传感器数据可以来自给定用户佩戴的手表的传感器106,或给定用户佩戴的其他可穿戴计算设备。作为又一示例,用户状态引擎122可以基于根据GPS传感器,Wi-Fi芯片(例如,基于来自Wi-Fi芯片的可用网络,IP地址和/或其他传感器数据确定的位置信息),和/或其他传感器106确定的位置信息,来确定用户状态信息。例如,用户状态引擎122可以基于用户是在家里,在工作中还是在另一个位置,来确定用户状态信息。作为又一示例,用户状态引擎122可以基于来自加速计和/或陀螺仪的传感器数据,来确定用户状态信息。例如,来自加速计和/或陀螺仪的传感器数据可用于确定给定用户参与的潜在活动,该活动可指示用户状态信息。
在一些实施方式中,除了在对话期间由给定用户提供的文本输入之外,在对话期间由给定用户提供的用户状态指示符包括,由对话中的给定用户提供的非文本内容,诸如,表情符号,图像和/或其他非文本内容。例如,用户提交的某些表情符号和/或图像可以直接映射到用户状态信息的某些指示。此外,例如,用户状态引擎122可以将用户提交的图像提供给识别图像中的对象的图像分析引擎,并且可以将图像中识别的一个或多个对象映射到用户状态信息的某些指示符。
在一些实施方式中,在确定给定用户的用户状态信息时,用户状态引擎122还可以利用,由在包括自动助理120的对话中的给定用户提供的文本输入的一个或多个特征。例如,文本输入的特征可以包括,文本输入中包括的特定术语,文本输入的句法结构和/或文本输入的长度(单词和/或字符长度)。在一些实施方式中,用户状态引擎122可以将文本输入的一个或多个术语和/或其他特征应用于情绪分类器,该情绪分类器被训练为预测文本片段中的情绪的种类和/或大小,并且用户状态引擎122在确定用户状态信息时利用来自情绪分类器的输出。例如,用户状态引擎122可以基于来自情绪分类器的输出与来自其他分类器的输出的组合,来确定用户状态信息,这些其他分类器被训练为基于传感器数据和/或除文本输入本身以外的其他信号来预测用户状态信息。
文本生成引擎124是可选的,并且可以用于生成一个或多个初始文本输出,每个初始文本输出是响应于所接收的文本输入。在一些实施方式中,由文本生成引擎124生成的初始文本输出被提供给回复内容引擎126,并且回复内容引擎126基于根据用户状态信息修改初始文本输入,来生成回复内容。例如,回复内容引擎126可以利用一种或多种技术,诸如,本文所述的那些技术,将术语添加到初始文本输出,从初始文本输出中移除术语,和/或在初始文本输出中替换术语,从而修改初始文本输出,使得修改后初始文本输出比初始文本输出更适合于用户状态信息。文本生成引擎124可以采用诸如机器学习模型和/或人类创建的启发式(heuristics)的各种形式。作为一个非限制性示例,文本生成引擎124可以利用递归神经网络模型,该模型被训练为基于文本输入的特征来预测响应于文本输入的初始文本输出。例如,可以基于在人类之间过去发生的,例如,在人类之间的过去聊天会话中的过去的文本输入和响应的回复的语料库来训练递归神经网络模型。
回复内容引擎126可以响应于用户提供的文本输入,生成并提供各种类型的回复内容。此外,回复内容引擎126可以利用各种技术来基于文本输入和用户状态信息两者来确定回复内容。例如,如上所述,在一些实施方式中,文本输入被提供给文本生成引擎124,从文本生成引擎124接收初始文本输出,并且回复内容引擎126基于根据用户状态信息修改初始文本输入,来生成回复内容。而且,例如,在一些实施方式中,回复内容引擎126利用文本输入来确定多个候选回复选项(例如,基于一个或多个模型152和/或基于由文本生成引擎124提供的多个初始文本输出),使用用户状态信息来选择那些回复选项中的一个,并基于所选择的回复选项生成回复内容。另外,例如,在一些实施方式中,回复内容引擎126使搜索系统130基于所接收的文本输入和用户状态信息来发出搜索,回复内容引擎126接收基于该搜索的搜索结果,并基于一个或多个搜索结果生成回复内容(例如,一个或多个搜索结果可以作为回复内容的全部或部分被提供)。
现在参考图2A-2C,提供了图1的组件的附加描述,和基于文本输入并基于用户状态信息生成回复内容的各种示例。
图2A示出了文本生成引擎124和回复内容引擎126的示例,文本生成引擎124生成初始文本输出205A,回复内容引擎126通过根据用户状态信息207A修改初始文本输出205A来生成回复内容209A。在图2A中,基于由一个或多个用户界面输入设备102生成的用户界面输入的文本输入201A作为对话的一部分被提供给文本生成引擎124。文本生成引擎124生成初始文本输出205A,并提供初始文本输出205A到回复内容引擎126。
用户状态引擎122接收传感器数据203A和/或文本输入201A,并利用一个或多个用户状态模型152A(包括在图1的模型152中)来生成指示提交了文本输入201A的用户和/或也参与对话的一个或多个附加用户的用户状态的用户状态信息207A。传感器数据203A可以是基于用户界面输入设备102的和/或除了用户界面输入设备102之外的传感器106的传感器。
作为一个具体的示例,用户状态模型152A可以包括被训练为基于用户的面部的图像来预测一个或多个情绪种类(以及可选地,大小)的模型。用户状态引擎122可以将由传感器106的相机捕获的一个或多个图像作为输入应用到该模型,每个图像捕获用户的面部。用户状态引擎122可以在模型上生成指示一个或多个种类(以及可选地,大小)的输出,该一个或多个种类(以及可选地,大小)通过图像中的用户的面部来指示。例如,用户状态引擎122可以生成指示用户“快乐”的输出。户状态模型152A还可以包括被训练为预测音频输入中的一种或多种类型的声音的存在的模型。用户状态引擎122可以将由用户界面输入设备102的麦克风捕获的音频输入(不管麦克风是否用于生成文本输入201A)作为输入应用到该模型。用户状态引擎122可以在模型上生成指示音频输入中存在的一种或多种类型的声音的输出。例如,用户状态引擎122可以生成指示笑声存在于音频输入中的输出。用户状态模型152A还可以包括被训练为基于文本输入的特征来预测一个或多个情绪种类(以及可选地,大小)的模型。用户状态引擎122可以将文本输入201A的特征作为输入应用到模型,并且可以在模型上生成指示一个或多个种类(以及可选地,大小)的输出,该一个或多个种类(以及可选地,大小)通过文本输入201A来指示。例如,用户状态引擎122可以生成指示文本输入201A是“快乐”的文本输入的输出。
在一些实施方式中,用户状态引擎122可选地综合来自三个模型的三个输出,并提供综合的输出的指示,该指示作为用户状态信息207A。例如,用户状态引擎122可以将“快乐”,“笑声”和“快乐”的输出综合到用户状态信息,该用户状态信息指示“快乐”或“非常快乐”的用户状态。一些实施方式中,用户状态引擎122可以可选地提供三个单独的输出的指示作为用户状态信息207A,而非综合那些输出。此外,在一些实施方式中,用户状态引擎122可以可选地提供一个或多个原始或离散化信号,以代替三个单独输出中的一个或多个来作为用户状态信息207A的全部或部分(例如,用户状态信息207A可以简单地将信号,而非该信号的应用,传递到用户状态模型152A)。
作为另一示例,代替上述三个单独的模型,或者除了上述三个单独的模型之外,用户状态模型152A可以包括其他机器学习模型的神经网络模型,该神经网络模型被训练为,基于多个异构输入预测用户状态的一个或多个种类(以及可选地,大小)。例如,神经网络模型可以被训练为基于以下输入来预测用户状态的一个或多个种类,该输入包括:每个捕获用户的面部的图像,音频输入和文本输入。例如,用户状态引擎122可以将,来自传感器106的相机的图像,来自用户界面输入设备102的音频输入,以及文本输入201A(以及可选地,先前文本输入)的一个或多个特征,作为输入应用于神经网络模型;并且用户状态引擎122可以在模型上生成指示用户状态种类的输出,该用户状态种类由输入来指示。尽管参考图2A描述了特定的输入和模型,但是可以使用诸如本文其他地方描述的那些额外的或替代的输入和/或模型。
回复内容引擎126使用初始文本输出205A和用户状态信息207A来生成回复内容209A。回复内容引擎126经由参与对话的一个或多个用户的用户界面输入设备104向这些用户提供用于呈现的回复内容209A。在一些实施方式中,回复内容209A被自动地包括在对话中,作为自动助理对文本输入201A的回复。在一些实施方式中,回复内容引擎126建议将回复内容209A包括在对话中,并且回复内容209A仅在响应于进一步的用户界面输入后才被包括在对话中。在那些实施方式的一些版本中,进一步的用户界面输入是提供文本输入201A的用户的输入,并且在对话中包括回复内容是作为自动助理对文本输入201A的回复。在那些实施方式的一些其他版本中,进一步的用户界面输入是对话中参与的附加用户的输入,并且在对话中包括回复内容是作为对参与对话的其他用户的文本输入的回复。
在一些实施方式中,回复内容引擎126基于一个或多个文本适应模型152B(被包括在图1的模型152中),生成回复内容209A。在这些实施方式中的一些实施方式中,回复内容引擎126将初始文本输出205A的一个或多个(例如所有)片段作为输入应用于文本适应模型152B中的一个模型,并基于输入在模型上生成输出,该输出指示用于修改初始文本输出的内容。回复内容209A可以包括至少一些由在模型上生成的输出所指示的内容,以及可选地包括初始文本输出205A的一个或多个术语。例如,在术语是由输出所指示的情况下,由输出所指示的术语可以包括,用于添加到初始文本输出205A的术语和/或用于替换初始文本输出205A的术语的术语——以及回复内容引擎126可以通过添加和/或替换由输出所指示的术语,来修改初始文本输出205A。作为另一示例,由输出所指示的术语可以是将要提供的回复内容(即,输出可以指示由用户状态信息207A修改的初始文本输出205A)。
作为文本适应模型152B的一个模型的示例,模型可以包括中性文本片段到每个特定于用户状态的片段的映射(定义关联的数据)。在一些实施方式中,给定模型可以用于,由用户状态信息207A指示(显式地或隐式地)的特定用户状态。例如,“快活”模型可以将中性文本片段映射到每个更适合于快活的用户状态的片段(例如,中性片段“hi”到更快活的片段“howdy,;-)”和/或“helllooooo”)。在这些实施方式中的一些实施方式中,可以基于被分配了指示特定用户状态的模型标识符的给定模型,来选择由用户状态信息207A指示的特定用户状态的给定模型。在一些实施方式中,给定模型可以包括多个用户状态,而不是特定的用户状态。例如,模型可以将中性片段映射到每个更适合于快活的用户状态的片段,映射到每个更适合于压力的用户状态的片段,以及映射到每个更适合悲伤的用户状态的片段。在这些实施方式中的一些实施方式中,每个用户状态特定片段可以被映射到对应的用户状态标识符以及适合的用户状态特定片段,对应于由用户状态信息207A指示的特定用户状态,适合的用户状态特定片段由回复内容引擎126基于该适合的用户状态特定片段的用户状态标识符来选择。
特定于用户状态的且映射到对应中性片段的片段,可以包括与中性片段不同的各种内容。例如,特定于用户状态的片段可以包括,除中性片段的术语之外的一个或多个术语,对中性片段的术语进行替换的术语,特定于用户状态的片段可以省略包括在中性片段中的术语,和/或特定于用户状态的片段可以包括表情符号,GIF和/或未包括在中性片段中的其他非文本内容。特定于用户状态且映射到对应的中性片段的片段可以附加地和/或替代地包括,与中性片段的样式特性不同的各种样式特性。样式特性包括,例如,字体大小,字体类型(例如,Calibri,Times New Roman)和/或字体颜色。在回复内容209A附加地或替代地将被作为听觉输出提供时,样式特性可以附加地和/或替代地包括用于提供回复内容209A的音量,用于提供回复内容209A的音调,用于提供回复内容209A的音高,和/或用于提供回复内容209A的声音(例如,男/女,女1/女2/女3)。
在一些实施方式中,将中性片段映射到用户状态特定片段的模型可以通过分析多用户聊天对话和/或其他交流的语料库来生成。例如,为了生成中性片段和“快乐”片段之间的映射,可以分析交流的回复片段(例如,使用情绪分类器)以识别是“快乐”的回复片段。然后可以处理那些回复片段以移除特定的关键词,符号,句子时态和/或其他特征,使得回复片段不会有情绪被表达(即,获得中性片段)。然后可以将中性片段映射到它们对应的原始/快乐的回复片段。
作为文本适应模型152B的模型的另一示例,模型可以包括附加非文本内容的一个或多个映射,该映射对应于各种用户状态,并且,回复内容引擎126可以通过添加附加非文本内容到初始文本输出205A,来生成回复内容209A。例如,文本适应模型152B可以包括,一个或多个表情符号,GIF和/或其他图像,它们中的每个被分配给一个或多个用户状态标识符,该一个或多个用户状态标识符对应于一个或多个用户状态。回复内容引擎126可以基于所选内容来选择一个或多个表情符号,GIF和/或其他图像以添加到初始文本输出205A,该所选内容是被分配给对应于用户状态信息207A的用户状态标识符的内容。然后,具有添加的非文本内容的初始文本输出205A作为回复内容209A被提供。
作为文本适应模型152B的模型的另一示例,该模型可以是神经网络模型,该神经网络模型可以用于将文本片段变换为文本片段的用户状态特定版本。在一些实施方式中,可以针对特定用户状态训练神经网络模型,并且可以基于与用户状态信息207A对应的那个特定用户状态来选择神经网络模型。在一些实施方式中,可以针对多个用户状态训练神经网络模型,并且用户状态信息207A可以作为输入(例如,作为次要输入连同初始文本输入)应用到模型上。例如,初始文本输出205A和用户状态信息207A都可以作为模型的输入(可选地,在模型的不同层),被修改的文本片段作为输出在模型上被生成,其中被修改的文本片段是针对用户状态信息207A特定的。如本文所述,应用于模型的用户状态信息207A可以是各种形式,诸如“综合的”形式或是参数化传感器数据。
在一些实施方式中,用于将文本片段变换为文本片段的用户状态特定版本的神经网络模型,可以基于训练示例来训练,每个训练示例包括:基于对应的中性文本片段和对应的用户状态信息来训练示例输入,以及基于对应的被修改的文本片段来训练示例输出,该被修改的文本片段是鉴于对应的用户状态信息对对应中性文本片段的修改。通过将训练的示例输入应用于神经网络模型,并基于训练的示例输出在神经网络模型上执行反向传播来训练神经网络模型。
图2B示出了回复内容引擎126通过利用用户状态信息207B,从多个回复选项中进行选择,来生成回复内容209B的示例。可以基于一个或多个回复选项模型152C(被包括在图1的模型152中),和/或基于来自文本生成引擎124的输出,来识别多个回复选项。在图2B中,基于由一个或多个用户界面输入设备102生成的用户界面输入的文本输入201B作为对话的一部分被提供给回复内容引擎126。
用户状态引擎122接收传感器数据203B和/或文本输入201B。在一些实施方式中,用户状态引擎122利用一个或多个用户状态模型152A来生成用户状态信息207B,用户状态信息207B指示提交文本输入201B的用户用户状态,和/或也参与对话的一个或多个附加用户的用户状态。传感器数据203B可以基于除了用户界面输入设备102之外的用户界面输入设备和/或传感器106的传感器。用户状态引擎122可以利用各种技术来生成用户状态信息207B,诸如,关于图1、图2A和/或本文其他地方描述的一种或多种技术。用户状态信息207B可以采用诸如本文所述的形式的各种形式。
在图2B中,回复内容引擎126利用文本输入201B来确定多个候选回复选项,利用用户状态信息207B来选择这些选项中的一个或多个,以及基于所选择的回复选项生成回复内容209B。
在一些实施方式中,回复内容引擎126将文本输入201B提供给文本生成引擎124,文本生成引擎124提供多个显式回复选项,回复内容引擎126基于用户状态信息207B选择那些回复选项中的一个,并使用所选择的选项以生成回复内容209B(例如,回复内容209B可以严格符合所选择的选项)。作为一个示例,基于文本输入201B,文本生成引擎124可以识别用于进一步对话的多个显式回复选项输出,诸如"我如何帮助您?"以及"希望你有一个美好的一天,我该如何帮忙?"。回复内容引擎126可以选择那些选项中的一个选项,这是基于该被选择的选项比未选择的选项更加符合用户状态信息207B。在这些实施方式中的一些实施方式中,回复内容引擎126可以将多个回复选项中的每一个传递通过情绪分类器(例如,用户状态模型152A),并且将来自分类器的输出与用户状态信息进行比较以选择一个的答复选项。例如,假设用户状态信息207B指示了“快乐”的用户状态,来自情绪分类器的针对第一回复选项的输出指示“快乐”的用户状态,并且来自情绪分类器的针对第二回复选项的输出指示“中性”的用户状态。在这种情况下,基于第一回复选项和用户状态信息207B都指示了“快乐”的用户状态,回复内容引擎126选择第一回复选项。
在一些实施方式中,即便所选择的回复选项和用户状态信息没有关联到相同的用户状态,所选择的回复选项也可以符合用户状态信息207B。例如,假设用户状态信息207B指示了“悲伤”的用户状态,来自情绪分类器的针对第一回复选项的输出指示“悲伤”的用户状态,并且来自情绪分类器针对第二回复选项的输出指示“同情”的用户状态。这些情况中的一些情况下,回复内容引擎126可以基于“同情”的回复比“悲伤”的回复更适合于“悲伤”用户状态,去选择第二回复选项。在选择回复选项时,回复内容引擎126可以可选地依赖于一个或多个映射,该一个或多个映射是由用户状态信息207B指示的用户状态和由回复选项指示的用户状态之间的映射。例如,对于“悲伤”的用户状态,映射可以定义“同情”的回复选项最合适,随后是“中性”的回复选项等。
在一些实施方式中,回复内容引擎126附加地或替代地,基于文本输入201B,从回复选项模型152C中识别多个回复选项类别。然后,回复内容引擎126可以基于用户状态信息207B选择那些回复选项类别中的一个类别。例如,文本输入201B可以被映射到回复选项模型152C中的多个回复选项类别,诸如“讲个笑话”,“提问”,“将用户转移到人”,“将用户转移到另一个聊天机器人”等的回复选项类别。在一些实施方式中,回复内容引擎126可以基于用户状态信息207B,利用基于规则的方法从多个回复选项类别中进行选择。例如,可以将“将用户转移到人”的回复选项类别分配给用户状态标识符,该用户状态标识符会在,当用户状态信息207B指示用户状态的某种类型和/或大小(例如,“非常不安”)时被选择。另外,例如,当在“讲个笑话”和“提问”的回复选项类别之间进行选择时,基于规则的方法可以使得,对于某些用户状态,“讲个笑话”的回复选项类别被选择,以及对于某些其他用户状态,“提问“的类别被选择。
在一些实施方式中,回复选项模型152C可以附加地或替代地包括机器学习模型,该机器学习模型被训练为基于用户状态信息选择适当的回复选项。例如,可以基于训练示例将机器学习模型训练为选择答复选项类别,训练示例是基于过去与自动化助理120和/或其他自动助理的对话而生成的。每个训练示例可以包括,作为训练示例输入的用于对应文本输入的用户状态信息,以及作为训练示例输出的用于对应文本输入的对应回复选项类别。可以基于各种信号将每个训练示例标记(和/或加权)为积极或消极的训练示例,各种信号诸如是,进一步文本输入的长度(例如,如果进一步的文本输入比正常更长,则其可以指示积极的/期望的回复选项),是否接收到进一步的文本输入(例如,如果对话被放弃,则可以指示消极的/不期望的回复选项),明确的用户反馈等。
图2C示出了回复内容引擎126基于文本输入201C和基于用户状态信息207C发出搜索的示例。回复内容引擎126基于搜索接收搜索结果,并基于所接收的搜索结果中的一个或多个的搜索结果生成回复内容209C。在图2C中,文本输入201C作为对话的一部分被提供给回复内容引擎126,该文本输入201C是基于由一个或多个用户界面输入设备102生成的用户界面输入。
用户状态引擎122接收传感器数据203C和/或文本输入201C,并利用一个或多个用户状态模型152A来生成用户状态信息207C,该用户状态信息207C指示了提交文本输入201C的用户的用户状态和/或也参与了对话的一个或多个附加用户的用户状态。传感器数据203C可以是基于用户界面输入设备的传感器和/或除了用户界面输入设备102之外的传感器106。用户状态引擎122可以利用各种技术来生成用户状态信息207C,诸如是关于图1,图2A,和/或本文其他地方描述的一种或多种技术。用户状态信息207C可以采用诸如本文所述的各种形式。
在图2C中,回复内容引擎126基于文本输入201C和用户状态信息207C来发出搜索。具体地,回复内容引擎126使搜索系统130发出搜索数据库154的搜索,该搜索是基于了一个或多个基于文本输入201C确定的搜索参数,以及一个或多个基于用户状态信息207C确定的搜索参数。在这些实施方式中的一些实施方式中,一个或多个参数可以各自地基于文本输入201C和用户状态信息207C两者。搜索系统130返回响应的搜索结果,并且回复内容引擎126选择一个或多个搜索结果以(全部或部分)包括到回复内容209C中。
基于用户状态信息207C确定搜索参数可以包括:基于用户状态信息207C,选择用于识别搜索中的内容的一个或多个术语和/或其他参数,和/或基于用户状态信息207C提交具有用户状态信息207C的指示的搜索,该指示用于对一个或多个搜索结果进行排名。例如,对于具有指示“压力”的用户状态的接收到的“我很无聊”的文本输入,可以针对“附近的放松的活动”发出搜索,其中基于“压力”的用户状态来选择“放松”。另外,例如,对于具有指示了“压力”的用户状态的接收到的“我很饿”的文本输入,可以针对“附近的餐馆”发布搜索,并且搜索结果是至少部分地基于结果是否具有“放松”或类似的属性。例如,可以从搜索结果中过滤掉不具有“放松”属性的搜索结果。
搜索系统130搜索一个或多个搜索数据库154以识别响应于搜索参数的内容,该搜索参数由回复内容引擎126提供。在一些实施方式中,搜索数据库154包括,为公共可用内容编索引的数据库和/或为用户私有的内容编索引的数据库。搜索系统130可以利用搜索数据库154来识别响应内容,并且可以基于所识别的响应内容来生成搜索结果。在一些实施方式中,一个或多个搜索数据库154可以远离自动助理120和/或任何独立的客户端计算设备,和/或一个或多个搜索数据库154可以是在自动助理120和/或任何独立的客户端计算设备的本地。在本说明书中,术语“数据库”用于指代存储在一个或多个计算机可读介质中的结构化或非结构化数据的任意集合。
响应于文本输入,搜索系统130可以利用各种技术来搜索搜索数据库154。在一些实施方式中,搜索系统130可以基于严格符合文本输入201C的搜索参数,以及可选地基于根据用户状态信息207C而添加的搜索参数,来搜索一个或多个搜索数据库154。在一些实施方式中,搜索系统130可以基于一个或多个搜索参数来搜索一个或多个搜索数据库154,该搜索参数基于但不一定严格地符合文本输入201C。例如,对于“邻近的餐馆”的文本输入,搜索系统130可以基于会将搜索数据库154限制为“兴趣点”的数据库,和/或将内容限制为“餐馆”的内容的搜索参数,以及基于将内容限制为在用户的当前位置的阈值距离内的内容的搜索参数,来搜索一个或多个搜索数据库154。作为又一示例,对于“我的照片”的文本输入,搜索系统130可以基于将搜索数据库154限制为用户个人的数据库和/或将内容限制为“图像”的内容的搜索参数,来搜索一个或多个搜索数据库154。
搜索系统130可以包括排名引擎,该排名引擎使用一个或多个排名信号,和/或基于根据用户状态信息207C的搜索属性对所标识的内容进行排名,排名信号诸如是内容的流行度,搜索参数和内容之间的匹配程度,用户的属性(例如,用户的位置,用户的主要语言)。对所识别的内容进行排名可以包括,计算所识别的内容的分数或其他度量,以及使用这些度量来指示哪些内容项被用作包括在回复内容209C中的搜索结果。作为一个示例,搜索系统130可以基于确定一个或多个内容项不符合用户状态信息207C,来过滤掉或以其他方式降级该一个或多个内容项。作为另一示例,搜索系统130可以基于确定一个或多个内容项符合用户状态信息207C,来选择或以其他方式提升该一个或多个内容项。
搜索系统130使用由排名引擎排序的已识别的响应内容来生成搜索结果。搜索结果包括与内容对应的搜索结果,该内容响应于基于文本输入发出的搜索。例如,每个搜索结果可以包括,响应内容项的标题或其他概要,内容项的总结,到响应内容项的链接,与响应内容项有关的其他信息,和/或甚至整个内容项。作为一个示例,新闻故事内容项的总结可以包括特定的“片”或新闻故事的节。另外,例如,对于与图像相关联的搜索结果,搜索结果可以包括,图像的缩小尺寸的显示,与图像相关联的标题,和/或图像的链接。另外,例如,对于与视频相关联的搜索结果,搜索结果可以包括,来自视频的图像,视频的片段,视频的标题和/或视频的链接。
尽管搜索系统130在图1中被示为与自动助理120分开,但是在一些实施方式中,搜索系统130的一个或多个方面可以合并在自动助理120中。例如,搜索系统130的排名引擎的所有或多个方面(例如,至少基于用户状态信息对搜索结果进行排名的方面)可以由自动助理120整体地或部分地合并。
现在参考图3A-9,描述了自动助理120的各种实施例。图3A,3B,4A,4B和6-9各自示出了根据本文公开的实施方式的计算设备110,计算设备110具有显示了图形用户界面的显示屏140,图形用户界面中具有对话的示例,对话可发生在计算设备110的用户,自动助理120和/或一个或多个附加用户之间。自动助理120的一个或多个方面可以在计算设备110上和/或在与计算设备110进行网络通信的一个或多个计算设备上实施。
图3A,3B,4A,4B和6-9的显示屏140还包括,用户可选择通过虚拟键盘生成用户界面输入的文本回复界面元素188,和用户可选择通过麦克风生成用户界面输入的语音回复界面元素189。在一些实施方式中,用户可以经由麦克风生成用户界面输入而无需选择语音回复界面元素189。例如,在对话期间,可以对经由麦克风的可听用户界面输入进行主动监视,以避免用户要选择语音回复界面元素189的需要。在前面这些实施方式中的一些和/或其他实施方式中,可以省略语音回复界面元素189。此外,在一些实施方式中,文本回复界面元素188可以另外地和/或替代地被省略(例如,用户可以仅提供可听用户界面输入)。图3A,3B,4A,4B和6-9的显示屏140还包括,系统界面元素181,182,183,可以由用户与系统界面元素181,182,183进行交互以使计算设备110执行一个或多个动作。
图5示出了根据本文描述的实施方式的包括一个或多个麦克风和一个或多个扬声器的计算设备110,并且示出了在计算设备510的用户101和自动助理120之间,经由麦克风和扬声器发生的对话的示例。自动助理120的一个或多个方面可以在计算设备510上,和/或在与计算设备510进行网络通信的一个或多个计算设备上实施。
在图3A中,用户提供文本输入321A作为用户和自动助理120之间的对话的一部分。自动助理120确定用户的用户状态信息,并提供基于文本输入321A和用户状态信息的回复331A。例如,用户状态信息可以指示用户是“悲伤”的,并且可以基于根据该用户状态信息进行修改的初始文本输出来生成回复331A。例如,文本生成引擎124可以生成初始文本输出“嗨,告诉我你的一天”,以及,基于用户状态信息,回复内容引擎126可以用“怎么样(howwas)”替换“告诉我(tell me about)”。
用户提供文本输入322A以促进对话。自动助理120提供回复332A,回复332A是基于该用户的先前确定的用户状态信息,和/或基于更新的用户状态信息(例如,至少部分地基于文本输入322A和/或在文本输入321A被提供之后接收的传感器数据来确定)。自动助理120基于文本输入322A(以及可选地基于先前的文本输入321A和/或331A)以及基于用户状态信息生成回复332A。例如,用户状态信息可能仍然指示用户是“悲伤”的,并且可以基于根据该用户状态信息进行修改的初始文本输出来生成回复332A。例如,文本生成引擎124可以生成“很高兴听你这么说。有什么需要我帮忙的吗?”的初始文本输出,以及,基于用户状态信息,回复内容引擎126可以用“对不起”替换“很高兴”并在“什么(anything)”之前添加“如果有...,请告诉我(Let me know ifthere is)”。
图3B示出了根据用户的不同于图3A的用户状态信息,图3A的对话是如何不同的示例。在图3B中,文本输入321B与图3A的文本输入321A相同,并且文本输入322B与图3A的文本输入322A相同。然而,基于为用户确定的不同的用户状态信息,回复331B和332B是不同的。例如,在图3B中,用户状态信息可以指示用户是“高兴”的。可以基于根据该用户状态信息进行修改的初始文本输出,来生成回复331B和332B。例如,对于回复331B,文本生成引擎124可以生成初始文本输出“嗨,告诉我你的一天”,并且,基于用户状态信息,回复内容引擎126可以用“你好!(howdy)”替换“嗨”,并添加笑脸表情符号。而且,例如,对于回复332B,文本生成引擎124可以生成“很高兴听你这么说。有什么需要我帮忙的吗?”的初始文本输出,以及,基于用户状态信息,回复内容引擎126可以用“好(Good)”代替“很高兴(Nice)”。
在图4A中,用户提供文本输入421A作为用户和自动助理120之间的对话的一部分。自动助理120确定用户的用户状态信息,并提供基于文本输入421A和用户状态信息的回复431A。例如,用户状态信息可以指示用户是“快活”的,并且可以基于识别的多个回复选项,并根据该用户状态信息选择回复选项中的一个,来生成回复431A。例如,回复内容引擎126可以基于文本输入421A,至少识别“讲个笑话”的选项和“提供关于时间管理的信息”的选项,并且可以基于“快活”的用户状态信息选择“讲个笑话”的选项。例如,在一个或多个回复选项模型中,可以将“讲个笑话”的选项分配给快活用户状态标识符。用户在促进对话进行时提供肯定的文本输入422A,并且自动助理120提供回复432A。基于回复内容引擎126选择“讲个笑话”的选项,回复是从笑话语料库中选择的笑话。
图4B示出了根据用户的不同于图4A的用户状态信息,图4A的对话是如何不同的示例。在图4B中,文本输入421B与图4A的文本输入421A相同,文本输入422B与图4A的文本输入422A相同。然而,回复431B和432B与图4A的回复431A和432A不同,并且是基于为用户确定的不同的用户状态信息而不同。例如,在图4B中,用户状态信息可以指示用户有“压力”。可以基于回复内容引擎126识别出“提供关于时间管理的信息”的回复选项符合用户状态信息,来生成回复431B。回复内容引擎126还可以基于肯定的文本输入422B并基于“提供关于时间管理的信息的回复选项”的选择来提供回复432B。
在图5中,文本输入521A和522A与图3A的文本输入321A和321B相同。此外,由自动助理120提供的回复531A和532A与图3A的回复331A和332A相同。在图5中,文本输入521A和522A由用户以可听方式经由计算设备510的麦克风提供给计算设备510,以及计算设备经由计算设备510的扬声器提供用于可听呈现的回复531A和532A。在一些实施方式中,回复531A和532A以类似于关于图3A的回复331A和332A的描述中的方式来生成。在一些实施方式中,回复531A和532A的可听呈现可以可选地基于一个或多个可听样式特性,该一个或多个可听样式特性是基于用户状态信息确定的。例如,基于指示了用户“快活”的用户状态信息,用于提供可听的回复531A和532A的可听音调和/或其他可听特征,如果与例如,指示用户是“悲伤”的用户状态信息相比,是更加“快活”的。
在图6中,用户提供文本输入621作为用户和自动助理120之间的对话的一部分。自动助理120确定用户的用户状态信息,并提供基于文本输入621和用户状态信息的回复631。例如,用户状态信息可以指示用户是有“压力”的,并且可以基于发出的搜索来生成回复631,该发出的搜索包括基于文本输入621一个或多个搜索参数,以及包括基于该用户状态信息的一个或多个搜索参数。例如,回复内容引擎126可以使搜索系统130发出对于“附近的放松活动”的搜索,其中基于有“压力”的用户状态选择“放松”,和/或回复内容引擎126可以使搜索系统130至少部分地基于搜索结果是否具有“放松”或类似属性来排名搜索结果。例如,可以从搜索结果中过滤掉不具有“放松”属性的搜索结果。回复631包括响应于搜索而识别的三个搜索结果。每个搜索结果都与“放松”的地点有关。用户对搜索结果之一的选择可以使得关于相应位置的附加信息被呈现给用户。在一些实施方式中,附加信息可以作为正在进行的对话的继续而被呈现(例如,作为来自自动助理120的进一步输出,在图6的图形用户界面中被添加到对话的正式文本)。在一些其他实施方式中,对搜索结果中的一个结果的选择可以使附加信息在独立的应用和/或界面中被呈现给用户。例如,对搜索结果中的一个结果的选择使得独立的应用导航到与该搜索结果相关联的链接。
在图7中,用户提供文本输入721作为与自动助理120的对话的一部分,并且自动助理120提供响应于文本输入721的回复731。在一些实施方式中,可以不基于用户的用户状态信息来确定回复731。然后,用户提供文本输入722作为对话的继续并响应于回复731。自动助理120可以在提供文本输入722的期间或之前,确定用户的用户状态信息指示用户是“沮丧”,“生气”和/或有“压力”的。响应于这样的确定,自动助理120可以向用户提供回复732,回复732包括交互元素,该交互元素能够让用户选择与人交谈。在一些实施方式中,响应于对这样的用户状态信息的确定,以及响应于对至少指示了改变的阈值程度的这样的用户状态信息的确定,来提供交互元素,改变的阈值程度是来自用户的先前的(例如,前面紧接的)用户状态信息的改变(在方向和/或大小上)的阈值程度。将这个与在提供文本输入722的期间或之前,确定用户的用户状态信息指示用户是“中立”或“快乐”的情况相比。在这些实施方式中的一些实施方式中,回复732替代地可以被定制为帮助用户解决文本输入721的请求而不呈现与人交谈的选项。
对“选择与人交谈”的交互元素的选择可以使得,在计算设备110和人类操作员的附加计算设备之间建立网络连接,并且进一步经由网络连接使用户和人类操作员之间进行通信。在一些实施方式中,进一步的通信可以经由图7的图形用户界面进行。在一些实施方式中,交互元件的选择可以使独立的应用和/或接口被用于进一步的通信。
图8和9呈现了包括计算设备110的用户和附加用户(“Joe”)的对话的两个示例。尽管图8和9仅示出了一个附加用户,但是应该理解,多个附加用户可以参与对话。
在图8中,计算设备110的用户在对话框中提供文本输入821,以及附加用户(“Joe”)在对话框提供响应回复841。然后,计算设备110的用户提供了导向自动助理120的附加文本输入822。通过包含“@AS”将文本输入导向自动助理120。在一些实施方式中,可以使用用于调用自动助理120的附加或替代技术,和/或自动助理120可以可选地无需显式调用就可提供响应内容。
响应于文本输入822,自动助理提供基于文本输入822和基于计算设备110的用户和/或附加用户(“Joe”)的用户状态信息的回复831。例如,用户状态信息可以指示计算设备110的用户和附加用户都是“激动不已”,以及可以基于发出搜索来生成回复831,该搜索包括基于文本输入822一个或多个搜索参数,以及包括基于该用户状态信息的一个或多个搜索参数。例如,回复内容引擎126可以使针对“附近的有趣事件”的搜索被发出,其中基于“激动不已”的用户状态选择“有趣”,和/或回复内容引擎126可以使得,至少部分地基于搜索结果是否具有“有趣”或类似属性来排名搜索结果。例如,可以从搜索结果中过滤出不具有“有趣”属性的搜索结果。回复831包括响应于搜索而识别的三个搜索结果。每个搜索结果都与“有趣”的事件有关。用户对搜索结果之一的选择可以使得关于相应事件的附加信息被呈现给用户。在一些实施方式中,附加信息可以作为正在进行的对话的继续而被呈现。在一些其他实施方式中,对搜索结果中的一个结果的选择可以使附加信息在独立的应用和/或界面中被呈现给选择的用户。
在图9中,附加用户(“Joe”)提供文本输入941,文本输入941是导向计算设备110的用户的消息。自动助理120生成响应的回复内容931。然而,不是将响应的回复内容931自动合并到对话中,自动助理120将响应的回复内容提供给计算设备110的用户(可选地,无需将其独自地提供给附加用户)。计算设备110的用户可以可选地选择回复内容931中列出的两个回复选项中的一个,以利用所选择的选项作为计算设备110的用户对文本输入941的回复。选择其中一个选项可以使所选择的选项自动包含在图9的图形用户界面中呈现的对话的正式文本中,选择其中一个选项可以将所选的选项的文本加入文本回复界面元素188中(用于在用户明确提交之前由用户进行可选编辑),或者选择其中一个选项可以用其他方式启用计算设备110的用户的编辑,和/或在包含在对话的正式文本中之前要求计算设备110的用户的附加显式输入。
自动助理120可以基于所确定的附加用户(“Joe”)的用户状态信息来生成回复内容931的回复选项。例如,附加用户的用户状态信息可以指示他是“悲伤”的,结果,回复内容引擎126可以生成符合该用户状态信息的回复内容。例如,文本生成引擎124可以基于文本输入941生成初始文本输出,以及回复内容引擎126可以基于附加用户的用户状态信息来修改该初始文本输入。
图10是示出根据本文公开的实施方式的示例性方法1000的流程图。为方便起见,参考进行操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种组件,例如自动助理120的一个或多个组件和/或搜索系统130的一个或多个组件。此外,虽然方法1000的操作以特定顺序示出,但这并不意味着限制。一个或多个操作可以被重新排序,省略或添加。
在块1010,系统接收文本输入。系统接收文本输入作为对话的一部分,该对话包括用户,自动助理,以及可选地一个或多个附加用户。文本输入可以由用户基于用户界面输入来生成,用户界面输入由诸如麦克风和/或虚拟键盘的一个或多个用户界面输入设备生成。
在块1020,系统确定提交文本输入的用户的用户状态信息,和/或一个或多个附加用户的用户状态信息。在确定用户状态信息时,系统可以利用各种输入和/或各种技术。例如,系统可以基于,该用户的用户界面输入设备的传感器数据,该用户的其他传感器的传感器,在块1010处接收的文本输入,和/或从用户收到的先前的文本输入,来确定用户的用户状态信息。在一些实施方式中,块1020可以在块1010之前发生。
在块1030,系统基于文本输入和用户状态信息两者来生成回复内容。系统可以生成各种类型的回复内容,并且可以利用各种技术来基于文本输入和用户状态信息两者来生成回复内容。例如,系统可以利用与前面附图相关的已描述的一种或多种技术。
在块1040,系统提供用于包括在对话中的回复内容。系统响应于块1010的用户界面输入,提供回复内容。在一些实施方式中,系统自动将回复内容合并到对话框,作为系统对块1010的文本输入的回复。例如,系统可以向参与对话的用户的一个或多个计算设备提供一个或多个命令,以使那些计算设备呈现回复内容(例如,将回复内容合并到对话的正式文本中)。在一些实施方式中,系统向用户建议用于包括在对话中的回复内容(例如,通过回复内容可用的大概指示),并且响应于进一步的用户界面输入而在仅对话中包括回复内容。在一些实施方式中,系统向参与对话的附加用户建议,将回复内容为附加用户对块1010的文本输入的回复。
在对话期间可以发生块1010、1020、1030,和1040的多次迭代,以使得回复内容能够适应在整个对话中可能发生的各种用户状态和/或文本输入。尽管以特定顺序示出了块1010、1020、1030和1040,但是应当理解,可以改变顺序,可以并行执行一个或多个块,和/或可以仅选择性地执行一个或多个块。
图11是可任选地用于执行本文描述的技术的一个或多个方面的示例计算设备1110的框图。在一些实施方式中,客户端计算设备,自动助理120和/或其他组件这些中的一个或多个可以包括示例计算设备1110的一个或多个组件。
计算设备1110一般包括至少一个处理器1114,其经由总线子系统1112与多个外围设备通信。这些外围设备可以包括存储子系统1124,用户界面输出设备1120,用户界面输入设备1122和网络接口子系统1116,该存储子系统1124包括,例如,存储器子系统1125和文件存储子系统1126。输入和输出设备允许用户与计算设备1110交互。网络接口子系统1116提供到外部网络的接口,并且耦合到其他计算设备中的相应接口设备。
用户界面输入设备1122可以包括键盘,诸如鼠标,轨迹球,触摸板,或图形输入板的指点设备,扫描仪,结合到显示器中的触摸屏,诸如语音识别系统,麦克风的音频输入设备,和/或其他类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算设备1110或通信网络的所有可能类型的设备和方式。
用户界面输出设备1120可以包括显示子系统,打印机,传真机,或诸如音频输出设备的非可视显示器。显示子系统可包括阴极射线管(CRT),诸如液晶显示器(LCD)的扁平面板装置,投影装置或用于产生可见图像的一些其他机构。显示子系统还可以提供诸如通过音频输出设备的非可视显示。通常,术语“输出设备”的使用旨在包括将信息从计算设备1110输出到用户或另一机器或计算设备的所有可能类型的设备以及方式。
存储子系统1124存储编程程序和数据结构,编程程序和数据结构提供本文描述的一些或所有模块的功能。例如,存储子系统1124可以包括用于进行图10的方法的所选方面的逻辑。
这些软件模块通常由处理器1114单独执行或与其他处理器组合执行。存储子系统1124中使用的存储器1125可以包括数个存储器,数个存储器包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)1130,和存储固定指令的只读存储器(ROM)1132。文件存储子系统1126可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器,软盘驱动器以及相关联的可移动介质,CD-ROM驱动器,光盘驱动器,或可移动介质盒。实施某些实施方式的功能的模块可以由文件存储子系统1126存储在存储子系统1124中,或者存储在处理器1114可访问的其他机器中。
总线子系统1112提供用于使计算设备1110的各种组件和子系统按预期彼此通信的机制。虽然总线子系统1112被示意性地示为单个总线,但是总线子系统的替代实施方式可以使用多个总线。
计算设备1110可以是各种类型的系统或计算设备,包括工作站,服务器,计算集群,刀片服务器,服务器群,或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图11中描绘的计算设备1110的描述仅旨在作为用于说明一些实施方式的目的的特定示例。计算设备1110的许多其他配置相比于图11中描绘的计算设备可能具有更多或更少的组件。
在这里讨论的某些实施方式可以收集或使用关于用户的个人信息(例如,用户数据,关于用户的社交网络的信息,用户的地点,用户的生物特征信息,用户的活动和人口统计信息)的情况下,向用户提供一个或更多机会控制是否收集个人信息,是否存储个人信息,是否使用个人信息,以及如何收集关于用户,存储和使用的信息。也就是说,这里讨论的系统和方法仅在接收到相关用户的明确授权时才收集,存储和/或使用用户个人信息。例如,向用户提供对程序或特征是否收集关于该特定用户或与该程序或特征相关的其他用户的用户信息的控制。要为被收集个人信息的每个用户呈现一个或多个允许控制与该用户相关的信息收集的选项,以提供关于是否收集信息以及关于信息的哪些部分被收集的许可或授权。例如,可以通过通信网络向用户提供一个或多个这样的控制选项。另外,某些数据可以在存储或使用之前以一种或多种方式处理,以便移除个人可识别信息。作为一个示例,可以对用户的身份处理,以便不能确定个人可识别信息。作为另一示例,用户的地理地点可以被概括在更大的区域,使得不能确定用户的特定地点。
虽然本文已经描述和说明了若干实施方式,但是用于进行功能和/或获得结果和/或本文描述的一个或多个优点的各种其他手段和/或结构可以被利用,并且每个这样的变化和/或修改被认为是在本文描述的实施方式的范围内。更普遍地,本文描述的所有参数,尺寸,材料和配置旨在是示例性的,并且实际参数,尺寸,材料和/或配置将取决于使用该教导的特定应用或多个应用。本领域技术人员使用不超过常规的实验将认识到或者能够探知这里描述的特定的实施方式的许多等同物。因此,应该理解,前述实施方式仅作为示例呈现,并且在所附权利要求及其等同物的范围内,可以以不同于这里具体描述和要求保护的方式来实践实施方式。本公开的实施方式涉及本文描述的每个单独的特征,系统,制品,材料,套件和/或方法。此外,如果这些特征,系统,制品,材料,套件和/或方法不相互矛盾,则两个或更多个这样的特征,系统,制品,材料,套件和/或方法的任何组合将包括在本公开的范围。
Claims (27)
1.一种由一个或多个处理器实施的用于生成响应的回复内容的方法,其特征在于,包括:
接收文本输入,所述文本输入是基于用户界面输入,所述用户界面输入是通过用户经由所述用户的计算设备的一个或多个用户界面输入设备生成,
其中,所述用户界面输入是由所述用户生成,以作为所述用户和由一个或多个所述处理器实施的自动助理之间的对话的一部分,由此所述自动助理与所述用户交互;
确定所述用户的用户状态信息,其中所述用户状态信息识别所述用户的状态,所述用户状态信息是所述文本输入的补充,以及是基于由所述计算设备或所述用户的附加计算设备生成的传感器数据;
生成对所述文本输入的回复内容,所述回复内容基于所述文本输入和所述用户状态信息两者;和
响应于所述用户界面输入而提供作为所述用户和所述自动助理之间的所述对话的一部分的所述回复内容,其中,响应于所述文本输入,所述回复内容被提供为用于包括在对话中,并且其中所述回复内容被提供为用于经由一个或多个用户界面输出设备呈现,
基于所述文本输入和所述用户状态信息两者生成所述回复内容包括:
将所述文本输入提供给文本生成引擎;
接收由所述文本生成引擎基于所述文本输入生成的初始文本输出;和
基于所述用户状态信息,通过修改所述初始文本输出来生成所述回复内容。
2.如权利要求1所述的方法,其特征在于,所述用户和所述自动助理之间的所述对话的正式文本显示在图形用户界面中,所述图形用户界面由所述用户的所述计算设备的所述用户界面输出设备之一渲染,并且其中,提供所述回复内容包括:
将所述回复内容合并到所述正式文本中以与所述对话的先前内容一起显示。
3.如权利要求2所述的方法,其特征在于,将所述回复内容合并到所述正式文本中包括:
经由一个或多个网络接口向所述计算设备传送命令,其中所述命令使所述计算设备将所述回复内容合并到所述正式文本中。
4.如权利要求1所述的方法,其特征在于,基于所述用户状态信息修改所述初始文本输出包括:
将输入应用到模型,所述模型存储在一个或多个计算机可读介质中,所述输入是基于所述初始文本输出的一个或多个片段;以及
由所述模型并基于所述输入生成输出,所述输出指示用于修改所述初始文本输出的一个或多个术语。
5.如权利要求4所述的方法,其特征在于,所述模型包括,从中性文本片段到特定于所述用户的所述状态的文本片段的映射,其中应用于所述模型的所述输入是所述初始文本输出的一个或多个片段,以及其中,由所述模型生成的所述输出包括,特定于所述用户的所述状态的所述文本片段中的至少一个文本片段。
6.如权利要求4或5所述的方法,其特征在于,还包括:
基于所述用户状态信息与分配给所述模型的一个或多个用户状态标识符之间的一致性来选择所述模型。
7.如权利要求4所述的方法,其特征在于,还包括:
将附加输入应用于所述模型,所述附加输入基于所述用户状态信息;
其中,由所述模型生成所述输出还基于所述附加输入。
8.如权利要求4所述的方法,其特征在于,所述模型是已训练的机器学习模型。
9.如权利要求8所述的方法,其特征在于,还包括:
基于多个训练示例生成所述已训练的机器学习模型,每个所述训练示例包括:
基于对应的中性文本片段和对应的用户状态信息,训练示例输入,以及
基于对应的已修改的文本片段,训练示例输出,所述已修改的文本片段是鉴于对应的用户状态信息而对所述对应的中性文本片段的修改;
其中,生成所述已训练的所述机器学习模型包括,基于所述训练示例的所述训练示例输入的应用,以及基于所述训练示例的所述训练示例输出的反向传播,来训练所述已训练的机器学习模型。
10.如权利要求1所述的方法,其特征在于,所述回复内容包括,至少一个可选图形元素,当经由另外的用户界面输入选择所述可选图形元素时,使得所述用户的所述计算设备向所述用户呈现附加内容。
11.如权利要求10所述的方法,其特征在于,基于所述文本输入和所述用户状态信息两者生成所述回复内容包括:
基于所述文本输入和所述用户状态信息,发出对一个或多个数据库的搜索;
响应于发出所述搜索,接收一个或多个搜索结果;以及
将一个或多个所述搜索结果合并到所述回复内容中,其中所述可选图形元素与所述搜索结果中的一个搜索结果相关联。
12.如权利要求11所述的方法,其特征在于,基于所述文本输入和所述用户状态信息两者发出所述搜索包括:
基于所述文本输入确定搜索参数;以及
基于所述用户状态信息确定附加搜索参数,其中所述附加搜索参数是以下其中一个参数:
搜索术语,所述搜索术语用于识别搜索结果所基于的响应内容,或者
排名参数,所述排名参数用于对所述搜索结果进行排名。
13.如权利要求10-12中任一项所述的方法,其特征在于,所述可选图形元素的选择使得所述用户的所述计算设备与附加用户的计算设备建立网络连接,并且其中,所述附加内容指示与所述附加用户的新对话的发起。
14.如权利要求1所述的方法,其特征在于,确定所述用户状态信息包括:
基于所述传感器数据识别多个用户状态指示符;
将所述用户状态指示符作为输入应用于至少一个用户状态模型,所述至少一个用户状态模型存储在一个或多个计算机可读介质中;以及
由所述至少一个用户状态模型并基于所述输入生成指示所述用户状态信息的输出。
15.如权利要求14所述的方法,其特征在于,所述至少一个用户状态模型包括已训练的情绪分类器。
16.如权利要求1所述的方法,其特征在于,所述传感器数据包括,基于所述用户界面输入的用户界面传感器数据,并且其中,确定所述用户状态信息包括:
基于所述用户界面传感器数据确定所述用户状态信息。
17.如权利要求1所述的方法,其特征在于,基于所述文本输入和所述用户状态信息两者生成所述回复内容包括:
基于所述文本输入确定多个回复选项;
选择所述回复选项中的一个回复选项,选择所述回复选项中的一个回复选项是基于所述回复选项中的所选择的所述一个回复选项与所述用户状态信息的一致性;以及
基于所述回复选项中的所选择的所述一个回复选项生成所述回复内容。
18.如权利要求1所述的方法,其特征在于,基于所述文本输入和所述用户状态信息两者生成所述回复内容包括:
从所述文本生成引擎接收至少第一文本输出和第二文本输出;以及
基于所述用户状态信息,选择所述第一文本输出和所述第二文本输出中的一个以在所述回复内容中利用。
19.如权利要求1所述的方法,其特征在于,所述对话包括附加用户,并且还包括:
确定所述附加用户的附加用户状态信息;
其中,生成回复内容还基于附加用户状态信息。
20.如权利要求1所述的方法,其特征在于,基于所述用户状态信息生成所述回复内容包括:
基于所述用户状态信息确定所述回复内容的样式特性。
21.如权利要求1所述的方法,其特征在于,所述用户状态信息所基于的传感器数据来自所述计算设备或所述附加计算设备的多个传感器。
22.一种由一个或多个处理器实施的用于生成响应的回复内容的方法,其特征在于,包括:
接收文本输入,所述文本输入是基于用户界面输入,所述用户界面输入是经由用户或附加用户的计算设备的一个或多个用户界面输入设备生成,
其中所述用户界面输入被生成以作为所述用户,所述附加用户和由一个或多个所述处理器实施的自动助理之间的对话的一部分,由此所述自动助理与所述用户和/或所述附加用户进行交互;
确定所述用户和所述附加用户中至少一个的用户状态信息;
生成对所述文本输入的回复内容,所述回复内容基于所述文本输入和所述用户状态信息两者;和
响应于所述文本输入,提供作为所述用户和所述自动助理之间的对话的一部分的所述回复内容,其中所述回复内容被提供为用于包括在所述对话中,并且其中,所述回复内容被提供为用于经由一个或多个用户界面输出设备呈现,
基于所述文本输入和所述用户状态信息两者生成所述回复内容包括:
将所述文本输入提供给文本生成引擎;
接收由所述文本生成引擎基于所述文本输入生成的初始文本输出;和
基于所述用户状态信息,通过修改所述初始文本输出来生成所述回复内容。
23.如权利要求22所述的方法,其特征在于,提供所述回复内容包括,将所述回复内容合并到所述对话中以呈现给所述用户和所述附加用户。
24.如权利要求22或23所述的方法,其特征在于,确定所述用户状态信息包括,确定所述用户和所述附加用户两者的所述用户状态信息。
25.如权利要求22所述的方法,其特征在于,所述文本输入所基于的所述用户界面输入来自所述附加用户的所述计算设备,其中所述用户状态信息是至少用于所述附加用户,并且其中,提供所述回复内容包括,提供用于呈现给所述用户的所述回复内容,以作为所述用户对所述文本输入的建议回复。
26.一种用于生成响应的回复内容的装置,其特征在于,包括用于进行如权利要求1至25中任一项所述的方法的装置。
27.一种非暂时性计算机可读存储介质,其特征在于,包括指令,当由计算设备的至少一个处理器执行所述指令时,使所述至少一个处理器进行权利要求1至25中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/252,049 US10192551B2 (en) | 2016-08-30 | 2016-08-30 | Using textual input and user state information to generate reply content to present in response to the textual input |
US15/252,049 | 2016-08-30 | ||
PCT/US2017/049225 WO2018044956A1 (en) | 2016-08-30 | 2017-08-29 | Using textual input and user state information to generate reply content to present in response to the textual input |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110023926A CN110023926A (zh) | 2019-07-16 |
CN110023926B true CN110023926B (zh) | 2024-01-30 |
Family
ID=59901573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780053486.7A Active CN110023926B (zh) | 2016-08-30 | 2017-08-29 | 使用文本输入和用户状态信息生成要呈现的回复内容以响应文本输入 |
Country Status (4)
Country | Link |
---|---|
US (4) | US10192551B2 (zh) |
EP (1) | EP3507718B1 (zh) |
CN (1) | CN110023926B (zh) |
WO (1) | WO2018044956A1 (zh) |
Families Citing this family (121)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US20120311585A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Organizing task items that represent tasks to perform |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
KR102579086B1 (ko) | 2013-02-07 | 2023-09-15 | 애플 인크. | 디지털 어시스턴트를 위한 음성 트리거 |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
EP3149728B1 (en) | 2014-05-30 | 2019-01-16 | Apple Inc. | Multi-command single utterance input method |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
US10192551B2 (en) * | 2016-08-30 | 2019-01-29 | Google Llc | Using textual input and user state information to generate reply content to present in response to the textual input |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
US10636418B2 (en) | 2017-03-22 | 2020-04-28 | Google Llc | Proactive incorporation of unsolicited content into human-to-computer dialogs |
US10581765B2 (en) * | 2017-04-03 | 2020-03-03 | Microsoft Technology Licensing, Llc | Conversation bot discovery and response fusion |
CN116319631A (zh) * | 2017-04-07 | 2023-06-23 | 微软技术许可有限责任公司 | 自动聊天中的语音转发 |
US9865260B1 (en) * | 2017-05-03 | 2018-01-09 | Google Llc | Proactive incorporation of unsolicited content into human-to-computer dialogs |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | USER INTERFACE FOR CORRECTING RECOGNITION ERRORS |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
DK201770427A1 (en) | 2017-05-12 | 2018-12-20 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
DK179549B1 (en) | 2017-05-16 | 2019-02-12 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US10614122B2 (en) | 2017-06-09 | 2020-04-07 | Google Llc | Balance modifications of audio-based computer program output using a placeholder field based on content |
US10652170B2 (en) | 2017-06-09 | 2020-05-12 | Google Llc | Modification of audio-based computer program output |
US10657173B2 (en) * | 2017-06-09 | 2020-05-19 | Google Llc | Validate modification of audio-based computer program output |
US11429833B2 (en) * | 2017-06-19 | 2022-08-30 | Kyndryl, Inc. | Cognitive communication assistant services |
US10650095B2 (en) * | 2017-07-31 | 2020-05-12 | Ebay Inc. | Emoji understanding in online experiences |
KR102438132B1 (ko) * | 2017-09-20 | 2022-08-31 | 삼성전자주식회사 | 전자 장치 및 그의 제어 방법 |
US10713300B2 (en) * | 2017-11-03 | 2020-07-14 | Google Llc | Using distributed state machines for human-to-computer dialogs with automated assistants to protect private data |
KR102485253B1 (ko) * | 2017-11-10 | 2023-01-06 | 현대자동차주식회사 | 대화 시스템 및 그 제어방법 |
KR102619621B1 (ko) * | 2018-02-07 | 2023-12-29 | 삼성전자주식회사 | 챗봇과 대화하기 위한 전자 장치 및 그의 동작 방법 |
KR102567447B1 (ko) | 2018-03-05 | 2023-08-16 | 구글 엘엘씨 | 자동화 어시스턴트를 이용한 이전 대화 컨텍스트사이의 전환 |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
EP4307093A3 (en) | 2018-05-04 | 2024-03-13 | Google LLC | Invoking automated assistant function(s) based on detected gesture and gaze |
EP4343499A2 (en) | 2018-05-04 | 2024-03-27 | Google LLC | Adapting automated assistant based on detected mouth movement and/or gaze |
KR102512446B1 (ko) | 2018-05-04 | 2023-03-22 | 구글 엘엘씨 | 자동화된 어시스턴트 기능(들)의 핫-워드 프리 적응 |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US10198877B1 (en) * | 2018-05-23 | 2019-02-05 | Google Llc | Providing a communications channel between instances of automated assistants |
JP6603001B1 (ja) * | 2018-05-23 | 2019-11-06 | グーグル エルエルシー | 自動アシスタントのインスタンス間への通信チャネルの提供 |
US11010180B2 (en) * | 2018-05-29 | 2021-05-18 | Wipro Limited | Method and system for providing real-time guidance to users during troubleshooting of devices |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US11238864B2 (en) | 2018-06-03 | 2022-02-01 | Google Llc | Selectively generating expanded responses that guide continuance of a human-to-computer dialog |
CN109032381B (zh) * | 2018-08-01 | 2022-05-17 | 平安科技(深圳)有限公司 | 一种基于上下文的输入方法、装置、存储介质及终端 |
CN110895558B (zh) * | 2018-08-23 | 2024-01-30 | 北京搜狗科技发展有限公司 | 一种对话回复的方法及相关装置 |
US11461398B2 (en) | 2018-08-31 | 2022-10-04 | Accenture Global Solutions Limited | Information platform for a virtual assistant |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
JP7209818B2 (ja) * | 2018-09-27 | 2023-01-20 | グーグル エルエルシー | 自動ナビゲーションを容易にするためのウェブページの分析 |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
WO2020087534A1 (en) * | 2018-11-02 | 2020-05-07 | Microsoft Technology Licensing, Llc | Generating response in conversation |
US10657968B1 (en) * | 2018-11-19 | 2020-05-19 | Google Llc | Controlling device output according to a determined condition of a user |
JPWO2020116193A1 (zh) * | 2018-12-07 | 2020-06-11 | ||
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11281867B2 (en) * | 2019-02-03 | 2022-03-22 | International Business Machines Corporation | Performing multi-objective tasks via primal networks trained with dual networks |
US11151324B2 (en) | 2019-02-03 | 2021-10-19 | International Business Machines Corporation | Generating completed responses via primal networks trained with dual networks |
CN113366510A (zh) * | 2019-02-03 | 2021-09-07 | 国际商业机器公司 | 经由训练的原始网络与双网络来执行多目标任务 |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
CN113767379B (zh) * | 2019-05-06 | 2024-04-05 | 谷歌有限责任公司 | 使用内容代理和/或存储的内容参数来渲染内容 |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
EP3759709A1 (en) * | 2019-05-06 | 2021-01-06 | Google LLC | Selectively activating on-device speech recognition, and using recognized text in selectively activating on-device nlu and/or on-device fulfillment |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
DK201970511A1 (en) | 2019-05-31 | 2021-02-15 | Apple Inc | Voice identification in digital assistant systems |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US11227599B2 (en) | 2019-06-01 | 2022-01-18 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
EP3783537A1 (en) * | 2019-08-23 | 2021-02-24 | Nokia Technologies Oy | Controlling submission of content |
CN110597973A (zh) * | 2019-09-12 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种人机对话的方法、装置、终端设备和可读存储介质 |
US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
US11294784B1 (en) * | 2019-09-26 | 2022-04-05 | Amazon Technologies, Inc. | Techniques for providing predictive interface elements |
CN112652301B (zh) * | 2019-10-12 | 2023-05-12 | 阿里巴巴集团控股有限公司 | 语音处理方法和分布式系统、及语音交互设备和方法 |
US11227583B2 (en) | 2019-11-05 | 2022-01-18 | International Business Machines Corporation | Artificial intelligence voice response system having variable modes for interaction with user |
CN111159380B (zh) * | 2019-12-31 | 2021-04-27 | 腾讯科技(深圳)有限公司 | 交互方法、装置、计算机设备及存储介质 |
US11562744B1 (en) * | 2020-02-13 | 2023-01-24 | Meta Platforms Technologies, Llc | Stylizing text-to-speech (TTS) voice response for assistant systems |
CN111414733B (zh) * | 2020-03-18 | 2022-08-19 | 联想(北京)有限公司 | 一种数据处理方法、装置及电子设备 |
US11183193B1 (en) | 2020-05-11 | 2021-11-23 | Apple Inc. | Digital assistant hardware abstraction |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
CN111783422B (zh) * | 2020-06-24 | 2022-03-04 | 北京字节跳动网络技术有限公司 | 一种文本序列生成方法、装置、设备和介质 |
US20220020365A1 (en) * | 2020-07-15 | 2022-01-20 | Google Llc | Automated assistant with audio presentation interaction |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
US11455996B2 (en) | 2020-07-27 | 2022-09-27 | Google Llc | Automated assistant adaptation of a response to an utterance and/or of processing of the utterance, based on determined interaction measure |
US20230004833A1 (en) * | 2021-06-30 | 2023-01-05 | On24, Inc. | Methods, Systems, And Apparatuses For Model Selection And Content Recommendations |
CN113378583A (zh) * | 2021-07-15 | 2021-09-10 | 北京小米移动软件有限公司 | 对话回复方法及装置、对话模型训练方法及装置、存储介质 |
US11861263B1 (en) * | 2021-08-24 | 2024-01-02 | X Development Llc | Robust natural language based control of computer applications |
CN114172856B (zh) * | 2021-11-30 | 2023-05-30 | 中国平安财产保险股份有限公司 | 消息自动回复方法、装置、设备及存储介质 |
US11870739B2 (en) * | 2022-05-17 | 2024-01-09 | Bank Of America Corporation | Auto-adjust app operation in response to data entry anomalies |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226949A (zh) * | 2011-09-30 | 2013-07-31 | 苹果公司 | 在虚拟助理中使用情境信息来促进命令的处理 |
CN105683874A (zh) * | 2013-10-03 | 2016-06-15 | 微软技术许可有限责任公司 | 用于文本预测的绘文字 |
CN105723360A (zh) * | 2013-09-25 | 2016-06-29 | 英特尔公司 | 利用情感调节改进自然语言交互 |
CN105897551A (zh) * | 2015-02-13 | 2016-08-24 | 国际商业机器公司 | 用于表现电子聊天会话中的参与者的情绪的方法和系统 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7720784B1 (en) | 2005-08-30 | 2010-05-18 | Walt Froloff | Emotive intelligence applied in electronic devices and internet using emotion displacement quantification in pain and pleasure space |
US9318108B2 (en) * | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US20090128567A1 (en) | 2007-11-15 | 2009-05-21 | Brian Mark Shuster | Multi-instance, multi-user animation with coordinated chat |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US10276170B2 (en) * | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10474875B2 (en) * | 2010-06-07 | 2019-11-12 | Affectiva, Inc. | Image analysis using a semiconductor processor for facial evaluation |
US9762719B2 (en) | 2011-09-09 | 2017-09-12 | Qualcomm Incorporated | Systems and methods to enhance electronic communications with emotional context |
US9348479B2 (en) | 2011-12-08 | 2016-05-24 | Microsoft Technology Licensing, Llc | Sentiment aware user interface customization |
CN105409197A (zh) | 2013-03-15 | 2016-03-16 | 趣普科技公司 | 用于提供持久伙伴装置的设备和方法 |
KR102369784B1 (ko) * | 2013-06-07 | 2022-03-03 | 애플 인크. | 지능형 자동 어시스턴트 |
EP2881898A1 (en) | 2013-12-09 | 2015-06-10 | Accenture Global Services Limited | Virtual assistant interactivity platform |
US20160021038A1 (en) | 2014-07-21 | 2016-01-21 | Alcatel-Lucent Usa Inc. | Chat-based support of communications and related functions |
US10924444B2 (en) * | 2014-12-02 | 2021-02-16 | Facebook, Inc. | Device, method, and graphical user interface for managing customer relationships using a lightweight messaging platform |
US9837081B2 (en) | 2014-12-30 | 2017-12-05 | Microsoft Technology Licensing, Llc | Discovering capabilities of third-party voice-enabled resources |
US10192551B2 (en) * | 2016-08-30 | 2019-01-29 | Google Llc | Using textual input and user state information to generate reply content to present in response to the textual input |
-
2016
- 2016-08-30 US US15/252,049 patent/US10192551B2/en active Active
-
2017
- 2017-08-29 CN CN201780053486.7A patent/CN110023926B/zh active Active
- 2017-08-29 EP EP17768889.2A patent/EP3507718B1/en active Active
- 2017-08-29 WO PCT/US2017/049225 patent/WO2018044956A1/en active Search and Examination
-
2019
- 2019-01-25 US US16/258,035 patent/US10650820B2/en active Active
-
2020
- 2020-04-20 US US16/853,143 patent/US11264032B2/en active Active
-
2022
- 2022-02-03 US US17/592,042 patent/US11929072B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226949A (zh) * | 2011-09-30 | 2013-07-31 | 苹果公司 | 在虚拟助理中使用情境信息来促进命令的处理 |
CN105723360A (zh) * | 2013-09-25 | 2016-06-29 | 英特尔公司 | 利用情感调节改进自然语言交互 |
CN105683874A (zh) * | 2013-10-03 | 2016-06-15 | 微软技术许可有限责任公司 | 用于文本预测的绘文字 |
CN105897551A (zh) * | 2015-02-13 | 2016-08-24 | 国际商业机器公司 | 用于表现电子聊天会话中的参与者的情绪的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US10192551B2 (en) | 2019-01-29 |
US20200251112A1 (en) | 2020-08-06 |
WO2018044956A1 (en) | 2018-03-08 |
US20180061400A1 (en) | 2018-03-01 |
US11264032B2 (en) | 2022-03-01 |
EP3507718A1 (en) | 2019-07-10 |
US20190156831A1 (en) | 2019-05-23 |
EP3507718B1 (en) | 2020-08-05 |
US11929072B2 (en) | 2024-03-12 |
US20220172719A1 (en) | 2022-06-02 |
CN110023926A (zh) | 2019-07-16 |
US10650820B2 (en) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110023926B (zh) | 使用文本输入和用户状态信息生成要呈现的回复内容以响应文本输入 | |
JP6710740B2 (ja) | 提案される音声ベースのアクションクエリの提供 | |
CN109983430B (zh) | 确定包括在电子通信中的图形元素 | |
US11762865B2 (en) | Automatically augmenting message exchange threads based on tone of message | |
US9911418B2 (en) | Systems and methods for speech command processing | |
KR102364400B1 (ko) | 다수의 코퍼스들로부터 응답 정보 획득 | |
Deldjoo et al. | Towards multi-modal conversational information seeking | |
CN113767379B (zh) | 使用内容代理和/或存储的内容参数来渲染内容 | |
US20200110515A1 (en) | Dynamic list composition based on modality of multimodal client device | |
US11842206B2 (en) | Generating content endorsements using machine learning nominator(s) |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |