Tải bản đầy đủ (.pdf) (26 trang)

Nghiên cứu xây dựng chương trình tích hợp xử lý chữ viết tắt, gõ tắt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (319.38 KB, 26 trang )

-1-

B GIÁO D C VÀ ĐÀO T O
Đ I H C ĐÀ N NG

NGUY N VĂN HU

NGHIÊN C U XÂY D NG CHƯƠNG TRÌNH
TÍCH H P X LÝ CH VI T T T, GÕ T T

Chuyên ngành: KHOA H C MÁY TÍNH
Mã s : 60.48.01

TĨM T T LU N VĂN TH C SĨ K THU T

ĐÀ N NG - Năm 2012


-2-

Cơng trình đư c hồn thành t i
Đ I H C ĐÀ N NG

Ngư i hư ng d n khoa h c: TS. Huỳnh Công Pháp

Ph n bi n 1: ………………………………….
Ph n bi n 2: ………………………………….

Lu n văn ñư c b o v t i H i ñ ng ch m Lu n văn t t
nghi p th c sĩ k thu t h p t i Đ i h c Đà N ng vào
ngày … tháng … năm 2012



* Có th tìm hi u lu n văn t i:
- Trung tâm Thông tin - H c li u, Đ i h c Đà N ng
- Trung tâm H c li u, Đ i h c Đà N ng.


-3M

Đ U

1. Lý do ch n ñ tài
Trong nh ng năm g n ñây, cu c s ng xã h i (cơng nghi p, nơng
nghi p, văn hố xã h i...) phát tri n r t m nh m v m i m t, lu ng
thơng tin tăng nhanh, vì v y trong ngơn ng nói cũng như ngơn ng
vi t, hi n tư ng nói t t, vi t t t tr nên r t ph bi n. Đi u này ñáp
ng ñư c yêu c u ti t ki m th i gian, gi y bút nhưng cũng gây khó
hi u cho ngư i nghe, ngư i đ c.
Quy t c hình thành ch vi t t t (CVT) r t đa d ng. Có nh ng
CVT gi ng nhau ñ ch các s v t gi ng nhau và đư c c th gi i
cơng nh n cho dù tên g i c a m i nư c đ i v i s v t đó có khác
nhau. Ví d : Ký hi u các nguyên t hố h c, các đơn v đo lư ng
theo h SI... Có nh ng CVT hình thành do l y tr n v n m t vài ch
trong c c m ch tên g i. Có nhi u trư ng h p m t tên g i trong
nguyên ng nghĩa có đ n vài tên vi t t t khác nhau ho c ngư c l i
m t CVT l i ñư c dùng ñ ch nhi u tên g i ngun ng khác nhau.
Tình hình trên đã gây khơng ít khó khăn cho ngư i s d ng. Chính vì
lý do này, vi c nghiên c u xây d ng kho d li u CVT ñư c phân lo i
theo nhi u lĩnh v c là h t s c c n thi t, gi i quy t nhu c u tra c u, s
d ng CVT trong th c ti n, góp ph n quan tr ng trong vi c phát tri n
các h th ng tra c u, h tr vi c di n gi i nghĩa chính xác giúp NSD

x lý văn b n có t vi t t t ñư c thu n l i. CVT ñư c s d ng nhi u
trong lĩnh v c nghiên c u, qu n lý, khai thác và xu t b n n i dung,
gi ng d y và h c t p hi u qu .


-4Trong q trình so n th o trên máy tính chúng ta thư ng g p
nhi u t , c m t ñư c l p ñi l p l i nhi u l n mà v n ph i gõ ñi gõ
l i. Đi u này ñã gây ra khơng ít phi n tối và t n r t nhi u th i gian
c a ngư i so n th o. Trong MS Word, ta cũng có th đ nh nghĩa
CVT và gõ t t nh s d ng tính năng “AutoCorrect Options”. Tuy
nhiên ta khơng dùng đư c nh ng t vi t t t ñã ñư c ñ nh nghĩa này
trong các chương trình khác như là FrontPage, Excel, Access,
WordPad, Notepad, skype, yahoo,…cũng ñang ch y trên Windows.
D li u CVT dùng ñ h tr vi c gõ t t r t h n ch , không có s n
trong lúc c n s d ng nên m i khi có nhu c u thì ph i ñ nh nghĩa
trư c. Ph n m m Unikey cũng h tr tính năng này nhưng cũng r t
h n ch và khó s d ng, chưa h tr đư c tính đa ng và đa nghĩa
c a CVT. Ngồi ra cũng có m t vài ng d ng khác ñã nghiên c u v
v n ñ này như ñ tài “Nghiên c u tích h p mơi trư ng, cơng c và
k thu t tìm ki m, qu n lý ch vi t t t.” Lu n văn th c sĩ k thu t
Khoa h c máy tính, c a B ch Như Nguy n (2007). Nhưng nhìn
chung nh ng ng d ng đó cịn t n t i nh ng h n ch như:


