摘要:該文在南京師范大學(xué)語言科技研究所《元語言研究》項目組的研究成果上,對其建構(gòu)的釋義元語言系統(tǒng)進(jìn)行簡單介紹并通過軟件對《釋義元語言詞表》、《現(xiàn)漢受限詞匯表》、《釋義元語言微型詞典》等若干詞表作了查詢、增補(bǔ)、修改等一系列功能,以完成對釋義元語言和釋義詞的完善工作。
關(guān)鍵詞:元語言;釋義元語言;受限
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2008)33-1376-02
The Research on Computer Defining Meta Language
ZHANG Guo-hua
(Nanjing Normal University,Taizhou College, Taizhou 225300, China)
Abstract: This paper is at the research results of the project team in Nanjing normal university language scientific and technological research institute, and it introduce and pass between software and \" Defining Meta language word form \" briefly to go on to defining Meta language system constructed to build it, \" Chinese limited word list\", \" Defining Meta language miniature dictionary \" several word form make inquire about, augment, a series of functions of fixing etc., in order to finish to defining Meta language and perfection work , interpretation of word.
Key words: metalanguage; defining metalanguage; limited
1 引言
本文在南京師范大學(xué)文學(xué)院計算語言學(xué)的研究成果上,對其建構(gòu)的釋義元語言系統(tǒng)進(jìn)行簡單介紹并通過軟件對《釋義元語言詞表》、《現(xiàn)漢受限詞匯表》、《釋義元語言微型詞典》等若干詞表作了查詢、增補(bǔ)、修改等一系列功能。下文將著重介紹后者的設(shè)計思路以及程序?qū)崿F(xiàn)過程。
本論文的任務(wù)是:在南京師范大學(xué)語言科技研究所《元語言研究》項目組編撰的《釋義元語言詞表》、《現(xiàn)漢受限詞匯表》、《釋義元語言微型詞典》和《XH電子文本》的基礎(chǔ)上,采用Visual C++ 6.0設(shè)計軟件對詞表、詞典進(jìn)行查詢和增補(bǔ),以完成對釋義元語言和釋義詞的完善工作。

圖1 系統(tǒng)功能圖

圖2 釋義詞元和釋義詞條的檢索界面
2 系統(tǒng)設(shè)計
根據(jù)課題要求我們先明確其系統(tǒng)兩大功能模塊,釋義詞元和釋義詞條檢索模塊、詞條撰寫和詞元增補(bǔ)模塊。(詳見功能總圖1)
3 關(guān)鍵技術(shù)及實現(xiàn)方式
設(shè)計的第一步是使用AppWizard創(chuàng)建應(yīng)用程序框架:在C++平臺上,打開“File”的“New”菜單項,選擇工程項目的類型為“MFC App Wizard(exe)”,然后把項目名稱命為“釋義元語言應(yīng)用工具”。接下來MFC App Wizard可以提示我們把程序框架完成。
3.1 詞表、詞典查詢
這一部分要完成的功能是釋義詞元和釋義詞條的檢索,要建立的對話框如圖2。那么首先要插入一個新的對話框,并添加相關(guān)的按鈕和文本框等。接下來為新建的對話框設(shè)計一個類“FileSearch”,并為若干控件添加成員變量:為文本框A設(shè)置CString類型的變量m_Search,為文本框B設(shè)置CString類型的變量m_View。另外還有建立一個菜單項“檢索”,為其添加成員函數(shù)并編寫代碼。

圖3 詞元檢索實現(xiàn)結(jié)果

圖4 按行訊入內(nèi)容實現(xiàn)結(jié)果

圖5“首條”實現(xiàn)結(jié)果

