Predicate)=水浴氮吹儀Girl handed (x3 Tense)=Past (x3 Predicate)=Hand<(x3 Subject),(x3 Object),(x3 Object2)> the (x4 Definiteness)=Definite baby (x4 Number)=Singular,(x4 Predicate)=Baby the (x5Definiteness)=Definite toys (x5 Number)=Plural,(x5 Predicate)=Toy 256 第七章 自然語言理解 第三步:對上述方程式組作代數變換進行求解,所求出的各變量即是 句子“agirlhanded thebabythetoys”的功能結構 F-structure。 x1 = x3 = Subject= x2 Object= x4 Object2=x5 Tense=Past Predicate=Hand<girl,Baby,Toy> x2= Definiteness=Indefinite Number=Singular Predicate=Girl x4 = Definiteness=Definite Number=Singular Predicate=Baby x5 = Definiteness=Definite Number=Plu
ral Predicate=Toy 在分析過程中,如果能夠得到一組以上解,則 句子就 是可 識別 的,并獲得 一個 以上 分析 結果。分析獲得多個解則說明原句子中存在著歧義現象,無解則說明無法識別。 LFG 同樣也可以用于句子的生成。分析和生成的區 別僅在 于第一步,分析 是由句 子到 C-structure,而生成則是由上下文無關語法直接產生 C-structure和句子。 同樣,如果通過 求解最終可有一個以上的解,則該句子就是正確的。 7.3.4 自動句法分析算法 上面簡要介紹了用于描述自然語言的各種形 式語 法理論,在 這些 理論中 短語 結構 語法 是最為基礎的,下面介紹基于短語結構語法 的自動 句法 分析 算法; 于短語 結構 語法 的自 動分析算法主要有自頂向下回溯算法、自底向上并行算法、富田算法、左角分 析算法和 CYK 算法,等等。這里只介紹自頂向下回溯算法和自底向上并行算法。 1. 自頂向下回溯算法 自頂向下分析算法的思想就是從起始符開始 向著 被分析 的句 子進
行推導,推 導過 程的 語法樹建立從根節點開始,自上而下進行。每次推導只選擇一種路徑進行嘗試,并保留其他 可選擇的路徑,當推導失敗時,進行回溯,嘗試另一種推導路徑。 例如,定義下面的一個語法: 7.3 句 法 分 析 257 G=(Vt,Vn,P,S) Vn={S,NP,VP,Det,N,V,Prep,PP} Vt={the,girl,letter,pencil,writes,with,a} S=S P:S→ NPVP (a) NP→ DetN (b) VP→ V NP (c) VP→ VPPP (d) PP→ PrepNP (e) Det→ the|a (f) N→ girl|letter|pencil (g) V→ writes (h) Prep→with (i)