Chưa t ch c đư c kho d li u CVT ña ng và ña nghĩa đ y
đ



Chưa khai thác và ng d ng đư c kho d li u CVT ña ng ,

ña nghĩa ñ y ñ giúp ngư i s d ng gõ t t trên t t c các môi
trư n so n th o như Microsoft Ofice, Notepad, WordPad,
chát và các chương trình ng d ng khác

V y v n đ ñ t ra là:


-5•

Làm th nào đ t p h p đư c kho d li u CVT chu n g m
nhi u lĩnh v c và đa ngơn ng . H tr ngư i dùng tra c u
CVT m t cách nhanh chóng và chính xác



Làm th nào đ khai thác kho d li u CVT ña ng , ña nghĩa
trên giúp ngư i dung gõ t t trên các ng d ng

Vì th , tơi ch n đ tài “Nghiên c u xây d ng chương trình tích
h p x lý ch vi t t t, gõ t t” ñ nghiên c u gi i quy t nh ng v n
ñ trên.
2. M c đích nghiên c u
Xây d ng cơ s d li u CVT v i các gi i pháp thu th p,
phân lo i CVT theo lĩnh v c, chuyên ngành. Xây d ng ñư c m t h
th ng qu n lý, tra c u CVT và gõ t t trong so n th o văn b n và
trong các ng d ng khác. H tr tra c u ph c v công tác nghiên
c u, h c t p.
3. Đ i tư ng và ph m vi nghiên c u
Đ i tư ng nghiên c u bao g m: Quy t c c u thành và d u
hi u đ c trưng CVT, cơng c xây d ng và qu n lý cơ s d li u

CVT, ngơn ng l p trình xây d ng ng d ng khai thác CVT, tài li u,
văn b n, website có t vi t t t. Ph m vi nghiên c u g m: Nghiên c u
CVT, nghiên c u k thu t tìm ki m CVT, k thu t x lý thơng đi p
trên windows.
4. Phương pháp nghiên c u
Phương pháp chính là nghiên c u qua ngu n tư li u ñã xu t
b n, các bài báo đăng trên các t p chí khoa h c, sưu t p các tư li u


-6liên quan ñ n v n ñ ñang nghiên c u trên m ng Internet. Xây d ng
ng d ng, ki m th kho d li u CVT, ñánh giá k t qu

ng d ng

trong tìm ki m CVT và gõ t t.
5. Ý nghĩa khoa h c và th c ti n c a lu n văn
Nghiên c u các công ngh tiên ti n, xây d ng t ng th và
chu n hóa h th ng CVT góp ph n phát tri n ngôn ng . Làm cho văn
b n đư c tinh g n, có tính th m m cao, th i gian so n th o ñư c rút
ng n, h n ch ph i thao tác nhi u trên bàn phím, s d ng ít ký t
nh t có th , khơng dành nhi u không gian cho vi c lưu tr nh m
nâng cao ch t lư ng n i dung so n th o.
6. B c c c a lu n văn
Lu n văn ñư c t ch c thành 3 chương như sau:
Chương 1 - Lý thuy t t ng quan: Gi i thi u t ng quan các v n
ñ x lý văn b n, gi i thi u các v n đ liên quan đ n CVT, k thu t
tìm ki m trên văn b n b ng bi u th c chính quy, k thu t x lý thơng
đi p c a Windows. Trên cơ s đó, phân tích ñ xu t phương pháp
tìm ki m và c p nh t nh m ñ nh hư ng xây d ng cơ s d li u CVT.
Chương 2 - Xây d ng gi i pháp k thu t: L a ch n công c h

