CN110637284A - 解析基于图像和/或其它传感器数据的自动化助理请求 - Google Patents

解析基于图像和/或其它传感器数据的自动化助理请求 Download PDF

Info

Publication number
CN110637284A
CN110637284A CN201880032505.2A CN201880032505A CN110637284A CN 110637284 A CN110637284 A CN 110637284A CN 201880032505 A CN201880032505 A CN 201880032505A CN 110637284 A CN110637284 A CN 110637284A
Authority
CN
China
Prior art keywords
request
additional
image
user
client device
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.)
Granted
Application number
CN201880032505.2A
Other languages
English (en)
Other versions
CN110637284B (zh
Inventor
易卜拉欣·巴德尔
尼尔斯·格里姆斯莫
格克汗·巴克尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority to CN202011245475.9A priority Critical patent/CN112445947A/zh
Publication of CN110637284A publication Critical patent/CN110637284A/zh
Application granted granted Critical
Publication of CN110637284B publication Critical patent/CN110637284B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5854Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/68Food, e.g. fruit or vegetables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages

Abstract

描述了方法、装置和计算机可读介质,其与响应于确定与传感器数据可能捕捉的环境对象有关的请求而使得执行对所述传感器数据的处理有关。一些实施方式还涉及基于对所述传感器数据的处理来确定所述请求是否可解析。当确定所述请求不可解析时,则提示被确定并且被提供作为用户界面输出,其中所述提示提供关于进一步输入的指导,所述进一步输入将使所述请求能够被解析。在那些实施方式中,然后能够利用响应于所述提示而接收到的进一步输入(例如,附加传感器数据和/或用户界面输入)解析所述请求。

Description

解析基于图像和/或其它传感器数据的自动化助理请求
背景技术
能够利用图像处理来解析图像中的对象的属性。例如,一些图像处理技术利用图像处理引擎来解析图像中捕捉的对象的分类。例如,对于捕捉帆船的图像,能够执行图像处理以解析图像的“boat(船)”和/或“sailboat(帆船)”的分类值。能够使用图像处理来解析另外的属性或替代属性。例如,能够使用光学字符识别(OCR)来解析图像中的文本。而且,例如,能够使用一些图像处理技术来确定图像中的对象的更特定分类(例如,帆船的特定品牌和/或型号)。
一些图像处理引擎利用一种或多种机器学习模型,诸如深度神经网络模型,该模型接受图像作为输入,并且利用学习的参数基于图像来生成指示图像中存在多个对应的属性中的哪一个的测度作为输出。如果测度指示图像中存在特定属性(例如,如果测度满足阈值),则能够将该属性视为该图像“已解析”(即该属性能够被视为存在于图像中)。然而,通常可能是图像的图像处理可能无法解析一个或多个(例如,任何)属性的情况。此外,还可能是这样的情况:图像的所解析的属性无法以期望的特异性程度定义图像中的对象。例如,图像的所解析属性可以使得能够确定图像中是否存在“shirt(衬衫)”,并且衬衫为“red(红色)”——但可能无法衬衫的制造商,衬衫是“short sheeve(短袖)”还是“long sheeve(长袖)”等。
另外,人类可以使用本文称为“自动化助理”(也称为“交互式个人助理”、“智能个人助理”、“个人语音助理”、“会话代理”等)的交互式软件应用参与人机对话。自动化助理通常会从用户那里接收自然语言输入(话语)。在一些情况下,自然语言输入能够作为音频输入(例如,流音频)被接收并且被转换为文本和/或作为(例如,键入的)文本自然语言输入被接收。自动化助理使用响应内容(例如,视觉和/或听觉自然语言输出)来响应自然语言输入。然而,经常可能是自动化助理不接受和/或响应于基于捕捉环境对象的一个或多个属性的传感器数据(例如,图像)的请求。
发明内容
本文所述的实施方式涉及响应于确定与可能被传感器数据捕捉的环境对象相关的请求而使得执行对传感器数据的处理。例如,能够响应于基于结合至少一个图像的捕捉而由用户提供的自然语言输入(例如,在该至少一个图像的捕捉不久之前、之后和/或期间接收的自然语言)而确定的请求来对图像执行图像处理。例如,用户能够通过客户端设备的自动助手界面提供“what's wrong with my device(我的设备怎么了)”的语音输入。能够确定语音输入与环境对象相关,结果,能够对由客户端设备的相机捕捉的图像执行图像处理。能够基于单独的用户界面输入(例如,对“image capture(图像捕捉)”界面元素的选择)由相机捕捉图像,或者能够响应于确定语音输入与环境对象相关而自动捕捉图像。
本文所述的一些实施方式还涉及基于对传感器数据的处理来确定请求是否是可解析的。例如,基于确定以对至少一个图像的图像处理为基础而解析的一个或多个属性(如果存在)未能以目标特异性程度定义对象,能够将请求确定为是不可解析的。当确定请求是不可解析的时,则提示被确定并且被提供作为用户界面输出(例如,可听和/或图形),其中提示提供了关于将使请求能够被解析的进一步输入的指导。提示能够指示用户捕捉对象的其它传感器数据(例如,图像、音频、温度传感器数据、重量传感器数据)和/或将对象(和/或其它对象)移动以使得能够捕捉对象的其它传感器数据。例如,提示能够被定制以使得能够捕捉附加图像,这些附加图像使得能够对基于对至少一个图像的图像处理而未解析的一个或多个属性的解析。提示能够另外地或可替选地请求用户提供针对对象的未解析属性的用户界面输入(例如,自然语言输入)。
在那些实施方式中,然后能够利用响应于提示而接收到的附加传感器数据(例如,附加图像)和/或用户界面输入来解析请求。例如,能够对响应于提示而接收到的附加图像执行图像处理,并且能够利用从该图像处理中解析出的附加属性来解析请求。例如,能够通过向一个或多个代理(例如,搜索系统和/或其它代理)提交代理请求来解析该请求,其中该代理请求是基于从对附加图像的图像处理中解析出的附加属性并且可选地基于以对先前处理器数据的处理为基础而确定的(例如,基于先前图像的图像处理确定的)属性而生成的。作为另一示例,能够基于响应于提示而接收到的自然语言输入或其它用户界面输入来解析附加属性,并且能够利用这些附加属性来解析请求。应注意,在一些实施方式和/或情况下,能够提供多轮提示,从响应于那些提示的附加传感器数据和/或用户界面输入确定附加属性,并且利用这些附加属性来解析请求。
应明白,本文所述的方法和系统可以通过引导的人机交互过程来帮助用户使得执行特定任务。可以执行各种不同的任务,但是这些任务可以包括例如使用户能够获得他们执行进一步任务所需的信息。例如,如参考图6和图7所述,所获得的信息可有助于执行另一设备的维护。
如上所述,能够基于确定基于对处理器数据的处理而解析的一个或多个属性(如果存在)不能以目标特异性程度定义对象,确定请求不可解析。在一些实施方式中,对象的目标特异性程度能够为分类式分类法中对象的目标分类程度。例如,汽车的目标分类程度能够被分类为定义汽车的品牌和型号的级别,也能够被分类为定义汽车的品牌、型号和年代的级别。在一些实施方式中,对象的目标特异性程度能够参考将定义的一个或多个字段定义,其中该对象的字段能够取决于该对象的分类(一般的或特定的)。例如,对于一瓶葡萄酒,字段能够对特定品牌、葡萄酒的类型,和/或年份定义——并且目标特异性程度是所有那些字段的属性的解析。在一些实施方式中,目标特异性程度能够另外地或可替选地基于由用户提供的初始自然语言输入、由用户提供的反馈、该用户和/或其它用户的历史交互和/或位置和/或其它场境信号来确定。
也如上所述,所确定的提示能够提供关于进一步输入的指导,其将使得能够解决与环境对象有关的请求。在一些实施方式中,基于已解析的对象的一个或多个属性来确定提示。例如,能够利用环境对象的分类属性,诸如基于对象的先前捕捉图像的图像处理而解析的分类属性。例如,可以将针对“car(汽车)”分类的提示具体化为汽车分类(例如,“takea picture of the car from another angle(从另一个角度拍摄汽车的图片)”)。同样地,例如,可以将“jacket(夹克)”分类的提示具体化为“jacket”分类(例如,“take a pictureof the logo or the tag(拍摄徽标或标签的图片)”)。同样地,例如,如上所述,分类属性能够与要定义的一个或多个字段相关联。在那些情况中的某些情况下,能够基于已经解析的属性(如果存在)尚未定义的字段生成提示。例如,如果尚未定义一瓶葡萄酒的年份字段,则提示能够为“take a picture of the year(拍摄年份的图片)”或“what is the year(哪一年)?”。
本文所述的一些实施方式能够仅当确定了下列情况时才提供用于向用户呈现的所述提示:(1)存在与环境对象相关的请求(例如,对附加信息的请求);和/或(2)基于迄今为止收集到的传感器数据的处理不能解析该请求。以这种方式,不会通过提供不必要的提示和/或对将响应于这些不必要的提示的进一步输入的处理而浪费计算资源。例如,在用户捕捉了一瓶葡萄酒的图像,并且提供自然语言输入“send this picture to Bob(将图像发送给鲍勃)”的情况下,基于请求(即,将图像发送给鲍勃)仅基于所拍摄的图像可解析,和/或基于请求不是对与这瓶葡萄酒相关的附加信息的请求,将不提供请求用户拍摄这瓶葡萄酒的附加照片的提示。相反,如果自然语言输入是“how much does this cost(这个多少钱)”,则如果对初始图像的图像处理不能解析足够多的属性以解析请求(即,确定成本),则可提供请求用户拍摄附加图像的提示。例如,如果基于图像处理不能解析品牌、葡萄酒类型和/或年份,则能够提供提示“take a picture of the label(拍摄标签的图片)”。作为又一示例,当用户处于“retail(零售)”位置时,能够推断与所捕捉的图像的环境对象相关的请求,相反,如果用户在公园已捕捉到相同的环境对象,则将不会推断出请求(假定用户可能在处于零售地点的同时正在寻求购物情报,诸如价格、评论等)。作为又另一示例,在最初捕捉的图像捕捉的多个对象都处于远距离时,则可能不会推断出请求——相反,如果图像捕捉到仅一个对象处于近距离时,则将推断出请求。
本文所述的一些实施方式还能够确定下列提示:其对已经解析的属性(例如,分类属性)定制;其对还未解析的字段定制;和/或以其它方式定制以实现对请求的解析。以这种方式,能够定制提示以增加响应于提示的输入(例如,图像和/或用户界面输入)将使得能够解析请求的可能性——由此减轻对解析请求时的进一步提示和/或对处理将响应于这些进一步提示的进一步输入的需要。
作为一些实施方式的一个明确示例,假设用户提供了“what kind of reviewsdoes this get(这会有什么样的评论)?”的语音输入,同时将客户端设备(例如,智能手机、平板电脑、可穿戴设备)的相机对准一瓶葡萄酒。则能够确定语音输入包括与客户端设备的环境中的对象有关的请求。响应于包括请求的语音输入,能够处理这瓶葡萄酒的图像以解析图像中的对象的一个或多个属性。例如,能够对图像进行处理以确定“bottle(瓶)”和/或“wine bottle(葡萄酒瓶)”的分类。在一些实施方式中,能够基于用户界面输入来捕捉图像,或者能够基于确定语音输入包括请求来自动地捕捉图像。
此外,能够基于已解析的“bottle”和/或“wine bottle”分类确定这种请求不可解析。例如,基于语音输入,能够确定请求是针对瓶中的特定葡萄酒(例如,特定品牌、葡萄酒类型和/或年份)的评论——而不是通常针对“wine bottle”的评论。因而,请求的解析需要解析足够多的属性以使得能够确定瓶中的特定葡萄酒。“bottle”和“wine bottle”的一般分类无法实现这种确定。
然后,能够响应于确定该请求不可解析而提供提示。例如,提示能够为“can youtake a picture of the label(你能够拍摄标签的图片吗)”或“can you make thebarcode visible to the camera(你能够使条形码对相机可见吗)?”等。响应于提示,用户能够移动葡萄酒瓶和/或电子设备(因此移动相机)以及此类移动后捕捉的附加图像。然后,能够执行附加图像的处理以确定所选择的参数的属性。例如,能够执行OCR处理以确定标签的文本值,诸如包括品牌名称、葡萄酒类型和年份的文本。如果对附加图像的处理仍无法解析请求(例如,仍未解析所需属性),则可能会生成其它提示,并可执行在其它提示之后接收的其它图像的图像处理。
然后,能够基于附加属性来生成附加内容。例如,响应于基于附加属性和/或语音输入提出搜索,能够接收附加内容。例如,可能已经确定了“Vineyard A CabernetSauvignon 2012(葡萄园赤霞珠2012)”的文本值,提交了对“reviews for vineyard Acabernet sauvignon 2012(对葡萄园赤霞珠2012的评论)”的查询(例如,提交给搜索系统代理),并且响应于查询接收附加内容。
如本文所述,一个或多个提示可以另外或可替选地请求用户提供响应用户界面输入,以使得能够解析未解析字段的属性。例如,假定利用对一个或多个图像的处理来确定“wine bottle”分类值,但是无法解析足够的文本以明确地识别葡萄酒。例如,识别出了标识特定品牌的文本,但未识别出识别葡萄酒类型和年份的文本。代替或除了提示用户捕捉其它图像和/或移动葡萄酒瓶外,提示还能够请求用户识别葡萄酒的类型和年份(例如,“can you tell me the wine type and year for the Brand X wine(你能够告诉我品牌X葡萄酒的葡萄酒类型和年份吗)?”)。然后,能够利用用户提供的响应用户界面输入来解析葡萄酒类型和年份。在一些实施方式中,能够生成提示以包括基于图像处理确定的一个或多个候选属性。例如,假设OCR图像处理技术被用于确定“2017”和“2010”的候选年份。例如,图像处理技术可将“2017”和“2010”识别为候选,但是不能以足够置信度识别二者之一以使得能够解析特定年份。在这种情况下,提示可能是“Is this a 2010or 2017vintage(这是2010年还是2017年)?”——或可以提供“2010”和“2017”的可选选项。
在一些实施方式中,多个处理引擎和/或模型可以并行操作,并且每个可被特别地配置用于一个或多个特定字段。例如,第一图像处理引擎可以是被配置成确定图像中的一般实体的通用分类引擎,第二图像处理引擎可以是被配置成确定图像中的徽标品牌的徽标处理引擎,第三图像处理引擎可以是被配置成确定图像中的文本和/或数字字符的OCR或其它字符识别引擎等等。在那些实施方式中的一些实施方式中,可以基于哪个图像处理引擎无法解析对应字段的属性来生成提示。此外,在那些实施方式中的一些实施方式中,响应于对提示的响应接收到附加图像,可以仅利用引擎的子集来处理这些附加图像。例如,可以仅使用被配置成解析未解析的字段/参数的那些引擎,由此通过不将全套引擎用于这些图像来节省各种计算资源。
在一些实施方式中,提供了一种由一个或多个处理器执行的方法,该方法包括:经由客户端设备的自动化助理界面接收由用户提供的语音输入;和确定该语音输入包括与该客户端设备的环境中的对象有关的请求。该方法还包括:响应于确定语音输入包括与对象有关的请求:使得对由至少一个传感器捕捉的初始传感器数据执行处理。该至少一个传感器是环境中的客户端设备或附加电子设备的传感器,并且初始传感器数据捕捉对象的一个或多个特征。该方法还包括基于以对初始传感器数据的处理为基础而解析的对象的一个或多个初始属性来确定该请求基于初始传感器数据是不可解析的。该方法还包括响应于确定该请求是不可解析的:提供指示用户捕捉附加传感器数据或移动对象的提示以经由客户端设备的自动化助理界面呈现给用户。该方法还包括:接收附加传感器数据,该附加传感器数据在提示被呈现给用户之后由客户端设备或附加电子设备捕捉;使得对附加传感器数据执行处理;以及基于以对附加传感器数据的处理为基础而解析的至少一个附加属性来解析请求。
在一些实施方式中,提供了一种由一个或多个处理器执行的方法,该方法包括:接收由客户端设备的相机捕捉的至少一个图像;和确定该至少一个图像涉及与该至少一个图像捕捉的对象相关的请求。该方法还包括响应于确定该图像涉及与对象相关的请求:使得对该至少一个图像执行图像处理。该方法还包括基于对该至少一个图像的图像处理,确定用于解析该请求所必要的该至少一个参数基于该至少一个图像的图像处理是不可解析的。该方法还包括:响应于确定该至少一个参数是不可解析:提供针对该至少一个参数定制的提示以经由该客户端设备或另外的客户端设备进行呈现。该方法还包括:响应于该提示,接收由相机捕捉的附加图像和/或用户界面输入;基于该附加图像和/或用户界面输入解析该至少一个参数的给定属性;以及基于该给定属性解析请求。
在一些实施方式中,提供了一种由一个或多个处理器执行的方法,该方法包括:经由客户端设备的自动化助理界面接收由用户提供的自然语言输入;和确定该自然语言输入包括与客户端设备的环境中的对象相关的请求。该方法还包括响应于确定自然语言输入包括与对象相关的请求:使得对由环境中的客户端设备或附加电子设备的传感器捕捉的初始传感器数据执行处理。该方法还包括基于以对初始传感器数据的处理为基础而解析的对象的一个或多个初始属性,确定该请求基于初始传感器数据是不可解析的。该方法还包括响应于确定该请求是不可解析的:提供提示以经由客户端设备的自动助手界面呈现给用户。该方法还包括:响应于提示而接收自然语言输入或图像;和基于自然语言输入或图像解析请求。
在一些实施方式中,提供了一种由一个或多个处理器执行的方法,该方法包括:处理由电子设备的相机捕捉的至少一个图像,以解析该至少一个图像中的对象的一个或多个属性;选择用于该对象的一个或多个字段,这些字段是通过该至少一个图像的处理所解析的属性未定义的;经由电子设备或附加电子设备提供针对选定的一个或多个字段中的至少一个定制的提示;响应于该提示,接收相机捕捉的附加图像以及用户界面输入中的至少一个;基于附加图像和用户界面输入中的至少一个为选定的一个或多个字段解析给定属性;基于已解析的给定属性确定附加内容;以及经由电子设备提供附加内容以呈现给用户。
在一些实施方式中,提供了一种由一个或多个处理器执行的方法,该方法包括:处理由电子设备的相机捕捉的至少一个图像,以解析该至少一个图像中的对象的一个或多个属性;选择用于该对象的一个或多个字段,这些字段是通过对该至少一个图像的处理所解析的属性未定义的;通过电子设备或附加电子设备提供用于向用户呈现的提示;接收在提供了提示之后捕捉的至少一个附加图像;以及选择可用图像处理引擎的子集以处理该至少一个附加图像。基于与一个或多个字段的解析相关联来选择子集的可用图像处理引擎。该方法还包括基于将至少一个附加图像应用于可用图像处理引擎的所选子集来解析一个或多个字段的一个或多个附加属性。解析了该一个或多个附加属性而没有将至少一个附加图像应用于未包括在所选子集中的其它可用图像处理引擎。
另外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中该一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且其中这些指令被配置成引起任何前述方法的执行。一些实施方式还包括一个或多个非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以执行任何前述方法的计算机指令。
应当理解,本文中更详细描述的前述概念和附加概念的所有组合应被认为是本文公开的主题的一部分。例如,出现在本公开的结尾处的所要求保护主题的所有组合都应被认为是本文公开的主题的一部分。
附图说明
图1是可实施本文公开的技术的示例环境的方框图。
图2A、图2B、图3、图4、图5A、图5B、图6和图7示出了根据各种实施方式的可如何采用本文所述的技术的示例。
图8示出了根据本文公开的实施方式的示例方法的流程图。
图9示出了计算设备的示例架构。
具体实施方式
图1示出了其中可以实施本文公开的技术的示例环境。该示例环境包括多个客户端设备1061-N以及自动化助理120。虽然图1中示出自动化助理120与客户端设备1061-N分开,但是在一些实施方式中,自动化助理120的全部或几方面可以由一个或多个客户端设备1061-N来实现。例如,客户端设备1061可以实施自动化助理120的一个或多个方面的一个或多个实例,并且客户端设备106N还可以实施自动化助理120的那些一个或多个方面的单独实例。在其中自动化助理120的一个或更多方面由远离客户端设备1061-N的一个或更多计算设备实施的实施方式中,客户端设备1061-N和自动化助理120的那些方面可以经由一个或多个网络(诸如局域网(LAN)和/或广域网(WAN)(例如,互联网))通信。
客户端设备1061-N可包括例如以下设备中的一个或多个:台式计算机设备、膝上型计算机设备、平板计算机设备、移动电话计算设备、用户的车辆的计算机设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立的交互式扬声器、智能相机和/或用户的包括计算设备的可穿戴设备(例如,用户的具有计算设备的手表、用户的具有计算设备、虚拟或增强现实计算设备的眼镜)。可以提供附加的和/或可替选的客户端计算设备。
在一些实施方式中,给定用户可以利用集中来自计算设备的协调“ecosystem(生态系统)”的多个客户端设备来与自动化助理120进行通信。在一些这样的实施方式中,自动化助理120可以被认为是“serve(服务)”该给定用户,例如,赋予自动化助理120对由“served(所服务的)”用户控制的对其的资源(例如,内容、文档等)的访问的增强的访问权限。然而,为了简洁起见,本说明书中所述的一些示例将集中于操作单个客户端设备的用户。
每个客户端设备1061-N都可以操作各种不同的应用,诸如多个消息交换客户端1071-N中的对应的一个以及多个相机应用1091-N中的对应的一个。每个客户端设备106还可以配备一个或多个相机111(例如,在智能电话或平板电脑的情况下的前置和/或后置相机)和/或一个或多个附加传感器113。附加传感器113可包括例如麦克风、温度传感器、重量传感器等。在一些实施方式中,一个或多个附加传感器113可以被提供为独立的外围设备的一部分,该独立的外围设备与一个或多个对应的客户端设备106和/或自动化助理120分离,但是与之通信。例如,一个或多个附加传感器1131能够被包含在外围秤中,并且能够生成指示放置在称上的物体的重量的传感器数据。
消息交换客户端1071-N可以具有各种形式,并且这些形式可以在客户端计算设备1061-N之间变化,和/或可以在单个客户端计算设备1061-N上操作多种形式。在一些实施方式中,一个或多个消息交换客户端1071-N的形式可以为短消息服务(“SMS”)和/或多媒体消息服务(“MMS”)客户端、在线聊天客户端(例如,即时通讯程序,因特网中继聊天或“IRC”等)、与社交网络关联的消息应用、专用于与自动化助理120进行对话的个人助理消息服务等。在一些实施方式中,一个或多个消息交换客户端1071-N可以经由网页或由网络浏览器(未示出)或客户端计算设备106的其它应用所呈现的其它资源来实现。
相机应用1091-N可以使用户能够控制相机1111-N。例如,一个或多个相机应用1091-N可以提供用户可以与之交互以捕捉一个或多个图像和/或视频的图形用户界面。在一些实施方式中,相机应用1091-N可以如本文所述地与自动化助理120交互/对接,以使用户能够解析与由相机1111-N捕捉的图像相关联的请求。在其它实施方式中,一个或多个相机应用1091-N可具有不同于自动化助理120的其自己的内置功能,其使用户能够解析与相机1111-N捕捉的图像相关联的请求。另外或可替选地,在一些实施方式中,消息交换客户端107或安装在客户端设备106上的任何其它应用可包括使应用能够访问由相机111和/或附加传感器113捕捉的数据并执行本文所述的技术的功能。
相机1111-N能够包括单面相机、立体相机和/或热成像相机。虽然在图1中示出了客户端设备1061和客户端设备106N每个都仅具有单个相机,然而在许多实施方式中,客户端设备都可包括多个相机。例如,客户端设备能够具有前向和后向的单面相机。而且,例如,客户端设备能够具有立体相机和热成像相机。而且,例如,客户端设备能够具有单面相机和热成像相机。此外,在各种实施方式中,在本文所述的技术中采用的传感器数据能够包括来自多种不同类型相机(相同客户端设备和/或多个客户端设备的)的图像。例如,最初可以使用来自单面相机的图像来确定请求是不可解析的,并且之后接收来自单独的热成像相机的图像(例如,响应于提示)并将其用于解析请求。另外,在一些实施方式中,可以利用来自其它视觉传感器的传感器数据,诸如来自三维激光扫描仪的点云传感器数据。
如本文中更详细所述的,自动化助理120经由一个或多个客户端设备1061-N的用户界面输入和输出设备与一个或多个用户进行人机对话会话。在一些实施方式中,响应于用户经由客户端设备1061-N之一的一个或多个用户界面输入设备提供的用户界面输入,自动化助理120可以与用户进行人机对话会话。
在那些实施方式中的一些实施方式中,用户界面输入被明确地指向自动化助理120。例如,消息交换客户端1071-N之一可以是专用于与自动化助理120会话的个人助理消息服务,并且经由该个人助理消息服务提供的用户界面输入可被自动地提供给自动化助理120。此外,例如,基于指示自动化助理120将被调用的特定用户界面输入,用户界面输入可显式地指向一个或多个消息交换客户端1071-N中的自动化助理120。例如,特定用户界面输入可以是一个或多个键入的字符(例如,@AutomatedAssistant)、用户与硬件按钮和/或虚拟按钮的交互(例如,轻击、长按)、口头命令(例如,“Hey Automated Assistant(嘿自动化助理)”)和/或其它特定的用户界面输入。在一些实施方式中,即使当用户界面输入未明确地指向自动化助理120时,自动化助理120也可以响应于用户界面输入而参与对话会话。例如,自动化助理120可以检查用户界面输入的内容并响应于用户界面输入中存在的某些术语和/或基于其它暗示而参与对话会话。在许多实施方式中,自动化助理120可以参与交互式语音响应(“IVR”),使得用户能够发出命令、进行搜索等,并且自动化助理120可以利用自然语言处理和/或一种或多种语法将话语转换为文本,并做出相应回应。
客户端计算设备1061-N和自动化助理120每个都可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据并执行应用的一个或多个处理器,以及有助于通过网络进行通信的其它组件。由一个或多个客户端计算设备1061-N和/或由自动化助理120执行的操作可以分布在多个计算机系统上。自动化助理120可以被实施为例如在通过网络彼此耦合的一个或多个位置中的一台或多台计算机上运行的计算机程序。
除了在图1中未示出的其它组件之外,自动化助理120还可包括自然语言处理器122、请求引擎124、提示引擎126以及请求解析引擎130(包括属性模块132)。在一些实施方式中,可以在与自动化助理120分离的组件中省略、组合和/或实施自动化助理120的引擎和/或模块中的一个或多个。在一些实施方式中,自动化助理120响应于在与自动化助理120的人机对话会话期间来自客户端设备1061-N的各种输入生成响应内容。自动化助理120(例如,当与用户的客户端设备分开时通过一个或多个网络)提供响应内容以作为对话会话的一部分呈现给用户。例如,自动化助理120可以响应于经由客户端设备1061-N之一提供的自由形式自然语言输入,响应于由相机111之一捕捉的图像,和/或响应于由一个或多个附加传感器113捕捉的附加传感器数据而生成响应内容。本文中使用的自由形式输入是由用户制定并且不限于为了由用户选择而呈现的一组选项的输入。
本文中使用的“对话会话”可包括在用户与自动化助理120(以及在某些情况下,对话中的其它人类参与者)之间的一个或多个消息的逻辑上自包含的交换。自动化助理120可以基于各种信号来区分与用户的多个对话会话,诸如会话之间的时间流逝、会话之间的用户场境改变(例如,位置、已排程的会议之前/之中/之后等)、检测到用户和客户端设备之间除了用户与自动化助理之间的会话之外的一个或多个插入交互(例如,用户切换应用一会儿,用户离开然后稍后返回到独立的语音激活产品)、会话之间的客户端设备的锁定/休眠、用于与自动化助理120的一个或多个实例进行交互的客户端设备的改变等。
在一些实施方式中,当自动化助理120提供请求用户界面输入(例如,口头输入和/或键入的输入)形式的用户反馈的提示时,自动化助理120可以(通过其提供提示)抢先激活客户端设备的一个或多个组件,这些组件被配置成处理要响应于该提示而接收的用户界面输入。例如,在要经由客户端设备1061的麦克风提供用户界面输入的情况下,自动化助理120可以提供一个或多个命令以引起:麦克风被抢先“opened(打开)”(由此防止需要敲打界面元素或说出“hot word(热词)”以打开麦克风);抢先激活到客户端设备1061的文本处理器的本地语音;抢先建立客户端设备1061与到文本处理器的远程语音(例如,对自动化助理120的文本处理器的远程语音)之间的通信会话;和/或在客户端设备1061上呈现图形用户界面(例如,包括可选择以提供反馈的一个或更多可选元素的界面)。与未抢先激活这些组件相比,这可使得能够更快地提供和/或处理用户界面输入。
自动化助理120的自然语言处理器122处理由用户经由客户端设备1061-N生成的自然语言输入,并可以生成带注释的输出,以供自动化助理120的一个或多个其它组件(诸如请求引擎124、提示引擎126和/或请求解析引擎130)使用。例如,自然语言处理器122可以处理由用户经由客户端设备1061的一个或多个用户界面输入设备生成的自然语言自由形式输入。所生成的带注释的输出包括自然语言输入的一个或多个注释以及可选地包括自然语言输入的一个或多个(例如,全部)术语。在一些实施方式中,自然语言处理器122包括语音处理模块,其被配置成处理语音(口头)自然语言输入。然后,自然语言处理器122能够对处理后的语音输入进行操作(例如,基于从处理后的语音输入得到的文本)。例如,语音处理模块可以是语音到文本模块,其以流音频记录的形式接收自由形式自然语言语音输入,并利用一个或多个语音到文本模型将该语音输入转换为文本。例如,客户端设备能够响应于在用户讲话时从客户端设备的麦克风接收到的信号来生成流音频记录,并且能够将流音频记录发送到自动化助理以通过语音到文本模块进行处理。
在一些实施方式中,自然语言处理器122被配置成识别和注释自然语言输入中的各种类型的语法信息。例如,自然语言处理器122可以包括语音标记器的一部分,其被配置成用术语的语法角色来注释术语。例如,语音标记器的该部分可以用其语音部分,诸如“noun(名词)”、“verb(动词)”、“adjective(形容词)”、“pronoun(介词)”等标记每个术语。此外,例如,在一些实施方式中,自然语言处理器122可以另外和/或可替选地包括被配置成确定自然语言输入中的术语之间的句法关系的依存句法分析器(未示出)。例如,依存句法分析器可以确定哪些术语修改了其它术语,句子的主语和动词等等(例如,分析树)——并且可以对这种依存进行注释。
在一些实施方式中,自然语言处理器122可以另外和/或可替选地包括实体标记器(未示出),该实体标记器被配置成在一个或多个段中注释实体引用,诸如对人的引用(包括例如文学人物、名人、公众人物等)、组织、位置(真实的和虚构的)等等。在一些实施方式中,关于实体的数据可被存储在一个或多个数据库中,诸如存储在知识图(未示出)中。在一些实施方式中,知识图可包括代表已知实体(在某些情况下,实体属性)的节点,以及连接节点并表示实体之间关系的边。例如,“banana(香蕉)”节点可被连接(例如,作为子节点)到“fruit(水果)”节点,“fruit”节点继而可被连接(例如,作为子节点)到“produce(产品)”和/或“food(食物)”节点。作为另一示例,被称为“Hypothetical Café(假想咖啡厅)”的餐厅可以由一个节点表示,该节点还包括诸如其地址、所供应食物的类型、营业时间、联系信息等属性。在一些实施方式中,“Hypothetical Café”节点可通过边(例如,代表子节点与父节点的关系)连接到一个或多个其它节点,诸如“restaurant(餐馆)”节点、“business(企业)”节点,代表餐厅所在城市和/或州的节点,等等。
自然语言处理器122的实体标记器可以以高粒度级别(例如,以使得能够识别对诸如人的实体类别的所有引用)和/或低粒度级别(例如,以使得能够识别对特定实体(诸如特定人员)的所有引用)注释对实体的引用。实体标记器可以依赖于自然语言输入的内容来解析特定实体和/或可以可选地与知识图或其它实体数据库进行通信以解析特定实体。
在一些实施方式中,自然语言处理器122可以另外和/或可替选地包括被配置成基于一个或多个场境线索来对同一实体的引用进行分组或“聚类”的共指解析器(未示出)。例如,在自然语言输入“I liked Hypothetical Cafélast time we ate there(我喜欢我们上次在那里用餐的假想咖啡厅)”中,可以使用共指解析器将术语“there(那里)”解析为“Hypothetical Café”。
在一些实施方式中,自然语言处理器122的一个或多个组件可能依赖于来自自然语言处理器122的一个或多个其它组件的注释。例如,在一些实施方式中,命名的实体标记器可能在对特定实体的所有提及进行注释时依赖于来自共指解析器和/或依存句法分析器的注释。同样地,例如,在一些实施方式中,在对同一实体的引用进行聚类时,共指解析器可能依赖于来自依存句法分析器的注释。在一些实施方式中,在处理特定自然语言输入时,自然语言处理器122的一个或多个组件可以使用相关的先前输入和/或特定自然语言输入之外的其它相关数据来确定一个或多个注释。
请求引擎124利用一个或多个信号来确定何时存在与请求相关联的客户端设备的环境中的对象相关的请求。例如,请求引擎124能够基于经由客户端设备1061提供的自然语言输入、由相机1111捕捉的图像、来自附加传感器1131的附加传感器数据,和/或客户端设备1061的已检测位置和/或其它场境属性来确定与客户端设备1061的环境中的对象相关的请求。
作为一个示例,请求引擎124能够基于由用户经由客户端设备1061提供的自然语言输入(例如,口头语音输入)来确定这种请求。例如,请求引擎124能够依靠来自自然语言处理器122的注释来确定某些话语可能与环境中的对象有关,诸如话语“what is this(这是什么)”、“where can I buy this(我在哪里可以买到这个)”、“how much does thiscost(这个多少钱)”、“how much does this thing weigh(这个东西多重)”、“tell memore about that(告诉我更多相关的)”等。在一些实施方式中,请求引擎124能够基于包括不能对先前自然语言输入中的先行词(例如,由自然语言处理器122)共指解析的形式(例如,诸如“this(这)”、“thing(东西)”、“it(它)”、“that(那个)”之类的歧义代词)的话语而确定这种请求。换句话说,由于请求引用了对于先前自然语言输入的先行词不可解析的形式,因此请求引擎124能够假定话语与环境对象有关。在一些实施方式中,响应于确定话语与环境对象有关,请求引擎124能够使图像和/或其它传感器数据被客户端设备1061捕捉。例如,请求引擎124能够向相机1111和/或相机应用1091提供一个或多个命令,以使得一个或多个图像被捕捉。在那些实施方式中的一些实施方式中,请求引擎124能够使图像被捕捉而无需客户端设备1061的用户选择“图像捕捉”交互元素,提供口头“capture image(捕捉图像)”命令和/或以其它方式与客户端设备1061物理地交互以使得图像被捕捉。在一些实施方式中,在捕捉图像之前可能需要来自用户的确认。例如,请求引擎124能够引起提供“Ineed to capture an image to answer your request(我需要拍摄图像以回答你的请求)”的用户界面输出,并且仅响应于肯定的用户响应(例如,“OK(好)”)才引起图像被捕捉。
作为另一示例,请求引擎124能够基于经由客户端设备1061捕捉的图像、声音记录和/或其它传感器数据来另外或可替选地确定这种请求。例如,请求引擎124能够基于结合经由相机1111对至少一个图像的捕捉而提供的话语来确定这种请求(例如,在捕捉至少一个图像之前、之后和/或期间)。例如,响应于用户界面输入,在经由相机1111捕捉图像的X秒之内说出“what is this(这是什么)”。能够在客户端设备1061的助理应用(例如,专门用于与自动化助理120交互的应用)的场境下,或者在客户端设备1061的另一应用,诸如相机应用、聊天应用等的场境下,经由相机1111捕捉图像。因而,在一些实施方式中,请求引擎124能够基于从多个不同应用中的任何一个捕捉的图像和/或话语来确定这种请求。而且,例如,请求引擎124能够基于被捕捉的传感器数据来确定这种请求—并且能够独立于任何话语来确定这种请求。例如,请求引擎124能够基于用户在某些场境下(例如,当位置数据客户端设备1061指示用户在零售店位置时)捕捉图像来确定这种请求。作为又一示例,请求引擎124能够响应于用户使得经由附加传感器1131的麦克风捕捉记录来确定这种请求。例如,用户能够使音频记录被捕捉,其中音频记录捕捉由用户的吸尘器产生的噪声,然后提供“whyis my vacuum making this noise(为什么我的真空吸尘器会发出这种噪声)”的话语。
作为另一示例,请求引擎124能够基于由用户选择的界面元素和/或基于经由特定界面捕捉的图像和/或其它传感器数据,另外或可替选地确定这种请求。例如,在经由相机应用1091捕捉图像之后,能够呈现“find out more(了解更多)”的图形界面元素(例如,基于来自自动化助理120的输出)作为经由相机应用1091的建议,并且对图形界面元素的选择能够被请求引擎124解释为对关于由图像捕捉的对象的附加信息的请求。而且,例如,如果用户利用消息交换客户端1071和/或专门针对自动化助理120的定制以捕捉图像和/或其它传感器数据的其它应用(例如,专门用于与自动化助理120交互的客户端应用),则这种捕捉能够被请求引擎124解释为与传感器数据捕捉的对象相关的请求。
当存在与请求相关联的客户端设备的环境中的对象有关的请求时(例如,如由请求引擎124所确定的),请求解析引擎130尝试解析该请求。在尝试解析请求时,请求解析引擎130能够利用与请求相关联的自然语言输入(如果存在),和/或与请求相关联的其它传感器数据,和/或其它内容。如本文中更详细描述的,请求解析引擎130能够在确定请求是否可解析时与一个或多个代理146、图像处理引擎142和/或附加处理引擎144交互。
如果请求解析引擎130确定请求是可解析的,则请求解析引擎130能够在解析该请求时与一个或多个代理146交互。代理146能够包括由控制自动化助理120的同一方控制的一个或多个所谓的第一方(1P)代理,和/或能够包括由单独的一方控制的一个或多个所谓的第三方(3P)代理。作为一个示例,代理146能够包括搜索系统(1P搜索系统或3P搜索系统),并且请求解析引擎130能够通过向搜索系统提交搜索,接收响应内容(例如,单个“answer(回答)”)以及经由客户端设备1061提供响应内容以进行呈现来解析请求。
如果请求解析引擎130确定请求不可解析,则请求解析引擎130能够使提示引擎126确定一个或多个提示,从而经由客户端设备1061提供以进行呈现。由提示引擎126确定的提示能够指示用户捕捉对象的附加传感器数据(例如,图像、音频、温度传感器数据、重量传感器数据)和/或移动对象(和/或其它对象),以使得能够捕捉对象的附加传感器数据。提示能够另外或可替选地请求用户提供针对对象的未解析属性的用户界面输入。
然后,请求解析引擎130能够利用响应于该提示而接收到的附加传感器数据和/或用户界面输入再次尝试解析该请求。如果请求仍然不能解析,则请求解析引擎130能够使提示引擎126确定一个或多个另外的提示以经由客户端设备1061提供而进行呈现。然后能够利用响应于这些附加提示而接收到的附加传感器数据和/或用户界面输入来再次尝试解析该请求。这能够一直继续,直到请求被解析,达到提示的阈值数量,经过阈值时间段,和/或直到达到一个或多个其它条件。
请求解析引擎130可选地包括属性模块132,其确定请求所指示的对象的各种属性。如本文所述,能够在确定请求是否可解析时和/或在确定请求不可解析时确定提供提示时利用这些属性。属性模块132能够在确定各种属性时与图像处理引擎142和/或附加处理引擎144对接。例如,属性模块132能够将捕捉的图像提供给一个或多个图像处理引擎142。图像处理引擎142能够对这些图像执行图像处理,并且作为响应,提供基于所捕捉的图像可解析的属性(如果存在)。同样地,例如,属性模块132能够将其它捕捉的传感器数据提供给一个或多个附加处理引擎144。附加处理引擎144能够对这些图像执行处理,并作为响应提供基于所捕捉的传感器数据可解析的属性(如果存在)。例如,一个或多个附加处理引擎144能够被配置成处理音频数据以确定音频数据的一个或多个属性,诸如音频数据中存在的实体(例如,作为音频数据中的声音的来源的特定对象),和/或音频数据的其它属性(例如,音频数据中的“哔哔声”的数量和/或频率)。
在一些实施方式中,请求解析引擎130基于确定由属性模块132解析的属性(如果存在)未能以目标特异性程度定义对象而确定请求是不可解析的。在一些实施方式中,对象的目标特异性程度能够为分类式分类法中的对象的目标分类程度。例如,汽车的目标分类程度能够分类为定义汽车的品牌和型号的级别,或者能够分类为定义汽车的品牌、型号和年代的级别。这样的目标分类程度能够可选地存储在资源数据库148中,并且能够从资源数据库148访问。在一些实施方式中,能够参考要定义的一个或多个字段来定义对象的目标特异性程度,其中用于对象的字段能够取决于对象的分类(一般或特定)。例如,对于一瓶葡萄酒,能够为特定品牌、葡萄酒类型和/或年份定义字段——目标特异性程度是所有那些字段的属性的解析。为了对象的分类而定义的这些字段能够被可选地存储在资源数据库148中,并且能够从资源数据库148访问。在一些实施方式中,能够基于用户提供的初始自然语言输入、用户提供的反馈、用户和/或其它用户的历史交互,和/或位置和/或其它场境信号确定目标特异性程度。
在一些实施方式中,提示引擎126确定提示,该提示在进一步输入上提供指导,这将使得能够解析与环境对象有关的请求。在那些实施方式中的一些实施方式中,基于属性模块132已经解析的对象的一个或多个属性来确定提示。例如,能够由属性模块132确定环境对象的分类属性,诸如由图像处理引擎142之一基于所捕捉的图像解析的分类属性。例如,提示引擎126能够确定专门针对汽车分类的“car”分类的提示(例如,“take a pictureof the back of the car(拍摄汽车后部的图片)”)。而且,例如,提示引擎126能够确定针对“jacket”分类的提示,该提示专门针对“jacket”分类(例如,“take a picture of thelogo(拍摄标识的图片)”)。而且,例如,在一些实施方式中,分类属性能够与要定义的一个或多个字段相关联。在那些情况中的一些情况下,能够基于尚未由属性模块132已经确定的属性(如果存在)定义的字段来生成提示。例如,如果一瓶葡萄酒的年份字段尚未定义,则提示能够为“take a picture of the year(拍摄年份的图片)”或“what is the year(哪一年)?”。
现在参考图2A至图8的示例提供对图1的各种组件的附加描述。虽然在图2A至图8中未示出图1的一些组件,但是在下面的讨论中参考这些图来描述各种组件的功能的某些示例。
图2A和图2B示出了根据本文所述的实施方式的,用户(未示出)如何与在客户端设备1061上操作和/或结合在客户端设备1061中操作的自动化助理(图1中的120)的实例交互的示例。客户端设备1061采用包括触摸屏160和至少一个相机1111(正面和/或背面)的智能电话或平板计算机的形式。在触摸屏160上渲染的是与相机功能(例如,图1中的相机应用109和/或包括电子取景器的其它应用)相关联的图形用户界面,其例如实时地渲染由相机1111捕捉的传感器数据。图形用户界面包括用户输入字段164和可操作用于控制相机1111的操作的一个或多个图形元素1661,2。例如,第一图形元素1661可操作用于在正面和背面相机之间切换,第二图形元素1662可操作用于使用相机1111来捕捉图像(或视频(其连续地捕捉多个图像),取决于设置)。图2A和图2B中未示出的其它图形元素可操作用于执行其它动作,诸如更改相机设置、在图像捕捉和视频捕捉模式之间切换、添加各种效果等。
用户输入字段164可以由用户操作以提供各种输入,诸如能够提供给自动化助理120的自由形式自然语言输入。自由形式自然语言输入能够为键入的用户界面输入(例如,经由未示出的虚拟键盘)和/或能够为由用户提供的语音输入(例如,通过单击右侧的麦克风图标,或说出“hot word(热词)”)。例如,在远离客户端设备1061实施自动化助理120的各方面并且经由用户输入字段164提供语音输入的情况下,语音输入的流版本可以经由一个或多个网络传输到自动化助理120。在各种实施方式中,可以将经由用户输入字段164提供的语音输入例如在客户端设备1061处和/或远程地(例如,在自动化助理120的一个或多个基于云的组件处)转换为文本。
图2A中的相机1111在其视野中捕捉了一瓶葡萄酒261。因此,作为上述电子取景器的一部分,这瓶葡萄酒261的再现物261A出现在触摸屏160上。在各种实施方式中,用户可以例如通过点击用户输入字段164或通过说出诸如“Hey Automated Assistant”之类的调用短语来调用自动化助理120。一旦调用了自动化助理120,则用户说出或键入自然语言输入“How much does this cost?”。另外地或可替选地,用户可以提供单个自然语言输入,其既调用自动化助理120又提供自然语言输入(例如,“Hey assistant,how much does thiscost(嗨助理,这要多少钱)?”)。在一些实施方式中,每当相机应用在客户端设备上处于活动状态时,自动化助理120都可以被自动调用,或者可以响应于不同的调用短语而被调用,否则将不会调用自动化助理120。例如,在一些实施方式中,当相机应用1091处于活动状态时(即,与用户交互,呈现为图形用户界面等),则可以调用自动化助理120。
自动化助理120的请求引擎124能够确定自然语言输入“How much does thiscost?”与客户端设备1061的环境中的对象有关。在一些实施方式中,请求引擎124能够响应于这种确定而使得环境的图像被捕捉(例如,捕捉图2A的再现物261A的图像)。在一些其它实施方式中,用户可以(例如,通过选择第二图形元素1662)使图像被捕捉,并且结合对图像的捕捉(例如,紧接之前、期间或紧接之后)提供自然语言输入。在那些实施方式中的一些实施方式中,请求引擎124能够基于自然语言输入和用户对图像的捕捉两者来确定请求与环境中的对象相关。
请求引擎124将请求的指示提供给请求解析引擎130。请求解析引擎130尝试使用自然语言输入和捕捉的图像来解析请求。例如,请求解析引擎130能够将捕捉的图像提供给一个或多个图像处理引擎142。图像处理引擎142能够处理捕捉的图像以确定“winebottle”的分类属性,并将分类属性返回给请求解析引擎130。请求解析引擎130能够进一步确定该请求是针对“cost”动作(例如,基于自然语言处理器122提供的输出,这基于“howmuch does this cost?”)。此外,对于用于作为“wine bottle”的对象的“cost(成本)”动作,请求解析引擎130能够确定为了解析这种请求,需要解析下列字段的属性:品牌,葡萄酒类型和年份。例如,请求解析引擎130能够基于在资源数据库148中查找针对“wine bottle”分类的“cost”动作的定义字段来确定那些字段。此外,例如,请求解析引擎130能够基于哪些字段被一个或多个代理136指示为需要,能够处理请求而确定那些字段(例如,“winecost(葡萄酒成本)”代理、更一般的“liquor cost(酒成本)”代理,或者甚至更一般的“search system(搜索系统)”代理)。例如,代理可能与“wine cost”意图相关联,并且可以为该“wine cost”意图定义“brand(品牌)”,“wine type(葡萄酒类型)”和“vintage(年份)”的强制性时段/字段。
请求解析引擎130能够进一步确定基于提供的自然语言输入和所捕捉的图像的图像处理无法解析该请求。例如,请求解析引擎130能够确定品牌、葡萄酒类型和年份是不可解析的。例如,从自然语言输入无法解析那些请求,并且图像处理引擎142可能仅提供“winebottle”分类属性(例如,由于例如标签在相应于图2A的再现物261的捕捉图像中被遮挡,所以这些引擎不能解析更细粒度的属性)。
基于请求无法解析,提示引擎126确定并提供提示272A:“Can you take apicture of the label?”。提示272A在图2中示出为(例如,经由客户端设备1061的扬声器提供的)可听提示。然而,在其它实施方式中,可以另外和/或可替选地提供图形提示。当提供可听提示时,能够可选地利用文本到语音处理器模块将文本提示转换为可听提示。例如,提示引擎126能够包括文本到语音处理器,将文本提示转换为音频形式(例如,流音频),并且将音频形式提供给客户端设备1061以经由客户端设备1061的扬声器进行听觉呈现。提示引擎126能够基于请求解析引擎130确定的“wine bottle”分类属性和/或基于请求解析引擎130未解析的品牌、葡萄酒类型和年份字段来确定提示272A。例如,资源数据库148可以对于“wine bottle”的分类和/或对于品牌、葡萄酒类型和/或年份的未解析字段定义—应提供的诸如提示272A之类的提示(例如,该提示(或其部分))可以与“wine bottle”分类和/或未解析的字段相关联地存储。
在图2B中,通过相机1111捕捉附加图像,其中,附加图像捕捉一瓶葡萄酒261的标签。例如,附加图像能够捕捉与图2B的电子取景器中所示的这瓶葡萄酒261的再现物261B相符的图像。为了捕捉这种图像,用户能够将这瓶葡萄酒261重新定位(例如,转动它使得标签可见并且/或者将其移近相机1111),能够重新定位相机1111,和/或能够调整焦距(硬件和/或软件)和/或相机1111的其它特性(例如,通过触摸屏160上的“pinching out(掐出)”手势)。在一些实施方式中,能够响应于用户对第二图形元素1662的选择在图2B中捕捉附加图像。在一些其它实施方式中,附加图像能够被自动捕捉。
请求解析引擎130利用附加图像来确定对象的附加属性。例如,请求解析引擎130能够将捕捉的附加图像提供给一个或多个图像处理引擎142。基于图像处理,一个或多个图像处理引擎142能够(例如,使用OCR)确定“Hypothetical Vineyard(假想葡萄园)”、“Merlot(梅洛)”和“2014”的文本属性,然后将此类文本返回至请求解析引擎130。另外或可替选地,一个或多个图像处理引擎142能够提供细粒度的分类,其具有地识别假想葡萄园的2014年梅洛葡萄酒。如本文所述,在一些实施方式中,对于响应于提示而捕捉的传感器数据(例如,图像),请求解析引擎130可以基于此类传感器数据仅调用可用图像处理引擎的子集来确定附加属性。例如,请求解析引擎130可以基于提示272A(图2A)被定制为产生利用OCR导出其属性的后续图像,仅将附加图像提供给引擎142中的OCR图像处理引擎。而且,例如,请求解析引擎130可以基于已经被解析的通用分类,不将附加图像提供给引擎142中的通用分类引擎。在那些实施方式中的一些实施方式中,这可以节省各种计算资源。当例如在客户端设备1061上实现一个或多个图像处理引擎142时,这可能特别有益。
然后,请求解析引擎130能够基于附加属性来确定请求是可解析的。例如,请求解析引擎130能够将基于自然语言输入和附加属性的代理查询提交给代理146之一。例如,请求解析引擎130能够提交代理查询“cost of vineyard A cabernet sauvignon 2012(葡萄园赤霞珠2012的成本)”和/或结构化代理查询,诸如{意图="wine_cost";品牌="vineyard a";类型="merlot";年份="2012"}。能够响应于代理查询而从代理接收附加内容,并且能够提供至少一些附加内容以呈现给用户。例如,能够基于附加内容呈现图2B的输出272B。输出272B指定价格范围,并且还询问用户是否想要查看用户能够在其中购买这瓶葡萄酒的链接。如果用户对输出272B做出肯定响应(例如,进一步的语音输入“yes(是)”),则可以经由图2B的界面和/或单独界面显示用于购买的链接。价格范围和链接都可能基于响应于代理查询而接收到的附加内容。在图2B中示出了输出272B为(例如,经由客户端设备1061的扬声器提供的)可听输出。然而,在其它实施方式中,可以另外和/或可替选地提供图形输出。
图3示出了根据本文所述的实施方式的,用户(未示出)可以如何与在客户端设备1061上操作和/或结合在客户端设备1061上的自动化助理(图1中的120,未在图2中示出)的实例交互的另一示例。图3类似于图2A,相同附图标记指代相同组件。在图3中,相机1111在其视野中捕捉了一瓶葡萄酒261,并且所捕捉的图像和这瓶葡萄酒261的再现物261A与图2A中的相同。
然而,在图3中,用户提供了自然语言输入“Text a picture of this to Bob(将照片发送给鲍勃)”—而用户在图2A中提供了自然语言输入“How much does this cost”。
自动化助理120的请求引擎124能够确定自然语言输入“Text a picture of thisto Bob”与客户端设备1061环境中的对象有关。在一些实施方式中,请求引擎124能够响应于这种确定而使得环境的图像(例如,捕获图3的再现物261A的图像)被捕捉。在一些其它实施方式中,用户可以(例如,通过选择第二图形元素1662)使图像被捕捉,并且结合图像的捕捉(例如,在紧接之前,期间或紧接之后)提供自然语言输入。
请求引擎124将请求的指示提供给请求解析引擎130。请求解析引擎130尝试使用自然语言输入和捕捉的图像来解析请求。在图3的情况下,请求解析引擎130确定能够基于图像本身解析请求(将照片发送给鲍勃)。结果,请求解析引擎130能够解析该请求而无需提示用户拍摄附加图像(或以其它方式提供与这瓶葡萄酒有关的附加信息)和/或无需提供图像以供图像处理引擎142处理。例如,请求解析引擎130能够通过简单地将图片发短信给名为“Bob(鲍勃)”的用户联系人来解析请求。请求解析引擎130能够可选地提供“Sent(已发送)”的输出372A以通知用户该请求已解析。
因而,图3提供了这样的示例:如何仅当基于初始传感器数据和/或初始用户界面输入确定请求不可解析时才可以可选地提供经定制以使得能够确定附加对象属性的提示。应注意,如果在图3中,用户改为提供自然语言输入“text Bob the name of this wine(将此葡萄酒的名称以文本消息发送给鲍勃)”,则将提供提示(因为基于与图3的再现物261A相符的图像,葡萄酒的名称将几乎不可能解析)。
因而,以这些和其它方式,是否提供这种提示是基于请求是否可解析,其继而是基于请求的特异性程度。例如,“text a picture of this to Bob”不需要已知图像中的对象的任何属性,而“text Bob the name of this wine”则需要知道这瓶葡萄酒的名称。还应注意,在一些实施方式中,除了或代替与请求一起提供的自然语言输入之外,特异性程度还可能基于其它因素。例如,在一些实施方式中,可以不结合所捕捉的图像(或其它捕捉的传感器数据)来提供自然语言输入。在那些实施方式中,特异性程度可以是基于客户端设备1061的位置,可以是基于图像的已解析属性和/或基于其它因素。例如,如果用户在零售店位置(例如,杂货店)捕捉对象的图像,则能够推断出“cost comparison(成本比较)”或具有高特异性程度的类似请求。另一方面,如果用户在公园或其它非零售店位置捕捉对象的图像,则不能推断出任何请求(例如,图像只能存储)——或能够推断具有较小(或没有)特异性程度的请求。
图4示出了根据本文所述的实施方式的,用户(未示出)如何与在客户端设备1061上操作和/或结合在客户端设备1061中操作的自动化助理(图1中的120,图2中未示出)的实例交互的另一示例。图4的界面类似于图2A、图2B和图3,并且相同附图标记指代相同组件。在图4中,相机1111在其视野中捕捉了一瓶葡萄酒261。所捕捉的图像和这瓶葡萄酒261的再现物261C与再现物261(图2A、图3)和261B不同。再现物261C捕捉了这瓶葡萄酒的大部分标签,但是切去了“vineyards(葡萄园)”的一部分并且切去了“2014”中的“4”。
在图4中,用户提供了“order me a case of this(请给我订购一箱这个)”的自然语言输入。请求引擎124能够确定自然语言输入是与客户端设备1061的环境中的对象相关的请求,并将请求的指示提供给请求解析引擎130。
请求解析引擎130尝试使用自然语言输入和所捕捉的图像来解析请求。例如,请求解析引擎130能够将所捕捉的图像提供给一个或多个图像处理引擎142。基于图像处理,图像处理引擎142能够确定“wine bottle”的分类属性,“hypothetical vineyards”的品牌属性(例如,基于可观察到的“hypothetical(假想)”和可观察到的“vin”),以及“merlot”的类型属性。然而,请求解析引擎130能够确定所需的“vintage”字段的属性不可解析(例如,无法以足够高的置信度解析特定年份)。由于“vintage”字段不可解析并且是“ordering acase(订购一箱)”请求所必需的,因此提示引擎126确定并提供提示472A:“Sure,what'sthe vintage of the Hypothetical Vineyard's Merlot(当然,假想葡萄园的梅洛是什么年份)?”。提示472A在图4中被示出为可听提示,但在其它实施方式中也能够为图形。提示引擎126能够基于未解析字段(年份)并基于已解析属性(通过包括对品牌和类型的所确定的属性的参考)来确定提示472A。
提示472A请求用户提供进一步的自然语言输入(例如,语音输入),该自然语言输入能够用于解析年份字段的属性。例如,用户能够用语音输入“2014”来响应提示472A,并且将“2014”用作年份字段的属性。在一些实施方式中,自动化助理120可以在预期到进一步的语音输入时在提供提示472A时促使客户端设备1061的麦克风被激活。可替选地,能够通过输入能够看到完整日期“2014”的第二图像(例如,图2B的261B)来解决提示472A。
然后,请求解析引擎130能够利用“2014”的附加属性和先前确定的属性来解析请求。例如,请求解析引擎130能够向代理146之一提交代理查询,该代理查询引起订购“Hypothetical Vineyard's 2014Merlot(假想葡萄园的2014年梅洛)”的情况。能够可选地响应于代理查询而从代理接收附加内容(例如,订单的确认、总价和/或估计的交货日期),并且可选地提供至少一些附加内容以呈现给用户。
图5A和5B示出了根据本文所述的实施方式的,用户(未示出)如何与在客户端设备1061上操作和/或结合在客户端设备1061中操作的自动化助理(图1中的120,图2中未示出)的实例交互的另一示例。图5A的界面类似于图2A、图2B、图3和图4,并且相同附图标记指代相同组件。
在图5A中,相机1111已经捕捉了季刊561,特别是肯塔基州季刊的“tail(尾)”侧。在图5A中,用户提供了自然语言输入“tell me more about this(请告诉我更多关于此的信息)”。请求引擎124能够确定自然语言输入是与被捕捉的图像有关的请求,并且向请求解析引擎130提供该请求的指示。
请求解析引擎130尝试使用自然语言输入和所捕捉的图像来解析请求。例如,请求解析引擎130能够将所捕捉的图像提供给一个或多个图像处理引擎132。基于图像处理,请求解析引擎130能够确定它是“2001Kentucky Quarter(2001年肯塔基州季刊)”。例如,请求解析引擎130能够基于一个或多个图像处理引擎142中的一个将其细粒度地分类为“2001Kentucky Quarter”来确定它是“2001Kentucky Quarter”。又例如,请求解析引擎130能够另外或可替选地基于图像处理引擎142中的一个将其分类为“Quarter(季刊)”,并且基于图像处理引擎142中的另一个识别图像中的“Kentucky(肯塔基州)”和“2001”的文本将其确定为“2001Kentucky Quarter”。请求解析引擎130能够进一步基于将所捕捉的图像提供给图像处理引擎142来确定在该季刊上存在的附加文本和/或附加实体。例如,由处理引擎142之一进行的OCR处理还可以识别文本“my old Kentucky home(我在肯塔基州的老家)”,和/或图像处理可以将季刊上的“house(小屋)”识别为“My Old Kentucky Home”小屋。
如图5B中所示,自动助手120最初提供“It's a 2001Kentucky Quarter(它是2001年肯塔基州季刊)”的输出572A。能够例如基于确定“Quarter”分类的目标特异性程度是“year(年份)”和“state(州)”,由自动化助理120最初提供这种输出572A。响应于初始输出572A,用户提供自然语言输入574A“no,the place on the back(不,后面的地方)”。基于自然语言输入574A,请求解析引擎130确定由季刊引用的特定地点/位置的经调整的目标特异性程度。换句话说,请求解析引擎130基于用户在自然语言输入574A中提供的反馈来调整目标特异性程度。作为响应,请求解决引擎130尝试以调整后的目标特异性程度解析请求。例如,请求解析引擎130能够确定从图像解析的与“place(地方)”有关的属性,诸如与“My OldKentucky Home”有关的文本和/或实体。如果没有基于所捕捉的图像解析出这些属性,则能够提供提示以请求用户提供指示“place”的用户界面输入和/或捕捉“place”的附加图像。
然而,在图5B的示例中,请求解析引擎130已经基于先前捕捉的图像来解析“MyOld Kentucky Home”的属性。因而,响应于用户输入574A,请求解析引擎130能够以调整后的特异性程度来解析请求,并基于“My Old Kentucky Home”属性生成响应572B。例如,请求解析引擎130能够发出“My Old Kentucky Home”的搜索请求,并响应于搜索请求而接收响应572B以及附加搜索结果。请求解析引擎130能够提供响应572B作为输出,以及能够由用户选择以导致显示附加搜索结果的可选选项572C。
在一些实施方式中,“quarter”分类的目标特异性程度可以至少部分地基于图5A至图5B的交互而适于用户和/或其它用户。例如,基于这样的交互和/或类似的历史交互,能够为“quarter”分类确定“specific place/location on the quarter(该季刊上的特定地方/位置)”的所学习的目标特异性程度。因而,能够鉴于这样确定的特异性程度来适应与季刊的被捕捉图像有关的后续请求。以这些和其它方式,能够利用经由与自动化助理120的交互而提供的用户反馈来学习何时解析请求和/或学习各种未来请求的适当目标特异性程度。
图6示出了其中可以采用所公开的技术的另一示例场景。在图6中,客户端设备106N采用独立交互式扬声器的形式,其使用户101能够参与与在客户端设备106N上和/或与客户端设备106N一起执行的自动化助理120的口头人机对话。为此,客户端106N还可以包括一个或多个麦克风(图6中未示出),以检测来自用户101的语音输入。客户端设备106N还包括被配置成捕捉图像的相机111N。虽然图6中未示出,但是在一些实施方式中,客户端设备106N还可以包括显示设备。
在此示例中,用户101提供语音输入674A:“why is my robot vacuum makingthis noise(为什么我的机器人真空吸尘器会发出这种噪声)?”
自动化助理120的请求引擎124能够确定自然语言输入“why is my robot vacuummaking this noise?”涉及客户端设备106N的环境中的对象以及该对象产生的噪声。在一些实施方式中,响应于这种确定,请求引擎124能够使得音频(例如,试图捕捉“this noise(这种噪声)”的音频)和/或图像被捕捉。
请求引擎124将请求的指示提供给请求解析引擎130。请求解析引擎130尝试使用自然语言输入以及所捕捉的音频和/或所捕捉的图像来解析请求。例如,请求解析引擎130能够将所捕捉的音频提供给一个或多个附加处理引擎134。附加处理引擎134能够分析音频并从该音频确定“three consecutive beeps(连续三声蜂鸣声)”的属性。换句话说,音频捕捉到真空吸尘器发出连续三声蜂鸣声。
然后,请求解析引擎130能够尝试通过例如向搜索系统代理提交基于输入674A和已解析的音频属性的代理查询(例如,代理查询“whatdoes three consecutive beepsmean for robot vacuum(连续三声蜂鸣声对于机器人真空吸尘器意味着什么)”)来解析请求。响应于代理查询,搜索系统可能无法返回任何答案,或者可能不会返回具有满足阈值的置信度的答案。作为响应,请求解析引擎130能够确定请求无法解析。
基于请求无法解析,提示引擎126确定并提供提示672A:“Can you hold thevacuum up to the camera?”。例如,提供提示672A以经由客户端设备106N的扬声器进行可听渲染。提示672A请求用户将真空吸尘机器人661(即发出“this noise(该噪声)”)保持在相机111N的视域中,以试图捕捉能够用于解析与真空吸尘器机器人661相关的附加属性。
在用户最初将吸尘器保持到相机111N之后,能够捕捉图像。然而,请求解析引擎130能够确定不能从图像解析任何属性和/或任何已解析的属性仍然不足以解析请求。作为响应,提供了另一提示672B,其指示用户“move it to let me capture another image(移动它让我捕捉另一个图像)”。
能够在用户101进一步移动吸尘器之后捕捉附加图像,并且请求解析引擎130可能能够基于从附加图像解析出的属性来解析请求。例如,附加图像可能已使得能够确定“Hypo-thetical Vacuum(假想真空吸尘器)”品牌和/或吸尘器型号“3000”,使得能够由请求解析引擎130制定代理查询“what does three consecutive beeps mean for hypo-thetical vacuum 3000(连续三声蜂鸣声对于假想真空吸尘器3000意味着什么)”。该代理查询能够提交给搜索系统代理,并作为响应返回高置信度答案。进一步的输出672C能够是基于高置信度答案。例如,高置信度答案可以遵循“Three consecutive beeps means thebin is full(连续三声蜂鸣声意味着垃圾箱已满)”的进一步输出672C。
图7类似于图6。特别地,图7中的用户101提供的自然语言输入774A与图6的自然语言输入674A相同。此外,自动化助理120可以类似地确定基于自然语言输入774A并且基于所捕捉的任何初始音频和/或图像无法解析请求。在图7中,提示772A请求用户101用他/她的单独智能手机拍照,而不是请求用户将吸尘器661保持到相机111N。例如,如图7中所示,用户101能够利用客户端设备1061(可以是智能电话)来捕捉吸尘器661的图像,同时吸尘器661放置在地面上。如本文所述,客户端设备1061和客户端设备106N能够经由自动化助理120链接到同一用户。自动化助理120能够(响应于提示772A)利用由客户端设备1061捕捉的图像来解析该请求。输出772B与输出672C相同,并且能够是基于从由客户端设备1061捕捉的图像导出的属性,以及基于经由客户端设备106N捕获的音频的属性。以这些和其它方式,自动化助理120能够在解析请求时利用来自用户的多个设备的自然语言输入和/或传感器数据。
图8是示出根据本文公开的实施方式的示例方法800的流程图。为了方便起见,参考执行这些操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种组件,诸如自动化助理120的一个或多个组件。此外,尽管以特定顺序示出了方法800的操作,但这并不意味着限制。可能重新排序、省略或添加一项或多项操作。
在方框802,系统确定与客户端设备的环境中的对象相关的请求。在一些实施方式中,系统能够基于经由客户端设备的自动化助理界面提供的自然语言输入来确定请求。自然语言输入能够包括语音输入和/或键入的输入。在一些实施方式中,系统能够基于经由客户端设备捕捉的图像、声音记录和/或其它传感器数据来另外或可替选地确定请求。在一些实施方式中,系统能够基于由用户选择的界面元素和/或基于经由特定界面捕捉的图像和/或其它传感器数据来另外或可替选地确定请求。
在方框804,系统从客户端设备接收初始传感器数据。例如,系统能够接收由客户端设备的相机捕捉的初始图像。在一些另外的或可替选的实施方式中,系统另外或可替选地从另外的客户端设备(诸如与用户相关联的另外的客户端设备)接收初始传感器数据,用户也与客户端设备相关联。
在方框806,系统基于在方框804接收的初始传感器数据来解析对象的初始属性。例如,在初始传感器数据包括初始图像的情况下,系统能够基于向一个或更多图像处理引擎提供初始图像,并且作为响应从引擎接收初始属性而解析初始属性。
在方框808,系统基于对象的迄今为止已解析的属性来确定方框802的请求是否可解析。在一些实施方式中,系统基于迄今为止已解析的属性是否以目标特异性程度定义对象来确定请求是否可解析。在那些实施方式中的一些实施方式中,目标特异性程度是分类分类法中对象的目标分类程度和/或参考要定义的一个或多个字段来定义,其中对象的字段能够取决于对象的分类(一般或特定)。在这些实施方式中的一些实施方式中,能够基于用户提供的初始自然语言输入、用户提供的反馈、用户和/或其它用户的历史交互,和/或位置和/或其它场境信号来另外或可替选地确定目标特异性程度。
如果在方框808,系统确定请求是可解析的,则系统进行到方框816,并解析请求。在一些实施方式中,方框808和816可以并行地发生(例如,系统可以基于在方框816尝试解析请求而确定请求是否是可解析的)。
如果在方框808,系统确定请求不可解析,则系统进行到方框810,并提供提示以经由客户端设备或附加客户端设备呈现。提示能够例如提示用户捕捉附加传感器数据(例如,拍摄附加图像),移动对象,和/或提供用户界面输入(例如,自然语言输入)。在一些实施方式中,系统基于已解析的对象的一个或多个属性(例如,分类属性)和/或基于尚未由已解析的属性定义的字段来确定提示。
在方框812,系统在提供提示之后接收进一步的输入。系统经由客户端设备或附加客户端设备接收进一步的输入。进一步的输入能够包括附加的传感器数据(例如,附加图像)和/或用户界面输入(例如,自然语言输入)。
在方框814,系统基于进一步的输入来解析附加属性。然后,系统返回到方框808。例如,在附加传感器数据包括附加图像的情况下,系统能够基于将附加图像提供给一个或多个图像处理引擎并且作为响应从引擎接收附加属性来解析附加属性。
在一些实施方式中,方框816包括子方框817和818。在子方框817,系统基于一个或多个已解析的属性来生成附加内容。在一些实施方式中,系统基于以一个或更多已解析属性为基础制定请求,将请求提交给代理以及响应于请求从代理接收附加内容来生成附加内容。在那些实施方式中的一些实施方式中,系统能够基于已解析的属性(例如,从传感器数据和/或自然语言输入解析的属性)选择代理。在方框818,系统提供附加内容以经由客户端设备或附加客户端设备呈现。例如,系统能够提供用于听觉和/或图形呈现的附加内容。例如,系统能够通过向客户端设备或附加客户端设备提供包括附加内容的流音频来提供用于可听呈现的附加内容。
图9是示例计算设备910的方框图,该示例计算设备910可以可选地用于执行本文所述技术的一个或多个方面。在一些实施方式中,客户端设备、自动化助理120和/或其它组件中的一个或多个可包括示例计算设备910的一个或多个组件。
计算设备910通常包括至少一个处理器914,其经由总线子系统912与多个外围设备通信。这些外围设备可包括:存储子系统924,其包括例如存储器子系统925和文件存储子系统926;用户接口输出设备920;用户接口输入设备922;以及网络接口子系统916。输入和输出设备允许用户与计算设备910交互。网络接口子系统916提供到外部网络的接口,并耦合到其它计算设备中的相应接口设备。
用户界面输入设备922可包括:键盘;定点设备,诸如鼠标、轨迹球、触摸板或图形输入板;扫描仪;触摸屏,其结合在显示器中;音频输入设备,诸如语音识别系统、麦克风;和/或其它类型的输入设备。通常,术语“输入设备”的使用旨在包括所有可能类型的设备以及将信息输入到计算设备910中或通信网络上的方式。
用户界面输出设备920可包括显示子系统、打印机、传真机或非可视显示器,诸如音频输出设备。显示子系统可以包括阴极射线管显示器(CRT),诸如液晶显示器(LCD)的平板设备,投影设备或其它用于产生可见图像的机构(例如,与“智能”眼镜相关联的增强现实显示器)。显示子系统还可诸如经由音频输出设备来提供非视觉显示。通常,术语“输出设备”的使用旨在包括所有可能类型的设备以及将信息从计算设备910输出到用户或另一机器或计算设备的方式。
存储子系统924存储提供本文所述的一些或所有模块的功能的编程和数据结构。例如,存储子系统924可以包括执行图8的方法的所选方面,以及实现图1中所示的各种组件的逻辑。
这些软件模块通常由处理器914单独或与其它处理器结合执行。存储子系统924中使用的存储器925能够包括多个存储器,其包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)930以及其中存储固定指令的只读存储器(ROM)932。文件存储子系统926能够提供用于程序和数据文件的持久存储,并且可包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质盒。实施某些实施方式的功能的模块可以由文件存储子系统926中的文件存储子系统924存储,或存储在由处理器914可访问的其它机器中。
总线子系统912提供了一种机制,以使计算设备910的各个组件和子系统按预期的方式相互通信。虽然总线子系统912被示意性地示出为单个总线,但是总线子系统的可替选实施方式可以使用多个总线。
计算设备910能够为各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其它数据处理系统或计算设备。由于计算机和网络不断变化的性质,因此图9中所示的计算设备910的说明仅有意作为用于说明一些实施方式的特定示例。计算设备910的许多其它配置可能具有比图9中所示的计算设备更多或更少的组件。
在本文讨论的某些实施方式可以收集或使用关于用户的个人信息(例如,从其它电子通信中提取的用户数据,关于用户的社交网络的信息,用户的位置,用户的时间,用户的生物特征信息,以及用户的活动和人口统计信息,用户之间的关系等)的情况下,向用户提供一个或多个机会来控制是否收集信息,是否存储个人信息,是否使用个人信息以及如何使用信息收集有关用户的信息,进行存储和使用。即,仅在从相关用户接收到明确的授权后,本文讨论的系统和方法才收集、存储和/或使用用户的个人信息。
例如,向用户提供对程序或特征是否收集有关该特定用户或与程序或特征相关的其它用户的用户信息的控制。向要收集其个人信息的每个用户提供一个或多个选项,以允许控制与该用户有关的信息收集,提供关于是否收集信息以及可收集信息的哪些部分的许可或授权。例如,能够通过通信网络向用户提供一个或多个这些控制选项。另外,在存储或使用某些数据之前,可能会以一种或多种方式处理某些数据,以便删除个人身份信息。作为一个示例,可以处理用户的身份,使得不能确定个人身份信息。作为另一示例,用户的地理位置可以被概括为更大区域,使得不能确定用户的特定位置。此外,根据本公开的某些处理可以排他地在用户设备上发生,使得数据和相关处理不共享给网络或其它第三方设备或服务,并且为了另外的隐私和安全可以被加密和/或密码保护。

