寫給小白的自然語言處理入門簡介

自然語言處理簡介

什麼是自然語言

自然語言是人類社會發展過程中自然產生的語言,是最能體現人類智慧和文明的產物。
它是一種人與人交流的載體,我們使用語言傳遞知識。這個星球上許多生物都擁有超過人類的視覺系統,但只有人類才擁有這麼高級的語言。
自然語言是人類間交流傳播信息知識的工具語言是思維的載體,是人類交流思想、表達情感最自然、最直接、最方便的工具,人類歷史上以語言文字形式記載和流傳的知識佔知識總量的80%以上。

什麼是自然語言處理

自然語言處理( Natural Language Processing,NLP )是一門]計算機科學、人工智能、認知科學、信息論、數學及語言學的交叉學科。
自然語言處理是人工智能的一個分支。人工智能的第三個階段:認知智能,通俗講是“能理解會思考”。人類有語言,纔有概念,纔有推理,所以概念、意識、觀念等都是人類認知智能的表現。
因此, NLP被譽爲“人工智能皇冠.上的明珠”

自然語言處理的研究

開始於圖靈測試,經歷了以規則爲基礎的研究方法,流行於現在基於統計學的模型和方法。

  • 早期的傳統機器學習方法基於高維稀疏特徵的訓練方式
  • 現在主流的深度學習方法–使用基於神經網絡的低維稠密向量特徵訓練模型。
    在這裏插入圖片描述

自然語言處理研究內容

  1. 序列標註:分詞/詞性標註/命名實體識別/語義標註
    這是最典型的NLP任務,比如中文分詞,詞性標註,命名實體識別,語義角色標註等都可以歸入這一類問題,它的特點是句子中每個單詞要求型根據上下文都要給出一一個分類類別。
  2. 分類任務 :文本分類/情感分類/關係抽取
    比如我們常見的文本分類,情感計算等都可以歸入這一類。它的特點是不管文章有多長,總體給出一個分類類別即可。
  3. 句子關係判斷: 蘊涵/問答/自然語言推理/文本語義相似性
    比如蘊涵,問答,語義改寫,自然語言推理等任務都是這個模式,它的特點是給定兩個句子,模型判斷出兩個句子是否具備某種語義關係。
    4 .生成式任務:機器翻譯/文本摘要;
    比如機器翻譯,文本摘要,寫詩造句,看圖說話等都屬於這一類。 它的特點是輸入文本內容後,需要自主生成另外- -段文字。

基於統計的NLP方法

發展歷史

  • 理性主義方法: 1957~ 1980s
    詞法分析,句法方法,語義分析
    詞典、 規則-基於規則的方法(符號邏輯)
  • 經驗主義方法: ~1950s , 1980s ~
    大規模訓練樣本
    數據驅動的統計模型-基於統計的方法(統計學習)

在這裏插入圖片描述
現在一般將理性主義與經驗主義相結合
符號智能+計算智能,建立融合方法

傳統的統計學習方法

傳統的統計學習方法是通過經驗提高性能

基本框架
在這裏插入圖片描述
:T=(x1,y1),(x2,y2)...(xN,yN),,(xi,yi),i=1,2..N,xi,;yi,給定一個訓練數據集: T = {(x_1,y_1),(x_2,y_2)...(x_N,y_N)},其中, (xi,yi),i=1,2 .. N ,稱爲樣本。x_i是輸入的觀測值,也稱輸入或實例; y_i是輸出的觀測值,也稱輸出。學習系統是一些傳統的機器學習方法,數據進入模型,通過模型進行預測觀察

常用的統計模型和開源工具

  • 統計模型(生成式+區分式)
  • 語言模型(language model)
  • 隱馬爾可夫模型(hidden Markov model, HMM)
  • k-近鄰法(k-nearest neighbor, k-NN) :多類分類問題
  • 樸素貝葉斯法(naive Bayes) :多類分類問題
  • 決策樹(decision tree) :多類分類問題
  • 最大熵(maximum entropy) :多類分類問題
  • 感知機(perceptron) :二類分類
  • 支持向量機(support vector machine, SVM) :二類分類
  • 條件隨機場(conditional random field, CRF) :序列標註

基於深度學習的NLP方法

概述

深度學習(Deep Learning, DL)
深度學習是一種基於特徵學習的機器學習方法。把原始數據通過簡單但非線性的模塊轉變成更高層次、更加抽象的特徵表示,通過足夠多的轉換組合,非常複雜的函數也能被學習。

深度學習in NLP

  • 2003年Bengio等提出的NPLM ,但效果並不顯著,深度學習用於NLP的研究一直處在探索的階段。
  • 2011年 , Collobert等用一個簡單的深度學習模型在命名實體識別NER、語義角色標註SRL、詞性標註POS-tagging等NLP任務取得SOTA成績。
  • 2013年 ,以Word2vec、Glove爲代表的詞向量大火,更多的研究從詞向量的角度探索如何提高語言模型的能力,研究關注詞內語義和上下文語義。
  • 此外,基於深度學習的研究經歷了CNN、RNN、 Transormer等特徵提取器,研究者嘗試用各種機制優化語言模型的能力, 包括預訓練結合下游任務微調的方法( ELMO , BERT… …)

神經語言模型

語言模型
基於馬爾可夫假設, N-gram語言模型認爲一-個詞出現的概率只與它前面的n-1個詞相關
在這裏插入圖片描述
根據條件概率公式與大數定律,當語料的規模足夠大時,有
在這裏插入圖片描述
■N-gram語言模型

  • n的選擇
    一般是小於等於5.
  • OOV問題
    即Out Of Vocabulary , 未登錄詞。( 設定閾值,特殊符號代替)
  • 平滑處理TODO
    Laplace、ADD K、插值法…

神經概率語言模型

神經概率語言模型依然是一個概率語言模型 ,它通過神經網絡來計算概率語言模型中每個參數
p(wcontext(w))=g(iw,Vcontextp(w|context(w)) = g(i_w, V_{context}
N-gram神經語言模型
經典的神經概率語言模型,它沿用了N-gram模型中的思路,將w的前n-1個詞作爲w的上下文context(w), 而V_ context由這n-1 個詞的詞向拼接而成,即在這裏插入圖片描述

Word2vec

分佈式表示——詞向量表示
在這裏插入圖片描述
基於文本的詞向量學習
在這裏插入圖片描述
V是數據集中的詞向量個數,D是維度
■詞表規模V的確定:
1 )訓練數據中所有詞;
2 )頻率高於某個閾值的所有詞;
3 )前V個頻率最高的詞,e.g. V= 50000, V=80000

Mikolov2013年提出了兩種模型- – CBOW和Skip-gram

與Bengio的NPL M模型相比

  • 去除NPLM中的單隱層
  • 不考慮詞序的影響(詞序並不一定影響閱讀,人的閱讀習慣也並非總是線性掃描的) , 各個詞向量求均值向量(而非拼接)作爲輸入
  • 不只是考慮的詞的歷史信息,同時考慮其下文信息

視頻裏還有好多,不想寫了,想要的私聊我下吧,視頻加ppt都給你。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章