自然語言處理(NLP)一直是人工智能領域的重要話題,而人類語言的複雜性也給NLP布下了重重困難等待解決。随着深度學習(Deep Learning)的熱潮來臨,有許多新方法來到了NLP領域,給相關任務帶來了更多優秀成果,也給大家帶來了更多應用和想象的空間。
近期,雷鋒網 AI 研習社就邀請到了達觀資料的張健為大家分享了一些NLP方面的知識和案例。
分享主題:達觀資料 NLP 技術的應用實踐和案例分析
分享人:張健,達觀資料聯合創始人,文本挖掘組總負責人,包括文本稽核系統的架構設計、開發和日常維護更新,文本挖掘功能開發。複旦大學計算機軟體與理論碩士,曾在盛大創新院負責相關推薦子產品,在盛大文學資料中心負責任務排程平台系統和叢集維護管理,資料平台維護管理和開發智能稽核系統。對大資料技術、機器學習算法有較深入的了解和實踐經驗。
此次分享中,張健按照NLP概述、文本分類的傳統方法、深度學習在文本分類中的應用和案例介紹四個闆塊,結合在達觀資料的系統設計和應用經驗,分享了他的見解。
達觀資料是一家專注于文本挖掘和搜尋推薦技術服務的企業,總部位于上海浦東軟體園。達觀的NLP挖掘系統的設計思路是,使用者直接接觸的到的最終功能,他們稱為是篇章級應用,可以處理整段的文本,提供的功能包括文本自動分類、情感分析、自動文本标簽、違禁詞彙和垃圾評論識别等。在下方支援編章級應用的是短串級應用,更底層一些,在詞組、短句的層面上提供結構分析和變形、詞位置分析、近義詞替換等功能。最底層、最小粒度的是詞彙級應用,比如中文分詞、詞粒度分析、調性标柱等等。
文本挖掘的任務可以分成四類:
同步的序列到序列,特點是輸入文本的每一個位置都有對應的輸出
異步序列到序列,輸入和輸出可以不完全對應
序列到類别,給文本加上标簽
類别到序列,根據給定的标簽生成文本
然後張健依次介紹了序列到序列任務中幾種問題的常見解決方案。
在序列标注/命名實體識别問題中,每個詞都會有各自的标簽;選用的詞彙标簽體系越複雜,标注精度就越高,但同時訓練也就越慢。是以需要根據人力、時間等成本選擇合适的标簽體系。
英文不需要分詞,但是多了詞形還原和詞根提取的問題。在這裡,張健推薦WordNet來幫助解決相關問題。
接下來進入了今天講解的重點,就是文本分類。
傳統機器學習方法做文本分類會需要文檔模組化、文本語意、特征抽取、特征向量賦權等步驟。
具體到分類器的設計,常用的四種思路為樸素貝葉斯分類器、支援向量機分類器、KNN方法和決策樹方法。
然後還可以聚合多個分類器來提高準确率。最簡單的想法是用多個模型分别預測然後投票,實際的聚合方法是另外訓練一個分類器,模仿多個分類器組合後的結果。這裡需要原來的幾個分類器效果不能太接近,而且不能有太差的。
在有了深度學習以後,文本分類又有了很多效果出色的新方法。
首先可以用CNN做文本分類,它不需要人工特征,而對詞序包含的資訊提取能力更強。
在基礎的CNN之上,可以在其中不同的層使用不同的思路,衍生出來RNN+CNN、DCNN(動态池化,更适合不同長度的文本)、Very Deep Network等等。
常用的方法還有RNN和LSTM,适合變長序列的模組化。序列過長的時候,一般的RNN因為容量的問題會丢失資訊、誤差增大,它的變種LSTM中通過三個門之間的資訊保留和更新,更好地解決了長距離依賴的問題。雙向LSTM同時有正向和反向的部分,可以同時捕獲上文和下文的資訊,表現也比單向的更好。
然後就是近期風靡的注意力模型,是編碼解碼器的更新版本。Encoder-Decoder模型的問題是,輸入中的每個詞都對輸出有同樣程度的影響。但實際語言中往往不是這樣的,注意力模型就可以對輸入中的不同詞賦予不同的權重,讓對語意影響程度更高的詞語對輸出有更高的影響力,進而在輸出中更好地展現了輸入的關鍵資訊。
張健最後結合達觀資料的業務介紹了一些NLP的應用案例。
比如結合定制行業專業語料、垂直語意模型、離線統計、語意拓展等等方法進行新聞分類,結合無監督預訓練+持續Fune Tuning的訓練方法,不僅可以分為新聞、财經、科技、體育、娛樂、汽車等大類,财經中股票、基金、外彙,體育中NBA、英超、中超等細分類别也可以分得出來。
第二個案例是垃圾資訊識别。現在許多廣告資訊都會用特殊字元(火星文)嘗試騙過識别系統,就需要對變形詞做識别還原,方法包括去除特殊符号、同音和繁簡變換、偏旁拆分等。還可以先用語言模型識别文字,發現語意不通順、胡言亂語的,就很有可能是故意規避關鍵字檢查的垃圾資訊。
第三個案例是情感分析。簡單的方法可以根據直接表達感情的關鍵詞做判斷,還可以做特征工程然後用機器學習的方法識别語句模式,以及用深度學習的方法得到更好的資訊提取效果。
最後張健還分享了一個他們的文本挖掘系統的使用連結,感興趣的讀者可以嘗試一下他們系統不同層次的豐富功能。
本次分享的視訊錄像可以點此觀看
本文作者:楊曉凡