Claims (24)

1.一种由一个或多个处理器实施的方法,所述方法包括:
经由客户端设备的自动化助理界面接收由用户提供的语音输入;
确定所述语音输入包括与所述客户端设备的环境中的对象相关的请求;
响应于确定所述语音输入包括与所述对象相关的请求:
使得对由至少一个传感器捕捉的初始传感器数据执行处理,所述至少一个传感器是所述环境中的所述客户端设备或附加电子设备的传感器,并且所述初始传感器数据捕捉所述对象的一个或多个特征;
基于以对所述初始传感器数据的处理为基础而解析的所述对象的一个或多个初始属性来确定所述请求基于所述初始传感器数据是不可解析的;
响应于确定所述请求是不可解析的:
提供指示所述用户捕捉附加传感器数据或移动所述对象的提示以经由所述客户端设备的所述自动化助理界面呈现给所述用户;
接收附加传感器数据,所述附加传感器数据在所述提示被呈现给所述用户之后由所述客户端设备或所述附加电子设备捕捉;
使得对所述附加传感器数据执行处理;以及
基于以对所述附加传感器数据的处理为基础而解析的至少一个附加属性来解析所述请求。
2.根据权利要求1所述的方法,其中,所述初始传感器数据包括由所述客户端设备或所述附加电子设备的相机捕捉的至少一个初始图像,并且进一步包括:
响应于确定所述语音输入包括与所述对象相关的请求:
使得所述至少一个初始图像被捕捉。
3.根据权利要求2所述的方法,其中,捕捉所述至少一个初始图像独立于所述用户和所述客户端设备之间的任何物理接触而发生,并且独立于所述用户和所述附加电子设备之间的任何物理接触而发生。
4.根据上述权利要求中任一项所述的方法,其中,解析所述请求是进一步基于以对所述初始传感器数据的处理为基础而解析的所述对象的所述一个或多个初始属性中的至少一个初始属性。
5.根据上述权利要求中任一项所述的方法,进一步包括:
基于以对所述初始传感器数据的处理为基础而解析的所述一个或多个初始属性并且基于以对所述附加传感器数据的处理为基础而解析的所述至少一个附加属性,确定所述请求仍是不可解析的;和
响应于确定所述请求仍是不可解析的:
提供附加提示,以经由所述客户端设备的所述自动化助理界面呈现给所述用户;
其中,解析所述请求是进一步基于以响应于所述附加提示接收到的输入为基础而解析的至少一个进一步的附加属性。
6.根据权利要求5所述的方法,其中,所述附加提示指示所述用户捕捉附加图像或进一步移动所述对象,并且其中所述输入是由所述客户端设备或所述附加电子设备的相机捕捉的图像。
7.根据权利要求5或权利要求6所述的方法,其中,所述输入是进一步的自然语言输入,并且其中所述进一步的附加属性基于所述进一步的自然语言输入来确定。
8.根据上述权利要求中任一项所述的方法,其中,确定所述请求基于所述一个或多个初始属性是不可解析的包括:
确定所述一个或多个初始属性未能以用于解析所述请求所必要的特异性程度定义所述对象。
9.根据权利要求8所述的方法,进一步包括:
提供初始输出以经由所述客户端设备的自动化助理界面呈现给所述用户,其中所述初始输出是基于所述初始属性;
响应于提供所述初始输出而接收用户反馈;以及
基于所述用户反馈来确定所述特异性程度。
10.根据权利要求8或权利要求9所述的方法,进一步包括:
基于与以对所述初始传感器数据的处理为基础而解析的所述对象的所述一个或多个初始属性相关联的已学习的特异性程度来确定所述特异性程度,所述已学习的特异性程度是基于与和所述初始属性相关联的对象相关的先前自动化助理交互来学习的。
11.根据权利要求8至10中任一项所述的方法,其中,所述特异性程度是分类分类法中的目标分类程度。
12.根据权利要求8或权利要求9所述的方法,进一步包括:
基于以对所述初始传感器数据的处理为基础而解析的所述对象的所述一个或多个初始属性的分类属性来确定所述特异性程度。
13.根据权利要求12所述的方法,其中,所述特异性程度定义特定于所述分类属性的一个或多个字段,并且其中确定所述请求基于所述一个或多个初始属性是不可解析的包括:
确定所述字段中的一个或多个由所述初始属性未定义。
14.根据上述权利要求中任一项所述的方法,进一步包括:
基于以对所述初始传感器数据的处理为基础而解析的所述对象的所述一个或多个初始属性中的至少一个初始属性来确定所述提示。
15.根据权利要求1所述的方法,其中,所述请求是对与所述对象相关的附加信息的请求,并且其中基于以对所述附加传感器数据的处理为基础而解析的所述至少一个附加属性来解析所述请求包括:
基于所述至少一个附加属性来生成附加内容;和
经由所述客户端设备的所述自动化助理界面提供所述附加内容,以作为对所述请求的响应而呈现给用户。
16.根据权利要求15所述的方法,其中,基于所述附加属性来生成所述附加内容包括:
通过一个或多个网络并且经由应用编程接口向代理发送基于所述附加属性生成的代理请求;和
响应于发送所述代理请求而从所述代理接收所述附加内容。
17.一种由一个或多个处理器实施的方法,所述方法包括:
接收由客户端设备的相机捕捉的至少一个图像;
确定所述至少一个图像涉及与由所述至少一个图像捕捉的对象相关的请求;
响应于确定所述图像涉及与所述对象相关的请求:
使得对所述至少一个图像执行图像处理;
基于对所述至少一个图像的图像处理,确定用于解析所述请求所必要的至少一个参数基于所述至少一个图像的图像处理是不可解析的;
响应于确定所述至少一个参数是不可解析的:
提供针对所述至少一个参数定制的提示以经由所述客户端设备或附加客户端设备进行呈现;
响应于所述提示,接收以下中的至少一个:
由所述相机捕捉的附加图像,和
用户界面输入;
基于响应于所述提示而接收到的所述附加图像和所述用户界面输入中的至少一个来解析用于所述至少一个参数的给定属性;以及
基于所述给定属性来解析所述请求。
18.根据权利要求17所述的方法,其中,确定所述至少一个图像涉及与由所述至少一个图像捕捉的对象相关的请求是基于以从所述客户端设备或所述附加客户端设备接收到的一个或多个信号为基础而确定的用户场境。
19.根据权利要求18所述的方法,其中,所述一个或多个信号包括至少一个位置信号。
20.根据权利要求17所述的方法,其中,确定所述至少一个图像涉及与由所述至少一个图像捕捉的对象相关的请求是基于经由所述客户端设备或所述附加客户端设备的用户界面输入设备接收到的自然语言输入。
21.根据权利要求17至20中任一项所述的方法,进一步包括:
基于所述对象的分类属性来确定用于解析所述请求所必要的多个参数,所述对象的所述分类属性是基于对所述至少一个初始图像的图像处理而解析的一个或多个属性中的一个属性;
其中,所述至少一个参数是所述多个参数中的一个参数,并且其中,确定所述至少一个参数是不可解析的包括:
确定基于对所述至少一个初始图像的图像处理而解析的所述一个或多个属性未能定义所述至少一个参数。
22.一种由一个或多个处理器实施的方法,所述方法包括:
经由客户端设备的自动化助理界面接收由用户提供的自然语言输入;
确定所述自然语言输入包括与所述客户端设备的环境中的对象相关的请求;
响应于确定所述自然语言输入包括与所述对象相关的请求:
使得对由所述环境中的所述客户端设备或附加电子设备的传感器捕捉的初始传感器数据执行处理;
基于以对所述初始传感器数据的处理为基础而解析的所述对象的一个或多个初始属性,确定所述请求基于所述初始传感器数据是不可解析的;
响应于确定所述请求是不可解析的:
提供提示以经由所述客户端设备的所述自动助手界面呈现给所述用户;
响应于所述提示而接收自然语言输入或图像;以及
基于所述自然语言输入或所述图像来解析所述请求。
23.一种可选地存储在计算机可读介质上的计算机可读代码,所述计算机可读代码当被计算装置执行时使得所述计算装置执行根据权利要求1至22中任一项所述的方法。
24.一种包括至少一个处理器和具有存储在其上的计算机可读代码的至少一个存储器的装置,其中所述计算机可读代码当被所述至少一个处理器执行时使得所述装置执行根据权利要求1至22中任一项所述的方法。
CN201880032505.2A 2017-05-16 2018-05-15 解析自动化助理请求的方法 Active CN110637284B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011245475.9A CN112445947A (zh) 2017-05-16 2018-05-15 解析自动化助理请求的方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762507153P 2017-05-16 2017-05-16
US62/507,153 2017-05-16
US15/631,274 US10275651B2 (en) 2017-05-16 2017-06-23 Resolving automated assistant requests that are based on image(s) and/or other sensor data
US15/631,274 2017-06-23
PCT/US2018/032786 WO2018213321A1 (en) 2017-05-16 2018-05-15 Resolving automated assistant requests that are based on image(s) and/or other sensor data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202011245475.9A Division CN112445947A (zh) 2017-05-16 2018-05-15 解析自动化助理请求的方法

