再談深度學習文本的表示

jopen 9年前發布 | 61K 次閱讀 深度學習 機器學習

作者:尹文鵬,德國慕尼黑大學博士研究生二年級,自然語言處理方向。先后在西北工業大學和北京大學獲得本科,碩士學位。
小編:文本表示隨著深度學習這把火也跟著旺了起來,各大會議上論文成出不窮,值得關注。

之前在百度開放研究社區寫了篇``深度學習文本的表示'', 現在這篇姑且作為其升級篇吧。 因此本文再談deep learning在文本表示學習方面的體會。

深度模型如何學習和表示詞、短語、句子和篇章呢?

: 以前表示詞是所謂的distributional vector, 現在將詞表示成embedding這種形式我覺得根本區別在于: 前者的每個維度有具體的含義, 而后者沒有(雖然也有人稱其為代表一個latent topic/semantic/element...)。 詞的任何特性應該是由embedding vector中的所有維度共同決定的。 所以傳統distributional vector里面我們可以刪除一些維度或者增添一些新維度,但是embedding一旦訓練好后是不可以這么做的。

目前為了得到更好的embedding的方法大致有: 1) 提出更強大的訓練模型,從Bengio的到C&W的...再到近來有些將外在資源比如wordnet等融入word2vec訓練的目標函數等等。 2)如果說方案1)是很理所當然的話,還有一種就是在得到訓練好的embedding后再處理,比如NAACL'2015的一篇best paper ``Retrofitting Word Vectors to Semantic Lexicons''。 3) 第三種就是借助于更多元化的數據,這里典型的例子就是multilingual比如機器翻譯方面的研究, 以及借助image, video, knowledge base數據來提升word embedding的。 4) 第四種路線包括各種”散打“模式,比如"WordRank : Learning Word Embeddings via Robust Ranking"

另外我還想講講embedding質量的評價問題。 大家最直接想到的應該是各種word similarity tasks。 我覺得還應該更強調以下幾點: 1) 單純用word similarity tasks是不能反映word embedding在真實NLP任務中的性能的,所以更應該使用真實的NLP task作為實驗; 2) 應該覆蓋semantic 和syntactic 兩種基本指標; 3) 有些實驗只關注于frequent words的表現,卻忽視了怎么衡量rare words的質量。

短語: ``phrase''這個詞貌似在NLP文獻里使用比較靈活。 我依然先介紹我們組在學習linguistic phrases方面的工作(如下表)。 在ACL'2014 SRW的工作中我們提出了簡單有效的方法來解決如何學習不連續短語的表示問題,同時我們也發布了世界首份專門涵蓋語言學短語(連續+不連續)表示的資源。

phrase embeddings

