獨家 | 一文讀懂自然語言處理NLP(附學習資料)



前言

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

自然語言處理是文本挖掘的研究領域之一,是人工智能和語言學領域的分支學科。在此領域中探討如何處理及運用自然語言。


對于自然語言處理的發展歷程,可以從哲學中的經驗主義理性主義說起。基于統計的自然語言處理是哲學中的經驗主義,基于規則的自然語言處理是哲學中的理性主義。在哲學領域中經驗主義理性主義的斗爭一直是此消彼長,這種矛盾與斗爭也反映在具體科學上,如自然語言處理。

早期的自然語言處理具有鮮明的經驗主義色彩。如1913年馬爾科夫提出馬爾科夫隨機過程與馬爾科夫模型的基礎就是“手工查頻”,具體說就是統計了《歐根·奧涅金》長詩中元音與輔音出現的頻度;1948年香農把離散馬爾科夫的概率模型應用于語言的自動機,同時采用手工方法統計英語字母的頻率。

然而這種經驗主義到了喬姆斯基時出現了轉變。

1956年喬姆斯基借鑒香農的工作,把有限狀態機用作刻畫語法的工具,建立了自然語言的有限狀態模型,具體來說就是用“代數”和“集合”將語言轉化為符號序列,建立了一大堆有關語法的數學模型。這些工作非常偉大,為自然語言和形式語言找到了一種統一的數學描述理論,一個叫做“形式語言理論”的新領域誕生了。這個時代,“經驗主義”被全盤否定,“理性主義”算是完勝。

然而在20世紀50年代末到60年代中期,經驗主義東山再起了。多數學者普遍認為只有詳盡的歷史語料才能帶來靠譜的結論。于是一些比較著名的理論與算法就誕生了,如貝葉斯方法(Bayesian Method)、隱馬爾可夫、最大熵、Viterbi算法、支持向量機之類。世界上第一個聯機語料庫也是在那個時候的Brown University誕生的。但是總的來說,這個時代依然是基于規則的理性主義的天下,經驗主義雖然取得了不俗的成就,卻依然沒有受到太大的重視。但是金子總會發光的。

90年代以來,基于統計的自然語言處理就開始大放異彩了。首先是在機器翻譯領域取得了突破,因為引入了許多基于語料庫的方法(哈欽斯,英國著名學者)。1990年在芬蘭赫爾辛基舉辦的第13屆國際計算語言學會議確定的主題是“處理大規模真實文本的理論、方法與工具”,大家的重心開始轉向大規模真實文本了,傳統的僅僅基于規則的自然語言處理顯然力不從心了。學者們認為,大規模語料至少是對基于規則方法有效的補充。到了1994~1999年,經驗主義就開始空前繁榮了。如句法剖析、詞類標注、參照消解、話語處理的算法幾乎把“概率”與“數據”作為標準方法,成為了自然語言處理的主流。?


總之,理性主義在自然語言處理的發展史上是有重要地位的也輝煌了幾十年,歷史事物常常是此消彼長的,至于誰好誰壞,不是固定的,取決于不同時代的不同歷史任務。總的來說,基于規則的理性主義在這個時代被提及得比較少,用的也比較少,主要是由于以下幾個缺陷:


  • 魯棒性差,過于嚴格的規則導致對非本質錯誤的零容忍(這一點在最近的一些新的剖析技術上有所改善);

  • 研究強度大,泛化能力差。一個研究要語言學家、語音學家和各種領域的專家配合,在當前大規模文本處理的時間、資源要求下太不劃算。且機器學習的方法很難應用,難以普及;

  • 實踐性差。基于統計的經驗主義方法可以根據數據集不斷對參數進行優化,而基于規則的方法就不可以,這在當前數據量巨大的情況下,影響是致命的,因為前者常常可以通過增大訓練集來獲得更好的效果,后者則死板許多,結果往往不盡人意。


但理性主義還是有很多優點的,同樣經驗主義也有很多缺陷,算是各有所長、各有所短。不同學科有不同學科的研究角度,只能說某些角度在某個特定的歷史時期對提高生產力“更有用”,所以重視的人更多。但“有用”不代表勝利,暫時的“無用”更不能說是科學層面上的“失敗”。尤其是在當前中文自然語言處理發展還不甚成熟的時期,私以為基于統計的方法在很多方面并不完美,“理性主義”的作用空間還很大,需要更多的人去關注、助力。

——《統計自然語言處理》宗成慶


自然語言處理涉及的范疇如下(維基百科):


  • 中文自動分詞(Chinese word segmentation)

  • 詞性標注(Part-of-speech tagging)

  • 句法分析(Parsing)

  • 自然語言生成(Natural language generation)

  • 文本分類(Text categorization)

  • 信息檢索(Information retrieval)

  • 信息抽取(Information extraction)

  • 文字校對(Text-proofing)

  • 問答系統(Question answering)

  • 機器翻譯(Machine translation)

  • 自動摘要(Automatic summarization)


本文針對其中幾個主要領域的研究現狀和進展,通過論文、博客等資料,結合自身的學習和實踐經歷進行淺顯地介紹。由于個人實踐經驗不足,除中文分詞、自動文摘、文本分類、情感分析和話題模型方面進行過實際業務的實踐,其他方面經驗欠缺,若有不當之處,歡迎童鞋們批評指正!

??

目錄


640?wx_fmt=png&wxfrom=5&wx_lazy=1

?

一. 中文分詞


中文分詞主要包括詞的歧義切分和未登錄詞識別,主要可以分為基于詞典和基于統計的方法,最新的方法是多種方法的混合。從目前漢語分詞研究的總體水平看,F1值已經達到95%左右,主要分詞錯誤是由新詞造成的,尤其對領域的適應性較差。下面主要介紹一下中文分詞存在的主要問題和分詞方法。


1. 問題


1.1 歧義切分


切分歧義處理包括兩部分內容:


  • 切分歧義的檢測;

  • 切分歧義的消解。


這兩部分在邏輯關系上可分成兩個相對獨立的步驟。


  • 切分歧義的檢測。“最大匹配法”(精確的說法應該叫“最長詞優先匹配法”) 是最早出現、同時也是最基本的漢語自動分詞方法。依掃描句子的方向,又分正向最大匹配 MM(從左向右)和逆向最大匹配 RMM(從右向左)兩種。最大匹配法實際上將切分歧義檢測與消解這兩個過程合二為一,對輸入句子給出唯一的切分可能性,并以之為解。從最大匹配法出發導出了“雙向最大匹配法”,即MM+ RMM。雙向最大匹配法存在著切分歧義檢測盲區。


針對切分歧義檢測,另外兩個有價值的工作是“最少分詞法”,這種方法歧義檢測能力較雙向最大匹配法要強些,產生的可能切分個數僅略有增加;和“全切分法”,這種方法窮舉所有可能的切分,實現了無盲區的切分歧義檢測,但代價是導致大量的切分“垃圾”。


  • 切分歧義的消解。典型的方法包括句法統計和基于記憶的模型。句法統計將自動分詞和基于 Markov 鏈的詞性自動標注技術結合起來,利用從人工標注語料庫中提取出的詞性二元統計規律來消解切分歧義,基于記憶的模型對偽歧義型高頻交集型歧義切分,可以把它們的正確(唯一)切分形式預先記錄在一張表中,其歧義消解通過直接查表即可實現。


1.2 未登錄詞識別


未登錄詞大致包含兩大類:


  • 新涌現的通用詞或專業術語等;

  • 專有名詞。如中國人 名、外國譯名、地名、機構名(泛指機關、團體和其它企事業單位)等。


前一種未登錄詞理 論上是可預期的,能夠人工預先添加到詞表中(但這也只是理想狀態,在真實環境下并不易 做到);后一種未登錄詞則完全不可預期,無論詞表多么龐大,也無法囊括。真實文本中(即便是大眾通用領域),未登錄詞對分詞精度的影響超過了歧義切分。未登錄詞處理在實用型分詞系統中占的份量舉足輕重。


  • 新涌現的通用詞或專業術語。對這類未登錄詞的處理,一般是在大規模語料庫的支持下,先由機器根據某種算法自動生成一張候選詞表(無監督的機器學習策略),再人工篩選出其中的新詞并補充到詞表中。鑒于經過精加工的千萬字、甚至億字級的漢語分詞語料庫目前還是水月鏡花,所以這個方向上現有的研究無一不以從極大規模生語料庫中提煉出的 n 元漢字串之分布(n≥2)為基礎。其中漢字之間的結合力通過全局統計量包括互信息、t- 測試差、卡方統計量、字串頻等來表示。


  • 專有名詞。對專有名詞的未登錄詞的處理,首先依據從各類專有名詞庫中總結出的統計知識 (如姓氏用字及其頻度)和人工歸納出的專有名詞的某些結構規則,在輸入句子中猜測可能成為專有名詞的漢字串并給出其置信度,之后利用對該類專有名詞有標識意義的緊鄰上下文信息(如稱謂),以及全局統計量和局部統計量(局部統計量是相對全局統計量而言的,是指從當前文章得到且其有效范圍一般僅限于該文章的統計量,通常為字串頻),進行進一步的鑒定。已有的工作涉及了四種常見的專有名詞:中國人名的識別、外國譯名的識別、中國地名的識別及機構名的識別。從各家報告的實驗結果來看,外國譯名的識別效果最好,中國人名次之,中國地名再次之,機構名最差。而任務本身的難度實質上也是遵循這個順序由小增大。 沈達陽、孫茂松等(1997b )特別強調了局部統計量在未登錄詞處理中的價值。


