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)