CN110869923A - 从查询生成子查询 - Google Patents

从查询生成子查询 Download PDF

Info

Publication number
CN110869923A
CN110869923A CN201880046311.8A CN201880046311A CN110869923A CN 110869923 A CN110869923 A CN 110869923A CN 201880046311 A CN201880046311 A CN 201880046311A CN 110869923 A CN110869923 A CN 110869923A
Authority
CN
China
Prior art keywords
sub
query
queries
determining
response
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
Application number
CN201880046311.8A
Other languages
English (en)
Inventor
V.武斯科维克
J.兰格
B.贝扎迪
M.M.诺瓦克-普莱戈兹基
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
Publication of CN110869923A publication Critical patent/CN110869923A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3325Reformulation based on results of preceding query
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3349Reuse of stored results of previous queries

Abstract

用于从查询生成子查询的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。在一个方面,一种方法包括:获取查询,从查询生成两个子查询的集合,其中该集合包括第一子查询和第二子查询,确定两个子查询的集合的质量分数,确定两个子查询的集合的质量分数是否满足质量阈值,以及响应于确定两个子查询的集合的质量分数满足质量阈值,提供响应于接收第一子查询作为输入的第一操作的、对第一子查询的第一响应,并且提供响应于接收第二子查询作为输入的第二操作的、对第二子查询的第二响应。

Description

