嵌入:互動式練習

以下小工具採用 TensorFlow 的嵌入呈現工具做為基礎,將 10,000 word2vec 靜態向量壓縮成一個 3D 空間。壓縮後的維度可能會造成誤導,因為在原始高維度空間中彼此相距最近的點,在 3D 投影中可能會相隔較遠的距離。距離最相近的「n」點會以紫色醒目顯示,使用者所選的「n」會標示為 Isolate __ points。右側欄會顯示距離最近的鄰點。

在這些實驗中,您將使用上述小工具的 word2vec 嵌入。

任務 1

請試著找出 20 個與下列項目距離最近的鄰點,並查看其群組屬於雲端中的哪個部分。

  • iiithirdthree
  • taoway
  • orangeyellowjuice

您從結果中發現了什麼?

按這裡可查看答案

雖然 iiithirdthree 在語意上相似,但它們會分別出現在不同的文字語境中,且在這個嵌入空間中不會靠近彼此。在 word2vec 中,iii 距離 iv 較近,距離 third 較遠。

同樣地,雖然 way 是由 tao 直接轉譯而來,在使用的資料集中,這些字詞常常會與完全不同的字詞群組一起出現,因此這兩個向量會相距甚遠。

orange 最相近的前幾個鄰點為顏色,但與 orange 的水果涵義相關的 juicepeel,則分別是排名第 14 和第 18 相近的鄰點。同時,取奧倫治親王涵義的 prince 則排名第 17 相近。在投影中,與 orange 最相近的字詞為 yellow 和其他顏色,而與 juice 最相近的字詞並不包含 orange

任務 2

請試著找出訓練資料的部分特性。比方說,找出距離下列項目最近的 100 個鄰點,並查看其群組屬於雲端中的哪部分:

  • bostonparistokyodelhimoscowseoul (留意題目中的陷阱)
  • janesarahjohnpeterrosajuan

按這裡可查看答案

boston 有許多鄰點是美國的其他城市,而 paris 有許多鄰點是歐洲的其他城市。tokyodelhi 看來沒有相似結果:一個的結果與全球旅遊中樞城市相關聯,另一個的結果則與 india 和其他相關字詞相關聯。seoul 則完全未出現在壓縮截取後的字詞向量組合中。

綜上所述,這個資料集有很多文件與美國境內地理位置相關,與歐洲境內地理位置有關的文件也有一些,但與其他國家/地區的詳細資訊則有限。

同樣地,這個資料集看起來包含很多男性英文名字、女性英文名字也有一些,而其他語言的名字則少很多。請注意,資料中包含迪士尼漫畫角色史高治麥克達克的創作者暨繪師唐羅薩,「史高治」和「麥克達克」很有可能因此成為「羅薩」最相近的鄰點。

word2vec 提供的預先訓練字詞向量,實際上是使用 2013 年以前的 Google 新聞報導進行訓練。

任務 3

嵌入並不僅限用於字詞,圖片、音訊和其他資料也可以嵌入。在此任務中,請按照下列步驟操作:

  1. 開啟 TensorFlow 的嵌入呈現工具
  2. 在標題為「Data」(資料) 的左側欄中,選擇「Mnist with images」(使用圖片執行 MNIST),系統會隨即顯示手寫數字的 MNIST 資料庫嵌入投影。
  3. 點選停止輪播,並選擇單張圖片,然後視需要加以縮放。
  4. 查看右側欄顯示的最相近鄰點,有什麼意外的發現嗎?
  • 為何部分與 7 距離最近的鄰點是 1?而部分與 8 距離最近的鄰點則是 9
  • 位於投影空間邊緣及中央的圖片是否有任何不同之處?

請注意,建立嵌入的模型會接收圖片資料 (即像素),並為每張圖片選擇數值向量表示法。模型不會自動推測手寫數字圖片與數字本身的關聯。

按這裡可查看答案

由於形狀相似,部分較細長的 7 向量表示法會比較靠近手寫 1 的向量。相同的情況也會發生在某些 89,甚至是部分的 53

投影空間以外的手寫數字,較能清楚辨識為九個阿拉伯數字之一,且不易與其他數字混淆。