2. 方法


2.1 基于詞典的方法


在基于詞典的方法中,對于給定的詞,只有詞典中存在的詞語能夠被識別,其中最受歡迎的方法是最大匹配法(MM),這種方法的效果取決于詞典的覆蓋度,因此隨著新詞不斷出現,這種方法存在明顯的缺點。


2.2 基于統計的方法


基于統計的方法由于使用了概率或評分機制而非詞典對文本進行分詞而被廣泛應用。這種方法主要有三個缺點:一是這種方法只能識別OOV(out-of-vocabulary)詞而不能識別詞的類型,比如只能識別為一串字符串而不能識別出是人名;二是統計方法很難將語言知識融入分詞系統,因此對于不符合語言規范的結果需要額外的人工解析;三是在許多現在分詞系統中,OOV詞識別通常獨立于分詞過程。


二. 詞性標注


詞性標注是指為給定句子中的每個詞賦予正確的詞法標記,給定一個切好詞的句子,詞性標注的目的是為每一個詞賦予一個類別,這個類別稱為詞性標記(part-of-speech tag),比如,名詞(noun)、動詞(verb)、形容詞(adjective) 等。它是自然語言處理中重要的和基礎的研究課題之一,也是其他許多智能信息處理技術的基礎,已被廣泛的應用于機器翻譯、文字識別、語音識別和信息檢索等領域。


詞性標注對于后續的自然語言處理工作是一個非常有用的預處理過程,它的準確程度將直接影響到后續的一系列分析處理任務的效果。 長期以來,兼類詞的詞性歧義消解和未知詞的詞性識別一直是詞性標注領域需要解決的熱點問題。當兼類詞的詞性歧義消解變得困難時,詞性的標注就出現了不確定性的問題。而對那些超出了詞典收錄范圍的詞語或者新涌現的詞語的詞性推測,也是一個完整的標注系統所應具備的能力。


1. 詞性標注方法

?

詞性標注是一個非常典型的序列標注問題。最初采用的方法是隱馬爾科夫生成式模型, 然后是判別式的最大熵模型、支持向量機模型,目前學術界通常采用結構感知器模型和條件隨機場模型。近年來,隨著深度學習技術的發展,研究者們也提出了很多有效的基于深層神經網絡的詞性標注方法。


迄今為止,詞性標注主要分為基于規則的和基于統計的方法。


  • 規則方法能準確地描述詞性搭配之間的確定現象,但是規則的語言覆蓋面有限,龐大的規則庫的編寫和維護工作則顯得過于繁重,并且規則之間的優先級和沖突問題也不容易得到滿意的解決。


  • 統計方法從宏觀上考慮了詞性之間的依存關系,可以覆蓋大部分的語言現象,整體上具有較高的正確率和穩定性,不過其對詞性搭配確定現象的描述精度卻不如規則方法。針對這樣的情況,如何更好地結合利用統計方法和規則處理手段,使詞性標注任務既能夠有效地利用語言學家總結的語言規則,又可以充分地發揮統計處理的優勢成為了詞性標注研究的焦點。


2. 詞性標注研究進展


  • 詞性標注和句法分析聯合建模:研究者們發現,由于詞性標注和句法分析緊密相關,詞性標注和句法分析聯合建模可以同時顯著提高兩個任務準確率。


  • 異構數據融合:漢語數據目前存在多個人工標注數據,然而不同數據遵守不同的標注規范,因此稱為多源異構數據。近年來,學者們就如何利用多源異構數據提高模型準確率,提出了很多有效的方法,如基于指導特征的方法、基于雙序列標注的方法、以及基于神經網絡共享表示的方法。


  • 基于深度學習的方法:傳統詞性標注方法的特征抽取過程主要是將固定上下文窗口的詞進行人工組合,而深度學習方法能夠自動利用非線性激活函數完成這一目標。進一步,如果結合循環神經網絡如雙向 LSTM,則抽取到的信息不再受到固定窗口的約束,而是考慮整個句子。除此之外,深度學習的另一個優勢是初始詞向量輸入本身已經刻畫了詞語之間的相似度信息,這對詞性標注非常重要。

?

三. 句法分析


語言語法的研究有非常悠久的歷史,可以追溯到公元前語言學家的研究。不同類型的句 法分析體現在句法結構的表示形式不同,實現過程的復雜程度也有所不同。因此,科研人員 采用不同的方法構建符合各個語法特點的句法分析系統。其主要分類如下圖所示:


640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


下文主要對句法分析技術方法和研究現狀進行總結分析:


1. 依存句法分析


依存語法存在一個共同的基本假設:句法結構本質上包含詞和詞之間的依存(修飾)關系。一個依存關系連接兩個詞,分別是核心詞( head)和依存詞( dependent)。依存關系可以細分為不同的類型,表示兩個詞之間的具體句法關系。目前研究主要集中在數據驅動的依存句法分析方法,即在訓練實例集合上學習得到依存句法分析器,而不涉及依存語法理論的研究。數據驅動的方法的主要優勢在于給定較大規模的訓練數據,不需要過多的人工干預,就可以得到比較好的模型。因此,這類方法很容易應用到新領域和新語言環境。數據驅動的依存句法分析方法主要有兩種主流方法:基于圖( graph-based)的分析方法基于轉移( transition-based)的分析方法。


2.1 基于圖的依存句法分析方法


基于圖的方法將依存句法分析問題看成從完全有向圖中尋找最大生成樹的問題。一棵依存樹的分值由構成依存樹的幾種子樹的分值累加得到。根據依存樹分值中包含的子樹的復雜度,基于圖的依存分析模型可以簡單區分為一階和高階模型。高階模型可以使用更加復雜的子樹特征,因此分析準確率更高,但是解碼算法的效率也會下降。基于圖的方法通常采用基于動態規劃的解碼算法,也有一些學者采用柱搜索(beam search)來提高效率。學習特征權重時,通常采用在線訓練算法,如平均感知器( averaged perceptron)。


2.2 基于轉移的依存句法分析方法


基于轉移的方法將依存樹的構成過程建模為一個動作序列,將依存分析問題轉化為尋找最優動作序列的問題。早期,研究者們使用局部分類器(如支持向量機等)決定下一個動作。近年來,研究者們采用全局線性模型來決定下一個動作,一個依存樹的分值由其對應的動作序列中每一個動作的分值累加得到。特征表示方面,基于轉移的方法可以充分利用已形成的子樹信息,從而形成豐富的特征,以指導模型決策下一個動作。模型通過貪心搜索或者柱搜索等解碼算法找到近似最優的依存樹。和基于圖的方法類似,基于轉移的方法通常也采用在線訓練算法學習特征權重。


2.3 多模型融合的依存句法分析方法


基于圖和基于轉移的方法從不同的角度解決問題,各有優勢。基于圖的模型進行全局搜索但只能利用有限的子樹特征,而基于轉移的模型搜索空間有限但可以充分利用已構成的子樹信息構成豐富的特征。詳細比較發現,這兩種方法存在不同的錯誤分布。因此,研究者們使用不同的方法融合兩種模型的優勢,常見的方法有:stacked learning;對多個模型的結果加權后重新解碼(re-parsing);從訓練語料中多次抽樣訓練多個模型(bagging)。?


2. 短語結構句法分析


分詞,詞性標注技術一般只需對句子的局部范圍進行分析處理,目前已經基本成熟,其標志就是它們已經被成功地用于文本檢索、文本分類、信息抽取等應用之中,而句法分析、語義分析技術需要對句子進行全局分析,目前,深層的語言分析技術還沒有達到完全實用的程度。


短語結構句法分析的研究基于上下文無關文法(Context Free Grammar,CFG)。上下文無關文法可以定義為四元組,其中 T 表示終結符的集合(即詞的集合),N 表示非終結符的集合(即文法標注和詞性標記的集合),S 表示充當句法樹根節點的特殊非終結符,而 R 表示文法規則的集合,其中每條文法規則可以表示為 Ni?g ,這里的 g 表示由非終結符與終結符組成的一個序列(允許為空)。


根據文法規則的來源不同,句法分析器的構建方法總體來說可以分為兩大類:


  • 人工書寫規則

  • 從數據中自動學習規則


人工書寫規則受限于規則集合的規模:隨著書寫的規則數量的增多,規則與規則之間的沖突加劇,從而導致繼續添加規則變得困難。


與人工書寫規模相比,自動學習規則的方法由于開發周期短和系統健壯性強等特點,加上大規模人工標注數據,比如賓州大學的多語種樹庫的推動作用,已經成為句法分析中的主流方法。而數據驅動的方法又推動了統計方法在句法分析領域中的大量應用。為了在句法分析中引入統計信息,需要將上下文無關文法擴展成為概率上下文無關文法(Probabilistic Context Free Grammar,PCFG),即為每條文法規則指定概率值。