从查询生成子查询
相关申请的交叉引用
本申请要求2017年9月28日提交的题为“SUBQUERY GENERATION FROM A QUERY”的美国临时专利申请第62,564,800号的权益,其全部内容通过引用结合于此。
技术领域
本说明书涉及处理来自用户的查询。
背景技术
计算系统可以处理来自用户的各种查询。例如,查询可以是组成搜索查询的单词序列的形式,并且计算系统可以响应于接收到搜索查询而提供响应于该搜索查询的搜索结果。例如,搜索查询可以是“Isaac Asimov books”其他查询可以是供计算系统执行的命令。
例如,查询可以是“Turn off lights in the living room”的语音命令,并且计算系统可以响应于接收到“Turn off lights the living room”的话语,关闭客厅中的灯并提供“Lights have been turned off in the living room”的确认。其他查询可以是供计算系统提供答案的问题。例如,查询可以是“What temperature is it outside”的问题,并且计算系统可以作为响应提供“The current outdoor temperature in MountainView,CAis 70°F”的答案。
发明内容
一般而言,本说明书中描述的主题的一个创新方面体现在包括以下动作的方法中:获取查询,从查询生成两个子查询的集合,其中该集合包括第一子查询和第二子查询,确定两个子查询的集合的质量分数,确定两个子查询的集合的质量分数是否满足质量阈值,以及响应于确定两个子查询的集合的质量分数满足质量阈值,提供响应于接收第一子查询作为输入的第一操作的、对第一子查询的第一响应,并且提供响应于接收第二子查询作为输入的第二操作的、对第二子查询的第二响应。操作可以包括网络搜索、命令执行或一些动作。
这些方面的其他实施方式包括记录在一个或多个计算机存储设备上的对应的计算机系统、装置和计算机程序,该计算机系统、装置和计算机程序被配置成执行这些方法的动作。一个或多个计算机的系统可以被配置成通过在系统上安装软件、固件、硬件或它们的组合来执行特定的操作或动作,这些软件、固件、硬件或它们的组合在操作中使得系统执行该动作。一个或多个计算机程序可以被配置成通过包括指令来执行特定的操作或动作,该指令在被数据处理装置执行时使得该装置执行该动作。
前述和其他实施例每一个都可以任选地单独或组合地包括以下特征中的一个或多个。例如,在某些方面,确定两个子查询的集合的质量分数包括:确定第一子查询出现在来自多个用户的先前查询的日志中的频率,并且至少基于第一子查询出现在来自多个用户的先前查询的日志中的频率来确定两个子查询的集合的质量分数。在一些方面,确定两个子查询的集合的质量分数包括确定响应于第一子查询的搜索结果的数量,并且至少基于响应于第一子查询的搜索结果的数量来确定两个子查询的集合的质量分数。
在一些实施方式中,确定两个子查询的集合的质量分数包括确定第一子查询是否对应于语音动作操作,并且至少基于第一子查询对应于语音动作操作的确定来确定两个子查询的集合的质量分数。在某些方面,确定两个子查询的集合的质量分数包括确定第一子查询是否对应于具有已知答案的问题,并且至少基于第一子查询对应于具有已知答案的问题来确定两个子查询的集合的质量分数。在某些方面,确定两个子查询的集合的质量分数是否满足质量阈值包括确定两个子查询的集合的质量分数是否满足预定阈值。
在一些实施方式中,操作包括:从查询生成两个子查询的第二集合,确定两个子查询的第二集合的第二质量分数,以及确定第一质量分数反映使用两个子查询的第一集合中的两个子查询执行相应操作比使用两个子查询的第二集合中的两个子查询执行的相应操作具有更高的质量。在某些方面,从查询生成两个子查询的集合包括:识别查询中一个或多个特定字符的位置,从在查询中的一个或多个特定字符的位置之前的、查询的第一部分生成第一查询,以及从在查询中的一个或多个特定字符的位置之后的、查询的第二部分生成第二查询。在某些方面,一个或多个特定字符是单词“and”。
在一些实施方式中,从查询生成两个子查询的集合包括:识别查询中的项目的列表,从直到并包括列表的第一项目的、查询的部分生成第一查询,以及从列表的第一项目之前并包括列表的第二项目的、查询的部分生成第二查询。在某些方面,从查询生成两个子查询的集合包括确定查询中的短语能用作产生项目的列表的第三子查询,并且用项目的列表替换查询中的短语。
在某些方面,提供响应于接收第一子查询作为输入的第一操作的、对第一子查询的第一响应,并且提供响应于接收第二子查询作为输入的第二操作的、对第二子查询的第二响应,包括:将第一子查询作为输入提供给搜索操作,响应于第一子查询从搜索操作获取第一响应,将第二子查询作为输入提供给语音动作操作,响应于第二子查询从语音动作操作获取第二响应,以及提供第一响应和第二响应用于向用户输出。在一些实施方式中,第二操作的输出取决于将第一子查询作为输入提供给第一操作。
可以实施本说明书中描述的主题的特定实施例,以便实现一个或多个以下优点。允许系统从来自用户的单个查询生成多个子查询可以减少用户花费在与系统交互上的时间量以及所需的与系统交互的次数。例如,系统可以使用户能够提供包括第一查询和第二查询的单个复合查询,而不是需要用户先向系统提供第一查询,然后在用户向系统提供第二查询之前等待系统提供对第一查询的响应。允许使用单个复合查询而不是多个单独的查询也可以减少设备和服务器之间所需的传输次数。例如,代替设备需要针对两个查询向服务器发送两个相应传输,设备可以取而代之地发送具有复合查询的单个传输。
本说明书中描述的主题的一个或多个实施方式的细节在附图和以下描述中阐述。从说明书、附图和权利要求书中,主题的其他特征、方面和优点将变得明显。
附图说明
图1示出了从查询生成子查询的示例系统的框图。
图2是示例查询集生成器的框图。
图3是用于从查询生成子查询的示例过程的流程图。
图4是可以结合本说明书中描述的计算机实施的方法来使用的计算系统的框图。
不同附图中相同的附图标记和名称表示相同的元件。
具体实施方式
用户可能希望系统执行多个查询。例如,用户可以首先说“OK Computer,turn onthe lights”,等待启用语音的设备以“lights turned on”做出响应,然后说“OKComputer,turn on some music”。然而,该过程可能是耗时的,并且需要用户进行多次交互,因为用户可能需要在提供第二查询之前等待第一查询执行。虽然识别句子中的子查询对于人类听众来说可能相对简单,但是识别句子中正确的子查询对于启用语音的设备来说并不简单。
下面描述了用于从查询生成子查询的系统和方法。代替每次与用户交互仅执行单个查询,该系统可以从自用户接收到的单个查询生成多个子查询,然后执行子查询中的每一个,而无需用户的进一步交互。如在本说明书中出现的,查询不限于对信息的请求(诸如,搜索操作),并且可能根本不是请求。例如,除了对信息的请求之外,查询可以是指令、命令、声明等,并且可以寻求帮助、动作或不作动作、改变设置、媒体内容等。
子查询可以指从另一查询的部分生成的查询。例如,系统可以接收话语“turn onthe lights and some music”,并且生成第一子查询“turn on the lights”和第二子查询“turn on some music”。
在生成多个子查询时,系统可以生成各种不同的子查询的集合,子查询的集合包括来自从用户接收到的查询中的术语的组合。例如,系统可以生成两个子查询的集合,其中每个集合对应于在查询中的不同“空格(space)”字符上分割的查询。在另一示例中,系统可以生成两个子查询的集合,其中每个集合对应于在查询中出现的不同“and”上分割的查询。在又一示例中,系统可以基于确定查询正列出多个项目来生成两个子查询的集合,并且作为响应,对每个项目生成子查询。
系统然后可以确定集合中的每一个是否包括引起执行有效操作的子查询。例如,系统可以确定子查询的集合“turn on the lights”和“turn on some music”包括引起要执行语音动作操作“turn on the lights”和“turn on music”的子查询。并且因为这些可能是有效的语音动作操作,所以系统可以确定这些子查询客观上比不引起执行有效操作的子查询质量更高。响应于确定子查询的集合引起有效操作的执行,系统然后可以执行子查询中的每一个。例如,响应于确定子查询的集合“turn on the lights”和“turn on somemusic”引起要执行语音动作“turn on lights”和“turn on music”,系统然后可以执行语音动作“turn on lights”和“turn on music”。操作是否有效可以参考用户的特定环境(诸如,用户可用的设备)来确定。例如,虽然子查询“turn on the lights”对于具有可由系统打开的灯的用户来说可能有效,但是子查询对于不具有任何可由系统打开的灯的用户来说可能无效。
这些特征和附加特征将在下面更详细地描述。
图1示出了从查询生成子查询的示例系统100的图。系统100包括子查询集合生成器110、子查询集合计分器120、子查询集合选择器130和子查询集合响应器140。
子查询集合生成器110接收查询并从该查询生成一个或多个、子查询的集合。例如,子查询集合生成器110可以接收查询“What time is it in Turks and Caicos andwhat time is it now”,并且生成两个子查询“What time is it in Turks”和“Caicosand what time is it now”的第一集合,以及两个子查询“What time is it in Turksand Caicos”和“what time is it now”的第二集合。查询可以是由用户键入的查询或者由自动语音识别器从话语的音频记录中转录的查询。
子查询集合生成器110可以通过识别查询中的特定字符的位置,并从在查询中的一个或多个特定字符的位置之前的、查询的第一部分生成第一查询,以及从在查询中的一个或多个特定字符的位置之后的、查询的第二部分生成第二查询,来生成子查询的集合。例如,子查询集合生成器110可以识别特定字符“and”出现在查询“What time is it inTurks and Caicos and what time is it now”中的两个不同位置,并且作为响应,生成其中查询在第一位置被分割为“What time is it in Turks”和“Caicos and what time isit now”的子查询的第一集合以及其中查询在第二位置被分割为“What time is it inTurks and Caicos”和“what time is it now”的子查询的第二集合。
在另一示例中,子查询集合生成器110可以识别查询中的所有空格字符出现的地方,并且生成不同的子查询的集合,其中查询基于空格的各个位置被分割。在该示例中,子查询集合生成器110可以将具有十三个空格的查询“What time is it in Turks andCaicos and what time is it now”分割成十三个不同的、两个子查询的集合,其中第一集合包括子查询“What”和“time is it in Turks and Caicos and what time is it now”,第二集合包括子查询“What time”和“is it in Turks and Caicos and what time is itnow”等等。
子查询集合生成器110可以附加地或替代地使用其他方法来生成子查询的集合,如图2中进一步描述的。
子查询集合计分器120可以获取子查询的集合,并确定每个子查询的集合的质量分数。例如,子查询集合计分器120可以获取子查询的第一集合“What time is it inTurks”和“Caicos and what time is it now”,并确定质量分数为30%。在另一示例中,子查询集合计分器120可以获取子查询的第二集合“What time is it in Turks andCaicos”和“what time is it now”,并确定质量分数为95%。
子查询的集合的质量分数可以反映使用两个子查询中的每一个执行相应操作将使用户满足的可能性。例如,30%的质量分数可以反映使用子查询“What time is it inTurks”作为输入执行第一操作和使用子查询“Caicos and what time is it now”作为输入执行第二操作将使用户满足的可能性为30%,或者用户将最终选择这两者的可能性为30%。在另一示例中,95%的质量分数可以反映使用子查询“What time is it in Turksand Caicos”作为输入执行第一操作和使用子查询“What time is it now”作为输入执行第二操作将使用户满足的可能性为95%,或者用户将最终选择这两者的可能性为95%。质量分数可以用百分比以外的方式表示。例如,质量分数可以通过零到十之间的分数(十是最高的)、零到十之间的分数(十是最低的)、“A”和“F”之间的等级、或一些其他表示来呈现。
质量分数可以反映与其他用户或在其他搜索会话中选择的类似查询模式的统计符合性,表明用修改的查询进行重新搜索的可能性降低,减少用于这种重新搜索的带宽使用,减少在一个搜索会话中为多个不同子查询提供搜索结果所需的存储器和处理器需求以及显示资产(display real estate),以及其他系统特定的改进。
子查询集合计分器120可以至少基于子查询的集合中的子查询出现在来自多个用户的先前查询的日志中的频率来确定该集合的质量分数。子查询集合计分器120可以确定质量分数,该质量分数对于具有更频繁地出现在先前查询的日志中的子查询的集合反映更大的可能性。例如,子查询集合计分器120可以确定查询“What time is it in Turks”在先前查询的日志中半频繁出现,但是查询“Caicos and what time is it now”在先前查询的日志中很少出现,并且作为响应,确定该集合的质量分数为30%。在另一示例中,子查询集合计分器120可以确定查询“What time is it in Turks and Caicos”频繁出现在先前查询的日志中,并且查询“what time is it now”非常频繁地出现在先前查询的日志中,并且作为响应,确定该集合的质量分数为90%。来自多个用户的先前查询的日志可以是先前从系统100的所有用户接收的查询的日志。
附加地或替代地,子查询集合计分器120可以至少基于响应于子查询的集合的搜索结果的数量来确定该集合的质量分数。子查询集合计分器120可以确定质量分数,该质量分数对于具有含更多数量的响应于子查询的搜索结果的子查询的集合反映更大的可能性。例如,子查询集合计分器120可以确定子查询“what are some nearby bed”具有很少的响应搜索结果,并且子查询“breakfasts and what are some nearby attractions”也具有很少的响应搜索结果,并且作为响应,确定包括这两个子查询的集合的分数为35%。在另一示例中,子查询集合计分器120可以确定子查询“what are some nearby bed andbreakfasts”具有许多响应搜索结果,并且子查询“what are some nearby attractions”也具有许多响应搜索结果,并且作为响应,确定包括这两个子查询的集合的分数为90%。
附加地或替代地,子查询集合计分器120可以至少基于子查询的集合中的子查询是否对应于语音动作操作来确定该集合的质量分数。语音动作操作可以是响应于话语而执行的操作。子查询集合计分器120可以确定质量分数,该质量分数对于具有对应于语音动作的子查询的集合反映更大的可能性。例如,子查询集合计分器120可以确定子查询“turn onthe lights”和子查询“turn on some music”两者都对应于已知的语音动作,并且作为响应,确定包括这两个子查询的集合的分数为100%。在另一示例中,子查询集合计分器120可以确定子查询“turn on the lights and turn”和子查询“on some music”不对应于已知的语音动作,并且作为响应,确定包括这两个子查询的集合的分数为0%。
附加地或替代地,子查询集合计分器120可以至少基于子查询的集合中的子查询是否对应于具有已知答案的问题来确定该集合的质量分数。具有已知答案的问题可以是系统100能够提供回答该问题的答案的问题。例如,具有已知答案的问题可以是“When didthe United States adopt the Declaration ofIndependence”,而已知答案可以是“July4,1776”。在另一示例中,具有已知答案的问题可以是“What day is Thanksgiving Daythis year”,而已知答案可以是November 23,2017。系统100可以存储问题和已知答案的对,使得对于任何问题,系统100可以基于确定该问题是否存储在具有已知答案的对中来确定是否存在已知答案。
附加地或替代地,子查询集合计分器120可以基于以下各项中的一个或多个来确定子查询的集合的质量分数:子查询中的不在查询中的术语的数量,或者不在集合中的任何子查询中但在查询中的术语的数量。例如,子查询集合计分器120可以确定质量分数,该质量分数反映使用具有包括更少的未出现在查询中的单词的子查询的集合的两个子查询中的每一个来执行相应操作将使用户满足的更大可能性。在另一示例中,子查询集合计分器120可以确定质量分数,该质量分数反映使用具有包括更多的出现在查询中的单词的子查询的集合中的两个子查询中的每一个来执行相应操作将使用户满足的更大可能性。
附加地或替代地,子查询集合计分器120可以至少基于子查询是否匹配短语模型(诸如,与搜索引擎相关联的短语模型)中的短语来确定子查询的集合的质量分数。例如,基于确定子查询的集合中的子查询每一个都包括短语模型中的短语并且子查询的第二集合中只有一个子查询包括短语模型中的短语,子查询集合计分器120可以确定子查询的集合的质量分数,其大于子查询的第二集合的质量分数。附加地或替代地,子查询集合计分器120可以至少基于子查询中的术语是否出现在响应于使用该子查询运行的搜索的搜索结果中来确定子查询的集合的质量分数。例如,基于确定子查询的集合中的子查询的所有术语在响应于子查询的搜索结果中出现至少一次并且确定子查询的第二集合中的子查询的所有术语在响应于子查询的搜索结果中一次都没有出现,子查询集合计分器120可以确定子查询的集合的质量分数,其大于子查询的第二集的质量分数。
在一些实施方式中,子查询集合计分器120可以确定查询或子查询中的每个单词的重要性,并且在确定质量分数时对单词的添加或缺失加权。例如,子查询集合计分器120可以确定实体是重要的,因此确定在子查询中省略来自查询的实体的任何术语大大降低质量分数,以及在子查询中省略来自查询的任何非实体的任何术语稍微降低质量分数。
子查询集合选择器130获取子查询的集合,并至少基于这些集合的质量分数选择子查询的集合之一。例如,子查询集合选择器130可以获取质量分数为30%的子查询的第一集合“What time is it in Turks”和“Caicos and what time is it now”,以及质量分数为95%的子查询的第二集合“What time is it in Turks and Caicos”和“What time isit now”,并且至少基于子查询的第二集合的质量分数为95%(大于第一集合的30%的质量分数)选择子查询的第二集合。
子查询集合选择器130可以从多个子查询的集合当中选择具有如下质量分数的子查询的集合:该质量分数反映使用两个子查询中的每一个执行相应操作将使用户满足的最大可能性。例如,子查询集合选择器可以确定与子查询的第一集合的30%的质量分数相比,子查询的第二集合的95%的质量分数反映使用两个子查询中的每一个执行相应操作将使用户满足的更大可能性,并且作为响应,选择子查询的第二集合。
附加地或替代地,子查询集合选择器130可以至少基于确定子查询的集合的质量分数满足质量阈值来选择子查询的集合。例如,子查询集合选择器130可以响应于确定90%的质量分数大于70%、80%、85%等的质量阈值或一些其他质量阈值而选择质量分数为90%的子查询的集合。质量阈值可以是反映使用两个子查询中的每一个执行相应操作有可能使用户满足的预定阈值。在实施方式中,如果子查询集合选择器130确定没有子查询的集合具有满足质量阈值的质量分数,则子查询集合选择器130可以确定不选择子查询的任何集合,并且可以选择原始查询。
子查询集合响应器140可以获取被选择的查询的集合并提供对子查询的响应。例如,子查询集合响应器140可以获取被选择的子查询的集合“What time is it in Turksand Caicos”和“what time is it now”,并提供响应“It’s 4:34PM in Turks andCaicos”和“It’s 1:34PM in Mountain View,California”。
子查询集合响应器140可以通过将子查询作为输入提供给相应操作中并提供相应操作的输出作为子查询的响应。例如,子查询集合响应器140可以向提供答案的操作提供子查询“What time is it in Turks and Caicos”,该操作提供响应“it’s 4:34in Turksand Caicos”。在另一示例中,子查询集合响应器140可以向语音动作操作提供子查询“Turnon the lights”,该语音动作操作提供响应“Lights have been turned on”并打开灯。在一些实施方式中,子查询集合响应器140可以以音频或视频形式中的一种或多种提供响应。例如,子查询集合响应器140可以提供响应作为要被显示的文本,或者提供响应作为要被可听输出的合成语音。
因为一些子查询可能取决于其他子查询,所以子查询集合响应器140可以顺序地提供子查询。例如,子查询集合响应器140可以首先向提供答案的操作提供子查询“DidReal Madrid win their last match”,然后向提供答案的操作提供子查询“who do theyplay next”。在该示例中,该操作可以确定“who”指的是先前查询中的“Real Madrid”。
在一些实施方式中,子查询集合响应器140可以单独提供对子查询的响应。例如,子查询集合响应器140可以在用户提供查询“What time is it in Turks and Caicos andwhat time is it now”之后,先提供第一响应“It’s 4:34in Turks and Caicos”,然后提供第二响应“It’s 1:34PM in Mountain View,California”。响应可以作为同时显示的单独消息提供、可以以一个接一个输出的单独音频消息提供、或者以某种其他方式提供。在一些实施方式中,子查询集合响应器140还可以指示查询如何被解析成子查询。例如,子查询集合响应器140可以输出音频“For the query,what time is it in Turks and Caicos,it’s 4:34in Turks and Caicos”和“For the query,what time is it now,it’s 1:34PMin Mountain View,California”。在另一示例中,子查询集合响应器140可以使得显示“Forthe query,what time is it in Turks and Caicos,it’s 4:34in Turks andCaicos.For the query,what time is it now,it’s 1:34PM in Mountain View,California”。
在一些实施方式中,子查询集合选择器130可以获取原始查询的质量分数,并且至少基于该质量分数确定是选择原始查询还是子查询集合选择器130。例如,原始查询可以是“What time is it in Turks and Caicos”并且原始查询的质量分数可以是97%,而包括“What time is it in Turks”和“Caicos”的子查询的集合的质量分数可以是35%。在该示例中,子查询集合选择器130可以确定相比于子查询的集合选择原始查询,因为与使用子查询执行的操作相比,原始查询的质量分数反映使用原始查询执行操作将使用户满足的更大可能性。
子查询集合生成器110、子查询集合计分器120、子查询集合选择器130和子查询集合响应器140可以在一个或多个计算系统上实施。子查询集合生成器110可以从用户使用的设备(例如,移动计算设备、启用语音的设备、膝上型计算机、台式计算机)接收查询,并且子查询集合响应器140可以向用户使用的设备提供响应。例如,子查询集合生成器110、子查询集合计分器120、子查询集合选择器130和子查询集合响应器140可以在通过网络与用户的移动计算设备通信的服务器上实施。
在一些实施方式中,系统100可以生成包括两个以上的子查询的、子查询的集合。例如,系统100可以取具有四个“and”的查询,并且基于在查询中的除了一个“and”之外的所有“and”上分离查询而生成四个不同的、子查询的集合,每个子查询的集合包括三个子查询。对于每个集合,除了一个“and”之外的所有“and”是查询中的不同的“and”。
附加地或替代地,系统100可以从比较多个项目的查询生成子查询。例如,系统100可以获取查询“Who is older,Barack Obama or Michelle Obama”,生成子查询的集合“Barack Obama age”和“Michelle Obama age”,然后为子查询提供各自的响应五十六和五十三。子查询集合生成器110可以基于确定比较项目的查询包括比较性术语和对两个或更多项目的引用而从该查询生成子查询。例如,子查询集合生成器110可以确定查询包括比较性术语“older”,并且还包括术语“Barack Obama”和“Michelle Obama”。
响应于确定查询包括比较性术语和对两个或更多个项目的引用,子查询集合生成器110可以将比较性映射到属性。例如,子查询集合生成器110可以将比较性术语“older”映射到属性“age”。在另一示例中,子查询集合生成器110可以将比较性术语“taller”映射到属性“height”。子查询集合生成器110然后可以生成子查询,每个子查询包括属性和查询中的对应项目,并向子查询集合计分器120和子查询集合选择器130提供子子查询的集合,以便系统100确定是提供对子查询的相应响应还是对原始查询的响应,如上所述。例如,子查询集合选择器130可以选择提供对子查询“Barack Obama age”和“Michelle Obama age”的相应响应,而不提供对查询“Who is older,Barack Obama or Michelle Obama”的单个响应。在另一示例中,子查询集合选择器120可以选择提供对子查询“Burj Khalifa height”和“Empire State Building height”的响应性响应,而不提供对“Which building istaller,Burj Khalifa or Empire State Building”的单个响应。
附加地或替代地,响应于确定查询包括比较性术语和对两个或更多个项目的引用,子查询集合生成器110可以将比较性术语映射到基本形式术语。例如,子查询集合生成器110可以将比较性术语“older”映射到基本形式术语“old”,或者将比较性术语“taller”映射到基本形式术语“tall”。子查询集合生成器110然后可以生成子查询,每个子查询包括基本形式术语和查询中的对应项目,并向子查询集合计分器120和子查询集合选择器130提供子查询的集合,以便系统确定是提供对子查询的相应响应还是对原始查询的响应,如上所述。例如,子查询集合选择器130可以选择提供对子查询“How old is Barack Obama”和“How old is Michelle Obama”的各自的响应,而不提供对查询“Who is older,BarackObama or Michelle Obama”的单个响应。在另一示例中,子查询集合选择器120可以选择提供对子查询“How tall is Burj Khalifa”和“How tall is Empire State Building”的响应性响应,而不提供对查询“Which building is taller,Burj Khalifa or Empire StateBuilding”的单个响应。
图2是示例子查询集合生成器202的框图。示例子查询集合生成器202可以是图1所示的子查询集合生成器101。子查询集合生成器202包括n-gram替换器210、列表识别器220和查询扩展器230。
子查询集合生成器202的n-gram替换器210可以接收查询,并确定是否用其他n-gram替换查询中的任何n-gram。例如,n-gram替换器210可以获取查询“What is theweather in Swiss ski resorts”,并用n-gram“Zermatt,St.Moritz,Davos,andEngelberg”替换n-gram“Swiss ski resorts”。n-gram可以是一个或多个单词的序列。
n-gram替换器210可以基于确定n-gram是频繁使用还是具有已知答案的查询来确定是否替换查询中的n-gram。例如,n-gram替换器210可以确定n-gram“Swiss skiresorts”被频繁搜索并且响应于这些搜索给出结果“Zermatt,St.Moritz,Davos,andEngelberg”,并且作为响应,将n-gram“Swiss ski resorts”替换为“Zermatt,St.Moritz,Davos,and Engelberg”,以获取查询“What is the weather in Zermatt,St.Moritz,Davos,and Engelberg”。
列表识别器220可以识别查询中的列表。例如,列表识别器220可以获取查询“Whatis the weather in Zermatt,St.Moritz,Davos,and Engelberg”,识别“Zermatt,St.Moritz,Davos,and Engelberg”是项目的列表,并且作为响应,输出“What is theweather in[BEGIN LIST]Zermatt,St.Moritz,Davos,and Engelberg[END LIST]”,其指示列表在查询中的开始位置和结束位置。
列表识别器220可以通过确定“and”以及“and”前面的逗号的存在来识别列表。例如,列表识别器220可以确定“Zermatt,St.Moritz,Davos,and Engelberg”包括“and”,“and”前面有三个逗号,因此这是具有四个项目的列表。在另一示例中,列表识别器220可以确定“Barack and Michelle Obama”包括“and”,因此这是具有两个项目的列表。
附加地或替代地,列表识别器220可以通过确定在查询中存在彼此相关且彼此靠近的多个实体来识别列表。例如,列表识别器220可以确定“Zermatt”、“St.Moritz”、“Davos”和“Engelberg”都是瑞士滑雪胜地,并且确定这些术语在“Zermatt,St.Moritz,Davos,and Engelberg”中彼此相邻出现,从而这是具有四个项目的列表。
查询扩展器230可以获取具有识别到的列表的查询,并将该查询扩展成具有列表中的每个项目的相应子查询的子查询的集合。例如,查询扩展器230可以获取“What is theweather in[BEGIN LIST]Zermatt,St.Moritz,Davos,and Engelberg[END LIST]”,并将其扩展成包括“What is the weather in Zermatt”、“What is the weather inSt.Moritz”、“What is the weather in Davos”、“What is the weather in Engelberg”的子查询的集合。
查询扩展器230可以通过取出现在列表之前的、查询的部分,并然后将这部分预先添加到列表中的每个项目,来将查询扩展到子查询的集合中。例如,查询扩展器230可以取“What is the weather in”并然后将其预先添加到“Zermatt”、“St.Moritz”、“Davos”和“Engelberg”中的每一个,以生成该集合的各个子查询。
图3是用于从查询生成子查询的示例过程300的流程图。过程300可以使用上述系统100来实施。例如,过程300可以由子查询集合生成器110、子查询集合计分器120、子查询集合选择器130和子查询集合响应器140来执行。
过程300包括获取查询(310)。例如,子查询集合生成器110可以获取查询“Turn onthe lights and turn on some music”。
过程300包括从查询生成子查询的集合(320)。例如,子查询集合生成器110可以获取查询“Turn on the lights and turn on some music”,并生成子查询的集合“turn onthe lights”和“turn on some music”。
过程300包括确定两个子查询的集合的质量分数(330)。例如,子查询集合计分器120可以为包括“turn on the lights”和“turn on some music”的子查询的集合生成98%的质量分数。
过程300包括确定两个子查询的集合的质量分数是否满足质量阈值(340)。例如,子查询集合选择器130可以确定包括“turn on the lights”和“turn on some music”的子查询的集合的98%的质量分数满足80%的质量阈值。在另一示例中,子查询集合选择器130可以确定子查询的集合的40%的质量分数不满足70%的质量阈值。
过程300包括提供对第一子查询的第一响应和对第二子查询的第二响应(350)。例如,子查询集合响应器140可以将第一子查询提供给语音动作操作,并且接收第一响应“lights turned on”,将第二子查询提供给语音动作操作,并且接收第二响应“musicturned on”,并且提供第一响应“lights turned on”和第二响应“music turned on”用于输出给用户。在一些实施方式中,过程300可以响应于确定两个子查询的集合的质量分数满足质量阈值而提供第一响应和第二响应。例如,如果子查询的集合的质量分数不满足质量阈值,则子查询集合响应器140可以不提供对子查询的响应,而是可以提供对原始查询的响应。
图4示出了可用于实施这里描述的技术的计算设备400和移动计算设备450的示例。计算设备400旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。移动计算设备450旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。这里显示的组件、他们的连接和关系以及他们的功能仅是示例,而不是限制性的。
计算设备400包括处理器402、存储器404、存储设备406、连接到存储器404和多个高速扩展端口410的高速接口408、以及连接到低速扩展端口414和存储设备406的低速接口412。处理器402、存储器404、存储设备406、高速接口408、高速扩展端口410和低速接口412中的每一个都使用各种总线互连,并且可以安装在公共主板上或者以其他适当的方式安装。处理器402可以处理用于在计算设备400内执行的指令,包括存储在存储器404或存储设备406中的指令,以在外部输入/输出设备(诸如耦合到高速接口408的显示器416)上显示图形用户界面(graphical user interface,GUI)的图形信息。在其他实施方式中,可以适当地使用多个处理器和/或多个总线,以及多个存储器和多种类型的存储器。并且,可以连接多个计算设备,其中每个设备提供必要操作的一部分(例如,作为服务器阵列、一组刀片服务器或多处理器系统)。
存储器404在计算设备400内存储信息。在一些实施方式中,存储器404是一个或多个易失性存储单元。在一些实施方式中,存储器404是一个或多个非易失性存储单元。存储器404也可以是另一种形式的计算机可读介质,诸如磁盘或光盘。
存储设备406能够为计算设备400提供大容量存储。在一些实施方式中,存储设备406可以是或可以包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储设备、或者包括存储区域网络中的设备或其他配置的设备阵列。指令可以存储在信息载体中。当这些指令被一个或多个处理设备(例如,处理器402)执行时,执行一个或多个方法,诸如以上描述的那些方法。指令也可以由一个或多个存储设备(诸如计算机或机器可读介质(例如,存储器404、存储设备406或处理器402上的存储器))存储。
高速接口408管理计算设备400的带宽密集型操作,而低速接口412管理更低带宽密集型操作。这种功能分配只是一个示例。在一些实施方式中,高速接口408耦合到存储器404、显示器416(例如,通过图形处理器或加速器),并耦合到可以接受各种扩展卡(未示出)的高速扩展端口410。在实施方式中,低速接口412耦合到存储设备406和低速扩展端口414。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口414可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或诸如交换机或路由器的网络设备。
如图所示,计算设备400可以以多种不同的形式实施。例如,它可以实施为标准服务器420,或者在一组这样的服务器中多次实施。此外,它可以在诸如膝上型计算机422的个人计算机中实施。它也可以被实施为机架式服务器系统424的一部分。可替代地,来自计算设备400的组件可以与移动设备(未示出)(诸如移动计算设备450)中的其他组件相结合。这样的设备中的每一个可以包含计算设备400和移动计算设备450中的一个或多个,并且整个系统可以由彼此通信的多个计算设备构成。
移动计算设备450包括处理器452、存储器464、诸如显示器454的输入/输出设备、通信接口466和收发器468以及其他组件。移动计算设备450还可以配备存储设备(诸如,微驱动器或其他设备),以提供额外的存储。处理器452、存储器464、显示器454、通信接口466和收发器468中的每一个使用各种总线互连,并且组件中的几个可以安装在公共主板上或者以其他适当的方式安装。
处理器452可以执行移动计算设备450内的指令,包括存储在存储器464中的指令。处理器452可以实施为包括独立的和多个模拟和数字处理器的芯片的芯片组。处理器452可以提供例如移动计算设备450的其他组件的协调,诸如用户界面的控制、由移动计算设备450运行的应用以及移动计算设备450的无线通信。
处理器452可以通过耦合到显示器454的控制接口458和显示接口456与用户通信。显示器454可以是例如TFT(Thin-Film-Transistor Liquid Crystal Display,薄膜晶体管液晶显示器)或OLED(Organic Light Emitting Diode,有机发光二极管显示器)、或者其他适当的显示技术。显示接口456可以包括用于驱动显示器454向用户呈现图形和其他信息的适当电路。控制接口458可以从用户接收命令,并转换他们以提交给处理器452。此外,外部接口462可以提供与处理器452的通信,从而使得移动计算设备450能够与其他设备进行近区通信。外部接口462可以例如在一些实施方式中提供有线通信,或者在其他实施方式中提供无线通信,并且也可以使用多个接口。
存储器464在移动计算设备450内存储信息。存储器464可以实施为一个或多个计算机可读介质、一个或多个易失性存储器单元或一个或多个非易失性存储器单元。还可以提供扩展存储器474,并通过扩展接口472将扩展存储器474连接到移动计算设备450,扩展接口472可以包括例如SIMM(Single In Line Memory Module,单线存储器模块)卡接口。扩展存储器474可以为移动计算设备450提供额外的存储空间,或者也可以为移动计算设备450存储应用或其他信息。具体地,扩展存储器474可以包括执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器474可以被提供为移动计算设备450的安全模块,并且可以用允许安全使用移动计算设备450的指令来编程。此外,可以经由SIMM卡提供安全应用程序以及附加信息,诸如以不可破解的方式在SIMM卡上放置识别信息。
如下所述,存储器可以包括例如闪存和/或NVRAM(非易失性随机存取存储器)。在一些实施方式中,指令存储在信息载体中,当被一个或多个处理设备(例如,处理器452)执行时,执行一种或多种方法,诸如以上描述的那些方法。指令也可以由一个或多个存储设备(诸如一个或多个计算机或机器可读介质(例如,存储器464、扩展存储器474或处理器452上的存储器))存储。在一些实施方式中,可以例如通过收发器468或外部接口462以传播信号的形式接收指令。
移动计算设备450可以通过通信接口466进行无线通信,通信接口466在必要时可以包括数字信号处理电路。通信接口466可以提供各种模式或协议下的通信,诸如GSM语音呼叫(全球移动通信系统)、SMS(Short Message Service,短消息服务)、EMS(EnhancedMessaging Service,增强消息服务)或MMS消息(Multimedia Messaging Service,多媒体消息服务)、CDMA(code division multiple access,码分多址)、TDMA(time divisionmultiple access,时分多址)、PDC(Personal Digital Cellular,个人数字蜂窝)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、CDMA2000或GPRS(GeneralPacket Radio Service,通用分组无线服务)等。这种通信可以例如使用射频通过收发器468发生。此外,可以发生短程通信,诸如使用蓝牙、WiFi或其他这样的收发器(未示出)。此外,GPS(Global Positioning System,全球定位系统)接收器模块470可以向移动计算设备450提供附加的导航和位置相关的无线数据,这些数据可以被移动计算设备450上运行的应用适当地使用。
移动计算设备450还可以使用音频编解码器460进行可听通信,音频编解码器460可以从用户接收口头信息并将其转换成可用的数字信息。音频编解码器460同样可以诸如通过扬声器(例如在移动计算设备450的手机中)为用户生成可听声音。这种声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等),并且还可以包括由在移动计算设备450上运行的应用程序生成的声音。
如图所示,移动计算设备450可以以多种不同的形式实施。例如,它可以实施为蜂窝电话480。它也可以实施为智能电话482、个人数字助理或其他类似移动设备的一部分。
这里描述的系统和技术的各种实施方式可以在数字电子电路、集成电路、专门设计的ASIC、计算机硬件、固件、软件和/或其组合中实施。这些不同的实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,该可编程系统包括至少一个可编程处理器,该至少一个可编程处理器可以是专用的或通用的,耦合成从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。
这些计算机程序,也被称为程序、软件、软件应用或代码,包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或汇编/机器语言来实施。程序可以存储在保存其他程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的一部分中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件(例如,存储一个或多个模块、子程序、或代码的部分的文件)中。计算机程序可以被部署为在位于一个站点或分布在多个站点并通过通信网络互连的一个计算机或多个计算机上执行。
如这里所使用的,术语“机器可读介质”、“计算机可读介质”指的是任何计算机程序产品、装置和/或设备,例如磁盘、光盘、存储器、用于向可编程处理器提供机器指令和/或数据的可编程逻辑设备(PCD,programmable logic device),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,这里描述的系统和技术可以在计算机上实施,该计算机具有用于向用户显示信息的显示设备(例如CRT(cathode ray tube,阴极射线管)或LCD(liquid crystal display,液晶显示器)监视器),以及用户可以通过其向计算机提供输入的键盘和定点设备(例如鼠标或轨迹球)。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。
这里描述的系统和技术可以在计算系统中实施,该计算系统包括后端组件(诸如数据服务器),或者包括中间件组件(诸如应用服务器),或者包括前端组件(诸如具有用户可以通过其与这里描述的系统和技术的实施交互的图形用户界面或网络浏览器的客户端计算机),或者这种后端、中间件或前端组件的任意组合。系统的组件可以通过任何形式或介质的数字数据通信(诸如通信网络)相互连接。通信网络的示例包括局域网(local areanetwork,LAN)、广域网(wide area network,WAN)和因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且典型地通过通信网络进行交互。客户端和服务器的关系是通过在相应计算机上运行的计算机程序产生的,并且彼此之间具有客户端-服务器关系。
除了以上描述之外,可以向用户提供允许用户进行选择的控件,以确定本文描述的系统、程序或特征是否以及何时能够收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户偏好或用户当前位置的信息),以及服务器是否向用户发送过内容或通信。此外,在存储或使用某些数据之前,可以以一种或多种方式对其进行处理,从而移除个人可识别信息。
例如,在一些实施例中,可以处理用户的身份,使得不能为用户确定个人可识别信息,或者可以在获取位置信息的地方概括用户的地理位置(诸如城市、邮政编码或州级),使得不能确定用户的具体位置。因此,用户可以控制收集了关于用户的什么信息、如何使用该信息以及向用户提供了什么信息。
已经描述了许多实施例。然而,应当理解,在不脱离本发明的范围的情况下,可以进行各种修改。例如,可以使用上面所示的各种形式的流程,其中步骤被重新排序、添加或移除。并且,尽管已经描述了系统和方法的几个应用,但是应该认识到,可以设想许多其他应用。因此,其他实施例在以下权利要求的范围内。
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中列举的动作可以以不同的顺序执行,并且仍然获取期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或相继的顺序来获取期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。