上述工作主要針對linguistic phrases,基本上就是指我們學英語過程中背誦的短語了。 另一個很有代表性的工作是隨著word2vec工具一起發布的embedding set里面所含的phrase。 這是基于在大數據里面統計得到的phrase。 這兩個工作都是將phrase處理后作為一個token再來訓練的。 如果不考慮成一個token,就要研究compositionality了。研究組合性的工作在計算語言學界應該開始很早,在deep learning里有比如Socher的工作。 無論是當作一個token還是通過組合學習得到,都各有利弊: 作為一個token會造成phrase 作為rare token出現,難以保證得到高質量的embedding; 而通過compose來學習目前沒得很robust的方案,尤其對于那些低組合度的短語。 這方面可以參看文獻``A Word Embedding Approach to Predicting the Compositionality of Multiword Expressions''(這個工作好不好另說)。最近Yu et al., (TACL'2015) "Learning Composition Models for Phrase Embeddings"結合一些人工特征和word embedding的聯合訓練將組合型下phrase embedding學習在效率和效果上都有了較大提升。

還有一種工作是關于學習表示mutiword expression (MWE)的。方法上個人感覺沒有什么特別的。 但總的來說,學習phrase/MWE層面上的表示一般會對很多任務有好處。比如(Duyu et al, ACL'2014)闡述了phrase的情感與其構成詞的情感很可能不同。

短語的表示學習如上所述很難找到一個好的目標。 Hill et al., (arXiv 2015)提出了一種特殊情況下的phrase表示學習: 當phrase其實是對一個對象的定義或者說描述的時候。 文中考慮的phrase其實就是一個句子,而這個句子所描述的對象作為單個詞出現。所以文中給這個phrase和word建立了一個match。 而這種match也只有在特殊的場景中才有用處。

句子: 句子的表示學習是NLP里面應用深度學習的一大熱點。大體上可以分為有監督和無監督兩種方案。 有監督主要面向各種分類任務,最典型的就是情感分析,各路論文大體上都是玩弄模型,尤其是CNN和RNN,但是模型仔細看起來也都差不多。發展到今天個人感覺已經麻木了。 無監督方案最典型的應該就是Mikolov的paragraph vector了,它學到的應該是一種unspecific的表示向量。我覺得它一個可能提高的方案應該結合上述的phrase embedding思路,將句子的表示在phrase層面上整合得到。現在的方案應該只是在單詞上ensemble得到。

 

句子的建模當然也有一些有趣的新思路。 比如 Zhao et al, (IJCAI'2015)提出的同時考慮多種粒度:word--phrase--sentence的。這種想法也和我們在NAACL'2015 paraphrase任務上的結論是一致的。

篇章: 對篇章的表示目前有方案1) Oxford的Misha的工作喜歡先用CNN建立從word到sentence的模型,得到句子的表示后再用CNN建立sentence到doc的模型;2)其他的工作感覺模型上都差不多,都著重于對輸入的理解上,比如(Xu et al., CIKM'2012, Johnson et al., NAACL'2015, Zhang et al., arXiv 2015)

 

幾大前景方向:

個人覺得深度學習在自然語言處理領域有如下幾個很有前途的應用領域:

  • 多媒體結合: 現在很多深度學習的研究都是跨媒體的,常見的有給圖片產生描述,給視頻產生描述之類的。也有通過圖片或視頻或音頻來輔助訓練文字的表示。歸根結底,這是與人類學習過程向擬合的,必然是深度學習發展的趨勢。
  • 問答系統: 我相信智能問答系統的研究還相當初級,目前能大致應付的也僅僅是簡單預先設置的問題類型。要建立更智能的問答系統,需要建立大型的,實時的知識庫,以及推理算法。深度學習貌似在知識的表示,知識庫的完善上有所幫助。但其能否在QA任務上有更深的介入,讓我們拭目以待。 目前主流互聯網公司都好像在涉足QA系統。
  • 翻譯系統: 機器翻譯論文貌似是各大會議的重頭,有時候感覺有點``小濫'',但機器翻譯也是最直接讓用戶受益的技術之一。目前英語對德語,法語等翻譯效果感覺還挺不錯。但是中文等不同語系的還有很長的路要走。深度學習跨語言訓練的效果最近使得機器翻譯領域進步不少。
  • 信息抽取與知識庫建立:這個感覺是最終實現人工智能必須要進行的艱苦卓絕而又漫長的基礎工程。目前很多任務都是在極為有限的數據上跑,無論多么先進的算法都會遇到瓶頸(就像給一個data讓你訓練word embedding的時候,到word2vec后我想已經很難再提高了,除非各種加外在的數據)。而單純的big data還不夠,只有抽取出知識并建立知識庫才能體現其效力。
  • 自動文本生成:讓計算機通過學習然后自動生成語法正確,語義明確,又有層次的文本,這應該是NLP終極夢想之一。無論是上面說的問答系統,文摘系統,都會建立在計算機的這種文本輸出能力。 這方面有篇很有趣的文章"A Hierarchical Neural Autoencoder for Paragraphs and Documents"
  • </ul>

    眼界所限,隨便漫談,歡迎討論。

    來自:http://www.52cs.org/?p=557

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!