Great Circle Associates

XCIN Mail-list
(January 2001)


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



References:
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