顯示具有 語料庫 標籤的文章。 顯示所有文章
顯示具有 語料庫 標籤的文章。 顯示所有文章

一個能夠搜尋平衡語料庫和華語文語料庫(COCT)的方法:透過CQP語法進行語料檢索


每每聽到「○○○語料庫『不好用』」的時候,「不好用」包含了許多可能性。它可能指的是語料庫的語料不夠多(數量),也可能指的是語料庫所涵蓋的文體或範圍(質量)並非使用者所期待。學了一些入門的語料庫檢索的方法之後,我想大部分人在說「○○○語料庫『不好用』」這句話的時候,想表達的應該是「○○○語料庫(界面)的查詢功能『不好用』」。

中央研究院的平衡語料庫自2007年開始未再更新,而檢索界面看起來最後設計是在2013年,它透過勾選、搜尋框和下拉選單等網頁工具給人一種「很好用」的印象。國家教育研究院的華語文語料庫(COCT)則自2013年開始蒐集語料,其語料數量已經超過平衡語料庫,同時透過國教院語料索引典系統的設置,在同一個系統內,可以檢索不同的語料庫(目前開放的為中研院平衡語料庫4.0、COCT 口語語料庫、華語中介語語料庫、COCT 書面語語料庫)的語料。索引典系統還「不太好用」,因為它還不能透過人類直觀的感覺去進行查詢,使用者必須學習電腦的語言(Simple Query或Corpus Query Processor, CQP),才能找到符合要求的語料。

在CQP的表示式中,
[word="把" & (pos="Nf" | pos="Na")]
的意思是查詢「把」這個詞中,屬於詞性是Nf和Na的語料。Nf和Na就是語料庫中,透過斷詞系統或人工檢查所標註的詞性,中研院詞類標記列表 有所標註的代號。

CQP包含下面萬用字:

[word="好高.遠"]
.代替一個字

[word="哈*"]
*前字重覆0~n次

[word="副.+"]
+前字重覆0~n次

[word="[台臺]灣"]
[AB..]任選一個字

[word="一[^百千萬]二[^百千萬]"]
[^AB...]否定一組字

[word="(台北|高雄)市"]
"(X|Y)Z"任選一組字

根據上面的表示式和萬用字,我們可以就可以對電腦說很多話。假設我現在要查四字格裡頭,第一個字是「生」,第二個字是「死」的時候,我就可以用以下表示式:
[word="...."&char(word,0)="生"&char(word,1)="死"]
同理,我可以請電腦幫我找,第一個字是「生」,第三個字是「死」
[word="...."&char(word,0)="生"&char(word,2)="死"]
第一個字是「生」,第四個字是「死」
[word="...."&char(word,0)="生"&char(word,3)="死"]
第二個字是「生」,第三個字是「死」
[word="...."&char(word,1)="生"&char(word,2)="死"]
第二個字是「生」,第四個字是「死」
[word="...."&char(word,1)="生"&char(word,3)="死"]
第三個字是「生」,第四個字是「死」
[word="...."&char(word,2)="生"&char(word,3)="死"]

接著我可以用|把上面這些條件取聯集,我就得到一個「四字格裡頭,包含『生』和『死』兩個字,而且『生』在前面,『死』在後面」的表示式
[word="...."&char(word,0)="生"&char(word,1)="死"]|[word="...."&char(word,0)="生"&char(word,2)="死"]|[word="...."&char(word,0)="生"&char(word,3)="死"]|[word="...."&char(word,1)="生"&char(word,2)="死"]|[word="...."&char(word,1)="生"&char(word,3)="死"]|[word="...."&char(word,2)="生"&char(word,3)="死"]

跟日本人說話,我們要用日語;跟泰國人說話,我們要用泰語;跟語料庫說話,我們可以用第四代語料庫語言CQP。當然,有時候找個日語翻譯或泰語翻譯也是解決溝通上的方法,而和語料庫溝通的翻譯就是那些擁有資工專長的人們。

CQP的使用可以參考中國外語教育研究中心許家金的使用手冊