Pd ng cho ti ng Jrai

Một phần của tài liệu Nghiên Cứu Và Xây Dựng Công Cụ Tách Từ Tự Động Trong Tiếng JRAI (Trang 45)

Nh đư trình bày t i ch ng 1, m c 1.2.3.1, ph ng pháp s d ng thu t toán Maximum Matching và lu t kh nh p nh ng bao g m 4 lu t: lu t 1 chính là các thu t toán Maximum Matching và 3 lu t kh nh p nh ng.

V i đ c đi m hi n tr ng ti ng Jrai trên máy tính, có th th y r ng lu t 4, v s d ng th ng kê khó đ c áp d ng vào tách t do ngu n tài nguyên ti ng Jrai trên máy tính ch a th c s nhi u và vi c chia s tƠi nguyên c ng g p nhi u h n ch . Vi c h n ch v tài li u nh v y r t khó đ có th kh c ph c. Cho nên lu n v n không dùng th ng kê đ t do hình v cho lu t 4.

Nh v y, trong lu n v n nƠy chúng tôi s d ng lu t 4 b ng cách l y t đ u tiên có chi u dài dài nh t c a các b , đi u nƠy có ngh a lƠ sau khi qua các lu t 1,2,3 mà v n còn nh p nh ng thì ti n hành ch n t dài nh t đ gi i quy t nh p nh ng, chúng tôi ch n cách l y t này vì ngôn ng Jrai c ng lƠ ngôn ng có khá nhi u t ghép, ph ng th c ng pháp ch y u là tr t t t vƠ h t , nh ng t có chi u dài h n có xác su t đúng h n.

kh nh p nh ng thì lu t 1 gi i quy t h u h t các nh p nh ng, sau khi qua lu t 2, 3 thì s l ng nh p nh ng còn l i n u có đ qua lu t 4 c ng r t ít.

Ph ng pháp s d ng thu t toán Maximum Matching k t h p các lu t kh nh p nh ng vào tách t t đ ng trong ti ng Jrai s là:

Lu t 1: Là thu t toán Maximum Matching

 Maximum Matching đ n gi n: l y ra t có chi u dài dài nh t  Maximum Matching ph c t p: l y t đ u tiên t b có chi u dài

dài nh t. N u có nhi u h n m t b dài nh t thì áp d ng lu t ti p theo đ kh nh p nh ng.

Lu t 2: Ch n đ dài trung bình c a các t l n nh t. Lu t 3: bi n đ i nh nh t chi u dài các t .

Lu t 4: L y t đ u tiên có chi u dài dài nh t c a các b .

Nh v y khi các nh p nh ng đ c ch y qua các lu t, thì đ m b o r ng các nh p nh ng đ c kh và t đ c ch n còn l i lƠ ph ng án tách t t i u theo ph ng pháp nƠy.

2.4.2. V năđ ăkhiătáchăt ăt ăđ ngăti ngăJrai

V n đ ngu n d li u:

Hi n tr ng ti ng Jrai trên máy tính nh v y có th th y r ng s l ng tài li u ti ng Jrai trên máy tính c ng h n ch , thêm vƠo đó vi c chia s các tƠi nguyên đi n t ti ng Jrai c ng g p không ít khó kh n. Do v y mà vi c ti p c n v i các tài li u ti ng Jrai ch a đ c nhi u. Tuy v y, chúng tôi c ng đư thu th p các tài li u v ti ng Jrai, nh lƠ tƠi li u ng pháp, sách, t đi n phi đi n t , t đi n đi n t c n thi t đ có th ph c v cho m c tiêu đư đ ra c a lu n v n.

Ph n m m Taynguyenkey và b gõ ti ng dân t c Vi t Vnkey là nh ng ph n m m dùng đ gõ ti ng dân t c thi u s nói chung và ti ng Jrai nói riêng trên máy tính. Các ph n m m gõ ti ng Jrai này l i d a trên nh ng tiêu chí khác nhau.

Taynguyenkey chi đ n thu n là b phông ch TayNguyenUnicode-X ( X là Arial, Time New Roman,…) đ c ch tác t b phông mã Unicode đ c cung c p trên máy tính. Tác gi thay đ i các ký t đ c bi t (các ký t nh lƠ /,{,}[,],…) trong b phông đ hi n th các m u t ti ng dân t c thi u s . Cho nên ph i dùng các ph m m m gõ ti ng Vi t nh Vietkey, Unikey đ gõ.

