當前位置:
首頁 > 最新 > ACL2017 SAP:關於將NLP研究轉化為商業產品所面臨的挑戰

ACL2017 SAP:關於將NLP研究轉化為商業產品所面臨的挑戰

你和「懂AI」之間,只差了一篇論文

很多讀者給芯君後台留言,說看多了相對簡單的AI科普和AI方法論,想看點有深度、有厚度、有眼界……以及重口味的專業論文。

為此,在多位AI領域的專家學者的幫助下,我們解讀翻譯了一組頂會論文。每一篇論文翻譯校對完成,芯君和編輯部的老師們都會一起笑到崩潰,當然有的論文我們看得抱頭痛哭。

同學們現在看不看得懂沒關係,但芯君敢保證,你終有一天會因此愛上一個AI的新世界。

這是讀芯術解讀的第1篇論文

ACL 2017 Short Papers

關於將NLP研究轉化為商業產品所面臨的挑戰

On the Challenges of Translating NLP Research into Commercial Products

新加坡SAP創新中心

SAP Innovation Center Singapore

【摘要】本文闡述了將自然語言處理研究轉化為商業產品時面臨的一系列挑戰。儘管人們對自然語言處理行業興趣顯著,科學研究向商業產品轉化的問題依然值得正視,並且其所面臨的挑戰往往是未知的,且被很多研究者低估。本文討論了該領域目前存在的壁壘,並根據自己在行業應用上的經驗提出了一些建議,提升自然語言處理研究成果向商業產品轉化的成功率。

1 引言

自然語言處理(NLP)在過去二十年中取得了重大進展,特別是數據驅動機器學習方法的誕生。最近,深度學習已經為NLP、機器學習和人工智慧(AI)等領域帶來了新一輪的發展。與此同時,許多業內人士為創造出新的產品和服務,投資了大量的人力物力在機器學習和AI領域(MITTechnology Review,2016)。

然而,將研究成果轉化為一個成功的產品是具備一定挑戰的。一般的,技術轉移往往被認為是從純研究到應用研究再到商業化的一個線性轉變過程(Stokes,1997)。這種模式假定,研究人員的發現自然的會被工程師和業內人士所利用,進而來開發新的產品。實際上,研究成果向商業產品的轉化是相當更複雜且沒有保障的。事實上,許多研究項目都未能成功地將他們的研究成果轉化為商業產品。

在這篇論文中,闡述了為何自然語言處理技術研究向商業產品成果轉化是如此困難。本文不包含任何新的演算法、實驗或結果。相反,它試圖分享我在學術研究和行業應用上的雙重經驗,以激發大家對如何提高NLP研究成果向商業產品轉化成功率話題的討論。我想先強調一下,本文並不是說讓所有的NLP研究者都聚焦商業產品的創作,也不是說每一個新產品的誕生都意味著一項研究突破的成功轉化。本文的主旨是討論如何提高基於使用靈感的基礎研究,既滿足對基礎研究的渴望又充分考慮應用前景,有時被稱為巴斯德象限(Stokes,1997)。

本文的貢獻有兩個方面。首先,明確指出了研究成果向商業產品轉化道路上的共同障礙。其次,根據自己在全球最大的企業軟體公司SAP中的經驗,提出提升轉化成功率的建議。

2 技術革新面臨的挑戰

本節著重介紹了NLP研究成果向有效創新轉變的時所面臨的挑戰。

2.1 缺乏價值觀

要創造出一款成功產品的第一步是了解客戶。這就是為什麼許多創造新產品或商業模型的方法都是從用戶角色和如何為用戶創造價值開始的(Ries,2011;Osterwalder et al., 2014)。同樣,要進行具有實際影響的研究,有必要考慮一下研究可能帶來的潛在應用,以及潛在用戶的價值定位可能是什麼。價值定位與用戶角色和其日常生活中需解決的問題密切相關(Christensenand Raynor, 2013)。因此,如果想做具有實際影響的研究,選擇一個正確的研究任務是很重要的。NLP任務對於解決實際問題具有一定的指導意義,比如機器學習或情感分析,都已在商業領域被廣泛採用。但許多業內所需的應用超出了目前NLP領域的研究能力,例如一個可以應對用戶任何問題的聊天機器人。

對研究者來說,了解到行業應用與學術研究中優先順序的不同是非常重要的。在學術研究中,應優先考慮本領域的核心知識體系構建,如,定義一個新的任務,一個全新、簡潔的模型,或者一個目前最好最先進的基準實驗結果。在行業應用中,優先考慮的是創造創新產品,使用戶滿意,並創造新的收入來源。為了兩全其美,研究人員應偶爾退一步考慮下他們的工作對NLP領域以外的人有什麼價值。

2.2 缺乏再現性

再現性研究是科學方法的支柱之一,因此對一般的研究工作很重要。但是,模型再現能力也是將其集成到新產品中的一個先決條件。由於NLP模型通常依賴於一組複雜的參數和預處理步驟,這些步驟不能總是在論文中做詳細解釋,因此我們很難重現他人的實驗結果。作者自己也曾試圖再現發表過的成果,但並未成功。關於再現性問題的研究很少((Bikel,2004)例外),而且,當研究人員努力去重現這些已發表成果時,很難找到相關信息來指導他們開展實驗。

