Facebook推出人工智能引擎DeepText,讓機器更好的理解語言和內容
Facebook 人工智能研究團隊與應用機器學習團隊合作,推出了一款文本理解引擎 DeepText ,試圖讓它理解用戶貼出的每篇文章。
【編者注】本文作者:Ahmad Abdulkader、Aparna Lakshmiratan、Joy Zhang,由機器之心編譯,參與:孫睿、微胖
引言:前幾天,有新聞報道在查舉不良圖片方面,Facebook 的人工智能戰勝了人工。今天,這家公司人工智能研究團隊與應用機器學習團隊合作,推出了一款文本理解引擎 DeepText ,試圖讓它理解用戶貼出的每篇文章。媒體預測,這款人工智能引擎將會深刻變革公司核心產品體驗。 Clarifai CEO Matthew Zeiler 曾說,谷歌真不是一家搜索公司,而是機器學習公司。谷歌 CEO 也多次表示,公司正在踐行「AI 優先」的理念。Facebook 或許與之殊途同歸?
Facebook 的搜索世界比不上谷歌的大,不過,其規模仍然蔚為可觀。
有超過十億用戶每天都會刷Facebook,網絡服務器上每天有數萬億的狀態更新,活動邀請,相冊以及視頻。Facebook 正坐擁日益增長的海量數據。公司一直希望通過真正理解這些信息,將那些擁有共同興趣的人有效連接起來,幫助用戶找到正在尋找的東西,賣出更多的廣告。
Facebook 已經使用了用戶共享的人口數據信息。不過,Facebook 希望打造新的功能,追蹤網站上的所有信息,就像谷歌抓取整個互聯網信息并作出索引。對于Facebook 用戶來說,這意味著,他們可以更加容易地找到埋藏在那些數以萬億計博文中的有用信息,這就像去年谷歌開始使用人工智能,試圖真正理解用戶查詢,將真正相關的信息呈現在搜索結果中。
正如公司博文所介紹的:
文本,是Facebook 上流行的溝通方式。理解Facebook 上各種不同文本使用方式,有助于改善用戶體驗,無論是讓更多用戶喜聞樂見的內容呈現出來,還是過濾掉討厭的內容,比如垃圾郵件。
去年,Facebook 已經升級了自己的搜索功能,將更多的搜索結果包括進來。比如,搜索“taco(墨西哥卷餅),你會得到包括朋友發的taco照片或者與taco有關的新聞報道。
不過,理論上,Deep Text 可以讓搜索更進一步。
DeepText是一款基于深度學習的文本理解引擎,每秒能理解幾千篇博文內容,語言種類多達20多種,準確度近似人類水平。
比如,當一些好友或者品牌上po 出與taco有關的內容是,它可以分析出他們到底在說什么,然后給出最有用的結果。比如,如果你想要知道哪里可以買到好的taco,它可能會分析你朋友當中關于taco相關的博文中的內容,給你推薦一家可以吃到taco的餐館。如果你在查詢taco對健康有哪些好處,他會推薦這方面的最新科學文章。
DeepText 充分利用了幾個深度神經網絡結構,包括卷積和循環(recurrent)神經網絡,并能完成以單詞、字符為基礎的學習任務。我們使用 Fb Learner Flow 和 Torch 進行模型訓練。通過 FBLearner Predictor 平臺(提供可擴展且可靠的分布式架構),輕松點擊按鍵就能調用訓練過的模型。Facebook 的工程師們能夠通過DeepText 提供的自助服務結構,輕松打造新的 DeepText 模型。
為什么采用深度學習?
文本理解包括多項任務,比如,通過一般分類來決定某篇博文內容是否與籃球有關——以及識別實體,比如演員名字以及其他有意義的信息。不過,想要接近人類的理解水平,我們需要讓計算機學會理解一些事情,比如俚語和語義消歧。比如,如果某人說,「我喜歡 blackberry 」,這是指水果還是電子設備?
理解 Facebook 上的文本需要解決兩個難題:棘手的體量上的挑戰以及語言難題,傳統自然語言理解技術在這兩個問題上沒效果。使用深度學習,我們可以更好地了解多種語言文本,在使用標簽數據方面,也比傳統自然語言理解技術高效地多。DeepText 以深度學習為基礎,并延伸了其中思想,深度學習最初源自 Ronan Collobert 以及 Yann LeCun 的 Facebook AI Research。
1.更加快速地理解更多語言
Facebook 社區確實全球化,因此,對 DeepText 來說,盡可能多地理解不同語言很重要。傳統自然語言理解需要豐富的、建立在復雜工程學以及語言知識上的預處理邏輯。當人們使用俚語或不同拼寫方式交流同一想法時,即使在同一種語言中,也會存在變化。使用了深度學習,我們就可以減少對語言依賴性知識的依靠,因為系統可以從文本中學習,幾乎不需要預處理。這有助于我們以最小的工程學成本迅速解決多語言問題。
2. 更加深入地理解
在傳統自然語言處理方法中,語詞被轉為一種機器算法可以理解的形式。比如,「brother」可能用一個完整ID表示,比如4598,而「bro」可能會使用另一種表示,比如 986665。這種表征方式要求訓練數據中,每一個會被看到、有具體拼寫的單詞都要得到理解。
如果使用深度學習,我們就可以使用「詞嵌入(word embeddings)」,一個保存單詞之間語義聯系的數學概念。因此,合理計算后,我們就可以看到「brother」和「bro」的詞嵌入距離很近。這類表征方式可以讓捕捉到更為深入的單詞語義意思。
使用字嵌入,我們還可以理解不同語言中的相同語義表達。比如,英語的「Happy birthday」和西班牙語的 「feliz cumpleaños」,在共同的嵌入空間中,彼此應該非常接近。通過將語詞和短語映射到一個共同的嵌入空間,DeepText 就能建造起與語言無關( language-agnostic)的模型。
3.標簽數據的匱乏
書面語言,盡管具有上面提到的諸多變化,但是,通過使用無監督學習,我們也可以從未標簽文本中提取出許多結構。深度學習為充分利用這些嵌入提供了好的框架,通過使用小規模的標簽數據組,就能進一步精細化它們。這是勝過傳統方法的顯著優勢,后者通常需要大量人類標簽過的數據,這不僅低效,也很難適應新任務。在許多情況下,無監督學習和監督學習的結合,可以顯著提升效果,因為彌補了標簽數據組的不足。
Facebook 上的探索
我們已經在一些 Facebook 的使用體驗中,測試 DeepText 了。例如,Messenger 現在能夠更好地了解某個人可能想去某個地方。DeepText 被用于感知用戶意圖和提取要點,當用戶說「我剛從出租車里出來」時,它能夠理解這句話與「我需要一輛車」的區別,從而不會誤解成用戶在找出租車。
DeepText 幫助 Messenger 識別用戶用車需求,并建議用戶使用Uber或Lyft
不過,鑒于 Tay 事件效應,Facebook 機器學習團隊的工程主管 Mehanna 并沒有確認公司是否已經將Deep Text 用于 M,一款以人工智能為基礎的虛擬助手。不過,他確實說,Deep Text 「正在 Messenger 上緩慢而更加廣泛地鋪開?!?/p>
我們也開始使用高精確度、多語言的 DeepText 模型,來幫助人們尋找他們需要的工具。例如,用戶可能會發一條狀態說「我的自行車 200 美元出售,有感興趣的嗎?」通過提煉售賣物品和價格等信息,DeepText 能夠發現這條狀態是關于售賣某樣東西的,并向用戶推薦在 Facebook 平臺上的相關產品.
通過理解博文內容,提取其中意圖、情感和實體(比如,人物、地點和事件),DeepText 有望進一步提升FB 體驗,使用混合的內容信號,比如文本和圖片并自動去除會被拒絕的內容,比如垃圾郵件。許多名人和公眾人物都在使用 Facebook 與大家交流,這些互動往往會產生幾百甚至上千條評論。要從這些不同語言的評論中找出最有關聯的內容,同時保證評論質量,到現在還是一個挑戰。所以, DeepText 還有可能解決的另一個難題就是,找出關聯性最高或最有質量的評論。
下一步
我們不會停止改進 DeepText 的腳步,我們也在與 Facebook 的人工智能研究小組合作,探索它的應用。以下是一些例子。
1.更好地了解人們的興趣所在
個性化 Facebook 用戶體驗的任務之一,就是向用戶推薦他們感興趣的內容。為了做到這一點,我們必須首先能夠將任何文本與某一特定話題相關聯,而這需要大量的標簽數據。
雖然這類數據集很難手動生產,但是,我們正在嘗試通過公開的 Facebook 頁面,來生成含有半監督標簽的大型數據集。 我們有理由假定,這些頁面上的信息將代表一個專門話題——例如,Steelers 頁面的狀態會包括 Steelers 橄欖球隊的信息。我們用這類內容訓練一個我們稱為 PageSpace 的大眾興趣分類器(a general interest classifier),而它的技術核心就是 DeepText。反過來,這也將進一步改善其他 Facebook 體驗中的文本理解系統。也就是說,團隊會使用匹茲堡 Steelers 的頁面來學習人們如何談論美式足球以及 Steelers。所有這種數據會幫助團隊建立起一個了解人類在線聊天方式、以及語詞與句子聯系的人工智能系統。
2.文本的和視覺內容的綜合理解
人們經常會發一些含有圖片或視頻的狀態,并用文字來描述相關內容。在這類情況下,了解用戶意圖離不開對文本和圖像內容的共同理解。
例如,你的朋友發了一張自己的小寶寶的照片,然后在正文里寫「第 25 天」。無論是單看圖片,還是僅閱讀文本,都沒辦法搞清楚這篇博文到底什么意思。但是,如果一起分析圖片和文本,系統就可以根據經驗猜出內容,這些經驗告訴系統,孩子是用戶貼出圖片的一部分,而且這位用戶每天都會貼出這樣的圖片,這張圖片不過是其中一分部。這樣,系統就能正確將這張博文劃分到標題為「家庭新聞」的類別中,并將它展示給過去那些對用戶”家庭新聞“感興趣的好友們。
將圖像和文本結合之后,我們能很清楚地知道,這條狀態分享了家庭新添成員的信息。我們正在與 Facebook 的圖像內容分析團隊合作,來構建能夠將文本和圖像信息相結合的深度學習架構。
3.新深度神經網絡架構
我們在持續地開發和尋找新的深度神經網絡架構。雙向循環神經網絡(BRNNs)看起來可能會很有希望,因為它們有兩個目標,通過循環(recurrence)獲得單詞間的語境依存(contextual dependencies),以及通過卷積捕捉位置不變的(position-invariant)語義。比起用以分類的常規卷積或循環神經網絡,我們發現 BRNNs 在分類時的錯誤率更低;有時錯誤率甚至只有 20%。
將深度學習技術應用于文本理解,會繼續提升 Facebook 的產品和用戶體驗質量,而反過來也是如此。對文本理解系統來說,Facebook 產生的非結構化數據,是它們從語言中自動學習的絕好機會,因為使用不同語言的人都會自然用到它,而這也會進一步推動最先進的自然語言處理技術。
Hussein Mehana 說,「朝著打造能智能地與人類交流的機器,我們又邁出了一步?!共贿^,對于 Facebook 最受歡迎的產品,從Messenger 到 新聞推送來說,Deep Text 帶來的變革到底有多深,還有待觀察。
最后,記得關注微信公眾號:鎂客網(im2maker),更多干貨在等你!
硬科技產業媒體
關注技術驅動創新
