谷歌如何使用语义解释解释歧义查询

已发表: 2019-08-15

歧义查询和语义解释

当有人在 Google 提出一个模棱两可的查询时,它会如何回应该查询? 它可以从尝试理解查询背后的意图开始。 他们来解释输入那个模棱两可的查询的人可能的意思并找到正确的词。 这可能是一种规范的查询形式,用于尝试发现可能满足搜索者的答案。 这是我最近看到的第二项使用相同示例查询的专利,“哈利波特有多长?”

我在 Twitter 上提到了这个例子,并收到了很多关于如何回答的想法:

我最近写了一篇关于 Google 如何回答查询中的模糊问题的帖子? 它还使用了该示例查询。 谷歌获得了一项专利,该专利涵盖了一周后授予的专利中的一些相同领域,并提供了更丰富、更详细的答案。

我在这篇文章中写的专利专门是关于评估搜索查询的不同语义解释。 以下是为诸如“哈利波特多久”之类的模棱两可的查询提供响应时可能采取的步骤:

  1. 一种技术将包括确定特定搜索查询的一个或多个语义解释。 这些语义解释中的每一个都与至少一个规范查询相关联。 对于每个语义解释,基于原始搜索查询和相关联的规范查询生成修改后的搜索查询
  2. 然后获得特定搜索查询和修改后的搜索查询的搜索结果
  3. 将每个修改后的搜索查询的搜索结果与原始搜索查询的搜索结果进行比较,以评估与每个修改后的搜索查询相关联的语义解释
  4. 例如,可以对每个语义解释进行排序或验证
  5. 可以比较原始歧义查询的不同语义解释,并且可以基于比较选择原始搜索查询的语义解释。

歧义查询的不同版本可以相互比较

为了获得可以重写的不同版本,对原始查询执行搜索。

可以查看这些以查看是否可以确定表示与其关联的候选意图的语义解释。

可以比较结果之间的相似程度

可以在以下位置找到这项解决模糊查询的专利:

评估搜索查询的语义解释
发明人:Ashish Venugopal、Jakob D. Uszkoreit、John Blitzer 和 Edward Everett Anderson
受让人:谷歌有限责任公司
美国专利:10,353,964
授予日期:2019 年 7 月 16 日
提交时间:2015 年 3 月 11 日

抽象的

本公开涉及评估搜索查询的不同语义解释。 一个示例方法包括为提交给搜索引擎的特定搜索查询获取一组搜索结果; 为特定搜索查询获得一组语义解释; 为集合的每个语义解释获取规范的搜索查询; 至少部分地基于特定搜索查询和用于语义解释的规范搜索查询生成修改的搜索查询; 为语义解释的修改后的搜索查询获取一组搜索结果; 并且对于集合的每个语义解释,确定(i)用于语义解释的修改的搜索查询的搜索结果集合和(ii)特定搜索查询的搜索结果集合之间的相似度。

识别模糊查询背后的意图

我们被告知“为了提高搜索结果质量,搜索引擎可能会解释收到的搜索查询,以辨别与每个查询相关的可能意图。” 这意味着当搜索者输入诸如“哈利波特有多长?”之类的内容时,他们最有可能在寻找什么。 进入搜索框。

用模糊查询确定意图的困难

该专利中也提到了另一个示例,该示例也包含在我撰写的涉及模糊查询的专利中:

例如,陈述“华盛顿年龄”的查询可以指代乔治华盛顿总统、演员丹泽尔华盛顿、华盛顿州或华盛顿特区。确定与此类含糊不清的查询相关联的用户意图可能具有挑战性。

华盛顿时代的模糊查询结果

Google 决定我最有可能对乔治华盛顿感兴趣。

该专利告诉我们,它是关于提供“评估特定搜索查询的不同解释的技术”。

歧义查询的语义解释

模糊查询专利流程图

该专利背后的过程始于与至少一个规范查询相关联的语义解释。

1.对于这些语义解释中的每一个,基于原始搜索查询和相关联的规范查询生成修改的搜索查询。

在示例查询“哈利波特有多长时间”中,术语“哈利波特”含糊不清,可能指代一个或多个特定主题,例如:

  • 哈利波特系列七本书中的任何一本
  • 书籍的任何电影改编
  • 载一程
  • 主题公园
  • 有声读物
  • 卡通片
  • 等等。

该查询也可以指哈利波特角色本身。

根据搜索者打算在查询中引用的主题,可以应用不同的解释,甚至几种不同的解释。

  • 书——搜索者可能想知道书中的字数或页数
  • 电影 - 搜索可能想知道电影的运行时间
  • 虚构人物——搜索者可能想知道他的身高

最初的模棱两可的问题:哈利波特多久了?
语义解读:哈利波特这本书有多长?
语义解读:电影哈利波特有多长?
语义解读:哈利波特这个角色有多高?
语义解读:哈利波特这个角色多大了?