2.3 缺乏領域數據

數據是機器學習和大多數NLP研究的燃料。雖然「大數據」革命使我們能夠從一些領域獲得大量的文本數據,但對於許多行業問題,沒有或只有非常有限的數據可以開展研究。例如,在我的團隊中,我們一直在為客戶服務票進行文本分類。雖然有很多的數據來進行文本分類,但這些主要是新聞或網上的評論。對於客戶服務,沒有公開數據集可用。由於數據隱私問題的機密性,擁有此類數據的公司不能輕易地將其發布用於科學研究。一些公司主辦共享任務或數據科學競賽,提供公開數據,例如Kaggle(https://www.kaggle.com),但對一個想要解決行業問題的研究者來說,數據訪問仍然是一個最大障礙。

即使有來自公共來源的數據,例如來自網路的數據,從法律的角度來看,將數據用於商業目的可能是比較棘手的。從網路上搜索數據(或使用由其他人以這種方式創建的語料庫)可能會用於研究目的,但是在創建商業產品時,每個數據源需要有確切許可證、版權等。這同樣適用於使用這些數據的公開NLP模型。

對於那些認為工業界的相關工作可以解決所有數據問題的人來說,我注意到使用真實數據集也有一定挑戰。真實數據集往往很小,噪音大,混亂,而且不完整,很難獲得良好的結果。為了有效地使用這些數據,研究人員還必須理解數據模式和數據背後的業務流程。沒有深入的領域知識,這可能是極具有挑戰性的。

2.4 過分注重測試得分

統計學習中基於共同基準的經驗評估方法,對NLP領域來說,毫無疑問是革命性的(Johnson,2009)。然而,有時測試集上的得分被認為是決定一項研究成功與否的唯一因素。對於實際應用,基準數據集的測試分數只作為選擇實際使用演算法時的一個標準。其他因素包括實施方法所需的時間和成本、所需的計算資源、速度和性能、易於集成、支持多語言輸入、調整和定製方法的能力、融入先驗知識的能力,以及理解和解釋模型的能力。例如,在文本分類工作中,我們遇到了輸出類別更改的要求,即添加、合併、拆分和刪除類,無需從頭開始重新訓練模型。這些因素目前在NLP研究中的體現尚顯不足。

2.5 應用的困難

無論NLP模式多麼好,如果沒有實現,就不會帶來實際影響。但是在任何應用中,NLP模型只能在更大的軟體系統中成為一個組件。NLP組件與其餘組件一起工作的容易程度對將該方法應用於生產應用程序來說是很重要的。與基於規則的方法不同,統計NLP模型通常需要昂貴的帶標籤數據集合、數據預處理、模型(重新)訓練、參數調整和模型監控,以避免模型不適用。這使得在實際應用中採用統計模型變得更加困難(Chiticariuet al., 2013)。

2.6 時間表

在行業應用項目中,利益相關者期望結果的時間範圍通常較短。雖然科學研究的資金項目通常運行三至五年,但行業應用研究往往面臨著在不到兩年的時間內取得實際成果的壓力。對於具有實際客戶和概念證明的項目,時間表通常不超過幾個月。這就導致了以下雞和蛋的問題:很難在短時間內進行突破性研究,但是如果研究最終產生的價值不明確,長期的研究投入就很難被證明。這就是為什麼學術研究通常能更好地專註於基礎研究問題。基礎研究並不排除實際使用,但對NLP模型實現的每一個方面進行精細化的增量研究通常在在行業應用領域中做得更好。

3 縮小差距

在本節中,我就如何減少NLP研究和商業產品之間的脫節情況提出了一些建議。

3.1 限定研究問題

下面的方法描述了當我們評估新的機器學慣用例時,我們團隊通常用的一些標準,包括一些NLP用例。

首先,要確保我們了解「要完成的工作」:業務問題是什麼,潛在用戶是誰,我們要解決什麼問題?一旦我們明白了這個任務,第一個問題就是這個任務實際上是否需要NLP。數據量是否足夠高到需要自動化?手動解決任務會更容易或更便宜嗎?可以通過簡單的規則解決問題嗎?通常,具有高數據量和複雜或模糊規則的任務,才是NLP的最佳選擇。

為了確保我們的工作具有實際意義,我們從一開始就將企業和行業單位的利益相關者納入公司的任何新項目,並收集真實客戶的反饋意見。

一旦我們認為需要NLP,我們會嘗試將問題作為機器學習任務來制定。明確了輸入輸出的給定X,預測Y的簡單模板有助於從一個模糊的想法到一個具體的任務制定。在這個階段,我們經常可以將問題映射到標準的NLP任務,例如文本分類,序列標記或序列到序列學習。

接下來,我們確定數據是否可用。如果實際數據不容易獲得,我們可以使用公開替代數據嗎?例如,學習如何分類客戶服務票證,我們可以從公共數據集上的文本分類開始。如果在可預見的將來數據都不太可能出現,我們就不將其作為用例了。

接下來,我們需要評估這個問題是否可以用NLP中最新的技術來解決。一個使用統計模型得到的數據有直觀的規律嗎?我們能通過有意義的特徵來表示輸入嗎?我們有明確已知的度量方法來衡量某方法的效果嗎?

最後,我們決定執行用例的正確方法。如果它是一個很複雜困難的問題,在它變得有用之前至少需要好幾年的研究,我們很可能會去立一個研究項目。我們為世界各地頂尖大學的外部研究項目提供資金,並提供研究問題和數據讓其嘗試解決棘手的問題。我們還贊助在SAP學習的博士生。

如果我們認為用例具有很強的商業性且技術足夠成熟,我們將其轉化為一個概念驗證,並最終轉化為商業產品。雖然這個方法用於處理NLP用例是簡單而常識的,但我們發現其在優先使用用例方面有很大幫助。

學術界的研究人員可能無法接觸到一個商業機構來提供關於研究想法的反饋,但是許多資助機構正在努力鼓勵工業界和學術界之間的合作。例如,歐洲聯盟專門資助的Lt-innovate(http://www.lt-innovate.org )鼓勵NLP研究在商業領域的探索。

3.2 NLP的工程方法

我相信,更嚴格地應用(軟體)工程原理和工具可以極大地提高NLP研究帶來實際影響的可能性。

為了解決再現性問題,我建議如下。首先,對再現性的要求應該更加嚴格。在一些研究領域,例如資料庫,對再現性研究的標準要嚴格得多。如果結果不可再現,結果一般不被認為是有效的。然而,NLP系統中大量的參數和實現細節使得很難僅根據論文準確再現已發表的成果。因此,我們應該鼓勵通過使用代碼重現的軟體工具來傳播實驗成果。為重現論文中的實驗結果,我們基本上需要代碼、數據和實驗運行所需參數。幸運的是,開源社區創造了偉大的工具,並使之成為可能。首先,社會代碼庫平台,如GitHub(https://github.com/),用來共享代碼和數據。事實上,共享和貢獻代碼的便利性大大加快了機器學習進程。第二,交互計算環境,如Jupyternotebooks(http://jupyter.org/),連接數據、代碼和文檔,支持成果再現,並可以很方便地共享和發布。最後,軟體容器,如Docker(https://www.docker.com/),允許輕量級虛擬化容納所有軟體依賴關係,並允許以可靠和可再現的方式運行相同的代碼。如果一個Jupyternotebook或Dockerfile在文章中發表,這將更利於其他研究人員再現研究成果,並將其融入更大的系統中。像Codalab(http://codalab.org/)這樣試圖為再現性研究建立在線平台的項目都具有同樣的目標。

在數據可用性問題上,在低資源環境下構建NLP模型方面已經做了大量的工作。(例如見(Duonget al., 2014; Gar- rette and Baldridge, 2013; Wang et al., 2015)),處理有限數據的可用性問題。像領域適用性、半監督學習和遷移學習(Panand Yang, 2010)與解決行業應用領域的數據可用性問題極為相關。最後,近期利用私有數據進行模型訓練的工作(Papernotet al., 2016)和多設備聯合學習(McMahanet al., 2016)似乎是有前景的實用型統計NLP工程研究方向。

3.3 行業論文

我相信有機會通過確立一個行業論文提交格式,在NLP會議上設立相應平台,來促進工業界和研究界之間的交流。這樣可以為大家提供一個場所,討論在建設大規模的自然語言處理系統和在生產環境部署NLP模型時所面臨的實際挑戰,如可擴展能力,權衡精度和計算量之間的成本、魯棒性、數據質量等。這將有助於平衡對純研究論文中測試得分的過分強調和行業應用中對研究成果的使用。行業交流平台在其他團體中是很常見的,並有很多行業佼佼者參與其中。

4 相關工作

Wagstaff(2012)論證了機器學習研究的相關性。他感嘆於對UCI基準數據集和抽象度量的過度關注。Spector等人(2012)提出谷歌的混合研究方法,試圖避免研究與工程的分離。近期,谷歌一些小組已經發表了關於在生產中部署機器學習模型所面臨的實際挑戰的論文(Sculleyet al., 2014; McMahan et al., 2013; Breck et al., 2016)。Belz(2009)討論了自然語言處理技術的研究應用。Mani(2011)提出建議以提高評審過程。沒有一篇文章詳細討論了將NLP研究引入商業產品所面臨的困難—本文的主要貢獻。

5 結論

我強調了那些試圖將NLP研究引入商業產品的研究人員所面臨的困難,並提出了提高商業成功可能性的建議。我希望我的經驗能激發NLP團體的創造性思考與積極討論。

論文下載鏈接:

http://www.aclweb.org/anthology/P/P17/P17-2015.pdf

留言 點贊 發個朋友圈

我們一起探討AI落地的最後一公里

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 讀芯術 的精彩文章:

AI熱詞你居然只知道「深度學習」?
自動駕駛殺了人,究竟誰該去坐牢?

TAG:讀芯術 |