輸入法之模型剪枝一 基於熵的剪枝

2021-09-06 21:14:19 字數 1048 閱讀 8739

prunning,剪枝,顧名思義就是減掉那些不重要的。

從理論上來講,剪枝達到的效果就是剪枝後的q和剪枝前的 p 最大化相似,有兩種演算法 entroy-based以及rank-based。

針對model,使用相對熵來刻畫d(q||p) 來刻畫,保證兩個model的熵區別最小,就是entropy-based。假設使用rank(p|q)來描寫敘述,保證整個model的rank區別最小(主要是針對同乙個bigram pair的left word),就是rank-based。

對於smoothing,我們使用的是katz平滑。

entropy-based 計算的套路:

1.針對每一條資料,計算刪除後的模型引數,對於katz,又一次計算alpha,基於新/老alpha,看看整個model熵的變化,詳細值參考**公式。

引數計算:

這個事情真正的難點在於,怎樣分布式的計算這些資訊。每次刪除一條資料,明顯不可行,一下子刪除完也不行

通過公式來看,這裡面的重點是怎樣更新alpha,以及alpha確定後,怎樣迭代。

rank-based演算法當時也做過嘗試,感覺和entropy-based差點兒相同,而且這兩個都沒有達到期望的效果,所以並沒有深入研究

上面的演算法屬於理論上的演算法,來刻畫兩個模型的距離,在輸入法這個應用上,並不合適。

一般來講,輸入法原始model 的規模可能在30億,而乙個local的model須要的最多也是在1000w-2000w左右。基本上須要剪掉90%的資料,終於的model和原始model區別還是比較大的。

基於熵的剪枝,一般意義上期望是剪掉後和原始模型區別不大,依據經驗來講,剪掉20%左右的資料就非常不錯了

所以真正意義上的剪枝應該基於輸入法的特性來做

輸入法之模型訓練

輸入法,尤其是拼音輸入法,解決的就是一些序列標註的問題,針對給定的狀態 拼音 獲取其概率最高的隱狀態 中文 這個是乙個標準的hmm,針對hmm的解碼過程,是乙個很成熟也很完備的東西。local的計算和儲存能力都有限,我們選擇一般是二階馬爾科夫,也就是所謂的bigram model。高階對質量會有幫助...

「通用解題法」之回溯中的「剪枝」

回溯法採用 試錯的思想,它嘗試分步的去解決乙個問題。在分步解決問題的過程中,當它通過嘗試發現現有的分步答案不能得到有效的正確的解答的時候,它將取消上一步甚至是上幾步的計算,再通過其它的可能的分步解答再次嘗試尋找問題的答案。摘自百科 我的理解就是 採用試探性的搜尋原則,按優先條件向前進發,能進則進,無...

《基於人機互動之對搜狗輸入法的評價》

基於人機互動之對搜狗輸入法的評價 分別從以下幾個方面對搜狗輸入法進行客觀性評價 1.使用者介面 1 搜狗輸入法的介面雖然簡潔單調,但是顯而易見,非常直觀,別看它只顯現乙個條形小框,但是使用者可根據自己的需求對其進行設定,可以對字型顏色,圖示,語言的切換,標點符號,鍵盤以及 進行使用者自定義的設定,可...