2.然后针对原始模糊搜索查询和修改的(解释的)搜索查询中的每一个获得搜索结果。
3.将每个修改后的搜索查询的搜索结果与原始搜索查询的搜索结果进行比较,以评估与每个修改后的搜索查询相关联的语义解释。
4. 例如,可以对每个语义解释进行排序或验证。 以这种方式,原始搜索查询的不同语义解释可以相互比较。 在某些情况下,可以基于比较选择原始搜索查询的语义解释。

遵循专利流程的优势

1. 使用搜索结果来评估不同的语义解释,可以查看其他数据源,例如:

  • 点击数据
  • 用户特定数据
  • 其他在生成搜索结果时使用的

2.通过评估查询的不同语义解释,可以预测查询的用户意图,从而减少查询中的任何歧义对识别的搜索结果的质量的影响。

3. 为每个语义解释确定的置信度分数,表示“相关解释与特定查询的用户意图相匹配的可能性”。

还可以定义置信阈值以指示在将搜索结果返回给用户时要考虑的语义解释所必需的最小置信分数。 由于谷歌有兴趣向搜索者返回高质量的结果,即使他们可能在搜索框中输入一个看起来不明确的查询,而且看起来合理的答案也不错。 专利告诉我们,这个置信度分数可能设置在一个很高的阈值上:

例如,置信阈值可以指定在返回搜索结果时应该考虑针对特定搜索查询的置信分数超过 90 的语义解释。

语义解释的置信度分数可以用于决定哪一个语义解释可以与特定查询一起使用。 例如,“哈利·帕特 (Harry Patter) 有多长”可能会被打分,以告诉我们询问其中一本哈利·波特书在 Pages 中有多长的版本,或者一部哈利·波特电影可能有多长,而不是问多高或多长。哈利波特在其中一本书中的年龄。

规范查询和歧义查询

这是我第二次看到谷歌的文档提到规范查询。 第一次是在论文 Biperpedia: An Ontology for Search Applications 中,它似乎在告诉我们它可以保存在查询日志中看到不同查询词的格式(以及常见的拼写错误)。 本专利中提到的规范查询略有不同。 我喜欢这种对规范查询的解释:

规范查询可以是传达与特定语义解释相关联的用户意图的查询

它可以是“用于从原始特定查询生成修改后的搜索查询的结构或模板”,也可以“与特定查询中的信息结合以生成修改后的搜索查询”

我们给出了一些规范查询的示例,用于在专利中提供修改后的查询:

例如,规范查询可能是一个不完整的查询,例如“这本书有多少页? 。”

给定来自规范查询的模板,我们可以看到如何生成修改后的查询:

可以使用特定查询的部分从规范查询生成修改的搜索查询。 例如,给定先前的规范查询和特定查询“哈利波特有多长”,可以生成修改的搜索查询“哈利波特的书有多少页”。

修改可能涉及重写原始查询以匹配规范查询:

例如,可以将给定的查询“哈利波特的书有多长”重新格式化为“哈利波特的书有多长”以匹配规范的查询“书有多长” 。”

实体和重写歧义查询

在一些实现中,为语义解释生成修改的搜索查询包括用标识包括在语义解释的规范搜索查询中的特定实体的替代子串替换标识特定实体的特定搜索查询中包括的子串。

例如,特定查询“哈利波特有多长时间”可能具有询问一本书页数的语义解释。

在查询中包含一个实体似乎是确保查询更加确定的一种方式。 该专利告诉我们,使用原始查询中的实体绝对是此过程的一部分:

与此语义解释相关联的规范查询可能是“ 书。”

因此,通过将“哈利波特”标识为特定实体,可以通过用从规范搜索查询导出的子字符串“哈利波特书”替换特定搜索查询中的子字符串“哈利波特”来生成修改的搜索查询。

使用相似性来决定修改后的查询是否适合模糊查询

用于做出此决定的相似性可能基于比较模糊查询和修改后的查询的搜索结果以查看:

1. 与特定搜索查询相关联的特定关键字在修改后的搜索查询结果中的出现频率以及特定搜索查询在搜索结果中的出现频率。

2. 相似度基于将修改后的搜索查询结果的顺序与特定搜索查询的搜索结果的顺序进行比较。

3. 可以考虑其他数据,例如

  • 用户点击率
  • 网站流量数据
  • 其他数据

外卖

谷歌可能会为模棱两可的查询提供不同的答案,例如“哈利波特多久了?” 看看人们更倾向于哪些结果而不是其他结果。 听起来像显示某些结果而不是其他结果的决定可能基于对修改后的查询的初始评估和与这些相关的置信度分数。 但是当有人进行“哈利波特有多长”类型的查询时,他们更有可能询问电影的长度或其中一本哈利波特的书可能有多少页,而不是哈利有多高波特是或哈利波特多大了。

我们可以看到 Google 如何试图理解模糊查询背后的意图。 谷歌是否也可能试图理解我们可能不会认为模棱两可的查询背后的意图,例如在午餐时间搜索“披萨”。 谷歌似乎明白这是对附近地点的查询以找到切片,而不是比萨的历史。

Pizza 的模糊查询

您可以将其解释为我非常自信地想要吃午饭的意图。