科幻作品中我們經常能夠看到與人類一樣聰明的機器人,但機器是如何在這背后存儲知識的?是如何推理知識并運用知識的?最后又是如何實現與人的交互的?此次在的百度BIG大會上,百度技術副總王海峰博士總結了實現人工智能的三大關鍵技術,基本回答了這些問題,雖然講的比較簡單,但由于信息量過大沒有一定背景的人是很難聽懂的,所以我純粹來給各位科普下。
關鍵一,讓機器理解語言的技術
理解語言是一個從詞語逐漸遞進到事件的過程。
1,分詞技術
讓機器理解語言,也就是要讓機器學會自己思考,那么就需要讓機器去理解語言。而漢語的
理解與英語相比起來就顯得更加困難,在英語中每個單詞都是基本上可以被機器直接讀取的,但是漢語在分詞上則更為困難。我們來舉幾個列子。
“你|老張|著什么急|啊”
“你|老張著|什么嘴|啊”
上面是一個簡單的列子,修改一個字,意思就相差十萬八千里,而機器根據字的不同則可以勉強分出來。但是下面這個列子就折騰了。
“乒乓球拍賣完了”
機器該怎么分?這就困難了,機器既可以分出兩種意思
“乒乓球|拍賣|完了”
“乒乓|球拍|賣完了”
那么困難就來了,我們如何告訴機器這句話中的詞該怎么分呢?對于人來說很簡單,根據前后文馬上就能識別出來,但是對于機器來說則極為艱難。
2,句子的分析技術
分詞問題解決之后便是分析句子的問題,請看下面兩句
“謝霆鋒|是誰|兒子”
“謝霆鋒|兒子|是誰”
對于機器來說,這兩句話獲得的關鍵分詞信息是一樣的,都是“謝霆鋒”、“是誰”、“兒子”,這三個關鍵分詞信息。我們該如何告訴計算機,因為順序先后的原因而導致的語義的天差地別呢?
這其中就需要對語言有很深入的分析,對語義理解,從而知道他們要找的答案是不一樣。做到這單同樣不容易。
3,上下文相關的分析技術
分析完一句話后,機器自然要推演到分析一篇文章的內容。
在《信息簡史》中有一個很重要的信息原理,就是說當我們需要傳遞信息時,需要大量的冗余信息來保障信息的準確性,沒用的廢話越多則傳遞信息的準確性越高,同樣對于讓機器理解某句話也是基于同樣原理。
但問題是,人可以依靠直覺抓取關鍵信息,而機器又憑借什么來抓取關鍵信息呢?又如何識別真正的信號與噪聲?這也是至關重要的技術。
我們看以下三個列子
我們看到當搜索“天空為什么是藍色的”時,百度并沒有把文章前半部分的內容放上去,而是自動摘取了中間的關鍵答案,而當用搜狗搜索和360搜索時,并沒有摘要出最優答案,只是把文章的前半部分內容放了上去。這說明搜狗和360搜索還有可以繼續提升的空間。
4,分析事件的技術
分析文章的問題解決后就必須再攀登更高的高度,讓機器去系統性的分析一個事件,也就是再加上時間的這個維度,將與某個事件相關關鍵的文章全部集合,就可以還原一個歷史事件的進程。
當我們搜索“斯諾登”時,就會出現以下按照時間軸展開的標題。
左邊是百度的事件整理,中間是360的事件整理,最右邊是搜狗搜索的結果。
在事件歸類的技術上,百度與360都已能夠做到識別,而搜狗目前沒有做到這點
事件整理是最高難度的技術,也是如何做到讓機器理解語言的最高一層。
關鍵二,知識挖掘技術
1, 知識圖譜的建立技術
首先假設,我們在機器中存儲了上億個實體知識,這對于機器來說不是難事,輕而易舉,難就難在存儲實體的關系上,一個實體對應多個屬性,比如一張桌子對應了品牌、顏色、木材等等屬性,這些屬性就有上百億級別,這些關系錯綜復雜的整合起來,要存儲的數據就會指數級的增加,這注定是一張超級的海量級圖譜。
如何建立起圖譜?以以下這句話來舉例
“奢侈品牌路易威登1854年成立法國巴黎”
那么機器該如何進行知識的存儲呢?
1) 奢侈品與路易威登(識別出路易威登是個品牌并且是奢侈品,存儲該知識)
2) 路易威登與1854年成立(識別出路易威登的成立時間,存儲該知識)
3) 路易威登成立于法國巴黎(識別出路易威登成立于發過,,存儲該知識)
4) 法國巴黎(識別出法國與巴黎有關系,存儲該知識)
5) …….
以上只是一種粗略的理想化的情景,王博士也沒有說更細節的事情。我這里補充下,實際上這種只是圖譜一直是動態的,有不斷的增加刪減的過程,每個語句中的知識都是按照時間線出現的大數據關鍵詞內容,根據統計后才建立起的知識圖譜,與人腦一樣,這些關系知識圖譜出現又消失,最后那些確鑿無疑的關系被留了下來,但是這些依然是動態的,如果哪天法國的首都不再是巴黎,整個關系知識圖譜數據庫會將所有數據全部更新。
2, 知識推理技術
當知識圖譜建立后,要做的就是實際層面的應用,將這些知識圖譜應用到真正的實現中,當用戶搜索某個問題后,去檢索數據庫中的關系圖譜,然后將關聯性最高的精確答案呈現給用戶
1)直接推理。
我們以搜索“劉德華多少歲了”來舉例。
當我們搜索這個問題后,搜索結果中就會直接呈現出了劉德華的年齡,這就是運用了知識的推理能力。這個53歲是一個動態結果,機器在幕后進行了大量的運算后知道獲得年齡是一個動態的算法,需要將此人的生日與當前時間相減,之后才能得出結論。
同樣的,當我們搜索“謝霆鋒兒子的母親的前夫的父親”后得出是“謝賢”的結果,這也是技術在背后的推理的作用。
2)分類推理
上面談了比較簡單直觀的推理模型,但這只是在用戶提問有確定唯一結果答案的時候才那么奏效,但當用戶搜索某個沒有唯一標準答案的問題時就不再奏效。那么這里就會用到分類推理的技術。
比如當用戶搜索搜索“觀賞魚”。
這種搜索沒有指定的唯一標準答案,所以機器從后臺的知識體系庫中提取了關于“觀賞魚”的相關分類內容,列出了所有相關結果,給出了各個觀賞魚的種類結果,好讓用戶去找到自己想要的結果。在這里又順便將三個搜索結果做了比較,百度的搜索結果最為全面,搜狗次之,而360沒有分類。
通過大數據,在后臺為實體知識進行分類,這是一種在線性的直接推理之上的高層次整合式的推理。
分類推理除了能夠提供直接的結果之外,還能夠為用戶帶來額外的相關性的具有幫助的結果,當我們搜索“關羽”時,在搜索結果右側會展示出如下結果。
左上角是百度的結果,右上角是360的搜索結果,左下角是搜狗的搜索結果。
而這些結果都不是人工輸入的,全部都是通過大數據挖掘得出的結果,三家都能夠挖掘出與”關羽“相關的信息,但百度挖的更深,把關羽與劉備以及貂蟬的關系都挖了出來。這種對隱性信息挖掘是大數據價值的核心,大數據的價值不在于大,而在于挖掘有價值的關聯,然后拉動其他價值。舉個簡單的例子,通過大數據發掘,發現下面包店某款面包會賣的更好,存在這么一種隱性關聯,那么店主只需要準備更多的該蛋糕就能帶來更多的收益。
關鍵三,對人的建模技術
機器發展出智能的最終目的是為了與人交互,所以還需要讓機器能夠理解人的行為,只有當理解完人的行為后機器才有可能將知識運用到與用戶的交互中,才有最終商業化落地的價值。
1,個體建模
所謂個體建模,就是說根據某單個用戶的操作行為為其提供私人定制化的服務。“今日頭條”就是用的個體建模技術,當用戶查看新聞時,它會根據用戶的行為軌跡,為用戶推薦其感興趣的內容。同樣的,在百度搜索引擎中同樣如此,當用戶搜索的關鍵詞越多,百度就越有能力向其推薦其更為感興趣的內容。
比如當用戶搜索“SF”關鍵詞后。
如果該用戶經常逛百度動漫相關貼吧,搜索相關動漫人物名稱,音樂等等操作,那么排序在第一位的就會是某個關于動漫的網站,但是如果該用戶經常搜索與快遞相關的知識,那么排在第一位的就會是順豐網站。
這種針對個人的精準建模在未來數據更加充足的情況下,每個人都將獲得數據化的留存,我們的一切行為都將數據化可視化,進而得出自己的一切相關結論。當前數據采集并建模這種技術已經趨于成熟,剩下的就等物聯網大潮上陣。
2,群體建模
光對個人建模還不夠,機器最重要的是對群體建模,而對群體建模也是商業化價值的核心所在。
所謂群體建模,就是判斷在某一場景下最多數人的行為進行收集,然后取得各個場景下的群體交集,進而得出擁有某一部分屬性的人經常會做出哪些選擇。
這些人的屬性包括:地域、漫畫愛好者、美劇愛好者、父親、高考學生……
這些人的行為包括:看動漫、看美劇、搜索育兒知識、搜索高考知識……
機器通過后臺的判斷將他們進行群體人群的屬性與行為的歸類,然后讓相關高層找到可以進行商業化決策的支撐。
上面說的還是有點抽象,那我們再說的簡單點,比如我們通過大數據挖掘預測某個地域30歲以上的人在最近一段時間有很強的購買秋褲的需求,那么商家在推廣秋褲的時候只需要加大在該地區的廣告投放即可獲得更高的利潤回報。當然這里不再是商家主動去找答案,而是機器通過挖掘后主動為其提供一系列選項,商家只需要被動接受即可。
結語:
從某種意義上來看,讓機器理解語言的技術、知識挖掘技術、對人的建模技術這三大技術再經過一段時間的發展后,對破解圖靈測試是有可能的。
但這種技術無論如何進步都需要驅動的“電池”,也就是人類所產生的數據,說的更確切一些是人類的欲望。
在我看來,驅動技術的唯有商業與軍事這二者,而這二者分別代表著欲望與恐懼,在這個和平年代的我們是幸運的,我們被免去了戰爭的恐懼,進而剩下的就是無盡的欲望,在技術與人越來越緊密不可分割的糾纏中,我們將迎來一個欲望與技術超級混合的新世界。未來會怎樣?請關注微信公眾號“機器之心”。