概率上下文無關文法與非概率化的上下文無關文法相同,仍然表示為四元組,區別在于概率上下文無關文法中的文法規則必須帶有概率值。獲得概率上下文無關文法的最簡單的方法是直接從樹庫中讀取規則,利用最大似然估計(Maximum Likelihood Estimation,MLE)計算得到每條規則的概率值。使用該方法得到的文法可以稱為簡單概率上下文無關文法。在解碼階段,CKY 10等解碼算法就可以利用學習得到的概率上下文無關文法搜索最優句法樹。


雖然基于簡單概率上下文無關文法的句法分析器的實現比較簡單,但是這類分析器的性能并不能讓人滿意。性能不佳的主要原因在于上下文無關文法采取的獨立性假設過強:一條文法規則的選擇只與該規則左側的非終結符有關,而與任何其它上下文信息無關。文法中缺乏其它信息用于規則選擇的消歧。因此后繼研究工作的出發點大都基于如何弱化上下文無關文法中的隱含獨立性假設。


3. 總結


分詞,詞性標注技術一般只需對句子的局部范圍進行分析處理,目前已經基本成熟,其標志就是它們已經被成功地用于文本檢索、文本分類、信息抽取等應用之中,而句法分析、語義分析技術需要對句子進行全局分析,目前,深層的語言分析技術還沒有達到完全實用的程度。


四. 文本分類


文本分類是文本挖掘的核心任務,一直以來倍受學術界和工業界的關注。文本分類(Text Classification)的任務是根據給定文檔的內容或主題,自動分配預先定義的類別標簽。


對文檔進行分類,一般需要經過兩個步驟:


  • 文本表示

  • 學習分類


文本表示是指將無結構化的文本內容轉化成結構化的特征向量形式,作為分類模型的輸入。在得到文本對應的特征向量后,就可以采用各種分類或聚類模型,根據特征向量訓練分類器或進行聚類。因此,文本分類或聚類的主要研究任務和相應關鍵科學問題如下:


1. 任務


1.1?? ?構建文本特征向量


構建文本特征向量的目的是將計算機無法處理的無結構文本內容轉換為計算機能夠處 理的特征向量形式。文本內容特征向量構建是決定文本分類和聚類性能的重要環節。為了根據文本內容生成特征向量,需要首先建立特征空間。其中典型代表是文本詞袋(Bag of Words)模型,每個文檔被表示為一個特征向量,其特征向量每一維代表一個詞項。所有詞項構成的向量長度一般可以達到幾萬甚至幾百萬的量級。


這樣高維的特征向量表示如果包含大量冗余噪音,會影響后續分類聚類模型的計算效率和效果。因此,我們往往需要進行特征選擇(Feature Selection)與特征提取(Feature Extraction),選取最具有區分性和表達能力的特征建立特征空間,實現特征空間降維;或者,進行特征轉換(Feature Transformation),將高維特征向量映射到低維向量空間。特征選擇、提取或轉換是構建有效文本特征向量的關鍵問題。


1.2 建立分類或聚類模型


在得到文本特征向量后,我們需要構建分類或聚類模型,根據文本特征向量進行分類聚類


其中,分類模型旨在學習特征向量與分類標簽之間的關聯關系,獲得最佳的分類效果; 而聚類模型旨在根據特征向量計算文本之間語義相似度,將文本集合劃分為若干子集。 分類和聚類是機器學習領域的經典研究問題。


我們一般可以直接使用經典的模型或算法解決文本分類或聚類問題。例如,對于文本分類,我們可以選用樸素貝葉斯、決策樹、k-NN、 邏輯回歸(Logistic Regression)、支持向量機(Support Vector Machine, SVM)等分類模型。 對于文本聚類,我們可以選用 k-means、層次聚類或譜聚類(spectral clustering)等聚類算法。 這些模型算法適用于不同類型的數據而不僅限于文本數據。


但是,文本分類或聚類會面臨許多獨特的問題,例如,如何充分利用大量無標注的文本數據,如何實現面向文本的在線分類或聚類模型,如何應對短文本帶來的表示稀疏問題,如何實現大規模帶層次分類體系的分類功能,如何充分利用文本的序列信息和句法語義信息,如何充分利用外部語言知識庫信息,等等。這些問題都是構建文本分類和聚類模型所面臨的關鍵問題。


2. 模型


2.1 文本分類模型


近年來,文本分類模型研究層出不窮,特別是隨著深度學習的發展,深度神經網絡模型 也在文本分類任務上取得了巨大進展。我們將文本分類模型劃分為以下三類:


  • 基于規則的分類模型


基于規則的分類模型旨在建立一個規則集合來對數據類別進行判斷。這些規則可以從訓 練樣本里自動產生,也可以人工定義。給定一個測試樣例,我們可以通過判斷它是否滿足某 些規則的條件,來決定其是否屬于該條規則對應的類別。


典型的基于規則的分類模型包括決策樹(Decision Tree)、隨機森林(Random Forest)、 RIPPER 算法等。


  • 基于機器學習的分類模型


典型的機器學習分類模型包括貝葉斯分類器(Na?ve Bayes)、線性分類器(邏輯回歸)、 支持向量機(Support Vector Machine, SVM)、最大熵分類器等。

SVM 是這些分類模型中比較有效、使用較為廣泛的分類模型。它能夠有效克服樣本分布不均勻、特征冗余以及過擬合等問題,被廣泛應用于不同的分類任務與場景。通過引入核函數,SVM 還能夠解決原始特征空間線性不可分的問題。

除了上述單分類模型,以 Boosting 為代表的分類模型組合方法能夠有效地綜合多個弱分類模型的分類能力。在給定訓練數據集合上同時訓練這些弱分類模型,然后通過投票等機制綜合多個分類器的預測結果,能夠為測試樣例預測更準確的類別標簽。


  • 基于神經網絡的方法


以人工神經網絡為代表的深度學習技術已經在計算機視覺、語音識別等領域取得了巨大 成功,在自然語言處理領域,利用神經網絡對自然語言文本信息進行特征學習和文本分類, 也成為文本分類的前沿技術。


前向神經網絡:多層感知機(Multilayer Perceptron, MLP)是一種典型的前向神經網 絡。它能夠自動學習多層神經網絡,將輸入特征向量映射到對應的類別標簽上。通過引入非線性激活層,該模型能夠實現非線性的分類判別式。包括多層感知機在內的文本分類模型均使用了詞袋模型假設,忽略了文本中詞序和結構化信息。對于多層感知機模型來說,高質量的初始特征表示是實現有效分類模型的必要條件。


為了更加充分地考慮文本詞序信息,利用神經網絡自動特征學習的特點,研究者后續提出了卷積神經網絡(Convolutional Neural Network, CNN)和循環神經網絡(Recurrent Neural Network, RNN)進行文本分類。基于 CNN 和 RNN 的文本分類模型輸入均為原始的詞序列,輸出為該文本在所有類別上的概率分布。這里,詞序列中的每個詞項均以詞向量的形式作為輸入。


卷積神經網絡(CNN):卷積神經網絡文本分類模型的主要思想是,對詞向量形式的文本輸入進行卷積操作。CNN 最初被用于處理圖像數據。與圖像處理中選取二維域進行卷積操作不同,面向文本的卷積操作是針對固定滑動窗口內的詞項進行的。經過卷積層、 池化層和非線性轉換層后,CNN 可以得到文本特征向量用于分類學習。CNN 的優勢在于在計算文本特征向量過程中有效保留有用的詞序信息。針對 CNN 文本分類模型還有許多改進工作, 如基于字符級 CNN 的文本分類模型、將詞位置信息加入到詞向量。


循環神經網絡(RNN):循環神經網絡將文本作為字符或詞語序列{?0 , … , ??},對于第?時刻輸入的字符或詞語??,都會對應產生新的低維特征向量s?。如圖 3 所示,s?的取值會受到 ??和上個時刻特征向量s??1的共同影響,s?包含了文本序列從?0到??的語義信息。因此,我們可以利用s?作為該文本序列的特征向量,進行文本分類學習。與 CNN 相比,RNN 能夠更自然地考慮文本的詞序信息,是近年來進行文本表示最流行的方案之一。


為了提升 RNN 對文本序列的語義表示能力,研究者提出很多擴展模型。例如,長短時記憶網絡(LSTM)提出記憶單元結構,能夠更好地處理文本序列中的長程依賴,克服循環神經網絡梯度消失問題。如圖 4 是 LSTM 單元示意圖,其中引入了三個門(input gate, output gate, forget gate)來控制是否輸入輸出以及記憶單元更新。


提升 RNN 對文本序列的語義表示能力的另外一種重要方案是引入選擇注意力機制 (Selective Attention),可以讓模型根據具體任務需求對文本序列中的詞語給予不同的關 注度。


3. 應用