tr xây d ng cơ s d li u, xây d ng gi i pháp thu th p và c p nh t
d li u CVT t nhi u ngu n d li u khác nhau, xây d ng gi i pháp
tìm ki m CVT, k thu t gõ t t ti ng Vi t trong văn b n ph c v nhu
c u s d ng c a ngư i dùng.


-7Chương 3 - Xây d ng ng d ng: Trên cơ s phân tích các mơ
hình d li u, c u trúc các b ng d li u, xây d ng cơ s d li u CVT
ñ ng th i tri n khai xây d ng ng d ng khai thác CSDL CVT.
Chương 1

LÝ THUY T T NG QUAN

1.1 TÌM HI U V N Đ X LÝ VĂN B N
X lý thơng tin là q trình bi n đ i d li u t d ng này
thành d ng khác đ có th thu đư c thơng tin và tri th c. Trong giai
ño n ñ u, CNTT t p trung vào các d li u d ng s , bi u di n b i các
d ng ñư c c u trúc như các véc tơ (vector) hay các b ng. Trong hơn
n a th k phát tri n, CNTT d n d n “x lý” nhi u ki u d li u
khác, như hình nh, âm thanh, văn b n, ký hi u hình th c, đ th ,...
và g n ñây là nhi u ki u d li u ph c t p như d li u sinh h c
(genomic data). Phương pháp x lý cũng ngày càng phong phú, t
tính tốn đ n suy lu n, và nhi u ki u khác n a. X lý ngơn ng
chính là x lý thơng tin khi đ u vào là “d li u ngôn ng ” (d li u
c n bi n ñ i), t c d li u “văn b n” hay “ti ng nói”.
Hi n nay có nhi u bài tốn liên quan đ n lĩnh v c x lý văn
b n, sau đây tơi xin trình bày m t s bài tốn như sau:


Nh n d ng ch vi t (optical character recognition).




D ch t đ ng (machine translation).



Tóm t t văn b n (text summarization).



Tìm ki m thơng tin (information retrieval).


-8•

Trích ch n thơng tin (information extraction).
Trong ph m vi c a ñ tài, CVT là ñ i tư ng chính c n x lý.

Tìm ki m và nh n d ng CVT trong văn b n cũng là m t v n ñ thu c
lĩnh v c x lý văn b n. Nghiên c u v n ñ này giúp tơi tìm ra các
gi i pháp thích h p nh m xác ñ nh ñơn v t nào trong văn b n là
CVT.
1.2 NGHIÊN C U CH

VI T T T TI NG VI T

1.2.1 Nh ng quy ñ nh ch vi t t t ti ng Vi t
Khi s d ng CVT trong so n th o văn b n, chúng ta ph i
xem xét hai trư ng h p sau:



CVT đã có s n: CVT trong trư ng h p này CVT ñã ñư c
ñ nh nghĩa, minh gi i trư c đây ho c thơng d ng, nhi u
ngư i bi t, không m p m , khơng ph n nghĩa khi dùng; ho c
đã có quy ñ nh.



CVT chưa ñư c ñ nh nghĩa: Trong trư ng h p này chúng ta
c n ñ nh nghĩa CVT ngay khi xu t hi n l n ñ u trong văn
b n theo d ng sau:
<C m t ñ y ñ > (<Ch vi t t t>)

1.2.2 Các quy t c t o l p ch vi t t t ti ng Vi t
1.2.2.1 T o l p theo ti ng
Trong d ng này, l n lư t các ch cái ñ u c a các ti ng trong
c m t c n vi t t t s ñư c ghép l i v i nhau t o thành CVT.
Ví d : KCNC

=

Khu Cơng ngh cao


-91.2.2.2 T o l p theo t
T t c các ch cái ñ u tiên c a m i t có nghĩa trong c m t c n vi t
t t ñư c ghép l i v i nhau t o thành CVT.
Ví d :


TĐC

Tiêu chu n Đo lư ng Ch t lư ng

=

1.2.2.3 T o l p theo ghép âm hay ghép ti ng
CVT thành l p b ng cách l y l n lư t các âm chính ñ u, hay
ph n âm d ñ c, d nh n bi t c a m i t trong c m t c n vi t t t,
sau đó ghép chúng l i thành CVT.
Ví d : VINASA =

