analyzeSyntax 方法會傳回指定文字的語言結構詳細資料。對於文字內容中的各個符記,Natural Language API 會提供有關其內部結構 (構詞學) 及其在語句中所扮演角色 (語法學) 的相關資訊。
構詞學是字詞內部結構的研究。構詞學著重在字詞組成要素 (字幹、字根、字首、字尾等) 構成其他字義時的排列或變化。舉例來說,英文通常會在可數名詞結尾加上「-s」或「-es」表示複數,加上「-d」或「-ed」表示過去式。形容詞加上字尾「-ly」即構成副詞 (例如「happy」[形容詞] 和「happily」[副詞])。
Natural Language API 使用構詞學分析推論字詞的語法資訊。
不同語言的構詞學有著明顯的差異。在俄文之類的語言中,字詞結尾 表示字詞在語句中的角色 (例如「книга」[書籍 - 主格] 若是副詞的直接受詞,就會變成「книгу」[直接受格])。這就表示,儘管不同的字詞順序確實會影響上下文的適切程度,但可以在不改變語句意義的前提下改變字詞順序。英文和中文之類的語言皆不使用代表格的詞綴,大多依賴語句中的字詞順序代表各個字詞的角色。有鑑於此,構詞學分析相當仰賴原文,也必須理解該語言所支援的構詞學。
語法學主要研究詞組和語句的結構。語法學和構詞學兩者結合可指出文字內容的語法關係,而不同語言中的語法學和構詞學在責任劃分方面也不盡相同。舉例來說,俄文使用詞綴指出直接受詞的角色 (「книгу」的「у」),而英文則是採用動詞後面接直接受詞的字詞順序 (read the book)。
analyzeSyntax 回應使用 partOfSpeech 欄位傳回構詞學資訊,並使用 dependencyTree 欄位傳回字詞之間的語法關係。
詞性
在語法要求中,詞性和構詞學資訊會傳回至回應的 partOfSpeech 欄位。partOfSpeech 欄位包含一組子欄位,其中含有詞性 (POS) 資訊和更明確的構詞學資訊。以下列出這些子欄位。
tag代表詞性資訊,使用概略的 POS 標記 (NOUN 或 VERB) 提供最表面的語法資訊。POS 標記適合用來建立模式及/或避免後續語言分析發生混淆 (舉例來說,標記為 NOUN 跟標記為 VERB 的「train」兩者並不相同)。number代表字詞的語法數量。舉例來說,英文通常會在可數名詞加上後綴「s」來表示複數 (例如「dog+s」代表一隻以上的狗)。如果沒有複數後綴,通常就是指單數型態。部分語言 (如阿拉伯文) 則具有雙數的概念。這個欄位可能包含的值如下:SINGULAR代表單數。PLURAL代表複數。DUAL代表雙數。
person代表字詞的語法人稱。英文中的「I/me」是第一人稱單數且指稱詞句的說話方 (或撰寫者),而「you」和「she/her 與 he/him」分別指稱預定的受話方 (聆聽者) 和其他人。這個欄位可能包含的值如下:FIRST人員代表說話方。SECOND人員代表預定受話方,也就是交談對象。THIRD人員代表非說話方/非聆聽者。REFLEXIVE_PERSON代表主詞與受詞指稱同一個實體,例如「The cat licked itself」(貓在舔自己),其中的「-self」附加在代名詞後面來代表反身意思。俄文和日文的反身則是單獨的代名詞。比方說,「John loves himself」的俄文為「Джон любит себя」,其中「себя」是性別中立的「自己」;日文則為「Tarō wa zibun o aisuru (羅馬拼音版)」,其中「zibun」也是性別中立的「自己」。請參閱反身代名詞。
gender代表名詞的語法性別。這個欄位可能包含的值如下:FEMININE(中性) 語法性別MASCULINE(中性) 語法性別NEUTER(中性) 語法性別
case代表字詞的語法格位及字詞在詞組或語句中的角色。這個欄位可能包含的值如下:ACCUSATIVE(直接受格) 表示及物動詞的直接受詞。ADVERBIAL(狀語格) 表示形容詞的副詞形式。請注意,英文使用不同的字詞區分副詞 (「well」) 與形容詞 (「good」)。 雖然英文的後綴「-ly」的確可從形容詞導出副詞 (如「happy」和「happily」),但不能算是「語法格位」。COMPLEMENTIVE(補語) (中文) 表示使用並列助詞,針對可能性、描述性或結果性的表達式補充語意的必要字詞。DATIVE(與格) 表示間接受詞,指稱接受直接受詞的指示對象。在英文中,間接受詞通常是由介係詞「to」來表示,例如「He gave the ball to Bobby」(他把球交給 Bobby),其中「Bobby」是間接受詞,也是接受球的人。然而,在這個俄文範例中:「Иван дал книгу маше」(Ivan 把書本交給 Masha),「-e」代表「маше」為間接受詞,而 Masha 是接受書本的人。GENITIVE(屬格) 表示從屬關係。請注意,英文通常都是使用「-'s」詞綴來表示從屬關係,而不是使用屬格。「-'s」詞綴可附加至詞組的末尾 (例如「[The man who ran the bill up]’s wife paid a dear price for his excess.」)。然而,在這個俄文範例中,「-а」會將「Антон-」標記為屬格:「Где книга Антона?」(安東的書在哪裡?)。俄文的屬格也會做為字詞的補語,如「數個」或「少數」等詞彙。例如:Зимой здесь мало снега (這裡冬天的雪籍少),其中的「-a」將「снег-」(雪) 標示為屬格,因為其為「мало」(極少) 的補語。這與所有權無關。INSTRUMENTAL(工具格) 表示名詞是否為完成動作使用的工具。英文句子「He opened the door with a key,」(他用鑰匙開門) 的俄文為「он открыл дверь ключом」,其中「-om」附加在「ключ」(鑰匙) 的後面來代表工具格。LOCATIVE(方位格) 表示指稱位置的字詞用法。英文沒有方位格。NOMINATIVE(主格) 與動詞的主詞有關。在英文中,句子的主詞是以字詞順序來表示,而不是使用主格。在「The girl won the race」(這名女孩贏得比賽) 這個句子中,「the girl」(這名女孩) 詞組為主詞,位在動詞「won」(贏得) 的左側。在俄文中,「девушка」(這名/某位女孩) 可出現在動詞的前面或後面:「девушка выиграла гонку」或「гонку выиграла девушка」,其中動詞為「выиграла」(贏得)。OBLIQUE(間接格) 表示以字詞為動詞或介係詞的受詞。PARTITIVE(部分格) 表示字詞的「部分」或缺乏明確的識別資料。英文版的部分格範例為「three of my friends」。詞組在俄文中為「трое моих друзей」,其中「трое」是「three of」(相較於「три друга」,其中的「три」為「three」)。PREPOSITIONAL格表示介係詞的受詞。REFLEXIVE_CASE(反身格位) 用來表示動詞的受詞為其主詞。大部分語言不使用反身格位,因為大多已改用特殊的反身代名詞 (例如「himself」或「myself」等) 表示這種用法。RELATIVE_CASE(中文) 表示連接名詞與動詞或形容詞之關係子句的補語連詞。範例:「工作 [的] 地方」(work [] place :: "place [where I] work")。「便宜 [的] 餐館」(inexpensive [] restaurants :: restaurants [that are] inexpensive)。VOCATIVE(呼格) 表示用來稱呼某人或某事的名詞,通常是受話方。
tense表示動詞的語法時態,代表動詞的時間對照點。請注意,tense與aspect不同,後者雖然同樣說明動詞與時間的關係,但著重於該時間流的特性而非語法體的狀態。很多語言中的IMPERFECT和PLUPERFECT時態能更精確地對應特定時態與語法體組合。這個欄位可能包含的值如下:CONDITIONAL_TENSE(條件式) 另一個更常見的構詞學名稱是「條件語氣」。(詳情請參閱下方的CONDITIONAL_MOOD)。FUTURE(未來式) 表示動作發生在未來。請注意,英文的未來式最常以動詞片語加上「will」表示。PAST(過去式) 表示動作發生在過去。PRESENT(現在式) 表示動作發生在現在。IMPERFECT(未完成過去式) 表示動作發生在過去,但在該時態所指的時段內並未完成該動作。請注意,英文的未完成過去式最常以動詞的動名詞形式加上過去時態表示,例如「I was walking.」。未完成過去式的事件發生在過去,但在當時尚未完成。PLUPERFECT(過去完成式) 表示動作發生在過去,且在該時態所指的時段內已經完成動作。例如「I had walked」發生在過去,但在過去時態所指的時段內也已經完成了這個動作。
aspect代表動詞的語法體,是以時間流表示動詞。tense著重於動詞的時間點,而aspect則是著重在動詞發生當時的狀態。這個欄位可能包含的值如下:PERFECTIVE(完成體) 表示在過去完全發生或在未來完全發生的「已完成」事件。IMPERFECTIVE(未完成體) 表示仍在持續進行或重複進行的未完成事件。PROGRESSIVE(進行體) 表示仍在持續進行的事件。一般認為進行體是更廣泛的未完成體 (也包含仍在重複的事件) 的特殊格。
mood代表動詞的語氣,表示基本動作的態度。這個欄位可能包含的值如下:CONDITIONAL_MOOD(條件語氣) 表示受制於條件的動作。請注意,英文的動詞形式並沒有條件式;相反地,如要表示條件式行為,必須使用「would」加上動詞的不定詞。IMPERATIVE(使役語氣) 表示使用第二人稱提出命令或要求。INDICATIVE(直陳語氣) 表示事實陳述,通常稱為「已然語氣」。INTERROGATIVE表示問題。JUSSIVE(命令語氣) 表示使用第一或第三人稱提出命令或要求。英文沒有命令語氣,但若訓詞以具有明示或暗示性質的「Let us」開頭,即可傳達命令語氣。SUBJUNCTIVE表示對動作的不確定性,也稱為「非已然語氣」(跟「已然語氣」對比)。英文沒有明確的假設語氣;相反地,「want」、「wish」、「hope」等字詞即可傳達假設語氣。
voice代表動詞的語法語態,表示動作與主詞和/或受詞之間的關係。這個欄位可能包含的值如下:ACTIVE(主動語態) 表示動作的主詞正在執行動作。CAUSATIVE語態表示動作正在對主詞產生作用。英文沒有直接使役語態;相反地,這些使役形式是使用動詞「make」來表示,例如:「Mom made me go to school.」。PASSIVE(被動語態) 表示動作正在對主詞產生作用。許多情況下並未說出被動語態的動作執行者,或者動作執行者不明。
reciprocity表示字詞 (通常是代名詞) 的相互作用,說明代名詞是指句中其他地方出現的名詞片語。這個欄位可能包含的值如下:RECIPROCAL表示為相互代名詞。NON_RECIPROCAL表示並非相互代名詞。
proper表示名詞是否為專有名詞的一部分。請注意,許多專有名詞由多個字詞組成;如果偵測出這個片語為專有名詞,則會將每個符記都偵測為專有名詞。(舉例來說,會將專有名詞「Wrigley Field」中的「Wrigley」和「Field」的屬性設為PROPER。這個欄位可能包含的值如下:PROPER表示符記為專有名詞的一部分。NOT_PROPER表示符記並非專有名詞的一部分。
form提供不完全符合前述一般形式 (tense、mood或person等) 的構詞學形式。這些形式大多專屬於特定語言。這個欄位可能包含的值如下:ADNOMIAL(韓文/日文) 表示修飾名詞片語的字尾 (韓文) 或動詞 (日文)。範例:「밥을 먹는 사람」[吃飯的人] 以及「書く人」[寫字的人]。