我:
我雖然被封了個小公司 Chief Scientist 的職稱,實在不敢稱科學家了,因為早已脫離 academia,也沒真正靠科學吃飯:這個金飯碗太沉,端不起。這倒不是謙虛,也不是自我矮化,因為科學家和技術人在我心中難分高低。作為一線技術人,并沒覺得自己比一流科學家遜色。
不說生物,說說NLP。可重復性是科學的根本,否則算命先生和跳大神的也都是科學家了。針對一個單純的任務,或一個純粹的算法,在 community 有一個標注測試集的時候,這個可重復性似乎是理應有所要求的,雖然具體怎么驗證這個要求,驗證到哪一步才被公認有效,似乎遠非黑白分明。
我的問題是,如果是一個復雜一些的系統(tǒng),譬如 deep parser,譬如 MT,特別是在工業(yè)界,有可能做到可重復嗎?不可重復就不能認可嗎?且不說不可重復是保持競爭優(yōu)勢的必要條件,就算一家公司不在乎 IP,指望對手能重復自己的結果,也是難以想象的事兒 -- 除非把全盤源代碼、原資源,包括所有的詞典,原封不動交給對方,而且不許configure,亦不允許改動任何參數,否則怎么可能做到結果可以被重復呢?
毛:
凡是“構成性要素”,必須在一定的誤差范圍內可重復。要不然就屬于商業(yè)秘密而不屬于科學發(fā)現了。
我:
所以 key 就是看你吃哪一碗飯。吃學術的飯,你就必須過這一關。怎么拿捏是 community peer reviewers 的事兒。
毛:
還是那句話,你不能把什么好處都占了。
我:
吃工業(yè)的飯,你只要你的黑箱子 performs 就ok了。
這就使得學術界只能就“構成性要素”而發(fā)表,做一個 integrated 系統(tǒng)是不討好的。這個從科學上是有道理的,但是很多做學術的人也不甘心總貓在象牙塔里,為他人做嫁衣裳,他們也想做實用系統(tǒng)。integrated 的實用系統(tǒng)幾乎肯定無法由他人重復出結果來,因為變數太多,過程太復雜。
毛:
那倒也不一定,當年的 unix 就是系統(tǒng)。但是在同樣的配置條件下得到的結果應該在一定的誤差范圍之內。
我:
換句話說吧,別說他人,就是自己也不見得能重復出自己的結果來。如果重起爐灶,再做一個 parser 出來,結果的誤差是多少才能算容許的范圍呢?就算基本設計和算法不變,相信是越做越好,但結果的誤差在做成之前是很難預測的。這與在新的開發(fā)現場所能調用的資源等因素有關。
毛:
對呀,所以別人也不至于吹毛求疵,大家會有個共識的。像Parser一類,如果是對自然語言,那應該是很寬的。但如果是形式語言、編程語言,那就要求很嚴了。
我:
說的是自然語言。十幾年前,我還在學術殿堂邊徘徊,試圖討好主流,分一杯羹,雖然明知學界的統(tǒng)計一邊倒造成偏見流行(【科普隨筆:NLP主流的傲慢與偏見】)積久成疾,我輩壓抑,同行如隔山,相互聽不見。直到有一天大徹大悟,我到底吃的是誰的飯,我憑的什么在吃飯?原來我的衣食父母不是科學,更不是主流。我與隔壁的木匠阿二無異,主要靠的是手藝吃飯,靠的是技術創(chuàng)新的絕技,而不是純科學的突破。認清這一點,也就避免了以卵擊石,長他人威風,滅自己志氣。說到底,在業(yè)界,老板不在意你在哪一條路線上,客戶更不在乎你有沒有追趕潮流,白貓黑貓,一切由系統(tǒng)說話。你有你的科學突破,我有我的技術絕技,到了應用現場,還要看誰接地氣,有沒有硬通貨呢。系統(tǒng)結果可能難以重復,客觀測量卻并非難事兒。(李維)
吃科學的飯,還是技術的飯? |