Hi p h i ph n m m Vi t Nam

1.2.2.4 T o l p theo ch cái vi t ph
Tương t như d ng ghép theo ti ng ho c d ng ghép theo t
có nghĩa nhưng có s d ng kèm theo ch cái ph khơng vi t hoa.
Ví d :

ThS

=

Th c sĩ

1.2.2.5 T o l p theo ch vi t t t ti ng nư c ngoài
Theo d ng th c này chúng ta mư n nguyên CVT ti ng nư c
ngoài (ch y u là ti ng Anh) ñ s d ng cho CVT ti ng Vi t.
Ví d :


SMS

=

Short Message Service

1.2.2.6 T o l p theo t thu c lĩnh v c khoa h c
CVT dùng trong các lĩnh v c khoa h c, ñư c xem như là các
quy ñ nh, ký hi u. Đây là cách s d ng ph bi n trong các ngành
Toán h c, Hóa h c, V t lý,…
Ví d :

NaCl

= Natri Clorua (mu i ăn)


- 10 1.2.2.7 T o l p t phát
Là cách vi t t t không theo m t quy lu t, nguyên t c nào.
Ví d :

Bit rui

= Bi t r i

1.2.2.8 T o l p có chèn thêm ti ng nư c ngồi
Đây là d ng CVT đư c s d ng r t ph bi n trong tin nh n
SMS, chat, email, Twitter, ....
Ví d : Thanks U da nhac! = Cám ơn b n ñã nh c!
1.2.2.9 T o l p theo ph âm c a ti ng

Ph âm ñ u ch :
B ng 1.1. Qui ư c thay ph âm đ u ch
Cách thay

Ví d

F thay PH

Fai

=

Phai

K thay KH

Ki ko kan =

Khi kho khan

Ph âm cu i ch :
B ng 1.2. Qui ư c thay ph âm cu i ch
Cách thay

Ví d

G thay NG

Kog mog =


Khong mong

H thay NH

Tah

Tanh

=

1.2.3 Các d ng s d ng ch vi t t t
Trong so n th o văn b n, CVT n m trong d u ngo c ñơn
(…) ngay sau c m t vi t ñ y ñ khi CVT ñư c ñ nh nghĩa l n ñ u.


- 11 1.2.4 Phân lo i ch vi t t t theo lĩnh v c
Qua quá trình nghiên c u, tìm hi u thơng tin v CVT trên
các tài li u văn b n, báo cáo khoa h c, các trang báo ñi n t và ñ c
bi t là các t đi n CVT trên m ng, tơi đã phân tách thành nhi u lo i
như: giáo d c ñào t o, quân s , y h c, khoa h c và công ngh , tài
nguyên và môi trư ng, cơng ngh thơng tin và truy n thơng, tài
chính, t ch c chính tr xã h i.
1.3 BI U TH C CHÍNH QUY
Bi u th c chính quy (ti ng Anh: regular expression, vi t t t là
regexp, regex hay regxp) là m t chu i miêu t m t b các chu i
khác, theo nh ng quy t c cú pháp nh t đ nh.
Qua phân tích các ñ c ñi m c a BTCQ, tôi nh n th y r ng
BTCQ mang đ n kh năng tìm ki m ký t ho c xâu ký t m nh m
cho b t c công c x lý văn b n nào, có th xem đây là m t chu i
các ký t ñ c bi t giúp xây d ng nên các m u tìm ki m (search

pattern). Trong ph m vi tìm ki m và nh n d ng CVT trong văn b n,
các m u đó có vai trị r t h u hi u. K t h p v i các d ng th c s
d ng CVT hi n nay, ta có th t o nên các m u tìm ki m giúp xác
đ nh ñơn v t nào trong văn b n là CVT.
1.4 K THU T X

LÝ THÔNG ĐI P TRÊN WINDOWS

1.4.1 C a s và các thơng đi p
1.4.1.1 Hook x lý thơng đi p
Hook là k thu t đi u khi n thơng đi p (message-handling)
giúp cho ng d ng có th cài đ t m t th t c ñ ñi u khi n lu ng


