Tóm tắt luận văn 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

pdf 26 trang yendo 4810
Bạn đang xem 20 trang mẫu của tài liệu "Tóm tắt luận văn 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 tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdftom_tat_luan_van_nghien_cuu_xay_dung_chuong_trinh_tich_hop_x.pdf

Nội dung text: Tóm tắt luận văn 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

  1. - 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. - 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 Hc li u, Đi h c Đà N ng.
  3. - 3 - M Đ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. Điu 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 gii 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 mt CVT l i đưc dùng đ ch nhi u tên g i nguyên 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 dng 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 .
  4. - 4 - Trong quá 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õ li. Điu này đã gây ra khơng ít phi n tối và t n r t nhi u th i gian ca 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 hn ch và khĩ s d ng, ch ưa h tr đưc tính đa ng và đa ngh ĩa ca CVT. Ngồi ra c ũng cĩ m t vài ng d ng khác đã nghiên c u v vn đ 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 Vy v n đ đt ra là:
  5. - 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 hp 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. Mc đí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 cu, 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 đip 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 bn, 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
  6. - 6 - liê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 bn đưc tinh g n, cĩ tính thm 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 đip 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 cu s d ng c a ng ưi dùng.
  7. - 7 - Ch ươ 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à quá 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 đon đu, CNTT t p trung vào các d li u d ng s , bi u di n b i các dng đưc c u trúc nh ư các véc t ơ (vector) hay các b ng. Trong h ơn na 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 cn 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 bn, 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). • Dch t đng (machine translation). • Tĩm t t v ăn b n (text summarization). • Tìm ki m thơng tin (information retrieval).
  8. - 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 cn đnh ngh ĩa CVT ngay khi xu t hi n l n đu trong v ăn bn theo d ng sau: ( ) 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 To 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 cm 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
  9. - 9 - 1.2.2.2 To l p theo t Tt 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 tt đư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 To 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 To 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 To l p theo ch vi t t t ti ng n ưc ngồi Theo d ng th c này chúng ta m ưn nguyên CVT ti ng n ưc ngồ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 To 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 Tốn h c, Hĩa h c, V t lý, Ví d : NaCl = Natri Clorua (mu i ăn)
  10. - 10 - 1.2.2.7 To 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 To 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 To l p theo ph âm c a ti ng Ph âm đu ch : Bng 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 : Bng 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. - 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 đin t và đc bi t là các t đin 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 BIU 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 đim 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 dng 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 dng 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 ĐIP TRÊN WINDOWS 1.4.1 Ca s và các thơng đip 1.4.1.1 Hook x lý thơng đip Hook là k thu t điu khi n thơng đip (message-handling) giúp cho ng d ng cĩ th cài đt m t th t c đ điu khi n lu ng
  12. - 12 - thơng đip và ti n hành x lý các thơng đip đĩ tr ưc khi thơng đip đĩ đ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 đon mã đu ca hàm API thành l nh nh y ti 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 Cp 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. - 13 - 2.1.2 Cp 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 tồ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 tố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 Bt đ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 Kt 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. - 14 - 2.1.3 Cp nh t t trang Web Da vào c u trúc l ưu tr d li u c a HTML, đc bi t là các cp th , và , 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 Cp 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 kt 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 Kt 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 Da vào ph ươ ng pháp kh p t i đa (Maximum Matching - MM), khi duy t m t đon 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 đin 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 bn s d ng ph ươ ng pháp so kh p: Thu t tốn th c hi n: Input : Các t p v ăn b n
  15. - 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. Bt đu: 1. Xác đnh t p ngu n hàm s t ươ ng tác 2. 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 3. Đc n i dung trong chuoiluutru Repeat - Đc t ng đon 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 vi t đin 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, nu 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. - 16 - 5. Lưu vào t p ketqua 6. M t p ketqua • Đc n i dung Tencvt , Diengiai , Solansudung l ưu vào t p ketqua • Đĩng t p ketqua Kt 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 Mc 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 tc là s dng phép truy v n “ Select ” và “ Join ” đ thành l p câu truy vn 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. - 17 - ca 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 tố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. Bt đ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 = , 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. - 18 - • S d ng Clipboard.settext (diengiai ) dán n i dung bi n diengiai vào clipboard 5. Hy b Hook b ng l nh UnhookWindowsHookEx Kt 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 đip c a h điu 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. - 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 ca 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 yêu cu 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 ca 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. - 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 Da 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. - 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 Tng 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. - 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 cu và th ng kê CVT, tìm ki m CVT trên v ăn b n, gõ t t trong v ăn bn, gõ t t trên thanh đa ch Internet, chat 3.2.3 Các yê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. - 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. Kt qu CVT tìm đưc trong t p v ăn b n
  24. - 24 - Mc đí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 đon 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 dng 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 rng thơng qua các l a ch n v lo i CVT tr ưc khi s d ng. Do s dng hook tồ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 cng 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. - 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 KT 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 quá 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. KT 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 yêu c u c ơ b n v vi c xây dng, 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. KT 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 Vit trong so n th o v ăn bn 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 dy
  26. - 26 - • Xây d ng ch ươ ng trình DEMO th hi n đy đ các tính năng, k t qu ki m nghi m và th ng kê CVT. 2. HN CH C A LU N V ĂN Mc dù đã đt đưc m t s m c tiêu đã đ ra, nh ưng đ tài v n cịn m t s h n ch nh ư nghiên c u các quy t c t o l p và d ng th c s d ng CVT cịn ch ưa sâu, ng d ng ch ch y đưc mơi tr ưng Windows, ch ưa tri n khai đưc trên các h điu hành khác, tìm ki m CVT cịn ch ưa đa d ng, ch th c hi n trên t p MS Word, ch ưa tri n khai trên các lo i t p khác. d li u gõ t t ch ưa đa d ng, ch ưa cĩ ki u hình nh ho c bi u t ưng. 3. HƯNG PHÁT TRI N TRONG T ƯƠ NG LAI Xây d ng các tính n ăng h tr s d ng CVT trong so n th o v ăn bn nh ư: • Gi i ngh ĩa t đng b t k ỳ ch vi t t t cĩ trong v ăn b n. • Gi ý vi t t t đi v i các t ho c c m t xu t hi n nhi u l n. • Phát hi n các ch vi t t t khơng h p l . • Thu th p và phân lo i t đng ch vi t t t. • Phát tri n ng d ng thành nh ng plugin cĩ th tích h p đưc vào các ng ng và t đng thu th p CVT b sung vào kho CVT.