文法の例

English version

ここでは "I thanked him." という文を例にして, Enju の文法が どのように働くかを見ていきます.

この文での "I" に対応する語彙項目を簡単に書くと,次のようになります. より正確には "I" の語彙項目 を見てください. (XHTML と XSLT をサポートしているブラウザで,見ることができます.)

PHON: < 1"I" >
SYNSEM
LOCAL
CAT
HEAD hpsg_noun
CASE: hpsg_nom
MOD: < >
POSTHEAD: hpsg_binary
VAL SUBJ: < >
COMPS: < >
SPR: < >
SPEC: < >
CONJ: < >
CONT
HOOK
PRED
LEX_WORD word
INPUT: 1"I"
SURFACE: 2"i"
BASE: 2
INPUT_POS: 3"PRP"
POS: 3
BASE_POS: 3
POSITION: 40
RELS: < >
NONLOCAL
INHER REL: < >
SLASH: < >

この文での "thanked" に対応する語彙項目は,次のようになります. より正確には "thanked" の語彙項目 を見てください.

PHON: < 5"thanked" >
SYNSEM
LOCAL
CAT
HEAD 17 hpsg_verb
VFORM: verb_fin
TENSE: tense_past
MOD: < >
POSTHEAD: hpsg_binary
VAL SUBJ: <
LOCAL
CAT
HEAD hpsg_noun
CASE: hpsg_nom
MOD: < >
POSTHEAD: hpsg_binary
VAL SUBJ: < >
COMPS: < >
SPR: < >
SPEC: < >
CONJ: < >
CONT HOOK: 6
>
COMPS: <
LOCAL
CAT
HEAD hpsg_noun
CASE: hpsg_acc
MOD: < >
POSTHEAD: hpsg_binary
VAL SUBJ: < >
COMPS: < >
SPR: < >
SPEC: < >
CONJ: < >
CONT HOOK: 7
>
SPR: < >
SPEC: < >
CONJ: < >
CONT
HOOK 18
PRED
LEX_WORD word
INPUT: 5"thanked"
SURFACE: "thanked"
BASE: "thank"
INPUT_POS: 8"VBD"
POS: 8
BASE_POS: "VB"
POSITION: 91
ARG1: 6
ARG2: 7
RELS: < >
NONLOCAL
INHER REL: < >
SLASH: < >

この文での "him" に対応する語彙項目は,次のようになります. より正確には "him" の語彙項目 を見てください.

PHON: < 10"him" >
SYNSEM
LOCAL
CAT
HEAD hpsg_noun
CASE: hpsg_acc
MOD: < >
POSTHEAD: hpsg_binary
VAL SUBJ: < >
COMPS: < >
SPR: < >
SPEC: < >
CONJ: < >
CONT
HOOK
PRED
LEX_WORD word
INPUT: 10"him"
SURFACE: 11"him"
BASE: 11
INPUT_POS: 12"PRP"
POS: 12
BASE_POS: 12
POSITION: 132
RELS: < >
NONLOCAL
INHER REL: < >
SLASH: < >

次に "thanked" の sign と "him" の sign に Head-Complement Schema が 適用されます.Head-Complement Schema は、下のような制約を満たす sign の 並びに対して,

SYNSEM|LOCAL|CAT|VAL SUBJ: A
COMPS: < B | C >
SPR: D
SPEC: E
CONJ: < >
SYNSEM: B
それらの親の sign に次のような制約を課します.(Valence Principle も ハードコードされています)
SYNSEM|LOCAL|CAT|VAL SUBJ: A
COMPS: C
SPR: D
SPEC: E
CONJ: < >

つまり,head である "thanked" の COMP 素性の最初の値と, complement である "him" の SYNSEM 素性の値が単一化されます. その結果,head の HOOK では ARG2 の値が "him" となり, それが semantic_binary_principle によって親に受け継がれます. 親の sign を簡単化したものは次のようになります. head_feature_principle などの他のプリンシプルも 満たされていることに注意して下さい.

PHON: < 5 10 >
SYNSEM
LOCAL
CAT
HEAD 17 hpsg_verb
VFORM: verb_fin
TENSE: tense_past
MOD: < >
POSTHEAD: hpsg_binary
VAL SUBJ: <
LOCAL
CAT
HEAD hpsg_noun
CASE: hpsg_nom
MOD: < >
POSTHEAD: hpsg_binary
VAL SUBJ: < >
COMPS: < >
SPR: < >
SPEC: < >
CONJ: < >
CONT HOOK: 6
>
COMPS: < >
SPR: < >
SPEC: < >
CONJ: < >
CONT
HOOK 18
PRED
LEX_WORD word
INPUT: 5"thanked"
SURFACE: "thanked"
BASE: "thank"
INPUT_POS: 8"VBD"
POS: 8
BASE_POS: "VB"
POSITION: 91
ARG1: 6
ARG2 7
PRED
LEX_WORD word
INPUT: 10"him"
SURFACE: 11"him"
BASE: 11
INPUT_POS: 12"PRP"
POS: 12
BASE_POS: 12
POSITION: 132
RELS: < >
NONLOCAL
INHER REL: < >
SLASH: < >

上の sign と "I" の sign に Head-Subject Schema が適用されると, 文全体に対応する sign が得られます. ここでは,head である "thanked him" の SUBJ 素性の最初の値と, subject である "I" の SYNSEM 素性の値が単一化されます. 先程と同様に,head の HOOK では ARG1 の値が "him" となり, それが semantic_binary_principle により 親の sign に受け継がれます.

PHON: < 1 5 10 >
SYNSEM
LOCAL
CAT
HEAD 17 hpsg_verb
VFORM: verb_fin
TENSE: tense_past
MOD: < >
POSTHEAD: hpsg_binary
VAL SUBJ: < >
COMPS: < >
SPR: < >
SPEC: < >
CONJ: < >
CONT
HOOK 18
PRED
LEX_WORD word
INPUT: 5"thanked"
SURFACE: "thanked"
BASE: "thank"
INPUT_POS: 8"VBD"
POS: 8
BASE_POS: "VB"
POSITION: 91
ARG1 6
PRED
LEX_WORD word
INPUT: 1"I"
SURFACE: 2"i"
BASE: 2
INPUT_POS: 3"PRP"
POS: 3
BASE_POS: 3
POSITION: 40
ARG2 7
PRED
LEX_WORD word
INPUT: 10"him"
SURFACE: 11"him"
BASE: 11
INPUT_POS: 12"PRP"
POS: 12
BASE_POS: 12
POSITION: 132
RELS: < >
NONLOCAL
INHER REL: < >
SLASH: < >

上の sign の HOOK 素性から,次のような enju の出力が得られます.

ROOT     ROOT   ROOT  ROOT  -1  ROOT  thanked  thank  VBD  VB     1
thanked  thank  VBD   VB     1  ARG1  I        i      PRP  PRP    0
thanked  thank  VBD   VB     1  ARG2  him      him    PRP  PRP    2


Enju 開発者用マニュアル Enju ホームページ 辻井研究室
MIYAO Yusuke (yusuke@is.s.u-tokyo.ac.jp)