- 12 thơng đi p và ti n hành x lý các thơng đi p đó trư c khi thơng đi p
đó đi t i c a s đích.
1.4.1.2 S d ng hook
Ta có th cài đ t th t c hook vào chu i hook b ng vi c g i
hàm SetWindowsHookEx..Hook nên ñư c b ñi n u như không c n
thi t n a b ng cách s d ng hàm UnhookWindowsHookEx.
1.4.2 K thu t hook giao di n l p trình ng d ng
1.4.2.1 Thay đ i các b ng nh p xu t c a hook
Hook API (application programming interface) là k thu t
dùng ñ ch n các l i g i hàm API trong Windows và chuy n hư ng
sang m t hàm khác do ngư i dùng xây d ng.
1.4.2.2 Chèn l nh vào giao di n l p trình ng d ng
Đ hook hàm API ta có th thay đ i tr c ti p trên hàm đó,
phương pháp chèn l nh JMP (Jump) vào ñ u hàm API (Overwriting
the start of the hooked API with a JMP instruction) là m t k thu t
ph bi n ñư c s d ng ñ hook API b ng cách thay ñ i ño n mã ñ u

c a hàm API thành l nh nh y t i hàm thay th .

Chương 2

XÂY D NG GI I PHÁP K THU T

2.1 PHƯƠNG PHÁP C P NH T CH

VI T T T

2.1.1 C p nh t t giao di n chương trình
Chương trình cung c p giao di n nh p li u, thông tin ñư c
nh p tr c ti p và t ñ ng đư c ki m tra tính h p l trư c khi ñưa vào
cơ s d li u.


- 13 2.1.2 C p nh t t t p lưu tr ch vi t t t
Chương trình cung c p giao di n th c hi n ñ c toàn b n i
dung c a t p ch a danh m c các CVT t trư c, sau đó th c hi n tách
t đ trích xu t CVT và n i dung di n gi i c p nh t vào CSDL.
Thu t toán th c hi n
Input: T p d li u ngu n d ng *.Doc
Output: Danh m c CVT ñư c lưu vào b ng CVT_TAM
B t ñ u:
1. Xác ñ nh t p ngu n ch a danh m c CVT
2. M file d li u ngu n
3. Kh i t o các bi n trung gian tencvt, diengiai
4. Xác đ nh v trí c a b ng ch a CVT
5. Repeat
- Đ c t ng dòng trong t p ngu n

- Tách chu i, ñưa n i dung vào các bi n trung gian
TenCVT, DiengiaiTV, DiengiaiTA
- M k t n i cơ s d li u
- G i hàm Insert_Data2(tencvt, diengiai) ñ lưu thơng
tin CVT vào CVT_TAM
Until Đ c h t t p
6.

Đóng t p

7.

Đóng k t n i cơ s d li u

K t thúc.
Hàm Insert_Data2(tencvt, diengiai) chèn d li u vào b ng
CVT_TAM và tr v k t qu th c hi n.


- 14 2.1.3 C p nh t t trang Web
D a vào c u trúc lưu tr d li u c a HTML, ñ c bi t là các
c p th <table>, <tr> và <td>, tôi s d ng các m u so kh p c a bi u
th c chính quy trích l c ra các CVT m i ñ b sung vào CSDL.
2.1.4 C p nh t s d ng các ti n ích c a SQL Server
2.2.4.1 Máy ch liên k t
Máy ch liên k t (Linked Server) là gi i pháp cho phép liên
k t nhi u ngu n d li u v m t máy ch , ñ c bi t là các ngu n d
li u CVT có s n, cung c p m t lư ng d li u r t l n r t c n thi t
trong vi c làm giàu kho d li u CVT.
2.2.4.2 Trích rút d li u

K t rút d li u (Import data) là m t ti n ích c a SQL Server.
Đây cũng là gi i pháp giúp ta có th k t rút d li u t các ngu n d
li u CVT khác nhau. Phương pháp tìm ki m ch vi t t t.
2.1.5 Tìm ki m ch vi t t t s d ng phương pháp so kh p
D a vào phương pháp kh p t i ña (Maximum Matching MM), khi duy t m t ño n văn b n ta ch c n ch n ra các t có nhi u
kh năng là CVT. Sau đó so kh p v i t ñi n CVT ho c cơ s d
li u CVT có trư c. Như v y xác su t tìm ki m chính xác CVT là r t
cao và hi u qu . Sau ñây là m t thu t tốn tìm ki m CVT trong t p
văn b n s d ng phương pháp so kh p:
Thu t toán th c hi n:
Input:

Các t p văn b n


- 15 Output: T p k t qu là danh sách lưu tr n i dung bao g m t ng s
CVT, n i dung di n gi i và t n su t s d ng c a t ng CVT.
B t ñ u:
Xác ñ nh t p ngu n hàm s tương tác

1.
2.




3.

M t p ngu n
Đ c n i dung t p gán vào bi n chuoiluutru

Kh i t o bi n danhsachlk
Đ c n i dung trong chuoiluutru

Repeat
-

Đ c t ng ño n văn b n trong chuoiluutru

-

Gán n i dung vào bi n line

-

Đ c n i dung trong line


Ki m tra c m t theo các tiêu chí nh n d ng
CVT
+ Tách n i dung tìm CVT và di n gi i
+ G i hàm sokhop(cvt) ñ so kh p CVT
v i t ñi n ho c CSDL CVT, n u ñúng
Gán vào Tencvt
Gán di n gi i vào Diengiai



Ki m tra Tencvt có t n t i trong danhsachlk,
n u có
- Tăng bi n Solansudung, ngư c l i:

- T o m i danhsachlk
- Tăng bi n ñ m Solansudung
- Gán Tencvt, Diengiai, Solansudung
vào bi n danhsachlk

Until ñ c cho ñ n h t chuoiluutru
4.

Đóng t p ngu n


- 16 5.
6.

Lưu vào t p ketqua



M t p ketqua
Đ c n i dung Tencvt, Diengiai, Solansudung lưu
vào t p ketqua
Đóng t p ketqua

K t thúc.
Hàm ki m tra sokhop(cvt) có ch c năng ki m tra xem CVT
tìm đư c có t n t i trong CSDL CVT hay khơng ? N u có thì tr v
chu i k t qu ch a n i dung di n gi i, lo i CVT và ngơn ng c a
CVT đó. N u khơng thì tr v chu i r ng.
2.1.6 Tìm ki m ch vi t t t s d ng bi u th c chính quy
BTCQ r t quan tr ng và thư ng ng d ng trong các trình

biên t p văn b n và các ti n ích tìm ki m và x lý văn b n d a trên
các m u ñư c quy ñ nh. K t h p v i các phương pháp nh n d ng
CVT đư c trình bày t i m c các hình th c nh n d ng CVT trong
chương 1. Ta có th t o nên các m u tình ki m CVT r t d dàng và
xác xu t phát hi n CVT là r t l n.
2.1.7 Tìm ki m ch vi t t t t cơ s d li u
M c tiêu là tìm ki m t t c CVT cùng n i dung di n gi i
trong CSDL và th ng kê theo t ng lo i CVT. K thu t chính c a th
t c là s d ng phép truy v n “Select” và “Join” ñ thành l p câu truy
v n tìm t p k t qu mong mu n.
2.2 PHƯƠNG PHÁP GÕ T T TRONG VĂN B N
Phương pháp này d a vào các giao di n l p trình ng d ng
(API) c a Windows nh m đón b t t t c các ký t ñư c gõ t bàn
phím, sau đó x lý và tr v

ng d ng hi n hành n i dung di n gi i


- 17 c a CVT tìm đư c. Đây là phương pháp b o đ m NSD có th gõ t t
trong b t kỳ ng d ng nào c a Windows.
Thu t toán th c hi n:
Input: T p ký t nh p t bàn phím, T p văn b n *.txt ch a danh
sách CVT.
Output: Chu i ký t mô t di n gi i c a t vi t t t tìm đư c.
B t đ u:
1. Cài ñ t Hook b ng l nh SetWindowsHookEx
Kh i t o các bi n diengiai, cvt
2. Gõ ký t t bàn phím



S d ng HookedKeys đ nh n giá tr c a phím



Gán giá tr phím vào bi n cvt



S d ng Keys.Space đ th c hi n x lý

3. M t p danh sách các t vi t t t
Repeat
- Đ c t ng dòng n i dung hi n t i
- Tách l y ch vi t t t
- Ki m tra cvt = <t vi t t t tìm đư c>, n u có
+ Lưu di n gi i vào bi n diengiai
+ Thốt vịng l p
Until đ c h t t p
Đóng t p
4. Chèn n i dung CVT


S
d ng keybd_event((byte)Keys.Back, 0, 0,
UIntPtr.Zero) xóa t vi t t t


- 18 •

S d ng Clipboard.settext(diengiai) dán n i dung

bi n diengiai vào clipboard
5. H y b Hook b ng l nh UnhookWindowsHookEx
K t thúc.
Hook là m t k thu t tương đ i khó và ki n th c v nó cũng
khá r ng. Tuy nhiên, n u chúng ta mu n xây d ng ng d ng có can
thi p vào vi c x lý các thơng đi p c a h đi u hành thì hook là k
thu t không th thi u.
Chương 3

XÂY D NG

NG D NG

3.1 PHÂN TÍCH VÀ THI T K H TH NG
3.1.1 Mơ hình sơ đ dịng d li u (DFD)

Hình 3. 1. Mơ hình sơ đ dịng d li u (DFD)


- 19 3.1.2 Mơ hình c u trúc các th c th
Đ xây d ng CSDL CVT, Ta ph i xác ñ nh các ñ i tư ng d li u
c a ng d ng. Căn c vào yêu c u c a lu n văn, căn c vào các u
c u ch c năng c a chương trình, tơi xác ñ nh “Ch vi t t t” là ñ i
tư ng d li u chính c a CSDL. Bên c nh đó, các thơng tin liên quan
đ n CVT như: tác gi t o nên CVT, ngôn ng c a CVT, ngu n g c
c a CVT và CVT thu c lĩnh v c gì ? D a vào các danh t đó, tơi
ti p t c xác đ nh thêm các đ i tư ng liên quan mơ t các thơng tin v
CVT như sau:
• Tác gi t o nên CVT.
• Ngơn ng CVT.

• Ngu n g c xu t phát c a CVT.
• Lo i (lĩnh v c) c a CVT.
• CVT có cùng nghĩa.
Xác đ nh ñúng và ñ các ñ i tư ng d li u t o cơ s cho vi c
phân tích và thi t k cơ s d li u có th ch a m i thông tin CVT
ph c v

ng d ng khai thác sau này.

3.1.3 Mơ hình th c th k t h p
T nh ng th c th ñã xây d ng

trên và xét m i quan h gi a

các th c th ta có th xây d ng đư c mơ hình th c th k t h p như
sau:


- 20 -

Hình 3. 2. Mơ hình th c th k t h p
3.1.4 Thi t k c u trúc các b ng d li u ch vi t t t
Đ xây d ng mơ hình bi u di n CSDL CVT ti ng Vi t,
tôi l p các b ng bi u di n các thu c tính và ki u d li u CVT như
hình 3.3.
3.1.5 Thi t k mơ hình quan h d li u ch vi t t t
D a trên cơ s mơ hình logic d li u và c u trúc các b ng, tôi
thi t k CSDL CVT ti ng Vi t b ng h qu n tr CSDL SQL Server
có tên là CVT g m các b ng d li u sau:



CVT (mơ t ch vi t t t).



LOAICVT (mơ t lo i ch vi t t t).



TACGIA (mơ t ngư i t o CVT).



NGONNGU (mơ t ngơn ng c a CVT).



NGUONGOC (mô t ngu n g c c a CVT).


- 21 •

DONGNGHIA (mơ t CVT đ ng nghĩa).
Sơ đ quan h đư c bi u di n như hình sau

Hình 3. 3. Mơ hình quan h d li u CVT
3.2 XÂY D NG

NG D NG


3.2.1 T ng quan công c và thư vi n h tr l p trình
3.2.1.1 Cơ s d li u – H qu n tr cơ s d li u
3.2.1.2 DOT NET FrameWork
3.2.1.3 Visual studio 2005
3.2.2 Mơ hình ho t đ ng c a ng d ng


- 22 Mơ hình ho t đ ng c a chương trình bao g m c p nh t và khai thác
CVT đư c mơ t như hình dư i đây:

