鄧侃:谷歌Talk to books引爆搜索方式革命

昨天,新智元介紹了谷歌的全新搜索工具「Talk to Books」,基於自然語言文本理解,用戶能夠憑語義而非關鍵詞來實現搜索功能。谷歌搜索的「AI化」令人眼前一亮,谷歌是否即將從當今的搜索引擎,革命性地進化到了回答引擎?本文作者,大數醫達創始人、CMU 博士鄧侃對谷歌的這個新搜索工具的技術原理進行了解讀。

今天讀到一則新聞,「谷歌發大招:搜索全面AI化,不用關鍵詞就能輕鬆撩書」。

這篇新聞的內容,來源於谷歌的官方博客前天(2018/04/13)發的一篇博文 [2],題目是 「Introducing Semantic Experiences with Talk to Books and Semantris」,內容是介紹兩個新產品。作者是谷歌未來學家 Ray Kurzweil 和一位產品經理。

介紹產品 Talk to Books 時,作者放了一張產品截圖。

當用戶提問 「What is fun about computer programming?」 Talk to Books 自動回答,

「... has been beneficial on many levels. First, computer programming provides a palette with a virtually unlimited potential for creative expression; the thrill of bringing a useful porgram to life rivals the thrill of hearning a new composition being performed for the fist time. Second, a knowledge of computer ...」

from Arduino for Musicians: A complete Guide to Arduino and Teensy Microcontrollers by Brent Edstrom.

這個例子很震撼,幾個原因:

1. 從搜索到回答:

谷歌當今的搜索結果,只是給出文章的鏈接。而 Talk to Books 的搜索結果,雖然是書的摘要,但是摘要摘得如此精當,幾乎是問題的回答。這篇博文是不是在暗示,谷歌即將從當今的搜索引擎,革命性地進化到了回答引擎

2. 語義理解:

長期擔任過谷歌搜索業務主管,Amit Singhal,在其任內,曾經親自領銜主持谷歌知識圖譜的實現。在介紹知識圖譜的價值時,Amit Singhal 說,谷歌將不再搜索關鍵詞表面上的字元串 「string」,而將直接搜索關鍵詞的內涵語義 「thing」。

在 Talk to Books 的這個例子中,提問中包含 「fun」,而答案中與之呼應的詞,包括 「beneficial」、「palette」、「thrill」 等等。注意,是呼應,是相關詞,但不是同義詞近義詞。

如何迅速找到同義詞、近義詞、相關詞?不難猜測,一定與詞向量有關。如果僅僅用詞向量,取代文字表述的辭彙,那麼基於詞向量的搜索引擎,最多是模糊匹配的搜索引擎,但是並非是截圖暗示的那種回答引擎。

3. 文章張量樹:

Talk to Books 先把提問的整個語句,用論文 [3] 的演算法,翻譯成一個定長的數值張量,然後用論文 [4] 的演算法,在各種書籍的各個章節段落語句中,尋找答案。

論文 [4] 的具體做法是,先把每一篇文章中的每一個辭彙,翻譯成辭彙張量。然後從每一個語句的一連串辭彙張量中,提煉出語句張量。再然後把每一個段落的一連串語句張量中,提煉出段落張量。最後從段落張量中,提煉出整個文章的文章張量。

這樣,每篇文章,就構成一個樹狀的張量集合。根節點是整個文章的中心思想的文章張量,上層中間節點是段落張量,下層中間節點是語句張量,每個葉子節點是辭彙張量。

4. 問答匹配:

輸入一個提問語句,Talk to Books 先把提問語句,翻譯成一個定長的數值張量,然後在眾多文章的張量森林中,尋找最貼切的辭彙張量,也就是某棵樹的葉子節點。如果不行,就尋找最貼切的語句張量,也就是某棵樹的下層中間節點。如果不行,就尋找最貼切的段落張量,也就是某棵樹的上層中間節點。如果還不行,就尋找最貼切的文章張量,也就是某棵樹的根節點。

難題在於,當文章數量很多,一棵樹一棵樹地逐個找一遍,計算量太大。所以需要一個辦法,快速地從提問匹配到回答。

谷歌博文引薦了論文 [4],它用分類器,把提問匹配到數量固定的回答。分類器的辦法,似乎不太可行,原因有二:

a. 當回答的數量非常龐大時,分類器勢必非常複雜。分類器越複雜,越需要的訓練數據就越多。收集海量的訓練數據,幾乎是無法辦到的事情。

b. 無論是書籍還是網文,數量每天都在快速增多。分類類目數量增多,分類器的結構就必須隨之改變,就必須重新訓練分類器。

分類器似乎不可行,倒排索引是否可行呢?原理上似乎可行,但是佔用的存儲空間會非常龐大,因為倒排索引的 term,已經不再是每篇文章中出現的所有辭彙了,而是,辭彙張量 + 語句張量 + 段落張量 + 文章張量,組合爆炸的節奏。

除了索引以外,另外一個匹配提問和回答的辦法,是用定址函數,類似於 Amazon Dynamo 那樣的 Hash 定址函數 [5]。但是論文 [4] 中沒有提及。

5. 答案生成:

答案的生成,有兩種方式,一個是摘要,如前所述。另外一個是把諸多段落語句,通過推理,串連在一起,更智能地生成答案。

譬如提問是 「孕婦是否能吃海鮮」,推理的辦法是,先找到孕婦子宮中,羊水最重要的營養成分是什麼。然後查找破壞羊水的營養成分,會有哪些物質。再然後檢查海鮮中,是否富含這些破壞物質。

推理的辦法,往往需要把跨段落,甚至跨文章的諸多語句,按邏輯順序,串連在一起,組合成答案。看樣子這次 Talk to Books,並沒有涉及推理的難題。

總之,Talk to Books 的截圖很震撼,但是兩篇論文,似乎並沒有滿足我們所有的好奇心。

# 參考文獻:

1. 谷歌發大招:搜索全面AI化,不用關鍵詞就能輕鬆「撩書」

2. Introducing Semantic Experiences with Talk to Books and Semantris

research.googleblog.com

3. Universal Sentence Encoder arxiv.org/abs/1803.1117

4. Efficient Natural Language Response for Smart Reply arxiv.org/abs/1705.0065

5. Dynamo: amazons highly available key-value store s3.amazonaws.com/AllThi

(本文首發於新智元微信公眾號:AI_era,歡迎關注!)


推薦閱讀:

如何評價google新發布的tensorflow的新版本1.5.0?
Google+ 目前(2015年3月底)的生存狀態如何?
為什麼「溫兆倫」沒有一個在加州?
為什麼Google主頁要有Im feeling lucky這個功能?
如果Google的AI和星際2職業選手比賽會怎樣?

TAG:谷歌Google | 搜索引擎 | 人工智慧 |