CN110574021A - 使用经过训练的生成模型生成查询变体 - Google Patents

使用经过训练的生成模型生成查询变体 Download PDF

Info

Publication number
CN110574021A
CN110574021A CN201880028212.7A CN201880028212A CN110574021A CN 110574021 A CN110574021 A CN 110574021A CN 201880028212 A CN201880028212 A CN 201880028212A CN 110574021 A CN110574021 A CN 110574021A
Authority
CN
China
Prior art keywords
variant
query
variants
generative model
trained
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201880028212.7A
Other languages
English (en)
Other versions
CN110574021B (zh
Inventor
于尔基·阿拉奎亚拉
克里斯蒂安·巴克
扬尼斯·布利安
马西米利亚诺·恰拉米塔
沃伊切赫·加耶夫斯基
安德烈亚·杰斯蒙多
尼尔·霍尔斯比
王玮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority to CN202311209572.6A priority Critical patent/CN117312494A/zh
Publication of CN110574021A publication Critical patent/CN110574021A/zh
Application granted granted Critical
Publication of CN110574021B publication Critical patent/CN110574021B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

与为提交查询生成查询变体有关的系统、方法和计算机可读介质。在许多实现中,查询变体是利用生成模型生成的。生成模型是有效的,因为它可以基于查询的令牌应用于生成模型并可选地基于将附加输入特征应用于生成模型来主动生成查询的变体。

Description

使用经过训练的生成模型生成查询变体
背景技术
在搜索系统的查询处理组件中已经利用了基于规则的搜索查询的重写。例如,一些基于规则的重写可以通过从查询中移除某些停止词(例如“该”、“一个”等)来生成查询的重写。然后可以将重写的查询提交给搜索系统,并且响应于重写查询的搜索结果返回。
此外,在搜索系统中已经利用了类似查询的集合,以例如推荐与所提交的查询有关的附加查询(例如,“人们也在搜索X”)。与给定查询类似的查询通常由导航群集确定。例如,对于查询“有趣的猫图片”,可以基于用户在提交“有趣的猫图片”之后正频繁提交的类似查询来确定“带有字幕的有趣的猫图片”的类似查询。因此,给定查询的类似查询通常是预定义的。
发明内容
本说明书的实现涉及与生成用于所提交查询的查询变体有关的系统、方法和计算机可读介质。在许多实现中,查询变体是在运行时利用经过训练的生成模型生成的。生成模型是有效的,因为它可以基于查询的令牌应用于生成模型并可选地基于将附加输入特征应用于生成模型来主动生成查询的变体。以这种方式,即使没有基于查询来训练生成模型,也可以利用生成模型来生成任何查询的变体。因此,生成模型可以被用于生成新颖查询和所谓的“尾巴”查询(即,具有低于阈值的提交频率和/或提交量的查询)的变体。结果,由于更丰富的查询输入可以导致更有效地标识相关结果,因此可以更有效地处理查询。例如,仅由于提交频率低和/或提交数量少而不能排除查询。效率的提高取决于能够获得相关结果的速度,因为在初始查询未生成任何相关结果的情况下,不需要用户重新提交修改后的查询。所公开的实现使得能够自动测试多个查询变体。还可以经由训练用于生成变体的模型来确保结果的收敛,从而不仅可以通过同时处理多个查询,而且可以通过有针对性的查询变体生成来提高效率。从而通过本发明的实现优化了处理查询所需的技术资源的使用,包括实现所公开的方法的处理器的处理能力和功耗。
在一些实现中,生成模型是神经网络模型,诸如具有一个或多个“存储器层”的神经网络模型。存储层包括一个或多个循环神经网络(RNN)单元,诸如长短期记忆(“LSTM”)单元和/或门控循环单元(“GRU”)。
在生成模型是具有存储层的神经网络模型的一些实现中,生成模型是序列到序列模型。例如,序列到序列模型可以是一种模型,其中,可以将查询的令牌作为输入应用到模型(例如,在逐个令牌的基础上或在组合的基础上)以及在网络的层上生成的令牌的编码。此外,可以在网络的其他层上对生成的编码进行解码,其中,所得的解码(直接或间接)指示查询的变体。例如,可以将所得的解码应用于网络的一个或多个softmax层,以生成查询的变体。在那些实现的一些版本中,生成模型与序列到序列神经机器翻译模型具有相同或相似的架构,并利用查询变体特定的训练数据被训练。查询变体特定的训练数据可以例如基于:查询对,每个查询对具有对在相同文档上的“点击”(例如,以训练等效的查询变体生成);连续提交的查询对(例如,用于训练用于跟进查询变体生成);以及/或者原始的典范化查询对(例如,用于训练以用于典范化查询变体生成)。可以基于翻译训练数据可选地对这种模型进行预训练。
在一些实现中,生成模型被训练为“多任务”模型,因为它被训练为使得能够生成多种类型的查询变体中的任何一种。在那些实现中的一些中,可以基于在给定遍次(pass)中应用于模型的类型值输入来指示针对生成模型的给定遍次要生成的查询变体的类型,其中,类型值输入指示要生成的查询变体的类型。查询变体的类型可以包括例如等效查询、跟进查询、泛化查询、典范化查询、语言翻译查询、蕴涵查询、规范查询和/或澄清查询(即、作为输出提供给用户以提示澄清的查询)。可以定义其他和/或替代类型,包括更大或更小的粒度的那些。在生成模型的训练中,可以利用来自各种类型的训练数据,其中,训练数据的每个实例都包括类型值输入,该类型值输入指示该实例的查询变体的类型,并且可以被用作在训练期间的训练实例输入。在这些实现的一些中,以这种方式训练多任务模型可以利用各种类型训练数据之间的信息共享,这可能会导致经过训练的多任务模型的性能更加稳健。
一旦被训练,则多任务模型可以被用于为第一遍次中的查询生成第一类型的变体(例如,基于作为输入应用第一类型值),并为第二遍次中的查询生成第二种类型的变体(例如,基于作为输入应用第二种类型的值)。附加类型的附加变体可以在附加遍次中生成。如本文所述,利用多任务模型生成的附加遍次的数量可以根据查询而不同。例如,可以基于例如在遍次中生成的一个或多个变体和/或对这样的一个或多个变体的响应,以自组织方式控制附加遍次的数量。此外,后续遍次可以生成与在先前遍次中生成的先前变体相同类型的变体。在那些情况中的某些情况下,如本文所述,后续遍次可利用基于先前变体(例如,先前变体本身和/或对于先前变体的响应)和/或其他先前变体的信息,这可能导致后续遍次的变体与先前变体不同。
在一些实现中,利用生成模型来生成原始查询的多个变体,将多个变体中的每一个提交给搜索系统,并且针对多个变体中的每一个接收对应的响应。可以基于一个或多个响应来生成输出,并且响应于原始查询而提供输出。例如,输出可以包括“最佳”响应(例如,如由搜索系统提供的响应分数所指示的)、多个“最佳”响应和/或变体和一个或多个对应的响应(例如,当该变体为跟进类型时)。以这种和其他方式,响应于原始查询,可以利用对原始查询的变体的响应来提供输出,其中,输出直接应答原始查询。此外,对原始查询的变体的响应可以被用于证实/证明对原始查询的一个或多个响应和/或对其他变体的一个或多个响应。例如,可以基于是否为原始查询的变体提供肯定应答来确定对原始查询的“应答”的准确性。例如,基于是否为跟进类型的变体提供了其他肯定应答,和/或基于等效、泛化和/或语言翻译类型的一个或多个变体可获得肯定的类似应答(类似于原始查询的应答)。以这种和其他方式,可以确定未经证实/未经证明的响应,并且不将其用于所提供的输出中,和/或如果在所提供的输出中利用,则将其标记为未经证实(例如,标记为“可能伪造”)。
在一些实现和/或情况下,搜索系统作为对于变体的响应而返回多个响应。在一些其他实现和/或情况下,搜索系统作为对于变体的响应而提供单个响应。在那些实现中的一些中,单个响应包括“应答”(例如,搜索系统已经认为是对于该变体的应答的响应),或者不知道任何应答的指示。在其他实现中,不知道任何应答的指示可能是搜索系统缺少任何响应。搜索系统可以是跨多个域操作的搜索系统,或者可以是特定于一个或多个特定域(例如,在线购物域)的搜索系统。搜索系统返回的响应可以是例如搜索结果(例如,来自文档的内容的片段以及指向该文档的链接)、应答(例如,被搜索系统视为权威应答的内容)、图像、视频或知识图实体、“空”响应(例如,“无应答”响应)。在某些情况下,可以另外或替代地将生成的变体作为输出提供给用户(提交的原始查询的用户)以提示进行澄清,并且澄清由用户响应于该提示提供的用户界面输入可以被用作对于变体的“响应”。可以利用这种用户提供的响应来影响进一步的变体生成。例如,这种用户提供的响应可以被用于生成上下文向量,该上下文向量在生成变体的进一步迭代中被传递给生成模型。
在一些实现中,可以生成多个生成模型,其中,基于基于一组独特用户的过去查询提交的训练数据来训练每个生成模型。例如,可以基于基于具有属性A和B的用户的过去查询提交的训练数据来生成第一生成模型。可以基于基于具有属性B和C的用户的过去查询提交的训练数据来生成第二生成模型。对于具有属性B和C(但不是属性A)的用户提交的查询,可以选择第二生成模型(不选择第一生成模型)来用于为该用户生成变体——因为用户属性B和C与用于训练第二生成模型的属性相匹配。以这种方式,可以从多个可用的生成模型中选择生成模型,使得所选择的生成模型按照用户的属性而被定制。这可能导致利用所选的生成模型生成更适合用户的查询变体。例如,与例如自由作家相比,可以为科学研究人员生成非常不同的变体。
在一些实现中,可以生成多个生成模型,其中,基于基于与特定属性(例如,用户的特定属性、特定的时间属性和/或其他属性)相关联的过去查询提交的训练数据来训练每个生成模型。例如,可以基于训练数据来生成第一生成模型,该训练数据基于与在线购物任务相关联的过去查询提交。例如,可以基于被提交给在线购物搜索系统、基于用户选择与提交相关联的购物内容(例如,某些广告)、基于以购物为中心的搜索结果,基于用户在提交之后完成交易的等来识别过去查询提交。可以基于训练数据生成第二生成模型,该训练数据基于与不同特定属性相关联的过去查询提交。例如,可以基于训练数据来生成第二生成模型,该训练数据基于与到位置任务(例如,到任何位置、任何餐厅位置、会议位置等)的旅行相关联的过去查询提交。例如,可以基于在前往某个位置之前和/或期间被提交,基于在时间上靠近计划的日历条目而被提交等等来识别过去的查询提交。对于提交的用户的查询,可以预测用户的任务,并选择与预测任务相对应的生成模型以生成该提交查询的变体。例如,如果用户的日历条目和/或电子通信指示用户正在前往某个位置(或不久将前往该位置),则可以基于与前往位置任务相关联的那个模型来选择先前示例中的第二生成模型。以这种方式,可以从多个可用的生成模型中选择生成模型,从而使所选择的生成模型按照用户的任务而被定制,诸如正在从事或将要从事的预测任务。这可能导致使用所选的生成模型生成更适合用户当前任务的查询变体。如上文和本文其他地方所述,在各种实现中,生成模型可以是多任务模型,并且使得能够生成各种不同类型的查询变体。那些各种实现中的一些实现使得能够使用生成模型来生成变体,该变体扩展用户查询并实现对扩展查询的多个路径的探索。可以提供这样的变体以同时或顺序地呈现给用户(例如,可选地,无需首先基于这样的变体发出查询),以使用户能够探索用于扩展查询的各种路径。另外地或可替代地,可以从搜索系统获得对这种变体的响应,并且将响应提供给用户以呈现,以使用户能够探索对于向查询的扩展的各种响应。
这里描述的一些实现可以被用来生成由在制定查询时可能有困难(例如,由于身体上的损害)的用户提交的查询的变体。例如,可以由用户利用注视引导的(或其他省力的)用户界面输入以及根据本文所述的技术生成的查询变体来制定查询。以这种方式,可以生成查询的查询变体并将其呈现给用户,而不需要用户手动生成这样的变体。
如本文所述,基于查询的令牌应用于生成模型,并且可选地基于将附加输入特征应用于生成模型,生成模型可被用于主动生成查询的变体。在那些实现中的一些中,附加输入特征可以包括与提交查询的用户相关联的属性、时间属性和/或其他特征。与用户相关联的属性可以包括例如用户的位置(例如,肯塔基州路易斯维尔;在“餐厅”;美国东南部)、与用户相关联的任务(例如,烹饪、修理汽车、计划旅行)和/或用户所在位置处的天气。与用户相关联的任务可以是用户当前正在从事或将要由用户从事的任务。在一些实现中,基于各种信号来预测任务,该各种信号例如是所存储的用户的日历条目、用户的电子通信(例如,发送给用户或由用户发送的聊天消息或其他通信)、用户提交的过去查询等。时间属性可以包括例如当前时间、当前周内日和/或当前日期。以这种方式,基于将附加输入特征应用到生成模型,可以将利用生成模型的查询变体生成个性化到用户和/或当前上下文。
在一些实现中,基于这样的内容被分配给一个或多个变体,生成模型可以被用来生成提供给生成查询的客户端设备的该查询、和广告或其他内容的变体。在那些实现中的一些中,可以利用诸如本文中所描述的那些的技术来将生成模型所生成的变体按照客户端设备和/或客户端设备的用户而被定制。例如,可以基于用户的一个或多个属性来选择生成模型,和/或可以将与用户相关联的属性作为输入提供给生成模型,并用于生成变体。
在一些实现中,生成模型被用于在多个时间步长中的每个时间步长处生成原始查询的变体(和/或变体的令牌)。在那些实现中的一些中,在给定的时间步长处,是否生成变体和/或生成哪个变体可以是基于当前状态特征。当前状态特征可以包括例如基于以下的特征:对原始查询的搜索系统响应;对在先前时间步长处生成的原始查询的变体的搜索系统响应;在先前时间步长处生成的原始查询的变体;用户对原始查询的变体的响应(例如,作为提示向用户提供的澄清变体);以及/或者原始查询。以这种方式,可以基于会话期间查询的先前生成的变体、对先前生成的变体的响应和/或原始查询来动态影响在会话期间查询的变体生成。例如,在一些实现中,这样的当前状态特征中的一个或多个可以被用来确定是否应当生成另一变体,或者替代地,可以被用来确定是否应当响应于原始查询而替代地提供对先前的变体(和/或对原始查询)的响应。而不生成另一个变体。同样,例如,在一些另外的或替代的实现中,一个或多个这样的当前状态特征可以作为输入被(直接或间接地)应用到生成模型,以影响在该时间步长处的变体生成。例如,可以生成当前状态特征的向量摘要,并将其作为输入应用到生成模型,以影响生成的变体。
在一些实现中,经过训练的控制模型被用于在多个时间步长中的每个时间步长处确定是否要生成变体和/或将作为输入提供给生成模型以影响在该时间步长处的变体生成的特征。例如,经过训练的控制模型可以是前馈神经网络模型或递归神经网络(RNN)模型。可以将当前状态特征作为输入应用到经过训练的控制模型,以在模型上生成指示是否要生成另外变体的值和/或要提供给生成模型以影响变体的生成(如果要生成另一变体)的特征(例如,当前状态特征的向量摘要和/或奖励信号)。以这种方式,在参与者-评论者环境中,控制模型可以充当“评论者”,而生成模型可以充当“参与者”。因此,经过训练的控制模型可以被用来基于观察到的当前状态特征来确定是否要生成另外的变体和/或用于影响这种生成的特征。以这种方式,经过训练的控制模型可以控制为给定查询生成的附加变体的数量。这种控制可能导致生成的变体数量根据查询而不同,因为控制模型会基于例如在给定查询的先前迭代和/或对此类变体的响应中生成的变体来动态确定给定查询的变体生成的迭代次数。应当理解,这种动态控制通常可以导致生成相对大量(例如,大于5、大于10或大于15)的变体和/或考虑对这种变体的相对大量的响应。
在一些实现中,可以至少部分地基于强化学习来训练控制模型和/或生成模型。在那些实现中的一些实现中,分别对控制模型和生成模型进行训练,但要将其相互结合。在基于强化学习来训练控制模型和/或生成模型时,可以将生成的变体提交给搜索系统,并且来自搜索系统的响应(以及可选地缺少响应)可以指示奖励。例如,对于对查询变体的响应,即“应答”响应,可以分配与应答响应的质量成比例(或以其他方式相关)的奖励(例如,如搜索系统提供的对于“应答”响应的响应得分所指示的)。在那些示例中的一些示例中,在没有响应于查询变体而提供响应的情况下和/或当响应被认为(例如,基于来自搜索系统的输出)不是“应答”响应时,将不分配奖励。换句话说,将仅奖励最后的“应答”响应,并且基于这样的奖励来更新中间动作(例如,使用蒙特卡洛Q学习方法)。以这种方式,可以基于以在强化学习期间与之交互的搜索系统提供的响应为条件的奖励来进行Q功能学习或其他强化功能学习。在本文所述的强化学习的实现中,在给定时间步长处的状态由一个或多个状态特征(例如,如上所述的那些)指示,并且动作可以是查询变体(即,生成附加的查询变体)或提供“应答”响应。动作空间的每个动作都可以与定义对应问题或“应答”响应的字符串配对。
在一些实现中,提供了一种由一个或多个处理器实现的方法,该方法包括接收基于用户经由客户端设备的用户界面输入而生成的原始查询。该方法还包括:将原始查询的令牌以及与用户相关联的一个或多个属性作为输入应用于经过训练的生成模型。经过训练的生成模型是具有一个或多个存储层的序列到序列的深度神经网络模型。该方法还包括基于令牌和一个或多个属性向经过训练的生成模型的应用来生成原始查询的至少一个变体。该方法还包括基于以下中的至少一个来生成输出:至少一个变体以及对至少一个变体的至少一个搜索系统响应。该方法还包括:响应于原始查询,提供输出以经由客户端设备呈现。
在一些实现中,提供了一种由一个或多个处理器实现的方法,该方法包括:接收原始查询;将原始查询的令牌作为输入应用于经过训练的生成模型;并基于将原始查询的令牌应用于经过训练的生成模型来生成原始查询的多个变体。可以基于用户经由客户端设备的用户界面输入来生成原始查询。每个生成的变体都不同于原始查询,并且生成变体包括基于经过训练的生成模型的学习参数来产生变体。经过训练的生成模型被训练以使得能够生成多种类型的查询变体,并且生成的变体包括第一变体和第二变体,第一变体是多种类型的查询变体中的第一类型,第二变体是多种类型的查询变体中的第二类型。该方法还包括:基于多个变体中的至少一个和/或基于对多个变体中的至少一个的至少一个搜索系统响应来生成输出;以及并响应于原始查询,提供输出以经由客户端设备呈现。
在一些实现中,提供了一种由一个或多个处理器实现的方法,该方法包括接收基于用户经由客户端设备的用户界面输入生成的原始查询。所述方法还包括:基于基于具有与该用户共同的一个或多个属性的一组用户的过去查询提交来对所述经过训练的生成模型进行训练,从多个经过训练的生成模型中选择经过训练的生成模型。该方法还包括:将原始查询的令牌作为输入应用于所选择的经过训练的生成模型;以及基于原始查询的令牌应用于经过训练的生成模型,生成原始查询的至少一个变体;以及,基于所述至少一个变体和/或对所述至少一个变体的至少一个搜索系统响应来生成输出。该方法还包括:响应于原始查询,提供输出以经由客户端设备呈现。
在一些实现中,提供了一种由一个或多个处理器实现的方法,该方法包括:接收原始查询;将原始查询的令牌作为输入应用于经过训练的生成模型;以及,基于该输入在经过训练的生成模型上生成原始查询的变体。可以基于用户经由客户端设备的用户界面输入来生成原始查询。在经过训练的生成模型上生成的变体与原始查询有所不同,并且生成查询的变体包括基于经过训练的生成模型的学习参数来产生变体。该方法还包括:基于查询的变体提交到搜索系统,确定对于查询的变体的变体响应;将附加输入应用于经过训练的生成模型;并根据附加输入在经过训练的生成模型上生成原始查询的附加变体。应用于经过训练的生成模型的附加输入包括以下至少中的一个:原始查询的令牌、和原始查询的变体的变体令牌。所生成的附加变体与变体和原始查询不同,并且生成原始查询的附加变体包括基于经过训练的生成模型的学习参数来产生附加变体。该方法还包括基于原始查询的附加变体提交到搜索系统来确定对于原始查询的附加变体的附加变体响应。该方法进一步包括:基于变体响应和/或附加变体响应来生成输出;并响应于原始查询,提供输出以经由客户端设备呈现。
在一些实现中,提供了一种由一个或多个处理器实现的方法,该方法包括接收基于用户经由客户端设备的用户界面输入生成的原始查询。该方法还包括为用户确定预测任务,并将原始查询的令牌、和用于用户的预测任务的一个或多个任务属性作为输入应用到经过训练的生成模型。该方法还包括基于令牌以及一个或多个任务属性向经过训练的生成模型的应用来生成原始查询的至少一个变体。该方法进一步包括:基于至少一个变体和/或对至少一个变体的至少一个搜索系统响应来生成输出;以及响应于原始查询,提供输出以经由客户端设备呈现。
在一些实现中,提供了一种由一个或多个处理器实现的方法,该方法包括接收基于用户经由客户端设备的用户界面输入而生成的原始查询。该方法还包括为用户确定预测任务。该方法进一步包括基于基于与预测任务相关联的过去查询提交来训练的经过训练的生成模型从多个经过训练的生成模型中选择经过训练的生成模型。该方法还包括:将原始查询的令牌作为输入应用于所选择的经过训练的生成模型;基于原始查询的令牌应用于经过训练的生成模型,生成原始查询的至少一个变体;以及基于所述至少一个变体和/或对所述至少一个变体的至少一个搜索系统响应来生成输出。该方法还包括响应于原始查询而提供输出。
本文公开的各种实现可以包括一种或多种非暂时性计算机可读存储介质,其存储可由处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU))执行的指令,以执行诸如本文所述的一种或多种方法的方法。其他各种实现可以包括一个或多个计算机的系统,所述计算机包括一个或多个处理器,所述一个或多个处理器可操作来执行存储的指令以执行诸如本文所述的方法中的一个或多个的方法。
应当理解,本文中更详细描述的前述概念和附加概念的所有组合被认为是本文公开的主题的一部分。例如,出现在本公开的结尾处的要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
图1是其中可以实现本文公开的实现的示例环境的框图。
图2示出了根据本文公开的实现的训练生成模型的示例。
图3示出了利用生成模型来生成查询的一个或多个变体的示例。
图4示出了利用生成模型来生成查询的一个或多个变体的另一示例,其中,利用控制模型来控制变体的生成。
图5是示出根据本文公开的实现的训练生成模型的方法的流程图。
图6是示出了利用生成模型来生成查询的一个或多个变体的方法的流程图。
图7是示出了利用生成模型来生成查询的一个或多个变体的方法的流程图,其中,利用控制模型来控制变体的生成。
图8A和图8B各自示出了示例性图形用户界面,该示例性图形用户界面用于提供基于根据本文公开的实现生成的变体的输出。
图9示出了计算设备的示例架构。
具体实现方式
图1示出了其中可以实现本文公开的实现的示例环境。图1的示例环境包括客户端设备106、查询系统110、搜索系统140、生成模型训练引擎120和训练实例引擎122。这样的系统和引擎可以各自在例如通过通信网络进行通信的一个或多个计算设备中实现。通信网络可以包括诸如因特网的广域网(WAN)、一个或多个内联网和/或一个或多个总线子系统。通信网络可以可选地利用一种或多种标准通信技术、协议和/或进程间通信技术。
查询系统110、搜索系统140、生成模型训练引擎120和训练实例引擎122是示例组件,其中可以实现本文描述的技术和/或在此所述的系统、组件和技术可以与所述示例组件对接。由图1的系统110、140和引擎120、122中的一个或多个执行的操作可以每个分布在多个计算机系统上。在一些实现中,系统110、140和引擎120、122的一个或多个方面可以组合在单个系统中,和/或一个或多个方面可以在客户端设备106上实现。例如,在那些实现中的一些中,查询系统110的各方面可以与搜索系统140的各方面组合。
客户端设备106的用户可以通过经由客户端设备106的一个或多个用户界面输入设备提供用户界面输入来经由客户端设备106制定查询。客户端设备106将查询提交给查询系统110。在一些情况下,查询采用文本形式。在其他情况下,查询可以以音频和/或其他形式提交,并且由查询系统110(或其他组件)转换为文本形式。
对于接收到的查询,查询系统110生成接收到的查询的一个或多个变体,并使输出被提供给客户端设备106,其中,输出是基于一个或多个变体。在一些实现中,输出包括要作为建议的替代变体提供以供用户考虑的一种或多种变体。在一些实现中,输出另外地或可替代地包括基于来自搜索系统140的一个或多个响应的内容,其中,响应是基于向搜索系统140提交一个或多个变体。搜索系统140可以基于对一个或多个资源166的访问来确定响应,并且可以利用各种技术,诸如如传统的信息检索技术。基于响应的内容可以是例如图形和/或可听的“应答”或基于响应(例如,与其相同)的其他搜索结果。在提供基于响应的内容的情况下,查询系统110可以将内容直接提供给客户端设备106,或者可以使搜索系统140将内容提供给客户端设备106。在一些实现中,查询系统110和搜索系统140可以可选地由同一方控制和/或彼此协同工作。可以基于所生成的变体(诸如,在一个或多个数据库中分配给所生成的变体的广告)来提供附加和/或替代输出。
在图1中,查询系统110包括变体引擎112和控制器引擎114。在一些实现中,变体引擎112和控制器引擎114的一个或多个方面可以在与查询系统110分离的组件中组合和/或实现,该组件诸如是客户端设备106。在一些实现中,可以省略控制器引擎114。
变体引擎112利用一个或多个经过训练的生成模型152来为提交的查询生成一个或多个查询变体。在一些实现中,变体引擎112包括在经过训练的生成模型152上操作的一个或多个CPU、GPU和/或TPU。变体引擎112通过将查询的令牌作为输入应用于生成模型152中的一个并基于该输入在生成模型上生成变体来生成提交的查询的变体。在许多实现中,在生成变体时,变体引擎112进一步将附加输入特征作为输入应用于生成模型,并基于附加输入特征来生成变体。
在一些实现中,附加输入特征可以包括与提交查询的用户相关联的属性、时间属性和/或其他特征。例如,在生成原始查询的变体时,变体引擎112可以将原始查询的令牌、提交该查询的用户的属性(例如,用户的位置、由用户从事的任务)和时间属性(例如,当前周内日、当前日时)作为生成模型152中的一个的输入来应用,并基于所应用的输入在生成模型上生成变体。
在一些实现中,在为原始查询生成变体的给定迭代处应用的附加输入特征可以附加地或替代地包括基于在先前迭代处生成的原始查询的变体和/或基于对此类变体的搜索系统响应的特征。例如,在为原始查询生成变体时,变体引擎112可以在多个时间步长中的每个时间步长处生成变体。在给定的时间步长,变体引擎112可以作为生成模型152中的一个的输入来应用基于以下的特征:对原始查询的搜索系统响应;对在先前时间步长处生成的原始查询的变体的搜索系统响应;在先前时间步长生成的原始查询的变体;以及/或者原始查询。以这种方式,给定时间步长的变体生成可以受到先前生成的变体、对先前生成的变体的响应和/或原始查询的影响。
在一些实现中,在生成原始查询的变体的给定迭代中应用的附加输入特征可以附加地或替代地包括类型值。例如,在一些实现中,生成模型152中的一个可以是“多任务”模型,因为它被训练为使得能够生成多种类型的查询变体中的任何一种。在那些实现中的一些中,变体引擎112可以作为对于生成模型152中的一个的输入来应用指示将要生成的查询变体的类型的类型值。查询变体的类型可以包括例如等效查询、跟进查询、泛化查询、典范化查询、语言翻译查询、和/或蕴涵查询。在一些实现中,变体引擎112在生成变体的多个迭代中的每个迭代处选择不同的类型值,从而利用相同的生成模型来生成完全不同的类型的多个变体。
在一些实现中,变体引擎112可访问多个生成模型152,并且变体引擎112选择多个生成模型152中的一个或多个的子集,以基于一个或多个参数生成用于提交的查询的变体。例如,可以提供多个生成模型152,其中,基于基于一组独特用户的过去查询提交的训练数据来训练每个生成模型。例如,可以基于基于具有属性A和B的用户的过去查询提交的训练数据来生成第一生成模型。可以基于基于具有属性B和C的用户的过去查询提交的训练数据来生成第二生成模型。对于具有属性B和C(但不是A)的用户的提交查询,变体引擎112可以在生成该查询的变体时选择第二生成模型(也无需选择第一生成模型),因为用户属性B和C与用于训练第二生成模型的属性相匹配。
在图1中也示出了生成模型训练引擎120和训练实例引擎122。训练实例引擎122生成训练实例并将训练实例存储在训练实例数据库164中。例如,训练实例引擎122可以基于提交查询数据库162来生成多个训练实例,提交查询数据库162上存储有大量用户的过去查询提交。生成模型训练引擎120基于存储的数据库164的训练实例来训练生成模型152。如本文所述,在一些实现中,可以可选地利用不依赖于训练实例数据库164的训练实例的强化学习技术来对生成模型152中的一个或多个进行进一步训练。下面在与图2有关的描述中提供了引擎120、122以及数据库162和164的实现的附加描述。
当提供时,控制器引擎114与变体引擎112协同工作,并且:控制变体引擎112是否生成变体;以及/或者生成影响变体生成的参数并将参数提供给变体引擎112。控制器引擎114可选地利用一个或多个经过训练的控制模型154来控制变体引擎112是否生成变体和/或生成影响变体生成的参数。在一些实现中,变体引擎112包括在经过训练的控制模型154上操作的一个或多个CPU、GPU和/或TPU。
在一些实现中,对于提交的查询,控制器引擎114确定是否由变体引擎112为提交的查询生成任何变体。例如,控制器引擎114可以基于所提交的查询本身和/或基于来自搜索系统140的针对所提交的查询的响应(如果有的话)来做出这种确定。例如,仅当搜索系统140未返回应答响应或任何返回的应答响应的质量不足(例如,具有由搜索系统提供的不能满足阈值的得分)时,控制器引擎114才可以确定生成变体。在那些实现中的一些中,控制器引擎114将所提交的查询的令牌和/或对所提交的查询的响应的特征应用到控制模型154中的一个,并在控制模型154上生成指示是否要生成变体的输出。在一些另外的或替代的实现中,控制器引擎114将所提交的查询的令牌和/或响应的特征应用于控制模型154中的一个,并且在提供给变体引擎112的控制模型154上生成输出,用于在生成变体时作为输入应用到生成模型(从而影响变体的生成)。
如本文中所述,在一些实现中,变体引擎112在多个时间步长中的每个时间步长处生成提交的查询的变体。在那些实现中的一些中,控制器引擎114确定何时应当停止变体生成。换句话说,变体引擎112是否在给定的时间步长处生成变体可以取决于来自控制器引擎114的授权。此外,对于每个时间步长,控制器引擎114可以提供影响在时间步长处的变体生成的特征。在确定是否应该停止变体生成和/或在生成影响变体产生的特征时,控制器引擎114可以利用一个或多个控制模型154中的至少一个。
作为一个示例,控制器引擎114可以作为对于控制模型154中的一个的输入来应用基于以下的特征:对原始查询的搜索系统响应;对由变体引擎112在先前的时间步长处生成的原始查询的变体的搜索系统响应;变体引擎在先前的时间步长处生成的原始查询的变体;以及/或者原始查询。控制器引擎114可以基于所应用的输入在控制模型上生成输出,并且利用该输出来确定是指令变体引擎112生成其他变体还是停止变体生成。当变体生成停止时,控制器引擎114可以替代地提供先前生成的变体和/或对先前生成的变体的响应作为响应于所提交的查询的输出。以这种方式,在参与者-评论者的环境中,控制器引擎114可以充当“评论者”,而变体引擎112可以充当“参与者”。下面参考图4描述控制器引擎114、控制模型154中的一个、以及控制器引擎114与变体引擎112的交互的实现的附加描述。
转向图2,示出了训练生成模型152的生成模型152A的示例。从训练实例数据库164中检索训练实例164A。训练实例引擎122A(图1)可以基于例如用户先前提交并存储在提交的查询数据库162(图1)中的一对查询来生成训练实例164A。作为一个示例,该对查询可以包括用户的时间较早的查询“罗杰·摩尔(Roger Moore)在说服者中驾驶了阿斯顿·马丁(Aston Martin)吗?”以及用户的较晚时间(例如,紧接在时间较早的查询之后)的查询“罗杰·摩尔在说服者中驾驶了什么车”(相对于较早时间的查询而言,这是同等类型)。作为另一个示例,该对查询可以包括用户的时间较早的查询“莱昂纳多·达·芬奇画了蒙娜丽莎吗?”和用户的较晚时间的查询“谁委托莱昂纳多·达·芬奇(Leonardo da Vinci)画了蒙娜丽莎”(相对于时间较早的查询而言,属于跟进类型)。
训练实例164A包括训练实例输入,该训练实例输入包括查询(例如,该对的时间较早提交的查询)、属性和类型。这些属性可以包括例如提交查询的用户的属性、查询的时间属性(例如,提交的周内日)、对查询的搜索系统响应的特征等。所述类型可以是一个类型值,该类型值指示训练实例输出中包括哪种类型的变体。在一些实现中,可以通过人工标记来指定类型,或者可以由训练实例引擎122基于用于生成训练实例164A的查询对的特征(例如,基于查询对的查询提交的时间间隔的大小、查询系统对查询对的查询的响应的比较)来推断所述类型。训练实例164A还包括训练实例输出,该训练实例输出包括变体(例如,该对的较晚时间提交的那个)。
生成模型训练引擎120将训练实例的训练实例输入作为输入应用于生成模型152A。生成模型训练引擎120还基于所应用的输入和生成模型152A的当前学习参数,在生成模型152A上生成输出。生成模型训练引擎120还基于所生成的输出与训练实例164A的训练实例输出的比较来生成梯度,并基于该梯度来更新生成模型152A(例如,在整个生成模型152A上反向传播梯度)。
在基于所应用的输入来生成输出时,生成模型训练引擎120可以将输入的全部或部分应用于生成模型152A的编码器层153A,并在编码器层153A上生成编码。例如,可以将输入的原始查询的令牌应用于编码器层153A。引擎120可以进一步将编码应用于生成模型152A的解码器层154A,并在解码器层154A上生成对该编码的解码。然后,引擎120可以将所生成的编码应用于softmax层155A,并基于所生成的编码的应用来在softmax层155A上生成输出。在一些实现中,引擎120将输入的属性和/或类型应用于其他层和/或作为“侧输入”应用于编码器层153A、解码器层154A和/或softmax层155A中的一个。在那些实现中的一些中,引擎120将属性和/或类型应用于在编码器层153A下游但在解码器层154A上游的其他层。
虽然图2仅示出了单个训练实例164A,但是应当理解,在训练生成模型152A中将利用许多另外的训练实例。注意,在一些实现中,选择单个训练实例164A和另外的训练实例,使得生成模型152A被训练为专门适于某些属性。例如,可以通过仅选择基于具有特定属性的用户的过去提交而生成的训练实例(或偏向训练实例)来训练生成模型152A。例如,在这样的选择中可以利用明确包括在训练实例的训练实例输入中的用户的属性。而且,例如,可以通过仅选择与某些任务属性相关联的训练实例(或偏向训练实例)来训练生成模型152A。例如,选择可以偏向于与从事(或将要从事)的某些任务相关联提交的查询。还应注意,在一些实现中,利用在训练实例输入中包括多个不同“类型”的训练实例来训练生成模型152A。如本文所述,这使得能够生成多任务模型,该多任务模型可以生成多种不同类型的变体,并且在运行时可以通过将对应的类型值作为输入应用来偏向特定类型。
图3示出了利用生成模型来生成查询的一个或多个变体的示例。在图3中,用户的原始查询和属性从客户端设备106传输到变体引擎112。在一些其他实现中,客户端设备106可能不随查询一起传输一个或多个(例如,全部)属性,或者客户端设备106甚至可能根本不传输一个或多个(例如,全部)属性。例如,用户的属性可以相对于客户端设备远程存储。例如,属性可以被远程存储并且是基于用户的过去交互(例如,经由其他客户端设备),并且由变体引擎112从远程存储访问。
变体引擎112利用生成模型152中的至少一个来生成原始查询的一个或多个变体。在生成一个或多个变体时,变体引擎112可以利用属性来选择生成模型152中的一个和/或可以将一个或多个属性作为输入应用到生成模型中的一个。变体引擎112可以进一步将原始查询的令牌应用于生成模型和/或其他特征(例如,过去生成的变体,其中,以迭代方式生成多个变体)。
在一些实现中,变体引擎112将变体作为基于原始查询而提供的输出传输给客户端设备106。在一些实现中,变体引擎112另外地或替代地向搜索系统140提供一个或多个变体,搜索系统140确定针对变体的一个或多个响应(例如,单个应答搜索结果或多个搜索结果),并将响应作为基于原始查询而提供的输出传输给客户端设备。
图4示出了利用生成模型来生成查询的一个或多个变体的另一示例。特别地,图4示出了一个示例,其中,利用控制模型来控制变体的生成。
在图4中,将用户的原始查询和属性从客户端设备106传输到控制器引擎114。与图3相同,在一些其他实现中,客户端设备106可以不随查询一起传输一个或多个(例如,全部)属性,或者客户端设备106甚至可以根本不传输一个或多个(例如,全部)属性。
在一些实现中,控制器引擎114利用一个或多个控制模型154来确定是否生成原始查询的变体。例如,控制器引擎114可以将原始查询的令牌、对原始查询的搜索系统响应、和/或用户的属性应用于控制模型154中的一个,以确定是否生成变体。在一些其他实现中,在默认情况下,控制器引擎114可以确定应当生成至少一个变体或原始查询。
控制器引擎114向变体引擎112提供基于在一个或多个控制模型154上的输出确定的奖励信号,并且还提供当前状态。当前状态可以包括例如原始查询、用户的属性和/或基于其一个或两者的特征向量——其中,特征向量也是基于在一个或多个控制模型154上的输出。
变体引擎利用生成模型152中的至少一个来生成原始查询的一个或多个变体。在生成变体时,变体引擎112可以利用所提供的状态以及可选地利用奖励信号。例如,变体引擎112可以将奖励信号应用于学习的奖励函数以确定在生成查询变体中的奖励。变体引擎112将变体提供给搜索系统140。作为响应,搜索系统140生成一个或多个响应,并将响应提供给控制器引擎114。
控制器引擎114利用迄今生成的一个或多个变体和/或它们的对应响应来确定变体引擎112是否应当生成另外变体。例如,控制器引擎114可以应用迄今生成的一个或多个变体的令牌和/或对应响应的特征作为对控制模型154中的一个的输入,基于该输入在控制模型上生成输出,并利用该输出确定是否应当生成另外变体。在一些实现中,控制器引擎114进一步将原始查询的令牌、对原始查询的搜索系统响应和/或用户的属性作为输入的一部分来应用。
如果控制器引擎114确定应当生成另外变体,则其可以提供(例如,基于迄今生成的一个或多个变体和/或对应的一个或多个变体响应来更新的)更新的奖励信号和更新的当前状态。然后,变体引擎112可以生成一个或多个另外变体,将变体提供给搜索系统140,并再次提供对应的响应。然后,控制器引擎114可以基于另外变体和对应的响应再次确定是否应当生成另外变体。
如果在给定的迭代处控制器引擎114确定不应当生成另外变体,则它向客户端设备106传输一个或多个搜索系统响应和/或一个或多个生成的变体作为基于原始查询而提供的输出。例如,控制器引擎114可以存储所有提供的响应,并且仅提供响应中的一个作为响应输出(例如,最高质量响应或也被其他响应确认的最高质量响应)。作为另一个示例,控制器引擎114可以提供多个响应(例如,N个最佳响应、各种响应集)。
在一些实现中,可以利用强化学习来训练控制模型154、生成模型152、控制器引擎114和/或变体引擎112。在那些实现中的一些中,可以最初利用其他技术来训练控制模型154和/或生成模型152,并且通过强化学习来将其完善。例如,生成模型152可以如关于图2所描述的那样最初被训练,并且通过强化学习进一步被训练。
在那些实现中的一些中,在参与者-评论者算法中,控制器引擎114和控制模型154可被视为“评论者”,而变体引擎112和生成模型152被视为“参与者”。通常,参与者会生成变体并使用变体探测环境。该环境可以是例如搜索系统140。通常,评论者会收集来自该环境的证据(例如,诸如应答字符串或其排序列表之类的响应),以生成全局行为/决策d,以保持全局状态s,并为参与者提供奖励信号r和上下文c。
参与者和评论者的行为可以通过在两个不同的时间尺度上的强化来驱动。参与者可以在更精细的时间尺度(由t'索引)上运行。在每个步骤,参与者都会根据上下文生成下一个变体。评论者将来自该环境的证据累积到到全局状态s。在一些情况下,状态将至少包含原始查询、生成的变体、和观察(例如,对生成的变体的搜索系统响应)、以及用于馈送网络的向量摘要h,s=({qt,ot}1..T,ht)。在给定全局状态的情况下,评论者会在每个时间步长做出全局决策d,以发出响应,或者继续进行变体生成和更多证据的积累的循环。评论者还向参与者提供了上下文和奖励信号,该上下文用于调节变体生成。评论者直接对状态-动作对“Q函数”Q(st,dt)的值进行建模。Q函数的该值作为奖励信号被传递给参与者。使用在响应(例如,对原始查询的响应)和所做出的决策序列d上定义的全局奖励来训练Q函数。时间尺度的分离允许对变体生成和全局决策做出这两个任务进行单独建模,但要联合训练以优化端到端性能。
当评论者发出响应而不是继续变体生成和更多证据积累的循环时,达到了最终状态。参与者的动作空间可以被定义为:A:={(a,<w>):a∈{question,answer},<w>∈Strings},其中,a可以用变体探测环境,或发出响应。该动作与字符串<w>配对,该字符串定义了变体或应答(发出的响应)。在一些实现中,“用变体探测环境”动作不获得奖励,而“发出响应动作”则得到与应答的质量成比例的奖励。评论者可以学习Q函数,该Q函数将动作(a,<w>)从当前状态映射到预期回报E[Gs]。在仅奖励“发出响应动作”的情况下,预期回报可以表示为E[γκR],其中,[0,1]是折扣,k是到最终状态的迭代次数,并且R是最终的奖励。
可以利用蒙特卡罗Q学习方法来实现Q函数训练。可以对变体进行采样,直到达到最终状态,确定奖励为止,并且可以将Q函数的所有中间预测更新为γk。参与者会生成变体,并且可以包括例如序列到序列模型,该序列到序列模型将原始查询、最新变体以及可能基于变体和响应历史而调节的更多特征当作输入,并返回一个或多个另外变体。可以使用“蒙特卡洛政策梯度”方法对参与者进行训练。从环境接收到的响应集充当了到目前为止所见应答的存储器。它可以用来为参与者和Q函数提供特征,并且/或者允许评论者返回在任何中间迭代中看到的应答。
现在转向图5,提供了示出根据本文公开的各种实现的训练生成模型的方法500的流程图。为了方便起见,参照执行操作的系统来描述流程图的操作。该系统可以包括一个或多个组件,诸如一个或多个处理器(例如,一个或多个CPU、一个或多个GPU和/或一个或多个TPU)。虽然以特定顺序示出了方法500的操作,但这并不意味着是限制性的。可能会重新排序、省略或添加一项或多项操作。
在框552,系统选择一组训练实例。例如,当在方法500中将生成模型训练为多任务模型时,系统可以选择该组,使得该组包括展示多种类型的变体生成的训练实例。而且,例如,如果生成模型被附加地或替代地训练为特定于特定的用户组,则系统可以选择该组,使得训练实例仅包括或包括大量(例如,超过一半、超过70%)的训练实例,所述训练实例是基于符合所述特定组的用户过去提交的查询。而且,例如,如果生成模型被附加地或替代地训练为特定于特定任务,则系统可以选择该组,使得训练实例仅包括或包括大量(例如,超过一半、超过70%)的训练实例,这些训练实例是基于与特定任务相关联的过去提交的查询。
在框554,系统选择该组的一个训练实例。
在框556处,系统将训练实例的训练实例输入作为输入应用到生成模型。训练实例输入可以包括例如原始查询的术语、属性(例如,提交原始查询的用户的属性)和类型值(其指示原始查询的变体的类型)。
在框558,系统基于所应用的训练实例输入来在生成模型上生成变体。
在框560处,系统基于所生成的变体与训练实例输出(即,与训练实例输出中指示的变体)的比较来确定训练实例的错误。
在框562处,系统基于所述错误来更新生成模型。例如,所述错误可以是在生成模型上反向传播以更新生成模型的梯度。
在框564处,系统确定该组中是否存在任何其他未处理的训练实例。如果是,则系统进行到框554并选择另外的训练实例。然后,系统基于附加训练实例执行框556、558、560和562。
如果在框564的迭代处系统确定在该组中没有任何其他未处理的训练实例(或者已经满足其他训练准则),则系统进行到框566,在此,训练结束。
虽然图5示出了特定的非批训练方法,但是应当理解,可以在训练中另外或替代地使用批训练(例如,基于一批训练实例确定错误并反向传播错误)。而且,应理解,在各种实现中,可以根据本文公开的技术进一步训练基于方法500训练的生成模型。例如,可以利用强化学习技术来进一步训练生成模型,并且可以与单独的控制模型分开但与之结合来进一步训练生成模型。此外,在生成多个生成模型的情况下,可以在框552中以不同的选择准则来重复方法500,以生成其他模型。
现在转向图6,提供了流程图,该流程图示出了根据本文公开的各种实现的利用生成模型来生成查询的一个或多个变体的方法600。为了方便起见,参照执行所述操作的系统来描述流程图的操作。该系统可以包括一个或多个组件,诸如一个或多个处理器(例如,一个或多个CPU、一个或多个GPU和/或一个或多个TPU)。虽然以特定顺序示出了方法600的操作,但这并不意味着是限制性的。可能会重新排序、省略或添加一项或多项操作。
在框652处,系统接收查询。
在框654,系统从多个候选生成模型中选择一个生成模型。在一些实现中,系统基于提交了框652的查询的用户的一个或多个属性来选择该生成模型。例如,系统可以基于与匹配用户的一个或多个属性的属性相关联地存储生成模型来选择该生成模型。例如,它可以基于基于具有那些属性的用户的过去查询提交的训练实例被训练来与这样的属性相关联地被存储。在一些实现中,可以省略框654(例如,仅单个生成模型可用)。
在框656处,系统将查询的令牌和附加值作为输入应用于生成模型。可以应用各种附加值,诸如提交查询的用户的属性、时间属性、和/或对于接收到的查询的搜索系统响应的属性。作为一个特定示例,附加值可以包括提交查询的用户的预测任务属性。例如,可以基于用户最近在计算设备上查看的内容、存储的用户的日历条目、和/或用户的电子通信来预测所述预测任务属性。
在框658,系统基于所应用的输入在生成模型上生成一个或多个变体。
在框660处,系统确定是否生成另外变体。在一些实现中,系统基于迄今为止生成的变体的特性和/或基于搜索系统对迄今为止生成的变体的响应来确定是否生成另外变体。例如,系统可以基于是否通过搜索系统和/或响应的质量度量找到了对迄今为止生成的一个或多个变体的响应来确定是否生成另外变体。例如,如果未找到响应和/或如果质量度量未能满足一个或多个质量准则,则系统可以生成另外变体。
如果在框660的迭代中系统确定生成另外变体,则系统前进至框662,并更新一个或多个附加值,所述一个或多个附加值将作为输入在框656的后续迭代中被应用于生成模型。例如,系统可以更新附加值以反映在框658的最新迭代中生成的一个或多个变体,以反映对一个或多个变体的响应、和/或改变用于框658的下一次迭代的类型值。然后,系统使用更新的附加值执行框656的另一次迭代,然后进行到框658和660。
如果在框660的迭代中系统确定不生成另外变体,则系统前进至框664,并提供基于一个或多个所生成的变体的输出。输出可以包括一个或多个变体和/或对一个或多个变体的搜索系统响应。
图7是示出了利用生成模型来生成查询的一个或多个变体的方法700的流程图,其中,利用控制模型来控制变体的生成。为了方便起见,参照执行操作的系统来描述流程图的操作。该系统可以包括一个或多个组件,诸如一个或多个处理器(例如,一个或多个CPU、一个或多个GPU和/或一个或多个TPU)。虽然以特定顺序示出了方法700的操作,但这并不意味着是限制性的。可以重新排序、省略或添加一项或多项操作。
在框752,系统接收查询。
在框754处,系统基于当前状态在控制模型上生成控制输出。例如,当前状态可以基于当前查询的令牌、对当前查询的搜索系统响应、和/或其他特征。
在框756,系统基于控制输出来确定是否生成接收到的查询的变体。在一些实现中,可以省略框754以及框756的初始迭代。换句话说,在那些实现中,系统可以确定总是生成变体(例如,以便检查对接收到的查询的搜索系统响应的有效性)。
如果在框756的迭代中系统确定不生成变体,则系统进行到框766,并提供基于当前搜索系统响应和/或生成的变体的输出。
如果在框756的迭代中系统确定生成变体,则系统进行到框758。
在框758,系统基于在框754的最新迭代生成的控制输出来确定奖励信号和/或上下文。奖励信号可以基于本文所述的学习到的Q函数,并且上下文可以包括例如当前状态和/或当前状态的向量摘要。
在框760,系统基于接收到的查询和框758的奖励信号和/或上下文,在生成模型上生成变体。
在框762,系统确定对在框760生成的变体的响应。例如,系统可以将变体提交给搜索系统,并从搜索系统接收响应于该变体的响应。在一些情况下,搜索系统不返回响应和/或生成“空”,其中每个都表示没有可用的响应(例如,应答)。
在框764,系统基于变体以及对变体的响应来更新当前状态。然后,系统返回到框754,并基于当前状态在控制模型上生成控制输出,该当前状态包括框764的更新。以这种方式,在框764的后续迭代中,可以在框754的下一次迭代中考虑先前生成的变体和响应(即,在框760和762的先前迭代中生成的变体和响应)。系统然后返回至框756,并基于控制输出来确定是否生成接收到的查询的另一个变体。当系统确定生成另一变体时,注意,在框758的下一迭代处提供的奖励信号和上下文可以同样地取决于先前生成的变体和响应(即,在框760和762的先前的迭代中生成的变体和响应)。以这种方式,框760的下一次迭代的变体生成因此受到先前生成的变体和响应的影响。
现在转向图8A和图8B,示出了示例性图形用户界面800A和800B,用于提供基于根据本文公开的实现生成的变体的输出。图形用户界面800A和800B可以被呈现在客户端设备106处(例如,在客户端设备106处执行的浏览器中和/或在客户端设备106处执行的另一应用中)。
在图8A中,用户提供了“达·芬奇画了蒙娜丽莎吗”的查询891A。作为响应,提供包括响应892A并且还包括两个变体893A的输出。可以根据本文公开的实现生成两个变体893A。在一些实现中,每个变体是可选择的,并且响应于选择,使得对应的变体作为新查询被提交。在一些实现中,响应892A还基于根据本文公开的实现生成的变体。例如,在一些情况下,响应892A可以是对查询891A的变体(与变体893A不同的变体)的响应,并且/或者,响应892A可以是对查询891A的响应,但基于对于查询的变体的响应进行验证(例如,通过确保这些变体也生成肯定的响应)。
在图8B中,用户已经提供了“米开朗基罗画了蒙娜丽莎吗”的查询891B。作为响应,提供包括“否”的响应892B的输出。图8B的框895B可以可选地不被提供以显示,而是被呈现为可以根据本文描述的技术生成以生成“否”的响应892B的变体的示例。框895B显示原始查询(由“O”表示),并在括号中包括“Y”,以指示搜索系统响应于原始查询而生成了应答响应。例如,应答响应可能是“是的,米开朗基罗确实画了蒙娜丽莎”。但是,代替提供应答响应,而是生成了作为“跟进”变体的多个变体,以便验证对原始查询的响应的准确性。在特定的变体VI中,生成了V2和V3。如括号中的“N”所示,搜索系统响应于那些跟进变体中的每一个生成了“无应答”响应。鉴于对于那些多次跟进没有可用的应答,控制器引擎可以确定对原始查询的“应答响应”是不正确的(因为跟进没有导致任何应答)。结果,控制器引擎可以提供“否”的响应892B。
虽然在图8A和8B中呈现了图形界面的示例,但是应当理解,可以基于用户的口头输入来另外或替代地接收查询,并且/或者,可以另外或替代性地提供变体和/或响应,以经由客户端设备可听地呈现给用户。
在此处描述的系统收集有关用户的个人信息或可以利用个人信息的情况下,可以为用户提供以下机会:控制程序或特征是否收集用户信息(例如,有关用户社交网络、社交行为或活动、职业、用户的偏好、或用户当前的地理位置的信息),或控制是否和/或如何从内容服务器接收与用户更为相关的内容。而且,某些数据在存储或使用之前可能会以一种或多种方式处理,以便移除个人身份信息。例如,可以处理用户的身份,使得无法为该用户确定任何个人身份信息,或者可以在获得地理位置信息的地方泛化用户的地理位置(例如达到城市、ZIP码或州的级别),使得无法确定用户的特定地理位置。因此,用户可以控制如何收集有关用户的信息和/或使用信息。
图9是示例计算设备910的框图,该示例计算设备910可以可选地用于执行本文描述的技术的一个或多个方面。计算设备910包括至少一个处理器914(例如,CPU、GPU和/或TPU),其经由总线子系统912与多个外围设备进行通信。这些外围设备可以包括存储子系统924,包括例如存储器子系统925和文件存储子系统926、用户界面输出设备920、用户界面输入设备922、和网络接口子系统915。输入和输出设备允许用户与计算设备910交互。网络接口子系统915提供到外部网络的接口,并耦合到在其他计算设备中的对应接口设备。
用户界面输入设备922可以包括键盘、诸如鼠标、轨迹球、触摸板或图形输入板之类的指向设备、扫描仪、包含在显示器中的触摸屏、诸如语音识别系统、麦克风之类的音频输入设备、以及/或者其他类型的输入设备。通常,术语“输入设备”的使用旨在包括所有可能类型的设备以及将信息输入到计算设备910内或通信网络上的方式。
用户界面输出设备920可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或其他用于创建常规图像的机构。显示子系统还可以诸如经由音频输出设备来提供非视觉显示。通常,术语“输出设备”的使用旨在包括所有可能类型的设备以及将信息从计算设备910输出到用户或另一机器或计算设备的方式。
存储子系统924存储提供本文描述的一些或所有模块的功能的程序和数据构造。例如,存储子系统924可以包括用于执行本文描述的方法的所选方面的逻辑。
这些软件模块通常由处理器914单独或与其他处理器结合执行。存储子系统924中使用的存储器925可以包括多个存储器,其包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)930以及其中存储固定指令的只读存储器(ROM)932。文件存储子系统926可以提供用于程序和数据文件的持久存储,并且可以包括硬盘驱动器、固态驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质盒带。实现某些实现的功能的模块可以由文件存储子系统926存储在存储子系统924中,或者存储在处理器914可访问的其他机器中。
总线子系统912提供了一种机制,该机制用于使计算设备910的各个组件和子系统按预期彼此通信。虽然总线子系统912被示意性地示出为单条总线,但是总线子系统的替代实现可以使用多条总线。
计算设备910可以是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器机群或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,因此图9中所描绘的计算设备910的描述将仅旨在作为用于说明一些实现的特定示例。计算设备910的许多其他配置可能具有比图9中描绘的计算设备更多或更少的组件。