Claims (20)

1.一种计算机实施的方法,所述方法包括:
获取查询;
从所述查询生成两个子查询的集合,其中所述集合包括第一子查询和第二子查询;
确定两个子查询的所述集合的质量分数;
确定两个子查询的所述集合的质量分数是否满足质量阈值;以及
响应于确定两个子查询的所述集合的质量分数满足所述质量阈值,提供响应于接收所述第一子查询作为输入的第一操作的、对所述第一子查询的第一响应,并且提供响应于接收所述第二子查询作为输入的第二操作的、对第二子查询的第二响应。
2.根据权利要求1所述的方法,其中,确定两个子查询的所述集合的质量分数包括:
确定所述第一子查询出现在来自多个用户的先前查询的日志中的频率;以及
至少基于所述第一子查询出现在来自多个用户的先前查询的日志中的所述频率来确定两个子查询的所述集合的质量分数。
3.根据权利要求1所述的方法,其中,确定两个子查询的所述集合的质量分数包括:
确定响应于所述第一子查询的搜索结果的数量;以及
至少基于响应于所述第一子查询的搜索结果的所述数量来确定两个子查询的所述集合的质量分数。
4.根据权利要求1所述的方法,其中,确定两个子查询的所述集合的质量分数包括:
确定所述第一子查询是否对应于语音动作操作;以及
至少基于所述第一子查询对应于语音动作操作的确定来确定两个子查询的所述集合的质量分数。
5.根据权利要求1所述的方法,其中,确定两个子查询的所述集合的质量分数包括:
确定所述第一子查询是否对应于具有已知答案的问题;以及
至少基于所述第一子查询对应于具有已知答案的问题来确定两个子查询的所述集合的质量分数。
6.根据权利要求1所述的方法,其中,确定两个子查询的所述集合的质量分数是否满足质量阈值包括:
确定两个子查询的所述集合的质量分数是否满足预定阈值,所述预定阈值反映使用所述两个子查询中的每一个执行相应操作有可能使用户满足。
7.根据权利要求1所述的方法,包括:
从所述查询生成两个子查询的第二集合;
确定两个子查询的所述第二集合的第二质量分数;以及
确定第一质量分数反映使用两个子查询的所述第一集合中的两个子查询执行相应操作比使用两个子查询的所述第二集合中的两个子查询执行相应操作具有更高的质量。
8.根据权利要求1所述的方法,其中,从所述查询生成两个子查询的集合包括:
识别所述查询中的一个或多个特定字符的位置;
从在所述查询中的所述一个或多个特定字符的位置之前的、所述查询的第一部分生成第一查询;以及
从在所述查询中的所述一个或多个特定字符的位置之后的、所述查询的第二部分生成第二查询。
9.根据权利要求8所述的方法,其中,所述一个或多个特定字符包括单词“and”(“和”)。
10.根据权利要求1所述的方法,其中,从所述查询生成两个子查询的集合包括:
识别所述查询中的项目的列表;
从直到并包括所述列表的第一项目的、所述查询的部分生成第一查询;以及
从所述列表的第一项目之前的并包括所述列表的第二项目的、所述查询的部分生成第二查询。
11.根据权利要求10所述的方法,其中,从所述查询生成两个子查询的集合包括:
确定所述查询中的短语能用作产生所述项目的列表的第三子查询;以及
用所述项目的列表替换所述查询中的所述短语。
12.根据权利要求1所述的方法,其中,提供响应于接收所述第一子查询作为输入的第一操作的、对所述第一子查询的第一响应,并且提供响应于接收所述第二子查询作为输入的第二操作的、对所述第二子查询的第二响应,包括:
将所述第一子查询作为输入提供给搜索操作;
响应于所述第一子查询,从所述搜索操作获取所述第一响应;
将所述第二子查询作为输入提供给语音动作操作;
响应于所述第二子查询,从所述语音动作操作获取所述第二响应;以及
提供所述第一响应和所述第二响应用于向用户输出。
13.根据权利要求1所述的方法,其中,所述第二操作的输出取决于将所述第一子查询作为输入提供给所述第一操作。
14.根据权利要求1所述的方法,其中,从所述查询生成两个子查询的集合包括生成三个子查询的集合。
15.一种系统,包括:
数据处理装置;和
非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质与所述数据处理装置进行数据通信并存储指令,所述指令可由所述数据处理装置执行并且在这种执行时使得所述数据处理装置执行包括以下各项的操作:
获取查询;
从所述查询生成两个子查询的集合,其中所述集合包括第一子查询和第二子查询;
确定两个子查询的所述集合的质量分数;
确定两个子查询的所述集合的质量分数是否满足质量阈值;以及
响应于确定两个子查询的所述集合的质量分数满足所述质量阈值,提供响应于接收所述第一子查询作为输入的第一操作的、对所述第一子查询的第一响应,并且提供响应于接收所述第二子查询作为输入的第二操作的、对所述第二子查询的第二响应。
16.根据权利要求15所述的系统,其中,确定两个子查询的所述集合的质量分数包括:
确定所述第一子查询出现在来自多个用户的先前查询的日志中的频率;以及
至少基于所述第一子查询出现在来自多个用户的先前查询的日志中的所述频率来确定两个子查询的所述集合的质量分数。
17.根据权利要求15所述的系统,其中,确定两个子查询的所述集合的质量分数包括:
确定响应于所述第一子查询的搜索结果的数量;以及
至少基于响应于所述第一子查询的搜索结果的所述数量来确定两个子查询的所述集合的质量分数。
18.根据权利要求15所述的系统,其中,确定两个子查询的所述集合的质量分数包括:
确定所述第一子查询是否对应于语音动作操作;以及
至少基于所述第一子查询对应于语音动作操作的确定来确定两个子查询的所述集合的质量分数。
19.根据权利要求15所述的系统,其中,确定两个子查询的所述集合的质量分数包括:
确定所述第一子查询是否对应于具有已知答案的问题;以及
至少基于所述第一子查询对应于具有已知答案的问题来确定两个子查询的所述集合的质量分数。
20.一种非暂时性计算机可读存储介质,存储可由数据处理装置执行的指令,并且在这种执行时使得所述数据处理装置执行包括以下各项的操作:
获取查询;
从所述查询生成两个子查询的集合,其中所述集合包括第一子查询和第二子查询;
确定两个子查询的所述集合的质量分数;
确定两个子查询的所述集合的质量分数是否满足质量阈值;以及
响应于确定两个子查询的所述集合的质量分数满足所述质量阈值,提供响应于接收所述第一子查询作为输入的第一操作的、对所述第一子查询的第一响应,并且提供响应于接收所述第二子查询作为输入的第二操作的、对所述第二子查询的第二响应。
CN201880046311.8A 2017-09-28 2018-09-28 从查询生成子查询 Pending CN110869923A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762564800P 2017-09-28 2017-09-28
US62/564,800 2017-09-28
PCT/US2018/053454 WO2019067922A1 (en) 2017-09-28 2018-09-28 GENERATION OF SUB-QUESTIONS FROM AN INTERROGATION

Publications (1)

Publication Number Publication Date
CN110869923A true CN110869923A (zh) 2020-03-06

Family

ID=64024069

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880046311.8A Pending CN110869923A (zh) 2017-09-28 2018-09-28 从查询生成子查询

Country Status (4)

Country Link
US (3) US10885077B2 (zh)
EP (1) EP3635572B1 (zh)
CN (1) CN110869923A (zh)
WO (1) WO2019067922A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113874596A (zh) 2019-04-01 2021-12-31 斯伦贝谢技术有限公司 仪器化切削器

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100332235A1 (en) * 2009-06-29 2010-12-30 Abraham Ben David Intelligent home automation
US20110208524A1 (en) * 2010-02-25 2011-08-25 Apple Inc. User profiling for voice input processing
US20130158979A1 (en) * 2011-12-14 2013-06-20 Purediscovery Corporation System and Method for Identifying Phrases in Text
CN103229162A (zh) * 2010-09-28 2013-07-31 国际商业机器公司 使用候选答案逻辑综合提供问题答案
US20140167931A1 (en) * 2012-12-18 2014-06-19 Samsung Electronics Co., Ltd. Method and apparatus for controlling a home device remotely in a home network system
CN106471570A (zh) * 2014-05-30 2017-03-01 苹果公司 多命令单一话语输入方法
CN107003987A (zh) * 2014-09-11 2017-08-01 电子湾有限公司 增强的搜索查询建议

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6189013B1 (en) * 1996-12-12 2001-02-13 Incyte Genomics, Inc. Project-based full length biomolecular sequence database
US8521526B1 (en) * 2010-07-28 2013-08-27 Google Inc. Disambiguation of a spoken query term
US9721020B2 (en) * 2013-07-31 2017-08-01 International Business Machines Corporation Search query obfuscation via broadened subqueries and recombining
US20170139991A1 (en) * 2015-11-16 2017-05-18 Linkedin Corporation Dynamic query plan based on skew
KR102371752B1 (ko) * 2017-08-31 2022-03-07 삼성전자주식회사 가전 기기 및 그의 제어방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100332235A1 (en) * 2009-06-29 2010-12-30 Abraham Ben David Intelligent home automation
US20110208524A1 (en) * 2010-02-25 2011-08-25 Apple Inc. User profiling for voice input processing
CN103229162A (zh) * 2010-09-28 2013-07-31 国际商业机器公司 使用候选答案逻辑综合提供问题答案
US20130158979A1 (en) * 2011-12-14 2013-06-20 Purediscovery Corporation System and Method for Identifying Phrases in Text
US20140167931A1 (en) * 2012-12-18 2014-06-19 Samsung Electronics Co., Ltd. Method and apparatus for controlling a home device remotely in a home network system
CN106471570A (zh) * 2014-05-30 2017-03-01 苹果公司 多命令单一话语输入方法
CN107003987A (zh) * 2014-09-11 2017-08-01 电子湾有限公司 增强的搜索查询建议

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ABDALGHANI ABUJABAL 等: "Automated Template Generation for Question Answering over Knowledge Graphs", pages 1191 - 1200 *

Also Published As

Publication number Publication date
US20230259537A1 (en) 2023-08-17
EP3635572A1 (en) 2020-04-15
US20210089564A1 (en) 2021-03-25
US20190095523A1 (en) 2019-03-28
US10885077B2 (en) 2021-01-05
EP3635572B1 (en) 2023-11-01
WO2019067922A1 (en) 2019-04-04

Similar Documents

Publication Publication Date Title
CN107430859B (zh) 将输入映射到表单域
JP7189248B2 (ja) サーバ側ホットワーディング
US10410627B2 (en) Automatic language model update
US11423888B2 (en) Predicting and learning carrier phrases for speech input
US11810568B2 (en) Speech recognition with selective use of dynamic language models
KR101859708B1 (ko) 개별화된 핫워드 검출 모델들
KR102219274B1 (ko) 적응적 텍스트-투-스피치 출력
CN111710333B (zh) 用于生成语音转录的方法和系统
CN110110319B (zh) 语音输入的字词级纠正
CN105448292B (zh) 一种基于场景的实时语音识别系统和方法
US9436678B2 (en) Architecture for multi-domain natural language processing
US9043199B1 (en) Manner of pronunciation-influenced search results
US9582608B2 (en) Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
CN109844740B (zh) 跟进话音查询预测
US20190370398A1 (en) Method and apparatus for searching historical data
US8700396B1 (en) Generating speech data collection prompts
US9275635B1 (en) Recognizing different versions of a language
US20230259537A1 (en) Subquery generation from a query
US20190244610A1 (en) Factor graph for semantic parsing

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