在使用搜索引擎的時候,引號、星號、加減號等都能幫我們更快地搜到自己想要的結果,那你有沒有試過在搜索詞後邊加個「VS」呢?近日,一位 medium 博主就介紹了「搜索詞」+「VS」的妙用。利用該技巧創建的 ego graph 能幫你學習下棋、購買寵物,甚至是追劇。
你是否嘗試過在搜索引擎裏輸入一個關鍵詞,然後再輸入「vs」,看看它能給你自動匹配出什麼東西?
事實證明這還挺好玩的,而且還算得上是一種實用技巧,能幫你快速找到你感興趣的事物的其它對應選項或替代選項。
不僅如此,如果你想要了解一項技術、一款產品或一個概念,這個技巧也能為你提供很有效的幫助。原因有三點:
學習新事物的最好方法是瞭解它與你已經很熟悉的事物的異同點。當在搜索引擎返回的列表中看到你熟悉的事物時,你心中立馬就會浮現出「原來如此」感覺。
操作很簡單,幾秒鐘就搞定了。
在你輸入「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?≷=us&hl;=en&q;=
其中,output=toolbar 會以 XML 格式返回響應結果,gl=us 設定的是國家或地區,hl=en 設定了語言,q= 是你想要自動填充的關鍵詞。
gl 和 hl 可以分別使用標準的兩字母國家地區代碼或語言代碼。
那就上手試試看吧。
首先選擇一個初始關鍵詞,我們這裏選擇 tensorflow。
首先將 q=tensorflow%20vs%20 放入到以上 URL 的對應位置:
http://suggestqueries.google.com/complete/search?&output;=toolbar≷=us&hl;=en&q;=tensorflow%20vs%20
然後訪問它。
這時我們得到了返回的 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,原來如此好用!