1
XÂY DNG CÔNG C KIM TRA CHÍNH T TING VIT
TRONG MÔI TRNG MICROSOFT WINDOWS
DESIGN A TOOL KIT TO CHECK THE SPELLING OF VIETNAMESE TEXT
IN MICROSOFT WINDOWS
Phan Huy Khánh
E-mail: [email protected]
Tóm tt⎯Bài báo này trình bày gii pháp thit k mt công c gi là VitTools cho phép kim tra chính t
ting Vit bng cách xây dng mt c s d liu t vng trên mã VIQR. VitTools đc m rng thành
công c vn nng đ có th chuyn mã vn bn, sp xp, tra cu t đin ting Vit hoc t đin đa ng, x
lý ngôn ng t nhiên.
T khoá⎯c s d liu, mã, chuyn mã, mã trc, phông ch, ting Vit, chính t, t đin, x lý vn bn.
I t vn đ
Hin nay, hu nh mi công vn, giy
t giao dch thng ngày đu đc to ra và
in n bng máy vi tính. Mt trong nhng
phn mm “vn phòng” đc s dng
tng đi thông dng là trình son tho vn
bn Microsoft Word (gi tt là WinWord).
Có th nói vic ch bn, in n t đng đã
làm vn bn đc trình bày đp hn, ni
dung phong phú hn và do vy, cht lng
hiu qu công vic cng đc tng lên.
Tuy nhiên, vic son tho các vn bn
ting Vit vn còn đt ra nhng vn đ cha
đc gii quyt tt, trong đó có vn đ tìm
và khc phc các li chính t. Nguyên nhân
là vic s dng máy vi tính tng đi ph
cp, s bn rn và phc tp ca cuc sng
nên con ngi có ít thi gian, các phn
mm hin nay hu nh ch làm vic vi
khc phc các li chính t ting Vit khi
son tho vn bn trên máy vi tính ? Do
trình son tho vn bn Winword ch có
chc nng phát hin và sa li chính t
(check and correct spelling) áp dng đc
cho ting Anh, hin nay đã có nhng gii
pháp đ áp dng cho ting Vit. Ví d trình
VietSpell Checker (ca Trung tâm Tin hc,
HKH tp.HCM), VitKey (ca ng Minh
Tun), các phông ch VNI tân k, ABC...
Bài báo này trình bày mt gii pháp
tng quát và có tính m đ xây dng mt
công c, đc gi là VitTools, có chc
nng phát hin - sa li chính t và các
chc nng x lý ting Vit khác nh :
− Chuyn đi các vn bn ting Vit son
tho trên mt h phông ch bt k sang
mt h phông ch bt k khác.
− Sp xp vn bn ting Vit theo th t
ABC không ph thuc vào phông ch
đang s dng.
− Khai thác tra cu t vi chc nng là
mt t đin đn ng và/hoc đa ng.
Xây dng công c kim tra chính t ting Vit
2
Âm tit
− Kh nng m rng đ x lý ting Vit
theo quan đim x lý ngôn ng t nhiên...
Theo t đin chính t ca Hoàng Phê [
1], ting Vit có 6.760 âm tit ch vit đ
xây dng b phát hin - sa li
chính t, cn gii quyt hai vn đ là phát
hin li chính t và sa li. Ta có th s
dng thut toán sau (Hình 2) :
Repeat
c_mt_âm_tit
Phân_tích_âm_tit
Kim_tra_li_chính_t
If Có_li then Sa_li
Until Ht_ âm_tit or Yêu_cu_dng
Khuôn vn
Vn Thanh điu
Ph âm đu
Hình 2 Thut toán phát hin và sa li chính t
Vic c_mt_âm_tit đc tin hành
ln lt t đu vn bn đang xét tr đi
hoc bt đu t v trí du chèn tr v cui
vn bn (down) hoc ngc (up) v đu
vn bn. Mt âm tit là mt xâu ký t ch
gm toàn ch cái thuc phông ch ting
Vit đang s dng hin hành, đc đt
gia các ký t ngt câu, hoc ký t ngt
dòng, hoc ký t khác ch cái.
Phân_tích_âm_tit tc là tách âm tit
thành 2 phn, ph âm đu và khuôn vn.
Khi nhn din, ta thy ph âm đu gi có
hai trng hp phân bit là g (trong gic,
giã...) và gi (trong gin, giêng...) còn các
ph âm đu khác đu không cha nguyên
âm. Ph âm đu qu mc dù có cha
II.2. Xây dng c s d liu t
vng
Do cu trúc âm tit ting Vit và đ s
dng các bng thng kê âm tit trong [ 1],
ta có th thit k c s d liu là mt mng
hai chiu. Mi phn t ca mng cho phép
kim tra tính đúng đn (hay s có mt) mt
âm tit cn c vào v trí hàng ca ph âm
đu và v trí ct ca khuôn vn.
Ví d âm tit ngoi là phn t đc
xác đnh t ph âm đu th và khuôn vn
oi t bng sau (bên phi Hình 3 là cách
xác đnh âm tit đó) :
...
oi ...
...
ng
⌦
...
oi
ng
•
Hình 3 Cách xác đnh mt âm tit
Cu trúc mt phn t mng nh sau :
Type Phn_t_mng = Record
Vn_đ_chính_t
Loi_t
Ngha
Ni_t
âm tit khác đ to thành các t ghép. Ví
các t ghép ti đp, xinh ti, xinh đp,
xinh xinh, xinh xn, đp đ đc minh ho
cách ni ghép nh sau (Hình 5) :
3
p
4
Hình 5 Cách to các t ghép
Vi t ghép đôi, có th xy ra các mi
ni hai chiu, nh ân ái - ái ân, bo đm -
đm bo... hoc các mi ni vòng, nh
chung chung, xinh xinh... Trng hp các
t ghép ba, nh tng tòng tong..., các t
ghép bn nh lt thà lt tht, ko cà
ko kt... hoc t ghép dài hn thì phi xây
dng các mi ni bc cu.
Hình 6 di đây mô t Ni_t là mt
cu trúc con tr đc bit cho phép x lý
các loi mi ni khác nhau nh va trình
bày. d trin khai, có th quy c các
t ghép ch xác đnh bi âm tit đu.
Type
Ni_t = Record
Ni_đôi
Ni_vòng
Ni_bc_cu
end
Hình 6 Cu trúc mi ni t
t
i
•
x
inh
•
đ
đ
•
n
x
•
•
5
Hình 7 B mã trc VIQR
Trc khi chuyn mã ngun v mã
VIQR cn có th tc Nhn_din_
mã_ngun và trc khi chuyn mã VIQR
sang mt mã đích khác cn có th tc
Nhn_din_mã_đích.
Nh vy đ phát hin li chính t, công
c VitTools s làm vic trên các âm tit đã
đc chuyn sang mã VIQR. VitTools
phân tích các âm tit đ dò tìm ph âm đu
và khuôn vn tìm đc trong các vect ph
âm đu và khuôn v
n tng ng theo mã
VIQR.
III Kt lun
VIQR
IBM
CP 01129
TCVN3
VietKey
VISCII
VietWare
VNI
BKtpHCM
Microsoft
CP 1258