Publications (2)

Publication Number Publication Date
CN110637284A true CN110637284A (zh) 2019-12-31
CN110637284B CN110637284B (zh) 2020-11-27

Family

ID=64271738

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202011245475.9A Pending CN112445947A (zh) 2017-05-16 2018-05-15 解析自动化助理请求的方法
CN201880032505.2A Active CN110637284B (zh) 2017-05-16 2018-05-15 解析自动化助理请求的方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202011245475.9A Pending CN112445947A (zh) 2017-05-16 2018-05-15 解析自动化助理请求的方法

Country Status (6)

Country Link
US (4) US10275651B2 (zh)
EP (2) EP3612924A1 (zh)
JP (4) JP6817467B2 (zh)
KR (2) KR102290408B1 (zh)
CN (2) CN112445947A (zh)
WO (1) WO2018213321A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10275651B2 (en) 2017-05-16 2019-04-30 Google Llc Resolving automated assistant requests that are based on image(s) and/or other sensor data
US11004444B2 (en) * 2017-09-08 2021-05-11 Amazon Technologies, Inc. Systems and methods for enhancing user experience by communicating transient errors
US10970552B2 (en) 2017-09-28 2021-04-06 Gopro, Inc. Scene classification for image processing
US11487501B2 (en) * 2018-05-16 2022-11-01 Snap Inc. Device control using audio data
KR20210017087A (ko) * 2019-08-06 2021-02-17 삼성전자주식회사 음성 인식 방법 및 이를 지원하는 전자 장치
KR20210020219A (ko) * 2019-08-13 2021-02-24 삼성전자주식회사 대용어(Co-reference)를 이해하는 전자 장치 및 그 제어 방법
US11036724B2 (en) 2019-09-04 2021-06-15 Microsoft Technology Licensing, Llc Interactive visual search engine
US11386144B2 (en) * 2019-09-09 2022-07-12 Adobe Inc. Identifying digital attributes from multiple attribute groups within target digital images utilizing a deep cognitive attribution neural network
US11803887B2 (en) 2019-10-02 2023-10-31 Microsoft Technology Licensing, Llc Agent selection using real environment interaction
US11636438B1 (en) 2019-10-18 2023-04-25 Meta Platforms Technologies, Llc Generating smart reminders by assistant systems
US11567788B1 (en) 2019-10-18 2023-01-31 Meta Platforms, Inc. Generating proactive reminders for assistant systems
US10916241B1 (en) * 2019-12-30 2021-02-09 Capital One Services, Llc Theme detection for object-recognition-based notifications
CN111524518B (zh) * 2020-04-01 2023-04-18 Oppo广东移动通信有限公司 增强现实处理方法及装置、存储介质和电子设备
US11558546B2 (en) 2020-11-24 2023-01-17 Google Llc Conditional camera control via automated assistant commands

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101939740A (zh) * 2007-12-11 2011-01-05 声钰科技 在集成语言导航服务环境中提供自然语言语音用户界面
CN102893327A (zh) * 2010-03-19 2013-01-23 数字标记公司 直觉计算方法和系统
WO2014197336A1 (en) * 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2015042270A1 (en) * 2013-09-23 2015-03-26 Google Inc. Using sensor inputs from a computing device to determine search query

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680324B2 (en) 2000-11-06 2010-03-16 Evryx Technologies, Inc. Use of image-derived information as search criteria for internet and other search engines
JP2002228552A (ja) * 2001-01-31 2002-08-14 Mazda Motor Corp 車両の遠隔故障診断用サーバ、車両の遠隔故障診断方法、遠隔故障診断用プログラム、車載の遠隔故障診断システム、及び、車両の遠隔故障診断システム
US20060238550A1 (en) 2005-03-17 2006-10-26 Symagery Microsystems Inc. Hands-free data acquisition system
US8175617B2 (en) * 2009-10-28 2012-05-08 Digimarc Corporation Sensor-based mobile search, related methods and systems
US9197736B2 (en) * 2009-12-31 2015-11-24 Digimarc Corporation Intuitive computing methods and systems
BR112012029457A2 (pt) * 2010-05-17 2017-03-01 Lg Electronics Inc aparelho eletrodoméstico, sistema de aparelho eletrodoméstico e método para operar o mesmo
KR101275582B1 (ko) * 2010-12-31 2013-06-17 엘지전자 주식회사 휴대 단말기의 동작방법
JP5698203B2 (ja) 2011-09-30 2015-04-08 アップル インコーポレイテッド バーチャルアシスタントのコマンド処理を容易にするためのコンテクスト情報の使用
US9547647B2 (en) * 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US9218192B2 (en) * 2013-01-13 2015-12-22 International Business Machines Corporation Information handling device locally reproducing received defects by selecting an appropriate virtual machine image
US10424009B1 (en) * 2013-02-27 2019-09-24 Amazon Technologies, Inc. Shopping experience using multiple computing devices
WO2014150921A1 (en) * 2013-03-15 2014-09-25 William Martin Cord and cable identification and tracking system
KR102188090B1 (ko) * 2013-12-11 2020-12-04 엘지전자 주식회사 스마트 가전제품, 그 작동방법 및 스마트 가전제품을 이용한 음성인식 시스템
KR102212030B1 (ko) 2014-05-26 2021-02-04 엘지전자 주식회사 글래스 타입 단말기 및 이의 제어방법
KR20160065574A (ko) * 2014-12-01 2016-06-09 엘지전자 주식회사 로봇 청소기 및 그의 제어방법
US9633019B2 (en) * 2015-01-05 2017-04-25 International Business Machines Corporation Augmenting an information request
US20160225372A1 (en) * 2015-02-03 2016-08-04 Samsung Electronics Company, Ltd. Smart home connected device contextual learning using audio commands
JP2016200666A (ja) * 2015-04-08 2016-12-01 株式会社友功社 視覚障害者用商品説明システム
US9697013B2 (en) * 2015-06-10 2017-07-04 Dell Products, L.P. Systems and methods for providing technical support and exporting diagnostic data
KR20170031558A (ko) * 2015-09-11 2017-03-21 엘지전자 주식회사 이동 단말기, 및 홈 어플라이언스
KR102189855B1 (ko) 2015-10-21 2020-12-11 구글 엘엘씨 다이얼로그 시스템들에서의 파라미터 수집 및 자동 다이얼로그 생성
JP6693111B2 (ja) * 2015-12-14 2020-05-13 カシオ計算機株式会社 対話装置、ロボット、対話方法及びプログラム
US20180053504A1 (en) * 2016-08-19 2018-02-22 Otis Elevator Company Intention recognition for triggering voice recognition system
US9928448B1 (en) * 2016-09-23 2018-03-27 International Business Machines Corporation Image classification utilizing semantic relationships in a classification hierarchy
US10182153B2 (en) * 2016-12-01 2019-01-15 TechSee Augmented Vision Ltd. Remote distance assistance system and method
US20180218729A1 (en) * 2017-01-31 2018-08-02 Interactive Intelligence Group, Inc. System and method for speech-based interaction resolution
US10049276B1 (en) * 2017-02-28 2018-08-14 DISH Technologies L.L.C. Augmented reality installation/troubleshooting assistance
US10355931B2 (en) * 2017-04-17 2019-07-16 Essential Products, Inc. Troubleshooting voice-enabled home setup
US10275651B2 (en) 2017-05-16 2019-04-30 Google Llc Resolving automated assistant requests that are based on image(s) and/or other sensor data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101939740A (zh) * 2007-12-11 2011-01-05 声钰科技 在集成语言导航服务环境中提供自然语言语音用户界面
CN102893327A (zh) * 2010-03-19 2013-01-23 数字标记公司 直觉计算方法和系统
WO2014197336A1 (en) * 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2015042270A1 (en) * 2013-09-23 2015-03-26 Google Inc. Using sensor inputs from a computing device to determine search query
US20150088923A1 (en) * 2013-09-23 2015-03-26 Google Inc. Using sensor inputs from a computing device to determine search query

