搜索关键词加个「VS」有何用?学下棋、追剧都不在话下

2020-07-09 15:06:22 浏览数 (1)

选自Medium

作者:David Foster

机器之心编译

参与:Panda、张倩

在使用搜索引擎的时候,引号、星号、加减号等都能帮我们更快地搜到自己想要的结果,那你有没有试过在搜索词后边加个「VS」呢?近日,一位 medium 博主就介绍了「搜索词」 「VS」的妙用。利用该技巧创建的 ego graph 能帮你学习下棋、购买宠物,甚至是追剧。

你是否尝试过在搜索引擎里输入一个关键词,然后再输入「vs」,看看它能给你自动匹配出什么东西?

事实证明这还挺好玩的,而且还算得上是一种实用技巧,能帮你快速找到你感兴趣的事物的其它对应选项或替代选项。

不仅如此,如果你想要了解一项技术、一款产品或一个概念,这个技巧也能为你提供很有效的帮助。原因有三点:

  1. 学习新事物的最好方法是了解它与你已经很熟悉的事物的异同点。当在搜索引擎返回的列表中看到你熟悉的事物时,你心中立马就会浮现出「原来如此」感觉。
  2. 操作很简单,几秒钟就搞定了。
  3. 在你输入「vs」之后,搜索引擎会认为你想对「vs」前后的事物进行直接比较。你也可以使用「or」,但这样表达的态度远不如 vs 坚决,此时谷歌返回的可选项就可能脱离我们想要的范围,如下所示:

「bert or」返回的结果大都和儿童节目《芝麻街》有关,而「bert vs」返回的结果就是和 BERT 模型相关的了。

在这一观察的基础上,如果将谷歌自动填充的关键词再继续使用「vs」来进一步执行「vs」搜索并不断继续,就能得到一个由关键词连接而成的图网络——自我中心图(ego graph):

BERT 的自我中心图——半径 25

这一技巧可以很好地用于创建技术、产品或想法之间的心理映射图,并让我们了解它们之间的相关关系。

你也可以自己动手构建这样的图网络。

vs 技巧自动化

你可以使用下面这个 URL 来获取 XML 格式的自动填充建议。这个看起来并不很正式,所以最好别尝试向其发送大量查询。

  • http://suggestqueries.google.com/complete/search&output=toolbar?&gl=us&hl=en&q=<search_term>

其中,output=toolbar 会以 XML 格式返回响应结果,gl=us 设定的是国家或地区,hl=en 设定了语言,q=<search_term> 是你想要自动填充的关键词。

gl 和 hl 可以分别使用标准的两字母国家地区代码或语言代码。

那就上手试试看吧。

首先选择一个初始关键词,我们这里选择 tensorflow。

首先将 q=tensorflow vs 放入到以上 URL 的对应位置:

  • http://suggestqueries.google.com/complete/search?&output=toolbar&gl=us&hl=en&q=tensorflow vs

然后访问它。

这时我们得到了返回的 XML。现在我们需要通过一些标准来判断是否应当保留各个自动填充建议。

这里使用的标准是:

  • 自动填充的关键词不应包含我们输入的搜索关键词,即 tensorflow;
  • 自动填充的关键词不应重复,比如 pytorch;
  • 不应包含有多个 vs 的选项。

筛选之后,我们得到 5 个合适的关键词,然后丢掉其它的。

这只是清理返回建议列表的一种方法,也可以包含仅有一个词的返回项。但究竟采用什么方法取决于具体用例。

使用这套标准后,我们可以得到以下 5 个经过加权的连接:

然后继续。把这 5 个关键词加上「vs」并再次通过以上 URL 搜索自动建议,同样在过滤后保存前 5 个连接。

如此不断继续,扩展 target 列中尚未被探索的词。

这样操作的次数足够多之后,我们可以得到一个包含加权边的表格,并且非常适合使用图来可视化。

自我中心图

前面我们已经提到了自我中心图(ego graph)。下面是 tensorflow 的自我中心图。这里的自我中心图是指所有节点与 tensorflow 节点的距离小于特定值的图。

不过,这里的距离是指什么?

首先我们看看这个图:

tensorflow 的自我中心图——半径 22

我们已经知道从关键词 A 到关键词 B 的边的权重,根据自动建议列表取值 1 到 5。为了得到无向图,我们只需要将两个方向(A→B 和 B→A)的权重加起来即可,这时权重范围为 1 到 10。

那么,每条边的距离就简单地等于「11 - 权重」。选择 11 的原因是边的最大权重为 10,此时两个关键词都出现在彼此的自动建议列表最上方。基于这一定义,关键词之间的最小距离为 1。每个节点的大小和颜色都由边的数量决定,这表示其出现在自动建议列表中的次数。因此,节点越大,这个概念就越重要。

上面的自我中心图的半径为 22,这表示以 tensorflow 为起点,抵达任何一个节点的距离不超过 22。如果将半径增大至 50,情况又如何呢?

tensorflow 的自我中心图——半径 50

很不错吧?这个图包含了 AI 工程师需要了解的大多数已有技术,而且按逻辑进行了聚类。

而这一切都始于一个关键词。

怎样画出这样好看的图?

这要用到一个在线工具 Flourish:https://flourish.studio

它的 GUI 简洁易用,能让你轻松构建图网络与其它图表。值得一试。

如何构建给定半径的自我中心图?

这要用到一个 Python 软件包:networkx,其中有一个很好用的函数:ego_graph。你需要指定半径作为该函数的输入参数。

  • ego_grap:hhttps://gist.github.com/davidADSP/35648e480685c6b57ce1efad50170c26#file-ego_graph-py

这里还用到了另一个函数 k_edge_subgraphs 来移除一些偏离主题的关键词。

举个例子,storm 是一个开源的分布式实时计算系统,但同时也是漫威宇宙的一个角色(暴风女)。如果在谷歌搜索框里输入「storm vs」,你猜会出现什么结果?

k_edge_subgraphs 函数可以发现无法被少于或等于 k 次切割分开的节点分组——一般来说 k=2 或 k=3 效果较好。仅保留 tensorflow 所在的子图就能确保我们接近目标,不会偏离到幻想世界去。

使用自我中心图来组织日常生活

不看 TensorFlow 的例子了,我们来看看另一个自我中心图:国际象棋的西班牙开局。

学习国际象棋开局!

这一技巧能让你很快得到最常用开局思路的图,以便你组织研究。

好了,现在来点好玩的。

吃得更健康!

羽衣甘蓝(kale)很健康,但你可能想要换个口味?那就用「kale vs」找到 kale 的自我中心图寻找新的健康食材吧。

kale 的自我中心图——半径 25

想买只宠物狗!

但狗狗品种那么多,时间有限,选哪个好呢?

寻找真爱!

宠物狗和甘蓝还不够,还想找个伴侣?这里有个约会应用 coffee meets bagel 的自我中心图。

你甚至还可以用这个技巧来找可能爱看的剧,比如下面这个英剧《The Office(办公室)》的自我中心图。

谷歌 vs,原来如此好用!

原文链接:https://medium.com/applied-data-science/the-google-vs-trick-618c8fd5359f

0 人点赞