Ph n m m Vnkey đ c xây d ng hoàn toàn khác, tác gi ti n hành xây d ng b gõ riêng là Vnkey d a trên mã ngu n m Unikey, và xây d ng b phông ch Vnk d a trên các phông mã Unicode, VNI, TCVN3. B phông Vnk không ph i dùng đ n các ký t đ t bi t đ hi n th ti ng dân t c nh lƠ b phông ch TaynguyenUnicode. Cho nên ph n m m nƠy u vi t h n.

C ng do v y mà b gõ Vnkey ra đ i sau nƠy đ c dùng ph bi n h n. H u nh ng i dùng đư chuy n sang dùng Vnkey, tuy nhiên v n còn s ít ng i s d ng TayNguyenUnicode, c ng nh các tƠi li u biên so n trên b phông TayNguyenUnicode. B phông ch TayNguyenUnicode s d ng các ký t đ c bi t đ hi n th ti ng Jrai, nh v y s r t khó kh n trong vi c x lý ngôn ng .

Do có hai cách gõ, hi n th , l u tr ti ng Jrai nên d n đ n s không nh t quán trong cách hi n th ti ng Jrai, c ng nh cách mư hóa l u tr tài li u. Vi c này gây khó kh n cho các công đo n x lý ngôn ng Jrai nói chung và tách t t đ ng nói riêng. V i m c đ s d ng r ng rãi c a b gõ Vnkey c ng nh tính u vi t h n so v i Taynguyenkey, trong lu n v n nƠy chúng tôi ch n ph n m m Vnkey và b phông Vnk làm n n đ phát tri n ng d ng tách t t đ ng và các ng d ng khác v x lý ti ng Jrai trên máy tính.

2.5.K TăLU N

Trong ch ng nƠy, lu n v n đư trình bày khái quát v ngu n g c c a con ng i, ngôn ng Jrai, c ng nh hi n tr ng c a s phát tri n ngôn ng này hi n nay trên máy tính. T nh ng đ c đi m c a ngôn ng này, mà đ a ra h ng gi i quy t, l a ch n ph ng pháp phù h p đ ti n hành xây d ng các công c tách t t đ ng trong ti ng Jrai, t o đi u ki n đ ti p t c nghiên c u và xây d ng các h th ng x lý ti ng Jrai nh d ch thu t t đ ng, tìm ki m thông tin, …

CH NGă3ă- CĨIă TăVĨăTH ăNGHI M

T nh ng lí thuy t đư trình bƠy các ch ng tr c, chúng tôi ti n hành xây d ng các công c có ch c n ng tách t t đ ng ti ng Jrai và h tr ng i dùng có th ch nh s a l i các cơu đư tách t đ ng, khi ng i dùng cho lƠ ch a hoƠn toƠn chính xác. T nh ng công c đư xơy d ng đ c, ti n hƠnh đánh giá đ chính xác c a ch ng trình tách t t đ ng.

3.1.GI IăTHI U

3.1.1. Ch ngătrìnhă ngăd ng

Ch ng trình đ c xây d ng g m hai thành ph n chính đó lƠ công c tách t t đ ng ti ng Jrai và công c ch nh s a t sau khi tách t đ ng.

Ch ng trình tách t t đ ng ti ng Jrai:

Ch ng trình tách t s đ c đóng gói thƠnh t p tin th vi n liên k t đ ng .DLL (Dynamic Link Library). T p tin .DLL là m t th vi n có tính linh ho t cao, cho phép các ng d ng khác có th liên k t đ n và s d ng m t cách d dàng.

Bên trong DLL mà chúng tôi xây d ng (g i tên là jraimm.dll) ch a t h p các hàm có ch c n ng tách t t đ ng và ph tr có ch c n ng x lý các chu i cơu đ u vào. Khi ch ng trình khác c n đ n mô đun tách t ti ng Jrai thì ch vi c tích h p t p tin jraimm.dll vƠo ch ng trình c a mình, sau đó th c hi n g i các hàm tách t trong đó đ th c thi.

Ch ng trình h tr ch nh s a câu sau khi tách t :