文本分類技術在智能信息處理服務中有著廣泛的應用。例如,大部分在線新聞門戶網站(如新浪、搜狐、騰訊等)每天都會產生大量新聞文章,如果對這些新聞進行人工整理非常耗時耗力,而自動對這些新聞進行分類,將為新聞歸類以及后續的個性化推薦等都提供巨大幫助。互聯網還有大量網頁、論文、專利和電子圖書等文本數據,對其中文本內容進行分類,是實現對這些內容快速瀏覽與檢索的重要基礎。此外,許多自然語言分析任務如觀點挖掘、垃圾郵件檢測等,也都可以看作文本分類或聚類技術的具體應用。


對文檔進行分類,一般需要經過兩個步驟:(1)文本表示,以及(2)學習。文本表示是指將無結構化的文本內容轉化成結構化的特征向量形式,作為分類模型的輸入。在得到文本對應的特征向量后,就可以采用各種分類或聚類模型,根據特征向量訓練分類器


五. 信息檢索


信息檢索(Information Retrieval, IR)是指將信息按一定的方式加以組織,并通過信息查找滿足用戶的信息需求的過程和技術。1951 年,Calvin Mooers 首次提出了“信息檢索”的概念,并給出了信息檢索的主要任務:協助信息的潛在用戶將信息需求轉換為一張文獻來源列表,而這些文獻包含有對其有用的信息。信息檢索學科真正取得長足發展是在計算機誕生并得到廣泛應用之后,文獻數字化使得信息的大規模共享及保存成為現實,而檢索就成為了信息管理與應用中必不可少的環節。


互聯網的出現和計算機硬件水平的提高使得人們存儲和處理信息的能力得到巨大的提高,從而加速了信息檢索研究的進步,并使其研究對象從圖書資料和商用數據擴展到人們生活的方方面面。伴隨著互聯網及網絡信息環境的迅速發展,以網絡信息資源為主要組織對象的信息檢索系統:搜索引擎應運而生,成為了信息化社會重要的基礎設施。


2016 年初,中文搜索引擎用戶數達到 5.66 億人,這充分說明搜索引擎在應用層次取得的巨大成功,也使得信息檢索,尤其是網絡搜索技術的研究具有了重要的政治、經濟和社會價值。


1. 內容結構


檢索用戶、信息資源和檢索系統三個主要環節組成了信息檢索應用環境下知識獲取與信息傳遞的完整結構,而當前影響信息獲取效率的因素也主要體現在這幾個環節,即:


  • 檢索用戶的意圖表達

  • 信息資源(尤其是網絡信息資源)的質量度量

  • 需求與資源的合理匹配


具體而言,用戶有限的認知能力導致其知識結構相對大數據時代的信息環境而言往往存在缺陷, 進而影響信息需求的合理組織和清晰表述;數據資源的規模繁雜而缺乏管理,在互聯網“注意力經濟”盛行的環境下,不可避免地存在欺詐作弊行為,導致檢索系統難以準確感知其質量;用戶與資源提供者的知識結構與背景不同,對于相同或者相似事物的描述往往存在較大差異,使得檢索系統傳統的內容匹配技術難以很好應對,無法準確度量資源與需求的匹配程度。上述技術挑戰互相交織,本質上反映了用戶個體有限的認知能力與包含近乎無限信息的數據資源空間之間的不匹配問題。


概括地講,當前信息檢索的研究包括如下四個方面的研究內容及相應的關鍵科學問題:


1.1 信息需求理解


面對復雜的泛在網絡空間,用戶有可能無法準確表達搜索意圖;即使能夠準確表達,搜 索引擎也可能難以正確理解;即使能夠正確理解,也難以與恰當的網絡資源進行匹配。這使 得信息需求理解成為了影響檢索性能提高的制約因素,也構成了檢索技術發展面臨的第一個關鍵問題。


1.2 資源質量度量


資源質量管理與度量在傳統信息檢索研究中并非處于首要的位置,但隨著互聯網信息資 源逐漸成為檢索系統的主要查找對象,網絡資源特有的缺乏編審過程、內容重復度高、質量 參差不齊等問題成為了影響檢索質量的重要因素。目前,搜索引擎仍舊面臨著如何進行有效 的資源質量度量的挑戰,這構成了當前信息檢索技術發展面臨的第二個關鍵問題。


1.3 結果匹配排序


近年來,隨著網絡技術的進步,信息檢索系統(尤其是搜索引擎)涉及的數據對象相應 的變得多樣化、異質化,這也造成了傳統的以文本內容匹配為主要手段的結果排序方法面臨著巨大的挑戰。高度動態繁雜的泛在網絡內容使得文本相似度計算方法無法適用;整合復雜 異構網絡資源作為結果使得基于同質性假設構建的用戶行為模型難以應對;多模態的交互方 式則使得傳統的基于單一維度的結果分布規律的用戶行為假設大量失效。因此,在大數據時 代信息進一步多樣化、異質化的背景下,迫切需要構建適應現代信息資源環境的檢索結果匹 配排序方法,這是當前信息檢索技術發展面臨的第三個關鍵問題。


1.4 信息檢索評價


信息檢索評價是信息檢索和信息獲取領域研究的核心問題之一。信息檢索和信息獲取系 統核心的目標是幫助用戶獲取到滿足他們需求的信息,而評價系統的作用是幫助和監督研究 開發人員向這一核心目標前進,以逐步開發出更好的系統,進而縮小系統反饋和用戶需求之 間的差距,提高用戶滿意度。因此,如何設計合理的評價框架、評價手段、評價指標,是當 前信息檢索技術發展面臨的第四個關鍵問題。


2. 個性化搜索


現有的主要個性化搜索算法可分為基于內容分析的算法基于鏈接分析的方法基于協作過濾的算法


  • 基于內容的個性化搜索算法通過比較用戶興趣愛好和結果文檔的內容相似性來對文檔的用戶相關性進行判斷進而對搜索結果進行重排。用戶模型一般表述為關鍵詞或主題向量或 層次的形式。個性化算法通過比較用戶模型和文檔的相似性,判斷真實的搜索意圖,并估計 文檔對用戶需求的匹配程度。


  • 基于鏈接分析的方法主要是利用互聯網上網頁之間的鏈接關系,并假設用戶點擊和訪問 過的網頁為用戶感興趣的網頁,通過鏈接分析算法進行迭代最終計算出用戶對每個網頁的喜好度。


  • 基于協作過濾的個性化搜索算法主要借鑒了基于協作過濾的推薦系統的思想,這種方法 考慮到能夠收集到的用戶的個人信息有限,因此它不僅僅利用用戶個人的信息,還利用與用戶相似的其它用戶或群組的信息,并基于用戶群組和相似用戶的興趣偏好來個性化當前用戶 的搜索結果。用戶之間的相似性可以通過用戶的興趣愛好、歷史查詢、點擊過的網頁等內容計算得出。


3. 語義搜索技術


隨著互聯網信息的爆炸式增長,傳統的以關鍵字匹配為基礎的搜索引擎,已越來越難以滿足用戶快速查找信息的需求。同時由于沒有知識引導及對網頁內容的深入整理,傳統網頁 搜索返回的網頁結果也不能精準給出所需信息。針對這些問題,以知識圖譜為代表的語義搜索(Semantic Search)將語義 Web 技術和傳統的搜索引擎技術結合,是一個很有研究價值 但還處于初期階段的課題。


在未來的一段時間,結合互聯網應用需求的實際和技術、產品運營能力的實際發展水平,語義搜索技術的發展重點將有可能集中在以各種情境的垂直搜索資源為基礎,知識化推理為檢索運行方式,自然語言多媒體交互為手段的智能化搜索與推薦技術。首先將包括各類垂直搜索資源在內的深度萬維網數據源整合成為提供搜索服務的資源池;隨后利用廣泛分布在公眾終端計算設備上的瀏覽器作為客戶端載體,通過構建的復雜情境知識庫來開發多層次查詢技術,并以此管理、調度、整合搜索云端的搜索服務資源,滿足用戶的多樣化、多模態查詢需求;最后基于面向情境體驗的用戶行為模型構建,以多模態信息推薦的形式實現對用戶信息需求的主動滿足。


六. 信息抽取


信息抽取(Information Extraction)是指從非結構化/半結構化文本(如網頁、新聞、 論文文獻、微博等)中提取指定類型的信息(如實體、屬性、關系、事件、商品記錄等), 并通過信息歸并、冗余消除和沖突消解等手段將非結構化文本轉換為結構化信息的一項綜合技術。例如:


  • 從相關新聞報道中抽取出恐怖事件信息:時間、地點、襲擊者、受害人、襲擊 目標、后果等;

  • 從體育新聞中抽取體育賽事信息:主隊、客隊、賽場、比分等;

  • 從論文和醫療文獻中抽取疾病信息:病因、病原、癥狀、藥物等


被抽取出來的信息通常以結構化的形式描述,可以為計算機直接處理,從而實現對海量非結構化數據的分析、組織、管理、計算、 查詢和推理,并進一步為更高層面的應用和任務(如自然語言理解、知識庫構建、智能問答 系統、輿情分析系統)提供支撐。


目前信息抽取已被廣泛應用于輿情監控、網絡搜索、智能問答等多個重要領域。與此同時,信息抽取技術是中文信息處理和人工智能的核心技術,具有重要的科學意義。