Claims (36)

1.一种由一个或多个处理器实现的方法,包括:
接收原始查询,所述原始查询基于用户经由客户端设备的用户界面输入而生成;
将所述原始查询的令牌作为输入应用于经过训练的生成模型;
基于将所述原始查询的令牌应用于所述经过训练的生成模型,生成所述原始查询的至少一个变体;
基于以下至少中的一个生成输出:所述至少一个变体、以及对所述至少一个变体的至少一个搜索系统响应;以及
响应于所述原始查询,提供所述输出以经由所述客户端设备呈现。
2.根据权利要求1所述的方法,还包括:
作为对于所述经过训练的生成模型的所述输入的一部分,应用与所述用户相关联的一个或多个属性。
3.根据权利要求2所述的方法,还包括:
基于针对所述经过训练的生成模型的所述一个或多个属性,生成所述原始查询的至少一个变体。
4.根据权利要求2或权利要求3所述的方法,其中,所述一个或多个属性包括以下一项或多项:所述用户的位置、所述用户当前从事的任务、以及所述用户的位置处的天气。
5.根据权利要求1至4中任一项所述的方法,还包括:
作为对所述经过训练的生成模型的所述输入的一部分,应用一个或多个时间属性,包括以下至少一项:当前时间、当前周内日、和当前日期。
6.根据权利要求1至5中任一项所述的方法,还包括:
为所述用户确定预测任务;
作为对于所述经过训练的生成模型的输入,应用:
所述用户的所述预测任务的一个或多个任务属性;
并且其中,生成所述原始查询的至少一个变体是基于将所述一个或多个任务属性应用于所述经过训练的生成模型。
7.根据权利要求6所述的方法,其中,基于经由所述客户端设备或附加客户端设备与所述用户的一个或多个交互来确定所述用户的所述预测任务。
8.根据权利要求7所述的方法,其中,基于确定所述预测任务所基于的所述一个或多个交互包括由所述用户发送的电子通信或由所述用户创建的日历条目。
9.根据权利要求6所述的方法,其中,基于发送给所述用户的电子通信或所述用户的存储的日历条目来确定所述用户的所述预测任务。
10.根据权利要求6所述的方法,还包括:
生成包括训练实例输入和训练实例输出的训练实例,
所述训练实例输入包括:
第一查询的第一查询令牌,以及
任务属性,
所述训练实例输出包括:
第二查询的第二查询令牌;
其中,基于确定所述第一查询的过去提交、随后的所述第二查询的过去提交与所述预测任务相关联,以所述任务属性作为训练实例输入来生成所述训练实例;以及
基于生成的训练实例训练所述生成模型。
11.根据权利要求6至10中任一项所述的方法,包括:
基于所述经过训练的生成模型被基于与所述预测任务相关联的过去查询提交而被训练,来从多个经过训练的生成模型中选择经过训练的生成模型。
12.根据权利要求11所述的方法,还包括:
选择基于与所述预测任务相关联的所述过去查询提交而生成的训练实例;以及
基于选择的训练实例来训练所述生成模型。
13.根据权利要求12所述的方法,还包括:
确定一组两个或多个先前提交的查询与所述预测任务相关联;
基于所述组的所述先前提交的查询生成所述训练实例中的一个;以及
将所述训练实例中的所述一个标记为与所述预测任务相关联;
其中,选择基于与所述预测任务相关联的所述先前提交的查询而生成的所述训练实例包括:基于所述标记选择所述训练实例中的所述一个。
14.根据权利要求13所述的方法,其中,确定所述一组两个或多个先前提交的查询与所述预测任务相关联是基于在提交所述先前提交的查询之后执行的基于计算的动作。
15.根据权利要求1至5中任一项所述的方法,还包括:
基于经过训练的生成模型被基于具有与所述用户共同的一个或多个属性的一组用户的过去查询提交而训练,来从多个经过训练的生成模型中选择所述经过训练的生成模型,以及
将所述原始查询的令牌作为输入应用到选择的经过训练的生成模型。
16.根据前述权利要求中任一项所述的方法,其中,所述经过训练的生成模型是具有一个或多个存储层的深度神经网络模型。
17.根据前述权利要求中任一项所述的方法,其中,
生成所述查询的所述变体包括基于所述经过训练的生成模型的学习参数产生所述变体;
所述方法还包括:将附加输入应用于所述经过训练的生成模型,所述附加输入包括以下至少一项:所述原始查询的所述令牌、和所述原始查询的所述变体的变体令牌;
基于所述附加输入在所述经过训练的生成模型上生成所述原始查询的附加变体,其中,所述附加变体与所述变体和所述原始查询不同,并且其中,生成所述原始查询的所述附加变体包括基于所述经过训练的生成模型的所述学习参数来产生所述附加变体;
基于所述原始查询的所述附加变体被提交到所述搜索系统,确定对于所述原始查询的所述附加变体的附加变体响应;
基于以下中的至少一个来生成输出:所述变体响应、和所述附加变体响应;以及
响应于所述原始查询,提供所述输出以经由所述客户端设备呈现。
18.根据权利要求17所述的方法,其中,所述经过训练的生成模型被训练以生成多种类型的查询变体,并且其中,所述变体是所述多种类型的查询变体中的第一类型,并且所述附加变体是所述多种类型的查询变体中的第二类型。
19.根据权利要求18所述的方法,其中,所述第一类型是以下中的一个:等效查询、跟进查询、泛化查询、典范化查询、蕴涵查询、规范查询、澄清查询和语言翻译查询;并且其中,所述第二类型是以下中的另一个:等效查询、跟进查询、泛化查询、典范化查询、蕴涵查询、规范查询、澄清查询和语言翻译查询。
20.根据权利要求18所述的方法,其中,基于作为对所述经过训练的生成模型的所述输入的一部分来应用第一类型值,在所述经过训练的生成模型上作为所述第一类型生成所述变体,并且其中,基于作为对所述经过训练的生成模型的所述附加输入的一部分来应用第二类型值,在所述经过训练的生成模型上作为所述第二类型生成所述附加变体。
21.根据权利要求17所述的方法,其中,应用于所述经过训练的生成模型的所述附加输入包括所述原始查询的所述令牌。
22.根据权利要求21所述的方法,其中,所述附加输入还包括所述原始查询的所述变体的所述变体令牌。
23.根据权利要求21所述的方法,其中,所述附加输入还包括变体响应特征,所述变体响应特征是基于对于所述原始查询的所述变体的所述变体响应。
24.根据权利要求17所述的方法,还包括:
在生成所述附加变体之前,基于所述变体响应确定是提供所述变体响应作为输出还是生成所述附加变体;
其中,生成所述附加变体取决于确定生成所述附加变体来代替提供所述变体响应。
25.根据权利要求24所述的方法,其中,进一步基于所述原始查询的所述变体来确定是提供所述变体响应作为所述输出还是生成所述附加变体。
26.根据权利要求24所述的方法,其中,基于所述变体响应确定是提供所述变体响应作为所述输出还是生成所述附加变体包括:
将所述变体响应的特征作为控制器输入应用到经过训练的生成模型;以及
基于所述控制器输入在所述经过训练的控制模型上生成控制器输出;以及
基于所述控制器输出确定生成所述附加变体。
27.根据权利要求26所述的方法,其中,基于所述变体响应确定是提供所述变体响应作为所述输出还是生成所述附加变体还包括:
作为对所述经过训练的控制模型的所述输入的一部分,应用所述原始查询的所述变体。
28.根据权利要求26所述的方法,其中,基于基于奖励的强化学习来训练所述经过训练的控制模型,所述奖励是基于与所述搜索系统或附加搜索系统的过去交互而确定的。
29.根据权利要求26所述的方法,其中,所述经过训练的控制模型是与所述经过训练的生成模型分开但相组合地训练的。
30.根据权利要求26所述的方法,其中,所述经过训练的控制模型是前馈神经网络或递归神经网络。
31.根据权利要求17至26中任一项所述的方法,其中,所述输入还包括与所述用户相关联的一个或多个属性,并且其中,所述附加输入还包括所述一个或多个属性。
32.根据权利要求17至31中任一项所述的方法,还包括:
通过网络向所述搜索系统传输原始请求,所述原始请求包括所述原始查询;
响应于所述原始请求,从所述搜索系统接收原始响应;
其中,将所述原始查询的令牌作为输入应用于经过训练的生成模型并且生成所述变体是基于来自所述搜索系统的所述原始响应。
33.根据前述权利要求中任一项所述的方法,其中,所述经过训练的生成模型是具有存储层的深层神经网络模型。
34.根据前述权利要求中任一项所述的方法,还包括:
训练序列到序列神经机器翻译模型,以生成所述经过训练的生成模型。
35.一种系统,包括一个或多个处理器以及与一个或多个处理器可操作地耦合的存储器,所述处理器和所述存储器被布置为执行前述权利要求中的任一项所述的方法。
36.一种计算机程序,当由处理器执行该计算机程序时,所述计算机程序被布置为执行根据权利要求1至34中任一项所述的方法。
CN201880028212.7A 2017-04-29 2018-04-27 使用经过训练的生成模型生成查询变体 Active CN110574021B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311209572.6A CN117312494A (zh) 2017-04-29 2018-04-27 使用经过训练的生成模型生成查询变体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762492154P 2017-04-29 2017-04-29
US62/492,154 2017-04-29
PCT/US2018/029834 WO2018200979A1 (en) 2017-04-29 2018-04-27 Generating query variants using a trained generative model

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311209572.6A Division CN117312494A (zh) 2017-04-29 2018-04-27 使用经过训练的生成模型生成查询变体

