PHỤ LỤC 3: MỘT SỐ LUẬT DỊCH ĐIỂN HÌNH
Phụ lục 3 trình bày dạng lưu trữ thực sự trong tệp văn bản của các luật được nêu ở chương 4. Do vậy hình thức trình bày có sự khác biệt. Trong bộ luật này,
Ký hiệu * chỉ từ bất kỳ
() chỉ dãy bất kỳ các kết nối.
Ký hiệu $1 chỉ vị trí của từ trong cụm từ có thể áp dụng luật.
Ví dụ:
*()(DT_THI)*(DT_THI)(THI_ĐT)*(THI_ĐT)()–>$1$2:copy-feature($3,number,$1)
Có nghĩa là nếu từ thứ nhất trong một cụm từ có kết nối DT_THI với từ thứ hai, trong khi từ thứ hai có kết nối THI_ĐT với từ thứ ba thì sao chép thuộc tính number của từ thứ nhất sang từ thứ ba.
Chẳng hạn trong cụm từ “tôi thì học” thỏa các kết nối trên, sao thông tin về số từ đại từ “tôi” sang động từ “học”.
Có thể bạn quan tâm!
- Chi Tiết Các Công Thức Chủ Yếu Trong Liên Kết Tiếng Việt
- Mô hình văn phạm liên kết tiếng Việt - 33
- Kết Quả Phân Tích Liên Kết Của Một Số Câu Đơn Và Câu Ghép Hai Mệnh Đề
- Mô hình văn phạm liên kết tiếng Việt - 36
- Mô hình văn phạm liên kết tiếng Việt - 37
Xem toàn bộ 305 trang tài liệu này.
1. Luật xác định thuộc tính
*()(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. Luật dịch cụm từ
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. Luật chuyển đổi cấu trúc
*()(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