Next Previous Contents

8. 句

8.1 前言

為了讓人與電腦在字與詞的處理上取得平衡, 我們設定人跟電腦溝通的最小單位是句子。不過句子的定義太過模糊, 再加上個人在電腦上使用中文的習慣不盡相同,所以何為『句』的界限很難界定。 『片段』是我們在句與詞之間加入的一個中間媒介。 一個『片段』全為中文字所組成,為非中文字所區隔。一個句子可以有許多片段。

針對句子的處理,除了把它細分為字,更重要的是要有詞的觀念。 所以斷詞是這個階段的重要處理函數。

8.2 tabeChuInfoToChunkInfo()

int tabeChuInfoToChunkInfo(struct ChuInfo *chu);

將 ChuInfo 中的 ChunkInfo 找出來。ChunkInfo 總數存放於 num_chunk 中, 而 chunk[i] 是指第 i+1 個 ChunkInfo。

8.3 tabeChunkInfoSegmentationSimplex()

int tabeChunkInfoSegmentationSimplex(struct TsiDB *tsidb, struct ChunkInfo *chunk);

使用最基本的『長詞優先法則』將 ChunkInfo 中的詞都找出來。 每個詞都存放於一個 TsiInfo 資料結構中,tsi[i] 是指第 i+1 個詞。 詞的總數存放於 num_tsi 中。

8.4 tabeChunkInfoSegmentationComplex()

int tabeChunkInfoSegmentationComplex(struct TsiDB *tsidb, struct ChunkInfo *chunk);

使用蔡志浩的斷詞演算法將 ChunkInfo 中的詞都找出來。 每個詞都存放於一個 TsiInfo 資料結構中,tsi[i] 是指第 i+1 個詞。 詞的總數存放於 num_tsi 中。

有關蔡志浩的斷詞演算法可參考 http://casper.beckman.uiuc.edu/~c-tsai4/chinese/wordseg/mmseg.html

8.5 tabeChunkInfoSegmentationBackward()

int tabeChunkInfoSegmentationBackward(struct TsiDB *tsidb, struct ChunkInfo *chunk);

使用林宣華 (shlin@iis.sinica.edu.tw) 的斷詞演算法將 ChunkInfo 中的詞都找出來。每個詞都存放於一個 TsiInfo 資料結構中, tsi[i] 是指第 i+1 個詞。詞的總數存放於 num_tsi 中。


Next Previous Contents