Publications (2)

Publication Number Publication Date
CN110574021A true CN110574021A (zh) 2019-12-13
CN110574021B CN110574021B (zh) 2023-10-13

Family

ID=62165685

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201880028212.7A Active CN110574021B (zh) 2017-04-29 2018-04-27 使用经过训练的生成模型生成查询变体
CN202311209572.6A Pending CN117312494A (zh) 2017-04-29 2018-04-27 使用经过训练的生成模型生成查询变体

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202311209572.6A Pending CN117312494A (zh) 2017-04-29 2018-04-27 使用经过训练的生成模型生成查询变体

Country Status (6)

Country Link
US (2) US11663201B2 (zh)
EP (1) EP3602349A1 (zh)
JP (1) JP6918140B2 (zh)
KR (1) KR102313472B1 (zh)
CN (2) CN110574021B (zh)
WO (1) WO2018200979A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111222052A (zh) * 2020-04-24 2020-06-02 支付宝(杭州)信息技术有限公司 搜索方法、装置及电子设备
CN111611274A (zh) * 2020-05-28 2020-09-01 华中科技大学 一种数据库查询优化方法和系统

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11663413B2 (en) * 2017-03-13 2023-05-30 Nec Corporation Dialog apparatus, dialog system, and computer-readable recording medium
US11216437B2 (en) 2017-08-14 2022-01-04 Sisense Ltd. System and method for representing query elements in an artificial neural network
US11256985B2 (en) 2017-08-14 2022-02-22 Sisense Ltd. System and method for generating training sets for neural networks
WO2019035860A1 (en) 2017-08-14 2019-02-21 Sisense Ltd. SYSTEM AND METHOD FOR APPROXIMATION OF INTERROGATION RESULTS
CN107992585B (zh) * 2017-12-08 2020-09-18 北京百度网讯科技有限公司 通用标签挖掘方法、装置、服务器及介质
US11061811B2 (en) * 2017-12-15 2021-07-13 International Business Machines Corporation Optimizing software testing via group testing
US20190272465A1 (en) * 2018-03-01 2019-09-05 International Business Machines Corporation Reward estimation via state prediction using expert demonstrations
US11086911B2 (en) * 2018-07-31 2021-08-10 Wipro Limited Method and system for generating question variations to user input
US11004449B2 (en) * 2018-11-29 2021-05-11 International Business Machines Corporation Vocal utterance based item inventory actions
US11922323B2 (en) * 2019-01-17 2024-03-05 Salesforce, Inc. Meta-reinforcement learning gradient estimation with variance reduction
JP2021089446A (ja) * 2019-03-13 2021-06-10 ダイキン工業株式会社 モデルの選定方法および深層強化学習方法
US10878008B1 (en) * 2019-09-13 2020-12-29 Intuit Inc. User support with integrated conversational user interfaces and social question answering
US11782910B2 (en) 2019-11-15 2023-10-10 Samsung Electronics Co., Ltd. System and method for dynamic inference collaboration
US11521124B2 (en) 2019-12-13 2022-12-06 Robert Bosch Gmbh Reciprocating generative models
CN111241398B (zh) * 2020-01-10 2023-07-25 百度在线网络技术(北京)有限公司 数据预取方法、装置、电子设备及计算机可读存储介质
US11455306B2 (en) 2020-01-21 2022-09-27 Oracle International Corporation Query classification and processing using neural network based machine learning
US20210397610A1 (en) * 2020-06-23 2021-12-23 Soundhound, Inc. Machine learning system for digital assistants
EP3961434A1 (en) * 2020-08-27 2022-03-02 Samsung Electronics Co., Ltd. Method and apparatus for concept matching
US11704307B2 (en) * 2020-12-23 2023-07-18 Oracle International Corporation Intelligent query editor using neural network based machine learning
KR102589074B1 (ko) * 2021-05-17 2023-10-12 삼성생명보험주식회사 챗봇 운영 방법 및 장치

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070011154A1 (en) * 2005-04-11 2007-01-11 Textdigger, Inc. System and method for searching for a query
US20080005069A1 (en) * 2006-06-28 2008-01-03 Microsoft Corporation Entity-specific search model
US20100023495A1 (en) * 2007-12-21 2010-01-28 Yahoo! Inc. System for suggesting keywords based on mobile specific attributes
CN102521335A (zh) * 2010-11-29 2012-06-27 微软公司 知晓时间-位置的移动查询建议
US20120233140A1 (en) * 2011-03-09 2012-09-13 Microsoft Corporation Context-aware query alteration
US20120269116A1 (en) * 2011-04-25 2012-10-25 Bo Xing Context-aware mobile search based on user activities
US20140280107A1 (en) * 2013-03-15 2014-09-18 Google Inc. Search query suggestions based on personal information
CN106471497A (zh) * 2014-10-14 2017-03-01 谷歌公司 使用上下文的辅助浏览

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617205B2 (en) * 2005-03-30 2009-11-10 Google Inc. Estimating confidence for query revision models
US20060074883A1 (en) * 2004-10-05 2006-04-06 Microsoft Corporation Systems, methods, and interfaces for providing personalized search and information access
US7584177B2 (en) * 2005-06-29 2009-09-01 Google Inc. Determination of a desired repository
US7822699B2 (en) * 2005-11-30 2010-10-26 Microsoft Corporation Adaptive semantic reasoning engine
US7962479B2 (en) * 2005-11-09 2011-06-14 Yahoo! Inc. System and method for generating substitutable queries
US9110975B1 (en) * 2006-11-02 2015-08-18 Google Inc. Search result inputs using variant generalized queries
US7984004B2 (en) * 2008-01-17 2011-07-19 Microsoft Corporation Query suggestion generation
US10726083B2 (en) * 2010-10-30 2020-07-28 International Business Machines Corporation Search query transformations
US8583675B1 (en) * 2009-08-28 2013-11-12 Google Inc. Providing result-based query suggestions
US8762374B1 (en) * 2010-03-08 2014-06-24 Emc Corporation Task driven context-aware search
US8326861B1 (en) * 2010-06-23 2012-12-04 Google Inc. Personalized term importance evaluation in queries
CN105956116B (zh) * 2010-10-30 2020-02-28 国际商业机器公司 用于处理将要显示的内容的方法和系统
US8521672B2 (en) * 2010-11-22 2013-08-27 Microsoft Corporation Dependency-based query expansion alteration candidate scoring
US8626681B1 (en) * 2011-01-04 2014-01-07 Google Inc. Training a probabilistic spelling checker from structured data
US20120191745A1 (en) * 2011-01-24 2012-07-26 Yahoo!, Inc. Synthesized Suggestions for Web-Search Queries
US10984337B2 (en) * 2012-02-29 2021-04-20 Microsoft Technology Licensing, Llc Context-based search query formation
US8984012B2 (en) * 2012-06-20 2015-03-17 Microsoft Technology Licensing, Llc Self-tuning alterations framework
US9141916B1 (en) * 2012-06-29 2015-09-22 Google Inc. Using embedding functions with a deep network
US9772994B2 (en) * 2013-07-25 2017-09-26 Intel Corporation Self-learning statistical natural language processing for automatic production of virtual personal assistants
US9535960B2 (en) * 2014-04-14 2017-01-03 Microsoft Corporation Context-sensitive search using a deep learning model
US9836554B2 (en) * 2014-04-30 2017-12-05 Excalibur Ip, Llc Method and system for providing query suggestions including entities
US9910930B2 (en) * 2014-12-31 2018-03-06 TCL Research America Inc. Scalable user intent mining using a multimodal restricted boltzmann machine
US10909329B2 (en) 2015-05-21 2021-02-02 Baidu Usa Llc Multilingual image question answering
US11899728B2 (en) * 2015-10-05 2024-02-13 Yahoo Assets Llc Methods, systems and techniques for ranking personalized and generic search query suggestions
US10055500B2 (en) * 2015-10-27 2018-08-21 International Business Machines Corporation Optimizing searches
US20170178048A1 (en) * 2015-12-22 2017-06-22 Microsoft Technology Licensing, Llc Identification and presentation of tasks based on predicted periods of user availability
US10769547B2 (en) * 2015-12-30 2020-09-08 Oath Inc. Mobile searches utilizing a query-goal-mission structure
WO2018097091A1 (ja) 2016-11-25 2018-05-31 日本電信電話株式会社 モデル作成装置、テキスト検索装置、モデル作成方法、テキスト検索方法、データ構造、及びプログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070011154A1 (en) * 2005-04-11 2007-01-11 Textdigger, Inc. System and method for searching for a query
US20080005069A1 (en) * 2006-06-28 2008-01-03 Microsoft Corporation Entity-specific search model
US20100023495A1 (en) * 2007-12-21 2010-01-28 Yahoo! Inc. System for suggesting keywords based on mobile specific attributes
CN102521335A (zh) * 2010-11-29 2012-06-27 微软公司 知晓时间-位置的移动查询建议
US20120233140A1 (en) * 2011-03-09 2012-09-13 Microsoft Corporation Context-aware query alteration
US20120269116A1 (en) * 2011-04-25 2012-10-25 Bo Xing Context-aware mobile search based on user activities
US20140280107A1 (en) * 2013-03-15 2014-09-18 Google Inc. Search query suggestions based on personal information
CN106471497A (zh) * 2014-10-14 2017-03-01 谷歌公司 使用上下文的辅助浏览

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
大塚淳史等: "答えを先読みする文書検索手法の提案", 《DEIM FORUM 2017》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111222052A (zh) * 2020-04-24 2020-06-02 支付宝(杭州)信息技术有限公司 搜索方法、装置及电子设备
CN111611274A (zh) * 2020-05-28 2020-09-01 华中科技大学 一种数据库查询优化方法和系统