Sau khi m t cơu đ c qua ch ng trình tách t t đ ng thì s cho ra câu tách t đư đ c đánh d u. Do đ c đi m v lo i hình c a ngôn ng mà t n t i m t s câu sau khi tách có th lƠ ch a chính xác hoƠn toƠn. Nh v y đ có th ch nh s a l i câu sau khi tách t , chúng tôi xây d ng m t c a s WinForm h tr vi c ch nh s a câu sau khi tách. V i công c này chúng ta có th có câu tách t đ c đánh d u chính

xác nh t, vƠ l u vƠo m t t p tin d li u.

3.1.2. Cácăcôngăngh ăvƠăcôngăc s ăd ngătrongăkhiăxơyăd ngă ngăd ng

xây d ng ng d ng mà lu n v n đư đ ra chúng tôi đư s d ng các công ngh vƠ ch ng trình đ ph c v trong quá trình xây d ng ch ng trình th nghi m.

L p trình ng d ng trên n n t ng .NET Framework. Ngôn ng l p trình C#.

Th vi n mã ngu n m VietkeyInput.dll, VnkeyInput.dll. B phông ch Vnk.

Môi tr ng l p trình Microsoft Visual Studio 2010.

3.1.2.1. L p trình ng d ng trên n n t ng .NET Framework

.NET Framework đ c Microsoft cung c p là m t n n t ng l p trình t p h p các th vi n l p trình có th đ c cài thêm ho c đư có s n trong các h đi u hành Windows. Nó cung c p nh ng gi i pháp thi t y u cho nh ng yêu c u thông th ng c a các ch ng trình nh l p trình giao di n ng i dùng, truy c p d li u, k t n i c s d li u, ng d ng web, các gi i thu t s h c và giao ti p m ng. Ngoài ra, .NET Framework qu n lý vi c th c thi các ch ng trình đ c vi t d a trên .NET, do đó đ ch y ch ng trình đ c vi t trên n n t ng .NET Framework thì ng i dùng c n ph i cài .NET Framework. N n t ng .NET Framework có 2 thành ph n chính là:

Common Language Runtime:

CLR là thành ph n k t n i gi a các ph n khác trong .NET Framework v i h đi u hành. CLR là n n t ng c a .NET Framework. CLR th c hi n qu n lý b nh , qu n lý th c thi ti u trình, th c thi mã ngu n, biên b ch và các d ch v h th ng

khác.

Trong .NET Framework, ch ng trình không đ c biên d ch vào các t p tin th c thi mƠ thay vƠo đó chúng đ c biên d ch vào nh ng t p tin trung gian g i là Microsoft Intermediate Language (MSIL). Nh ng t p tin MSIL đ c t o ra t C# c ng t ng t nh các t p tin MSIL đ c t o ra t nh ng ngôn ng khác c a .NET, đơy không c n bi t ngôn ng c a mã ngu n. i u quan tr ng chính y u c a CLR là chung (common). Mã ngu n đ c biên d ch vƠo MSIL khi chúng ta đóng gói d án. Mư MSIL nƠy đ c l u vƠo trong m t t p tin trên đ a. Khi chúng ta ch y ch ng trình, thì MSIL đ c biên d ch m t l n n a b i CLR, s d ng trình biên d ch Just-In-Time (JIT). L n biên d ch này cho ra k t qu lƠ mư máy đ c th c thi b i b x lý c a máy.

NET Framework class library:

NET Framework class library cung c p th vi n l p trình nh đ h a, c s d li u, d ch v web, ... cho các l p trình viên .NET. Các l p th vi n này cho phép l p trình viên d dàng phát tri n các ng d ng giao di n đ h a WinForm đ n nh ng ng d ng m i nh t đ c cung c p b i ASP.NET, nh lƠ Web Form vƠ dch v XML Web.

3.1.2.2. Ngôn ng l p trình C#

Ngôn ng C# khá đ n gi n, ch kho ng 80 t khóa vƠ h n m i m y ki u d li u đ c xây d ng s n. Tuy nhiên, ngôn ng C# là m t ngôn ng l p trình hi n đ i. Nó đ c xây d ng trên n n t ng c a hai ngôn ng m nh nh t là C++ và Java.

Ngôn ng C# là m t ngôn ng đ c d n xu t t C vƠ C++, nh ng nó đ c t o t n n t ng phát tri n h n. Microsoft phát tri n ngôn ng này t C và C++ và thêm vào nh ng đ c tính m i đ t o ra m t ngôn ng d dàng l p trình h n. Nhi u trong s nh ng đ c tính mà Microsoft thêm vào khá gi ng v i nh ng đ c tính có trong ngôn ng m nh m Java. Không d ng l i đó, Microsoft đ a ra m t s m c đích

khi xây d ng ngôn ng này. Nh ng m c đích nƠy đ c đ c tóm t t nh sau: C# là ngôn ng đ n gi n. C# là ngôn ng hi n đ i. C# là ngôn ng h ng đ i t ng. C# là ngôn ng m nh m và m m d o. C# là ngôn ng có ít t khóa.

C# là ngôn ng h ng mô đun. C# s tr nên ph bi n.

3.1.2.3. Th vi n mã ngu n m VietkeyInput.dll, VnkeyInput.dll

VietkeyInput.dll lƠ th vi n mã ngu n m đ c l p trình trên n n t ng .NET Framework. VietkeyInput.dll h tr nh p v n b n ti ng Vi t, đ c cung c p cho các nhà phát tri n ng d ng đ h tích h p vƠo ch ng trình.

Th vi n VnkeyInput.dll đ c l p trình d a trên th vi n mã ngu n m VietkeyInput.dll nh m đ nh p v n b n ti ng Vi t và ti ng dân t c thi u s , trong đó có ti ng Jrai. Th vi n đ c tích h p vƠo ch ng trình ph c v cho vi c nh p li u.

3.1.2.4. B phông ch Vnk

B phông ch Vnk đ c xây d ng d a trên các phông mư Unicode nh lƠ Times New Roman, Arial, Tahoma. Các phông Vnk dùng đ hi n th ti ng dân t c thi u s , trong đó có ti ng Jrai trên máy tính. Lu n v n s d ng các phông Vnk đ phát tri n ng d ng.

3.1.2.5. Môi tr ng phát tri n ng d ng

Visual Studio 2010 do hãng Microsoft cung c p.

Hình 3.1: Microsoft Visual Studio 2010

3.2. THI TăK ăVĨăXÂYăD NGăCH NGăTRỊNH

3.2.1. Côngăc ătáchăt ăt ăđ ngăti ngăJrai

Công c tách t t đ ng đ c đóng gói thƠnh t p tin th vi n liên k t đ ng jraimm.dll đi kèm v i t p d li u là t đi n các t Jrai, t đi n đ c l u tr d i d ng m c t trong t p tin d li u data.txt. V i m t câu ti ng Jrai đ u vào sau khi qua x lý c a công c thì đ u ra lƠ cơu đư đ c đánh d u tách t . Trong t p tin này bao g m các hàm h tr x lý chu i và các hàm x lý chính c a thu t toán tách t .

3.2.1.1. Hàm h tr x lý chu i

Hàm countch(string s, char ch) : Hàm này tr v k t qu b ng s l n xu t

3.2.1.2. Các hàm x lý chính trong công c tách t

Hàm hv(string input): Hàm này có ch c n ng tách m t chu i cơu đ u vào ti ng Jrai thành m t m ng các hình v theo th t .

Ví d :

Câu đ u vào hàm: “Sang k dlông hrup hang Jrai H drung”.

u ra: m ng hv [ “Sang”, “k dlông”, “hrup”, “hang”, “Jrai”, “H drung”] .

Thu t toán:

u vào: chu i câu Jrai S.

u ra: M ng các ph n t là các hình v hv trong S. M ng hv(S)

{ các bi n: ES, S, B, E, L1, h

B1: ES= các kí t đ c bi t cu i câu.

B2: S= S đư xóa các kỦ t đ c bi t cu i câu.

B3: S còn kí t tr ng sang B4, ng c l i nh y sang B12 {

B4: L1 = chu i con l y t v trí 0 đ n kí t tr ng đ u tiên trong S. B5: N u chu i con L1 có kí t đ c bi t đ u.

{

B=các ký t đ c bi t trong L1.

L1= chu i con l y t L1 không có ký t đ t bi t. }

B6: N u chu i con L1 có kí t đ c bi t cu i {

L1= chu i con l y t L1 không có ký t đ c bi t.

Một phần của tài liệu Nghiên Cứu Và Xây Dựng Công Cụ Tách Từ Tự Động Trong Tiếng JRAI (Trang 45)

Tải bản đầy đủ (PDF)

(70 trang)