當前位置:
首頁 > 知識 > 深度學習在NLP中的運用?從分詞、詞性到機器翻譯、對話系統

深度學習在NLP中的運用?從分詞、詞性到機器翻譯、對話系統

竹間智能專欄

作者:自然語言與深度學習小組

自然語言是人類知識的抽象濃縮表示,而自然語言理解是人工智慧研究領域中極具挑戰的一個分支。上次,《自然語言處理在 2017 年有哪些值得期待的發展?》中,我們已經講到,2016 年是深度學習大潮衝擊 NLP 的一年,通過去年一年的努力,深度學習在 NLP 領域已經站穩了腳跟。其中,對話交互系統已經成為一個重要的應用研究領域,2017 年的自然語言對話系統,將開創一個新的人機交互時代。

通過深度學習和其他機器學習技術的模型組合,竹間智能也已初步實現了自然語言對話中的意圖識別、上下文理解和多輪對話。本文將基於竹間智能的一些經驗和探索,從分詞、詞性等基礎模塊,到機器翻譯、知識問答等領域,列舉並分析一些深度學習在 NLP 領域的具體運用,希望對大家研究深度學習和 NLP 有所幫助。

事實上,從分詞、詞性、語法解析、信息抽取等基礎模塊,到自然語言生成、機器翻譯、對話管理、知識問答等高層的 NLP 領域,幾乎都可以應用以 CNN、RNN 為代表的深度學習模型,且確實能夠取得不錯的效果。深度學習模型有效降低了語言模型輸入特徵的維度,降低了輸入層的複雜性。另外,深度學習模型具有其他淺層模型不能比擬的靈活性。深度學習模型更複雜,能夠對數據進行更精準的建模,從而增強實驗效果。