一直以來,人工智能的關鍵核心部件之一是構建可支撐類人推理和自然語言理解的大規模常識知識庫。然而,由于人類知識的復雜性、開放性、多樣性和巨大的規模,目前仍然無法構建滿足上述需求的大規模知識庫。信息抽取技術通過結構化自然語言表述的語義知識,并整合來自海量文本中的不同語義知識,是構建大規模知識庫最有效的技術之一。每一段文本內所包含的寓意可以描述為其中的一組實體以及這些實體相互之間的關聯和交互,因此抽取文本中的實體和它們之間的語義關系也就成為了理解文本意義的基礎。


信息抽取可以通過抽取實體和實體之間的語義關系,表示這些語義關系承載的信息,并基于這些信息進行計算和推理來有效的理解一段文本所承載的語義。


1. 命名實體識別


命名實體識別的目的是識別文本中指定類別的實體,主要包括人名、地名、機構名、專有名詞等的任務。


命名實體識別系統通常包含兩個部分:實體邊界識別實體分類


其中實體邊界識別判斷一個字符串是否是一個實體,而實體分類將識別出的實體劃分到預先給定的不同類別中去。命名實體識別是一項極具實用價值的技術,目前中英文上通用命名實 體識別(人名、地名、機構名)的F1值都能達到 90%以上。命名實體識別的主要難點在于 表達不規律、且缺乏訓練語料的開放域命名實體類別(如電影、歌曲名)等。


2. 關系抽取


關系抽取指的是檢測和識別文本中實體之間的語義關系,并將表示同一語義關系的提及(mention)鏈接起來的任務。關系抽取的輸出通常是一個三元組(實體 1,關系類別,實體 2),表示實體 1 和實體 2 之間存在特定類別的語義關系。


例如,句子“北京是中國的首都、政治中心和文化中心”中表述的關系可以表示為(中國,首都,北京),(中國,政治中心,北京)和(中國,文化中心,北京)。語義關系類別可以預先給定(如 ACE 評測中的七大類關系),也可以按需自動發現(開放域信息抽取)。


關系抽取通常包含兩個核心模塊:關系檢測關系分類


其中關系檢測判斷兩個實體之間是否存在語義關系,而關系分類將存在語義關系的實體對劃分到預先指定的類別中。在某些場景和任務下,關系抽取系統也可能包含關系發現模塊,其主要目的是發現實體和實體之間存在的語義關系類別。例如,發現人物和公司之間存在雇員、CEO、CTO、創始人、董事長等關系類別。


3. 事件抽取


事件抽取指的是從非結構化文本中抽取事件信息,并將其以結構化形式呈現出來的任務。


例如,從“毛澤東 1893 年出生于湖南湘潭”這句話中抽取事件{類型:出生, 人物:毛澤東,時間:1893 年,出生地:湖南湘潭}。


事件抽取任務通常包含事件類型識別事件元素填充兩個子任務。


事件類型識別判斷一句話是否表達了特定類型的事件。事件類型決定了事件表示的模板,不同類型的事件具有不同的模板。例如出生事件的模板是{人物, 時間,出生地},而恐怖襲擊事件的模板是{地點,時間,襲擊者,受害者,受傷人數,…}。 事件元素指組成事件的關鍵元素,事件元素識別指的是根據所屬的事件模板,抽取相應的元素,并為其標上正確元素標簽的任務。


4. 信息集成


實體、關系和事件分別表示了單篇文本中不同粒度的信息。在很多應用中,需要將來自不同數據源、不同文本的信息綜合起來進行決策,這就需要研究信息集成技術。


目前,信息抽取研究中的信息集成技術主要包括共指消解技術實體鏈接技術。


共指消解指的是檢測同一實體/關系/事件的不同提及,并將其鏈接在一起的任務,例如,識別“喬布斯是蘋果的創始人之一,他經歷了蘋果公司幾十年的起落與興衰”這句話中的“喬布斯”和“他”指的是同一實體。實體鏈接的目的是確定實體名所指向的真實世界實體。例如識別上一句話中的“蘋果”和“喬布斯”分別指向真實世界中的蘋果公司和其 CEO 史蒂夫·喬布斯。


七. 問答系統


自動問答(Question Answering, QA)是指利用計算機自動回答用戶所提出的問題以滿足用戶知識需求的任務。不同于現有搜索引擎,問答系統是信息服務的一種高級形式,系統返回用戶的不再是基于關鍵詞匹配排序的文檔列表,而是精準的自然語言答案。


近年來,隨著人工智能的飛速發展,自動問答已經成為倍受關注且發展前景廣泛的研究方向。自動問答的研究歷史可以溯源到人工智能的原點。1950 年,人工智能之父阿蘭圖靈(Alan M. Turing)在《Mind》上發表文章《Computing Machinery and Intelligence》, 文章開篇提出通過讓機器參與一個模仿游戲(Imitation Game)來驗證“機器”能否“思考”,進而提出了經典的圖靈測試(Turing Test),用以檢驗機器是否具備智能。


同樣,在自然語言處理研究領域,問答系統被認為是驗證機器是否具備自然語言理解能力的四個任務之一(其它三個是機器翻譯、復述和文本摘要)。自動問答研究既有利于推動人工智能相關學科的發展,也具有非常重要的學術意義。從應用上講,現有基于關鍵詞匹配和淺層語義分析的信息服務技術已經難以滿足用戶日益增長的精準化和智能化信息需求,已有的信息服務范式急需一場變革。


2011年,華盛頓大學圖靈中心主任 Etzioni 在 Nature 上發表的《Search Needs a Shake-Up》中明確指出: 在萬維網誕生 20 周年之際,互聯網搜索正處于從簡單關鍵詞搜索走向深度問答的深刻變革的風口浪尖上。以直接而準確的方式回答用戶自然語言提問的自動問答系統將構成下一代搜索引擎的基本形態。同一年,以深度問答技術為核心的 IBM Watson 自動問答機器人在美國智力競賽節目 Jeopardy 中戰勝人類選手,引起了業內的巨大轟動。Watson 自動問答系統讓人們看到已有信息服務模式被顛覆的可能性,成為了問答系統發展的一個里程碑。


此外,隨著移動互聯網崛起與發展,以蘋果公司 Siri、Google Now、微軟 Cortana 等為代表的移動生活助手爆發式涌現,上述系統都把以自然語言為基本輸入方式的問答系統看作是下一代信息服務的新形態和突破口,并均加大人員、資金的投入,試圖在這一次人工智能浪潮中取得領先。


1. 關鍵問題


自動問答系統在回答用戶問題時,需要正確理解用戶所提的自然語言問題,抽取其中的 關鍵語義信息,然后在已有語料庫、知識庫或問答庫中通過檢索、匹配、推理的手段獲取答 案并返回給用戶。上述過程涉及詞法分析、句法分析、語義分析、信息檢索、邏輯推理、知識工程、語言生成等多項關鍵技術。傳統自動問答多集中在限定領域,針對限定類型的問題 進行回答。伴隨著互聯網和大數據的飛速發展,現有研究趨向于開放域、面向開放類型問題 的自動問答。概括地講,自動問答的主要研究任務和相應關鍵科學問題如下。


1.1 問句理解


給定用戶問題,自動問答首先需要理解用戶所提問題。用戶問句的語義理解包含詞法分析、句法分析、語義分析等多項關鍵技術,需要從文本的多個維度理解其中包含的語義內容。


在詞語層面,需要在開放域環境下,研究命名實體識別(Named Entity Recognition)、術語識別(Term Extraction)、詞匯化答案類型詞識別(Lexical Answer Type Recognition)、 實體消歧(Entity Disambiguation)、關鍵詞權重計算(Keyword Weight Estimation)、答案集中詞識別(Focused Word Detection)等關鍵問題。


在句法層面,需要解析句子中詞與詞之間、短語與短語之間的句法關系,分析句子句法結構。在語義層面,需要根據詞語層面、句法層面的分析結果,將自然語言問句解析成可計算、結構化的邏輯表達形式(如一階謂詞邏輯表達式)。


1.2 文本信息抽取


給定問句語義分析結果,自動問答系統需要在已有語料庫、知識庫或問答庫中匹配相關的信息,并抽取出相應的答案。傳統答案抽取構建在淺層語義分析基礎之上,采用關鍵詞匹配策略,往往只能處理限定類型的答案,系統的準確率和效率都難以滿足實際應用需求。為保證信息匹配以及答案抽取的準確度,需要分析語義單元之間的語義關系,抽取文本中的結構化知識。早期基于規則模板的知識抽取方法難以突破領域和問題類型的限制,遠遠不能滿足開放領域自動問答的知識需求。為了適應互聯網實際應用的需求,越來越多的研究者和開發者開始關注開放域知識抽取技術,其特點在于:


  • 文本領域開放:處理的文本是不限定領域的網絡文本

  • 內容單元類型開放:不限定所抽取的內容單元類型,而是自動地從網絡中挖掘內容單元的類型,例如實體類型、事件類型和關系類型等。


1.3 知識推理


自動問答中,由于語料庫、知識庫和問答庫本身的覆蓋度有限,并不是所有問題都能直 接找到答案。這就需要在已有的知識體系中,通過知識推理的手段獲取這些隱含的答案。


例如,知識庫中可能包括了一個人的“出生地”信息,但是沒包括這個人的“國籍”信息,因此無法直接回答諸如“某某人是哪國人?”這樣的問題。但是一般情況下,一個人的“出生地”所屬的國家就是他(她)的“國籍”。在自動問答中,就需要通過推理的方式學習到這樣的模式。傳統推理方法采用基于符號的知識表示形式,通過人工構建的推理規則得到答案。


但是面對大規模、開放域的問答場景,如何自動進行規則學習,如何解決規則沖突仍然是亟待解決的難點問題。目前,基于分布式表示的知識表示學習方法能夠將實體、概念以及它們之間的語義關系表示為低維空間中的對象(向量、矩陣等),并通過低維空間中的數值計算完成知識推理任務。


雖然這類推理的效果離實用還有距離,但是我們認為這是值得探尋的方法,特別是如何將已有的基于符號表示的邏輯推理與基于分布式表示的數值推理相結合,研究融合符號邏輯和表示學習的知識推理技術,是知識推理任務中的關鍵科學問題。


2. 技術方法


根據目標數據源的不同,已有自動問答技術大致可以分為三類:


  • 檢索式問答;

  • 社區問答;

  • 知識庫問答。


以下分別就這幾個方面對研究現狀進行簡要闡述。


2.1 檢索式問答


檢索式問答研究伴隨搜索引擎的發展不斷推進。1999 年,隨著 TREC QA 任務的發起, 檢索式問答系統迎來了真正的研究進展。TREC QA 的任務是給定特定 WEB 數據集,從中找到能夠回答問題的答案。這類方法是以檢索和答案抽取為基本過程的問答系統,具體過程包括問題分析、篇章檢索和答案抽取。


根據抽取方法的不同,已有檢索式問答可以分為基于模式匹配的問答方法基于統計文本信息抽取的問答方法


  • 基于模式匹配的方法往往先離線地獲得各類提問答案的模式。在運行階段,系統首先判斷當前提問屬于哪一類,然后使用這類提問的模式來對抽取的候選答案進行驗證。同時為了提高問答系統的性能,人們也引入自然語言處理技術。由于自然語言處理的技術還未成熟,現有大多數系統都基于淺層句子分析。


  • 基于統計文本信息抽取的問答系統的典型代表是美國 Language Computer Corporation 公司的 LCC 系統。該系統使用詞匯鏈和邏輯形式轉換技術,把提問句和答案句轉化成統一的邏輯形式(Logic Form),通過詞匯鏈,實現答案的推理驗證。LCC 系統在 TREC QA Track 2001 ~ 2004 連續三年的評測中以較大領先優勢獲得第一名的成績。 2011 年,IBM 研發的問答機器人 Watson在美國智力競賽節目《危險邊緣 Jeopardy!》中戰勝人類選手,成為問答系統發展的一個里程碑。


    Watson 的技術優勢大致可以分為以下三個方面:


  • 強大的硬件平臺:包括 90 臺 IBM 服務器,分布式計算環境;

  • 強大的知識資源:存儲了大約 2 億頁的圖書、新聞、電影劇本、辭海、文選和《世界圖書百科全書》等資料;

  • 深層問答技術(DeepQA):涉及統計機器學習、句法分析、主題分析、信息抽取、 知識庫集成和知識推理等深層技術。


然而,Watson 并沒有突破傳統問答式檢索系統的局限性,使用的技術主要還是檢索和匹配,回答的問題類型大多是簡單的實體或詞語類問題,而推理能力不強。


2.2 社區問答


?隨著 Web2.0 的興起,基于用戶生成內容(User-Generated Content, UGC)的互聯網 服務越來越流行,社區問答系統應運而生,例如 Yahoo! Answers、百度知道等。問答社區的出現為問答技術的發展帶來了新的機遇。據統計 2010 年 Yahoo! Answers 上已解決的問題量達到 10 億,2011 年“百度知道”已解決的問題量達到 3 億,這些社區問答數據覆蓋了方方面面的用戶知識和信息需求。


此外,社區問答與傳統自動問答的另一個顯著區別是:社區問答系統有大量的用戶參與,存在豐富的用戶行為信息,例如用戶投票信息、用戶評價信息、回答者的問題采納率、用戶推薦次數、頁面點擊次數以及用戶、問題、答案之間的相互關聯信息等等,這些用戶行為信息對于社區中問題和答案的文本內容分析具有重要的價值。


一般來講,社區問答的核心問題是從大規模歷史問答對數據中找出與用戶提問問題語義相似的歷史問題并將其答案返回提問用戶。假設用戶查詢問題為q0,用于檢索的問答對數據為SQ,A = {(q1 , a1 ), (q2 , a2 )}, … , (qn, an)}},相似問答對檢索的目標是從SQ,A中檢索出能夠解答問題q0的問答對(qi , ai )。 針對這一問題,傳統的信息檢索模型,如向量空間模型、語言模型等,都可以得到應用。


但是,相對于傳統的文檔檢索,社區問答的特點在于:用戶問題和已有問句相對來說都非常短,用戶問題和已有問句之間存在“詞匯鴻溝”問題,基于關鍵詞匹配的檢索模型很難達到較好的問答準確度。目前,很多研究工作在已有檢索框架中針對這一問題引入單語言翻譯概率模型,通過 IBM 翻譯模型,從海量單語問答語料中獲得同種語言中兩個不同詞語之間的語義轉換概率,從而在一定程度上解決詞匯語義鴻溝問題。例如和“減肥”對應的概率高的相關詞有“瘦身”、“跑步”、“飲食”、“健康”、“遠動”等等。 除此之外,也有許多關于問句檢索中詞重要性的研究和基于句法結構的問題匹配研究。


2.3 知識庫問答


?檢索式問答和社區問答盡管在某些特定領域或者商業領域有所應用,但是其核心還是關鍵詞匹配和淺層語義分析技術,難以實現知識的深層邏輯推理,無法達到人工智能的高級目標。因此,近些年來,無論是學術界或工業界,研究者們逐步把注意力投向知識圖譜或知識庫(Knowledge Graph)。其目標是把互聯網文本內容組織成為以實體為基本語義單元(節點)的圖結構,其中圖上的邊表示實體之間語義關系。


目前互聯網中已有的大規模知識庫包括 DBpedia、Freebase、YAGO 等。這些知識庫多是以“實體-關系-實體”三元組為基本單元所組成的圖結構。基于這樣的結構化知識,問答系統的任務就是要根據用戶問題的語義直接在知識庫上查找、推理出相匹配的答案,這一任務稱為面向知識庫的問答系統或知識庫問答。要完成在結構化數據上的查詢、匹配、推理等操作,最有效的方式是利用結構化的查詢語句,例如:SQL、SPARQL 等。


然而,這些語句通常是由專家編寫,普通用戶很難掌握并正確運用。對普通用戶來說,自然語言仍然是最自然的交互方式。因此,如何把用戶的自然語言問句轉化為結構化的查詢語句是知識庫問答的核心所在,其關鍵是對于自然語言問句進行語義理解。目前,主流方法是通過語義分析,將用戶的自然語言問句轉化成結構化的語義表示,如范式和 DCS-Tree。相對應的語義解析語法或方法包括組合范疇語法( Category Compositional Grammar, CCG )以 及 依 存 組 合 語 法( Dependency-based Compositional Semantics, DCS)等。

?

八. 機器翻譯


1. 理論應用


機器翻譯(machine translation,MT)是指利用計算機實現從一種自然語言到另外一種自然語言的自動翻譯。被翻譯的語言稱為源語言(source language),翻譯到的語言稱作目標語言(target language)。


簡單地講,機器翻譯研究的目標就是建立有效的自動翻譯方法、模型和系統,打破語言壁壘,最終實現任意時間、任意地點和任意語言的自動翻譯,完成人們無障礙自由交流的夢想。


人們通常習慣于感知(聽、看和讀)自己母語的聲音和文字,很多人甚至只能感知自己的母語,因此,機器翻譯在現實生活和工作中具有重要的社會需求。


從理論上講,機器翻譯涉及語言學、計算語言學、人工智能、機器學習,甚至認知語言學等多個學科,是一個典型的多學科交叉研究課題,因此開展這項研究具有非常重要的理論意義,既有利于推動相關學科的發展,揭示人腦實現跨語言理解的奧秘,又有助于促進其他自然語言處理任務,包括中文信息處理技術的快速發展。


從應用上講,無論是社會大眾、政府企業還是國家機構,都迫切需要機器翻譯技術。特別是在“互聯網+”時代,以多語言多領域呈現的大數據已成為我們面臨的常態問題,機器翻譯成為眾多應用領域革新的關鍵技術之一。例如,在商貿、體育、文化、旅游和教育等各個領域,人們接觸到越來越多的外文資料,越來越頻繁地與持各種語言的人通信和交流,從而對機器翻譯的需求越來越強烈;在國家信息安全和軍事情報領域,機器翻譯技術也扮演著非常重要的角色。


可以說離開機器翻譯,基于大數據的多語言信息獲取、挖掘、分析和決策等其他應用都將成為空中樓閣。尤其值得提出的是,在未來很長一段時間里,建立于絲綢之路這一歷史資源之上的“一帶一路”將是我國與周邊國家發展政治、經濟,進行文化交流的主要戰略。據統計,“一帶一路”涉及 60 多個國家、44 億人口、53 種語言,可見機器翻譯是“一帶一路”戰略實施中不可或缺的重要技術。


2. 技術現狀


基于規則的機器翻譯方法需要人工設計和編纂翻譯規則,統計機器翻譯方法能夠自動獲取翻譯規則,但需要人工定義規則的形式,而端到端的神經網絡機器翻譯方法可以直接通過編碼網絡和解碼網絡自動學習語言之間的轉換算法。


從某種角度講,其自動化程度和智能化程度在不斷提升,機器翻譯質量也得到了顯著改善。機器翻譯技術的研究現狀可從歐盟組織的國際機器翻譯評測(WMT)的結果中窺得一斑。 該評測主要針對歐洲語言之間的互譯,2006 年至 2016 年每年舉辦一次。對比法語到英語歷年的機器翻譯評測結果可以發現,譯文質量已經在自動評價指標 BLEU 值上從最初小于 0.3 到目前接近 0.4(大量的人工評測對比說明,BLEU 值接近 0.4 的譯文能夠達到人類基本可以理解的程度)。


另外,中國中文信息學會組織的全國機器翻譯評測(CWMT)每兩年組織一次, 除了英漢、日漢翻譯評測以外,CWMT 還關注我國少數民族語言(藏、蒙、維)和漢語之間的翻譯。相對而言,由于數據規模和語言復雜性的問題,少數民族與漢語之間的翻譯性能要低于漢英、漢日之間的翻譯性能。雖然機器翻譯系統評測的分值呈逐年增長的趨勢,譯文質量越來越好,但與專業譯員的翻譯結果相比,機器翻譯還有很長的路要走,可以說,在奔向“信、達、雅”翻譯目標的征程上,目前的機器翻譯基本掙扎在“信”的階段,很多理論和技術問題仍有待于更深入的研究和探索。


九. 自動摘要


自動文摘(又稱自動文檔摘要)是指通過自動分析給定的一篇文檔或多篇文檔,提煉、總結其中的要點信息,最終輸出一篇長度較短、可讀性良好的摘要(通常包含幾句話或數百字),該摘要中的句子可直接出自原文,也可重新撰寫所得。簡言之,文摘的目的是通過對原文本進行壓縮、提煉,為用戶提供簡明扼要的文字描述。用戶可以通過閱讀簡短的摘要而知曉原文中所表達的主要內容,從而大幅節省閱讀時間。


自動文摘研究的目標是建立有效的自動文摘方法與模型,實現高性能的自動文摘系統。 近二十年來,業界提出了各類自動文摘方法與模型,用于解決各類自動摘要問題,在部分自動摘要問題的研究上取得了明顯的進展,并成功將自動文摘技術應用于搜索引擎、新聞閱讀 等產品與服務中。例如谷歌、百度等搜索引擎均會為每項檢索結果提供一個短摘要,方便用 戶判斷檢索結果相關性。在新聞閱讀軟件中,為新聞事件提供摘要也能夠方便用戶快速了解 該事件。2013 年雅虎耗資 3000 萬美元收購了一項自動新聞摘要應用 Summly,則標志著自動文摘技術的應用走向成熟。


自動文摘的研究在圖書館領域和自然語言處理領域一直都很活躍,最早的應用需求來自 于圖書館。圖書館需要為大量文獻書籍生成摘要,而人工摘要的效率很低,因此亟需自動摘 要方法取代人工高效地完成文獻摘要任務。隨著信息檢索技術的發展,自動文摘在信息檢索 系統中的重要性越來越大,逐漸成為研究熱點之一。經過數十年的發展,同時在 DUC 與 TAC 等自動文摘國際評測的推動下,文本摘要技術已經取得長足的進步。國際上自動文摘方面比較著名的幾個系統包括 ISI 的 NeATS 系統,哥倫比亞大學的 NewsBlaster 系統,密歇根大學的 NewsInEssence 系統等。

?

1. 方法


自動文摘所采用的方法從實現上考慮可以分為抽取式摘要(extractive summarization) 和生成式摘要(abstractive summarization)。抽取式方法相對比較簡單,通常利用不同方法對文檔結構單元(句子、段落等)進行評價,對每個結構單元賦予一定權重,然后選擇最重要的結構單元組成摘要。而生成式方法通常需要利用自然語言理解技術對文本進行語法、 語義分析,對信息進行融合,利用自然語言生成技術生成新的摘要句子。目前的自動文摘方法主要基于句子抽取,也就是以原文中的句子作為單位進行評估與選取。抽取式方法的好處是易于實現,能保證摘要中的每個句子具有良好的可讀性。


為解決如前所述的要點篩選和文摘合成這兩個關鍵科學問題,目前主流自動文摘研究工作大致遵循如下技術框架: 內容表示 → 權重計算 → 內容選擇 → 內容組織。


首先將原始文本表示為便于后續處理的表達方式,然后由模型對不同的句法或語義單元 進行重要性計算,再根據重要性權重選取一部分單元,經過內容上的組織形成最后的摘要。


1.1 內容表示與權重計算


原文檔中的每個句子由多個詞匯或單元構成,后續處理過程中也以詞匯等元素為基本單 位,對所在句子給出綜合評價分數。


以基于句子選取的抽取式方法為例,句子的重要性得分由其組成部分的重要性衡量。由于詞匯在文檔中的出現頻次可以在一定程度上反映其重要性, 我們可以使用每個句子中出現某詞的概率作為該詞的得分,通過將所有包含詞的概率求和得到句子得分。


也有一些工作考慮更多細節,利用擴展性較強的貝葉斯話題模型,對詞匯本身的話題相關性概率進行建模。 一些方法將每個句子表示為向量,維數為總詞表大小。 通常使用加權頻數作為句子向量相應維上的取值。加權頻數的定義可以有多種,如信息檢索中常用的詞頻-逆文檔頻率 (TF-IDF)權重。


也有研究工作考慮利用隱語義分析或其他矩陣分解技術,得到低維隱含語義表示并加以利用。得到向量表示后計算兩兩之間的某種相似度(例如余弦相似度)。隨后根據計算出的相似度構建帶權圖,圖中每個節點對應每個句子。在多文檔摘要任務中,重要的句子可能和更多其他句子較為相似,所以可以用相似度作為節點之間的邊權,通過迭代求解基于圖的排序算法來得到句子的重要性得分。


也有很多工作嘗試捕捉每個句子中所描述的概念,例如句子中所包含的命名實體或動詞。


出于簡化考慮,現有工作中更多將二元詞(bigram)作為概念。近期則有工作提出利用頻繁圖挖掘算法從文檔集中挖掘得到深層依存子結構作為語義表示單元。


另一方面,很多摘要任務已經具備一定數量的公開數據集,可用于訓練有監督打分模型。例如對于抽取式摘要,我們可以將人工撰寫的摘要貪心匹配原文檔中的句子或概念,從而得到不同單元是否應當被選作摘要句的數據。然后對各單元人工抽取若干特征,利用回歸模型或排序學習模型進行有監督學習,得到句子或概念對應的得分。


文檔內容描述具有結構性,因此也有利用隱馬爾科夫模型(HMM)、條件隨機場(CRF)、結構化支持向量機(Structural SVM)等常見序列標注或一般結構預測模型進行抽取式摘要有監督訓練的工作。所提取的特征包括所在位置、包含詞匯、與鄰句的相似度等等。對特定摘要任務一般也會引入與具體設定相關的特征,例如查詢相關摘要任務中需要考慮與查詢的匹配或相似程度。


1.2 內容選擇


無論從效果評價還是從實用性的角度考慮,最終生成的摘要一般在長度上會有限制。在 獲取到句子或其他單元的重要性得分以后,需要考慮如何在盡可能短的長度里容納盡可能多 的重要信息,在此基礎上對原文內容進行選取。內容選擇方法包括貪心選擇和全局優化。


2. 技術現狀


相比機器翻譯、自動問答、知識圖譜、情感分析等熱門領域,自動文摘在國內并沒有受 到足夠的重視。國內早期的基礎資源與評測舉辦過中文單文檔摘要的評測任務,但測試集規 模比較小,而且沒有提供自動化評價工具。2015 年 CCF 中文信息技術專委會組織了 NLPCC 評測,其中包括了面向中文微博的新聞摘要任務,提供了規模相對較大的樣例數據和測試數據,并采用自動評價方法,吸引了多支隊伍參加評測,目前這些數據可以公開獲得。但上述中文摘要評測任務均針對單文檔摘要任務,目前還沒有業界認可的中文多文檔摘要數據,這在事實上阻礙了中文自動摘要技術的發展。


近些年,市面上出現了一些文本挖掘產品,能夠提供中文文檔摘要功能(尤其是單文檔 摘要),例如方正智思、拓爾思(TRS),海量科技等公司的產品。百度等搜索引擎也能為檢索到的文檔提供簡單的單文檔摘要。這些文檔摘要功能均被看作是系統的附屬功能,其實現方法均比較簡單。


十. 學習資料


1. 書籍


1.1 李航《統計學習方法》


640?wx_fmt=png&wxfrom=5&wx_lazy=1

這本經典書值得反復讀,從公式推導到定理證明邏輯嚴謹,通俗易懂。


推薦指數:五顆星


1.1? 宗成慶《統計自然語言處理》

640?wx_fmt=png&wxfrom=5&wx_lazy=1


推薦指數:四顆星


2. 博客


斯坦福cs224d:?
http://cs224d.stanford.edu/syllabus.html?
中文版博客專欄


3. 會議


ACL 2015:?
http://acl2015.org/accepted_papers.html?
ACL 2016:?
http://acl2016.org/index.php?article_id=13#long_papers?
EMNLP 2015:?
http://www.emnlp2015.org/accepted-papers.html?


4. 實踐案例

https://github.com/carpedm20/lstm-char-cnn-tensorflow

https://github.com/zoneplus/DL4NLP?
https://github.com/HIT-SCIR/scir-training-day?


十一. 進一步學習


論文下載地址:


http://ccl.pku.edu.cn/alcourse/nlp/LectureNotes/An%20Overview%20on%20Chinese%20Word%20Segmentation%20(Sun%20Maosong).pdf

https://www.microsoft.com/en-us/research/wp-content/uploads/2017/01/cl-05.gao_.pdf

http://www.voidcn.com/blog/forever1dreamsxx/article/p-1295137.html

http://cleanbugs.com/item/the-syntactic-structure-of-nlp-three-chinese-syntactic-structure-cips2016-413620.html

http://cips-upload.bj.bcebos.com/cips2016.pdf


原文發布時間為:2017-10-11?

本文作者:王奇奇

本文來自云棲社區合作伙伴“數據派THU”,了解相關信息可以關注“數據派THU”微信公眾號

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454873.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454873.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454873.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python mock測試_使用mock測試python中的函數

對于測試覆蓋,我想測試文件signalC中該函數的異常塊:class SignalC:def readSignal(self, a):try:with open(os.path.join(self.newSubFolder, "my file" .csv), a) as csvfile:writer csv.writer(csvfile, delimiter,, quotechar|,quotingc…

如何更好閱讀源代碼 .

寫在前面的話:    自從我在linuxaid.com.cn上發表一些文章開始,就不斷的有網友發來電子郵件,或者是就其中某些問題進行探討,或者是查詢其他文章的地址(往往這些網友看的是其他網站轉載的我的文章)&#x…

wins系統flask綁定mysql_flask如何連接mssql,網上大多是sqlite和mysql教程?

這個居然也冒出來,刨墳了。我們不喜歡寫原生SQL語句,那個寫著費勁,日常開發時候,我們怎么CRUD數據庫呢?一般使用ORM,對象關系映射(英語:Object Relational Mapping,簡稱ORM)。主力使…

hdu 6086 -- Rikka with String(AC自動機 + 狀壓DP)

題目鏈接 Problem DescriptionAs we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Rikka some math tasks to practice. There is one of them:Yuta has n 01 strings si, and he wants to know the number of 01 antisymmetric strings …

課堂動手動腦問題

對于隨機數,java通過Math.random()來實現,比如要得到一個隨機數我們可以int a; a(int)Math.random();但對于隨機數,它是從0到1之間的數,所以必須通過int把它轉為整數&…

GNU/Linux下有多少是GNU的?

導讀:一個葡萄牙的學生寫了一篇文章 《How much GNU is there in GNU/Linux?》由酷殼網的陳皓整理編譯為《GNU/Linux下有多少是GNU的》。這篇文章主要分布了今年4月份的Ubuntu Natty的Linux分發包。其主要是用代碼行來做的分析,用兩個餅圖對比分析。 內…

便攜式三星mysql_JDBC鏈接mysql - 三星藍

package chp07;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;public classJDBC_Test {//創建靜態全局變量staticConnection conn;staticStatement st;public static voidmain(Stri…

C++ 類、對象、class

一、對象初始化 1.不能在類聲明中對數據成員初始化,因為類只是一個抽象類型,不占存儲空間,無處容納數據。 2.若某類的數據成員都是public,則可以像結構體一樣初始化,如 Time t{12,21,04}; 若數據成員有priv…

Unity 富文本

參考鏈接&#xff1a;http://www.ceeger.com/Manual/StyledText.html 首先要說的是不僅僅ugui的text組件支持富文本&#xff0c;Debug.Log也是支持的 Debug.Log("<color#ffff00ff><b>愛生活</b></color> <color#00ffffff><b> 愛海瀾&…

Web項目替換jar包中的文件的方法

經常遇到這樣的問題&#xff0c;需要修改jar包中的方法。應該如何做&#xff1f; 1、有些很人性化的框架jar包&#xff0c;比如SpringSecurity&#xff0c;可以修改配置文件指定一個新建的類&#xff0c;讓類實現Jar包中的對應的接口就好了。 2、大部分的jar包都不會有這么方便…

程序員技術練級攻略

導讀&#xff1a;本文是由陳皓和他的一位朋友Mailper合作完成&#xff0c;原名叫《Build Your Programming Technical Skills》&#xff0c;本文分享了Mailper和作者個人的學習經歷。每個程序員都希望自己能順利的升級到高的層次&#xff0c;您不妨按照下面的方法去做。 前言 你…

Linux shell 之 提取文件名和目錄名的一些方法

很多時候在使用Linux的shell時&#xff0c;我們都需要對文件名或目錄名進行處理&#xff0c;通常的操作是由路徑中提取出文件名&#xff0c;從路徑中提取出目錄名&#xff0c;提取文件后綴名等等。例如&#xff0c;從路徑/dir1/dir2/file.txt中提取也文件名file.txt&#xff0c…

bzoj 2752: [HAOI2012]高速公路(road)

Description Y901高速公路是一條重要的交通紐帶&#xff0c;政府部門建設初期的投入以及使用期間的養護費用都不低&#xff0c;因此政府在這條高速公路上設立了許多收費站。Y901高速公路是一條由N-1段路以及N個收費站組成的東西向的鏈&#xff0c;我們按照由西向東的順序將收費…

搭建DNS主、從服務實驗

此次我們的口號是&#xff1a;簡單、有趣上手DNS服務博主是一個言出必行de好人&#xff0c;&#xff08;正經臉&#xff09;上次轉載了有關DNS的基礎介紹&#xff0c;此次我們來通過實驗搭建DNS服務器從而更好的了解DNS搭建過程如何開始&#xff0c;且聽我細細道來首先我們通常…

GDB中應該知道的幾個調試方法

七、八年前寫過一篇《用GDB調試程序》&#xff0c;于是&#xff0c;從那以后&#xff0c;很多朋友在MSN上以及給我發郵件詢問我關于GDB的問題&#xff0c;一直到今天&#xff0c;還有人在問GDB的相關問題。這么多年來&#xff0c;有一些問題是大家反復在問的&#xff0c;一方面…

長沙java技術_長沙如何提高自身的Java技術

長沙如何提高自身的Java技術&#xff1f;Java自發行二十多年來&#xff0c;一直都是開發者的寵兒&#xff0c;在編程界的位置一直十分穩固。雖然Java人才需求量大&#xff0c;薪資水平高&#xff0c;但想要用Java語言勝任企業工作不容易。比如要成為一名Java架構師&#xff0c;…

strcpy與strcat函數原型

1.strcpy函數原型 char *my_strcpy(char *dest,const char *src) //const使在函數中不能修改*src其原先的值{   char *strDest dest; //保存原始的strDest   assert((dest!NULL)&&(src!NULL)); //檢驗參數&#xff0c;…

CCF 201312-4 有趣的數

試題編號&#xff1a;201312-4試題名稱&#xff1a;有趣的數時間限制&#xff1a;1.0s內存限制&#xff1a;256.0MB問題描述&#xff1a; 問題描述我們把一個數稱為有趣的&#xff0c;當且僅當&#xff1a;1. 它的數字只包含0, 1, 2, 3&#xff0c;且這四個數字都出現過至少一次…

java 代碼重用_Java 代碼重用:功能與上下文重用

我幾乎不需要討論為什么重用代碼是有利的。代碼重用通常使得程序開發更加快速&#xff0c;并使得 BUG 減少。一旦一段代碼被封裝和重用&#xff0c;那么只需要檢查很少的一段代碼即可確保程序的正確性。如果在整個應用程序中只需要在一個地方打開和關閉數據庫連接&#xff0c;那…

GCC-3.4.6源代碼學習筆記

大約4年前&#xff0c;我加入了GDNT - 北電網絡在中國的合資企業&#xff0c;參與3G UMTS無線接入網的研發工作。與GCC有了第一次親密的接觸&#xff08;之前使用的是MS的VC&#xff09;。彼時&#xff0c;北電在其諸如&#xff0c;UMTS、CDMA、及自行開發的眾多工具等項目中&a…