看板: BudaTech ◎ 佛典電子化討論    板主: HeavenChow
閱讀文章: 第 1114/2032 篇 | 上篇 | 下篇 | 回覆 | 轉寄 | 轉貼 | m H d | 返回
發信人: DavidChiou.bbs@cbs.ntu.edu.tw (Post Gateway), 信區: BudaTech
標  題: Re: 一些說明
發信站: 由 獅子吼站 收信 (Wed Dec 31 12:52:31 1997)


寄件人: dnstudio@m2.dj.net.tw [=InterNet E-mail=]
標  題: Re: 一些說明
發信站: 國際網路信件 (Tue Dec 30 09:38:11 1997)


邱大剛 寫道:
> 
> ==> 於 Heaven (Heavenchow@Lion) 文中述及:
> :   2.若字元大於 128 , 則此字元及下一個字元屬於中文. 檢查此中文是否是需要的.
> :   3.若是小於 128 , 以英文及符號看待. (包括換行碼)
> :   4.處理完這個中文或英文, 再換下一個字.
> 
>     這�塈畯茪H有些小經驗, 或許可以提升搜尋速率(如果要搜尋
> 的文件相當多, 而使用的程式語言較高階的話):
> 
>     "可試著先不管中英文, 全部用英文的搜尋方式. 找出的結果再以中文
>      filter 來除去誤判的即可. "
> 
這是 cbs 上的做法?
真要提高速度, 則須要建立 index table, 而且利用如 hashing table 的
資料結構, search 時先 search 此 table 再根據其 index 找到 which file
which line in the file, the string position within the line.

>     另外, 對於較短篇的比對(所以佛典搜尋� case 或許不適用),
> 有時若使用較高階的語言(ex: Perl), 或許可先將所有的中文字間以空
> 白隔開, 然後再以空白為字元的間隔單位. 這個好處是英文及中文的比對
> 可一次解決掉, 而且是依照中英的相對順序. 不過效率如何我沒有仔細評
> 估過, 僅供參考.
> 
如果用的是英文版的 search engine, 被 search 的中文file用這個處理
應是個好方法(如早期的 netscape 顯示中文的問題), 如果自己寫程式, 
還是用 128 來區別就可以了, 不過其他的 string manupitation 就
都可能自己要動手寫了.

>     附帶一提的是, 在單教授以前發展的 cgrep 上, 有 "換行搜尋" 的
> 功能. 例如說以下文件:
> "觀自在菩薩行深般
>  若波羅蜜多時照見"
>     要找出 "般若" 的話, 就必須具有換行搜尋的功能(這在 maha
> 的測試也有指出), 因此可以考慮未來加入此一功能(據我所知,
> 單教授 cgrep 的作法好像是 define 一個某大小的 buffer, 能將
> 前一行的最後面 n 個字元和這一行接起來, 一同進行比對?)
> 
末學上個月發表的 fts (中文全文檢索程式)也做了 "換行搜尋"的功能,
不過是用前一行的尾與後一行的頭來控制, 當初思考的時間不少但最後的 
algorithm 卻不是很複雜.

ps: fts 在如來網上面 http://www.dharma.org.tw/tool/fts95.zip

閱讀文章: 第 1114/2032 篇 | 上篇 | 下篇 | 回覆 | 轉寄 | 轉貼 | m H d | 返回

卍 台大獅子吼佛學專站  http://buddhaspace.org