Tài liệu Microsoft Windows - Pdf 84

1
XÂY DNG CÔNG C KIM TRA CHÍNH T TING VIT
TRONG MÔI TRNG 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 tt⎯Bài báo này trình bày gii pháp thit k mt công c gi là VitTools cho phép kim tra chính t
ting Vit bng cách xây dng mt c s d liu t vng trên mã VIQR. VitTools đc m rng thành
công c vn nng đ có th chuyn mã vn bn, sp xp, tra cu t đin ting Vit hoc t đin đa ng, x
lý ngôn ng t nhiên.
T khoá⎯c s d liu, mã, chuyn mã, mã trc, phông ch, ting Vit, chính t, t đin, x lý vn bn.
I t vn đ
Hin nay, hu nh mi công vn, giy
t giao dch thng ngày đu đc to ra và
in n bng máy vi tính. Mt trong nhng
phn mm “vn phòng” đc s dng
tng đi thông dng là trình son tho vn
bn Microsoft Word (gi tt là WinWord).
Có th nói vic ch bn, in n t đng đã
làm vn bn đc trình bày đp hn, ni
dung phong phú hn và do vy, cht lng
hiu qu công vic cng đc tng lên.
Tuy nhiên, vic son tho các vn bn
ting Vit vn còn đt ra nhng vn đ cha
đc gii quyt tt, trong đó có vn đ tìm
và khc phc các li chính t. Nguyên nhân
là vic s dng máy vi tính tng đi ph
cp, s bn rn và phc tp ca cuc sng
nên con ngi có ít thi gian, các phn
mm hin nay hu nh ch làm vic vi

khc phc các li chính t ting Vit khi
son tho vn bn trên máy vi tính ? Do
trình son tho vn bn Winword ch có
chc nng phát hin và sa li chính t
(check and correct spelling) áp dng đc
cho ting Anh, hin nay đã có nhng gii
pháp đ áp dng cho ting Vit. Ví d trình
VietSpell Checker (ca Trung tâm Tin hc,
HKH tp.HCM), VitKey (ca ng Minh
Tun), các phông ch VNI tân k, ABC...
Bài báo này trình bày mt gii pháp
tng quát và có tính m đ xây dng mt
công c, đc gi là VitTools, có chc
nng phát hin - sa li chính t và các
chc nng x lý ting Vit khác nh :
− Chuyn đi các vn bn ting Vit son
tho trên mt h phông ch bt k sang
mt h phông ch bt k khác.
− Sp xp vn bn ting Vit theo th t
ABC không ph thuc vào phông ch
đang s dng.
− Khai thác tra cu t vi chc nng là
mt t đin đn ng và/hoc đa ng.
Xây dng công c kim tra chính t ting Vit
2
Âm tit
− Kh nng m rng đ x lý ting Vit
theo quan đim x lý ngôn ng t nhiên...
Theo t đin chính t ca Hoàng Phê [
1], ting Vit có 6.760 âm tit ch vit đ

 xây dng b phát hin - sa li
chính t, cn gii quyt hai vn đ là phát
hin li chính t và sa li. Ta có th s
dng thut toán sau (Hình 2) :
Repeat
c_mt_âm_tit
Phân_tích_âm_tit
Kim_tra_li_chính_t
If Có_li then Sa_li
Until Ht_ âm_tit or Yêu_cu_dng
Khuôn vn
Vn Thanh điu
Ph âm đu
Hình 2 Thut toán phát hin và sa li chính t
Vic c_mt_âm_tit đc tin hành
ln lt t đu vn bn đang xét tr đi
hoc bt đu t v trí du chèn tr v cui
vn bn (down) hoc ngc (up) v đu
vn bn. Mt âm tit là mt xâu ký t ch
gm toàn ch cái thuc phông ch ting
Vit đang s dng hin hành, đc đt
gia các ký t ngt câu, hoc ký t ngt
dòng, hoc ký t khác ch cái.
Phân_tích_âm_tit tc là tách âm tit
thành 2 phn, ph âm đu và khuôn vn.
Khi nhn din, ta thy ph âm đu gi có
hai trng hp phân bit là g (trong gic,
giã...) và gi (trong gin, giêng...) còn các
ph âm đu khác đu không cha nguyên
âm. Ph âm đu qu mc dù có cha

II.2. Xây dng c s d liu t
vng
Do cu trúc âm tit ting Vit và đ s
dng các bng thng kê âm tit trong [ 1],
ta có th thit k c s d liu là mt mng
hai chiu. Mi phn t ca mng cho phép
kim tra tính đúng đn (hay s có mt) mt
âm tit cn c vào v trí hàng ca ph âm
đu và v trí ct ca khuôn vn.
Ví d âm tit ngoi là phn t đc
xác đnh t ph âm đu th và khuôn vn
oi t bng sau (bên phi Hình 3 là cách
xác đnh âm tit đó) :
...
oi ...
...
ng


...
oi
ng

Hình 3 Cách xác đnh mt âm tit
Cu trúc mt phn t mng nh sau :
Type Phn_t_mng = Record
Vn_đ_chính_t
Loi_t
Ngha
Ni_t

âm tit khác đ to thành các t ghép. Ví
các t ghép ti đp, xinh ti, xinh đp,
xinh xinh, xinh xn, đp đ đc minh ho
cách ni ghép nh sau (Hình 5) :
3

p
4

Hình 5 Cách to các t ghép
Vi t ghép đôi, có th xy ra các mi
ni hai chiu, nh ân ái - ái ân, bo đm -
đm bo... hoc các mi ni vòng, nh
chung chung, xinh xinh... Trng hp các
t ghép ba, nh tng tòng tong..., các t
ghép bn nh lt thà lt tht, ko cà
ko kt... hoc t ghép dài hn thì phi xây
dng các mi ni bc cu.
Hình 6 di đây mô t Ni_t là mt
cu trúc con tr đc bit cho phép x lý
các loi mi ni khác nhau nh va trình
bày.  d trin khai, có th quy c các
t ghép ch xác đnh bi âm tit đu.
Type
Ni_t = Record
Ni_đôi
Ni_vòng
Ni_bc_cu
end
Hình 6 Cu trúc mi ni t

t
i

x
inh

đ
đ

n
x


5

Hình 7 B mã trc VIQR
Trc khi chuyn mã ngun v mã
VIQR cn có th tc Nhn_din_
mã_ngun và trc khi chuyn mã VIQR
sang mt mã đích khác cn có th tc
Nhn_din_mã_đích.
Nh vy đ phát hin li chính t, công
c VitTools s làm vic trên các âm tit đã
đc chuyn sang mã VIQR. VitTools
phân tích các âm tit đ dò tìm ph âm đu
và khuôn vn tìm đc trong các vect ph
âm đu và khuôn v
n tng ng theo mã
VIQR.
III Kt lun

VIQR
IBM
CP 01129
TCVN3
VietKey
VISCII
VietWare
VNI
BKtpHCM
Microsoft
CP 1258


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status