CN111279349B - 解析电子对话用于在替代界面中呈现 - Google Patents
解析电子对话用于在替代界面中呈现 Download PDFInfo
- Publication number
- CN111279349B CN111279349B CN201880035073.0A CN201880035073A CN111279349B CN 111279349 B CN111279349 B CN 111279349B CN 201880035073 A CN201880035073 A CN 201880035073A CN 111279349 B CN111279349 B CN 111279349B
- Authority
- CN
- China
- Prior art keywords
- dialog
- objects
- computer
- user
- presentation
- 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
- 238000000034 method Methods 0.000 claims abstract description 82
- 230000001755 vocal effect Effects 0.000 claims description 51
- 230000004044 response Effects 0.000 claims description 11
- 238000010801 machine learning Methods 0.000 description 55
- 230000015654 memory Effects 0.000 description 33
- 238000012545 processing Methods 0.000 description 27
- 238000004458 analytical method Methods 0.000 description 25
- 238000004891 communication Methods 0.000 description 18
- 238000012549 training Methods 0.000 description 16
- 230000008901 benefit Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 230000002452 interceptive effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 210000000887 face Anatomy 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000003889 eye drop Substances 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Classifications
-
- 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/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- 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/04817—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 using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
- G10L2015/228—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1831—Tracking arrangements for later retrieval, e.g. recording contents, participants activities or behavior, network status
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一些实施方式可以包括用于解析电子对话用于至少部分地在诸如语音界面或其他非显示界面的替代界面(例如,非显示界面)中呈现的计算机实施的方法和/或系统。
Description
相关申请的交叉引用
本申请要求于2017年11月6日所提交的标题为“解析电子对话用于在替代界面中呈现”的美国专利申请第15/805,049号的优先权,该美国专利申请的内容通过引用被完全结合在本文中。
背景技术
移动设备的用户可以参与电子对话。电子对话可以包括混合媒体(例如,文本消息、诸如表情符号的符号、缩写的文本速记、图像、视频、多媒体对象、诸如统一资源定位符的到其他资源的链接等中的一个或多个的组合)。用户可能有时处于不适合查看显示器上的电子对话的环境(setting)中(例如,当用户正在驾驶车辆时)。因此,经由诸如语音的替代界面的电子对话的呈现对于一些移动设备用户可能是有用的。
此处所提供的背景技术描述是为了总体呈现本公开的背景。该背景技术部分中所描述的目前署名的发明人的工作,以及在提交时可能没有另外限定为现有技术的描述的方面,对于本公开而言既不应清楚地也不应隐含地被认定为现有技术。
发明内容
一些实施方式通常涉及电子消息,并且具体地涉及用于解析电子对话用于至少部分地在诸如语音界面或其他非显示界面的替代界面(例如,非显示界面)中呈现的方法和系统。
一些实施方式可以包括计算机实施的方法。方法可以包括,在包括多个对象的电子对话中识别一个或多个对象,其中,多个对象具有不同的媒体类型,以及将一个或多个对象分组为一个或多个对象组,其中,每个对象组包含至少一个对象。方法还可以包括,基于一个或多个对象组,分析电子对话,以确定电子对话的对话结构,以及基于电子对话的对话结构,将对话框架应用于一个或多个对象组,以生成语音界面对话呈现。可以基于每个消息或电子对话的一部分内的信息来确定对话中的对象。例如,在多媒体消息对话中,对话中可以有对象的编码,该对象的编码包括指示每个消息或对话的一部分的内容的类型的标题信息。例如,文本部分可以具有在消息的标题或其他部分中所指示的第一类型,图像可以具有在标题或其他部分中所指示的第二类型等。因此,分析电子对话以及确定电子对话的对话结构可以例如包括,使用每个对象包括的标题信息来分析包括电子对话的对象的编码,标题信息指示对象类型,基于对象类型将一个或多个对象分组为一个或多个对象组。方法可以进一步包括,提供被配置用于由音频输出设备输出的语音界面对话呈现。
在一些实施方式中,识别一个或多个对象可以包括,识别一个或多个言语对象以及一个或多个非言语对象。对一个或多个对象进行分组可以包括,对顺序的言语对象进行分组,对顺序的非言语对象进行分组,以及保留电子对话的顺序信息。在一些实施方式中,每个组包括一个或多个相同(对象)类型的对象。在一些实施方式中,应用对话框架可以包括,自动地识别非言语对象的内容并且包括非言语对象的文本描述。
在一些实施方式中,应用对话框架可以包括,使用对话参考点用于在对象组之前或两个对象组之间插入预定义的对话框架部分,参考点在分析电子对话时被识别并且指示开始新的对象组。
应用对话框架可以包括,在语音界面对话呈现的开头插入介绍性对话框架部分。在一些实施方式中,介绍性对话框架部分可以包括电子对话中的一个或多个参与者的标识。
应用对话框架可以包括,在一对对象组之间插入一个或多个间隙性对话框架部分。一个或多个对象组可以包括至少两个对象组,并且一个或多个间隙性对话框架部分可以被插入在至少两个对象组中的一对或多对相应的对象组之间。
应用对话框架可以包括,在最后对象组与先前对象组之间插入结论性对话框架部分,其中,先前对象组紧接在最后对象组之前。识别电子对话内的一个或多个对象可以包括,分析电子对话中的对象的编码。
分析电子对话可以包括,基于至少一个查找表来提供识别的对象的文本表示。在一些实施方式中,查找表可以包括与对象对应的索引和与索引对应的文本表示,使得查找表的每个索引与至少一个文本表示相关联。因此,分析可以例如包括提供图形符号的表示作为言语元素(例如,作为文本描述),其中,将符号元素表示为言语元素可以包括,使用查找表来查找与符号(例如,表情符号)对应的数字代码,从该表检索该符号的言语描述或文本,以及将该言语描述提供为对话的替代界面呈现的元素。例如,笑脸表情符号可以被分析,并且被表示为文本“笑脸”等。因此,分析还可以例如包括扩展速记文本(例如,CUL8tr可以被扩展为“稍后见”),其中,对象“CUL8tr”或对应的索引与文本表示“稍后见”相关联。因此,应用对话框架可以包括以下中的一个或多个:扩展速记文本、将速记文本留在原地以及将文本替换为另一语言的文本。应用对话框架可以包括,将图形符号转换为图形符号的文本描述。
方法还可以包括,当确定操作情境指示语音界面呈现是适当的呈现形式时,向用户呈现音频查询,以及接收对音频查询的音频响应。方法可以进一步包括,基于音频响应,使得从音频输出设备输出语音界面对话呈现。电子对话可以包括文本部分和以下中的至少一个:图像、图形符号和统一资源定位符。
方法还可以包括确定设备的情境。方法可以进一步包括,当设备的情境是适合语音输出(即,适当的呈现形式)的情境时,使得经由音频输出设备输出语音界面对话呈现,以及当设备的情境是适合视觉显示的情境时,使得在显示设备上显示电子对话。确定设备的情境可以例如包括,使用设备的至少一个传感器,特别是音频输出设备或显示设备的至少一个传感器,经由该至少一个传感器接收关于设备的环境的测量数据。测量数据指示设备的情境,并且可以包括例如相机图像,该相机图像指示用户正在驾驶车辆,并且作为结果,由语音或另一非显示界面来呈现电子对话将是比视觉界面更好的呈现形式。
一些实施方式可以包括一种系统,系统包括一个或多个处理器,一个或多个处理器被耦接到其上已经存储有软件指令的非暂时性计算机可读介质,当软件指令由一个或多个处理器执行时,软件指令使得一个或多个处理器进行操作。操作可以包括,在包括多个对象的电子对话中识别一个或多个对象,其中,多个对象具有不同的媒体类型,以及分析电子对话,以确定电子对话的对话结构。操作还可以包括,基于电子对话的对话结构,将对话框架应用于一个或多个对象,以生成替代界面对话呈现。操作可以进一步包括,提供具有至少一部分被配置用于由非显示输出设备输出的替代界面对话呈现。
识别一个或多个对象可以包括,识别一个或多个言语对象以及一个或多个非言语对象。识别一个或多个对象可以包括,分析一个或多个对象的编码。
一些实施方式可以包括一种非暂时性计算机可读介质,非暂时性计算机可读介质上已经存储有软件指令,当软件指令由一个或多个处理器执行时,软件指令使得一个或多个处理器进行操作。操作可以包括,在包括多个对象的电子对话中识别一个或多个对象,其中,多个对象具有不同的媒体类型,以及分析电子对话,以确定电子对话的对话结构。操作还可以包括,基于电子对话的对话结构,将对话框架应用于一个或多个对象,以生成替代界面对话呈现。操作可以进一步包括,提供具有至少一部分被配置用于由非显示输出设备输出的替代界面对话呈现。识别一个或多个对象可以包括,识别一个或多个言语对象以及一个或多个非言语对象。
附图说明
图1是可以用于此处所描述的一个或多个实施方式的示例系统和网络环境的框图;
图2是示出根据一些实施方式的解析电子对话用于在语音界面中呈现的示例方法的流程图;
图3A和3B是根据一些实施方式的在解析之前和在解析之后的电子对话的图;
图4是根据一些实施方式的已经被对话框架所解析和增强的示例电子对话的图;以及
图5是可以用于此处所描述的一个或多个实施方式的示例设备的框图。
具体实施方式
此处所提供的系统和方法可以克服一些常规消息系统和方法的一个或多个缺陷。例如,电子消息系统许可用户参与与其他用户的电子对话(例如,使用诸如电话、平板电脑、可穿戴设备、计算机等的电子设备所进行并且由诸如聊天或消息平台、社交网络等的电子平台所调解(mediate)的对话)。可以经由聊天或消息应用进行电子对话,该聊天或消息应用提供用户界面,用于用户查看接收的消息、发送消息、向电子对话添加或移除参与者、保存对话等。消息可以包括言语消息和非言语消息,该言语消息例如是文本,该非言语消息例如是图像、视频、URL、交互式对象(例如,邀请、接收付款的通知)、计算机文件等。
随着诸如电话、可穿戴设备、头戴式设备、平板电脑、个人计算机等的移动设备的便捷可用性,用户能够在各种环境和情境中参与彼此的电子对话。用户可能正在参与电子对话的一些环境和情境可能不适用于对话的视觉显示。一些常规消息系统可能不提供用于对话的视觉显示用户界面以外的替代界面,或者可能提供效率不高的替代界面,其中,高效地呈现电子对话对于用户可能是有用的。
例如,一些常规消息系统可能提供用于呈现对话的替代界面,例如,对话的语音界面呈现等。然而,由于一个或多个限制,这样的呈现可能不是很有用。例如,对话的一些常规语音呈现可以包括非言语的对话元素的文字语音输出(例如,到其他资源的链接、图像、视频、表情符号、速记文本等)。这样的非言语项目的文字语音输出可能是对用户时间的低效使用,并且相对于处理器利用、电池或电源使用、存储器利用等也可能是低效的。例如,整个URL(例如,http://www.technologynews.com/consumer/smartphone/2017/oct/google-pixel-released-to-great-reviews/)而不是对应的网页的标题(例如,“Google Pixel发布好评”)的语音呈现(例如,使用扬声器设备)可能需要更大的电池电源和处理器利用,其中,后者的呈现对于用户也更高效。
当提供替代界面呈现时,传统消息系统可能无法识别非言语对话元素,或者可能无法高效地解释或格式化用于替代界面呈现的非言语元素。此外,常规消息系统可能无法提供用于在替代界面中呈现的对话框架,使得用户可以在替代界面呈现内收集情境并且遵循对话的流程。
此处所描述的示例系统和方法可以克服常规消息系统的一个或多个缺陷,以向用户提供处理非言语对话元素的电子对话的替代界面呈现,并且还提供对话框架。一些常规消息系统的技术问题可能是这样的系统不解释非言语对话元素,并且不提供用于对话的替代界面呈现的对话框架。此外,提供替代界面的常规系统可能生成以文字方式呈现非言语项目的替代界面呈现,这相对于设备的计算周期、存储器使用和/或电源使用可能是低效的。
公开的主题涉及生成电子对话的替代界面呈现(例如,多媒体聊天对话的语音呈现)的特定技术。替代界面呈现基于通过实例化计算机上的处理以解析对话以确定对话内的对象以及那些对象的类型(例如,言语或非言语),来解析对话。计算机上的处理可以确定一个或多个对话对象组,并且对于一个或多个组提供对话框架。
特定实施方式可以实现以下优点中的一个或多个。基于此处所描述的方法和系统来生成对话的替代界面呈现的优点是,替代界面呈现对于用户(例如,当显示界面不合适时,许可用户接收消息)并且对于提供呈现的设备可能是更高效的(例如,节省计算资源、电池或电源资源和/或存储器资源)。另一优点是,设备基于解释非言语对话元素并且更高效地呈现那些元素(例如,通过呈现非言语对象的文本言语概要),能够以较短的呈现持续时间来呈现对话,这可能导致较少的处理操作,并且因此减少整个系统中的延迟。以对话语言的惯例来呈现的另一优点包括消除学习界面呈现的新的格式的需要(例如,由于熟悉对话语言,用户可能不需要被训练为理解对话语音界面)。除了消除使用设备的培训时段之外,在对话语音界面中呈现还可以帮助减少用户的认知负担并且潜在地提高设备使用效率。
一些实施方式的另一优点是,可以在获得用户许可的情况下基于(例如,如由设备位置、设备移动、日历上的预定活动等中的一个或多个所指示的)用户的情境来决定在替代界面中呈现对话,这可以许可使用适合或适用于使用情境的界面来自动地呈现对话,这可以导致诸如更安全地使用设备(例如,当用户正在驾驶车辆时)、在常规用户界面不合适的情境中(例如,当用户参与例如烹饪、锻炼、清洁等的活动时)使用设备、更及时地使用设备(例如,用户能够以更及时的方式参与对话)以及改善交互(例如,随着用户改变使用情境或环境,用户能够参与对话)的优点。
图1示出了可以用在此处所描述的一些实施方式中的示例网络环境100的框图。在一些实施方式中,网络环境100包括一个或多个服务器系统,例如是图1的示例中的服务器系统102。例如,服务器系统102可以与网络130进行通信。服务器系统102可以包括服务器设备104和数据库106或其他存储设备。网络环境100还可以包括一个或多个客户端设备,例如是客户端设备120、122、124和126,该客户端设备120、122、124和126可以经由网络130彼此进行通信和/或与服务器系统102进行通信。网络130可以是任何类型的通信网络,包括因特网、局域网(LAN)、无线网络、交换机或集线器连接等中的一个或多个。在一些实施方式中,网络130可以包括例如使用对等无线协议的设备之间的对等通信132。
为了便于说明,图1为服务器系统102、服务器设备104和数据库106示出了一个框,并且为客户端设备120、122、124和126示出了四个框。表示服务器系统102、104和106的框可以表示多个系统、服务器设备和网络数据库,并且该框可以以与示出不同的配置来提供。例如,服务器系统102可以表示可以经由网络130与其他服务器系统进行通信的多个服务器系统。在一些示例中,与服务器设备104分离的数据库106和/或其他存储设备可以被提供在服务器系统框中,并且可以经由网络130与服务器设备104和其他服务器系统进行通信。而且,可以有任何数量的客户端设备。
每个客户端设备可以是任何类型的电子设备,例如是台式电脑、膝上型电脑、便携或移动设备、相机、手机、智能电话、平板电脑、电视、电视机顶盒或娱乐设备、可穿戴设备(例如,显示眼镜或护目镜、头戴式显示器(HMD)、腕表、耳机、臂章、珠宝等)、启用虚拟现实(VR)和/或增强现实(AR)的设备、个人数字助理(PDA)、媒体播放器、游戏设备等。一些客户端设备还可以具有类似于数据库106或其他存储的本地数据库。在其他实施方式中,网络环境100可以不具有示出的所有组件,和/或可以具有其他元件,包括不是或除了此处所描述的那些元件之外的其他类型的元件。
在各种实施方式中,终端用户U1、U2、U3和U4可以包括对话中的一个或多个参与者,并且可以使用各自的客户端设备120、122、124和126与服务器系统102进行通信和/或彼此进行通信。在一些示例中,用户U1、U2、U3和U4可以经由在各自的客户端设备和/或服务器系统102上运行的应用、和/或经由网络服务彼此进行交互,该网络服务例如是在服务器系统102上所实施的图像分享服务、消息服务、社交网络服务或其他类型的网络服务。例如,各自的客户端设备120、122、124和126可以向一个或多个服务器系统(例如,服务器系统102)传送数据,并且从一个或多个服务器系统(例如,服务器系统102)传送数据。
在一些实施方式中,服务器系统102可以向客户端设备提供适当的数据,使得每个客户端设备可以接收被上传到服务器系统102和/或网络服务的通信内容或分享内容。在一些示例中,用户可以经由音频或视频会议,音频、视频或文本聊天,或者其他通信模式或应用进行交互。在一些示例中,网络服务可以包括允许用户进行各种通信,形成链接和关联,上传和发布诸如图像、图像合成(例如,包括一个或多个图像、图像拼贴、视频等的相册)、音频数据和其他类型的内容的分享内容,接收各种形式的数据,和/或进行社交有关功能的任何系统。例如,网络服务可以允许用户向特定或多个其他用户发送消息,以与网络服务内的其他用户相关联的形式形成社交链接,将用户列表、朋友列表或其他用户组中的其他用户分组,发布或发送包括文本、图像、图像合成、音频序列或录音的内容或其他类型的内容以用于由网络服务的指定用户组来访问,参与具有服务的其他用户的现场视频、音频和/或文本视频会议或聊天等。在一些实施方式中,“用户”可以包括一个或多个程序或虚拟实体,以及与系统或网络相结合的人。
用户界面可以使得能够在客户端设备120、122、124和126上(或者替代地在服务器系统102上)显示图像、图像合成、数据和其他内容以及通信、隐私设置、通知和其他数据。可以使用客户端设备上的软件、服务器设备上的软件、和/或在服务器设备104上执行的客户端软件和服务器软件的组合,例如是与服务器系统102进行通信的应用软件或客户端软件,来显示这样的界面。可以由客户端设备或服务器设备的显示设备来显示用户界面,该显示设备例如是显示屏、投影仪等。在一些实施方式中,在服务器系统上运行的应用程序可以与客户端设备进行通信,以接收在客户端设备的用户输入,并且在客户端设备输出诸如视觉数据、音频数据等的数据。
此处所描述的特征的各种实施方式可以使用任何类型的系统和/或服务。例如,社交网络服务、图像收集和分享服务、辅助消息服务或其他联网服务(例如,被连接到因特网)可以包括由客户端和服务器设备所访问的一个或多个描述的特征。任何类型的电子设备都可以使用此处所描述的特征。一些实施方式可以在与计算机网络断开连接或间歇连接的客户端或服务器设备上提供此处所描述的一个或多个特征。在一些示例中,包括或被连接到显示设备的客户端设备可以检查和显示在客户端设备本地(例如,不经由通信网络来连接)的存储设备上所存储的图像,并且可以提供对于用户可视的如此处所描述的特征和结果。
图2是示出根据一些实施方式的示例方法200(例如,计算机实施的方法)的流程图,该方法200解析并且对话地构造电子对话,用于在诸如语音界面的替代界面中呈现。
在一些实施方式中,例如,方法200可以被实施在如图1中所示的服务器系统102上。在其他实施方式中,方法200中的一些或全部可以被实施在如图1中所示的一个或多个客户端设备120、122、124或126上,被实施在一个或多个服务器设备上,和/或被实施在服务器设备和客户端设备上。在描述的示例中,实施的系统包括一个或多个数字硬件处理器或处理电路(“处理器”),以及一个或多个存储设备(例如,数据库106或其他存储)。在一些实施方式中,一个或多个服务器和/或客户端的不同组件可以进行方法200的不同框或其他部分。
一些实施方式可以基于(在用户许可的情况下获得的)用户输入和/或设备情境来启动方法200。用户可以例如已经从显示的用户界面选择了方法200的启动。在一些实施方式中,方法200或其部分可以在由用户经由用户输入的指导的情况下进行。例如,一些实施方式可以包括,当确定操作情境指示语音界面呈现是适当的呈现形式时,向用户呈现音频查询;以及接收对音频查询的音频响应。实施方式可以包括,基于音频响应,使得从音频输出设备输出语音界面对话呈现。在没有来自用户的明确许可的情况下,系统将不使用、处理或存储诸如设备情境、位置等的用户信息。
在一些实施方式中,当设备的情境被确定为由语音(或其他非显示)界面来呈现电子对话将是适当的呈现形式时(例如,当设备检测到情境是用户正在驾驶汽车、或者情境是用户由于物理限制或诸如环境不适用于查看显示的其他限制而已经请求了非视觉界面时),方法200可以被自动地调用(或在用户许可的情况下被自动地调用)。另一情境是,当用户的设备的电池电量低时,或者当用户远离电源时,关闭显示屏并且呈现语音用户界面对于保护电池容量可能是有利的。当由用户对于应用或系统给予明确的许可以获得情境信息时,可以确定情境。
在一些实施方式中,方法200或方法的部分可以由设备自动地启动。例如,方法(或其部分)可以被周期性地进行,或者基于一个或多个特定事件或条件的发生而被进行。例如,这样的事件或条件可以包括已经由设备(例如,用户设备)接收、已经被上传到设备(例如,用户设备)、或者可以由设备(例如,用户设备)以其他方式访问的消息,自方法200的最后进行以来已经过去的预定时间段,和/或可以在实施方法200的设备的设置中指定的一个或多个其他事件或条件的发生。在一些实施方式中,这样的条件可以由用户先前在存储的用户的自定义偏好中指定(在用户同意的情况下,可以由设备或方法访问该存储的用户的自定义偏好)。在一些示例中,设备(服务器或客户端)可以通过访问接收电子对话消息的一个或多个应用(如果接收到用户同意)来进行方法200。在另一示例中,相机、手机、平板电脑、可穿戴设备或其他客户端设备可以接收电子对话消息,并且可以进行方法200。另外地或替代地,客户端设备可以通过网络向服务器发送一个或多个电子对话消息,并且服务器可以使用方法200来处理消息。
在框202中,识别电子对话内的一个或多个对象。在系统访问用户的电子对话之前,获得用户许可。电子对话可以包括混合媒体电子对话,诸如是具有各种不同类型的消息的对话。消息类型可以包括文本消息、音频消息、图像、视频、符号(例如,表情符号)、速记文本、其他语言的文本、交互式对象、多媒体对象、货币、虚拟礼物、交互式虚拟对象、游戏对象等。可以基于每个消息或对话的一部分内的信息来确定对话中的对象。例如,在多媒体消息对话中,对话中可以有对象的编码,该对象的编码包括指示每个消息或对话的一部分的内容的类型的标题信息。例如,文本部分可以具有在消息的标题或其他部分中所指示的第一类型,图像可以具有在标题或其他部分中所指示的第二类型等。处理继续到204。
在204,可以将202中所识别的对象可选地分组为一个或多个对象组,其中,每个组包括相同对象类型的一个或多个对象(例如,按诸如图像、URL等的类型,将言语对象分组在一起,将非言语对象分组在一起)。例如,如果对话包括两个文本消息,随后是三个图像,随后是文本消息和表情符号,则分组可以包括包含两个文本消息的第一组、三个图像的第二组、文本消息的第三组以及具有表情符号的第四组。另一示例可以包括文本,随后是视频和URL,随后是更多文本,随后是井字棋盘游戏对象。分组对象可以是基于言语和非言语对象,或者是基于独立的组,例如是言语、视频、图像、交互式对象等,并且将使用合适的对话框架。可以形成和组织组,以便保存和捕捉与对话中的消息的序列对应的信息。序列信息可以用于提供对话框架和呈现对话。
在另一示例中,图3A的电子对话300可以被解析(例如,在202)并且被确定为包含言语对象(302)、两个非言语对象(304、306)、言语对象2(308)和非言语对象(310)。可以根据框204对电子对话300进行分组以产生图3B的分组的对话301,该分组的对话301包括第一言语对象组312、第一非言语组314、第二言语组316和第二非言语组318。处理继续到206。
在206,分析对话以确定对话的对话结构。在分析电子对话之前获得用户许可(例如,分析的许可可以结合访问电子对话的许可被提供,或者可以被单独地提供)。分析对话可以包括分析来自204的一个或多个组(如果使用了分组)和/或分析202中所识别的对象。该分析确定对话的结构,并且识别可以用于提供对话框架的对话参考点。对话参考点可以包括成对的对象组之间的对话中的点。
对话的分析还可以可选地包括非言语对象或对象组的分析。分析可以包括识别非言语对象并且提供那些对象的言语表示,该言语表示可以适用于在诸如语音的替代界面中呈现。例如,一组三个图像对象可以被分析,被确定为图像类型的三个对象(例如,经由标题信息的分析),并且被表示为“三张图片”等的言语对话元素。在另一示例中,系统可以在语音界面中呈现邀请,例如,“发送者A邀请您明天晚上10点在他家参与聚会”。在另一示例中,系统可以在语音界面中呈现付款或礼物的收据,例如,“发送者A向您发送10美元并且说‘这是为了昨天的电影票’”。这样的分析还可以被应用于动画图像和视频。
分析还可以包括使用系统或服务来识别图像、动画图像或视频的内容,并且提供非言语对象的内容的指示。一旦接收到用户的明确许可,就可以进行对诸如图像、视频等的非言语对象的内容的访问以及进行图像内容分析等的处理。然后,内容指示可以被包括在非言语对象的言语表示中。例如,如果消息包含文本对象(“检查这些地方”)、三个图像对象(例如,三张海滩胜地的图片)和最终文本对象(例如,“让我知道您喜欢哪个”),则三个图像对象的分析可以包括向系统发送图像用于图像内容分析,并且在言语表示中利用内容分析的结果。例如,如果图像内容分析返回三个图像分别是海滩胜地,则分析可以生成诸如“三张海滩胜地的图片”的言语表示,作为非言语图像对象的言语表示。除了向外部系统发送非言语对象用于分析之外或作为其替代,非言语对象元数据可以用于确定非言语对象的内容或特征,并且可以进行内容的局部分析。
分析可以包括提供图形符号的表示作为言语元素(例如,作为文本描述)。例如,笑脸表情符号可以被分析,并且被表示为文本“笑脸”等。将符号元素表示为言语元素的程序分析可以包括,使用查找表来查找与符号(例如,表情符号)对应的数字代码,从该表检索该符号的言语描述或文本,以及将该言语描述提供为对话的替代界面呈现的元素。
分析还可以包括扩展速记文本(例如,CUL8tr可以被扩展为“稍后见”)。速记文本扩展可以经由查表或其他合适的方法来完成。分析还可以包括将速记文本(或其他言语或非言语对象)翻译为另一语言。例如,如果使用来自英语语言的速记代码,但是用户是讲西班牙语的,则系统可以将英语速记代码扩展为西班牙语词语用于言语表示。
在另一示例中,可以分析图3B的非言语组314以生成图4的言语表示404。而且,可以分析图3B的第二非言语组318以生成图4的言语表示408。处理继续到208。
在208,对话框架被应用于分析的对话。例如,对话框架可以被应用于202的一个或多个对象、204的对象组和/或在206所生成的言语表示。对话框架可以包括介绍性对话框架部分,该部分可以可选地包括关于消息的发送者的信息。例如,介绍性对话框架可以包括“它说”,或者介绍性对话框架可以参考发送者并且包括“玛丽说”等。介绍性对话框架部分可以被插入在语音界面对话呈现(或者诸如盲文的其他替代界面对话呈现,或者语音和受限显示的组合等)的开头。
对话框架可以可选地包括一个或多个间隙性框架部分,诸如是“然后它说”等。间隙性框架部分的存在和数量可以取决于被解析和构造用于在替代界面中呈现的对话或对话的一部分中的对象或对象组的数量。间隙性对话框架部分可以被插入在一对或多对相应的对象组之间。
对话框架可以包括可选的结论性对话框架部分,诸如是“然后它说”或“最后它说”等,该部分被插入到最后对象组之前(或者在最后对象组与在最后对象组旁边的先前对象组之间)。介绍性、间隙性和/或结论性对话框架部分可以与言语对象或非言语对象的言语表示组合。例如,第二非言语组318(表情符号)可以与结论性对话框架元素组合以产生对话元素,该对话元素包括表情符号的言语表示和结论性对话框架部分(例如,言语表示408)。一些实施方式可以提供更长的概要(例如,多个消息概要、消息计数概要、多个对话的概要等),诸如是“有50条未读消息;杰西卡和肖恩一直在谈论泰国的度假,并且已经交换了一些照片,并且找到了12月第一周的票”。
例如,图3B的分组的对话301可以具有被应用为生成如图4中所示的语音界面对话呈现400的对话框架。对话框架可以包括介绍性对话框架部分402、间隙性对话框架部分406和言语表示408(包括结论性对话框架部分)。处理继续到210。
在210,提供替代界面对话呈现作为输出。例如,可以提供语音界面对话呈现400作为输出,用于通过诸如扬声器、耳机等的音频输出设备来播放。
在图2中,各个框(例如,框202-210)被示为被顺序地进行。然而,将理解的是,可以方便地将这些框重新布置以适合特定实施例,并且在一些实施例中可以同时地进行这些框或其部分。还将理解的是,在一些示例中,各个框可以被消除、被划分为另外的框和/或与其他框组合。然后,可以使用该表基于表中的值来确定阈值。
图3A和3B示出了示例电子对话300和示例分组的电子对话301的图。电子对话300包括第一言语对象302(例如,“这些是我可以找到的最佳选择”,或者在另一示例中可以包括“用户A说这些是我可以找到的最佳选择”)。电子对话300包括两个非言语对象304和306(例如,URL)。电子对话300继续具有第二言语对象308(例如,“你怎么想?”),随后是非言语对象310(例如,微笑的表情符号)。
分组的电子对话301包括第一言语对象组312、第一非言语对象组314、第二言语对象组316和第二非言语对象组318。
图4示出了语音界面对话呈现400的图,该语音界面对话呈现400包括介绍性对话框架402、第一言语对象组312、第一非言语对象组404的对话表示、间隙性对话框架406、第二言语对象组316和第二非言语对象组408的对话框架(包括结论性对话框架)。
图5是可以用于实施此处所描述的一个或多个特征的示例设备500的框图。在一个示例中,设备500可以用于实施计算机设备,并且进行此处所描述的适当的方法实施方式,该计算机设备例如是服务器设备(例如,图1的服务器设备104)。设备500可以是任何合适的计算机系统、服务器或者其他电子或硬件设备。例如,设备500可以是大型计算机、台式电脑、工作站、便携式电脑或电子设备(便携式设备、移动设备、手机、智能电话、平板电脑、电视、电视机顶盒、个人数字助理(PDA)、媒体播放器、游戏设备、可穿戴设备等)。在一些实施方式中,设备500包括处理器502、存储器504和I/O接口506。
处理器502可以是一个或多个处理器和/或处理电路,以执行程序代码并且控制设备500的基本操作。“处理器”包括处理数据、信号或其他信息的任何合适的硬件和/或软件系统、机构或组件。处理器可以包括具有通用中央处理单元(CPU)、多个处理单元、用于实现功能的专用电路的系统,或其他系统。处理不需要被限制于特定地理位置,或具有时间限制。例如,处理器可以“实时”、“离线”、以“批处理模式”等进行其功能。处理的部分可以在不同的时间并且在不同的位置、通过不同的(或相同的)处理系统来进行。计算机可以是与存储器进行通信的任何处理器。
存储器504通常被设置在设备500中,用于由处理器502访问,并且可以是任何合适的处理器可读存储介质,例如是随机存取存储器(RAM)、只读存储器(ROM)、电可擦除只读存储器(EEPROM)、闪存等,适用于存储由处理器执行的指令,并且与处理器502分开设置和/或与处理器502集成。存储器504可以存储由处理器502在服务器设备500上操作的软件,包括操作系统508、一个或多个应用510和应用数据520,该一个或多个应用510例如是替代界面呈现应用512、其他应用514。在一些实施方式中,应用510可以包括使得处理器502能够进行此处所描述的功能的指令,该功能例如是图2的方法中的一些或全部。
例如,应用510可以包括语音界面呈现应用412,如此处所描述的,该语音界面呈现应用412可以提供电子对话解析和对话框架以及其他功能,例如,提供被配置用于由语音界面或其他非显示界面或非显示输出设备输出的对话。在一些实施方式中,语音界面呈现应用可以包括,接收一个或多个电子对话消息,解析消息并且将对话框架添加到解析的消息,以便提供语音界面呈现用于在设备500的音频设备上输出。其他应用514(或引擎)还可以或可以替代地被包括在应用510中,例如,电子邮件应用、SMS和其他电话通信应用、网页浏览器应用、媒体显示应用、通信应用、网页托管引擎或应用、社交网络引擎或应用等。存储器504中的任何软件可以替代地被存储在任何其他合适的存储位置或计算机可读介质上。另外,存储器504(和/或其他连接的存储设备)可以存储应用数据,诸如是电子对话消息、电子对话消息组、对话框架元素、用户数据和偏好以及此处所描述的特征中所使用的其他指令和数据。存储器504和任何其他类型的存储(磁盘、光盘、磁带或其他有形介质)可以被认为是“存储”或“存储设备”。
例如,应用数据520可以包括组522和框架524。例如,组522可以包括分组的电子对话消息或部分(例如,文本组、图像组、URL组等)。对话框架524可以包括多个对话框架元素,该对话框架元素可以用于构造电子对话组,用于由语音或其他界面来呈现。例如,对话框架元素可以被存储在框架部分的列表或表中。例如,单个对话框架元素可以包括“图片”、“<X>的图片”、“视频”、“<X>的视频”、“网页链接”、“到<X>的链接”等。类似类型的多个分组的对话框架部分可以包括“一些图片”、“<X>的一些图片”等。在一些实施方式中,机器学习可以用于确定图像描述,诸如是上面由X所表示的那些图像描述(例如,用户将图像描述为X,然后自动化助理将类似的图像描述为X)。
I/O接口506可以提供功能以使得能够将设备500与其他系统和设备进行接合。例如,网络通信设备、存储设备(例如,存储器和/或数据库106)和输入/输出设备可以经由I/O接口506进行通信。在一些实施方式中,I/O接口可以连接以接合设备,该设备包括输入设备(键盘、指示设备、触摸屏、麦克风、相机、扫描仪等)和/或输出设备(显示设备、扬声器设备、打印机、电机、触觉输出设备等)。如此处所描述的,音频输入/输出设备530是可以用于接收音频输入并且提供音频输出(例如,语音界面输出)的输入和输出设备的示例。音频输入/输出设备530可以经由本地连接(例如,有线总线、无线接口)和/或经由网络连接而被连接到设备500,并且可以是任何合适的设备,下面描述了该音频输入/输出设备530的一些示例。
为了便于说明,图5为处理器502、存储器504、I/O接口506和软件块508和510中的每一个示出了一个框。这些框可以表示一个或多个处理器或处理电路、操作系统、存储器、I/O接口、应用和/或软件模块。在其他实施方式中,设备500可以不具有示出的所有组件,和/或可以具有其他元件,包括不是或除了此处所示的那些元件之外的其他类型的元件。尽管服务器系统102被描述为进行如此处的一些实施方式中所描述的操作,但是服务器系统102或类似系统的任何合适的组件或组件的组合,或者与这样的系统相关联的任何合适的一个或多个处理器,可以进行描述的操作。
客户端设备还可以实施此处所描述的特征,和/或与此处所描述的特征一起被使用,该客户端设备例如是图1中所示的客户端设备120-126。示例客户端设备可以是计算机设备,该计算机设备包括与设备500类似的一些组件,例如是处理器502、存储器504和I/O接口506。例如图像管理软件、客户端组通信应用软件等的适用于客户端设备的操作系统、软件和应用可以被提供在存储器中并且由处理器使用。客户端设备的I/O接口可以被连接到网络通信设备,以及被连接到输入和输出设备,该输入和输出设备例如是用于捕捉声音的麦克风、用于捕捉图像或视频的相机、用于输出声音的音频扬声器设备、用于输出图像或视频的显示设备或者其他输出设备。例如,音频输入/输出设备530可以被连接到设备500(或被包括在设备500中)以接收音频输入(例如,语音命令)并且提供音频输出(例如,语音界面),并且可以包括诸如麦克风、扬声器、耳机等的任何合适的设备。一些实施方式可以提供音频输出设备,例如是说出文本的语音输出或语音合成。
此处所描述的一个或多个方法(例如,方法200)可以由计算机程序指令或代码来实施,该计算机程序指令或代码可以在计算机上被执行。例如,代码可以由一个或多个数字处理器(例如,微处理器或其他处理电路)来实施,并且可以被存储在包括非暂时性计算机可读介质(例如,存储介质)的计算机程序产品上,该非暂时性计算机可读介质例如是磁、光、电磁或半导体存储介质,包括半导体或固态存储器、磁带、可移动计算机软盘、随机存取存储器(RAM)、只读存储器(ROM)、闪存、刚性磁盘、光盘、固态存储器驱动器等。程序指令还可以被包含在电子信号中并且被提供为电子信号,例如以从服务器(例如,分布式系统和/或云计算系统)所传递的软件即服务(SaaS)的形式。替代地,一个或多个方法可以以硬件(逻辑门等)或者以硬件和软件的组合来实施。示例硬件可以是可编程处理器(例如,现场可编程门阵列(FPGA)、复杂可编程逻辑器件)、通用处理器、图形处理器、专用集成电路(ASIC)等。一个或多个方法可以作为在系统上运行的应用的部分或组件来进行,或者作为结合其他应用和操作系统运行的应用或软件来进行。
此处所描述的一个或多个方法可以被运行在可以在任何类型的计算设备上运行的独立程序中、在网页浏览器上运行的程序中、在移动计算设备(例如,手机、智能电话、平板电脑、可穿戴式设备(腕表、臂章、珠宝、头饰、护目镜、眼镜等)、膝上型电脑等)上运行的移动应用(“app”)中。在一个示例中,可以使用客户端/服务器架构,例如,移动计算设备(作为客户端设备)向服务器设备发送用户输入数据,并且从服务器接收用于输出(例如,用于显示)的最终输出数据。在另一示例中,可以在移动计算设备上的移动app(和/或其他app)内进行所有计算。在另一示例中,计算可以被拆分在移动计算设备与一个或多个服务器设备之间。
在一些实施方式中,替代界面可以包括音频以外的其他非视觉方面,例如是用于视障用户的盲文、以及触觉(例如,“爱”标签可以对应于来自触觉输出设备的特定节拍或模式)。在一些实施方式中,可以使用诸如音频和视觉显示的输出设备的组合来输出对话。例如,一些设备(例如,手表、其他可穿戴设备)可能适合于显示某些媒体(例如,文本、照片),但是可能不适用于其他媒体(例如,视频、全景照片、3D媒体等)。一些设备可能不能够播放某些媒体(例如,不具有音频输出能力的设备、具有2D显示的设备输出3D内容、黑白屏显示彩色等)。在上面的情境中,电子对话的呈现可以包括言语和非言语对象(例如,文本和图像)以及文本或音频格式的对话框架(例如,视频、3D内容等的描述)。例如,用于家庭或其他环境的助理产品可能仅具有音频输出,或者可能具有音频和受限显示。在这样的示例中,实施方式可以使得电子对话的呈现适合于包括,以适用于可用输出设备的格式来输出对话对象,以及提供不具有合适的可用输出设备的对象的对话框架。
非言语对象可以包括静态图像(例如,没有运动的单个帧)、动画图像、视频(例如,具有多个帧)等。例如,静态图像可以描绘具有固定表情的一个或多个面部,而动画图像可以描绘具有在图像内变化的表情的一个或多个面部(例如,捕捉具有在闭眼与睁眼之间转换的眼睛的面部、具有从不笑移动到微笑位置的嘴巴的面部等的实时照片)。视频可以包括描绘一个或多个人的多个帧。
分析非言语对象可以包括,检测动作并且对视频(例如,整个视频或视频帧的一部分可以用于分析视频)进行面部识别以产生言语描述(例如,“骑马的艾伦”)、在没有面部识别的情况下检测动作(例如,“走路的两个人”)、检测名人和/或电影剪辑(例如,“来自碟中谍的摘录”)以及检测其他类型的视频或动画中的对象和运动(例如,“显示猫和老鼠的动画”)。
其他非言语对象和相关联的文本表示的示例包括360度视图(例如,泰姬陵的沉浸式视图)、动态图像/动画GIF(“您的朋友鲍勃正在做转眼珠的手势”)、音频(例如,音频笔录的概要、诸如音乐或歌曲等的音频的识别)、游戏和交互式多媒体对象(例如,“您可以使用手势来扔橄榄球”等)和表情包(例如,“大笑的蝙蝠侠角色小丑”)。
非言语对象可以包括可以被分析以生成非言语对象的言语表示或概要的元数据。非言语对象的言语描述可以由调解电子对话的服务器设备(例如,104)来生成。在一些实施方式中,用于电子对话的客户端设备可以生成非言语对象的言语或文本描述。此处所描述的技术可以与非加密对话和加密对话一起使用。在端到端的加密对话中,仅可以在客户端设备上进行方法200。在一些实施方式中,可以在分析非言语对象之前对非言语对象进行处理(例如,压缩、转换为低分辨率等)。在没有用户同意的情况下,不向服务器提供关于对话的信息。
在一些实施方式中,可以全部或部分地由辅助软件应用或机器人来进行替代界面中的解析、对话框架和呈现。机器人可以包括在一个或多个计算机上所实施的自动化服务,用户通常通过文本或语音,例如,经由在诸如客户端设备120的客户端设备上和/或在诸如服务器设备104的服务器设备上操作的消息应用,来与该自动化服务进行交互。机器人可以由机器人提供者来实施,使得机器人可以与各种消息应用或其他应用的用户进行交互。在一些实施方式中,消息应用的提供者还可以提供一个或多个机器人。在一些实施方式中,由消息应用的提供者所提供的机器人可以被配置为使得机器人可以被包括在例如由其他提供者所提供的其他消息应用中。机器人可以提供优于其他模式的多个优点。用户可以经由文本和/或语音与机器人进行交互,与使用网站、软件应用、电话例如以交互式语音响应(IVR)服务或与服务进行交互的其他方式可能需要的学习相比,这可能需要最少的学习或无需学习。将机器人合并到消息服务或应用内还可以许可用户与其他用户协作来完成消息服务内的各种任务,诸如是旅行计划、购物、安排事件、获得信息等,并且消除完成任务的繁琐的操作,诸如是在各种应用(例如,出租车预订应用、餐馆预订应用、日历应用等)或网站之间的切换。
如此处所描述的用于解析电子对话用于在替代界面中呈现的机器人可以被实施为计算机程序或应用(例如,软件应用),该计算机程序或应用被配置为与和一个或多个消息应用相连接的一个或多个用户(例如,用户U1-U4中的任何用户)进行交互。
实施可以与消息应用的用户进行通信的机器人可以提供许多优点。如上面所讨论的,机器人可以解析电子对话并且在适用于正在使用客户端设备的情境的替代界面中呈现那些对话(例如,当用户正在驾驶车辆时在语音界面中呈现对话)。
在某些实施例中,机器人可以使用对话界面来使用自然语言(例如,对话框架)与用户进行对话交互。在某些实施例中,机器人可以使用基于模板的格式来创建与用户进行交互的句子,例如,响应于对餐馆地址的请求,使用诸如“餐馆R的位置是L”的模板。在某些情况下,可以使得用户能够选择机器人交互格式,例如,机器人是否使用自然语言与用户进行交互、机器人是否使用基于模板的交互等。
在机器人使用自然语言进行对话交互的情况下,机器人的交互的内容和/或风格可以基于以下中的一个或多个来动态地变化:使用自然语言处理所确定的对话的内容、对话中的用户的标识、以及一个或多个对话情境(例如,关于用户的交互的历史信息、基于社交图的对话中的用户之间的连接)、外部条件(例如,天气、交通)、用户的日程安排、与用户相关联的有关情境等。在这些情况下,机器人的交互的内容和风格仅基于参与对话的用户已经提供同意的这样的因素而变化。
作为一个示例,如果确定对话的用户正在使用正式语言(例如,没有或最少的俚语或表情符号),则机器人也可以使用正式语言在该对话内进行交互,反之亦然。
在某些实施例中,例如,通过键入机器人名称或机器人句柄(例如,出租车、
@taxibot、@movies等)、通过使用语音命令(例如,“调用bankbot”等)、通过激活用户界面元素(例如,标记有机器人名称或句柄的按钮或其他元素)等,可以使得参与对话的用户能够调用特定机器人或进行特定任务的机器人。一旦调用机器人,用户就可以请求机器人解析并且在语音界面中向用户朗读接收的消息。
在某些实施例中,机器人可以在没有被特别调用的情况下在消息对话内自动地建议信息或动作。也就是说,用户可以不需要特别调用机器人。在这些实施例中,机器人可以依赖于在持续的时间基础上或在离散的时间点对用户的情境的分析和理解(在获得用户许可的情况下)。情境的分析可以用于理解特定用户需求并且识别何时应该由机器人来建议帮助。作为一个示例,机器人可以确定用户设备正在以表明用户在车辆中的方式移动,并且机器人可以建议传入消息被解析并且在语音界面或其他替代界面中被呈现。
在机器人可以在没有被特别调用的情况下在消息对话内自动地建议信息或动作的实施例中,例如,如果参与消息对话的一个或多个用户不提供对机器人进行用户的对话的分析的同意,则禁用这样的功能。此外,还可以基于用户输入来临时地禁用这样的功能。例如,当用户指示对话是私密的或敏感的时,暂停对话情境的分析,直到用户提供输入用于激活机器人。此外,例如使用用户界面元素,可以向对话中的参与者提供分析功能被禁用的指示。
在各种实施方式中,可以以各种配置来实施机器人。例如,可以在客户端设备(例如,120-126)上实施机器人。在该示例中,机器人可以是客户端设备本地的软件应用中的模块。机器人可以在客户端设备上本地地实施,使得用户可以参与与和客户端设备上的消息应用相连接的机器人的对话。
在另一示例中,机器人可以被实施在客户端设备和服务器设备上。在该示例中,机器人可以例如被实施为客户端-服务器计算机程序,其中,由客户端机器人和服务器机器人中的每一个提供机器人功能的部分。在一些实施方式中,机器人可以被实施为分布式应用,例如,其中,模块被分布在多个客户端设备和服务器(例如,客户端设备、服务器设备等)中。在一些实施方式中,机器人可以被实施为在服务器设备上所实施的服务器应用。
诸如仅客户端、仅服务器、客户端-服务器、分布式等的不同的实施方式可以提供不同的优点。例如,仅客户端的实施方式许可在本地提供机器人功能,例如,没有网络访问,这在某些情境中可能是有利的,例如,当用户在网络覆盖区域外部或者在具有低的或受限的网络带宽的任何区域中时。诸如仅服务器、客户端-服务器或分布式配置的包括一个或多个服务器的实施方式可以许可某些功能,例如,可能不能在客户端设备上本地地提供的票预订等。
机器人可能与消息应用不同,并且在一些实施方式中,一个或多个机器人可以被实施为消息应用的一部分。在机器人被实施为消息应用的一部分的实施方式中,在实施机器人之前可以获得用户许可。在一些实施方式中,与消息应用的提供者和用户不同的第三方可以提供可以与用户进行通信的机器人。
可以使用机器学习技术来进行非言语对象的对象识别和解析,以及识别和渲染对话框架。例如,可以使用LSTM模型来解析和总结言语对象,可以使用对于对象识别所训练的机器学习模型来解析图像/视频内容;可以使用对于交互式对象所特别训练的模型来识别那些类型的对象等。例如,电子通信解析应用可以实施机器学习,例如,深度学习模型,该机器学习可以增强用户与消息应用的交互。在不使用用户信息的情况下,可以使用合成数据来训练机器学习模型,该合成数据例如是由计算机自动地生成的数据。在一些实施方式中,对于已经明确地从用户获得了利用用户数据进行训练的许可,可以例如基于样本数据来训练机器学习模型。例如,样本数据可以包括接收的消息。基于样本数据,机器学习模型可以预测解析的方式并且向接收的消息提供对话框架,然后该对话框架可以经由替代界面作为呈现被提供。
在一些实施方式中,机器学习可以被实施在服务器设备上、被实施在客户端设备上或者被实施在两者上。在一些实施方式中,可以在客户端设备上实施简单的机器学习模型(例如,以许可在客户端设备的存储器、存储和处理约束内的模型的操作),并且可以在服务器设备上实施复杂的机器学习模型。如果用户不提供使用机器学习技术的同意,则不实施这样的技术。在一些实施方式中,用户可以选择性地同意仅在客户端设备上实施机器学习。在这些实施方式中,机器学习可以被实施在客户端设备上,使得对机器学习模型的更新或由机器学习模型所使用的用户信息在本地被存储或使用,并且不与诸如服务器设备或其他客户端设备的其他设备分享。
在一些实施方式中,机器学习应用可以包括使得一个或多个处理器能够进行此处所描述的功能的指令,该功能例如是图2的方法中的一些或全部。
在各种实施方式中,进行此处所描述的功能的机器学习应用可以利用贝叶斯分类器、支持向量机、神经网络或其他学习技术。在一些实施方式中,机器学习应用可以包括训练后的模型、推理引擎和数据。在一些实施方式中,数据可以包括训练数据,例如,用于生成训练后的模型的数据。例如,训练数据可以包括任何类型的数据,诸如是文本、图像、音频、视频等。训练数据可以从任何来源获得,例如,专门被标记用于训练的数据存储库、提供许可用作机器学习的训练数据的数据等。在一个或多个用户许可使用他们各自的用户数据来训练机器学习模型的实施方式中,训练数据可以包括这样的用户数据,该机器学习模型例如是训练后的模型。在用户许可使用他们各自的用户数据的实施方式中,数据可以包括许可的数据,诸如是图像(例如,照片或其他用户生成的图像)、通信(例如,电子邮件;诸如文本消息、语音、视频等的聊天数据)和文档(例如,电子表格、文本文档、演示文稿等)。
在一些实施方式中,训练数据可以包括为了训练的目的所生成的合成数据,诸如不是基于正在训练的情境中的用户输入或活动的数据,例如,从模拟对话、计算机生成的图像等所生成的数据。在一些实施方式中,机器学习应用排除数据。例如,在这些实施方式中,训练后的模型可以例如在不同的设备上被生成,并且作为机器学习应用的一部分被提供。在各种实施方式中,训练后的模型可以被提供为包括模型结构或形式以及相关联的权重的数据文件。推理引擎可以读取训练后的模型的数据文件,并且基于训练后的模型中所指定的模型结构或形式来实施具有节点连接、层和权重的神经网络。
机器学习应用还可以包括训练后的模型。在一些实施方式中,训练后的模型可以包括一个或多个模型形式或结构。例如,模型形式或结构可以包括任何类型的神经网络,诸如是线性网络、实施多个层(例如,输入层与输出层之间的“隐藏层”,其中,每个层是线性网络)的深度神经网络、卷积神经网络(例如,将输入数据拆分或划分为多个部分或区块(tile),使用一个或多个神经网络层分别处理每个区块,并且聚合来自每个区块的处理的结果的网络)、序列到序列的神经网络(例如,将序列数据作为输入并且产生结果序列作为输出的网络,该序列数据诸如是句子中的词语、视频中的帧等)等。模型形式或结构可以指定各种节点之间的连接和节点到层的组织。例如,第一层(例如,输入层)的节点可以接收数据作为输入数据或应用数据。例如,当训练后的模型用于图像分析时,这样的数据可以包括例如每个节点的一个或多个像素。后续中间层可以按照模型形式或结构中所指定的连接来接收先前层的节点的输出作为输入。这些层也可以被称为隐藏层。最后层(例如,输出层)产生机器学习应用的输出。例如,取决于特定的训练后的模型,输出可以是图像的一组标签、许可将图像与其他图像进行比较的图像的表示(例如,图像的特征向量)、响应于输入句子的输出句子、输入数据的一个或多个类别等。在一些实施方式中,模型形式或结构还指定每个层中的节点的数量和/或类型。
在不同的实施方式中,训练后的模型可以包括多个节点,该多个节点按照模型结构或形式被布置到层中。在一些实施方式中,节点可以是没有存储器的计算节点,例如,被配置为处理一个单元的输入以产生一个单元的输出。由节点所进行的计算可以包括,例如,将多个节点输入中的每个节点输入乘以权重,获得加权和,以及使用偏置或截距值来调整加权和以产生节点输出。在一些实施方式中,计算可以包括将阶梯/激活函数应用于调整后的加权和。在一些实施方式中,阶梯/激活函数可以是非线性函数。在各种实施方式中,计算可以包括诸如矩阵乘法的操作。在一些实施方式中,例如,使用多核处理器的多个处理器核、使用GPU的单独处理单元或者专用神经电路,可以并行地进行多个节点的计算。在一些实施方式中,节点可以包括存储器,例如,能够存储一个或多个较早输入并且在处理后续输入时使用一个或多个较早输入。例如,具有存储器的节点可以包括长短期存储器(LSTM)节点。LSTM节点可以使用存储器来维持许可节点像有限状态机(FSM)那样动作的“状态”。具有这样的节点的模型在处理序列数据时可能是有用的,该序列数据例如是句子或段落中的词语、视频中的帧、语音或其他音频等。
在一些实施方式中,训练后的模型可以包括用于各个节点的嵌入或权重。例如,模型可以被初始化为多个节点,该多个节点被组织为由模型形式或结构所指定的层。在初始化时,可以将相应的权重应用于按照模型形式所连接的每对节点之间的连接,该节点例如是神经网络的连续层中的节点。例如,可以随机地分配相应的权重,或者将相应的权重初始化为默认值。然后,可以例如使用数据来训练模型以产生结果。
例如,训练可以包括应用监督学习技术。在监督学习中,训练数据可以包括多个输入(例如,一组图像)和每个输入的对应的预期的输出(例如,每个图像的一个或多个标签)。基于模型的输出与预期的输出的比较,例如,以增加模型在被提供类似输入时产生预期的输出的概率的方式,自动地调整权重值。
在一些实施方式中,训练可以包括应用无监督学习技术。在无监督学习中,可以仅提供输入数据,并且可以训练模型以区分数据,例如,以将输入数据聚类为多个组,其中,每个组包括以某个方式类似的输入数据。例如,可以训练模型以区分图像,使得模型将抽象图像(例如,合成图像、人工绘制(human-drawn)图像等)与自然图像(例如,照片)进行区分。
在另一示例中,使用无监督学习所训练的模型可以基于输入句子中的词语的使用来对词语进行聚类。在一些实施方式中,可以使用无监督学习来产生知识表示,例如,该知识表示可以由机器学习应用来使用。在各种实施方式中,训练后的模型包括与模型结构对应的一组权重或嵌入。在省略数据的实施方式中,机器学习应用可以包括基于例如由机器学习应用的开发者、由第三方等先前训练的训练后的模型。在一些实施方式中,训练后的模型可以包括例如从提供权重的服务器所下载的一组固定的权重。
机器学习应用还可以包括推理引擎。推理引擎被配置为将训练后的模型应用于诸如应用数据的数据,以提供推理。在一些实施方式中,推理引擎可以包括要由处理器执行的软件代码。在一些实施方式中,推理引擎可以指定电路配置(例如,用于可编程处理器、用于现场可编程门阵列(FPGA)等),使得处理器能够应用训练后的模型。在一些实施方式中,推理引擎可以包括软件指令、硬件指令或组合。在一些实施方式中,推理引擎可以提供应用程序接口(API),API可以由操作系统和/或其他应用使用以调用推理引擎,例如,以将训练后的模型应用于应用数据以生成推理。
机器学习应用可以提供多个技术优点。例如,当基于无监督学习生成训练后的模型时,可以由推理引擎应用训练后的模型以从例如应用数据的输入数据产生知识表示(例如,数字表示)。例如,被训练用于图像分析的模型可以产生大小上远小于输入图像(例如,10MB)的图像的表示(例如,1KB)。在一些实施方式中,这样的表示可以有助于减少生成输出(例如,标签、分类、描述图像的句子等)的处理成本(例如,计算成本、存储器使用等)。在一些实施方式中,可以提供这样的表示作为对不同的机器学习应用的输入,该不同的机器学习应用从推理引擎的输出产生输出。在一些实施方式中,由机器学习应用所生成的知识表示可以例如通过网络被提供给进行进一步处理的不同的设备。在这样的实施方式中,提供知识表示而不是图像可以提供实质性的技术益处,例如,使得能够以更低的成本来更快地传送数据。在另一示例中,被训练用于聚类文档的模型可以从输入文档产生文档聚类。文档聚类可以适用于进一步处理(例如,确定文档是否与主题有关、确定文档的分类类别等)而无需访问原始文档,因此节省计算成本。
在一些实施方式中,可以以离线方式实施机器学习应用。在这些实施方式中,可以在第一阶段中生成训练后的模型,并且将训练后的模型作为机器学习应用的一部分而提供。在一些实施方式中,可以以在线方式实施机器学习应用。例如,在这样的实施方式中,调用机器学习应用的应用(例如,操作系统和/或一个或多个其他应用)可以利用由机器学习应用所产生的推理,例如,向用户提供推理,并且可以生成系统日志(例如,如果由用户许可,则日志为由用户基于推理所采取的动作;或者如果被利用作为进一步处理的输入,则日志为进一步处理的结果)。可以周期性地产生系统日志,例如,每小时、每月、每季度等,并且在用户许可的情况下可以使用系统日志来更新训练后的模型,例如,更新训练后的模型的嵌入。
在一些实施方式中,机器学习应用可以以可以适应其上执行机器学习应用的设备的特定配置的方式来实施。例如,机器学习应用可以确定利用例如处理器的可用计算资源的计算图。例如,如果机器学习应用被实施为多个设备上的分布式应用,则机器学习应用可以以优化计算的方式确定要在单独的设备上执行的计算。在另一示例中,机器学习应用可以确定处理器包括具有特定数量(例如,1000)的GPU核的GPU,并且相应地实施推理引擎(例如,作为1000个单独的处理或线程)。
在一些实施方式中,机器学习应用可以实施训练后的模型的全体。例如,训练后的模型可以包括多个训练后的模型,每个训练后的模型适用于相同的输入数据。在这些实施方式中,机器学习应用可以例如基于可用计算资源、先前推理的成功率等来选择特定的训练后的模型。在一些实施方式中,机器学习应用可以执行推理引擎,使得多个训练后的模型被应用。在这些实施方式中,机器学习应用可以例如使用对来自应用每个训练后的模型的各个输出进行评分的投票技术、或者通过选择一个或多个特定的输出,来组合来自应用各个模型的输出。此外,在这些实施方式中,机器学习应用可以应用时间阈值(例如,0.5ms)用于应用各个训练后的模型,并且仅利用在时间阈值内可用的那些单独的输出。可以不利用,例如,丢弃,在时间阈值内没有接收到的输出。例如,在例如通过操作系统或者一个或多个应用来调用机器学习应用的同时,当时间限制被指定时,这样的方法可能是合适的。
在不同的实施方式中,机器学习应用可以产生不同类型的输出。例如,机器学习应用可以提供表示或聚类(例如,输入数据的数字表示)、标签(例如,用于包括图像、文档等的输入数据)、短语或句子(例如,描述图像或视频、适合用作对输入句子的响应等)、图像(例如,由机器学习应用响应于输入而生成)、音频或视频(例如,响应于输入视频,机器学习应用可以产生具有特定应用效果的输出视频,例如,当使用来自漫画书或特定艺术家的训练数据来训练训练后的模型时,以漫画书或特定艺术家的风格来渲染等)。在一些实施方式中,机器学习应用可以基于由例如操作系统或者一个或多个应用的调用应用所指定的格式来产生输出。在一些实施方式中,调用应用可以是另一机器学习应用。例如,这样的配置可以用于生成的对抗网络中,其中,使用来自机器学习应用的输出来训练调用机器学习应用,反之亦然。
存储器中的任何软件可以替代地被存储在任何其他合适的存储位置或计算机可读介质上。另外,存储器(和/或其他连接的存储设备)可以存储一个或多个消息、一个或多个分类标准、电子百科全书、词典、辞典、知识库、消息数据、语法、用户偏好和/或此处所描述的特征中所使用的其他指令和数据。存储器和任何其他类型的存储(磁盘、光盘、磁带或其他有形介质)可以被认为是“存储”或“存储设备”。
I/O接口可以提供功能以使得能够将服务器设备与其他系统和设备进行接合。接口设备可以被包括作为设备的一部分,或者可以与设备分开并且与设备进行通信。例如,网络通信设备、存储设备(例如,存储器和/或数据库106)和输入/输出设备可以经由I/O接口进行通信。在一些实施方式中,I/O接口可以连接到诸如输入设备(键盘、指示设备、触摸屏、麦克风、相机、扫描仪、传感器等)和/或输出设备(显示设备、扬声器设备、打印机、电机等)的接口设备。
可以连接到I/O接口的接合的设备的一些示例可以包括可以用于显示内容(例如图像、视频)的一个或多个显示设备,和/或如此处所描述的输出应用的用户界面。显示设备可以经由本地连接(例如,显示总线)和/或经由网络连接而被连接到设备,并且可以是任何合适的显示设备。显示设备可以包括任何合适的显示设备,诸如是LCD、LED或等离子显示屏、CRT、电视、监视器、触摸屏、3D显示屏或其他视觉显示设备。例如,显示设备可以是在移动设备上所提供的平面显示屏、在护目镜或耳机设备中所提供的多个显示屏或者计算机设备的监视器屏。
I/O接口可以接合到其他输入和输出设备。一些示例包括可以捕捉图像的一个或多个相机。一些实施方式可以提供用于捕捉声音(例如,作为捕捉的图像的一部分、语音命令等)的麦克风、用于输出声音的音频扬声器设备或者其他输入和输出设备。
尽管相对于其特定实施方式已经描述了描述,但是这些特定实施方式仅仅是说明性的,而非限制性的。示例中所示出的概念可以被应用于其他示例和实施方式。
在此处所讨论的某些实施方式可以收集或使用关于用户的个人信息(例如,用户数据、关于用户的社交网络的信息、用户的位置和在该位置的时间、用户的生物计量信息、用户的活动以及人口统计信息)的情况下,向用户提供一个或多个机会以控制是否收集信息,是否存储个人信息,是否使用个人信息,以及如何收集、存储和使用关于用户的信息。也就是说,特别地当从相关用户接收到明确授权以收集、存储和/或使用用户个人信息时,此处所讨论的系统和方法才收集、存储和/或使用用户个人信息。例如,向用户提供对程序或特征是否收集关于该特定用户或者与程序或特征相关的其他用户的用户信息的控制。向被收集个人信息的每个用户呈现一个或多个选项以允许对与该用户相关的信息收集的控制,以提供关于是否收集信息以及关于要收集信息的哪些部分的许可或授权。例如,可以通过通信网络向用户提供一个或多个这样的控制选项。另外,某些数据在其被存储或被使用之前可以以一个或多个方式来处理,使得个人可识别信息被移除。作为一个示例,用户的标识可以被处理,使得没有个人可识别信息可以被确定。作为另一示例,用户的地理位置可以被归纳到较大的区域,使得用户的特定位置不可以被确定。
注意,如本领域技术人员已知的,本公开中所描述的功能框、操作、特征、方法、设备和系统可以被集成或被划分为系统、设备和功能框的不同组合。可以使用任何合适的编程语言和编程技术来实施特定实施方式的例程。可以采用不同的编程技术,例如是面向过程的或面向对象的。例程可以在单个处理设备或多个处理器上执行。尽管可以以特定顺序呈现步骤、操作或计算,但是在不同的特定实施方式中,可以改变顺序。在一些实施方式中,可以同时进行在本说明书中按顺序示出的多个步骤或操作。
Claims (17)
1.一种用于解析电子对话以至少部分地在替代界面中呈现的计算机实施的方法,其特征在于,包括:
确定设备的电池状态作为所述设备的情境;
如果所述设备的所述电池状态不低,则使得在显示设备上显示电子对话;以及
如果所述设备的所述电池状态低,则启动执行以下步骤:
在所述电子对话中识别对象,其中,所述对象具有不同的媒体类型并且包括至少一个言语对象以及至少一个非言语对象;
将所述对象分组为对象组,其中,每个对象组包含至少一个对象;
基于所述对象组,分析所述电子对话,以确定所述电子对话的对话结构,其中,所述分析包括通过使用对象识别来识别所述非言语对象的内容;
基于所述电子对话的所述对话结构,将对话框架应用于所述对象组,其中,
应用对话框架包括基于通过使用所述对象识别所识别的所述非言语对象的所述内
容来生成所述非言语对象的文本描述;
生成语音界面对话呈现,所述语音界面对话呈现包括所述非言语对象的所述文本描述的言语表示;以及
提供被配置用于由音频输出设备输出的所述语音界面对话呈现,并且使得经由所述音频输出设备输出所述语音界面对话呈现。
2.根据权利要求1所述的计算机实施的方法,其特征在于,对所述对象进行分组包括:
对顺序的言语对象进行分组;
对顺序的非言语对象进行分组;以及
保留所述电子对话的顺序信息。
3.根据前述权利要求中的任一项所述的计算机实施的方法,其特征在于,分析所述电子对话包括,基于至少一个查找表来提供识别的对象的文本表示。
4.根据权利要求1所述的计算机实施的方法,其特征在于,应用对话框架包括,使用对话参考点用于在两个对象组之间插入预定义的对话框架部分,所述对话参考点在分析所述电子对话时被识别并且指示新的对象组的开始。
5.根据权利要求1所述的计算机实施的方法,其特征在于,应用对话框架包括,在所述语音界面对话呈现的开头插入介绍性对话框架部分。
6.根据权利要求5所述的计算机实施的方法,其特征在于,所述介绍性对话框架部分包括所述电子对话中的一个或多个参与者的标识。
7.根据权利要求1所述的计算机实施的方法,其特征在于,应用对话框架包括,在一对所述对象组之间插入一个或多个间隙性对话框架部分。
8.根据权利要求7所述的计算机实施的方法,其特征在于,所述一个或多个间隙性对话框架部分被插入在所述对象组中的相应对的对象组之间。
9.根据权利要求1所述的计算机实施的方法,其特征在于,应用对话框架包括,在最后对象组与先前对象组之间插入结论性对话框架部分,其中,所述先前对象组紧接在所述最后对象组之前。
10.根据权利要求1所述的计算机实施的方法,其特征在于,识别所述电子对话内的所述对象包括,分析所述电子对话中的所述对象的编码。
11.根据权利要求10所述的计算机实施的方法,其特征在于,分析所述电子对话中的所述对象的所述编码包括,使用标题信息,并且所述对象中的每个对象包括指示对象类型的所述标题信息,基于所述对象类型将所述对象分组为所述对象组。
12.根据权利要求1所述的计算机实施的方法,其特征在于,应用对话框架包括以下中的一个或多个:扩展速记文本、将速记文本留在原地以及将速记文本替换为另一语言的文本。
13.根据权利要求1所述的计算机实施的方法,其特征在于,应用对话框架包括,将图形符号转换为所述图形符号的文本描述。
14.根据权利要求1所述的计算机实施的方法,其特征在于,进一步包括:
当确定操作情境指示语音界面呈现是比显示界面更好的呈现形式时,向用户呈现音频查询;
接收对所述音频查询的音频响应;以及
基于所述音频响应,使得从所述音频输出设备输出所述语音界面对话呈现。
15.根据权利要求1所述的计算机实施的方法,其特征在于,所述电子对话包括文本部分和以下中的至少一个:图像、图形符号或统一资源定位符。
16.一种用于解析电子对话以至少部分地在替代界面中呈现的系统,其特征在于,包括:
一个或多个处理器,所述一个或多个处理器被耦接到其上已经存储有软件指令的非暂时性计算机可读介质,当所述软件指令由所述一个或多个处理器执行时,所述软件指令使得所述一个或多个处理器进行操作,包括根据权利要求1-15中的任一项所述的方法的步骤。
17.一种非暂时性计算机可读介质,其特征在于,其上已经存储有软件指令,当所述软件指令由一个或多个处理器执行时,所述软件指令使得所述一个或多个处理器进行操作,包括根据权利要求1-15中的任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311678743.XA CN117669605A (zh) | 2017-11-06 | 2018-10-29 | 解析电子对话用于在替代界面中呈现 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/805,049 | 2017-11-06 | ||
US15/805,049 US10599391B2 (en) | 2017-11-06 | 2017-11-06 | Parsing electronic conversations for presentation in an alternative interface |
PCT/US2018/058030 WO2019089469A1 (en) | 2017-11-06 | 2018-10-29 | Parsing electronic conversations for presentation in an alternative interface |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311678743.XA Division CN117669605A (zh) | 2017-11-06 | 2018-10-29 | 解析电子对话用于在替代界面中呈现 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111279349A CN111279349A (zh) | 2020-06-12 |
CN111279349B true CN111279349B (zh) | 2024-01-05 |
Family
ID=64317003
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311678743.XA Pending CN117669605A (zh) | 2017-11-06 | 2018-10-29 | 解析电子对话用于在替代界面中呈现 |
CN201880035073.0A Active CN111279349B (zh) | 2017-11-06 | 2018-10-29 | 解析电子对话用于在替代界面中呈现 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311678743.XA Pending CN117669605A (zh) | 2017-11-06 | 2018-10-29 | 解析电子对话用于在替代界面中呈现 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10599391B2 (zh) |
EP (1) | EP3612926B1 (zh) |
JP (2) | JP6889281B2 (zh) |
CN (2) | CN117669605A (zh) |
WO (1) | WO2019089469A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018192500A1 (zh) * | 2017-04-19 | 2018-10-25 | 上海寒武纪信息科技有限公司 | 处理装置和处理方法 |
US10599391B2 (en) * | 2017-11-06 | 2020-03-24 | Google Llc | Parsing electronic conversations for presentation in an alternative interface |
KR102424520B1 (ko) * | 2017-11-29 | 2022-07-25 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 동작 방법 |
KR102515023B1 (ko) * | 2018-02-23 | 2023-03-29 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
US11063887B2 (en) * | 2018-09-13 | 2021-07-13 | Sharp Kabushiki Kaisha | Information processing apparatus, user terminal apparatus, and control method |
US10747894B1 (en) | 2018-09-24 | 2020-08-18 | Amazon Technologies, Inc. | Sensitive data management |
US11303588B1 (en) * | 2019-09-05 | 2022-04-12 | Meta Platforms, Inc. | Automating a response to a message communicated to a business entity via an online messaging application |
US11151331B1 (en) * | 2020-05-13 | 2021-10-19 | International Business Machines Corporation | Layered neural networks to evaluate communication distribution |
CN114513770B (zh) * | 2020-10-29 | 2024-01-30 | 伊姆西Ip控股有限责任公司 | 部署应用的方法、系统和介质 |
JP7132576B2 (ja) * | 2020-10-30 | 2022-09-07 | ソプラ株式会社 | セキュリティidの会話文検索システム |
US11935007B1 (en) * | 2022-12-27 | 2024-03-19 | Dropbox, Inc. | Generating collaborative content items to provide customizable graphical representations in online graphical user interfaces |
US11947902B1 (en) * | 2023-03-03 | 2024-04-02 | Microsoft Technology Licensing, Llc | Efficient multi-turn generative AI model suggested message generation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011248508A (ja) * | 2010-05-25 | 2011-12-08 | Kyocera Corp | 通信端末およびメール読み上げ方法 |
US9190049B2 (en) * | 2012-10-25 | 2015-11-17 | Ivona Software Sp. Z.O.O. | Generating personalized audio programs from text content |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10254470A (ja) * | 1997-03-13 | 1998-09-25 | Fujitsu Ten Ltd | テキスト音声合成装置 |
US7533149B2 (en) * | 2004-04-30 | 2009-05-12 | Microsoft Corporation | Maintaining multiple versions of message bodies in a common database |
JP4476725B2 (ja) * | 2004-07-21 | 2010-06-09 | 株式会社東芝 | ディジタル放送受信装置 |
JP2006039307A (ja) * | 2004-07-28 | 2006-02-09 | Kojima Press Co Ltd | 自動車用音声情報伝達装置 |
JP2006318086A (ja) * | 2005-05-11 | 2006-11-24 | Sharp Corp | テンプレート選択装置、その装置を有する携帯電話、テンプレート選択方法、コンピュータをテンプレート選択装置として機能させるためのプログラム、および記録媒体 |
JP4781735B2 (ja) * | 2005-06-29 | 2011-09-28 | 京セラ株式会社 | 携帯電話機 |
WO2007081958A2 (en) * | 2006-01-10 | 2007-07-19 | Christopher Armstrong | Indicating and searching recent content publication activity by a user |
JP4901383B2 (ja) * | 2006-09-13 | 2012-03-21 | ソフトバンクモバイル株式会社 | メディア変換メッセージシステム |
JP2008081031A (ja) * | 2006-09-28 | 2008-04-10 | Clarion Co Ltd | 報知機能付き車載装置 |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
JP2010039289A (ja) * | 2008-08-06 | 2010-02-18 | Toshiba Corp | 携帯型電子機器 |
JP2010072704A (ja) * | 2008-09-16 | 2010-04-02 | Toshiba Corp | インターフェース装置および入力方法 |
US9043474B2 (en) * | 2010-01-20 | 2015-05-26 | Microsoft Technology Licensing, Llc | Communication sessions among devices and interfaces with mixed capabilities |
US20110320373A1 (en) * | 2010-06-25 | 2011-12-29 | Microsoft Corporation | Product conversations among social groups |
US8352908B2 (en) | 2010-06-28 | 2013-01-08 | International Business Machines Corporation | Multi-modal conversion tool for form-type applications |
WO2012150602A1 (en) * | 2011-05-03 | 2012-11-08 | Yogesh Chunilal Rathod | A system and method for dynamically monitoring, recording, processing, attaching dynamic, contextual & accessible active links & presenting of physical or digital activities, actions, locations, logs, life stream, behavior & status |
US20130110866A1 (en) * | 2011-10-28 | 2013-05-02 | Microsoft Corporation | Information system incorporating real-time data sources to enrich connections among users |
US9736089B2 (en) * | 2011-11-02 | 2017-08-15 | Blackberry Limited | System and method for enabling voice and video communications using a messaging application |
US8693643B2 (en) * | 2011-11-16 | 2014-04-08 | At&T Mobility Ii Llc | Integrating visual voicemail within a threaded communication environment |
US10313279B2 (en) * | 2011-12-12 | 2019-06-04 | Rcs Ip, Llc | Live video-chat function within text messaging environment |
US20140046976A1 (en) * | 2012-08-11 | 2014-02-13 | Guangsheng Zhang | Systems, methods, and user interface for effectively presenting information |
US20140089008A1 (en) * | 2012-09-26 | 2014-03-27 | PicSafe IP Holdings Pty Ltd | Data Handling System and Method |
EP2772908B1 (en) * | 2013-02-27 | 2016-06-01 | BlackBerry Limited | Method And Apparatus For Voice Control Of A Mobile Device |
WO2014197737A1 (en) * | 2013-06-08 | 2014-12-11 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
CN104753985B (zh) * | 2013-12-30 | 2018-12-28 | 腾讯科技(深圳)有限公司 | 会话列表显示方法和装置 |
JP2016014969A (ja) * | 2014-07-01 | 2016-01-28 | クラリオン株式会社 | 車載装置、及び、情報処理システム |
US10101716B2 (en) * | 2014-12-04 | 2018-10-16 | Belkin International, Inc. | Autonomous, distributed, rule-based intelligence |
US10565993B2 (en) * | 2015-01-30 | 2020-02-18 | Disney Enterprises, Inc. | Enhancing group decisions within social messaging applications |
US9876868B2 (en) * | 2015-03-12 | 2018-01-23 | International Business Machines Corporation | GPS suggestions based on social points of interest (POI) metadata |
US20170353410A1 (en) * | 2015-05-06 | 2017-12-07 | Matt Gonzales | Messaging Sharing System and Method of Use |
CN106383648A (zh) * | 2015-07-27 | 2017-02-08 | 青岛海信电器股份有限公司 | 一种智能终端语音显示的方法和装置 |
KR102490438B1 (ko) * | 2015-09-02 | 2023-01-19 | 삼성전자주식회사 | 디스플레이 장치 및 그 제어 방법 |
EP3369064A4 (en) * | 2015-10-30 | 2018-09-26 | Forq, Inc. | Digital recipe library and network with food image recognition services |
US9946862B2 (en) * | 2015-12-01 | 2018-04-17 | Qualcomm Incorporated | Electronic device generating notification based on context data in response to speech phrase from user |
US10116603B1 (en) * | 2015-12-10 | 2018-10-30 | Google Llc | Methods, systems, and media for identifying and presenting video objects linked to a source video |
KR20170100175A (ko) * | 2016-02-25 | 2017-09-04 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 동작 방법 |
US10015124B2 (en) * | 2016-09-20 | 2018-07-03 | Google Llc | Automatic response suggestions based on images received in messaging applications |
US20180173377A1 (en) * | 2016-12-15 | 2018-06-21 | Microsoft Technology Licensing, Llc | Condensed communication chain control surfacing |
US20180174587A1 (en) * | 2016-12-16 | 2018-06-21 | Kyocera Document Solution Inc. | Audio transcription system |
US10146768B2 (en) * | 2017-01-25 | 2018-12-04 | Google Llc | Automatic suggested responses to images received in messages using language model |
US11018884B2 (en) * | 2017-04-24 | 2021-05-25 | Microsoft Technology Licensing, Llc | Interactive timeline that displays representations of notable events based on a filter or a search |
US10348658B2 (en) * | 2017-06-15 | 2019-07-09 | Google Llc | Suggested items for use with embedded applications in chat conversations |
US10599391B2 (en) * | 2017-11-06 | 2020-03-24 | Google Llc | Parsing electronic conversations for presentation in an alternative interface |
-
2017
- 2017-11-06 US US15/805,049 patent/US10599391B2/en active Active
-
2018
- 2018-10-29 CN CN202311678743.XA patent/CN117669605A/zh active Pending
- 2018-10-29 EP EP18803835.0A patent/EP3612926B1/en active Active
- 2018-10-29 WO PCT/US2018/058030 patent/WO2019089469A1/en unknown
- 2018-10-29 CN CN201880035073.0A patent/CN111279349B/zh active Active
- 2018-10-29 JP JP2019559778A patent/JP6889281B2/ja active Active
-
2020
- 2020-03-20 US US16/826,019 patent/US11036469B2/en active Active
-
2021
- 2021-05-20 JP JP2021085306A patent/JP7391913B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011248508A (ja) * | 2010-05-25 | 2011-12-08 | Kyocera Corp | 通信端末およびメール読み上げ方法 |
US9190049B2 (en) * | 2012-10-25 | 2015-11-17 | Ivona Software Sp. Z.O.O. | Generating personalized audio programs from text content |
Also Published As
Publication number | Publication date |
---|---|
US20200218503A1 (en) | 2020-07-09 |
US20190138267A1 (en) | 2019-05-09 |
WO2019089469A1 (en) | 2019-05-09 |
CN111279349A (zh) | 2020-06-12 |
US10599391B2 (en) | 2020-03-24 |
CN117669605A (zh) | 2024-03-08 |
JP7391913B2 (ja) | 2023-12-05 |
EP3612926A1 (en) | 2020-02-26 |
JP6889281B2 (ja) | 2021-06-18 |
EP3612926B1 (en) | 2023-07-26 |
US11036469B2 (en) | 2021-06-15 |
JP2020521995A (ja) | 2020-07-27 |
JP2021185478A (ja) | 2021-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111279349B (zh) | 解析电子对话用于在替代界面中呈现 | |
US11509616B2 (en) | Assistance during audio and video calls | |
US11303590B2 (en) | Suggested responses based on message stickers | |
US10862836B2 (en) | Automatic response suggestions based on images received in messaging applications | |
CN110178132B (zh) | 在消息应用中自动建议内容的方法和系统 | |
US9684430B1 (en) | Linguistic and icon based message conversion for virtual environments and objects | |
US12028302B2 (en) | Assistance during audio and video calls | |
US20240054546A1 (en) | User context-based content suggestion and automatic provision | |
CN113785540B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |