如何評價SyntaxNet?
Google Research今天宣布,世界準確度最高的自然語言解析器SyntaxNet開源。
http://googleresearch.blogspot.jp/2016/05/announcing-syntaxnet-worlds-most.html
中英文混雜預警,好多術語我全都不知道怎麼用中文說,或者覺得太彆扭。
####################勿怪言之不預也####################
我正在寫的畢業論文就打算拿這個parser當終極baseline(極有可能是超不過的那種),正愁太多細節他們在論文里沒寫恐怕難以重新實現,於是前天就開源了,人生就是這麼大起大落,谷歌大法好。
不過說起來這個parser真沒有太多神奇的地方,從頭到尾的發展主線就四篇論文(都是我打算重現的baseline):
第一篇基於神經網路的parser [Chen Manning 2014] 用的是簡單的embedding層加上一層hidden layer的結構作為greedy parser,雖然結構簡單並且有不少缺陷,但是作為第一篇用神經網路做dependency parsing的論文,啟發了之後一大半的parsing論文。第二篇是 [Weiss et al. 2015](也是谷歌這幫人)基於前一篇在基礎結構上做了一些微薄的貢獻,加深了一層hidden layer,加大layer size,用流行的ReLU代替奇葩的cube,以及一大波參數微調之類(GPU多才好煉丹),但這篇論文的主要貢獻是嘗試全局訓練,把之前那個greedy parser的神經網路中每一層activation拿出來當feature,然後再訓練一個經典的structured perceptron with beam-search [Collins Roark 2004] (Collins 本人也是這篇的作者之一),療效顯著。
第三篇 [Zhou et al. 2015] 嘗試繞過間接使用局部訓練的結果當feature來進行全局訓練的方法,而是直接全局訓練,說人話就是把整個transition序列的概率當作訓練目標,而第一篇可以看成是把單個transition當作目標,由此而得全局和局部訓練的區別。然而整個transition序列的搜索空間太大,於是使用contrastive learning來近似,即把beam search中的序列當作近似的搜索空間,療效顯著。奇怪的是這篇文章並沒有跟第二篇進行直接的結果對比,因為他們用了不同的訓練數據,而第四篇論文(包含了第二篇的全部作者)雖然基本沿用了這一篇的方法,但是也懶得跟這一篇比,你們夠了……
第四篇 [Andor et al. 2016]也就是SyntaxNet實現的內容,個人認為用的就是第三篇的方法,只是換了個說法(CRF objective)並加上嚴格的理論證明(雖然沒看懂),如有高人清楚兩者的區別請明示(抱拳)。這一篇更主要的貢獻應該是在更高一個層面上展示用神經網路對sequence classification問題進行全局訓練的優勢,他們給出了證明以及在dependency parsing之外還嘗試了part-of-speech tagging和sentence compression,療效顯著。至於開源parser嘛,感覺主要是為了推廣TensorFlow,畢竟去年TF剛出來的時候就號稱要給研究者提供一個交流模特(誤)的平台,終於有官方硬廣了。
順手貼一個柯老師的梗(來源不明),感覺從此之後會加上後半句,"..., and it can be solved with global training."####################不友善的分割線####################
最後嚴重警告,dependency parsing這個任務就是把一個句子里的每一個詞連起來變成一棵樹,用Wall Street Journal語料庫,傳統parser的最高準確度是93%左右,基於神經網路的parser提高到了94%多,在領域內是一個很了不起的成就,但是跟人工智慧什麼的毫不相關,誰再提阿法狗我跟誰急。利益相關:反正遲早要寫文獻綜述的,這篇回答就算列個提綱了。
[Chen Manning 2014]: http://cs.stanford.edu/people/danqi/papers/emnlp2014.pdf[Weiss et al. 2015]: http://www.petrovi.de/data/acl15.pdf[Collins Roark 2004]: http://www.aclweb.org/anthology/P04-1015[Zhou et al. 2015]: http://www.aclweb.org/anthology/P15-1117[Andor et al. 2016]: http://arxiv.org/pdf/1603.06042v1.pdf我想提一下 SyntaxNet 裡面 English parser 的名字「Parsey McParseface」,因為實在是太萌了。
要理解這個名字,首先要從 2014 年的一件事說起。當時,英國的國家環境研究委員會(NERC)發起了一個叫「Name our Ship」的在線活動,向網友徵集一艘新的極地科學考察艦的名字。這貨價值 2 億歐元(約合 14.77 億人民幣),大概長這樣:
最終,「the RRS (Royal Research Ship) Boaty McBoatface」這個名字脫穎而出,獲得超過 124,000 選票,遠遠超過其他名字的票數。但是這個名字是什麼意思呢,Digital Trends "Boaty McBoatface" is the internets given name to a $300 million research vessel 里給出的解釋是:
Boaty, an adjective presumably meaning 「of or like a boat,」 instantly lets one know that the vessel is, in fact, a boat. 「Boatface」 conjures the absurd image of an anthropomorphic boat; a hysterical thought because boats, as everyone knows, do not actually have faces. As for the use of Mc- in the surname: a possible comment on Scottish Independence, perhaps? It』s hard to say; like all great satire, Boaty McBoatface remains open to interpretation.
我已經不會翻譯了,大概就像「皇家考察艦?船子小船臉」。
然而 2016 年 5 月 6 日,NERC 在公布的聲明中表示,將不會採用票數居首的「Boaty McBoatface」,而是位居第四的「Sir David Attenborough」,BBC 著名自然科學節目主持人大衛?艾登堡爵士的名字。
於是網友們就怒了,#BoatyMcBoatface 上了推特熱門,甚至有人發起了一個 online campaign,要求大衛?艾登堡爵士把名字改成「Boaty McBoatface」。
最後,雖然該考察艦未能如網友所願定名為「Boaty McBoatface」,但它的一艘遠程遙控潛艇將會被命名為「Boaty」,以表示對網友投票的認可。
言歸正傳,parser 的名字「Parsey McParseface」就是把上述考察艦的名字「Boaty McBoatface」里的「boat」詞根都換成了「parse」。至於 Google 為什麼會給他們的 parser 起這樣一個名字,Language Log 猜測這也許是對 NERC 行為的抗議,也許是跟了「Boaty McBoatface」這個梗的潮流(評論里還有對「Xy McXface」這個結構的討論,有興趣可以看看)。
真是被 Google 萌得不要不要的。沒什麼好評價的,除了它的網路沒有recurrence,感覺這一點上又可以有很多人水很多文章了。
NLP中現在還是太缺語料了,大部分數據都是無標註的,標註了的數據集又太小(至少我需要的東西基本沒有人去標。。。聽老闆說是來自STANFORD的IDEA。老闆以前就是GOOGLE RESEARCH NLP組的頭;也和他們討論過這個技術;當時的GAIN並不高。誰知過了1年,GOOGLE就又動用他的資源和手法,搞了一個大新聞。當年老闆帶頭搞得東西會不會也被開源搞一個大新聞呢?
這東西技術都不難,方法是PAPER中學來的,重點是GOOGLE的特點是有錢任性,可以請幾百人來做人工ANNOTATION;又可以用幾千個GPU去計算。
這些FACEBOOK都沒有(特別是人工標定的數據)。所以我也沒想明白為啥YUANDONG TIAN 和 YANGQING JIA大神要想不開跳槽來FACEBOOK。FACEBOOK可以說在這些領域沒有一個資源比得上GOOGLE的。當然你也可以說這就是潛力大;但我覺得這種潛力無非就是重複造輪子的潛力?GOOGLE開創未來的潛力豈不是更大。。科技界,最重要的其實是『IMPACT』-&>『FAME』知名度,未來跳槽無數人追你;GOOGLE這麼一搞,知名度大增;又開源,就可能成為未來PARSER的實施標準(因為你不開源,誰用你的?);那麼之後FACEBOOK再怎麼搞什麼牛逼的NLP PARSER也都落了下風,變成了東施效顰;這個和ALPHA GO是一個性質。你看ALPHA GO之後MARK不砍掉那個圍棋的項目。FACEBOOK 還是好好把自己的CONTENT RANKING搞好的。搜索現在都不如GOOGLE 5年前的水平。而現在,我在GOOGLE搜索一個疾病名都能直接跳出來醫療保健模塊了;搜索兩個地名能直接跳出機票。這看似簡單,其實不是一般財力公司能做好的。FACEBOOK很多項目都是在模仿和趕超GOOGLE。(無奈GOOGLE太強,比起什麼APPLE這種紙老虎,就知道做大屏手機,一個學術專利都沒有。)
谷歌有錢,資源多,是事實上科技界的HARVARD;待在HARVARD幹活,出了名也可以說自己參與了;而待在其他小公司呢。。。。苦逼干點ENGINEERING的小眾東西也沒人鳥你;最後被說成是學GOOGLE的。
就這樣了。到今天為止,FB仍然是一個ENGINEERING為主的公司,並沒有成為GOOGLE那樣制定標準,制定規範,產生世界影響力和學術界影響力的大公司。當GOOGLE開始著眼DEEP LEARNING的時候,FACEBOOK 還在為贏得GOOGLE PLUS歡呼雀躍呢。
所以,點題:我真沒想清楚他們倆為啥要來FB。從理論來說倒不算是一個大的突破,這個也可以從與之前state-of-the-art準確率的提升可以看出,難以達到類似語音和圖像領域最近每年百分之幾十錯誤率的下降。另一方面,可以認為目前基於公開渠道可得的Parsing數據都屬於小數據範疇(句子數&<100k),未必能很高發揮Deep learning複雜模型的優勢,並且不同機構發布的標註標準還有較大差異(比如著名的Stanford typed dependency就考慮了更多的semantic label)。要在該問題上有更大突破,應該需要在知識表達上做文章,畢竟fully supervised parsing sentences的構建成本不菲,也並不高效。
推薦閱讀:
※「關鍵詞」提取都有哪些方案?
※《Deep Recurrent Generative Decoder for Abstractive Text Summarization》閱讀筆記
※揭開知識庫問答KB-QA的面紗6·深度學習中篇
※《Exploring the E?ffectiveness of Convolutional Neural Networks for Answer Selection ...》閱讀筆記
※揭開知識庫問答KB-QA的面紗5·深度學習上篇
TAG:自然語言處理 | 谷歌Google | 深度學習DeepLearning |