Hình 3. 4. Mơ hình ho t đ ng c a ng d ng
NSD có th khai thác d li u CVT v i các tính năng như: tra
c u và th ng kê CVT, tìm ki m CVT trên văn b n, gõ t t trong văn
b n, gõ t t trên thanh ñ a ch Internet, chat…
3.2.3 Các u c u và m c đích c a ng d ng
ng d ng đáp ng các m c đích sau đây:


Xây d ng cơ s d li u CVT.



Xây d ng các gi i pháp c p nh t t i ưu.



Xây d ng các gi i pháp tìm ki m.




Tích h p gõ t t ti ng vi t.


- 23 •

ng d ng có th ch y đ c l p trên máy ñơn, ho c ch y trên
nhi u máy trong m ng n i b nhưng cùng truy xu t đ n m t
CSDL chung.



ng d ng có giao di n d s d ng, thân thi n ngư i dùng, d
cài ñ t và kh năng ch u t i l n.

3.2.4 Các giao di n c a ng d ng
3.2.4.1 Giao di n chính
3.2.4.2 Giao di n c p nh t CVT
3.2.4.3 Giao di n c p nh t CVT t t p, trang Web
3.2.4.4 Giao di n biên t p, phân lo i CVT
3.2.4.5 Giao di n tra c u CVT
3.2.4.6 Giao di n tìm ki m, th ng kê CVT trong văn b n

Hình 3. 5. K t qu CVT tìm đư c trong t p văn b n


- 24 M c đích chính c a ch c năng này là xác ñ nh ñơn v t nào
trong văn b n là CVT. NSD ch n ñư ng d n đ n t p, kích ch n nút
“Tìm”, chương trình s t đ ng phân tích và đưa ra các đo n văn b n
có ch a CVT, danh sách các CVT, th ng kê s lư ng và hi u su t s
d ng c a t ng CVT.

3.2.4.7 Giao di n gõ t t
Chương trình đư c tích h p vào các ng d ng ch y trên mơi
trư ng Windows, tính năng

ng d ng gi ng như tính năng

Autocorrect trong Microsoft Word, nhưng thành ph n CVT đư c m
r ng thơng qua các l a ch n v lo i CVT trư c khi s d ng. Do s
d ng hook toàn c c nên ta có th

ng d ng gõ t t trong t t c các

ng d ng khác c a Windows.

Hình 3. 6. Giao di n ng d ng gõ t t
3.2.5 Cài ñ t ng d ng
ng d ng ñư c cài đ t trên các máy có c u hình: Pentium IV
tr lên, t c đ x lý c a CPU là 2 Ghz, B nh Ram 500 MB, ñĩa
c ng 20 GB.

ng d ng có th ch y trên máy ñơn, ho c trên nhi u

máy trong m ng LAN. Cơ s d li u ñư c cài trên máy có c u hình


- 25 cao, lưu trũ d li u và cung c p thông tin cho các ng d ng trên các
máy khác.
3.3 K T QU TH NGHI M NG D NG
Sau khi xây d ng và cài ñ t thành cơng, tơi đã ti n hành q
trình ki m th tính hi u qu c a ng d ng. Dang sách các tính năng

đã th nghi m: C p nh t CVT, tìm ki m CVT trong t p, gõ t t trong
so n th o văn b n, tra c u CVT.
K T LU N
Sau th i gian n l c nghiên c u, phân tích xây d ng đ tài
“Nghiên c u xây d ng chương trình tích h p x lý ch vi t t t,
gõ t t” tơi đã hồn thành và đáp ng các u c u cơ b n v vi c xây
d ng, c p nh t và khai thác kho CSDL CVT. Tôi xin chân thành cám
ơn th y giáo Huỳnh Công Pháp, b n bè và ñ ng nghi p ñã giúp tơi
hồn thành lu n văn này.
1. K T QU Đ T ĐƯ C C A LU N VĂN


Trình bày nhu c u s d ng CVT trong h c t p, nghiên c u.
Nêu lên các d ng th c t o l p, quy ñ nh s d ng CVT trong
th c ti n.



Xây d ng phương pháp gõ t t ti ng Vi t trong so n th o văn
b n và các ng d ng khác.



H tr tra c u, th ng kê ph c v h c t p, nghiên c u, gi ng
d y...


×