深度學習模型可以將文本中的詞高效地表示為分散式連續向量(word2vec),將詞語、文本由詞空間映射到語義空間,這樣的語義表示可以捕獲重要的句法和語義信息,一定程度上緩解了詞面不匹配、數據稀疏、語義鴻溝等問題。Word2vec 的應用可以使許多自然語言處理任務取得突出的表現。Word2vec 雖然可以通過神經網路訓練大規模的語料實現,但仍面臨著 out of vocabulary 的現實。Bahdanau 等人利用 LSTM 模型結合定義知識語料,解決傳統 word embedding 模型中的 out of vocabulary 問題。(框架流程見圖 1,具體見 https://arxiv.org/abs/1706.00286)

圖 1:利用 RNN 解決 Word2Vec 中 out of vocabulary 問題實例

中文不同於英文自然分詞,中文分詞是文本處理的一個基礎步驟,也是自然語言處理的基礎模塊。分詞性能的好壞直接影響比如詞性、句法樹等其他模塊的性能。利用深度學習實現的字嵌入+Bi-LSTM+CRF 中文分詞器,不需要構造額外手工特徵。使用人民日報的 80 萬語料訓練實現,按照字元正確率評估標準能達到 98% 的準確率。其本質上是一個序列標註模型,模型參考的論文是:http://www.aclweb.org/anthology/N16-1030,整個神經網路的主要框架如圖 2 所示。有感興趣的朋友可以去看看,具體實現已在 github 開源 https://github.com/koth/kcws。

圖 2:Word Embedding+Bi-LSTM+CRF 主要框架示意圖

語法解析可以獲得句子的語法結構,例如,哪些單片語合在一起(形成「短語」),哪些單詞是動詞的主題或對象。Syntactic Parsing 明確標出了詞與詞之間的短語結構,隱含了詞與詞之間的關係。而 Dependency Parser 則明確表示出了詞與詞之間的關係。利用神經網路模型解析句子的語法結構的實現可以參考 http://www.petrovi.de/data/acl15.pdf 以及斯坦福的 http://cs.stanford.edu/~danqi/papers/emnlp2014.pdf。除解析文本之外,Richard Socher 等人利用 CNN 模型實現了解析圖片的功能(Parsing Natural Scenes and Natural Language with Recursive Neural Networks)。

文本分類是各種場景在自然語言處理領域中經常使用到的技術,例如判斷文本內容的情感分類(即對文本表達的情感進行分析,如正面、負面的情感,開心、憤怒等情緒等)。深度學習在文本分類中的表現優於其他一些傳統線性模型,例如 https://arxiv.org/abs/1508.04112。Github 上的 https://github.com/harvardnlp/sent-conv-torch 是用於文本分類的 CNN,這個代碼用 GPU 在 Torch 中實現了 Kim(2014)的句子卷積代碼。它複製了現有資料庫中的結果,並允許在任意其它的文本資料庫上訓練模型。

信息抽取,從句子中抽取特定的片段(比如命名實體識別、摘要總結等)。Abstractive Summarization 摘要總結 https://github.com/harvardnlp/NAMAS,該項目包含了來自論文 A Neural Attention Model for Abstractive Summarization(Alexander M. Rush, Sumit Chopra, Jason Weston. https://arxiv.org/pdf/1509.00685.pdf)的摘要抽象總結系統。該項目里發布的代碼可以:提取摘要數據、訓練摘要神經網路模型、用 ROUGE 構建評估集、調試提取的特徵等。

神經指代消解(Neural Coref Models),在論文 Learning Global Features for Coreference Resolution(Sam Wiseman, Alexander M. Rush, and Stuart M. Shieber, NAACL 2015)和 Learning Anaphoricity and Antecedent Ranking Features for Coreference Resolution(Sam Wiseman, Alexander M. Rush, Stuart M. Shieber, and Jason Weston. ACL 2015)中有所描述。Github 中開源的指代消解項目有 https://github.com/swiseman/nn_coref。

自然語言生成,能夠根據一些關鍵信息及其在機器內部的表達形式,經過一個規划過程,來自動生成一段高質量的自然語言文本。目前關於自然語言生成有一些比較有趣的研究,比如 https://github.com/karpathy/char-rnn 是一個基於 RNN 的文本生成器,可以自動生成莎士比亞的劇本或者 shell 代碼;https://link.zhihu.com/?target=https%3A//github.com/phunterlau/wangfeng-rnn 基於 char-rnn 的汪峰歌詞生成器等。

知識問答,可以用深度學習模型,從語料中學習獲得一些問題的答案,比如 https://github.com/facebook/MemNN,是 memmnn 的一個官方實現,可以從諸如「小明在操場;小王在辦公室;小明撿起了足球;小王走進了廚房」的語境中,獲得問題「小王在去廚房前在哪裡?」這樣涉及推理和理解的問題;例如斯坦福的 http://cs.stanford.edu/~danqi/papers/nips2013.pdf 利用深度學習實現的知識問答系統。

神經機器翻譯(NMT)在翻譯中提供了統計方式之外的另一種方式,同時也更加簡便。Github 上基於 Sequence-to-Sequence Learning with Attentional Neural Networks 的開源項目: http://github.com/harvardnlp/seq2seq-attn,以及基於上述項目和 http://www.people.fas.harvard.edu/~yoonkim/data/emnlp_2016.pdf 的安卓系統中的神經機器翻譯。該項目考慮了將知識提煉(knowledge distillation)方式加入機器神經翻譯中,以解決其體量問題,這種方式已在其他領域中被證明能夠成功減小神經模型的尺寸。

在 Github 上還有一些有趣的關於深度學習與自然語言處理的項目。比如:Google Brain 團隊的一組研究人員發布了一個項目 Project Magenta,其主要目標是利用機器學習創作藝術和譜寫曲子 https://github.com/tensorflow/magenta;https://github.com/ryankiros/neural-storyteller 是一個自然語言生成項目,實現了看圖講故事的功能。

以上是對深度學習在 NLP 領域運用的一些總結和說明。最後,再講回竹間全力打造的自然語言對話系統。之前提到 2017 年的對話系統一定是在限定的場景下發揮作用的,而竹間智能基於深度學習打造的人機交互系統,在金融、電商及 IoT 等限定領域中已經實現了比較好的可控人機對話。未來,竹間希望在更多垂直領域形成突破。


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

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


請您繼續閱讀更多來自 機器之心 的精彩文章:

從GPU、TPU到FPGA:一文讀懂神經網路硬體平台戰局
MXNet 發布新版本,支持Core ML和Keras
473個模型試驗告訴你文本分類中的最好編碼方式
如何打造最聰明的城市?
OpenAI 聯手 DeepMind,找到「馴化」AI 新辦

TAG:機器之心 |

您可能感興趣

深度學習在機器翻譯中的應用
OpenAI背後的領袖:計算機視覺、機器翻譯、遊戲和機器人的變革者
FAIR機器翻譯最新研究:提出不使用平行本文的無監督機器翻譯模型
人物 | OpenAI背後的領袖Ilya Sutskever:一個計算機視覺、機器翻譯、遊戲和機器人的變革者
芮勇接受ACM專訪:未來,AI、VR/AR、5G、實時翻譯等技術,將深刻改變智能手機和用戶的體驗
IBM、哈佛聯合提出Seq2Seq-Vis:機器翻譯模型的可視化調試工具
OpenAI背後的領袖Ilya Sutskever:一個計算機視覺、機器翻譯、遊戲和機器人的變革者
INTERFACE | 從技術到產品,搜狗為我們解讀了神經機器翻譯的現狀
LinkedIn推出了基於微軟人工智慧技術的翻譯功能
用強化學習做神經機器翻譯:中山大學&MSRA填補多項空白
Magic Leap手語、文本翻譯系統為聽力、言語障礙者提供有效交流
無監督神經機器翻譯——UNdreaMT
用編碼器-解碼器-重構器框架實現英語-日語的神經機器翻譯
如何在Keras中開發神經機器翻譯系統?
學界 | FAIR新一代無監督機器翻譯:模型更簡潔,性能更優
機器翻譯TMT
耳機中的翻譯機,TOPPERS智能耳機E1測評
無平行文本照樣破解密碼,CipherGAN有望提升機器翻譯水平
用Keras 實現的神經網路機器翻譯
谷歌NLP新方法:無需翻譯,質量優於無監督翻譯模型