Also Published As

Publication number Publication date
CN110637284B (zh) 2020-11-27
JP2020521167A (ja) 2020-07-16
KR102097621B1 (ko) 2020-04-06
JP6817467B2 (ja) 2021-01-20
KR20190138888A (ko) 2019-12-16
EP4206899A1 (en) 2023-07-05
JP2021061027A (ja) 2021-04-15
JP2023001128A (ja) 2023-01-04
US20180336414A1 (en) 2018-11-22
JP7159392B2 (ja) 2022-10-24
JP6891337B2 (ja) 2021-06-18
US10867180B2 (en) 2020-12-15
US20190220667A1 (en) 2019-07-18
CN112445947A (zh) 2021-03-05
KR102290408B1 (ko) 2021-08-18
WO2018213321A1 (en) 2018-11-22
KR20200037436A (ko) 2020-04-08
US10275651B2 (en) 2019-04-30
US11734926B2 (en) 2023-08-22
US20230394816A1 (en) 2023-12-07
JP2021120911A (ja) 2021-08-19
EP3612924A1 (en) 2020-02-26
US20210056310A1 (en) 2021-02-25

Similar Documents

Publication Publication Date Title
CN110637284B (zh) 解析自动化助理请求的方法
US11929072B2 (en) Using textual input and user state information to generate reply content to present in response to the textual input
CN110741433B (zh) 使用多个计算设备的对讲式通信
US20220335941A1 (en) Dynamic and/or context-specific hot words to invoke automated assistant
KR102222421B1 (ko) 캡처된 이미지들과 관련된 메타 데이터 저장
CN114207710A (zh) 检测和/或登记热命令以由自动助理触发响应动作
EP3631793B1 (en) Dynamic and/or context-specific hot words to invoke automated assistant
CN110770694A (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