|
XCIN Mail-list
|
| Indexed By Date: [Previous] [Next] | Indexed By Thread: [Previous] [Next] |
| Subject: | 關於 bims 猜詞 |
| From: | Kuang-che Wu <kcwu@camel.ck.tp.edu.tw> |
| Organization: | Taipei Chien-kuo Senior High School |
| Date: | 9 Dec 2000 19:54:41 GMT |
| To: | xcin@tlug.sinica.edu.tw |
| Reply-To: | xcin@linux.org.tw |
我不知道這問題是不是該在 sourceforge 上討論比較適當
(sourceforge上看起來較冷清, 所以我就在這問了.....)
看起來 bims 猜詞大致上是用跟斷詞一樣的演算法,
差別在於現在是"斷音", 因此看過了 code 之後, 有點小問題
1. 從 Chih-Hao Tsai 兄的網站上看到關於 CScanner/MMSEG 的說明,
其中使用單字詞的字頻來作 disambiguation,
在以前的文章也提到使用詞頻來斷詞似乎不是很有效
而 bims 中的猜詞演算法, 並沒有使用單字頻斷詞,
取而代之的是用累計詞頻來作 disambiguation
好奇是為了什麼用後者取代前者呢?
(拿 tabe的斷詞、bims的斷音(猜詞) 跟 CScanner 的 code 比較,
真的差好多....有感而發)
2. 這部份可能複雜瑣碎一點, 牽扯到程式碼了...
程式中先從頭選出三個可能斷音點,
根據 bimsVerifyPindown() 檢查如此斷音是否存在不違背pindown的詞
然後用四個 rule 來 disambiguate
這其中有個問題, 前三個 rule 關於長度,
最後一個使用詞頻, 這是我覺得有問題的地方
由前頭找出三個可能斷音, 因此只要"有可能"這樣斷音,
就存在這樣的三詞音
但是後來使用 rule4 時, 是把"所有該詞音的詞" 詞頻最大的拿來加總
我覺得應該是: 把"所有該詞音的詞中, 不違背pindown" 詞頻最大的拿來加總
舉個例子應該會比較清楚我在講甚麼....
實際的例子太難舉了, 我用符號來說明
假設現在使用者輸入的音是 12345,
2 這個音被 pindown 要用 b 這個字
現在詞音 12 3 45 都存在詞, 1 23 45 也存在詞, 因此 rule 1~3 沒有作用
詞: AB C DE F bH DE
Ab
12 有可能是 AB 這個詞, 也可能是 Ab 這個詞
假設各詞詞頻 AB 5, Ab 1, C 1, DE 1, F 1, bH 2
所以根據 rule 4 的 code,
12 3 45 這種斷法, 詞頻總和=5+1+1=7
1 23 45 這種斷法, 詞頻總和=1+2+1=4
所以程式會選擇使用 12 3 45 這種斷音,
最後根據斷音 smart edit, 會選字變成 Ab C DE
問題在於, 12 的最大詞頻不應該算成 5, 應該是 1 才對
因為 2 被 pindown 用 b 了
這樣的話 12 3 45 詞頻總和應該算成 1+1+1=3
這時選擇 1 23 45 斷音是比較好的決定, 選字成 F bH DE
希望大家能看得懂我在說甚麼....
To Unsubscribe: send mail to majordomo@linux.org.tw
with "unsubscribe xcin" in the body of the message
| Indexed By Date | Previous: |
「一蹴可及」vs.「一蹴可幾」 From: william.bbs@openbazaar.net (何陋居主) |
|---|---|---|
| Next: |
Re: 「一蹴可及」vs.「一蹴可幾」 From: edward@linux.dreamer.org (Edward Lee) |
|
| Indexed By Thread | Previous: |
Re: 「一蹴可及」vs.「一蹴可幾」 From: edward@linux.dreamer.org (Edward Lee) |
| Next: |
Re: 關於 bims 猜詞 From: Chih-Hao Tsai <hao520@yahoo.com> |