圖6 詞條撰寫和詞元增補(bǔ)界面
操作步驟:
1)在A窗口輸入某詞,點(diǎn)擊詞元檢索鍵,B窗口顯示該詞是否在《釋義詞元/音序表》中。
2)點(diǎn)擊詞表瀏覽鍵,在A窗口瀏覽《釋義詞元/音序表》及其詞元數(shù)。
3)在A窗口輸入某詞元,點(diǎn)擊詞元頻度鍵,B窗口顯示該詞元在《釋義元語言受微型詞典》中的使用次數(shù)。
4)在A窗口輸入某詞,點(diǎn)擊是否受限鍵,B窗口顯示該詞是否在《受限詞匯/音序表》中。
5)在A窗口輸入某受限詞,點(diǎn)擊詞元釋義鍵,B窗口顯示該受限詞在《釋義元語言微型詞典》中的元語言釋義。
6)點(diǎn)擊現(xiàn)漢釋義鍵,A窗口顯示該同一受限詞的XH釋義,可進(jìn)行比對。
7)點(diǎn)擊詞典瀏覽鍵,在B窗口瀏覽《釋義元語言微型詞典》全部詞條及詞條數(shù)。
8)輸入對象在A窗口,顯示結(jié)果在B窗口。凡統(tǒng)計數(shù)字皆顯示在數(shù)字顯示窗口。
9)復(fù)制和打印功能不對外使用。
其中重點(diǎn)要實現(xiàn)的是“詞元檢索”、“詞元釋義”和“現(xiàn)漢釋義”的功能:① 詞元檢索:在“輸入瀏覽窗口”輸入待檢索的字詞,通過詞元檢索,將詞元表中該字詞整行的顯示在“顯示結(jié)果窗口”中;② 詞元釋義:在詞元檢索的基礎(chǔ)上,或者重新在“輸入窗口”輸入待釋義的字詞,通過詞元釋義,將微型詞典中該字詞的釋義行顯示在“顯示窗口”;③ 現(xiàn)漢釋義:在“輸入窗口”輸入待釋義字詞,通過現(xiàn)漢釋義,將XH電子文本中該釋義行顯示在“顯示窗口”。
1)“詞元檢索”的實質(zhì)是在一個字符串中查找是否有某個漢字串,用庫函數(shù)strstr()或CString::Find()一般都沒有問題;但如果查找的是單個漢字,就有可能出現(xiàn)錯位,這里我們用FindOneHZ()來查找單個漢字。
實現(xiàn)的結(jié)果如圖3所示。
2)“現(xiàn)漢釋義”實現(xiàn)的思路是:將釋義文件的內(nèi)容保存到鏈表中,接著在鏈表中查找待釋義詞,找到就將該詞的釋義顯示出來。(因現(xiàn)漢文本過多,此處只用了“xh-o.txt” )
函數(shù)SetupXhList()的功能是按行讀入文本文件中的內(nèi)容,具體思路是先生成文件流,并判斷是否有文件,沒有就報錯。然后用函數(shù)getline()讀入文本內(nèi)容,并按照需要的對象格式插入鏈表。
實現(xiàn)結(jié)果如圖4所示。
3)“詞元釋義”的程序思路與現(xiàn)漢釋義基本相同,區(qū)別是加入鏈表的是《釋義元語言微型詞典》。程序清單略。
4)“詞表瀏覽”的功能是將讀入的詞表內(nèi)容顯示在輸出窗口中。該程序用ReadString()函數(shù)讀入詞表內(nèi)容,然后傳給變量sss,并傳給控件。
5)“首條”是將詞表的第一行內(nèi)容顯示在輸出窗口。
實現(xiàn)結(jié)果如圖5所示。
6)“前條”是在瀏覽詞表時,用于顯示當(dāng)前詞元的前一條記錄。
程序設(shè)計思路是將文本的內(nèi)容加入鏈表,然后將鏈表的當(dāng)前結(jié)點(diǎn)前移,亦即將count減1,并判斷是否還有記錄,沒有就產(chǎn)生對話框提醒,最后把前一結(jié)點(diǎn)的記錄傳給變量。 “后條”的思路也相似,不同是將鏈表的結(jié)點(diǎn)后移,即將count加1。
3.2 詞表、詞典增補(bǔ)
這一部分要完成的功能是詞條撰寫和詞元增補(bǔ),對話框和類的建立過程與前一個對話框建立時相同,我們把類命為“FileAdd”。要完成的界面如圖6所示。
操作步驟:
1)在A窗口輸入撰寫詞目,點(diǎn)擊撰寫詞目鍵,B窗口顯示該詞目的XH釋義。
2)點(diǎn)擊詞元比對鍵,C窗口顯示釋義句中的釋義詞元。在C窗口撰寫詞元釋義。
3)在A窗口輸入所用釋義詞,點(diǎn)擊詞元比對鍵,C窗口顯示是否詞元。
4)點(diǎn)擊詞元選擇鍵,A窗口顯示詞元集,根據(jù)音序選擇所需詞元。
5)點(diǎn)擊詞元驗證鍵,C窗口顯示該釋義句中是否全是詞元。
6)點(diǎn)擊詞條保存鍵,C窗口中的新撰詞條(詞目及其釋義)存進(jìn)《釋義元語言微型詞典》(詞目自動另存入《受限詞表》)。
7)在A窗口輸入新增詞元的漢字和拼音,點(diǎn)擊詞元保存鍵。
8)點(diǎn)擊詞元瀏覽鍵,A窗口顯示該新增詞元在《詞元集》中的音序位置。
9)點(diǎn)擊受限詞表鍵,A窗口顯示該新釋詞目在《受限詞表》中的音序位置。
10)點(diǎn)擊詞典瀏覽鍵,A窗口顯示該新增詞條在在《微型詞典》中的音序位置。
11)輸入對象在A窗口,顯示結(jié)果在B窗口。凡統(tǒng)計數(shù)字皆顯示在數(shù)字顯示窗口。
12)復(fù)制和打印功能不對外使用。
其中“撰寫詞目”的功能是顯示被釋字詞的XH釋義,所以其程序與前一個對話框中的“現(xiàn)漢釋義”完全一樣。
“詞元比對”是將B窗口顯示的釋義句子中的釋義詞元顯示在C窗口,以便于釋義句子的編撰。這個功能的設(shè)計要用到北大計算語言研究所的分詞程序FreeICTCLAS,設(shè)計思路是:將待釋詞的現(xiàn)漢釋義分成兩個部分,其中第一部分是詞語及其拼音,第二部分是該詞的XH釋義,并將第二部分的內(nèi)容取出來存入文本文件,然后利用分詞程序FreeICTCLAS對其進(jìn)行處理,將釋義句子按字詞標(biāo)注好,并存入另一個文本文件。然后本程序再對第二個文件的內(nèi)容進(jìn)行處理,即查詢每個標(biāo)注的字詞是否是釋義詞元,并把其中是詞元的顯示在C窗口。
“詞元選擇”要完成的功能是在A窗口顯示詞元集,其實現(xiàn)方法與前一個對話框的“詞表瀏覽”是相同的,這里就不再做介紹。
4 后續(xù)工作
本次的設(shè)計暫時告一段落,但是以后還有許多工作要做。一方面是對計算語言學(xué)更深入的學(xué)習(xí);另一方面是對本設(shè)計的修改和完善,讓其能更好的為詞元集的編撰工作服務(wù)。計算機(jī)語言學(xué)這門植根于多個學(xué)科土壤之上的交叉型學(xué)科而言還是個門外漢,對于釋義元語言方面要做的工作也知之甚少,所以對要做工作的理解與原意也很可能大相徑庭。計算語言學(xué)的研究觸角涉及到了包括計算機(jī)科學(xué)、語言學(xué)、數(shù)學(xué)、認(rèn)知科學(xué)、邏輯學(xué)等多個學(xué)科在內(nèi)的研究范疇。交叉學(xué)科的特點(diǎn)決定了對一個問題的看法和研究可以從許多角度進(jìn)行,同時也要求我們廣泛地涉獵多學(xué)科的營養(yǎng)來豐富自身對它的認(rèn)識。
隨著計算機(jī)的日益普及,計算從桌面走向網(wǎng)絡(luò),從主要集中在辦公環(huán)境走向人們?nèi)粘I畹母鱾€角落,伴隨著計算機(jī)的應(yīng)用領(lǐng)域的不斷拓寬,計算語言學(xué)的應(yīng)用也呈現(xiàn)日益廣泛的趨勢。而就計算語言學(xué)這一學(xué)科本身的發(fā)展歷史而言,可以說,正是來自“應(yīng)用”的契機(jī)才觸發(fā)了這門學(xué)科的誕生,并且可以說,自計算語言學(xué)這門學(xué)科誕生之后,來自實際應(yīng)用的需求也一直都是計算語言學(xué)前進(jìn)發(fā)展的主要動力之一。我們完全有必要對計算語言學(xué)做更多的了解。
參考文獻(xiàn):
[1] 蘇新春.漢語釋義元語言的功能特征與風(fēng)格特征[J].辭書研究,2004(5):11-21.
[2] 李葆嘉.漢語元語言系統(tǒng)研究的理論建構(gòu)及應(yīng)用價值[J].南京師大學(xué)報,2002,7(4):140-147.
[3] 蘇新春.元語言研究的三種理解及釋義型元語言研究評述[C].第三屆全國語言文字應(yīng)用學(xué)術(shù)研討會論文集,2004.
[4] 陳小荷.現(xiàn)代漢語自動分析[M].北京:北京語言文化大學(xué)出版社,2000.
[5] 陳元琰,鄧宗明,張睿哲,等.visual c++6.0 編程實用技術(shù)與案例[M].北京:清華大學(xué)出版社,2001.