Mô hình rút trích cụm từ đặc trưng ngữ nghĩa trong tiếng việt 09

40 703 9
Mô hình rút trích cụm từ đặc trưng ngữ nghĩa trong tiếng việt 09

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Mô hình rút trích cụm từ đặc trưng ngữ nghĩa trong tiếng việt

hình rút trích cm t c trng ng ngha trong ting Vit i PH LC A GII THIU JWPL 1. Tng quan Java-based Wikipedia Library (JWPL) là th vin phn mm c phát trin cho các h thng truy xut thông tin t ngun tài nguyên Wikipedia. JWPL cung cp các chc nng rút trích và tìm kim các tri thc ng ngha cho các ng dng x lý ngôn ng t nhiên vi hiu sut cao và kh nng m rng ln. 2. Kin trúc ca JWPL JWPL hot ng trên c s d liu ã c ti u hóa to ra t c s d liu thô (dumps) ca wikipedia. Thun li ca hình kin trúc JWPL (Hình A) là: + X lý hiu qu các tác v x lý ngôn ng t nhiên trên phm vi rng ln. + Cho phép k tha các kt qu tìm kim. + Kh nng tích hp vi các ng dng hng i tng. JWPL CSDL Wikipedia / Wiktionary XML dump Phiên bn Ting Vit CSDL Wikipedia / Wiktionary XML dump Phiên bn Ting Anh CSDL ã ti u hóa CSDL ã ti u hóa ng dng ng dng ng dng Truy xut các i tng Bin i d liu Hình A: Kin trúc h thng ca JWPL Mô hình rút trích cm t c trng ng ngha trong ting Vit ii JWPL c thit k vi giao din lp trình hng i tng tp trung khai thác các i tng chính nh WIKIPEDIA, PAGE và CATEGORY. Trong ó: - i tng WIKIPEDIA: c s dng  thit lp các kt ni vi c s d liu và tìm kim các i tng PAGE và CATEGORY. Ngoài vic h tr tìm kim bng t khoá hoc thông qua các giao din truy vn i tng WIKIPEDIA, JWPL còn cung cp c ch lp t ng trên các tác v truy xut các i tng trang và th loi. - i tng PAGE: trang thông tin có th là mt bài vit bình th ng nói v mt khái nim hay mt thc th. Mt trang thông tin c!ng có th là mt trang i hng - trang cha liên kt n trang có tên khác (có th thông dng hn) nói v cùng mt  tài. Mt trang thông tin c!ng có th là mt trang nh hng - mt bài vit gii thích v ý ngha ph" bin nht ca thut ng, bên di lit kê các liên kt n các bài vit có ta  tng t hoc có khái nim tng t, giúp #nh hng cho ng i $c n úng bài vit mà h$ ang tìm. - i tng CATEGORY: i din cho nhng th loi ca Wikipedia và cho phép truy vn n nhng bài vit có trong th loi ó. Nó còn cung cp cách  truy vn n cha m% hoc con ca chúng. - Ngoài ra, JPWL còn cung cp i tng CATEGORYGRAPH – Cây th loi cho phép tìm ra  ng d&n ng'n nht gia hai th loi. 3. Cách to CSDL ti u hóa a. Yêu cu ca h thng - H CSDL mysql ( ti xung t http://dev.mysql.com/downloads/) - JDK (ti xung t http://java.sun.com/javase/downloads/index.jsp). - JWPL( ti xung t http://www.ukp.tu-darmstadt.de/software/ - Gii nén tp tin va ti xung thu c th mc có cha các tp tin sau: + JWPLDataMachine.jar. + Languages.txt. + Tables.sql. d. Quá trình chuyn i Bc 1: To mt c s d liu mysql bng lnh: Mô hình rút trích cm t c trng ng ngha trong ting Vit iii [path/file thc thi mysql]-u[user] –p[password] create database [tên database]; Bc 2: a tables.sql vào c s d liu va to bng lnh Import: [file thc thi mysql] -uUSER -p tên c s d liu va to  trên < tables.sql Bc 3: Ti xung 3 tp tin (ti #a ch( http://download.wikipedia.org) [LANGCODE]wiki-[DATE]-pages-articles.xml.bz2 [LANGCODE]wiki-[DATE]-pagelinks.sql.gz [LANGCODE]wiki-[DATE]-categorylinks.sql.gz Bc 4: Gii nén 3 tp tin trên và chy lnh sau  chuyn "i [file thc thi java] [ngôn ng] [tên _CATEGORY_chính] [tên các thành phn cu to nên category] [th mc cha 3 tp tin trên] Kt qu chy dòng lnh này trên ubuntu 8.0 nh sau: Kt qu thu c th mc cha các tp tin sau:  Category.txt  category_inlinks.txt  category_outlinks.txt  category_pages.txt Mô hình rút trích cm t c trng ng ngha trong ting Vit iv  MetaData.txt  Page.txt  page_categories.txt  page_inlinks.txt  page_outlinks.txt  page_redirects.txt  PageMapLine.txt Bc 5: a các tp tin va to c vào c s d liu to  trên bng lnh import: [path\mysqlimport] –u[USER] –p[pass] --default-character-set=utf8 {tên c s d liu to  trên} {txt_file1} {txt_file2} . {txt_file_n} Kt qu thu c c s d liu ã c ti u. Mô hình rút trích cm t c trng ng ngha trong ting Vit v PH LC B GII THIU VN PHM JAPE 1. Tng quan B x lý vn phm JAPE (Java Annotation Patterns Engine) là mt phn ca kin trúc x lý vn bn (GATE), cho phép c t các lut so trùng các m&u và có th xác #nh các hành ng c!ng nh các chuyn "i s) xy ra nu lut so trùng vi mt cm t trong vn bn. Lun án ã iu ch(nh b x lý JAPE nhm iu khin các thông tin liên quan ti Ontology và so trùng các m&u. 2. Vn phm JAPE Vn phm JAPE bao gm mt tp các công on, mi công on bao gm mt tp lut (tp lut ca các m&u hoc tp lut các thao tác thc hin). Các công on c thc thi mt cách tun t và to thành các b chuyn trng thái hu hn cho các chú gii (annotation). Mi lut ca vn phm JAPE bao gm hai phn: phn bên trái và phn bên phi. Phn bên trái ca lut cha mt m&u chú gii. Trong m&u chú gii có th cha các toán hng ca biu thc chính qui (nh *, ?, +). Phn bên phi ca lut là phn thao tác cho chú gii. Mi vn phm c b't u bng mt trong hai tùy ch$n sau: - Control: cho phép xác #nh phng pháp so trùng lut cho vn phm. - Debug: t bng “true” nu vn phm c thc thi trong c ch Appelt (c ch ch$n m&u có chiu dài ln nht trong các m&u c so trùng. Nu tr ng hp hai m&u so trùng có chiu dài bng nhau thì c ch này ch$n m&u c so trùng sm nht) và khi có nhiu kt qu so trùng thì các m&u c so trùng s) c th hin  thit b# u ra. Mt ví d minh h$a hai lut n gin trong tr ng hp oán nhn mt t có nhãn là date nh sau: Rule: date1 ( ({Token.kind=="number"})((({SpaceToken})*{Token.string=="-"} Mô hình rút trích cm t c trng ng ngha trong ting Vit vi ({SpaceToken})*|({SpaceToken})*{Token.string=="/"}({SpaceToken})*) {Token.kind=="number"})+ )+ --> date Rule: date2 ( ({Token.string=="ngày"}|{Token.string=="Ngày"}) ({SpaceToken})+ {Token.kind=="number"}({SpaceToken})+ ({Token.string=="tháng"}|{Token.string=="Tháng"})({SpaceToken})+ {Token.kind=="number"}({SpaceToken})+ ({Token.string=="nm"}|{Token.string=="Nm"})({SpaceToken})+ {Token.kind=="number"} ({SpaceToken})+ )+ --> date Trong ó: Token.kind – Loi Token, SpaceToken – Ký t tr'ng, * có ngha là không hoc nhiu, + có ngha là mt hoc nhiu, và | có ngha là Hoc. Vi lut date1 s) oán nhn các dng date nh 1/2/2006, 1-2-2006, …. Và lut date2 s) oán nhn các dng date nh Ngày 2 Tháng 3 Nm 2006, Ngày 03 tháng 03 nm 2006,…. 3. Các tp lut vn phn JAPE dùng trong lun án GATE cung cp mt tp lut vn phm JAPE có s*n trong thành phn có tên g$i là ANNIE, giúp nhn ra và so trùng mt s lp c bn nh Con ng i, Ni chn, T" chc,… Tuy nhiên, tp lut này áp dng cho các thc th có tên ting Anh và da trên thành phn phân lp ting Anh có s*n ca GATE. Vì th, lun án ã c t ba tp lut hoàn toàn mi so vi ANNIE và áp dng cho công on gán nhãn t loi, nhn din cm danh t và xác #nh CTTNN cho câu trong ting Vit. 3.1 Tp lut áp dng cho công on gán nhãn t loi // ChauNguyen 12/09/2006 Phase:postprocess Input: Token SpaceToken Options: control = appelt Mô hình rút trích cm t c trng ng ngha trong ting Vit vii //------- ChauNguyen starts ------ Rule: PP (({Token.string=="Anh"}|{Token.string=="anh"}|{Token.string=="Em"}|{Token.string=="em"}|{Token.string=="Thy"}|{Token.string=="Cháu"}|{Token.string=="cháu"}|{Token.string=="Chú"}|{Token.string=="chú”}|{Token.string=="Thng"}|{Token.string=="thng"}|{Token.string=="Cô"}|{Token.string=="cô"}|{Token.string=="Bác"}|{Token.string=="bác"}|{Token.string=="Thy"}|{Token.string=="thy"})({SpaceToken})+({Token.string=="đó"}|{Token.string=="ấy"}|{Token.string=="kia"}|{Token.string=="ny"}))+ :pp --> { gate.AnnotationSet toNew = (gate.AnnotationSet)bindings.get("pp"); //get the tokens java.util.ArrayList tokens = new java.util.ArrayList(toNew); //define a comparator for annotations by start offset Collections.sort(tokens, new gate.util.OffsetComparator()); String text = ""; Iterator tokIter = tokens.iterator(); while(tokIter.hasNext()) text += (String)((Annotation)tokIter.next()).getFeatures().get("string"); gate.FeatureMap features = Factory.newFeatureMap(); features.put("kind", "word"); features.put("string", text); features.put("length", Integer.toString(text.length())); features.put("orth", "Pp"); annotations.add(toNew.firstNode(), toNew.lastNode(), "vnWord", features); } //------- ChauNguyen end ------ …. + trên trình bày mt lut cho phép gán nhãn t loi Pp cho các t ting Vit trong tp lut c xây dng cho công on gán nhãn t loi. 3.2 Tp lut áp dng cho công on nhn din cm danh t // ChauNguyen 08/08/2007 Phase:postprocess Input: vnWord SpaceToken Options: control = appelt //------- ChauNguyen starts ------ Rule: Kp1 ( ( ({vnWord.POS=="Ng"}|{vnWord.POS=="Nt"}|{vnWord.POS=="Pp"}) :t1 ({SpaceToken})*({vnWord.POS=="Nu"}|{vnWord.POS=="Nn"}) :t2 ({SpaceToken})*({vnWord.POS=="Nu"}|{vnWord.POS=="Nn"}|{vnWord.POS=="Ng"}|{vnWord.POS=="Nt"}) :T1 ({SpaceToken})*({vnWord.POS=="Np"}|{vnWord.POS=="Nc"}|{vnWord.POS=="Na"}) :T2 ({SpaceToken})*({vnWord.POS=="Aa"}|{vnWord.POS=="An"})* :s1 ({SpaceToken})*({vnWord.POS=="Nl"})* :s2 Mô hình rút trích cm t c trng ng ngha trong ting Vit viii ) )+ :Kp1 --> { gate.AnnotationSet toNew = (gate.AnnotationSet)bindings.get("Kp1"); gate.AnnotationSet lannsT1 = (gate.AnnotationSet)bindings.get("T1"); gate.AnnotationSet lannsT2 = (gate.AnnotationSet)bindings.get("T2"); gate.AnnotationSet lannsS1 = (gate.AnnotationSet)bindings.get("s1"); gate.AnnotationSet lannsS2 = (gate.AnnotationSet)bindings.get("s2"); //get the tokens java.util.ArrayList tokens = new java.util.ArrayList(toNew); //define a comparator for annotations by start offset Collections.sort(tokens, new gate.util.OffsetComparator()); String text = ""; Iterator tokIter = tokens.iterator(); while(tokIter.hasNext()) text+=(String)((Annotation)tokIter.next()).getFeatures() .get("string"); gate.FeatureMap features = Factory.newFeatureMap(); features.put("kind", "vnNounPhrase"); features.put("string", text); features.put("length", Integer.toString(text.length())); features.put("orth", "vnNP"); if ((lannsT1 != null) && (lannsT1.size() > 0)) { features.put("T1", lannsT1); } if ((lannsT2 != null) && (lannsT2.size() > 0)) { features.put("T2", lannsT2); } if ((lannsS1 != null) && (lannsS1.size() > 0)) { features.put("S1", lannsS1); } if ((lannsS2 != null) && (lannsS2.size() > 0)) { features.put("S2", lannsS2); } annotations.add(toNew.firstNode(),toNew.lastNode(),"vnNounPhrase", features); } + trên trình bày mt lut cho phép nhn din mt m&u cu trúc cm danh t ting Vit trong tp lut c xây dng cho công on nhn din cm danh t. 3.3 Tp lut áp dng cho công on xác nh CDTTNN Lun án minh h$a mt lut cho phép xác #nh CTTNN trong tr ng hp gia các cm t d tuyn có t ch( quan h nh sau. // ChauNguyen 09/09/2008 Phase:postprocess Input: vnWord vnNounPhrase Options: control = appelt //------- ChauNguyen starts ------ Rule: KNP ( Mô hình rút trích cm t c trng ng ngha trong ting Vit ix ({vnNounPhrase}) : NP1 ({vnWord}) : word ({vnNounPhrase}) : NP2 )+ :KNP --> { gate.AnnotationSet toNew = (gate.AnnotationSet)bindings.get("KNP"); gate.AnnotationSet wordSet = (gate.AnnotationSet)bindings.get("word"); Annotation wordAnnot = (Annotation)wordSet.iterator().next(); String lsWordString = (String)wordAnnot.getFeatures().get(gate.creole.vnPOSTagger.Ont_Constants.msStringFeature); if (lsWordString.equals("c\u00f3") || lsWordString.equals("bao g\u1ed3m") || lsWordString.equals("ch\u1ee9a")) { gate.AnnotationSet keyPhraseSet = (gate.AnnotationSet)bindings.get("NP2"); //get the tokens java.util.ArrayList tokens = new java.util.ArrayList(keyPhraseSet); //define a comparator for annotations by start offset Collections.sort(tokens, new gate.util.OffsetComparator()); String text = ""; Iterator tokIter = tokens.iterator(); while(tokIter.hasNext()) text += (String)((Annotation)tokIter.next()).getFeatures().get("string"); gate.FeatureMap features = Factory.newFeatureMap(); features.put("kind", "vnKeyNounPhrase"); features.put("string", text); features.put("length", Integer.toString(text.length())); features.put("orth", "KeyNP"); annotations.add(keyPhraseSet.firstNode(), keyPhraseSet.lastNode(), "vnKeyNounPhrase", features); } else if (lsWordString.equals("c\u1ee7a") || lsWordString.equals("thu\u1ed9c")) { gate.AnnotationSet keyPhraseSet = (gate.AnnotationSet)bindings.get("NP1"); //get the tokens java.util.ArrayList tokens = new java.util.ArrayList(keyPhraseSet); //define a comparator for annotations by start offset Collections.sort(tokens, new gate.util.OffsetComparator()); String text = ""; Iterator tokIter = tokens.iterator(); while(tokIter.hasNext()) text += (String)((Annotation)tokIter.next()).getFeatures().get("string"); gate.FeatureMap features = Factory.newFeatureMap(); features.put("kind", "vnKeyNounPhrase"); features.put("string", text); features.put("length", Integer.toString(text.length())); Mô hình rút trích cm t c trng ng ngha trong ting Vit x features.put("orth", "KeyNP"); annotations.add(keyPhraseSet.firstNode(), keyPhraseSet.lastNode(), "vnKeyNounPhrase", features); } else if (lsWordString.equals("v\u00e0")|| lsWordString.equals("hay") || lsWordString.equals("ho\u1eb7c")) { gate.AnnotationSet keyPhraseSet1 = (gate.AnnotationSet)bindings.get("NP1"); gate.AnnotationSet keyPhraseSet2 = (gate.AnnotationSet)bindings.get("NP2"); //get the tokens java.util.ArrayList tokens1 = new java.util.ArrayList(keyPhraseSet1); java.util.ArrayList tokens2 = new java.util.ArrayList(keyPhraseSet2); //define a comparator for annotations by start offset Collections.sort(tokens1, new gate.util.OffsetComparator()); Collections.sort(tokens2, new gate.util.OffsetComparator()); String text1 = "", text2 = ""; Iterator tokIter = tokens1.iterator(); while(tokIter.hasNext()) text1 += (String)((Annotation)tokIter.next()).getFeatures().get("string"); tokIter = tokens2.iterator(); while(tokIter.hasNext()) text2 += (String)((Annotation)tokIter.next()).getFeatures().get("string"); gate.FeatureMap features1 = Factory.newFeatureMap(); features1.put("kind", "vnKeyNounPhrase"); features1.put("string", text1); features1.put("length", Integer.toString(text1.length())); features1.put("orth", "KeyNP"); annotations.add(keyPhraseSet1.firstNode(), keyPhraseSet1.lastNode(), "vnKeyNounPhrase", features1); gate.FeatureMap features2 = Factory.newFeatureMap(); features2.put("kind", "vnKeyNounPhrase"); features2.put("string", text2); features2.put("length", Integer.toString(text2.length())); features2.put("orth", "KeyNP"); annotations.add(keyPhraseSet2.firstNode(), keyPhraseSet2.lastNode(), "vnKeyNounPhrase", features2); } } [...]... B”, “sau B” Mô hình rút trích c m t b Quan h t c tr ng ng ngh a trong ti ng Vi t ng tác: “A làm cho B”, “A c n tr B”, “A quy nh B”, “A lo i tr B”, “A là m c ích c a B”, IV Quan h gi a s tình v i chu c nh, quan h gi a m t s tình v i chu c nh có th là: a Quan h #nh v# trong không gian: “A di n ra m t kho ng t B b Quan h #nh v# trong th i gian: “A di n ra n m/th k B” xxxiv n C” Mô hình rút trích c m t... a các nhân v t trong các truy n TMNT là gì? Trong truy n có bao nhiêu Ninja rùa? Ninja rùa n gì? M ng truy n hình cáp nào trình chi u TMNT? xvi hình rút trích c m t 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 c tr ng ng ngh a trong ti ng Vi t... là ngh s, d ng c m trong nh ng n m 70 cho n ca s nào? Ông ã hát trong n m 2000 cho nhãn hi u a nào? Li t kê nh ng bài hát ông ã ghi âm Tên khai sinh c a Meg Ryan là gì? Bà k t hôn v i ai? xxix hình rút trích c m t 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 c tr ng ng ngh a trong ti ng Vi t Bà g p ch ng c a mình khi nào? Meg Ryan óng vai chính trong nh ng b phim nào?... “Siêu nhân” ? Nh ng b phim “Siêu nhân” ã c s n xu t trong nh ng n m nào? xxi hình rút trích c m t 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 c tr ng ng ngh a trong ti ng Vi t N di-n viên nào ã cùng óng vai trong các b phim “Siêu nhân” v i Reeve? Reeve b't... t i Hoa K trong n m 2004? Nhà s n xu t xe h i nào l n u tiên gi i thi u xe hybrid? Xe Prius c gi i thi u vào n m nào? Xe hybrid chi m bao nhiêu ph n tr m trong t"ng s xe c bán t i Hoa K trong n m 2004? Nh ng nhà s n xu t xe h i nào hi n nay ang s n xu t xe hybrid? Michael Brown ang gi ch c v gì tr c khi tr thành ng i ng u c a FEMA? Ai là ng i ti n nhi m c a Brown t i FEMA? xiv hình rút trích c m... xxii hình rút trích c m t 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 c tr ng ng ngh a trong ti ng Vi t Ai là C u th Giá tr# nh t (MVP) c a gi i u? B nh u t y là b nh ung th trong b ph n nào c a c th ? Lo i thu c nào c s d ng ch a tr# b nh a u t y? Hình. .. t trong nh ng b c tranh c a Hoàng t là bao nhiêu? Hoàng t th ng dùng lo i dung môi s n nào? Các ch ph" bi n c a Hoàng t là gì? Hoàng t nào cùng tr ng bày các b c tranh c a mình trong cu c tri n lãm hai hoàng t cùng v i hoàng t Charles t i Luân ôn? Công trình vòng tròn á ã c b't u Anh khi nào? Có kho ng bao nhiêu vòng tròn á ã c phát hi n t i Anh? á Stonehenge c xây d ng khi nào? xxiii hình rút trích. .. phim? Quán bar nào t i Florida ã c th hi n trong b phim? xxiv hình rút trích c m t 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 c tr ng ng ngh a trong ti ng Vi t Máy tính i n t “Deep Blue” có th ch i c trò gì? Ai ã giành chi n th'ng trong tr n u gi a Gary Kasparov và máy... n sách dành cho tr1 em trong n m c a Whitbread n m 2000? Rowling sinh ra thành ph nào? Rowling sinh s ng thành ph nào vào n m 2000? Công ty H.J Heinz có tr s t i thành ph nào? Ai ã tr thành CEO (Giám c i u hành) c a công ty trong n m 1998? Ai là ng i th a h ng c c a công ty ch t trong m t tai n n hàng không? N c s t cà chua n m Heinz c gi i thi u vào n m nào? xxvi hình rút trích c m t 328 329 330... Giáo h i M c môn có bao nhiêu thành viên? Li t kê các quan ch c chính ph c b u c là ng i c a Giáo h i M c môn Tr s c a Giáo h i M c môn c t âu? Có bao nhiêu nhà th ang ho t ng trên toàn th gi i? Núi l a Pinatubo n m trên o nào? Núi l a Pinatubo ã phun trào vào n m nào? Bao nhiêu ng i ã b# ch t? Bao nhiêu ng i ã ph i s tán? Núi l a Pinatubo ã không ho t ng c bao lâu? xxviii hình rút trích c m t 423 . xut các i tng Bin i d liu Hình A: Kin trúc h thng ca JWPL Mô hình rút trích cm t c trng ng ngha trong ting Vit ii JWPL c thit. t't cho ch gì? Mô hình rút trích cm t c trng ng ngha trong ting Vit xviii 335. Toà án c thành lp vào nm nào? 336. Trong nm 1990, bao

Ngày đăng: 07/11/2012, 12:13

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan