4、自然語言了解的五個層次

自然語言的了解和分析是一個階層化的過程,許多語言學家把這一過程分為五個層次,可以更好地展現語言本身的構成,五個層次分别是語音分析、詞法分析、句法分析、語義分析和語用分析。
語音分析:要根據音位規則,從語音流中區分出一個個獨立的音素,再根據音位形态規則找出音節及其對應的詞素或詞。
詞法分析:找出詞彙的各個詞素,從中獲得語言學的資訊。
句法分析:對句子和短語的結構進行分析,目的是要找出詞、短語等的互相關系以及各自在句中的作用。
語義分析:找出詞義、結構意義及其結合意義,進而确定語言所表達的真正含義或概念。
語用分析:研究語言所存在的外界環境對語言使用者所産生的影響。
5、圖靈試驗判斷計算機是否了解了某種自然語言
在人工智能領域或者是語音資訊處理領域中,學者們普遍認為采用圖靈試驗可以判斷計算機是否了解了某種自然語言,具體的判别标準有以下幾條:
問答:機器人能正确回答輸入文本中的有關問題;
文摘生成:機器有能力生成輸入文本的摘要;
釋義:機器能用不同的詞語和句型來複述其輸入的文本;
翻譯:機器具有把一種語言翻譯成另一種語言的能力。
6、自然語言處理技術的發展曆史
自然語言處理是包括了計算機科學、語言學心理認知學等一系列學科的一門交叉學科,這些學科性質不同但又彼此互相交叉。最早的自然語言了解方面的研究工作是機器翻譯。1949年,美國人威弗首先提出了機器翻譯設計方案。20世紀60年代,國外對機器翻譯曾有大規模的研究工作,耗費了巨額費用,但人們當時顯然是低估了自然語言的複雜性,語言處理的理論和技術均不成熱,是以進展不大。
近年自然語言處理在詞向量(word embedding)表示、文本的(編碼)encoder和decoder(反編碼)技術以及大規模預訓練模型(pre-trained)上的方法極大地促進了自然語言處理的研究。
1、20世紀50年代到70年代——采用基于規則的方法
1950年圖靈提出了著名的“圖靈測試”,這一般被認為是自然語言處理思想的開端,20世紀50年代到70年代自然語言處理主要采用基于規則的方法,研究人員們認為自然語言處理的過程和人類學習認知一門語言的過程是類似的,是以大量的研究員基于這個觀點來進行研究,這時的自然語言處理停留在理性主義思潮階段,以基于規則的方法為代表。但是基于規則的方法具有不可避免的缺點,首先規則不可能覆寫所有語句,其次這種方法對開發者的要求極高,開發者不僅要精通計算機還要精通語言學,是以,這一階段雖然解決了一些簡單的問題,但是無法從根本上将自然語言了解實用化。
2、20世紀70年代到21世紀初——采用基于統計的方法
70年代以後随着網際網路的高速發展,豐富的語料庫成為現實以及硬體不斷更新完善,自然語言處理思潮由經驗主義向理性主義過渡,基于統計的方法逐漸代替了基于規則的方法。賈裡尼克和他上司的IBM華生實驗室是推動這一轉變的關鍵,他們采用基于統計的方法,将當時的語音識别率從70%提升到90%。在這一階段,自然語言處理基于數學模型和統計的方法取得了實質性的突破,從實驗室走向實際應用。
3、2008年到2019年——深度學習的RNN、LSTM、GRU
從2008年到現在,在圖像識别和語音識别領域的成果激勵下,人們也逐漸開始引入深度學習來做自然語言處理研究,由最初的詞向量到2013年的word2vec,将深度學習與自然語言處理的結合推向了高潮,并在機器翻譯、問答系統、閱讀了解等領域取得了一定成功。深度學習是一個多層的神經網絡,從輸入層開始經過逐層非線性的變化得到輸出。從輸入到輸出做端到端的訓練。把輸入到輸出對的資料準備好,設計并訓練一個神經網絡,即可執行預想的任務。RNN已經是自然語言處理最常用的方法之一,GRU、LSTM等模型相繼引發了一輪又一輪的熱潮。
7、自然語言處理最新進展
近年來,預訓練語言模型在自然語言處理領域有了重要進展。預訓練模型指的是首先在大規模無監督的語料上進行長時間的無監督或者是自監督的預先訓練(pre-training),獲得通用的語言模組化和表示能力。之後在應用到實際任務上時對模型不需要做大的改動,隻需要在原有語言表示模型上增加針對特定任務獲得輸出結果的輸出層,并使用任務語料對模型進行少許訓練即可,這一步驟被稱作微調(fine tuning)。
自 ELMo、GPT、BERT 等一系列預訓練語言表示模型(Pre-trained Language Representation Model)出現以來,預訓練模型在絕大多數自然語言處理任務上都展現出了遠遠超過傳統模型的效果,受到越來越多的關注,是 NLP 領域近年來最大的突破之一,是自然語言處理領域的最重要進展。
BERT(Bidirectional Encoder Representation from Transformer)是 Google AI于NAACL2019 提出的一個預訓練語言模型。BERT 的創新點是提出了有效的無監督預訓練任務,進而使得模型能夠從無标注語料中獲得通用的語言模組化能力。BERT之後湧現了許多對其進行擴充的模型(如上圖所示),包括:跨語言預訓練的XLM和UDify,跨模态預訓練的模型,融合知識圖譜的ERNIE,将seq2seq等語言生成任務整合入BERT類模型的MASS, UniLM等。其中幾個重要的進展包括:
(1)XLNet使用Transformer-XL替代了Transformer作為基礎模型,擁有編碼超長序列的能力。XLNet提出了一個新的預訓練語言任務:Permutation Language Modeling(排列語言模型),模型将句子内的詞語打亂順序,進而使得預測目前詞語時可以利用雙向資訊。XLNet相對BERT也使用了更多的語料。
(2)RoBERTa采用了與BERT具有相同的模型結構,同樣采用了屏蔽語言模型任務進行預訓練,但舍棄了 BERT中下句預測模型。此外,RoBERTa采用了更大規模的資料和更魯棒的優化方法,進而取得了更好的表現。
(3)ALBERT模型針對BERT參數量過大難以訓練的問題做了優化,一是對詞向量矩陣做分解,二是在層與層之間共享參數。此外,ALBERT将下句預測模型替換為句序預測任務,即給定一些句子預測它們的排列順序。
自然語言處理技術的案例應用
1、算法實踐中常用的庫
word2vec
nltk
jieba