Also Published As

Publication number Publication date
KR20200003132A (ko) 2020-01-08
CN110574021B (zh) 2023-10-13
WO2018200979A1 (en) 2018-11-01
US20230281193A1 (en) 2023-09-07
JP6918140B2 (ja) 2021-08-11
EP3602349A1 (en) 2020-02-05
JP2020518912A (ja) 2020-06-25
US20200142888A1 (en) 2020-05-07
CN117312494A (zh) 2023-12-29
US11663201B2 (en) 2023-05-30
KR102313472B1 (ko) 2021-10-15

Similar Documents

Publication Publication Date Title
CN110574021B (zh) 使用经过训练的生成模型生成查询变体
JP6854921B2 (ja) タスク固有のポリシーおよび共有ポリシーをもつマルチタスクニューラルネットワークシステム
EP3696737B1 (en) Training action selection neural networks
US10424302B2 (en) Turn-based reinforcement learning for dialog management
US20220043810A1 (en) Reinforcement learning techniques to improve searching and/or to conserve computational and network resources
US10936963B2 (en) Systems and methods for content response prediction
US9805126B2 (en) Context-based ranking of search results
US20180232434A1 (en) Proactive and retrospective joint weight attribution in a streaming environment
US12020706B2 (en) Generating automated assistant responses and/or actions directly from dialog history and resources
US10922611B2 (en) Neural network optimizer search
CN109885842A (zh) 处理文本神经网络
US20210034973A1 (en) Training neural networks using learned adaptive learning rates
EP3831636B1 (en) Method for regulating user emotion, device, and readable storage medium
CN111652378A (zh) 学习来选择类别特征的词汇
JP2018185565A (ja) 対話システム、対話方法及び対話プログラム
US20210312329A1 (en) Reinforcement learning for website ergonomics
US7533121B2 (en) Executing pages of a guided process application in parallel
CN113806512A (zh) 机器人对话模型的训练方法、装置、设备及存储介质
AU2023201871A1 (en) Automated assistant for generating, in response to a request from a user, application input content using application data from other sources
US11810022B2 (en) Contact center call volume prediction
WO2024062964A1 (ja) プロジェクト遂行支援装置、方法、及びプログラム
US11188876B1 (en) Matching method of providing personalized recommendations and a system thereof
US12032964B2 (en) Speculative execution of dataflow program nodes
US20230135703A1 (en) Implementing machine learning in a low latency environment
Yin Policy learning for task-oriented dialogue systems via reinforcement learning techniques

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant