CN113424175A - 直观的语音搜索 - Google Patents
直观的语音搜索 Download PDFInfo
- Publication number
- CN113424175A CN113424175A CN202080013910.7A CN202080013910A CN113424175A CN 113424175 A CN113424175 A CN 113424175A CN 202080013910 A CN202080013910 A CN 202080013910A CN 113424175 A CN113424175 A CN 113424175A
- Authority
- CN
- China
- Prior art keywords
- user
- search result
- entity
- response
- feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000004044 response Effects 0.000 claims abstract description 243
- 238000000034 method Methods 0.000 claims abstract description 59
- 230000003993 interaction Effects 0.000 claims abstract description 52
- 230000009471 action Effects 0.000 claims description 13
- 230000003044 adaptive effect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 description 139
- 238000004891 communication Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 21
- 238000013480 data collection Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 17
- 238000004590 computer program Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 8
- 230000000153 supplemental effect Effects 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000007423 decrease Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 5
- 239000013589 supplement Substances 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000000047 product Substances 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 238000013145 classification model Methods 0.000 description 3
- 235000014510 cooky Nutrition 0.000 description 3
- 238000007477 logistic regression Methods 0.000 description 3
- 230000001502 supplementing effect Effects 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 230000010006 flight Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 239000011435 rock Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- 235000008597 Diospyros kaki Nutrition 0.000 description 1
- 244000236655 Diospyros kaki Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000004438 eyesight Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 208000016354 hearing loss disease Diseases 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
- G06F16/24522—Translation of natural language queries to structured queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Audiology, Speech & Language Pathology (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
在本文中所描述的技术改进了基于语音的交互技术,并且为基于语音的应用内的计算机执行的搜索提供了经改进的用户体验。在接收到涉及执行搜索操作以便响应于命令的语音命令之后,可以生成更直观的响应并且将其呈现给用户。具体地,与搜索结果相关的特定特征或属性被确定并且被用作鉴别器。响应于用户,可以提供鉴别器以使得用户能够在多个搜索结果之间进行区分,或者更容易地确认由计算系统提供的特定结果。在一些情况下,当生成响应时可能会忽略搜索结果的特定细节。以这种方式,计算系统可以向用户呈现有限但更聚焦的信息集,其对于做出决定和/或继续与计算系统的交互是更有用的。
Description
背景技术
与计算机系统的基于语音的交互正变得越来越普遍。例如,用户与计算设备之间的许多交互现在都不需要使用图形用户界面(GUI)发生,并且常常设备自身甚至没有GUI,诸如智能扬声器或车辆中的许多类型的计算设备的情况,或者许多类型的可穿戴设备。在用户与计算设备之间的基于语音的交互期间,响应于用户请求,诸如呼叫特定人员或播放特定歌曲的请求,常常涉及计算设备执行搜索操作,诸如搜索用户的联系人以拨打电话或者搜索音乐库以播放歌曲。
然而,通过语音的交互,并且特别是通过语音的搜索交互,引入了与常规搜索不同的新挑战,主要是由于要求用户听到许多选项并且有效地选择期望选项的额外负担。例如,常规的计算系统不是更直观地响应于用户请求,而是可能通过读出搜索引擎结果来进行响应,要求用户收听无关的细节和通常许多不同的选项以便做出选择(例如,呼叫他们的哪个联系人)或者确认由计算系统读出的响应。
利用基于语音的交互而操作的计算系统被配置为通过生成对用户请求的响应以更直观的方式操作将是有帮助的,所述响应包括搜索结果的特定特征或属性,使得用户能够容易地区分多个选择或者容易地确认由计算系统读出的特定响应。
发明内容
提供该概述以简化的形式介绍了下文在详细描述中进一步描述的一些概念。本概述并不意图识别所要求保护的主题的关键特征或必要特征,也并不意图单独使用以辅助确定所要求保护的主题的范围。
在本公开中所描述的技术的实施例涉及用于提供经改进的基于语音的用户-计算机交互技术并且改善在基于语音的应用和计算设备(诸如智能扬声器)内的计算机执行的搜索的用户体验的系统和方法。一些实施例包括用于虚拟助手程序的经改进的基于语音的功能。在高级别处,在接收到涉及执行搜索操作以便响应于请求的用户请求(其可以包括语音命令)之后,在本文中所描述的实施例可以利用多个因素,诸如搜索结果的特征或属性、当前或历史用户活动信息、上下文信息以及在本文中所描述的其他方面,来生成对用户请求的响应。所生成的响应比仅将搜索结果读回给用户更直观地反映用户的请求意图。
具体地,代替仅以可听的格式呈现常规搜索引擎结果,在本文中所描述的实施例确定与搜索引擎结果相关的特定特征或属性,其可以被用作鉴别器。这些鉴别器使得用户能够在多个搜索结果之间进行区分,或者更容易地确认由计算系统提供的特定结果。响应于由计算系统提供的用户请求,可以向用户呈现一个或多个鉴别器。此外,在一些实施例中,当生成和呈现对用户请求的响应时,计算系统可以忽略搜索结果的特定细节,诸如未被确定为鉴别器的其他特征或属性。以这种方式,计算系统可以向用户呈现有限但是更聚焦的信息集,所述信息集对于做出决定和/或继续与计算系统的交互是更有用的,并且没有收听许多选项和/或无关细节的负担或者让用户对选择哪个选项感到困惑或者甚至忘记原始请求是什么的风险。
此外,一些实施例包括用于使用鉴别器来进一步个性化被生成并且提供给用户的响应的功能。具体地并且如在本文中进一步描述的,这些实施例修改或补充关于要在响应中呈现给用户的搜索结果的信息,由此使得用户能够更好地理解响应并且做出更明智的决定和/或继续所述交互。
在这些方式中,本公开的实施例提供了经改善的基于语音的用户-计算机交互和用于在基于语音的应用和计算设备内的计算机执行的搜索的经改善的用户体验。
附图说明
下文参考随附的附图详细描述了在本申请中所描述的技术方面,其中:
图1是适合于实现本公开的各方面的示例性操作环境的框图;
图2是描绘了适合于实现本公开的各方面的示例性计算架构的图;
图3描绘了根据本公开的实施例的在用户与计算系统之间的示例性基于语音的交互;
图4A描绘了在用户与智能扬声器之间的常规的基于语音的交互的示例;
图4B描绘了根据本公开的实施例的在用户与计算系统之间的示例性基于语音的交互;
图5和图6各自描绘了根据本公开的实施例的用于促进在用户与计算系统之间的经改进的基于语音的交互的示例性过程流程;以及
图7是适合用于实现本公开的实施例的示例性计算环境的框图。
具体实施方式
本公开的各方面的主题在本文中被具体描述以满足法定要求。然而,描述自身并不旨在限制本专利的范围。相反,发明人已经设想到,所要求保护的主题也可以以其他方式来体现,以包括与在本文档中所描述的步骤相似的不同步骤或步骤组合,并且结合其他现有或未来技术。此外,尽管术语“步骤”和/或“块”在本文中可以被用于暗示所采用的方法的不同要素,但是这些术语不应当被解读为暗示在本文中所公开的各个步骤之中或之间的任何特定次序,除非并且除了明确描述了个体步骤的次序。
在本文中所描述的技术的各个方面涉及系统、方法和计算机存储介质等,其用于改进基于语音的用户-计算机交互技术和改进在基于语音的应用和计算设备(诸如智能扬声器)内的计算机执行的搜索的用户体验。一些实施例包括用于虚拟助手或个人数字助手的经改进的基于语音的功能,其包括一个或多个计算机程序,并且其可以在一个或多个计算设备上或者跨一个或多个计算设备运行。例如,一种这样的虚拟助手是公司的助手。
如先前所描述的,与计算机系统的基于语音的交互正变得越来越普遍。例如,许多人现在在其家中拥有智能扬声器设备,并且基于语音的交互在智能电器、车辆中变得越来越普遍,并且作为人们与其移动设备进行交互的方式。在基于语音的交互期间,响应于用户的请求(其可能包括对计算系统的语音命令或问题)常常涉及执行搜索操作。例如,搜索用户的联系人以拨打电话,搜索附近的餐厅吃午餐,搜索音乐或媒体以向用户播放,或者响应于其他用户问题或请求。常规的虚拟助手技术可以通过读取响应用户请求而确定的搜索引擎结果的全部或部分来响应于用户的请求。但是,对于用户的决策制订或促进用户交互而言,虚拟助手仅仅从搜索中读出结果是不可取的,也不一定是有帮助的。例如,如果用户请求“呼叫Walgreens”,则智能扬声器上的常规虚拟助手可能会以“我在您的联系人中未发现Walgreens”进行响应。这里是一些其他选项:1)联系我们|Walgreens,联系我们Walgreens登陆页面...有关于您店内药房或照片订单的具体问题,请直接联系您的Walgreens商店。2)客户服务代表|网站服务...-Walgreens,联系我们Walgreens表单页面。...在一些情况下,客户服务可能需要联系客户以便完成请求。3)客服帮助|Walgreens...。
在图4A中例示性地描绘了在用户与智能扬声器之间的常规交互的一个示例,其示出了用户405驾驶汽车并且与智能扬声器415交互。响应于用户呼叫Walgreens药房的请求401(场景410),智能扬声器415响应425,在场景410开始并且继续通过场景420并且通过场景430。如在场景420中所示的,用户405正在失去耐心(或者可能分心并且忘记了他所问的内容)。通过场景430,用户405正在生气。与这种令人沮丧的体验相反,在本文中所描述的技术的实施例生成并且提供对用户请求的更直观的响应,所述响应包括搜索结果的特定特征或属性,使得用户能够更容易地在多个选择之间进行区分或者更容易地确认由计算系统读取的特定响应。
因此,在高水平处,响应于用户的请求,搜索操作可以由虚拟助手或在计算系统(在本文中有时被称为计算设备或用户设备)上运行的计算机程序来执行。可以响应于用户的明确请求(例如,用户要求虚拟助手或计算系统“查找Wonder Woman的电影时间”)来执行搜索操作,或者可以执行搜索作为另一用户请求或命令(例如,用户告诉计算设备“呼叫Ido”,然后可以提示计算设备执行对用户联系人的搜索)的一部分或者作为其响应。在计算系统接收到基于语音的用户请求后,其中所述用户请求涉及执行搜索操作以便响应于所述请求,在本文中所描述的实施例可以利用多个因素,诸如搜索结果的特征或属性、当前或历史的用户活动信息、上下文信息(例如,时间、日期、当前用户位置、当前在(一个或多个)用户设备上运行的应用或者其他上下文信息)以及在本文中所描述的其他方面,来生成对所述用户请求的响应。所生成的响应比仅将搜索结果读回给用户更直观地反映用户的请求意图。另外,计算设备可以执行用户的请求,诸如通过执行与请求相关联的动作。或者在一些情况下,基于随后的用户交互(诸如用户随后对在初始用户请求之后所生成的由计算系统提供的响应做出响应),计算系统可以执行与用户请求相关联的动作,诸如呼叫Ido或者确定并且提供Wonder Woman的电影时间。
具体地,代替仅以可听的格式呈现搜索引擎结果,在本文中所描述的一些实施例可以被认为利用与用户请求相关联的用户意图以便确定与可以用作鉴别器的搜索引擎结果相关的特定特征或属性。这些鉴别器使得用户能够在多个搜索结果之间进行区分,或者更容易地确认由计算系统提供的特定结果。在计算机系统对用户请求的响应中,可以向用户提供一个或多个鉴别器。例如,如果用户搜索餐厅,则鉴别器可能包括餐厅位置或菜品。因此,基于语音的个人助手应用可能会说“在Main Street上有一家意大利餐厅,并且在Broadway上有一家法国餐厅,而不是仅仅读回来自用户查询的所有结果,诸如“附近有哪些餐厅”。
此外,在一些实施例中,当生成和呈现对用户请求的响应时,计算系统可以忽略搜索结果的特定细节,诸如未被确定为鉴别器的其他特征或属性。例如在响应于用户请求“呼叫Walgreens”的上述示例中,根据常规技术,常规的智能扬声器(或者在其上操作的虚拟助手)可能会如在图4A中所示地以“请联系我们,Walgreens,联系我们Walgreens登陆页面。关于具体问题”进行响应。相比之下,本公开的实施例可以相反地以例如“您想呼叫Bellevue的Walgreens还是Redmond的Walgreens?”来响应呼叫Walgreens的用户请求。以这种方式,计算系统或虚拟助手可以向用户呈现有限但是更聚焦的信息集,所述信息集对于做出决定和/或继续与计算系统的交互是更有用的,并且没有收听许多选项和/或无关的细节的负担或者让用户对选择哪个选项感到困惑或沮丧或者甚至忘记最初的请求是什么的风险。
此外,一些实施例包括用于使用鉴别器来进一步个性化被生成并且提供给用户的响应的功能。具体地,这些实施例能够修改或补充关于要在响应中呈现给用户的搜索结果的信息。例如,如果鉴别器是位置,则不是生成和提供说明搜索结果中的实体的地址位置的响应,诸如场所的地址,而是可以修改所述位置信息以针对用户来个性化。例如,响应于呼叫Walgreens的用户请求,不是“您想呼叫在123Main Street还是456Second Street的Walgreens药房”,而是可以将响应修改为进一步个性化,诸如“您想呼叫您工作附近还是您家附近的Walgreens?”相似地,可以修改响应以进一步个性化为“您想呼叫您工作的Walgreens还是您上周呼叫过的Walgreens?”或者,如在图4B的示例中所示的,“您想呼叫您家附近的Walgreens还是在Main Street上三个街区以外的Walgreens?”
因此,在一个方面中,本公开的一些实施例可以被认为驻留在搜索引擎组件之间或者在其之间操作,所述搜索引擎组件可以是常规的搜索引擎,如或者本地或特定于域的搜索引擎,诸如文件搜索引擎或用户联系人搜索引擎,以及用于向用户可听地呈现搜索结果的用户界面组件。对于这些实施例中的一些实施例,从响应于用户请求而执行的搜索接收的搜索结果可以基于(一个或多个)确定的鉴别器来重新格式化以用于音频呈现,诸如通过选择性地提取并且仅使用搜索结果中的特定信息,通过更改或修改搜索结果中的信息,和/或通过利用与用户决策制订相关的额外信息来补充搜索结果信息。例如,在上述Walgreens示例中,位置信息可以被视为鉴别器。因此,可以确定两个Walgreens的位置,从搜索结果中提取,并且然后呈现给用户。因此,用户不会听到关于联系Walgreens的信息的冗长、无益的响应,诸如常规搜索引擎操作所提供的信息,而是听到对其请求的简短回答,其中具有使得用户能够选取一个Walgreens而不是其他Walgreens的相关信息。
尽管本公开的主要焦点是基于语音的交互,但是也设想到了一些实施例可以被用于经由GUI来呈现响应(即,包括一个或多个搜索结果的响应的视觉呈现)。例如,在本公开的一些实施例中,不是生成和可视化呈现搜索结果,诸如由在网络浏览器中操作的常规搜索引擎来提供,而是可以生成和视觉呈现对用户请求的响应,包括一个或多个鉴别器并且不包括无关的细节,如在本文中所描述的。这样的实施例可以被用于改善用户可访问性的特定应用,诸如对于有限视力或听力障碍的用户,或者对于更喜欢从与计算机系统的交互接收更简单和更清晰的响应的年轻用户。以这种方式,在本文中所公开的这样的实施例提供经改进的计算机-用户-界面技术。
现在转向图1,提供了示出其中可以采用本公开的一些实施例的示例性操作环境100的框图。应当理解,在本文中所描述的这种和其他布置仅作为示例进行阐述。除了或代替所示的那些之外,能够使用其他布置和元件(例如,机器、接口、功能、次序和功能分组等),并且为了清楚起见可以一起忽略一些元件。此外,在本文中所描述的许多元件是功能实体,其可以被实现为离散或分布式组件或者与其他组件组合,并且以任何合适的组合和位置来实现。在本文中被描述为由一个或多个实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,一些功能可以由处理器执行被存储在存储器中的指令来执行。
在未示出的其他组件中,示例性操作环境100包括多个计算设备,诸如用户设备102a和102b至102n;多个数据源,诸如数据源104a和104b至104n;服务器106;传感器103a和107;以及网络110。应当理解,在图1中所示的环境100是一种合适的操作环境的示例。在图1中所示的组件中的每个组件可以经由任意类型的计算设备来实现,诸如结合图7所描述的计算设备700。这些组件可以经由网络110彼此通信,网络110可以包括但不限于一个或多个局域网(LAN)和/或广域网(WAN)。在示例性实现方式中,网络110包括互联网和/或蜂窝网络,以及各种可能的公共和/或专用网络中的任意一种。
应当理解,在本公开的范围内,可以在操作环境100内采用任意数量的用户设备、服务器和数据源。每个可以包括单个设备或者在分布式环境中协作的多个设备。例如,服务器106可以经由被布置在分布式环境中的多个设备来提供,这些设备共同提供在本文中所描述的功能。另外,未示出的其他组件也可以被包含在分布式环境内。
用户设备102a和102b至102n能够是操作环境100的客户端侧的客户端设备,而服务器106能够在操作环境100的服务器侧。服务器106能够包括服务器侧软件,其被设计为结合用户设备102a和102b至102n上的客户端侧软件一起工作,以便实现在本公开中所讨论的特征和功能的任意组合。提供操作环境100的这种划分是为了图示出合适环境的一个示例,并且对于每个实现方式不要求服务器106与用户设备102a和102b至102n的意何组合保持作为单独的实体。
用户设备102a和102b至102n可以包括用户能够使用的任意类型的计算设备。例如,在一个实施例中,用户设备102a至102n可以是关于在本文中的图7所描述的计算设备的类型。通过示例而非限制,用户设备可以被体现为个人计算机(PC)、膝上型计算机、移动或移动设备、智能电话、平板计算机、智能扬声器、智能手表、可穿戴计算机、个人数字助手(PDA)、音乐播放器或MP3播放器、全球定位系统(GPS)或设备、视频播放器、手持通信设备、游戏设备或系统、娱乐系统、车辆计算机系统、嵌入式系统控制器、相机、遥控器、条形码扫描器、计算机化测量设备、器具、消费者电子设备、工作站,或者这些描述设备的任意组合,或者任何其他合适的计算机设备。
数据源104a和104b至104n可以包括数据源和/或数据系统,其被配置为使得数据可用于操作环境100或结合图2所描述的系统200的各种组成部分中的任意组成部分。(例如,在一个实施例中,一个或多个数据源104a至104n向图2的用户数据收集组件210提供(或者使其可用于访问)用户数据。)数据源104a和104b至104n可以与用户设备102a和102b至102n和服务器106分立,或者可以被并入和/或集成到这些组件中的至少一个组件中。在一个实施例中,数据源104a至104n中的一个或多个数据源包括一个或多个传感器,所述传感器可以被集成到一个或多个用户设备102a、102b或102n或服务器106中或者与其相关联。结合图2的用户数据收集组件210进一步描述了由数据源104a至104n可用的感测到的用户数据的示例。
操作环境100能够被用于实现系统200的组件中的一个或多个组件,如在图2中所描述的,包括用于收集用户数据、监控用户活动和事件、执行搜索或向/从搜索引擎传送信息、确定鉴别器、基于用户反馈来更新逻辑或模型以及用于生成响应的组件。操作环境100还能够被用于实现在图5和图6中所描述的过程流500和600的各方面。现在参考图2与图1,提供了示出适合于实现本公开的实施例并且通常被指定为系统200的示例性计算系统架构的各方面的框图。系统200仅表示合适的计算系统架构的一个示例。除了或代替所示出的那些布置和元件,可以使用其他布置和元件,并且为了清楚起见,可以一起忽略一些元件。此外,如与操作环境100一样,在本文中所描述的许多元素是功能实体,其可以被实现为离散或分布式组件或者与其他组件结合,并且在任何合适的组合和位置。
示例性系统200包括结合图1所描述的网络110,并且其通信地耦合系统200的组件,包括用户数据收集组件210、呈现组件220、存储装置225、(一个或多个)搜索引擎接口250、域特征确定组件260、用户活动监视器270、特征鉴别器确定280、响应生成290和用户反馈299。用户数据收集组件210、呈现组件220、(一个或多个)搜索引擎接口250、域特征确定组件260、用户活动监视器270、特征鉴别器确定280、响应生成290和用户反馈299可以被体现为一组经编译的计算机指令或功能、程序模块、计算机软件服务、或者在一个或多个计算机系统上执行的过程的布置,例如,诸如结合图7所描述的计算设备700。
在一个实施例中,由系统200的组件执行的功能与一个或多个个人数字助手(有时被称为“虚拟助手”)应用、服务或例程相关联。具体地,这样的应用、服务或例程可以在一个或多个用户设备(诸如用户设备104a)、服务器(诸如服务器106)上运行,可以跨一个或多个用户设备和服务器分布,或者在云中实现。此外,在一些实施例中,系统200的这些组件可以跨网络分布,包括一个或多个服务器(诸如服务器106)和客户端设备(诸如用户设备102a),在云中,或者可以驻留在诸如用户设备102a的用户设备上。此外,这些组件、由这些组件执行的功能或者由这些组件执行的服务可以在(一个或多个)计算系统的(一个或多个)适当的抽象层处实现,诸如操作系统层、应用层、硬件层或者(一个或多个)其他抽象层。替代地或另外,这些组件和/或在本文中所描述的本公开的实施例的功能能够至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,能够使用的硬件逻辑组件的例示性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。另外,尽管在本文中关于在示例性系统200中所示的特定组件描述了功能性,但是设想到了在一些实施例中这些组件的功能性能够跨其他组件来共享或分布。
使用系统200的示例性架构实现根据实施例提供的高级示例。下文描述了该实施例和其他实施例的额外细节。响应于涉及执行搜索操作的用户请求,可以经由(一个或多个)搜索引擎接口250来接收包括搜索结果和域信息的搜索查询相关信息。域特征确定组件260可以利用该域信息来确定针对域的特征类型的集合。
接下来,特征鉴别器确定280可以接收搜索结果和特征类型信息。特征鉴别器确定280然后可以识别搜索结果中的实体(即,搜索结果的项目或元素,其可以具有在表征该项目或元素的搜索结果中所包括的属性或特征的集合),并且使用特征类型来确定与实体相关联的特定特征(包括针对特征类型的值)。例如,如果搜索域是餐厅,则一些特征类型可能包括营业时间和菜品;如果特定搜索结果实体是特定餐厅,则特征可能包括餐厅营业的特定时间和在餐厅处供应的特定菜品。在一些情况下,可以由用户活动监视器270确定的用户活动或用户历史和上下文信息可以由特征鉴别器确定280用于确定用户的个人特征(即,个人特征),诸如与实体相关联的用户历史(例如,对于作为场所的实体,个人特征可能包括用户之前对场所的访问)。特征鉴别器确定280然后利用实体特征来确定可以被用作针对实体的鉴别器的一个或多个特征。在一些情况下,特征鉴别器确定280可以执行对实体特征的比较以促进确定鉴别器。在一些实施例中,如在本文中进一步描述的,机器学习模型可以被用于将特征(或者特征类型)分类或评分为鉴别器。
接下来,响应生成290可以接收搜索结果,或者来自所述结果的一个或多个实体,以及由特征鉴别器确定280所确定的(一个或多个)对应鉴别器。响应生成290可以简化结果,诸如裁剪无关信息,并且可以进一步补充所述结果,诸如通过包括与鉴别器相关联的额外信息或者将鉴别器修改为对用户是个人的(例如,利用与用户相关的位置信息来替换物理地址,诸如呈现在与用户居住或工作相关的地点)。响应生成290然后生成响应,然后所述响应可以经由呈现组件220来呈现给用户。例如,可以通过虚拟助手的计算机生成的语音来说出所述响应。在一些实施例中,响应生成290利用机器学习模型来个性化针对用户的响应,如在本文中进一步描述的。
因此,继续参考图2,用户数据收集组件210通常负责从一个或多个数据源(诸如图1的数据源104a和104b至104n)来访问或接收(并且在一些情况下还识别)用户数据。在一些实施例中,可以采用用户数据收集组件210来促进特定用户(或者在一些情况下,包括众包数据的多个用户)的用户数据的积累用于用户活动监视器270、(一个或多个)搜索引擎接口250、特征鉴别器确定280或者系统200的其他组件或子组件。所述数据可以被用户数据收集组件210接收(或访问)以及可选地累积、重新格式化和/或组合,并且被存储在一个或多个数据存储中,例如存储装置225,在其中所述数据对系统200的组件或子组件可用。例如,所述用户数据可以被存储在用户简档240中或者与用户简档240相关联,如在本文中所描述的。在一些实施例中,任何个人识别数据(即,专门识别特定用户的用户数据)既不是从一个或多个数据源与用户数据一起上传的,也不是永久存储的,对任何特定用户去识别化,和/或对系统200的组件或子组件不可用。在一些实施例中,用户可以选择加入或退出由在本文中所描述的技术提供的服务和/或选择哪些用户数据和/或哪些用户数据源是被这些技术利用的。
可以从各种源接收用户数据,其中,所述数据可以以各种格式获得。例如,在一些实施例中,经由用户数据收集组件210接收的用户数据可以经由一个或多个传感器(诸如图1的传感器103a和107)来确定,所述传感器可以在一个或多个用户设备(诸如用户设备102a)、服务器(诸如服务器106)和/或其他计算设备上或者与其相关联。如在本文中所使用的,传感器可包括用于感测、检测或者以其他方式从数据源104a获得诸如用户数据的信息的功能、例程、组件或者其组合,并且可以被体现为硬件、软件或者这两者。通过示例而非限制,用户数据可以包括从一个或多个传感器感测或确定的数据(在本文中被称为传感器数据),诸如(一个或多个)移动设备的位置信息、智能手机数据(诸如电话状态、充电数据、日期/时间或者从智能手机导出的其他信息)、用户活动信息(例如:app使用;在线活动;搜索;诸如用户话语的声学数据,诸如自动语音识别或转录用户语音的语音数据;活动日志;通信数据,包括电话、文本、即时消息和电子邮件;网站帖子;与通信事件相关联的其他用户数据;与用户设备的其他用户交互等),包括在多于一个用户设备上发生的用户活动、用户历史、会话日志、应用数据、联系人数据、日历和日程数据、通知数据、社交网络数据、新闻(包括搜索引擎或社交网络上的流行或趋势项目)、在线游戏数据、电子商务活动(包括来自诸如 视频流服务、游戏服务或Xbox等在线账户的数据)、(一个或多个)用户账户数据(其可能包括来自与个性化相关(例如“个人助手”或“虚拟助手”)应用或服务相关联的用户偏好或设置的数据)、家庭传感器数据、器具数据、全球定位系统(GPS)数据、车辆信号数据、业务数据、天气数据(包括预报)、可穿戴设备数据、其他用户设备数据(其可以包括设备设置、简档、网络相关信息(例如,网络名称或ID、域信息、工作组信息、其他网络连接数据、Wi-Fi网络数据或配置数据、有关型号、固件或设备的数据、设备配对(诸如用户将移动电话与蓝牙耳机配对的情况)、或者其他网络相关信息))、陀螺仪数据、加速度计数据、支付或信用卡使用数据(可以包括来自用户的PayPal账户的信息)、购买历史数据(诸如来自用户的Xbox Live、Amazon.com或eBay账户的信息)、可以由(一个或多个)传感器(或者其他检测器)组件感测或者以其他方式检测到的其他传感器数据,包括从与用户相关联的传感器组件导出的数据(包括场所、运动、取向、位置、用户访问、用户活动、网络访问、用户设备充电或者能够由一个或多个传感器组件提供的其他数据),基于其他数据导出的数据(例如,能够从Wi-Fi、蜂窝网络导出的位置数据或者IP地址数据),以及可以如在本文中所描述地被感测或确定出的任何其他数据源。
用户数据能够由用户数据收集组件210从一个或多个传感器和/或与用户相关联的计算设备接收。尽管为了由用户数据收集组件210的可解释性,设想到了所述用户数据可以例如由传感器或者未示出的其他组件来处理,但是在本文中所描述的实施例不将用户数据限制为经处理的数据并且可以包括原始数据。在一些实施例中,用户数据收集组件210或者系统200的其他组件可以根据接收到的用户数据来确定解释性数据。解释性数据对应于系统200的组件用于解释用户数据的数据。例如,解释性数据能够被用于向用户数据提供上下文,其能够支持由系统200的组件或子组件所做出的确定或推断,诸如来自位置的场所信息、来自用户语音的文本语料库(即,语音到文本),或者口语理解的各方面。此外,设想到了,对于一些实施例,系统200的组件或子组件可以使用用户数据和/或与解释性数据组合的用户数据以实现在本文中所描述的子组件的目标。
在一些方面中,可以在用户数据流或信号中提供用户数据。“用户信号”能够是来自对应数据源的用户数据的馈送或流。例如,用户信号能够来自智能手机、家庭传感器设备、GPS设备(例如,用于位置坐标)、车辆传感器设备、可穿戴设备、用户设备、陀螺仪传感器、加速度计传感器、日历服务、电子邮件账户、信用卡账户或者其他数据源。在一些实施例中,用户数据收集组件210在用户相关数据变得可用时或根据需要连续地、定期地接收或访问用户相关数据。
(一个或多个)搜索引擎接口250通常负责与搜索引擎或搜索操作传送查询信息(其可以包括搜索结果和相关元数据)。如先前所描述的,响应于用户的请求,并且特别是在基于语音的交互期间做出响应,常常涉及执行一个或多个搜索操作。可以使用搜索引擎来执行搜索操作,所述搜索引擎是用于执行搜索的专用计算机程序或例程集合。(一个或多个)搜索引擎接口250的实施例因此促进与执行搜索操作的一个或多个搜索引擎的通信。例如,(一个或多个)搜索引擎接口250能够从搜索引擎或搜索操作接收搜索结果信息和相关元数据,并且在一些实施例中还可以向搜索引擎提供查询信息以执行搜索操作。(例如,如在本文中所描述的,在一些实施例中,来自对用户请求的呈现响应的用户反馈可以被用于重新运行搜索操作并且生成后续响应。在这些实施例中,(一个或多个)搜索引擎接口250可以促进生成查询或者向搜索引擎提供查询。)
在一些实施例中,(一个或多个)搜索引擎接口250包括到搜索引擎(或者多个搜索引擎)的应用编程接口(API),其能够执行本地的、基于云的、互联网/万维网、网络级别或者特定于域的搜索。例如,一种这样的搜索引擎是微软公司的搜索引擎。非限制性地,其他示例包括为搜索关于用户的联系人、文件(例如,本地计算机文档或网络或云存储设备上的文件)、诸如图像、音乐、电影的媒体、位置和航班或旅行之类的信息而优化的搜索引擎。如上文所描述的,一些实施例可以被认为是在搜索引擎组件之间操作,所述搜索引擎组件可以是常规的搜索引擎,例如或者是本地或特定于域的搜索引擎,诸如文件搜索引擎或用户联系人搜索引擎,以及用于向用户呈现由在本文中所描述的实施例生成的更直观的响应的用户界面组件。
在一些实施例中,由(一个或多个)搜索引擎接口250接收到的所述搜索结果信息包括一个或多个搜索引擎结果(搜索结果)和相关的搜索域信息。在一些实施例中,还可以提供搜索查询。具体地,许多现有搜索引擎包括用于确定与搜索查询相关联的域(或域集)的域分类器功能。域可以被认为是用于搜索的类别或主题,并且可以由搜索引擎用于聚焦于所述搜索。在许多情况下,域表示用户关于搜索查询(或者促使搜索的请求)的意图。通过示例而非限制,域可以包括:用户的联系人、用户文件/文档/电子邮件、事件、日历项目、媒体/娱乐(诸如图像、视频、音乐或计算机游戏)、网站、实体场所、企业、地址、主题(例如,汽车、法律、美国历史、特定公司)、或者购物/产品、购买、或航班/旅行。例如,用户呼叫John的请求可能涉及对用户联系人的搜索(由计算机系统或虚拟助手执行)以查找姓名John和对应的电话号码。该搜索的域是用户的联系人。作为另一示例,如果用户请求包含“飞行”,则搜索引擎可能考虑多个域并且基于最可能的域对其进行排名(或者对搜索结果进行排名)。例如,在此,针对“飞行”的搜索域可以是对应于歌曲名为“Fly Away”的媒体或航班。
在一些情况下,可以经由(一个或多个)搜索引擎接口250来接收搜索结果和关于(一个或多个)对应域的信息。在一些情况下,关于对应域的信息可以包括对应于搜索结果的可能域的排名列表。替代地,在其他实施例中,(一个或多个)搜索引擎接口250可以基于搜索查询和/或搜索结果来确定域信息。
域特征确定组件260通常负责基于与搜索查询相关联的域来确定实体特征类型。域特征确定组件260的实施例可以从(一个或多个)搜索引擎接口250接收搜索结果和/或域信息,并且将其用于确定对应于特定域的特征类型的集合。例如,音乐域中针对搜索查询的特定搜索结果可能包括实体(例如,特定歌曲、特定艺术家或特定专辑)和表征实体的属性(特征)。特征类型是域中实体的属性(或特征)的典型类别。例如,针对音乐域,特征类型可能包括艺术家、专辑、歌曲名称、歌曲持续时间、专辑封面、发行年份、音乐流派或者能够描述音乐实体的类似属性。
如在示例性系统200中所示的,域特征确定组件260包括域标识符262和特征类型确定器264。域标识符组件262通常负责确定与搜索结果相关联的一个或多个域,其可以从(一个或多个)搜索引擎接口250接收。如先前所描述的,在一些实施例中,域信息可以从(一个或多个)搜索引擎接口250接收或者由其确定。因此,域标识符262确定或识别对应于搜索结果的域,并且在一些实施例中,可以确定与每个搜索结果相对应的域。
特征类型确定器264通常负责确定与由域标识符262识别出的(一个或多个)域相对应的特征类别的集合。所述特征类别或特征类型可以被认为是描述搜索结果的实体的参数类型或属性类型。例如,针对音乐域,特征类型可能包括艺术家、流派和发行年份。因此,针对该域中的特定搜索结果实体,诸如歌曲Fly Away,对应于这三种特征类型的特定特征将是:Lenny Kravitz(艺术家)、另类摇滚(流派)、1998(发布年份)。
在一些实施例中,特征类型(以及其对应的特征)可以被认为是全局特征类型或者域中实体固有的特征类型,以及用户个人的特征类型(或特征)。全局特征类型可能包括,例如但不限于:作为物品的实体(诸如用户可能购买或者先前已经购买的物品)的颜色、尺寸、品牌、制造/型号或物理属性;场所或已购买或可能购买的物品的客户评论评级(例如,来自客户/购买者评论的星级)、针对实体场所的YPID位置或地址、菜品或场所类型(例如,咖啡馆、意大利餐厅、牛排馆、酒吧);媒体特征,诸如流派、艺术家、发行年份、歌曲名称、社交媒体/搜索流行度评级、或者表征实体但是不考虑特定用户的其他特征。
与用于在本文中所描述的基于语音的实现方式的许多实施例相关的两种特定特征类型包括实体拼写和实体发音。具体地,在特定情况下,这两种特征类型可以被用于确定鉴别器。例如,当确定两个搜索结果实体是同音词并且因此具有相似的发音特征但是具有不同的拼写特征时,可以考虑将拼写特征用作鉴别器。
如下文结合特征鉴别器确定280所描述的,个人特征可以包括与实体相关联的用户活动和用户历史。例如,如果实体是场所,则个人特征可能包括对该场所的(一次或多次)先前访问、(一次或多次)先前访问的日期和时间、与实体相关联的用户模式或行为(例如,用户具有每周六访问场所的模式)、或者与所述场所相关联的其他用户活动。在一些实施例中,特征类型确定器264确定全局特征类型的集合,其可以由特征鉴别器确定280或者更具体地由实体特征确定器284使用以确定特定特征。个人特征也可以由特征鉴别器确定280或实体特征确定器284来确定。
应当注意,在一些情况下,特定研究结果可能不具有针对特定特征类型的数据。因此,在一些实施例中,由特征类型确定器264确定的特征类型包括特征类型的集合,其通常与域相关联,并且不一定出现在一个或所有特定搜索结果中。另外,一些特征类型特定于一个域或者特定于域的有限集合(例如,针对音乐域的流派或专辑),而其他特征类型可能存在于许多(或所有)域(例如,实体拼写、实体发音)。因此,在特征类型确定器264的一些实施例中,每个域具有对应的特征类别的集合,并且可以采用规则集或查找表。在一些实施例中,特征类别逻辑可以被用于确定特征类型的集合。例如,可以通过分析搜索结果来学习新的特征类型或者针对新域的特征类型,诸如通过对与特定域的搜索结果一起返回的描述性元数据的类型进行分类。在实施例中,可以采用统计聚类来对搜索结果元数据进行分类,以便为域导出新的或经更新的特征类型的集合。
用户活动监视器270通常负责监视用户数据来确定用户活动信息,其可以包括识别和/或跟踪特定用户动作、(一个或多个)用户设备上的或者与特定用户相关联的活动以及相关的上下文信息。可以通过监视从用户数据收集组件210接收的用户数据来确定用户活动信息。如先前所描述的,在一些实施例中,可以使用诸如用户历史和/或相关上下文信息之类的用户活动信息(通过特征鉴别器确定280,如下文所描述的)来确定对用户而言是个人的实体相关特征(即,个人特征)。例如,对于作为餐厅的实体,个人特征可能包括用户对餐厅的先前访问。由用户活动监视器270确定的用户活动信息可以包括来自与用户相关联的多个用户设备和/或来自与用户相关联的基于云的服务(诸如电子邮件、日历、社交媒体或类似信息源)的用户活动信息,并且其可以包括与识别出的用户活动相关联的上下文信息。用户活动监视器270可以确定当前或近实时的用户活动信息,并且还可以确定历史用户活动信息,在一些实施例中,其可以基于随着时间收集对用户活动的观察、访问过去活动的用户日志(诸如浏览历史或之前的通信,其可能包括跨不同消息传递平台的通信)进行确定。此外,在一些实施例中,用户活动监视器270可以确定来自其他类似用户(即,众包)的用户活动(其可以包括历史活动)。
在实施例中,用户活动监视器270包括一个或多个应用或服务,所述应用或服务分析经由用户所使用的一个或多个用户设备和/或与用户相关联的基于云的服务检测到的信息,以确定活动信息和相关的上下文信息。更具体而言,在用户活动监视器270的一些实现方式中,可以通过检测和分析诸如设备硬件的用户设备、诸如操作系统(OS)的软件的特性、网络相关特性、经由设备访问的用户账户以及类似的特性,来识别用户设备。例如,可以使用许多操作系统的功能来确定关于用户设备的信息以提供关于硬件、OS版本、网络连接信息、安装的应用等的信息。
用户活动监视器270或者其子组件的一些实施例可以确定针对与用户相关联的每个设备的设备名称或标识(设备ID)。关于与用户相关联的识别出的用户设备的该信息可以被存储在与用户相关联的用户简档中,诸如在用户简档240的用户账户和设备244中。在实施例中,用户设备可以被轮询、询问或者以其他方式进行分析以确定关于设备的信息。该信息可以被用于确定设备的标签或标识(例如,设备ID),从而与设备的用户交互可以由用户活动监视器270从用户数据中识别出。在一些实施例中,用户可以声明或注册设备,诸如通过经由设备登录账户、在设备上安装应用、连接到询问设备的在线服务、或者以其他方式向应用或服务提供关于设备的信息。在一些实施例中,登录到与用户相关联的账户(诸如Microsoft账户或Net Passport、电子邮件账户、社交网络等)的设备被识别并且确定为与用户相关联。
如在示例性系统200中所示的,用户活动监视器270包括用户活动检测器272和上下文信息确定器274。在一些实施例中,用户活动监视器270、其子组件中的一个或多个子组件或者系统200的其他组件可以根据接收到的用户数据来确定解释性数据,如在本文中所描述的。另外,尽管在本文中描述了用户活动监视器270以及其子组件如何识别用户活动信息的若干示例,但是在本公开的各种实施例中用户活动识别和用户活动监视的许多变型是可能的。
用户活动检测器272通常负责确定(或者识别)用户动作或活动事件已经发生。用户活动检测器272的实施例可以被用于确定当前用户活动或者一个或多个历史用户动作。用户活动检测器272的一些实施例可以针对与用户活动相对应的活动相关特征或变量来监视用户数据,诸如启动或访问的应用的指示,访问、修改、复制等的文件等,导航到的网站,下载和呈现或播放的在线内容,或者类似的用户活动。
另外,用户活动检测器272的一些实施例从用户数据中提取关于用户活动的信息,其可以包括当前用户活动、历史用户活动和/或诸如上下文信息的相关信息。(替代地或另外,在一些实施例中,上下文信息确定器274确定并且提取上下文信息。)通过示例而非限制,所提取出的用户活动信息可以包括应用使用、在线活动、搜索、呼叫/消息、使用持续时间、应用数据(例如,电子邮件、消息、帖子、用户状态、通知、应用内容)、位置信息或场所访问、购买、生理信息(例如,锻炼数据),其可以由可穿戴设备提供,或者与用户设备的用户交互或经由用户设备的用户活动相关的几乎任何其他数据。
在系统200的其他组件中,由用户活动检测器272确定的所提取出的用户活动信息可以被提供给上下文信息确定器274或者系统200的其他组件。此外,所提取出的用户活动信息可以被存储在与用户相关联的用户简档中,诸如在用户简档240的用户活动信息组件242中。(在一些实施例中,用户活动检测器272或用户活动监视器270对检测到的用户活动信息执行合并。例如,可以合并和复制重叠信息或者消除冗余信息。)在一些实施例中,用户活动检测器272在针对用户的每个用户设备上运行或者与其相关联地运行。用户活动检测器272可以包括轮询或分析操作系统的各方面的功能,以确定用户活动相关的特征(诸如安装或运行的应用或者文件访问和修改)、网络通信和/或经由用户设备可检测的其他用户动作(包括动作的序列)。
上下文信息确定器274通常负责确定与用户活动相关的上下文信息(由用户活动检测器272或用户活动监视器270检测到的),诸如与用户活动、相关信息和用户相关活动相关联的上下文特征或变量,并且其进一步负责将确定出的上下文信息与检测到的用户活动相关联。在一些实施例中,上下文信息确定器274可以将所确定出的上下文信息与相关的用户活动相关联,并且还可以将上下文信息与相关联的用户活动一起记录。替代地,关联或记录可以由另一服务来执行。
上下文信息确定器274的一些实施例确定与用户活动相关的上下文信息,诸如在用户活动中识别的或者与活动相关的实体(例如,由用户进行呼叫的另一方)以及关于那些实体的信息,活动的日期-时间,当检测到用户活动时用户设备的位置或场所,或者在特定活动之前、期间或之后发生的其他特定事件。通过示例而非限制,这可以包括上下文特征,诸如位置数据;其可以被表示为与活动相关联的位置戳;关于位置的上下文信息,诸如场所信息(例如,用户的办公室位置、家庭位置、学校、餐厅、电影院);黄页标识符(YPID)信息;时间、天和/或日期,其可以被表示为与活动相关联的时间戳;关于用户在其上执行活动的设备的用户设备特性或用户设备识别信息;用户活动的持续时间;用户活动之前和/或之后的其他用户活动/活动(可能包括用户活动的序列),关于活动的其他信息,诸如与活动相关联的实体(例如,场所、人员、对象),由在与用户相关联的用户设备上的(一个或多个)传感器检测到的与用户活动同时或基本同时的信息(例如,在健身跟踪用户设备上检测到的运动信息或生理信息、听音乐,如果音乐来源不是用户设备,则可以经由麦克风传感器检测到),或者与可检测到的用于确定用户活动模式的用户活动有关的任何其他信息。
上下文信息还可以包括关于用户正在工作的项目、会议或日历事件以及与用户有关系的他人(诸如用户的联系人、同事、项目团队或组)的信息。例如,在一个示例中,可以通过分析电子邮件或会议邀请来确定指示特定联系人可能是同事的上下文信息,其中,所述联系人是收件人/发件人,这可以包括分析消息或会议的主题、附件内容、电子邮件地址的域(如果域相同并且其对应于公司名称,诸如@microsoft.com,则其可以指示用户和联系人是同事)。
在使用与用户设备相关的上下文信息的实施例中,可以通过检测和分析例如设备硬件的用户设备、诸如OS的软件的特性,网络相关特性,经由设备访问的用户账户以及相似特性,来识别用户设备。在实施例中,可以轮询、询问或者以其他方式分析用户设备以确定关于设备的上下文信息。该信息可以被用于确定设备的标签或标识(例如,设备ID),从而可以识别一个用户设备上的用户活动,并且将其与另一用户设备上的用户活动区分开。在一些实施例中,上下文信息可以根据一个或多个用户的用户数据来确定,在一些实施例中,所述上下文信息可以由用户数据收集组件210代替或除了特定用户的用户活动信息来提供。
在一些实现方式中,上下文信息确定器274可以从用户数据收集组件210接收用户数据,在一些情况下解析数据,并且识别和提取上下文信息。所确定出的上下文信息可以与确定出的用户活动相关联,并且可以被存储在用户简档中,诸如被存储在用户活动信息组件242中。在一些实施例中,可以根据这些主题或实体发生在用户活动中的频率、时间量和/或新近度(即,活动的“新鲜度”,其可以被用于衰减权重,最近的活动比过去发生得更远的“陈旧”活动获得更高的权重)对关于用户活动事件的信息进行加权。
用户活动监视器270或上下文信息确定器274的一些实施例根据位置用户活动来确定访问信息,诸如对场所的访问。例如,在一些实施例中,针对可以被用于确定对位置和场所的当前和(一次或多次)历史用户访问的信息,监视用户数据(来自210)。具体地,在高级别处,上下文信息确定器274或活动监视器270可以使用当前用户数据(包括位置信息),来确定或归因用户的当前位置,这可以由位置归因函数来执行,如下文所描述的。基于当前位置属性,可以确定针对用户的访问。在一些实施例中,可以使用从用户数据(包括当前或历史用户数据)识别出的特征来确定当前访问,诸如用户在特定位置有多久。例如,指示用户在一段时间内处于同一大致地理位置的用户数据比指示用户仅短暂处于特定位置的用户数据更有可能暗示发生了访问(诸如在用户正在驾驶经过某个位置但是并未访问该位置的情况)。因此,“访问”可以指示用户处在用户的当前位置处的意图程度。在一些实施例中,可以确定用户在时间范围内大致保持在相同地理位置的访问。相比之下,仅经过当前位置或暂时在当前位置可以指示在当前位置处未发生访问。一些实施例还可以考虑用户明确的信号,诸如用户肯定地“登记”或者以其他方式肯定地指示存在于一位置处。
在一些实施例中,与对当前位置的先前访问相关联的用户位置历史信息还可以被用于确定当前访问。例如,在实施例中,关于用户刚刚来自哪里(用户的先前位置)的位置历史信息被用于促进访问识别,诸如在哪里使用消歧来识别关于当前访问的信息。例如,在用户位置历史信息指示用户先前在餐厅处,并且当前位置信息指示用户在具有咖啡店和餐厅的另一地理位置处的情况下,可以使用消歧来确定用户更可能在咖啡店处而不是在另一家餐厅处。
上下文信息确定器274或用户活动监视器270的一些实施例可以执行位置归因。一般而言,位置归因功能负责根据用户数据来确定位置归因。所述用户数据可以由传感器来提供,并且指示或者可以被用于确定位置信息,诸如GPS、无线通信(例如,蜂窝或Wi-Fi接入点)、与当前用户活动相关联的IP地址、用户签到/社交网络信息、或者可以从中确定位置信息的其他用户数据。在一些实施例中,位置归因功能将所述位置归因于用户感兴趣的地方,诸如用户经常光顾的位置。例如,在一些实施例中,由位置数据指示的位置可以被聚类,并且密集的聚类被用于确定用户花费时间的那些位置(例如,在家、在工作或在健身房处)。此外,在一些实施例中,位置归因功能执行过滤,这可以移除位置信息异常值(例如,来自300码外的Wi-Fi导出的位置数据点表明用户在该位置处);聚类;或者其他方式来确定用于归因的位置数据。位置归因功能的实施例可以确定当前位置,并且还可以利用与用户相关联的位置数据(诸如记录的用户数据或记录的位置信息,其可以被存储在用户简档中,诸如被存储在用户简档240中的历史位置数据)来执行位置归因。当前和历史位置归因可以被用于确定用户访问,包括当前和历史访问。
在一些实施例中,上下文信息确定器274确定与访问相关的上下文信息,诸如与访问相关的实体(例如,出现在所述位置处的其他人),关于已知的访问的任何场所或场所相关信息,或者检测到的由用户在存储位置处执行的活动。通过示例而非限制,这可以包括上下文特征,诸如关于位置的信息,诸如已知的场所信息(例如,用户的办公室位置、家庭位置、健身房等)、时间(包括例如到达/离开时间或停留时间),天和/或日期(其可以表示为与访问相关的时间戳),访问之前和/或之后的其他用户活动,关于访问的其他信息,诸如与访问相关联的实体(例如,场所、人、对象等),由在与用户相关联的用户设备上的(一个或多个)传感器检测到与访问同时或基本同时的信息(例如,经由计算设备检测到的用户活动,诸如在娱乐控制台上观看流送电影,或者在健身跟踪用户设备上检测到的运动信息或生理信息),在一个或多个用户设备上的用户交互(诸如浏览特定类型的网页、收听音乐、拍照、撰写电子邮件或者任何其他类型的用户设备交互),社交媒体活动,或者与访问相关的任何其他可检测的信息,所述信息可以被用于确定与用户访问相关联的特征或模式。
继续图2,特征鉴别器确定280通常负责确定可以被用作针对搜索结果或者更具体而言针对搜索结果实体的鉴别器的一个或多个特征。在一些实施例中,每个搜索结果对应于实体,所述实体可以被认为是搜索结果的项目或元素,并且其具有可以被包含在搜索结果中的表征该项目或元素的属性或特征。例如,从用户语音命令发起的“呼叫John”的搜索可以从用户的联系人或最近的用户历史中返回若干搜索结果,诸如1:John Smith,2:JonJones,3:水管工John。这些搜索结果中的每个搜索结果都包括实体(即,John Smith、JonJones、水管工John),并且还可以包括表征实体的一个或多个属性或特征的集合,诸如针对每个搜索结果的电话号码和实体名称的拼写(例如,John、John和Jon)。另外,与这些实体相关但是未被包含在搜索结果中的其他特征也可以由特征鉴别器确定280或者其子组件来确定。例如,一些特征可以基于与这些实体相关联的用户历史(例如,用户最近错过了来自水管工John的电话)来确定。如在本文中所描述的,与搜索引擎结果中的实体相关的特定特征可以被确定并且用作鉴别器。这些鉴别器使得接收响应的用户能够在多个搜索结果之间进行区分,或者更容易地确认由计算系统在响应中提供的特定结果。
在一些实施例中,特征鉴别器确定280接收可以从(一个或多个)搜索引擎接口250接收的搜索结果信息,并且接收可以从域特征确定组件260接收的特征类型信息。特征鉴别器确定280为搜索结果确定并且输出一个或多个鉴别器的集合,其可以被用于生成响应并且向用户提供响应。在一些实施例中,可以对鉴别器的集合进行排名,使得在生成并且呈现给用户的初始响应中可以仅提供最高排名(即,最强)的(一个或多个)鉴别器。(然而,在一些实施例中,取决于用户的反馈或后续语音命令,下一最低排名的(一个或多个)鉴别器可以被用于生成对后续语音命令的后续响应。)
如在示例性系统200中所示的,特征鉴别器确定280包括实体确定器282、实体特征确定器284、特征相似性确定器286和鉴别器确定器288。实体确定器282通常负责确定搜索结果中的实体。在一些实施例中,每个搜索结果对应于实体。通过示例而非限制,实体可以包括用户联系人的搜索结果中的特定联系人,企业或场所(例如,特定餐厅),用户可以购买或已经购买的项目,网站,来自文件搜索的搜索结果中的文件或文档,针对音乐搜索的搜索结果中的特定歌曲,或者搜索结果中可以被视为搜索结果的焦点或目标的元素。实体由实体确定器282在特定搜索结果中被识别并且被提取、记录或者以其他方式标注。在一些实施例中,基于被包含在搜索结果中的描述性信息、基于搜索查询和/或基于从域标识符262确定出的(一个或多个)搜索域来确定实体。在一些实施例中,规则或逻辑可以被用于识别实体,并且在一些实施例中,实体确定器282确定并且输出被包含在搜索结果中的可能实体的集合;每个潜在实体可能具有对应的置信度分数,即:所识别出的实体是由搜索结果所表示的实体,并且应用阈值以便仅提供具有足够置信度的那些实体。例如,在实施例中,置信度阈值为0.6。在另一实施例中,置信度阈值为大于百分之五十(或者大于0.5)。在一些实施例中,针对每个搜索结果的实体信息可以由(一个或多个)搜索引擎来提供,并且因此可以从(一个或多个)搜索引擎接口250接收。
实体特征确定器284通常负责确定与实体相关联的特征。由实体特征确定器284确定的这些特征被评估(由特征鉴别器确定280的其他子组件)以确定针对实体的一个或多个鉴别器。实体特征确定器284的实施例接收针对搜索结果的实体信息(其可以从实体确定器282来确定)并且接收一个或多个特征类型的集合(其可以从域特征确定组件260或特征类型确定器264子组件确定)。实体特征确定器284然后使用特征类型来确定搜索结果的实体的一个或多个特征的集合。具体地,所述特征类型可以被用于确定特定特征,其可能包括与特征类型相对应的特征值。因此,在一些实施例中,实体特征确定器284使用所述特征类型的集合来确定哪些特征类型和对应值(即,特征)存在于搜索结果(或搜索结果的元数据)中,其可以从(一个或多个)搜索引擎界面250接收。
因此,通过示例并且如先前所描述的,如果搜索域是餐厅,则特征类型中的两个特征类型可以包括营业时间和菜品。针对特定的搜索结果实体,诸如特定的餐厅,所述特征将包括这家餐厅的具体营业时间和该餐厅供应的特定菜品。类似地,在先前所描述的音乐示例中,针对音乐域,特征类型可以包括艺术家、流派和发行年份,以及针对该域的其他可能特征类型。因此,针对该域中的特定搜索结果实体,诸如歌曲Fly Away,对应于这三种特征类型的特定特征将是:Lenny Kravitz(艺术家)、另类摇滚(流派)、1998(发行年份)。在一些实施例中,实体特征确定器284的输出是键值对(KVP)的集合,其可以包括KVP向量,诸如特征类型:特征值,用于搜索结果或者与搜索结果中的实体相关联。在一些实施例中,实体特征确定器284确定特征类型的集合:针对每个搜索结果的特征值KVP(或KVP向量)。
如先前在一些实施例中所描述的,特征和特征类型可以被认为对实体是全局或固有的(即,表征实体而不考虑特定用户的特征)以及对用户是个人的(即,与用户活动相关的个人特征或者与实体的用户体验)。如在示例性系统200中所示的,实体特征确定器284包括子组件全局特征确定器285-A和个人特征确定器285-B。全局特征确定器285-A通常负责确定与实体相关联的全局特征。在一些实施例中,全局特征确定器285-A接收特征类型的集合(其可以从特征类型确定器264接收)和一个或多个搜索结果(和/或与搜索结果相关联的元数据),并且确定哪些全局特征类型在搜索结果(或元数据)中存在特征值(即,特征)。
在一些情况下,可能不存在关于与特征类型相对应的特定特征的信息。例如,在餐厅域中,特定餐厅的搜索结果信息可能不指定菜品。在这些情况下,因为缺失该特征,所以其可能在由实体特征确定器284输出的特征集中被忽略(或者简单地不包括),实体特征确定器284将对其进行评估以确定鉴别器。然而,在一些实施例中,全局特征确定器285-A可以对缺失的特征类型进行额外的搜索操作以确定可能的特征值。例如,在上述餐厅的示例中,可以对该餐厅(搜索结果中的实体)执行后续的搜索操作。在一些情况下,该查询也可以包括特征类型。因此,如果餐厅的名称是Green Hen,则该查询可能包含“Green Hen餐厅菜品类型”。以这种方式,全局特征确定器285-A可以在特征从原始搜索结果信息中缺失时确定该特征。
上文结合特征类型确定器264描述了全局特征的一些示例。与用于在本文中所描述的基于语音的实现的许多实施例相关的两个特定特征类型包括实体拼写和实体发音。这是因为,针对基于语音的交互,在用户请求内的词语是同音词或者以其他方式与其他词语具有相似发音时,虚拟助手(或者计算系统)可能无法确定用户针对口头请求的意图。例如,如果用户的口头请求是“呼叫John”,并且用户的联系人列表包括John和Jon,这两者发音相同,则虚拟助手(或计算系统)无法确定呼叫哪个实体——哪个人,John还是Jon。因此,在这些情况下,在针对两个或更多个实体的发音特征被确定为相似或相同时,则拼写特征可以被考虑用作鉴别器。因此,在上文的示例中,虚拟助手可能利用“您想呼叫带h的John吗?”作为响应(如果用户回答“否”,则虚拟助手可能随后回复“OK,还有另一Jon拼写为J-O-N,您想呼叫这个Jon?”)。类似地,虚拟助手可能会首先响应“您想呼叫带h的John还是拼写为J-O-N的Jon?”在一些情况下,发音特征可能是个人的而不是全局的,这取决于用户的发音是否与实体的常见或流行发音不同。
个人特征确定器285-B通常负责确定与实体相关联的个人特征。个人特征确定器285-B的实施例利用特征类型和搜索结果信息来根据用户活动信息和用户数据来识别和提取个人特征。在一些实施例中,个人特征确定器285-B对用户活动和用户数据执行一个或多个搜索操作,所述用户活动和用户数据可以被存储在用户简档240中(并且更具体地存储在用户活动信息组件242和/或(一个或多个)用户账户和(一个或多个)设备244中),从用户数据收集组件210接收,或者从用户活动监视器270确定。搜索操作可以基于搜索结果实体、域信息、特征类型或特征和/或其他搜索结果信息。通过示例而非限制,在具有包括用户联系人实体、搜索操作或用户活动和用户数据的搜索结果的联系人域中的搜索可以包括搜索与联系人实体的用户通信(例如,先前或未接电话、电子邮件、消息),和/或指示关于联系人实体的关系或上下文信息的其他用户数据(例如,用户账户,诸如电子邮件和社交媒体信息、针对电子邮件的公司目录、日历条目、会议、项目组或者与联系人实体相关的其他用户数据)。例如,如果用户请求呼叫John,并且搜索结果包括联系人实体John,则个人特征确定器285-B将确定关于该实体的与用户相关的特征。所以,如果用户昨天呼叫了该特定的John,那么这可能被认为是个人特征。(如果该个人特征被确定为鉴别器,那么对用户请求的响应可能是“您想要呼叫昨天呼叫的John?”)在一些实施例中,所述搜索可以包括搜索针对该实体的全局特征的用户活动信息或用户数据,诸如搜索针对该特定John的特定电话号码(全局特征)的用户活动。类似地,如果用户和该特定John在用户的日历上于今天上午11点开会,那么这可以被视为个人特征。(并且如果该个人特征被确定为鉴别器,那么对用户请求的响应可能是“您想在今天上午11点呼叫John?”)
以这种方式,个人特征确定器285-B可以确定与搜索结果实体相关的个人特征,例如但不限于:该实体先前与用户通信(例如,“您想呼叫您昨天呼叫的John吗?”或者“您想呼叫上周给您发电子邮件的John吗?”);用户与特定实体人员一起工作或者是社交媒体朋友;用户先前访问过特定实体场所或者具有访问该场所的模式(例如,用户每周六访问该场所,如上文所描述的);用户购买或拥有的特定物品或产品;用户生活、工作、锻炼的地方(其可以被称为中心,并且可以基于用户通常在晚上和在工作日期间所花费的时间的位置或者基于生理数据或YPID或位置查找来确定,在健身房或其他小型中心的情况下);歌曲/播放列表;媒体订阅;媒体消费(例如,观看的电影)或媒体消费习惯(例如,用户具有观看特定电视节目或玩特定游戏的模式);安装、当前打开或最近使用的应用或app;浏览过的网站或在线活动;或者被确定与搜索结果实体相关联的几乎任何其他用户数据或用户活动。
在一些实施例中,个人特征确定器285-B可以对来自特定用户的朋友或与该用户相似的其他用户的用户数据或用户活动信息执行搜索操作。以这种方式,个人特征可以包括与用户的朋友和搜索实体相关的信息。(因此,如果这些个人特征被确定为鉴别器,那么例如对用户针对Green Hen餐厅路线的请求的响应可能是“您想要前往您朋友去的GreenHen餐厅的路线还是您家附近的那个?”)针对这些实施例,在搜索其用户活动或用户数据之前,可能会获得其他用户的同意。
在一些实施例中,实体特征确定器284或者其子组件可以对特定特征执行一个或多个补充搜索操作以获得在将该特征评估为鉴别器时可以使用的额外信息。此外,在一些实施例中,从额外搜索操作获得的额外信息可以包括一个新特征或多个新特征。例如,假设用户的联系人列表中有多个John。响应于“呼叫John”的用户请求,例如,对特定特征(诸如电话号码特征)的补充搜索可以确定John的电话号码之一与业务列表中的水管工业务相匹配。在一些实施例中,该补充信息可以被用作额外特征。(所以,如果该额外特征被确定为鉴别器,那么计算机系统对用户请求的响应可能是“您想呼叫水管工John吗?”)
继续图2和特征鉴别器确定280的子组件,特征相似性确定器286通常负责比较相同(或相似)特征类型的特征值以便确定相似性或差异性。具体地,被确定为相似的特征可能被排除在考虑之外,或者不太可能被用作鉴别器。被确定为不同的特征更有可能被用作鉴别器,因为这些不同的特征可以更好地使得用户能够区分搜索结果实体。
在一些实施例中,特征相似性确定器286使用特征比较逻辑230来确定特征之间的相似性。特征比较逻辑230能够包括规则、条件、关联、分类模型或者其他标准以确定特征相似性。例如,在一个实施例中,特征比较逻辑230可以包括规则集合,其用于比较针对相同特征类型的特征值,并且确定相似特征类型的相似性特征值的级别。例如,一些实施例可以利用分类模型,诸如统计聚类(例如,k均值或最近邻)或语义知识图上的特征彼此的接近度、神经网络或者其他分类技术来确定相似性。具体地,不同的相似性技术可以被用于不同类型的特征。因此,特征比较逻辑230能够取决于用于识别相似性的机制和确定相似性的特征类型而采用许多不同的形式。例如,特征比较逻辑230可以包括静态规则(其可以被预先定义或者可以基于与用户相关联的用户简档中的设置或偏好来设置)、布尔逻辑、模糊逻辑、神经网络、有限状态机、支持向量机、逻辑回归、聚类或机器学习技术、类似的统计分类过程、其他规则、条件、关联或者这些的组合,以识别和量化特征相似性。
在一些实施例中,特征相似性确定器286确定针对特征的相似性分数或相似性权重。在一些实施例中,特征相似性确定器286可以输出相似性分数的特征相似性向量,其可以对应于针对搜索结果实体的特征向量。鉴别器确定器288可以使用相似性分数来基于其特征的差异水平对特征进行排名(或者根据其充当鉴别器的能力有效地对其进行排名)。因此,指示高度相似性的分数意味着该特定特征作为鉴别器的效果较差,因为其与其他特征相似。例如,假设两个搜索结果均包括针对特定药房连锁店的场所实体,并且这两个实体都具有针对营业时间的特征和针对位置的特征。进一步假设营业时间相同(例如,两个位置都24小时营业)并且地点不同(例如,一个位置在Broadway,并且一个位置在Main Street上)。因此,药房的这两个位置都有相同的营业时间。在该示例中,使用营业时间作为区分两个实体的鉴别器是没有帮助的,因为用户无法基于相同的营业时间来区分这两个实体。然而,位置特征并不相同,并且因此可以是有效的鉴别器特征。例如,用户能够确定他们想要呼叫Broadway上的药房还是Main Street上的药房。
类似地,用户正在考虑购买的两种产品(搜索结果实体)可能具有相同的品牌特征和尺寸特征,但是颜色特征不同(例如,一个是红色,而另一个是蓝色)。在这种情况下,品牌和尺寸特征将具有高相似性分数,并且因此这些特征可能将不会被鉴别器确定器288确定为鉴别器。而颜色特征将具有低的相似性分数(红色对蓝色),并且因此可能被鉴别器确定器288确定为鉴别器。
在一些情况下,特定类型的特征可能不会进行相似性比较,因为这些特征可能不会存在于一个以上的搜索结果实体中。例如,针对其他搜索结果实体可能不存在包括与特定实体相关的用户体验的一些个人特征,因为用户对其他搜索结果实体没有相同的个人体验。(例外是个人特征的二元表示;例如,用户要么具有要么不具有与实体相关的特定用户活动信息或用户数据。例如,针对名为John的两个联系人实体,假设其中之一呼叫过用户而另一个没有。针对这种类型的个人特征,可以比较相似性,由于特征的二元状态其可能相同或不同。)
在一些实施例中,特征相似性确定器286执行对搜索结果实体的发音特征的比较以确定任意两个或更多个实体是否是同音词(例如,John与Jon)或者具有相似的发音(例如,John与Juan)。在这被确定的情况下,其可以被记录、注释或者以其他方式指示,并且可以执行对拼写特征的特征比较。在拼写不同但是发音相似的情况下,可以对所述拼写特征进行加权或评分,使得其更可能被鉴别器确定器288确定为鉴别器。此外,在拼写特征和发音特征两者都相似(即,两个或更多个实体是同音词)的环境中,拼写和发音特征都将不可能被用作鉴别器(即,两者都可能被给予高的相似性分数),并且因此另外一个特征或多个特征(具有较低的相似性分数)将被确定为鉴别器。例如,如果用户在其联系人列表中有两个John,那么拼写特征和发音特征都将不会被确定为鉴别器,因为拼写和发音是相同的。(相反,诸如例如姓氏、电话号码或个人特征(例如,用户经验或者与其中一个John的关系)的另一特征可能会被用作鉴别器。)
鉴别器确定器288通常负责确定可以被用作针对搜索结果实体的鉴别器的特征。在一些实施例中,可以由鉴别器确定器288为搜索结果实体确定一个或多个鉴别器的集合,并且此外,在一些实施例中,可以对由鉴别器确定器288确定的多个鉴别器进行排名。鉴别器确定器288的实施例利用由实体特征确定器284确定的实体特征(或特征向量)的集合来确定针对实体的一个或多个特征鉴别器的集合,并且还可以使用由特征相似性确定器286确定的(一个或多个)特征相似性分数。具体地,针对与第二(或其他)实体的特征具有高相似性的第一实体的特征可以被排除在鉴别器之外,或者这些特征可以被排名较低。
在一些实施例中,鉴别器确定器288确定针对特征的鉴别器分数(或权重),指示针对其所述特征可以有效作为鉴别器的水平或程度。(因此,例如,具有高相似性分数的两个特征将被预期具有低鉴别器分数,因为这些特征可能对于被用于在实体之间进行区分不太有效。)此外,在一些实施例中,可以利用鉴别器分数对特征作为鉴别器进行排名,而在一些实施例中,阈值可以被应用于鉴别器分数,使得只有具有满足阈值的对应鉴别器分数的特征才可以被用作鉴别器。
在一些实施例中,可以由用户活动监视器270(或者上下文信息确定器274)提供的上下文信息可以被用于确定针对特征的鉴别器或鉴别器分数。例如但不限于,这样的上下文信息可以包括用户的当前位置、天/日期中的时间、交通状况、用户访问过的先前位置、用户是否正在旅行或远离日常工作,或者用户的当前活动。例如,假设针对药房的两个搜索结果实体包括针对位置的第一特征和针对营业时间的第二特征。如果当前上下文指示用户正在驾驶并且是在营业时间特征指示这两个药房都正在营业的白天,则响应于呼叫药房的用户请求,虚拟助手(或者计算系统)可以生成使用位置特征作为鉴别器的响应。因此,例如,“您想呼叫您办公室旁的药房还是附近的药房?”然而,如果当前上下文指示现在是晚上,并且营业时间特征指示其中的一家药房未营业,则响应可能是“您想呼叫现在营业的药房吗?”(替代地,虚拟助手或计算系统可以简单地利用营业时间特征鉴别器来呼叫现在营业的药房,而不要求用户确认。)
鉴别器确定器288的一些实施例可以利用概率分类或者采用鉴别器确定逻辑235来确定作为鉴别器的特征。鉴别器确定逻辑235包括规则、条件、关联、分类模型或者用于分析或比较特征以确定或分类特定特征作为鉴别器的其他标准。在一些实施例中,针对特定特征,所述分类可以是二元的或者可以在频谱上,诸如与特征相关联的分数或权重。因此,鉴别器确定逻辑235的一些实施例确定特征鉴别器分数或权重,其表示特定特征在被用于区分第一搜索结果实体与另一搜索结果实体时的有效程度。
在一些实施例中,鉴别器确定逻辑235可以对经加权的或评分的特征进行排名,并且输出用作鉴别器的经排名的特征列表。在一些实施例中,鉴别器确定逻辑235(或者响应生成逻辑237,在下文结合响应生成290进行描述)可以利用用户偏好、用户反馈或鉴别器模型(也在下文描述)以及经排名的特征鉴别器列表来确定一个或多个鉴别器的特定集合,以用于生成对用户请求的响应。在一些实施例中,鉴别器确定逻辑235可以指定对分数应用阈值,使得仅有分数满足阈值的那些特征可以被用作鉴别器。
在一些实施例中,鉴别器确定逻辑235采用规则来确定哪些特征或特征类型更有可能是更好的鉴别器(即,更好地使得用户能够在实体之间或之中进行区分)。例如,规则可以指定基于与搜索结果实体相关联的域信息来确定鉴别器。例如,如果域是餐厅,则鉴别器可以包括位置特征和/或菜品特征。类似地,如果域是用户联系人,则鉴别器可以包括个人特征(诸如用户与联系人之间的关系(例如,“您想呼叫您的兄弟John吗?”)或者与联系人的最近体验(例如,“您想呼叫上周呼叫过的John吗?”)。作为另一示例,规则可以指定利用针对特征(或者针对特定特征或特定类型的特征)的相似性分数,使得更不同(例如,具有较低的相似性分数)的特征更有可能被归类为鉴别器。类似地,鉴别器确定逻辑235(或者鉴别器确定逻辑235所利用的规则)可以指定个人特征应当优于全局特征(并且因此评分或加权更高)。这是因为用户常常将记住与实体的个人体验。例如,针对在特定位置处的特定药房,对于许多用户来说,可能更容易基于与药房的用户体验而不是药房的位置来区分药房。因此,在该示例中,诸如用户先前呼叫药房的个人特征可以被分类为比药房位置更好的鉴别器。(因此,对于呼叫药房的用户请求,更有效的响应可能是“您想呼叫上周呼叫过的药房吗?”而不是“您想呼叫Main Street的药房吗?”
在一些实施例中,鉴别器确定逻辑235包括专门用于处理指示两个或更多个实体是同音同形异义词或同音异形异义词的发音和拼写特征的逻辑。例如,如结合特征相似性确定器286所描述的,特征比较操作可以检测同音同形异义词或同音异形异义词的可能出现。在这些情况下,鉴别器确定逻辑235的这些实施例能够确定——例如,在同音异形异词的情况下(即,具有相似发音的不同拼写的实体)——拼写特征应当被用作鉴别器(或者接收更高的鉴别器分数,并且因此排名更高)。类似地,针对同音同形异义词的实例(即,实体的拼写和发音相似),鉴别器确定逻辑235可以包括指定拼写和发音特征都不应当被确定为鉴别器(或者这些特征应当接收低鉴别器分数)的规则。
在一些实施例中,鉴别器确定逻辑235可以利用上下文信息,诸如先前所描述的。例如,给定特定上下文信息,鉴别器确定逻辑235可以改变作为鉴别器的特征的分数或排名。在这些实施例中的一些实施例中,鉴别器确定逻辑235可以基于当前上下文信息来指定偏好(即,权重或分数更高)的个人特征作为优于其他个人特征或全局特征的鉴别器。例如,如果当前上下文指示用户的当前位置靠近特定搜索结果实体的位置(这可以基于与所述实体相关联的位置特征来确定),则鉴别器确定逻辑235可以指定该特征应当被归类为鉴别器或者应当接收更高的鉴别器分数或权重。类似地,如果当前上下文和营业时间特征指示两个或更多个场所实体当前营业,则鉴别器确定逻辑235可以确定营业时间不应当是鉴别器;而如果当前上下文是夜间并且仅有一个场所实体是营业的,则鉴别器确定逻辑235可以指定营业时间应当是鉴别器。(因此,例如,提供给用户的响应可能包括“您想呼叫现在营业的药房吗?”)可以由鉴别器确定逻辑235利用的当前上下文信息的另一示例包括交通状况。因此,例如,在前往两个场所实体的交通状况不同的情况下(特别是如果两个位置与用户的距离相对相似,或者在发生改变通常交通时间的事故或道路封闭的情况下),交通时间特征可以被用作鉴别器。
在一些实施例中,鉴别器确定逻辑235可以包括用于基于由个人特征表示的用户活动或事件的新近度(或新鲜度或陈旧度)来权衡个人特征作为鉴别器的逻辑。例如,在一些实施例中,鉴别器确定逻辑235可以基于用户活动发生的新近度对特征进行加权或评分,或者可以指定仅在特定时间帧范围内(例如,对于访问场所的六个月内或者对诸如呼叫的通信的30天内)的用户活动在将个人特征评估为鉴别器时应当被考虑。(例如,指示用户在5年前呼叫过特定实体的个人特征可能是无效的鉴别器。)例如,对于是歌曲的实体,鉴别器确定逻辑235可以将表示收听该歌曲的用户历史的个人特征评估为鉴别器,从而鉴别器分数基于用户收听歌曲的新近度。例如,如果用户最近收听了所述歌曲,则分数可能更高(并且因此个人特征更有可能成为鉴别器),并且如果用户最近没有收听所述歌曲,则分数可能较低。在一些实施例中,时间阈值可以被应用于包括用户历史信息的个人特征,并且进一步地,在一些实施例中,所述时间阈值可以基于特定的个人特征。例如,针对表示与特定实体通话的个人特征,所述阈值可能是最近60天。而表示访问实体场所的个人特征的时间阈值可能是在六个月内。
在一些实施例中,鉴别器确定逻辑235可以采用或创建一个或多个特征鉴别器模型248。在一些实施例中,特征鉴别器模型248最初可以被配置为使用规则或条件,诸如上文所描述的(例如,基于域信息来确定鉴别器),但是随后特征鉴别器模型248可以基于用户反馈(其可以由用户反馈299来确定)或用户偏好246适应于特定于用户,如在本文中所描述的。例如,在一个实施例中,用户可以配置其偏好以避免使用收集和使用个人信息(即,用户活动或用户数据)作为特征。在这种配置下,特征鉴别器模型248(或者鉴别器确定逻辑235)可以指定仅使用全局特征。因此,在一些实施例中,可以在特征鉴别器模型248中捕获或表示用户偏好246或用户反馈,诸如模型类型、权重和/或系数。
在一些实施例中,特征鉴别器模型248包括机器学习模型,并且在一些实施例中,可以采用一个或多个基于神经网络的模型。例如,在实施例中,神经网络可以被用于将个人特征分类为鉴别器,其中,对模型的输入可以包括域信息、搜索结果信息、用户活动或用户数据(其可以包括上下文信息)以及用户反馈或偏好中的一项或多项。在一些实施例中,可以基于用户反馈或用户偏好来调整模型权重(或模型系数)。(例如,如在本文中所描述的,在一些实施例中,用户反馈299可以基于用户反馈来更新特征鉴别器模型248,使得特定特征可能或多或少被分类为鉴别器,或者可以接收更低或更高的鉴别器分数或权重。)以这种方式,本公开的这些实施例是自适应的并且能够从用户交互中学习。
在一些实施例中,鉴别器确定逻辑235所利用的特定的特征鉴别器模型248可以基于被分析用作鉴别器的特定特征或特征类型。因此,鉴别器确定逻辑235能够取决于被比较或分析的特定特征或特征类型以及用于将特征分类为鉴别器和/或确定鉴别器分数的(一种或多种)机制而采取许多不同的形式。在一些实施例中,鉴别器确定逻辑235可以利用模糊逻辑,或者特征鉴别器模型248可以包括神经网络、有限状态机、支持向量机、逻辑回归、聚类或机器学习技术、类似的统计分类过程、或者这些的组合来确定鉴别器。例如,鉴别器确定逻辑235可以包括经标记的训练数据,其可以基于来自一个或多个用户的历史鉴别器,并且被用于训练神经网络分类器(特定特征鉴别器模型248的示例),用于确定是否应当将新确定的特征分类为鉴别器(并且在一些实施例中,到什么程度或者具有什么权重或分数)。
在一些实施例中,鉴别器确定逻辑235可以向提供给用户的初始响应指定用于利用用户反馈的规则或条件,以确定对用户语音交互的后续响应中的后续鉴别器。(如在本文中所描述的,可以从用户反馈299接收用户反馈。)例如,在实施例中,基于用户反馈,可以对经排名的特征鉴别器列表重新排名,从而将不同的鉴别器(或者多个鉴别器)在对用户请求的后续响应中呈现给用户。在一个实施例中,鉴别器确定逻辑235可以指定使用第一特征(或特征集合)或(一个或多个)特征类型作为鉴别器,并且然后基于指示用户混淆或用户无法区分或做出决策的某种反馈,利用第二特征(或特征集合)作为鉴别器,依此类推。在一些实施例中,鉴别器确定逻辑235可以包括用于基于用户反馈来创建新规则或逻辑的功能。
在一些实施例中,鉴别器确定逻辑235可以指定应当将用户反馈合并到(一个或多个)特征鉴别器模型248中,并且还可以基于接收到的反馈来更新所述模型,诸如通过更新模型权重。例如,特定用户反馈可以指示流派特征类型作为针对特定用户的鉴别器没有帮助,并且因此,鉴别器确定逻辑235可以记录该流派特征类型不是有效鉴别器,可以降低与该特征类型相关联的权重,从而针对该特征类型而确定的鉴别器分数降低,或者可以更新(一个或多个)特征鉴别器模型248以弱化(例如,降低权重)该流派特征类型。由鉴别器确定逻辑235更新(或创建)的特征鉴别器模型可以被访问或存储在用户简档240的(一个或多个)特征鉴别器模型248中。
继续图2,响应生成290通常负责由计算机生成针对与用户的基于语音的交互的响应,所述响应可以在包括语音命令的用户请求之后被生成并且提供给用户。响应生成290的实施例可以从(一个或多个)搜索引擎接口250和从鉴别器确定器288(或者更一般地从特征鉴别确定280)确定的对应特征鉴别器(或鉴别器集合,其可以包括经排名的列表)接收搜索结果。响应生成290的实施例然后使用至少一个搜索结果实体和对应的鉴别器来生成响应。在一些实施例中,一个以上的鉴别器可以被包含在所生成的响应中或者被用于生成响应。(例如,响应“您想要附近的药房还是上周去过的药房?”包括两个鉴别器:位置特征鉴别器和个人特征鉴别器。在一些实施例中,所生成的相应可以包括文本响应,其可以通过文本到语音程序被转换为语音以播放给用户。(例如并且如下文所描述的,在一些实施例中,呈现组件220包括用于将文本信息转换成语音的文本到语音程序或服务,使得在用户与计算机系统之间的基于语音的交互能够发生。)
在高级别处,当生成响应时,响应生成290的一些实施例可以简化搜索结果的各方面,诸如从搜索结果中裁剪无关信息;例如,可以忽略不是鉴别器的其他特征。类似地,一些特征可以被聚合或概括。响应生成290的一些实施例可以个性化要被呈现的信息,诸如通过补充或修改搜索结果的各方面。例如,可以修改鉴别器或者可以添加关于鉴别器的补充信息以便对其进行个性化(例如,通过利用与用户相关的位置信息来替换地址,诸如呈现与用户居住地或工作地相关的位置)。
如在示例性系统200中所示的,响应生成290包括搜索结果简化292、个性化294和响应生成器296。此外,响应生成290或其子组件的一些实施例可以利用响应生成逻辑237来生成响应或者促进执行与子组件相关联的功能,诸如简化或个性化。
搜索结果简化292通常负责修改搜索结果以呈现给用户,诸如通过裁剪、从搜索结果中提取细节或者以其他方式简化结果以用作响应的一部分。在本文中所描述的实施例中的一些实施例的目标并且如在本公开中所提供的许多示例中所示是生成并且向用户提供响应,所述响应包括搜索结果实体的标识和一个或多个鉴别器,所述鉴别器使得用户能够将该实体与另一实体区分开来,但是不一定在响应中包含无关的细节。因此,在一些实施例中,搜索结果简化292通过从搜索结果中移除无关信息来执行简化。例如,搜索结果简化292的这些实施例可以移除未被确定为鉴别器或者具有低鉴别器分数的那些特征(和相关元数据)。例如在上文两个药店营业时间相同的示例中,营业时间特征(以及关于营业时间的其他相关信息)可能从响应中忽略,因为用户不太可能使用该特征来区分响应中识别出的药房与具有相同营业时间的药房。替代地,搜索结果简化292可以被认为是从搜索结果响应中提取关键信息,诸如实体的指示和鉴别器特征的集合,然后响应生成290的其他子组件可以使用这些信息来生成响应。在一些情况下,可能不需要或不希望在将搜索结果呈现给用户之前对其进行简化。
在一些实施例中,搜索结果简化292可以对搜索结果中的特征执行聚合或概括。具体地,在一些实施例中,响应生成逻辑237可以被搜索结果简化292利用,并且可以包括用于将特征聚合在一起或用于概括特征信息的逻辑。通过示例而非限制,假设针对搜索结果中的联系人实体,第一特征指示该实体是同事,而第二特征指示该实体与用户在项目团队中。因为实体与用户在项目团队中,所以该实体是同事,因为在同一项目团队中意味着是同事;因此,可以聚合关于这些特征的信息,诸如通过仅包括关于这些特征之一的信息。类似地,可以将特征信息修改为更一般化。例如,可以将特定区域中某位置处的特定地址修改为仅是区域而不是特定地址(例如,“您想呼叫市中心的药房吗?”或者“您想呼叫Bellevue的餐厅还是Redmond的餐厅?”)。作为另一示例,在个人特征指示联系人实体昨天呼叫过用户五次的情况下,响应生成逻辑237可以聚合或修改该信息以简单地表示联系人昨天呼叫了用户(例如,“您想呼叫昨天呼叫您的John?”)。
个性化294通常负责对搜索结果或相关信息的各方面进行个性化以被包括在由响应生成290生成的响应中。个性化294的实施例可以补充或修改要在响应中提供的信息。具体地,个性化294可以确定要被包括的关于鉴别器的额外信息,或者可以修改鉴别器或搜索结果实体的其他方面,以便个性化对用户的响应或进一步阐明响应。通过示例而非限制,个性化294可以通过利用与用户相关的位置信息替换其地址来修改位置鉴别器以使其对用户更加个性化,诸如表达与用户当前所在、生活或工作的位置相关的位置(例如,“您办公室附近的药房”而不是“Broadway的药房”)。类似地,位置地址可以与地标相关地表达(例如,“Space Needle附近的药房”)。因此,在一些实施例中,鉴别器可能不一定明确被包含在所生成的响应中,但是在一些情况下,其可以被用于生成具有补充或替代信息的响应,从而使得用户能够区分特定实体或做出决策,诸如在先前的示例中。
个性化294的一些实施例利用响应生成逻辑237来生成响应或者促进补充或修改要被包含在响应中的信息。响应生成逻辑237通常包括用于生成用户响应的规则、条件、关联、模型或者其他标准。响应生成逻辑237可以利用模糊逻辑、机器学习技术、梯度提升、聚类、其他统计分类过程或者这些的组合。
在一些实施例中,响应生成逻辑237还可以包括用于生成针对用户个性化的响应或者以其他方式使得用户能够更直接或快速地区分特定实体的响应的逻辑。在一些实施例中,响应生成逻辑237可以利用针对实体的(一个或多个)鉴别器来确定是补充还是修改要被包含在响应中的信息。具体地,在一些实施例中,响应生成逻辑237能够包括用于使用鉴别器或实体信息或者与实体相关联的其他特征来执行补充搜索操作以确定可以被包括的额外信息的逻辑。
个性化294、响应生成逻辑237或响应生成290的一些实施例可以采用一个或多个响应个性化模型249。具体地,响应个性化模型249可以被用于确定用于向用户呈现信息的最佳格式。响应个性化模型249可以特定于特定域和/或特定于特定鉴别器。在这点上,响应个性化模型249可以包括模型集合。
在一些实施例中,响应个性化模型249可以包括机器学习模型,诸如决策树或随机森林、语义知识图、神经网络、有限状态机、支持向量机、逻辑回归模型或者其他机器学习模型。在实施例中,响应个性化模型249包括加权规则的集合,其可以包括预定规则、根据用户反馈或偏好确定的规则、其组合。在一些实施例中,关于用户反馈或用户偏好的信息可以在响应个性化模型249中表示。例如,用户可以指示其比地址信息更喜欢相对位置(即,表达与用户的当前位置相关的位置,例如,用户居住、或者工作或已知地标的地方)。类似地,在一些实施例中,用户偏好或反馈可以指定不个性化响应。例如,在共享环境中的智能扬声器可以被配置为(作为用户偏好或设置)不针对特定用户个性化响应。在这些实施例中,可以不采用或者可以使用响应个性化模型249,并且响应个性化模型249可以包括指定不应用个性化技术的规则。
响应生成器296通常负责在与用户的基于语音的交互中由计算系统生成或合成响应。响应生成器296的实施例可以利用搜索结果实体或搜索结果信息以及可以由鉴别器确定器288确定的一个或多个对应鉴别器来生成响应。在一些情况下,所生成的响应可以包括搜索结果实体和鉴别器。在一些实施例中,多于一个鉴别器可以被包含在所生成的响应中或者被用于生成响应,如先前所描述的。此外,在一些实施例中,响应生成器296可以基于实体信息和鉴别器为用户制定问题;例如,“您想呼叫您的同事John吗?”或者“您想知道SpaceNeedle旁边药房的路线吗?”在一些实施例中,响应生成器296基于搜索结果简化292和个性化294的输出来组合响应。
在一些实施例中,其中,针对特定搜索结果实体来确定多个经排名的鉴别器,响应生成器296(或者响应生成290的其他子组件)可以利用最高排名的鉴别器来生成初始响应。具体地,在一些实施例中,基于指示混淆或无法区分的用户反馈,可以在相同的基于语音的交互会话内在随后生成的响应中使用排名次高的(一个或多个)鉴别器,或者可以对鉴别器的列表进行重新排名。
在一些实施例中,所生成的响应可以包括文本响应。针对使用智能扬声器实现的实施例,可以通过文本到语音程序将所生成的文本响应转换为语音以通过智能扬声器回放给用户。例如并且如下文所描述的,在一些实施例中,呈现组件220包括用于将文本信息转换成语音的文本到语音程序或服务,使得在用户与计算机系统之间的基于语音的交互能够发生。
继续图2,示例性系统200还包括用户反馈299。用户反馈299通常负责处理对计算机生成的对初始用户请求(诸如语音命令)的响应的用户反馈。具体地,用户反馈299的实施例可以将用户的反馈(其可以在用户接收到对基于语音的命令的响应之后由用户在随后的话语中接收到)合并到用于确定和生成对用户请求的未来响应的逻辑中。用户反馈299的一些实施例还可以将用户偏好并入到该逻辑中,其可以被指定为用户偏好246中的设置配置。
如先前所描述的,用户反馈299可以将用户反馈或用户偏好合并到(一个或多个)特征鉴别器模型248和/或(一个或多个)响应个性化模型249中。具体地,在一些实施例中,用户反馈299可以基于用户反馈来更新模型权重、系数、规则或决策树或模型248和249的其他方面。例如,特征鉴别器模型248可以被更新,使得特定特征可能或多或少地被分类为鉴别器,或者可以接收更低或更高的鉴别器分数或权重。类似地,可以基于用户反馈来更新个性化模型249,如先前所描述的。以这种方式,本公开的这些实施例是自适应的并且能够从用户交互中学习。
此外,用户反馈299的一些实施例可以利用鉴别器确定逻辑235或响应生成逻辑237来更新模型248和249。例如,如结合特征鉴别确定290所描述的,鉴别器确定逻辑235可以指定用户反馈应当被合并到特征鉴别器模型248中,并且还可以基于所接收到的反馈来更新所述模型,例如诸如通过更新模型权重。例如,特定用户反馈可以指示流派特征类型作为针对特定用户的鉴别器没有帮助,并且因此,鉴别器确定逻辑235可以记录流派特征类型不是有效鉴别器,可以降低与该特征类型相关联的权重,使得针对该特征类型所确定的鉴别器分数降低,或者可以更新特征鉴别器模型248以弱化(例如,降低权重)所述流派特征类型。
在一些实施例中,在为特定搜索结果实体确定多个经排名的鉴别器的情况下,用户反馈299可以促进基于用户反馈来对鉴别器重新排名。例如,可以基于指示特定鉴别器没有帮助的用户反馈来重新排名初始高排名的鉴别器。替代地,用户反馈299可以指定随后生成的响应应当在对用户的随后响应中使用排名次高的鉴别器,以便提供更多清晰性并且解决混淆。此外,在一些实施例中,基于用户反馈,用户反馈299可以指定应当执行新的搜索。例如,在没有搜索结果与用户意图一致的情况下,用户反馈299可以指定可以执行额外搜索操作,这可以包括在不同域上搜索,并且用户反馈299可以将用于搜索的参数传递给(一个或多个)搜索引擎接口250。
示例性系统200还包括呈现组件220,其通常负责向用户呈现由响应生成290生成的响应。呈现组件220可以包括跨多个用户设备的用户设备上或云中的一个或多个应用或服务。例如,在一个实施例中,呈现组件220管理跨与该用户相关联的多个用户设备向用户呈现内容。在一些实施例中,呈现组件220包括或利用文本到语音程序或服务以用于将基于文本的响应(其可以由响应生成290提供)转换为语音,从而实现用户与计算机系统之间基于语音的交互。
在一些实施例中,呈现组件218可以确定在哪个(哪些)用户设备上呈现响应,以及呈现的格式化参数(例如,针对一些实施例,可以包括合成或计算机生成的语音的特性的音频属性、语速、音高、音调、音量和/或视觉属性)。呈现组件220可以促进经由计算设备700的一个或多个呈现组件716来提供内容,诸如对用户请求的所生成的响应,如结合图7所描述的。例如,呈现组件220可以促进向与计算设备相关联的声学扬声器提供基于来自响应生成290的响应生成的计算机化语音。在一些实施例中,呈现组件218生成与个性化内容相关联的用户界面特征。这样的功能能够包括界面元素(诸如图形按钮、滑块、菜单、音频提示、警报、警告、振动、弹出窗口、通知栏或状态栏项目、应用内通知或者用于与用户接口的其他类似特征)、查询和提示。
存储装置225通常存储信息,包括数据、计算机指令(例如,软件程序指令、例程或服务)、逻辑、简档和/或在本文中所描述的公开的实施例中所使用的模型。在实施例中,存储装置225包括数据存储(或计算机数据存储器)。此外,尽管被描绘为单个数据存储组件,但是存储装置225可以被体现为一个或多个数据存储或者可以在云中。
如在示例性系统200中所示的,存储装置225包括一个或多个用户简档240、特征比较逻辑230、鉴别器确定逻辑235和响应生成逻辑237。示例性用户简档240的一些实施例可以包括与特定用户或者在一些情况下与一类用户相关联的信息。如所示的,用户简档240包括用户活动信息组件242、(一个或多个)用户账户和(一个或多个)设备244、用户偏好246、(一个或多个)特征鉴别器模型248和(一个或多个)响应个性化模型249,其中的一些之前已经被描述。被存储在用户简档240中的信息可以用于示例选系统200的例程或其他组件。
如先前所描述的,用户活动信息组件242通常包括关于用户动作或活动事件的用户信息、相关上下文信息或者其他相关信息,这些信息可以经由用户活动监视器270来确定,并且可以包括历史或当前用户活动信息。(一个或多个)用户账户和(一个或多个)设备244通常包括关于访问、使用或者以其他方式与用户相关联的用户设备的信息,和/或涉及与用户相关联的用户账户的信息;例如,在线或基于云的账户(例如,电子邮件、社交媒体),诸如网络通行证,其他账户,诸如娱乐或游戏相关账户(例如,Xbox live、Netflix、在线游戏订阅账户等);与这样的账户相关的用户数据,诸如用户电子邮件、文本、即时消息、电话、其他通信和其他内容;社交网络账户和数据,诸如新闻提要;在线活动;以及日历、约定、应用数据、其他用户账户等。用户账户和设备244的一些实施例可以跨一个或多个数据库、知识图或数据结构来存储信息。如先前所描述的,被存储在用户账户和设备244中的信息可以根据用户数据收集组件210或用户活动监视器270来确定。
用户偏好246通常包括与用户活动监控相关联的用户设置或偏好。通过示例而非限制,这样的设置可以包括关于是否以及如何使用个人特征的用户偏好,针对特定特征或特征类型鉴别器的配置,诸如要考虑用作鉴别器的优选特征或特征类型,指定用户更偏好在响应中接收多少搜索结果实体的设置,或者在本文中所描述的其他配置。(一个或多个)特征鉴别器模型248在先前结合特征鉴别器确定280进行了描述,并且(一个或多个)响应个性化模型249在先前结合响应生成290进行了描述。
现在转向图3,说明性地提供了示例性实施例,其描绘了用户305与计算系统之间的基于语音的交互300,所述计算系统是智能扬声器315。所述智能扬声器可以包括用户设备,诸如图1中的用户设备102a。在该示例性实施例中,智能扬声器315可以利用系统架构(诸如系统200)来确定在基于语音的交互期间对用户的直观响应。
在图3的示例性实施例中,用户305向智能扬声器315说出基于语音的请求310。请求315包括针对计算机助手(诸如在智能扬声器315上操作的虚拟助手)的语音命令“请在Green Hen餐厅预订。”响应于用户请求310,智能扬声器315生成并且提供响应320,其指示计算机助手将进行预订,但是询问用户305关于用户希望预订哪个Green Hen餐厅的问题。具体而言,智能扬声器315通过询问用户305是否用户305想要在用户上个月用餐的GreenHen餐厅还是用户工作附近的Green Hen餐厅进行预订来进行响应。在该示例中,在用户请求310之后,智能扬声器315执行搜索操作,并且确定包括针对至少第一和第二Green Hen餐厅的搜索结果实体的搜索结果。因此,智能扬声器315(或者在其上运行的虚拟助手或计算机程序)确定至少一个鉴别器特征。
在该示例中,确定了两个鉴别器特征:一个包括位置特征(这是全局特征),因为第一和第二Green Hen餐厅的位置是不同的,并且第二鉴别器包括个人特征——用户先前已经访问(就餐于)Green Hen餐厅之一。示例性响应320被生成并且包括对两个鉴别器(位置特征和个人特征)的指示,其使得用户305能够在两个Green Hen餐厅之间进行区分。此外,在该示例中,通过将位置修改为与用户的体验相关,从而为用户个性化所述响应。具体地,不是提供第二Green Hen餐厅的地址,而是将其位置呈现为靠近用户的工作地点。
现在回到图4A,描绘了先前描述的在用户与智能扬声器之间的常规交互的示例。参考图4A,现在转向图4B,说明性地提供了在本文中所描述的技术的另一示例性实施例。在图4B中示出的示例性实施例与在图4A中所描绘的示例性常规交互进行对比。具体地,同一用户405被示为驾驶汽车并且与智能扬声器415交互。然而,与在图4A的示例中的结果相反,在图4B中,智能扬声器315对呼叫Walgreens 451的用户请求生成并提供更加直观的响应465(场景450)。具体地,在场景460中,智能扬声器415通过询问用户405用户想要呼叫用户家附近的Walgreens还是Main Street上3个街区远的Walgreens来进行响应465。在场景470中,用户405回复452指示用户想要呼叫Main Street上的Walgreens。
在该示例中,在用户请求451之后,智能扬声器415使得搜索操作执行并且接收针对至少第一和第二Walgreens药房的搜索结果实体。智能扬声器415(或者在其上运行的虚拟助手或计算机程序)然后为这些实体确定至少一个鉴别器特征。这里将位置特征确定为鉴别器,因为第一和第二Walgreens药房的位置不同。生成的响应包括对该鉴别器的指示——位置特征,这将使得用户能够在两个Walgreens药房之间进行区分。此外,在该示例中,通过提供与关于用户的信息相关的位置(即,指示用户当前位置的用户数据),对用户进行个性化所述响应。具体地,距用户“3个街区远”的Walgreen药房。
图4B还示出了用户对提供给用户的所生成的响应的回复(场景470)。在此,用户的回复包括对第二实体(即,Main Street上的Walgreens)的指示。因此,响应于用户的回复,智能扬声器415(或者在其上运行的虚拟助手或计算机程序)可以执行与第二实体(即,MainStreet上的Walgreens)相关联的动作,诸如向特定的Walgreens发起电话呼叫。
现在转向图5和图6,说明性地描绘了针对本公开的实施例的示例性过程流程500和600的各方面。过程流程500和600每个都可以包括可以被执行以实现在本文中所描述的许多示例性实施例的方法(有时在本文中被称为方法500和方法600)。例如,过程流程500或过程流程600可以被用于促进基于语音的交互或者改进用户与计算系统之间的基于语音的交互,诸如响应于语音命令执行呼叫消歧以进行电话呼叫。
过程流程500和过程流程600的概览分别在图5和图6中进行描绘,并且对应于要执行的动作(或步骤)(与要对其执行动作的信息相对)的过程流程500和600的框可以由一个或多个计算机应用或服务来执行,在一些实施例中,包括在一个或多个用户设备(诸如用户设备104a)、服务器(诸如服务器106)上运行的虚拟助手,可以跨多个用户设备和/或服务器来分布,或者可以在云中实现。在一个实施例中,由过程流程500和600的框或步骤执行的功能由结合图2所描述的系统200的组件来执行。
参考图5,说明性地提供了过程流程500的概览。在框510处,确定第一搜索结果实体、第二搜索结果实体和表征第一搜索结果实体的特征集合。框510的实施例根据搜索结果信息来确定第一搜索结果实体和第二搜索结果实体。例如,搜索结果信息能够从执行搜索操作的搜索引擎接收,所述搜索操作可以响应于诸如语音命令的用户请求而发起。在一些实施例中,搜索结果信息可以从(一个或多个)搜索引擎接口接收,诸如结合图2所描述的(一个或多个)搜索引擎接口250。在一些实施例中,可以使用实体确定器282来确定第一搜索结果实体和第二搜索结果实体,并且可以利用实体特征确定器284来确定表征第一搜索结果实体的特征集合,每个都结合图2进一步描述。表征第一实体的特征集合可以包括全局特征(例如,实体拼写;当实体是场所时的物理位置或营业时间;颜色、大小或描述第一实体的其他属性),或者个人特征(诸如与第一搜索结果实体相关联的当前或历史用户体验或用户数据)。结合图2描述了用于执行框510的实施例的额外细节,并且特别是特征鉴别器确定280。
在框520处,确定鉴别器。所述鉴别器表征与第二搜索结果实体的方面不同的第一搜索结果实体的方面。例如,在第一搜索结果实体和第二搜索结果实体是具有物理场所的企业的情况下,表征这些实体的方面可能包括其物理位置、其营业时间或者表征这些实体的一些其他属性。因此,如果第一搜索结果实体的位置与第二搜索结果实体的位置不同,则在框520中确定的鉴别器可以包括物理位置方面;或者如果营业时间不同(例如,一个实体在10p.m.关闭,而另一实体24小时开放),则鉴别器包括营业时间。类似地,鉴别器可能基于用户对实体之一的个人体验(例如,个人特征,诸如用户的先前访问或者与用户和实体的通信)。在一些实施例中,确定出的鉴别器可以包括指示在第一实体的方面与第二实体的方面之间的差异程度的对应分数或权重。具体地,框520的一些实施例可以包括在各方面之间执行特征相似性比较。例如,可以比较针对相同或相似特征类型的特征,并且确定相似性程度,诸如结合图2的特征相似性确定器286所描述的。
在一些实施例中,在框520中确定的鉴别器可以包括来自框510中的特征集合的一个或多个特征,或者可以基于这些特征中的一个或多个特征来确定。框520的实施例可以确定至少一个鉴别器,并且在一些实施例中可以确定多个鉴别器。此外,在一些实施例中,所述多个鉴别器可以基于其鉴别器分数或权重来排名。框520的一些实施例可以由特征鉴别器确定280或者更具体地由图2的鉴别器确定器288来执行。框520的一些实施例可以采用鉴别器确定逻辑,诸如在图2中所描述的逻辑235,并且可以利用特征鉴别器模型248(图2)来确定鉴别器。结合图2中的特征鉴别器确定280提供用于确定鉴别器和用于框520的实施例的额外细节。
在框530处,确定不在第一搜索结果实体于第二搜索结果实体之间进行区分的特征子集。框530的实施例可以根据表征在框510中确定的第一搜索结果实体的特征集合来确定特征子集。所述特征子集可以包括第一实体和第二实体的相同或类似的一个或多个方面或特性。例如,在示例性实施例中,如果第一搜索结果实体和第二搜索结果实体是场所,并且这两个实体具有相同的营业时间,那么实体的该方面是相似的,并且因此营业时间特征可以被包含在框530中确定出的子集中。具体地,因为针对这两个实体(即,针对这两个场所)的营业时间相似,所以向用户提供该细节可能没有帮助,因为其不能使得用户在第一实体与第二实体之间进行区分。(例如,由计算系统生成的响应,诸如“您想要24小时营业的实体还是24小时营业的实体?”不能使得用户在这些实体之间进行区分。)因此,可以在框530的一些实施例中确定确实使得用户能够区分的特征子集,诸如在先前示例中的营业时间特征,从而可以在由计算系统生成的响应中排除这些特征并且提供给用户。
框530的一些实施例可以采用特征相似性函数来确定相似或相同的特征。例如,特征相似性操作可以由在图2中的特征相似性确定器286来执行。结合图2中的该子组件描述了用于执行特征相似性确定的额外细节。可以使用图2的特征鉴别器确定280组件和响应生成290组件来执行框530的一些实施例。结合图2中的特征鉴别器确定280和响应生成290来提供框530的实施例的额外细节。
在框540处,生成包括在框520中确定的对鉴别器的指示的响应。框540的一些实施例可以生成包括鉴别器并且进一步排除框530中确定出的子集的响应。以这种方式,所生成的响应可以排除无法使得用户能够在搜索结果实体之间进行区分或者以其他方式阻止用户继续与计算系统进行基于语音的交互会话的无关细节。此外,框540的一些实施例包括生成响应,所述响应还包括对在框510中确定出的对至少第一搜索结果实体的指示。
在一些实施例中,可以对所述用户个性化所生成的响应。如结合响应个性化294(图2)所描述的,可以修改响应的各方面或者被确定和添加导致响应被个性化的补充信息。例如,可以通过提供相对于用户的位置或相对于对用户有意义的另一位置(诸如用户的家、工作或地标)的位置来修改鉴别器的各方面,诸如位置鉴别器的地址。框540的一些实施例可以利用响应个性化模型,诸如模型249(在图2中所描述的),以促进对用户的响应个性化。
在一些实施例中,所生成的响应可以包括文本语料库或代码,其可以被用于组装基于语音的响应,诸如计算机生成的(或者计算机合成的)语音。所述响应可以由计算系统生成,或者经由在计算机系统上运行的虚拟助手生成,并且可以响应于用户请求(诸如语音命令)而生成。框540的一些实施例可以由图2的响应生成290组件来执行。结合图2中的响应生成290提供了框540的实施例的额外细节。
在框550处,呈现在框540中所生成的响应。框550的实施例可以包括向用户提供所生成的响应。例如,如在本文中所描述的,可以经由诸如声学扬声器的呈现组件来提供响应。在一些实施例中,可以利用文本到语音服务或计算机程序来将作为文本语料库的响应转换为被提供给用户的口头响应。框550的一些实施例可以由图2的响应生成290组件或呈现组件220来执行。结合图2中的响应生成290和呈现组件220来提供框550的实施例的额外细节。
过程流程500(或方法500)的一些实施例还包括从被提供给用户的所生成的响应中接收用户反馈。具体地,如结合图2的用户反馈299所描述的,可以经由(一个或多个)搜索引擎接口250接收和利用用户反馈,例如,以重新排名现有的鉴别器列表、确定新鉴别器、或者发起新的搜索操作。然后可以生成后续响应并且将其提供给用户。在一些实施例中,用户反馈可以被用于更新结合图2所描述的特征鉴别器模型248或响应个性化模型249。
现在转向图6,提供了图示出示例性过程流程600的概览的流程图。在框610处,接收包括对第一实体的指示和对第二实体的指示的信息。第一实体和第二实体可以分别对应于第一搜索结果实体和第二搜索结果实体,或者来自搜索操作的第一搜索结果和第二搜索结果。框610的实施例可以从搜索结果接收信息,所述信息可以从(一个或多个)搜索引擎接口接收,诸如在图2中所描述的(一个或多个)搜索引擎接口250。例如,如结合图2进一步描述的,搜索结果信息可以包括多个搜索结果实体和关于实体的元数据或描述信息。所述信息可以由计算系统来接收,并且更具体而言由域特征确定260组件或特征鉴别器确定280组件接收,如在图2中所描述的。框610的一些实施例可以由图2的特征鉴别器确定280组件来执行,并且结合图2中的特征鉴别器确定280来提供框610的实施例的额外细节。
在框620处,确定表征第一实体的特定特性与表征第二实体的特定特性之间的差异。例如,如在框520中所描述的,其中,所述第一实体和所述第二实体是具有物理场所的企业,表征实体的特定特性可能包括其物理位置、其营业时间或者描述这些实体的方面的一些其他属性。因此,在该示例中,框620能够确定在这些特性中的差异,诸如确定位置不同或营业时间不同。类似地,框620可以确定用户体验的特定特性不同;例如,用户具有与实体之一的交互历史,诸如对所述实体的先前访问。
在一些实施例中,框620可以进一步确定差异的程度,其可以包括分数或权重,并且其可以被用于从针对表征实体的其他特性确定的差异对特定特性进行排名,使得具有最高(或较高)分数或权重的特性可以被包含在被生成并且提供给用户的响应消息中(或者可以在响应消息中包括对该特性的指示)。在框620的一些实施例中,可以确定对应于针对第一实体和第二实体的多个特性的多个差异,并且可以根据其权重或分数来排名。
框620的一些实施例可以被实现为框520(过程流程500)的实施例。框620的一些实施例可以由特征鉴别器确定280或者更具体而言由图2的鉴别器确定器288来执行。框620的一些实施例可以采用鉴别器确定逻辑,诸如在图2中所描述的逻辑235,并且可以利用特征鉴别器模型248(图2)。结合图2中的特征鉴别器确定280来提供框620的实施例的额外细节。
在框630处,生成包括框620中确定出的对差异的指示的消息。框630的实施例可以生成将被提供给用户的消息。在一些实施例中,消息可以包括对用户的请求的响应,诸如语音命令。框630的一些实施例可以生成包括至少来自框610的对第一实体的指示的响应。
在一些实施例中,所生成的响应可以针对用户进行个性化,并且可以利用响应个性化模型,诸如模型249(在图2中所描述的)来促进对用户的响应进行个性化。例如,如结合响应个性化294(图2)所描述的,可以修改响应的各方面或者被确定和添加导致响应被个性化的补充信息。在一些实施例中,所生成的响应可以包括文本语料库或代码,其可以被用于组装基于语音的响应,诸如计算机生成的(或者计算机合成的)语音。框630的一些实施例可以由图2的响应生成290组件来执行。结合图2中的响应生成290来提供框630的实施例的额外细节。
在框640处,呈现在框630中所生成的消息。框640的实施例可以包括向用户提供所生成的响应。例如,如在本文中所描述的,可以经由呈现组件来提供响应,诸如声学扬声器和文本到语音服务或计算机程序,其可以被用于将作为文本语料库的响应转换为被提供给用户的口头响应。框640的一些实施例可以由图2的响应生成290组件或呈现组件220来执行。结合图2中的响应生成290和呈现组件220来提供框640的实施例的额外细节。
过程流程600(或方法600)的一些实施例还包括从被提供给用户的所生成的响应中接收用户反馈。这些实施例可以如在过程流程500中所描述的那样实现,并且可以由例如在图2中所描述的用户反馈299组件来执行。
现在描述由在本文中所描述的技术的实施例实现的语音交互的若干额外和非限制性示例。在一些实例中,这些示例可以使用系统200的示例性架构或过程流程500和600的实施例来实现。这些示例中的每个示例都包括在计算系统(诸如用户设备102a)上运行的虚拟助手(例如,Cortana)与用户之间的语音交互。用户进行请求或语音命令,并且虚拟助手以包括对至少一个鉴别器特征的指示的响应进行响应,使得用户能够在与基于用户请求要执行的动作相关联的两个或更多个实体之间进行区分。
示例1,进行预约:
·用户请求:“嘿Cortana,请在晚上7点预订4人的晚餐。”
·Cortana:“好的,今晚7点我可以在意大利餐厅或牛排餐厅预订。你更喜欢哪一个?”
在该示例中,鉴别器包括餐厅菜品。
示例2,购物:
·用户请求:“Cortana,请给我订购替换充电器。”
·Cortana:“当然,您想要为手机配备USB-C充电器吗?
·用户:“是的。”
在该示例中,鉴别器特征包括关于充电器类型的信息(例如,用于您手机的USB-C充电器),这使得用户能够将该实体(即,要购买的该项目)与可能已经被包含在根据用户请求订购“替换充电器”执行的搜索操作的搜索结果中的其他充电器区分开。例如,另一充电器可能是汽车,Dodge Charger。
示例3,购物:
·用户请求:“Cortana,请帮我订购替换充电器。”
·Cortana:“当然,我看到您当前使用的是三星GalaxyS9,其使用USB-C电缆。我将为您订购替换的USB-C电缆。可以吗?”
·用户:“好的。”
该示例类似于示例2。
示例4,购物:
·用户请求:“Cortana,请帮我订购替换手机充电器。”
·Cortana:“好的,我看到您去年三月购买了手机充电器。您想要我再订一份,还是要另一种?”
在该示例中,鉴别器包括个人特征——用户先前购买的手机充电器。
示例5,购物:
·用户请求:“嘿Cortana,外面很冷。请帮我订一条围巾。”
·Cortana:“好的,我可以为您订购一条红色、蓝色或绿色的围巾。你想要什么颜色的围巾?
在该示例中,鉴别器包括颜色特征。
示例6,购物:
·用户请求:“嘿Cortana,请帮我订购一些黑色袜子。”
·Cortana:“好的,你想要9美元的4.7星评级的3只袜子装,还是12美元的4.1星级评级的4只袜子装?”
在该示例中,鉴别器包括价格、数量和客户评级。
示例7,购物:
·用户请求:“Cortana,订购一盒饼干并且将其交付给我。”
·Cortana:“嗯,好的。你想要健康饼干吗?”
·用户:“不。”
在该示例中,鉴别器包括对实体的描述(即,饼干是“健康”的)。
示例8,打开文件:
·用户请求:“Cortana,打开我发送给Bob的最后一封电子邮件”
·Cortana:“好的,您是说您的同事Bob还是水管工Bob?”
该示例包括两个鉴别器。第一鉴别器是个人特征(即,第一Bob是同事)。第二鉴别器可以从响应于用户请求而执行的搜索操作返回的搜索结果中的元数据中确定,或者可以从对其他特征的额外搜索操作或关于第二Bob的搜索结果信息确定为额外信息。
示例9,打开文件:
·用户请求:“打开我上周正在编写的代码。”
·Cortana:“好的,您想要周一与Dikla合作的程序文件还是周四与Haim合作的程序文件?”
该示例包括都是个人特征的两个鉴别器。第一鉴别器是上周用户处理代码的那天。第二鉴别器是也参与代码的另一人的指示,并且可以根据与程序文件相关联的元数据(例如,文件访问或编辑)或者通过在用户与另一人之间关于特定编程文件的电子邮件等通信来确定。
示例10呼叫场所:
·用户请求:“智能扬声器,呼叫必胜客。”
·Cortana:“您想呼叫您之前在Redmond去过的必胜客还是在Bellevue的必胜客?”
·用户:“都不是,我想呼叫不同的必胜客。”
·Cortana:“好的,我在您家附近看到一家必胜客,一家靠近健身房,还有一家靠近您的办公室。您要呼叫哪一家?”
在该示例中,鉴别器包括位置特征和个人特征(先前访问的用户历史)。在后续响应中,鉴别器是位置特征,其是个人特征,因为位置是相对于用户有意义的位置(即,用户的办公室、健身房和家)提供的。
因此,我们已经描述了涉及用于改进基于语音的用户-计算机交互技术和改进用于在基于语音应用和计算设备内的计算机执行的搜索的用户体验的系统和方法的技术的各个方面。可以理解,在本文中所描述的实施例的各种特征、子组合和修改是有用的并且可以在不参考其他特征或子组合的情况下用于其他实施例中。此外,在示例性方法500和600中所示的步骤(或框)的次序和序列并不意味着以任何方式限制在本文中所描述的技术的范围,并且事实上,这些步骤或框可以以实施例内的多种序列出现。这样的变化以及其组合也被设想到在本公开的实施例的范围内。
已经描述了本公开的各种实施例,现在描述适用于实现本公开的实施例的示例性计算环境。参考图7,提供了示例性计算设备并且通常被称为计算设备700。计算设备700只是合适的计算环境的一个示例,并且并不旨在暗示对本公开的使用范围或功能的任何限制。计算设备700也不应当被解释为对所图示的任一组件或组件的组合具有任何依赖性或要求。
本公开的实施例可以在计算机代码或机器可用指令的一般上下文中描述,包括计算机可用或计算机可执行指令,诸如程序模块,由计算机或其他机器来执行,诸如个人数据助手、智能手机、平板PC或者其他手持设备。通常,程序模块,包括例程、程序、对象、组件、数据结构等,指代执行特定任务或实现特定抽象数据类型的代码。本公开的实施例可以在各种系统配置中实践,包括手持设备、消费电子产品、通用计算机、更专业的计算设备等。本公开的实施例还可以在分布式计算环境中实践,其中,任务由通过通信网络链接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程计算机存储介质两者中,包括存储器存储设备。
参考图7,计算设备700包括直接或间接耦合以下设备的总线710:存储器712、一个或多个处理器714、一个或多个呈现组件716、一个或多个输入/输出(I/O)端口718、一个或多个I/O组件720,以及说明性的电源722。总线410表示一条或多条总线(诸如地址总线、数据总线或者其组合)。尽管为了清楚起见图7的各个框利用线示出,但是实际上,这些框表示逻辑组件,而不一定是实际组件。例如,可以将诸如显示设备的呈现组件视为I/O组件。同样地,处理器具有存储器。发明人在此认识到这是本领域的本质并且重申图7的图仅说明能够结合本公开的一个或多个实施例所使用的示例性计算设备。在诸如“工作站”、“服务器”、“膝上型计算机”、“手持设备”等之类的类别之间没有区别,因为所有这些都被设想在图7的范围内并且参考“计算设备”。
计算设备400通常包括各种计算机可读介质。计算机可读介质能够是能够由计算设备400访问的任何可用介质,并且包括易失性和非易失性介质、可移动和不可移动介质。通过示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于:RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字多功能磁盘(DVD)或其他光盘存储、盒式磁带、磁带、磁盘存储或其他磁存储设备,或者能够被用于存储所需信息并且能够由计算设备400访问的任何其他介质。计算机存储介质不包括信号自身。通信介质通常体现计算机可读指令、数据结构、程序模块或者在诸如载波或其他传输机制的经调制的数据信号中的其他数据,并且包括任何信息传递介质。术语“经调制的数据信号”意指以编码信号中的信息的方式设置或改变其一个或多个特性的信号。通过示例而非限制,通信介质包括有线介质,诸如有线网络或直接有线连接,以及无线介质,诸如声学、RF、红外线和其他无线介质。上述任何一种的组合也应当被包含在计算机可读介质的范围内。
存储器712包括易失性和/或非易失性存储器形式的计算机存储介质。所述存储器可以是可移动的、不可移动的或者其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备400包括从诸如存储器712或I/O组件720的各种实体读取数据的一个或多个处理器714。(一个或多个)呈现组件716向用户或其他设备呈现数据指示。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等。
I/O端口718允许计算设备400在逻辑上耦合到其他设备,包括I/O组件720,其中一些可以被内置。说明性组件包括麦克风、操纵杆、游戏手柄、卫星天线、扫描器、打印机、无线设备等。I/O组件720可以提供处理空中手势、语音或者由用户生成的其他生理输入的自然用户界面(NUI)。在一些情况下,输入可以被传输到适当的网络元件以用于进一步处理。NUI可以实现语音识别、触摸和触笔识别、面部识别、生物识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪以及与计算设备400上的显示器相关联的触摸识别的任意组合。计算设备400可以被配备有深度相机,诸如立体相机系统、红外相机系统、RGB相机系统以及这些的组合,以用于手势检测和识别。另外,计算设备400可以被配备有能够检测运动的加速度计或陀螺仪。加速度计或陀螺仪的输出可以提供给计算设备400的显示器以呈现沉浸式增强现实或虚拟现实。
计算设备400的一些实施例可以包括一个或多个无线电624(或者类似的无线通信组件)。无线电424发送和接收无线电或无线通信。计算设备400可以是适于通过各种无线网络接收通信和媒体的无线终端。计算设备400可以经由无线协议与其他设备通信,所述无线协议诸如是码分多址(“CDMA”)、全球移动系统(“GSM”)或时分多址(“TDMA”)以及其他协议。无线电通信可以是短程连接、长程连接或者短程和长程无线电信连接两者的组合。当我们提到“短”和“长”类型的连接时,我们并不是指两个设备之间的空间关系。相反,我们通常将短程和长程称为不同类别或类型的连接(即,主要连接和次要连接)。通过示例而非限制,短程连接可以包括到提供对无线通信网络的访问的设备(例如,移动热点)的连接,诸如使用802.11协议的WLAN连接;到另一计算设备的蓝牙连接是短程连接或近场通信连接的第二示例。通过示例而非限制,长程连接可以包括使用CDMA、GPRS、GSM、TDMA和802.16协议中的一种或多种的连接。
在不背离以下权利要求的范围的情况下,所描绘的各种部件以及未示出的部件的许多不同布置是可能的。已经描述了本公开的实施例,意图是说明性的而不是限制性的。在阅读本公开内容之后并且由于阅读本公开内容,替代实施例对于本公开内容的读者而言将变得显而易见。在不背离以下权利要求的范围的情况下,可以完成实现上述的替代方式。特定特征和子组合是有用的,并且可以在不参考其他特征和子组合的情况下被采用,并且被预期在权利要求的范围内。
Claims (14)
1.一种改进在用户与计算系统之间的基于语音的交互的计算机化方法,包括:
接收搜索结果信息;
根据所述搜索结果信息来确定至少第一搜索结果实体、第二搜索结果实体和表征所述第一搜索结果实体的第一特征集合;
基于所述第一特征集合来确定表征所述第一搜索结果实体的一方面的鉴别器,所述第一搜索结果实体的所述方面将所述第一搜索结果实体与所述第二搜索结果实体区分开;
根据所述第一特征集合来确定不在所述第一搜索结果实体与所述第二搜索结果实体之间进行区分的特征子集;
生成响应,所述响应包括至少所述第一搜索结果实体、对所述鉴别器的指示并且排除不在所述第一搜索结果实体与所述第二搜索结果实体之间进行区分的所述特征集合的所述子集;以及
提供所生成的响应。
2.根据权利要求1所述的计算机化方法,其中,所述搜索结果信息是从响应于用户请求而执行的搜索操作接收的,其中,所述搜索结果信息包括对搜索域的指示,并且其中,表征所述第一搜索结果实体的所述第一特征集合是基于所述搜索域来确定的。
3.根据权利要求1所述的计算机化方法,还包括:
根据所述搜索结果信息来确定表征所述第二搜索结果实体的第二特征集合;以及
其中,确定所述鉴别器包括执行在来自所述第一特征集合的第一特征与来自所述第二特征集合的第二特征之间的相似性比较。
4.根据权利要求1所述的计算机化方法,其中,所述鉴别器包括个人特征或全局特征。
5.根据权利要求1所述的计算机化方法,其中,所述鉴别器包括通过对针对所述用户的当前或历史用户数据执行搜索操作而确定的个人特征。
6.根据权利要求1所述的计算机化方法,其中,所生成的响应还包括所述第二搜索结果实体,并且其中,对所述鉴别器的所述指示包括指示所述第一搜索结果实体的所述方面的信息,所述第一搜索结果实体的所述方面不同于所述第二搜索结果实体的所述方面。
7.根据权利要求1所述的计算机化方法,还包括修改所述鉴别器以针对所述用户进行个性化,由此创建个性化鉴别器,并且在所生成的响应中包括对所述个性化鉴别器的指示。
8.根据权利要求1所述的计算机化方法,还包括接收用户反馈;并且其中,确定所述鉴别器包括利用基于所述用户反馈而更新的自适应模型。
9.一种计算设备,其用于在用户与所述计算设备之间进行基于语音的交互,所述计算设备包括:
声学扬声器;
一个或多个处理器;以及
在其上存储有计算机可执行指令的计算机存储存储器,所述计算机可执行指令当由所述处理器运行时实现一种方法,所述方法包括:
接收包括至少第一搜索结果实体和第二搜索结果实体的搜索结果信息;
确定鉴别器,所述鉴别器表征所述第一搜索结果实体的第一方面,所述第一搜索结果实体的所述第一方面不同于所述第二搜索结果实体的所述第一方面;
生成包括至少对所述鉴别器的指示的消息;以及
利用所述声学扬声器将所生成的消息提供给所述用户。
10.根据权利要求9所述的计算设备,其中,所述消息还包括所述第一搜索结果实体。
11.根据权利要求9所述的计算设备,还包括麦克风,并且所述方法还包括:
使用所述麦克风来接收口头用户命令;以及
响应于所述用户命令来执行第一搜索操作;
其中,所述搜索结果信息是从所述第一搜索操作接收的;以及
其中,所提供的消息是由所述计算系统对所述口头用户命令的响应。
12.根据权利要求9所述的计算设备,所述方法还包括:从所述用户接收对所提供的消息的响应,所述响应指示所述第一搜索结果实体或所述第二搜索结果实体;并且基于所述用户响应执行与由所述用户的响应所指示的特定搜索结果实体相关联的动作。
13.根据权利要求9所述的计算设备,还包括修改所述鉴别器以针对所述用户进行个性化,由此创建个性化鉴别器,并且在所生成的消息中包括对所述个性化鉴别器的指示。
14.根据权利要求9所述的计算设备,其中,所述鉴别器包括通过对针对所述用户的当前或历史用户数据执行搜索操作而确定的个人特征。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/276,512 US11194796B2 (en) | 2019-02-14 | 2019-02-14 | Intuitive voice search |
US16/276,512 | 2019-02-14 | ||
PCT/US2020/016685 WO2020167533A1 (en) | 2019-02-14 | 2020-02-05 | Intuitive voice search |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113424175A true CN113424175A (zh) | 2021-09-21 |
Family
ID=69743955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080013910.7A Pending CN113424175A (zh) | 2019-02-14 | 2020-02-05 | 直观的语音搜索 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11194796B2 (zh) |
EP (1) | EP3908942A1 (zh) |
CN (1) | CN113424175A (zh) |
WO (1) | WO2020167533A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110235087B (zh) * | 2017-01-20 | 2021-06-08 | 华为技术有限公司 | 一种实现语音控制的方法和终端 |
US11128563B2 (en) | 2018-06-22 | 2021-09-21 | Sorenson Ip Holdings, Llc | Incoming communication routing |
US11194796B2 (en) * | 2019-02-14 | 2021-12-07 | Microsoft Technology Licensing, Llc | Intuitive voice search |
US11842731B2 (en) * | 2020-01-06 | 2023-12-12 | Salesforce, Inc. | Method and system for executing an action for a user based on audio input |
US11797545B2 (en) * | 2020-04-21 | 2023-10-24 | International Business Machines Corporation | Dynamically generating facets using graph partitioning |
US11658835B2 (en) * | 2020-06-29 | 2023-05-23 | Meta Platforms, Inc. | Using a single request for multi-person calling in assistant systems |
US20220188304A1 (en) * | 2020-12-11 | 2022-06-16 | Samsung Electronics Co., Ltd. | Method and system for handling query in iot network |
US11809480B1 (en) * | 2020-12-31 | 2023-11-07 | Meta Platforms, Inc. | Generating dynamic knowledge graph of media contents for assistant systems |
US11765224B1 (en) * | 2022-12-15 | 2023-09-19 | International Business Machines Corporation | Management of devices in a smart environment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102906750A (zh) * | 2010-06-01 | 2013-01-30 | 微软公司 | 提供基于上下文选择的内容条目 |
US20160188565A1 (en) * | 2014-12-30 | 2016-06-30 | Microsoft Technology Licensing , LLC | Discriminating ambiguous expressions to enhance user experience |
US20170032791A1 (en) * | 2015-07-31 | 2017-02-02 | Google Inc. | Managing dialog data providers |
US9875740B1 (en) * | 2016-06-20 | 2018-01-23 | A9.Com, Inc. | Using voice information to influence importance of search result categories |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9318108B2 (en) * | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
AR073893A1 (es) | 2008-10-17 | 2010-12-09 | Commw Intellectual Property Holdings Inc | Navegacion intuitiva guiada por voz. |
US10276170B2 (en) * | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US9305553B2 (en) * | 2010-04-28 | 2016-04-05 | William S. Meisel | Speech recognition accuracy improvement through speaker categories |
US9836177B2 (en) | 2011-12-30 | 2017-12-05 | Next IT Innovation Labs, LLC | Providing variable responses in a virtual-assistant environment |
US20170116285A1 (en) | 2015-10-27 | 2017-04-27 | Microsoft Technology Licensing, Llc | Semantic Location Layer For User-Related Activity |
US10691473B2 (en) * | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10102844B1 (en) | 2016-03-29 | 2018-10-16 | Amazon Technologies, Inc. | Systems and methods for providing natural responses to commands |
WO2018023106A1 (en) | 2016-07-29 | 2018-02-01 | Erik SWART | System and method of disambiguating natural language processing requests |
US10074369B2 (en) * | 2016-09-01 | 2018-09-11 | Amazon Technologies, Inc. | Voice-based communications |
US10474753B2 (en) * | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US11537644B2 (en) | 2017-06-06 | 2022-12-27 | Mastercard International Incorporated | Method and system for conversational input device with intelligent crowd-sourced options |
KR102401377B1 (ko) * | 2017-06-07 | 2022-05-24 | 현대자동차주식회사 | 대화형 음성인식을 이용한 지리정보 검색 방법 및 장치 |
US11010179B2 (en) * | 2018-04-20 | 2021-05-18 | Facebook, Inc. | Aggregating semantic information for improved understanding of users |
US10944859B2 (en) * | 2018-06-03 | 2021-03-09 | Apple Inc. | Accelerated task performance |
US10839159B2 (en) * | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11194796B2 (en) * | 2019-02-14 | 2021-12-07 | Microsoft Technology Licensing, Llc | Intuitive voice search |
-
2019
- 2019-02-14 US US16/276,512 patent/US11194796B2/en active Active
-
2020
- 2020-02-05 CN CN202080013910.7A patent/CN113424175A/zh active Pending
- 2020-02-05 EP EP20709422.8A patent/EP3908942A1/en active Pending
- 2020-02-05 WO PCT/US2020/016685 patent/WO2020167533A1/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102906750A (zh) * | 2010-06-01 | 2013-01-30 | 微软公司 | 提供基于上下文选择的内容条目 |
US20160188565A1 (en) * | 2014-12-30 | 2016-06-30 | Microsoft Technology Licensing , LLC | Discriminating ambiguous expressions to enhance user experience |
US20170032791A1 (en) * | 2015-07-31 | 2017-02-02 | Google Inc. | Managing dialog data providers |
US9875740B1 (en) * | 2016-06-20 | 2018-01-23 | A9.Com, Inc. | Using voice information to influence importance of search result categories |
Also Published As
Publication number | Publication date |
---|---|
WO2020167533A1 (en) | 2020-08-20 |
US20200265048A1 (en) | 2020-08-20 |
EP3908942A1 (en) | 2021-11-17 |
US11194796B2 (en) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200401612A1 (en) | Computer speech recognition and semantic understanding from activity patterns | |
US11194796B2 (en) | Intuitive voice search | |
US11822859B2 (en) | Self-learning digital assistant | |
US20210374579A1 (en) | Enhanced Computer Experience From Activity Prediction | |
US10257127B2 (en) | Email personalization | |
US11093536B2 (en) | Explicit signals personalized search | |
US20170031575A1 (en) | Tailored computing experience based on contextual signals | |
US8510287B1 (en) | Annotating personalized recommendations | |
US20210232599A1 (en) | Multi-application state navigation | |
US20180253219A1 (en) | Personalized presentation of content on a computing device | |
US20170116285A1 (en) | Semantic Location Layer For User-Related Activity | |
US11436265B2 (en) | System for presenting tailored content based on user sensibilities | |
CN104335234A (zh) | 用于将第三方服务与数字助理相结合的系统和方法 | |
US20170249325A1 (en) | Proactive favorite leisure interest identification for personalized experiences | |
Rosa et al. | A weight-aware recommendation algorithm for mobile multimedia systems |
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 |