回覆列表
  • 1 # 北航秦曾昌

    為了解答這一問題,筆者先來簡要的介紹一下兩者的主要架構,然後再闡述一下自己對這個問題的觀點。

    1、n-gram

    n-gram主要是基於機率統計而得到的語言模型,對於某一個句子w1,w2,w3,...,wn,其發生的機率透過鏈式法則展開為P(w1,w2,w3,...,wn)=P(w1)P(w2|w1)P(w3|w1,w2)···P(wn|w1,w2,w3,...,w(n-1))。透過馬爾科夫假設,可假設當前的歷史僅取決於其自己、前一個歷史或前兩個歷史等,分別構成了unigram/bigram/trigram/...。bigram的公式寫於下:

    一般還需考慮在語料庫中w1置於句首的機率以及wn置於句尾的機率,則bigram一般寫成:

    透過以上的分析可以看出n-gram完全是基於機率統計而來的模型,某個詞在句子中出現的可能性取決於與其相連的一個詞或者幾個詞出現的情況。

    2、RNN/LSTM

    近年來由於深度學習的興起,自然語言處理領域也採用深度學習的模型和方法來解決本領域中遇到的工程問題。RNN/LSTM就是在這樣的時代背景下被逐漸應用的模型。RNN中文名稱為迴圈神經網路,其結構圖如下圖所示。神經元s的輸入不僅取決於這一時刻外界的輸入xt,還取決於上一時刻s的狀態s(t-1)。

    LSTM是RNN的加強版,其結構圖如下圖所示。其有一條貫穿開始到結尾的時間線(圖中上方的箭頭),這條時間線是一條記憶的紐帶,透過閥門Gate來選擇忘記或記住歷史資訊,使其可以更好的處理時間序列文字。

    3、對於主流語言模型的討論

    從時間的脈絡來看,自然語言處理先後經歷了規則系統、機率系統、深度學習三個階段,深度學習是目前發展的最前沿的階段。RNN/LSTM以其複雜而強大的系統結構確實在自然語言處理領域解決了很多問題,並且在運算速度上有一定的提升。但是現在就下結論說n-gram和RNN/LSTM誰是語言模型的主流還具有一定的侷限性,因為在機器學習的領域中並不是系統越複雜越好,而是在具體的工程問題中哪種方法或模型最有用,就是最好的。同時我們也應該看到深度學習的興起,確實在學術和工業界引起了不小的熱潮,所以我更願意把RNN/LSTM當作是目前的一種熱門的研究方向,而不是說現在就把其奉為一種模型上的主流。最後我想說的是,無論哪種模型,是簡單還是複雜,只要能為我們的生活解決實際的問題就是一個不錯的模型。

  • 中秋節和大豐收的關聯?
  • 半導體制冷片能用來給CPU降溫嗎?