日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

中文分词技术--统计分词

發布時間:2023/12/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 中文分词技术--统计分词 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

因為大規模語料的建立,統計機器學習方法的研究與發展,基于統計的中文分詞成為主流

主要思想

將每個詞看做是由詞的最小單位字組成的,如果相連的字在大量的文本中出現的次數越多,則說明這幾個字組成詞的概率越大。因此可以用字與字相鄰出現的頻率來反映成詞的可靠度,統計語料中相鄰出現的各個字的組合的頻度,當組合頻度高于某一個臨界值時,我們便認為其構成一個詞。

步驟

  • 建立統計語言模型

  • 對句子進行單詞劃分,然后對劃分結果進行概率統計,獲得概率最大的分詞方式。這里就用到了統計學習方法,如隱含馬爾可夫(HMM)、條件隨機場(CRF)等。

    ?


  • 語言模型?

    • 統計語言模型

    ? ?統計語言模型是自然語言處理的基礎,被廣泛應用于機器翻譯、語音識別、印刷體或手寫體識別、拼音糾錯、漢字輸入和文獻查詢等。?

    • 模型原型

    ? ?語言的數學本質就是說話者將一串信息在頭腦中做了一次編碼,編碼的結果是一串文字,而如果接受的人懂得這門語言,他就可以用這門語言的解碼方式獲得說話人想表達的信息。那么不免想到將編碼規則教給計算機,這就是基于規則的自然語言處理。但是事實證明基于規則行不通,因為巨大的文法規則和語言的歧義性難以解決。所以出現了基于統計的自然語言處理(NLP)。基于統計的NLP的核心模型是通信系統加隱含馬爾可夫模型。
    看一個句子是否合理,就看它的合理性有多少,就是它出現的概率大小:
    ? ? ? ?假定句子 ? ? ? ? S(W1,W2,......,Wn) ? ? ? ? ? ?Wi 代表詞
    ? ? ? ?其概率為 ? ? ? ? P(S) = P(W1,W2,.......,Wn)
    ? ? ? ?根據條件概率公式,每個詞出現的概率等于之前每個詞出現的條件概率相乘,于是
    ? ? ? ?P(W1,W2,......,Wn) = P(W1) · P(W1 | W2) · P(W3 | W1,W2) ··· P(Wn | W1,W2,......Wn-1)
    但是這樣計算量太大,句子越長越麻煩,因此Andrey Markov 提出了一種偷懶的方法,即馬爾可夫假設:假設任意一個詞出現的概率只與它前面的一個詞有關。
    ? ? ? ?因此 ?P(S) = P(W1) · P(W1 | W2) · P(W3 | W2) ··· P(Wn | Wn-1) ? ? ? ?
    這就是二元模型(Bigram Model), 相應的,高階語言模型即任意一個詞 Wi 出現的概率只與它前面的 i-1 個詞有關。元數越高越準確,但相應越復雜,越難實現,我們一般使用三元模型就夠了。
    那么如何計算這個概率呢,這就是統計語言模型的核心統計了,實際上是做了近似處理,即在統計量足夠大的情況下:
    ? ? ?因為 P(Wi | Wi-1)? = ?P(Wi-1,Wi) / P(Wi-1) = 聯合概率 / 邊緣概率
    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? =兩個詞一起出現的次數 / 單個詞出現的次數

    • 零概率問題

    統計中可能出現沒有統計到某個詞(邊緣概率為0)或者某兩個詞在一起的情況只出現了一次(聯合概率為1)的情況,就會導致十分絕對的概率出現,模型就不可靠。直接的解決方法是增加統計的數據量,但是數據不夠時。需要使用一個重新計算概率的公式,就是古德-圖靈估計(Good-Turing Estimate)
    古德-圖靈估計(Good-Turing Estimate)
    ? ?其原理是:對于沒有出現的概率,我們從概率總量中分配一小部分給它們,看見的事件的概率總量就小于1,這樣就不會出現概率為1和0的情況了。對應的語言模型也要做一些調整,最早由卡茲(S.M.Kate)提出,稱為卡茲退避法(Kate backoff)。


    HMM模型

    隱含馬爾可夫模型(HMM)是將分詞作為字在字串中的序列標注任務來實現的。其基本思路:每個字在構造一個特定的詞語是都占據一個確定的構詞位置(詞位),規定每個字最多有四個構詞位置,B(詞首)、M(詞中)、E(詞尾)、S(單獨成詞),用數學抽象表示如下:用 λ =?λ?λ?···λn代表輸入的句子,n為句子長度,λ表示字,ο =?ο?ο?···ο···表示輸出的標簽,理想的輸出即為P(ο?ο?···∣λ?λ?···)概率最大。在分詞任務上ο即為B、M、E、S這四種標記符號,λ為句子中的每個字。

    但是如此計算的計算量太大,因此引入獨立觀察假設,即假設每個字的輸出僅與當前字有關,于是得到:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? P(ο?ο?···∣λ?λ?···) = P(ο?∣λ?)·P(ο?∣λ?)·······

    改方法極大的簡化了計算量,但是完全沒有考慮上下文,出錯的可能性較大,所以HMM模型改進了它,由貝葉斯公式:? ? ? ? ? ? ? ? ? ? ?P(ο∣λ) = P(ο,λ)/P(λ) = P(λ∣ο)·P(ο)/P(λ)

    其中λ為輸入,所以P(λ)為已知,所以等價于最大化P(λ∣ο)·P(ο),對其做馬爾可夫假設,得到:P(λ∣ο) = P(λ?∣ο?)·P(λ?∣ο?)·······? ?

    對于? P(ο)= P(ο?)·P(ο?∣ο?)·P(ο?∣ο?ο?)······

    這里做其次馬爾可夫假設,每個輸出僅與上一個輸出有關,即:P(ο)= P(ο?)·P(ο?∣ο?)·P(ο?∣ο?)······

    所以P(λ∣ο)·P(ο) ∽?P(λ?∣ο?)·P(ο?∣ο?)·P(λ?∣ο?)·P(ο?∣ο?)······P(On∣On-1)P(λn∣On)

    實際求解maxP(λ∣ο)·P(ο)的常用方法是Veterbi算法,它是一種動態規劃的方法,其思想是:如果最短路徑經過某一個節點,那么從初始節點到當前節點的路徑也是最短的,因為每一個節點只會影響它前一個和后一個節點。所以可以用遞推的方法,選擇節點時只用考慮上一個節點的所有最優路徑,然后與當前節點路徑結合即可,這樣逐步找出最優路徑。

    總結

    以上是生活随笔為你收集整理的中文分词技术--统计分词的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。