文章:richard sproat, a statistical method for finding word boundaries in chinese, 1990
剛看了一篇2023年關於分詞的綜述,當中提到,最早使用統計方法進行分詞的是1990的一篇文章,看了一下作者名字,richard sproat,是乙個貝爾實驗實的老外,這引起了我的興趣。
**的研究動機在於,詞的劃分結果,影響到中文的發音,進而影響到語音識別效果,比如在「老鼠」單獨成詞的時候,「老」發第3聲(這裡其實應該是誤解),當「小老鼠」成詞時,「老」發第二聲。這個例子雖然不恰當,但這個規律確實在中文中普遍出現,比如「小老弟」組合起來時,「小」其實是有變化的。
i (a
;b)=
log2
p(a,
b)p(
a)p(
b)
i(a;b)=log_2\frac
i(a;b)
=log
2p(
a)p(
b)p(
a,b)a(
ab):
=log
2f(a
b)nf
(a)n
f(b)
n=lo
g2(n
)+lo
g2f(
ab)f
(a)f
(b
)a(ab) := log_2 \frac} \frac} =log_2(n)+log_2 \frac
a(ab):
=log
2nf
(a)
nf(b
)nf
(ab)
=l
og2
(n)+
log2
f(a
)f(b
)f(a
b)其中,n表示語料的總詞數,f(a)表示字a在語料**現的頻率,f(ab)表示ab在句子中連續出現的次數
有了統計量之後,如何切詞呢?方法也很簡單。對乙個句子,遍歷當中所有出現的連續字組合ab,計算它們的分值,把分值最高的合併起來,並從候選中去掉,直至無可合併為止。
比如,對句子「我弟弟現在要坐火車回家」,候選及得分如下:
分詞候選
候選得分
合併次序
我弟0.00
弟弟10.441弟現
0.00
現在4.234在要
-2.79
要坐0.00
坐火0.00
火車7.312車回
2.06
回家4.69
3合併結果:
我要坐結果:
語料總詞數5828,567錯判,347未召回,但錯判的部分有明顯的規律,如數字、英文等,可以處理,把這部分排除掉的準確率是94%。
錯判的原因主要是這些:詞的出現頻率太低或未在訓練集**現過(岳母、合金等),2字以上詞(中山區,不以為然等)
其他討論:文中還嘗試了擴大訓練語料集,若擴大的部分與測試集同源,則效果提公升,若擴大的部分與測試集異源,則效果有細微下降。
統計分析的體會
客戶給了一張基本的資料表,然後讓我做大量的計算,並且動態 靜態的做統計分析報表,經過了長達兩個月的苦戰,終於作完了。體會如下 1 一張存放中間統計結果的表是必要的,如果能夠將客戶的統計分析需要經過計算才能顯示的字段囊括在內是最好不過了,畢竟在查詢的過程中作計算是一件很討厭的事,雖然有資料冗餘,但是簡...
資料的統計分析
資料預處理之後,我們要做一些統計分析,來觀察我們的資料,這其中包括 描述性分析 統計推斷。描述性分析 主要是統計指標 圖表。1 集中趨勢分析 除了分位數,我們還可以結合 中位數 眾數 平均數三者的關係。具體地 眾數在中位數左側,平均數在中位數右側,則此時資料呈正偏態分布,又叫右偏,存在極大異常值。是...
pandas的統計分析
import pandas as pd import numpy as np data pd.read excel meal order detail.xlsx print data n data print data 的列索引 n data.columns print data 的資料型別 n d...