語法框架是一種計算機編程語言,專門為編寫自然語言的語法而設(shè)計,它有能力并行處理多種自然語言!墩Z法框架:為多種自然語言語法編程》全面介紹了如何利用語法框架為自然語言編寫語法,以及如何在旅游手冊、口語對話系統(tǒng)和自然語言處理系統(tǒng)等實用系統(tǒng)中加以應(yīng)用。書中的例子和練習涉及多種自然語言,讀者可以從中學習如何從計算語言學的視角看待自己的母語。
閱讀《語法框架:為多種自然語言語法編程》不需要語言學基礎(chǔ)知識,因此,特別適合計算機科學家和程序員使用。此外,《語法框架:為多種自然語言語法編程》從程序語言理論的視角展示了處理多種自然語言語法的新途徑,因此,語言學家也會對《語法框架:為多種自然語言語法編程》產(chǎn)生興趣。
第1章 導論
1.1 本書內(nèi)容
1.2 如何使用本書
1.3 語法在語言處理中的作用
1.4 語法成本
1.5 多語性
1.6 語義動作和互操作性
1.7 應(yīng)用語法和資源語法
1.8 GF的歷史及其應(yīng)用
1.9 相關(guān)工作
第Ⅰ部分 語法框架輔導
第2章 多語種語法的基本概念
2.1 BNF語法格式
2.2 GF系統(tǒng)的使用
2.3 在GF系統(tǒng)中測試一個語法
2.4 用于意大利語的BNF語法
2.5 BNF語法和翻譯
2.6 抽象句法與具體句法
2.7 在GF里翻譯
2.8 語法模塊結(jié)構(gòu)
2.9 BNF語法的局限性
2.10 阻止和元變量
2.11 自由變異
2.12 歧義
2.13 剩余問題
2.14 圖示形象化和命令行解釋器轉(zhuǎn)義
2.15 詞法分析和反詞法分析
2.16 字符編碼
第3章 參數(shù)、表格和記錄
3.1 形態(tài)變異問題
3.2 參數(shù)和表格
3.3 變量特征與固有特征
3.4 記錄與記錄類型
3.5 線性化類型與一致
3.6 GF中的函數(shù)編程:運算定義
3.7 Food語法的再探討
3.8 在GF里測試詞形變化和運算
3.9 部分調(diào)用
3.10 非連續(xù)成分
3.11 非銜接詞法
第4章 可模塊化與可擴展的語法編寫
4.1 可復用的資源模塊
4.2 數(shù)據(jù)抽象
4.3 分支表達式和字符串匹配
4.4 智能詞形生成函數(shù)
4.5 阿拉伯語詞法回顧
4.6 區(qū)分運算類型和定義
4.7 運算重載
4.8 模塊擴展和繼承
4.9 繼承和打開
4.10 依存圖
4.11 參數(shù)的代數(shù)數(shù)據(jù)類型
4.12 記錄擴展和子類型
4.13 元組與乘積類型
4.14 前綴依存選擇和模式宏
4.15 編譯時字符串和運行時字符串
第5章 使用資源語法庫
5.1 庫的目的和覆蓋范圍
5.2 詞典和短語規(guī)則
5.3 詞匯范疇和規(guī)則
5.4 短語范疇和規(guī)則
5.5 資源API
5.6 庫的路徑
5.7 示例:英語
5.8 多語言語法的函子實現(xiàn)
5.9 界面和實例
5.10 多語言語法的設(shè)計模式
5.11 分工再探討
5.12 重寫函子
5.13 編譯時轉(zhuǎn)移
5.14 作為語言本體的資源語法
5.15 資源API概覽
5.16 結(jié)構(gòu)扁平化
5.17 時態(tài)和極性
5.18 瀏覽資源語法庫
第6章 抽象句法里的語義動作和條件
6.1 作為邏輯框架的GF
6.2 依存類型
6.3 選擇限制
6.4 多態(tài)性
6.5 具體句法中的依存類型
6.6 證明對象
6.7 證明攜帶文件
6.8 受限多態(tài)性
6.9 約束變量與高階抽象句法
6.10 照應(yīng)表達式
6.11 語義定義
6.12 內(nèi)涵等式和外延等式
6.13 語義動作和運行時轉(zhuǎn)換
6.14 預定義類
6.15 概率GF語法
第Ⅱ部分 更大規(guī)模語法及其應(yīng)用
第7章 嵌入語法與代碼生成
7.1 可移植語法格式
7.2 嵌入解釋器及其API
7.3 Haskell中的嵌入GF應(yīng)用
7.4 PGF模塊
7.5 獨立翻譯器
7.6 翻譯器循環(huán)
7.7 答疑系統(tǒng)
7.8 GF數(shù)據(jù)類型的輸出
7.9 將其全部放在一起
7.10 網(wǎng)絡(luò)服務(wù)器應(yīng)用程序
7.11 其他宿主語言的嵌入語法
7.12 多語言句法編輯
7.13 語音識別的語言模型
7.14 統(tǒng)計語言模型
7.15 多模態(tài)對話系統(tǒng)
第8章 形式語言與自然語言接口
8.1 算術(shù)表達式
8.2 作為線性化的代碼生成
8.3 帶變量的程序
8.4 賦值的具體句法
8.5 變量的自由句法
8.6 GF對于定義形式語言是有用的嗎
8.7 由邏輯生成自然語言
8.8 自然語言的邏輯語義學
8.9 分形語法
第9章 開始資源語法編程
9.1 概覽
9.2 微型資源語法
9.3 特征設(shè)計
9.4 謂項
9.5 互補性
9.6 限定
9.7 修飾
9.8 詞匯插入
9.9 意大利語中的微型資源
9.10 實現(xiàn)詞法
9.11 實現(xiàn)修飾和限定
9.12 實現(xiàn)動詞短語和互補
9.13 實現(xiàn)謂項
9.14 實現(xiàn)剩余的部分
9.15 并列和抽取
第10章 擴展資源語法庫
10.1 資源語法的模塊結(jié)構(gòu)
10.2 所需工作量統(tǒng)計
10.3 一種新語言的工作流程
10.4 重用微型資源的代碼
10.5 研發(fā)-測試周期
10.6 非ASCII字母和轉(zhuǎn)寫
10.7 編碼原則
10.8 資源語法中的函子
10.9 擴大句法分析文本的覆蓋范圍
10.10 引導一個資源詞典
附錄A 小型資源語法
A.1 抽象句法
A.2 意大利語助動詞資源模塊
A.3 意大利語具體句法
A.4 意大利語詞法詞形變化表API
A.5 測試詞典
A.6 語法API
附錄B 語言學術(shù)語詞匯表
第Ⅲ部分 語法框架參考手冊
附錄C 語法框架編程語言
C.1 GF概覽
C.2 模塊系統(tǒng)
C.3 判斷
C.4 類型與表達式
C.5 標志與編譯指示
C.6 GF語法
附錄D 語法框架資源語法庫
D.1 范疇系統(tǒng)
D.2 語法規(guī)則
《語法框架:為多種自然語言語法編程》:
5.14 作為語言本體的資源語法
資源語法是句法的語法,而不是語義的語法。它們的目標是,涵蓋多種語言的句法結(jié)構(gòu),并且這些結(jié)構(gòu)是獨立于它們的應(yīng)用目的和應(yīng)用領(lǐng)域的。如何在GF中理解這一點呢?特別是如何能夠在腦子里沒有語義結(jié)構(gòu)的時候構(gòu)建一個抽象句法?
我們可以把資源語法的抽象句法作為語言本體來考慮。它是一個語言對象的領(lǐng)域,用語言類組織起來,遵循嚴格的組合規(guī)則。在西方語法傳統(tǒng)中,兩千年的研究和教育已經(jīng)建立起了一套相當標準的概念,并已經(jīng)在20世紀作為精確的數(shù)學模型被形式化了,又在后來的幾十年中,以計算機程序?qū)崿F(xiàn)的方式形式化。GF資源語法庫就是這樣的一個模型及其實現(xiàn)的例子。
獨立于語言的語言本體思想是西方這一傳統(tǒng)的一個組成部分。它起源于古希臘語,后來很快適用于拉丁語。因為希臘語和拉丁語是緊密聯(lián)系的語言,因此并不困難。后來,同樣的理念被應(yīng)用到了現(xiàn)代歐洲語言中,甚至其他語系的語言中,像芬蘭語和阿拉伯語。有時,這些傳統(tǒng)的語法概念過于牽強,實際上并不適合所有的語言。不過,擁有一個共同的概念框架,對實踐和理論都有利。
外語學習者可以從之前語言中熟悉的相關(guān)概念得到幫助。
可以利用以前的工作實現(xiàn)資源語法。在GF中,抽象句法給出了語法必須涵蓋內(nèi)容的“檢查表”。而且,具體句法的代碼也可重復使用。
如果該資源語法可作為界面并允許函子使用,應(yīng)用語法的編寫可以最大程度地簡潔。
語言類型學中有明確的概念討論語言之間的相似處和不同點。
因此,不同語言之間,什么是相同的,什么是不同的?當我們翻看一本傳統(tǒng)的語法書的目錄時,對于幾乎任何一種語言,我們都會找到一章講名詞、另一章講形容詞、動詞,可能還有講其他詞類的內(nèi)容。經(jīng)常還會有章節(jié)講句法,包含像句子的組成這樣的主題。
對于每種詞類,一本典型的語法書里會有關(guān)于詞形變化特征的章節(jié)(如格、性和時態(tài)),之后,作為實質(zhì)性的部分,會有詞形變化表。這些部分在各語言之間差別很大。例如,性在某些語言中有三個值,而在其他語言中只有兩個值。某些語言,如芬蘭語,沒有性。但是,總的情況是,語法書所給出的詞類對所有的語言都是共同的,而特征和詞形變化,當然還有詞語本身是不同的。
……