|
XCIN Mail-list
|
| Indexed By Date: [Previous] [Next] | Indexed By Thread: [Previous] [Next] |
| Subject: | Re: 詞庫整體規畫(一些舊信供參考) |
| From: | Edward Lee <edward.@kimo.com> |
| Organization: | GNU/Linux/*BSD Dreamer Club |
| Date: | Sat, 13 Jan 2001 14:56:48 +0800 |
| To: | xcin@tlug.sinica.edu.tw |
| Delivered-To: | xcin-gate@tlug.sinica.edu.tw |
| Delivered-To: | xcin-list@tlug.sinica.edu.tw |
| Reply-To: | xcin@tlug.sinica.edu.tw |
| User-Agent: | Mutt/1.3.13i (Linux 2.4.0 i586) |
以下是從 archives 中整理出來的舊信內容,供大家參考,或許有 助於詞庫的整體規畫。 ◎ 注記的方式: > 假設我們的詞有幾個來源: > > L-舊的 libtabe tsi.src > M-教育部國語辭典 > E-輕鬆輸入法詞庫 > A-中研院分詞標準 > > 那麼新的 tsi.src 中每個詞條就多一個「來源」的欄位,紀錄長度是 1-4。 > 如果一個詞是 tsi.src 本來沒有但後來從國語辭典加進來的,而這個辭在 > 輕鬆輸入法的詞庫也有,但在分詞標準沒有,就是 ME,依此類推。這 > 是可讀性比較高的作法。如果要省空間的話就用一個 8-bit 字元也可以, > 反正只要四個 bits 就可以紀錄這些訊息。 ◎ 破音字的問題: >> 是不是可以考慮一個簡單一點的做法? >> 例如,現在 libtabe 中已有某讀音中每個字字頻排序表,例如:> >> ㄎㄜ4: 客 課 刻 克 .... > > 破音字的發音,如果不標頻率,至少要照頻率排序過,才能避免打「 > ㄎㄜˋ」跑出「可」來。如果使用者打「ㄎㄜˋ」,固然「可」是含 > 有這個音的最高頻字,但是「ㄎㄜˋ」不是這個字的主要發音。如果 > 單音節詞選字時可以避開該音節不是主要發音的字,只從那個音是主 > 要發音的字裡面挑,應該就比較不會遇到這種問題了。 ◎ 拆詞的問題: (一) > 我覺得很重要的一點是,詞條的保留或刪除標準,不應該依附在特定 > 演算法上。否則日後演算法換了,詞庫就沒有用了。至於後遺症,我 > 無法很確定地判斷,可能有風險。因為想不出五字的例子,拿三字舉 > 例說明可能的風險好了。假定「科學家」裡的「科學」、「家」都是 > 高頻詞,所以就不留「科學家」。這時使用者打這個句子: > > 「那個科學家簡直是天才」 > > 「科學家」裡的「家」會不會猜對,不是受頻率的影響,而是語境。 > 「加減」是一個詞,就會影響「家」中選的機率。同理,若不幸選了 > 「加減」,那「直」就得自求多福了。 > > 如果「科學家」一詞就在詞庫中,依目前的做法,是確定會斷出來的 > 。所以這是個複雜的問題,除非能百分之百確定沒有這種問題,還是 > 不刪為宜。 (二) > 五字的例子,假設因為「市立」、「療養院」都是最高頻,就刪了「 > 市立療養院」。這時使用者打這個句子: > > 「他昨天去市立療養院」 > > 如果沒有「市立療養院」這詞,「去世/立/療養院」、「去勢/立 > /療養院」、「去/市立/療養院」就要競爭,輸贏難定。如果有「 > 市立療養院」這詞,那麼「去/市立療養院」加入競爭,但它平均詞 > 長最長,「去」就會贏。接下來剩下「市立療養院」,就沒問題了。 > > 所以我還是建議少拆為宜。 (三) >> 請問一下,假設「去世」「立」「療養院」這三個詞的詞頻都遠高過 >> 「市立療養院」這個詞的詞頻,那有沒有可能造成誤判呢?這樣的話 >> 有沒有「市立療養院」這個詞好像沒有幫助? > > 因為總長度一樣(6),所以接下來是比平均詞長。三個詞的平均詞 > 長是 2,兩個詞的平均詞長是 3,所以選兩個詞的那組的第一個詞「 > 去」,然後再從「市立療養院」開始斷。不是一次斷三個詞的,一次 > 找三個詞的語境只為了斷一個詞。至於平均詞長通常是用在這種句子 > 結尾的情況,最大總長度相同的組合,有的有三個詞,有的只有兩個 > 詞。 > > 詞頻在這裡沒有作用。 ◎ 詞庫效率的問題: >> 2. 目前 libtabe 要改進「效率」的話,是不是就不宜從詞庫來精簡? >> 而且不僅不能去「瘦身」,還應該更加充實?還是根本上得從猜 >> 字引擎的機制來下手?如果這是個「大哉問」請不要見怪! > > 若已有「一不作二不休」,不成詞的「一不作二」可去掉。「不休」 > 應該留,因為常用於「爭吵不休」這樣的語境。詞庫收錄,當然只要 > 是詞就收,不能因為有大的就不收小的。 > > 詞庫大小頂多影響搜尋的時間,就拿 binary search 來說好了,八 > 萬詞、十萬詞、二十萬詞,其實也沒什麼差別。 > >> 不好意思,一下子問了那麼多,實在是因為想整理這個詞庫,卻因 >> 為沒有一個明確的規則,以致不知道要如何下手比較好。 > > 若說要增進效率,應該要改進的是演算法或是 implementation。詞 > 庫就留著原樣,是詞就收。「精簡」如果是把確定是詞的項目移走, > 那就絕對不應該了。拜託,把確定不是詞、也沒有意義的東西拿走就 > 好了…… ◎ 詞庫運用的問題: >> 我目前的策略是這樣的, gen_inp 是以輸入法表格為導向的模組,而 bimsphone >> 是以「音」為導向,且使用 libbims 為核心的模組,以此做為二者功能上的區 >> 分。至於未來是否要在 gen_inp 中加入可以使用 libtabe 詞庫的部分,目前 >> 沒有計畫,除非我們可以先弄清楚上述提到的問題 :-)) > > 增加這樣的功能說難不難, 說簡單也不簡單. > > tsi.db 是跟輸入法無關, 只有詞的一些資料. yin.db 剛好相反, 是跟注音輸入 > 法共存. 比方說要做一個倉頡的詞"倉"輸入法, 只要用類似原理做出一個 cj.db, > 斷詞演算法等的差異並不大. > > 難的是, 每套輸入法的重根規則不同, 只能一個個對付. 以上除最後一段是 Pai-Hsiang Hsiao 兄回答的外,其餘皆是 Chih-Hao Tsai 兄 回答的。 -- Warm Regards, Edward Lee(李果正) -------------------------------- 大道廢,有仁義。智慧出,有大偽。 -------------------------------- To Unsubscribe: send mail to majordomo@linux.org.tw with "unsubscribe xcin" in the body of the message
| Indexed By Date | Previous: |
Re: 詞庫整體規畫 From: thhsieh@tlug.sinica.edu.tw |
|---|---|---|
| Next: |
Re: addtsi From: william.bbs@openbazaar.net (何陋居主) |
|
| Indexed By Thread | Previous: |
Re: 詞庫整體規畫 From: Edward Lee <edward.@kimo.com> |
| Next: |
Re: 詞庫整體規畫 From: thhsieh@tlug.sinica.edu.tw |