ANNEX 3: SOME TYPICAL TRANSLATION LAW
Appendix 3 shows the actual form of archiving in the text file of the rules mentioned in Chapter 4. Therefore, the presentation format is different. In this law,
The symbol * indicates any word
() indicates any sequence of connections.
The sign $1 indicates the position of the word in the phrase where the rule can be applied.
Eg:
*()(DT_THI)*(DT_THI)(THI_ĐT)*(TOI_THI)()–>$1$2:copy-feature($3,number,$1)
That is, if the first word in a phrase has a connection DT_THI with a second word, while the second word has a connection THI_ĐT with a third word, then copy the number attribute of the first word to the third word.
Maybe you are interested!
- Vietnamese linking grammar model - 32
- Vietnamese linking grammar model - 33
- Vietnamese linking grammar model - 34
- Vietnamese linking grammar model - 36
- Vietnamese linking grammar model - 37
For example, in the phrase “I study” to satisfy the above connections, copy the information about the number from the pronoun “I” to the verb “study”.
1. Law of defining properties
*()(DpNt) *(DpNt)() –> $1 :set-feature($2, number, PLURAL)
*()(VT DT_THI) *(VT)() *(DT_THI)(THI_ĐT) *(THI_ĐT)() –> $1 $2 $3 :setfeature($4, number, PLURAL)
*()(CC0) *(CC0)(DT_THI) *(DT_THI)(THI_ĐT) *(THI_ĐT)() –> $1 $2 $3 :setfeature($4, number, PLURAL)
*()(DT_THI) *(DT_THI)(THI_ĐT) *(THI_ĐT)() –> $1 $2 :copy-feature($3, number,
$1)
*()(VT SV) *(VT)() *(SV)() –> $1 $2 :set-feature($3, number, PLURAL)
*()(CC0) *(CC0)(SV) *(SV)() –> $1 $2 :set-feature($3, number, PLURAL)
*()(SV) *(SV)() –> $1 :copy-feature($2, number, $1)
*()(VT DT_LA) *(VT)() *(DT_LA)() –> $1 $2 :set-feature($3, number, PLURAL)
*()(CC0) *(CC0)(DT_LA) *(DT_LA)() –> $1 $2 :set-feature($3, number, PLURAL)
*()(DT_LA) *(DT_LA)() –> $1 :copy-feature($2, number, $1)
*()(TĐT2_1) *(TĐT2_1)() –> $1 :set-feature($2, negated, TRUE)
*()(RpV) *(RpV)() –> $1 :set-feature($2, tense, PAST)
*()(RfV) *(RfV)() –> $1 :set-feature($2, tense, FUTURE)
*()(RhV) *(RhV)() –> $1 :set-feature($2, form, PRESENT_PARTICIPLE)
chưa()(TĐT2_1) *(TĐT2_1)() –> $1 :set-feature($2, form, PAST_PARTICIPLE)
*()(TĐT3h) *(TĐT3h)() –> $1 :set-feature($2, form, PAST_PARTICIPLE)
*()(ĐT_XONG) *(ĐT_XONG)() –> :set-feature($1, form, PAST_PARTICIPLE) $2
*()(VT SA) *(VT)() *(SA)() –> $1 $2 :set-feature($3, number, PLURAL)
*()(CC0) *(CC0)(SA) *(SA)() –> $1 $2 :set-feature($3, number, PLURAL)
*()(SA) *(SA)() –> $1 :copy-feature($2, number, $1)
*()(TTT2_1) *(TTT2_1)() –> $1 :set-feature($2, negated, TRUE)
*()(RpA) *(RpA)() –> $1 :set-feature($2, tense, PAST)
*()(RfA) *(RfA)() –> $1 :set-feature($2, tense, FUTURE)
*()(RhA) *(RhA)() –> $1 :set-feature($2, form, PRESENT_PARTICIPLE)
*()(TTT3h) *(TTT3h)() –> $1 :set-feature($2, form, PAST_PARTICIPLE)
tôi[p]()() –> :set-feature($1, person, FIRST)
mình[p]()() –> :set-feature($1, person, FIRST)
bọ[p]()() –> :set-feature($1, person, FIRST)
tớ[p]()() –> :set-feature($1, person, FIRST)
bạn[p]()() –> :set-feature($1, person, SECOND)
cô[p]()() –> :set-feature($1, person, THIRD)
*()(SV) *(SV)() –> $1 :copy-feature($2, person, $1)
*()(DT_LA) *(DT_LA)() –> $1 :copy-feature($2, person, $1)
*()(TT_SS) hơn(TT_SS)() –> :set-feature($1, is_comparative, TRUE) $2
*()(TT_SS) nhất(TT_SS)() –> :set-feature($1, is_superlative, TRUE) $2
*()(VTg) *(VTg)(VPg) *(VPg)() -> $1 $2 :copy-feature(:copy-feature(:copy-feature
(:copy-feature(:copy-feature( $3, number, $1), person, $1), tense, $1),
negated, $1), form, $1)
*()(VTt) *(VTt)(VPt) *(VPt)() -> $1 $2 :copy-feature(:copy-feature( $3,
is_comparative, $1), is_superlative, $1)
2. Law on phrase translation
tháng()(SDT1) giêng(SDT1)() -> :set-string($1, January)
tháng()(SDT1) một(SDT1)() -> :set-string($1, January)
tháng()(SDT1) mười(SDT1)(ST_ST) hai(ST_ST)() -> :set-string($1, December)
tháng()(SDT1) chạp(SDT1)() -> :set-string($1, December)
kết_cấu()(ĐT_GT) từ(ĐT_GT)() –> :set-string($1, compose) :set-string($2, of)
nhìn()(ĐT_GT) *(ĐT_GT)() –> :set-string($1, look) :set-string($2, at)
chạy()(ĐT_GT) khỏi(ĐT_GT)() –> :set-string($1, run) :set-string($2, away) from
mua()(ĐT_GT O) cho(ĐT_GT)(GT_DT) *(GT_DT)() *(O)() –> $1 $3 $4
đưa()(ĐT_GT O) cho(ĐT_GT)(GT_DT) *(GT_DT)() *(O)() –> $1 $3 $4
ở()(GT_DT) đây(GT_DT)() –> here
ở()(GT_DT) đó(GT_DT)() –> there
làm[v]()(O ĐT_TT) *(O)() *(ĐT_TT)() -> :set-string($1, make) $2 $3
*()(TDT2m) *(TDT2m)(SA) *(SA)() -> $1 of $2 $3
*()(TDT2m) *(TDT2m)(SDT4) *(SDT4)() -> $1 of $2 $3
của()(GT_DT) *()(TDT2p) tôi(TDT2p GT_DT)() –> :set-string($1, our)
của()(GT_DT) tôi(GT_DT)() –> :set-string($1, my)
của()(GT_DT) cô(GT_DT)() –> :set-string($1, her)
*()(SDT4) của(SDT4)(GT_DT) *(GT_DT)() –> $3 ‘s $1
*()(SHA) *()(TDT2p) tôi(TDT2p SHA)() –> $1 :set-string($2, our)
*()(SHA) *()(TDT2p) minh(TDT2p SHA)() –> $1 :set-string($2, our)
*()(SHA) *()(TDT2p) cô(TDT2p SHA)() –> $1 :set-string($2, their)
*()(GT_DT) *()(TDT2p) cô(TDT2p GT_DT)(NtPd) *(NtPd)() –> $1 :set-string($2,
them)
*()(GT_DT) *()(TDT2p) bạn(TDT2p GT_DT)(NtPd) *(NtPd)() –> $1 :set-string($2,
you)
*()(GT_DT) *()(TDT2p) nó(TDT2p GT_DT)(NtPd) *(NtPd)() –> $1 :set-string($2,
them)
*()(GT_DT) *()(TDT2p) họ(TDT2p GT_DT)(NtPd) *(NtPd)() –> $1 :set-string($2,
them)
*()(GT_DT) cô(GT_DT)(NtPd) *(NtPd)() –> $1 :set-string($2, her)
*()(GT_DT) nàng(GT_DT)(NtPd) *(NtPd)() –> $1 :set-string($2, her)
*()(GT_DT) chàng(GT_DT)(NtPd) *(NtPd)() –> $1 :set-string($2, him)
*()(GT_DT) bạn(GT_DT)(NtPd) *(NtPd)() –> $1 :set-string($2, you)
*()(GT_DT) họ(GT_DT)(NtPd) *(NtPd)() –> $1 :set-string($2, them)
*()(O) *()(TDT2p) cô(TDT2p O)(NtPd) *(NtPd)() –> $1 :set-string($2, them)
*()(O) *()(TDT2p) nàng(TDT2p O)(NtPd) *(NtPd)() –> $1 :set-string($2, them)
*()(O) *()(TDT2p) anh(TDT2p O)(NtPd) *(NtPd)() –> $1 :set-string($2, them)
*()(O) *()(TDT2p) ông(TDT2p O)(NtPd) *(NtPd)() –> $1 :set-string($2, them)
*()(O) *()(TDT2p) thằng(TDT2p O)(NtPd) *(NtPd)() –> $1 :set-string($2, them)
*()(O) *()(TDT2p) chàng(TDT2p O)(NtPd) *(NtPd)() –> $1 :set-string($2, them)
*()(O) *()(TDT2p) bạn(TDT2p O)(NtPd) *(NtPd)() –> $1 :set-string($2, you)
*()(O) *()(TDT2p) nó(TDT2p O)(NtPd) *(NtPd)() –> $1 :set-string($2, them)
*()(O) *()(TDT2p) họ(TDT2p O)(NtPd) *(NtPd)() –> $1 :set-string($2, them)
*()(O) cô(O)(NtPd) *(NtPd)() –> $1 :set-string($2, her)
*()(O) nàng(O)(NtPd) *(NtPd)() –> $1 :set-string($2, her)
*()(O) anh(O)(NtPd) *(NtPd)() –> $1 :set-string($2, him)
*()(O) ông(O)(NtPd) *(NtPd)() –> $1 :set-string($2, him)
*()(O) thằng(O)(NtPd) *(NtPd)() –> $1 :set-string($2, him)
*()(O) chàng(O)(NtPd) *(NtPd)() –> $1 :set-string($2, him)
*()(O) bạn(O)(NtPd) *(NtPd)() –> $1 :set-string($2, you)
*()(O) nó(O)(NtPd) *(NtPd)() –> $1 :set-string($2, it)
*()(O) họ(O)(NtPd) *(NtPd)() –> $1 :set-string($2, them)
cô()(NtPd) *(NtPd)() –> :set-string($1, she)
chị()(NtPd) *(NtPd)() –> :set-string($1, she)
nàng()(SDT6) *(SDT6)() –> :set-string($1, she)
bà()(SDT6) *(SDT6)() –> :set-string($1, she)
anh()(SDT6) *(SDT6)() –> :set-string($1, he)
thằng()(NtPd) *(NtPd)() –> :set-string($1, he)
chàng()(NtPd) *(NtPd)() –> :set-string($1, he)
ông()(NtPd) *(NtPd)() –> :set-string($1, he)
lão()(NtPd) *(NtPd)() –> :set-string($1, he)
bạn()(NtPd) *(NtPd)() –> :set-string($1, you)
nó()(NtPd) *(NtPd)() –> :set-string($1, it)
họ()(NtPd) *(NtPd)() –> :set-string($1, they)
*()(TDT2p) tôi(TDT2p)() –> :set-string($1, we)
*()(TDT2p) ta(TDT2p)() –> :set-string($1, we)
*()(TDT2p) minh(TDT2p)() –> :set-string($1, we)
*()(TDT2p) cô(TDT2p)() –> :set-string($1, they)
*()(TDT2p) bà(TDT2p)() –> :set-string($1, they)
*()(TDT2p) anh(TDT2p)() –> :set-string($1, they)
*()(TDT2p) ông(TDT2p)() –> :set-string($1, they)
*()(TDT2p) hắn(TDT2p)() –> :set-string($1, they)
*()(TDT2p) chàng(TDT2p)() –> :set-string($1, they)
*()(TDT2p) bạn(TDT2p)() –> :set-string($1, you)
*()(TDT2p) cậu(TDT2p)() –> :set-string($1, you)
*()(TDT2p) nó(TDT2p)() –> :set-string($1, they)
*()(TDT2p) họ(TDT2p)() –> :set-string($1, they)
thịt()(SDT1) bò(SDT1)() –> :set-string($1, beef)
thịt()(SDT1) lợn(SDT1)() –> :set-string($1, pork)
thịt()(SDT1) gà(SDT1)() –> :set-string($1, chicken)
đi()(ĐI) học(ĐI)() –> :set-string($1, go)()(_TO_) to(_TO_)(_I_) school[n](_I_)()
đi()(ĐI) làm(ĐI)() –> :set-string($1, go)()(_TO_) to(_TO_)(_I_) workl[n](_I_)()
đi()(ĐI) chơi(ĐI)() –> :set-string($1, go) out
đi()(ĐI) *(ĐI)() –> :set-string($1, go) :set-feature($2,form,PRESENT_PARTICIPLE)
cả()(CC0) *(CC0)(CCT) lẫn(CCT)(CCP) *(CCP)() –> both $2 and $4
cả()(CC0) *(CC0)(CCT) cả(CCT)(CCP) *(CCP)() –> both $2 and $4
cả()(CC0) *(CC0)(CCT) và(CCT)(CCP) *(CCP)() –> both $2 and $4
vừa()(CC0) *(CC0)(CCTt) vừa(CCTt)(CCPt) *(CCPt)() –> both $2 and $4
vừa()(CC0) *(CC0)(CCTg) vừa(CCTg)(CCPg) *(CCPg)() –> $2 while :set-feature($4,
form, PRESENT_PARTICIPLE)
*()(ĐT_ĐTp) *(ĐT_ĐTp)() –> $1 :set-feature($2, form, PRESENT_PARTICIPLE)
*()(ĐT_ĐTi) *(ĐT_ĐTi)() -> $1 :set-feature($2, form, BARE_INFINITIVE)
*()(ĐT_ĐT) *(ĐT_ĐT)()–>$1 to()(_TO_):set-eature($2,form,BARE_INFINITIVE)(_TO_)()
*()(TT_SS) hơn(TT_SS)() –> $1()(_MVt_) than(_MVt_)()
sắp()() –> :set-string($1, be)()(_P_) about(_P_)(_TO_) to(_TO_)()
sắp_sửa()() –> :set-string($1, be)()(_P_) about(_P_)(_TO_) to(_TO_)()
đầu_hàng()() –> :set-string($1, give)()(_IDL_) up(_IDL_)()
*()(LA_DT) người(LA_DT)(DT_TTv) *(DT_TTv)() -> $1 from $3
*()(THT)*()(SV)*()(TĐT2_1) *(TĐT2_1 SV THT)()–>$1 :set-feature(:copyfeature(:copy-feature(:copy-feature(do, number, $4), person, $4), tense, $4),
contracted-negation,TRUE)[v]()(_I_)$2:set-feature($4,form,BARE_INFINITIVE)(_I_)()
*()(THT) *()(SV) *(SV THT)() –> $1 :copy-feature(:copy-feature(:copy-feature(
do, number, $3), person, $3), tense, $3)[v]()(_I_)$2 :set-feature($3,form,
INFINITIVE)(_I_)()
*()(SV) có(SV)(ĐT_TT O) *(ĐT_TT)() không(O)() ->:copy-feature(:copyfeature(:copy-feature(be, number, $2), person, $2), tense, $2)[v]()(_SI_ _Pa_)
$1(_SI_)() $3(_Pa_)()
*()(SV) có(SV)(CÓ CK) *[v](CÓ)() không(CK)() ->:copy-feature(:copy-feature(:copyfeature(do, number, $2), person, $2), tense, $2)[v]()(_SI_ _I_) $1(_SI_)()
:set-feature($3, form, BARE_INFINITIVE)(_I_)()
*()(SV) có(SV)(OO) *(O)() không(O)() ->:copy-feature(:copy-feature(:copy-feature(
do, number, $2), person, $2), tense, $2)[v]()(_SIp_)$1(_SIp_)(_Ifd_)have(_Ifd_)
(_Os_) $3(_Os_)()
*()(SV) chưa()(TĐT2_1) *(TĐT2_1 SV)() ->$1()() :copy-feature(:copy-feature(have,
number, $3), person, $3)[v]()(N _PP_)not(N)() :remove-feature($3,negated)(_PP_)()
*()(SV) *()(RfV) *()(TĐT2_1) *(TĐT2_1 RfV SV)() -> $1 $2 $3 $4
*()(SV) *()(RpV) *()(TĐT2_1) *(TĐT2_1 RpV SV)() –> $1 $2 $3 $4
*()(SV) *()(TĐT2_1) *(TĐT2_1 SV)() –> $1()() :copy-feature(:copy-feature(do,
number, $3), person, $3)[v]()(_PP_)$2 $3(_PP_)()
3. Law of structural transformation
*()(DT_LA) *()(TĐT2_1) *(TĐT2_1 DT_LA)() –> $1 $3 $2
*()(TT_TT) *(TT_TT)() –> $2 $1
*()(SA SA) *(SA)() *(SA)() –> $3 $2 $1
*()(SA) *(SA)() –> $2 $1
*()(ĐT_TT) *(ĐT_TT)() –> $2 $1
*()(SHA) *(SHA)() –> $2 $1
*()(SDT1)*(SDT1)(VT)*(VT)(VP)*(VP)(VT)*(VT)(VP)*(VP)()–>$2 $3 $4 $5 $6 $1
*()(SDT1) *(SDT1)(VT) *(VT)(VP) *(VP)() –> $2 $3 $4 $1
*()(SDT1) *(SDT1)() –> $2 $1
*()(NtPd) *(NtPd)() –> $2 $1
*()(STT) *(STT)() –> $2 $1
*()(SỰ) *(SỰ)() –> $2
*()(RpV) *(RpV)() –> $2 $1