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.
                
              
                                            
                                
            
 
            
                 40 trang
40 trang | 
Chia sẻ: vietpd | Lượt xem: 5628 | Lượt tải: 0 
              
            Bạn đang xem trước 20 trang tài liệu Giới thiệu JWPL, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Mô hình rút trích cm t c trng ng ngha trong ting Vi	t 
i 
 PH LC A 
GII THIU JWPL 
1. Tng quan 
Java-based Wikipedia Library (JWPL) là th vin phn mm c phát trin 
cho các h thng truy xu	t thông tin t
 ngun tài nguyên Wikipedia. JWPL cung 
c	p các chc n
ng rút trích và tìm kim các tri thc ng ngha cho các ng dng 
x lý ngôn ng t nhiên vi hiu su	t cao và kh n
ng m rng ln. 
2. Kin trúc ca JWPL 
JWPL hot ng trên c s d liu ã c ti u hóa to ra t
 c s d liu 
thô (dumps) ca wikipedia. Thun li ca mô hình kin trúc JWPL (Hình A) là: 
+ X lý hiu qu các tác v x lý ngôn ng t nhiên trên phm vi rng ln. 
+ Cho phép k th
a các kt qu tìm kim. 
+ Kh n
ng tích hp vi các ng dng hng i tng. 
JWPL 
CSDL Wikipedia / 
Wiktionary XML dump 
Phiên bn Ting Vit 
CSDL Wikipedia / 
Wiktionary XML dump 
Phiên bn Ting Anh 
CSDL ã ti u hóa CSDL ã ti u hóa 
ng dng ng dng ng dng 
Truy xut các i tng 
Bin i d li	u 
Hình A: Kin trúc h thng ca JWPL 
Mô hình rút trích cm t c trng ng ngha trong ting Vi	t 
ii 
JWPL c thit k vi giao din lp trình hng i tng tp trung khai thác 
các i tng chính nh WIKIPEDIA, PAGE và CATEGORY. Trong ó: 
- i tng WIKIPEDIA: c s dng  thit lp các kt ni vi c s d 
liu và tìm kim các i tng PAGE và CATEGORY. Ngoài vic h tr tìm 
kim bng t
 khoá hoc thông qua các giao din truy v	n i tng WIKIPEDIA, 
JWPL còn cung c	p c ch lp t ng trên các tác v truy xu	t các i tng 
trang và th loi. 
- i tng PAGE: trang thông tin có th là mt bài vit bình th ng nói v 
mt khái nim hay mt thc th. Mt trang thông tin c!ng có th là mt trang 
i 
hng - trang cha liên kt n trang có tên khác (có th thông dng hn) nói v 
cùng mt  tài. Mt trang thông tin c!ng có th là mt trang nh hng - mt 
bài vit gii thích v ý ngha ph" bin nh	t ca thut ng, bên di lit kê các liên 
kt n các bài vit có ta  tng t hoc có khái nim tng t, giúp #nh 
hng cho ng i $c n úng bài vit mà h$ ang tìm. 
- i tng CATEGORY: i din cho nhng th loi ca Wikipedia và cho 
phép truy v	n n nhng bài vit có trong th loi ó. Nó còn cung c	p cách  
truy v	n n cha m% hoc con ca chúng. 
- Ngoài ra, JPWL còn cung c	p i tng CATEGORYGRAPH – Cây th loi 
cho phép tìm ra  ng d&n ng'n nh	t gia hai th loi. 
3. Cách to CSDL ti 	u hóa 
a. Yêu c
u ca h	 thng 
- H	 CSDL mysql ( ti xung t
- JDK (ti xung t
- JWPL( ti xung t
- Gii nén tp tin v
a ti xung thu c th mc có cha các tp tin sau: 
+ JWPLDataMachine.jar. 
+ Languages.txt. 
+ Tables.sql. 
d. Quá trình chuyn 
i 
 Bc 1: To mt c s d liu mysql bng lnh: 
Mô hình rút trích cm t c trng ng ngha trong ting Vi	t 
iii 
 [path/file thc thi mysql]-u[user] –p[password] create database [tên 
database]; 
 Bc 2: a tables.sql vào c s d liu v
a to bng lnh Import: 
[file thc thi mysql] -uUSER -p tên c s d liu v
a to  trên < 
tables.sql 
 Bc 3: Ti xung 3 tp tin (ti #a ch(  
 [LANGCODE]wiki-[DATE]-pages-articles.xml.bz2 
 [LANGCODE]wiki-[DATE]-pagelinks.sql.gz 
 [LANGCODE]wiki-[DATE]-categorylinks.sql.gz 
Bc 4: Gii nén 3 tp tin trên và chy lnh sau  chuyn "i 
[file thc thi java] [ngôn ng] [tên _CATEGORY_chính] [tên các thành 
phn c	u to nên category] [th mc cha 3 tp tin trên] 
Kt qu chy dòng lnh này trên ubuntu 8.0 nh sau: 
Kt qu thu c th mc cha các tp tin sau: 
 Category.txt 
 category_inlinks.txt 
 category_outlinks.txt 
 category_pages.txt 
Mô hình rút trích cm t c trng ng ngha trong ting Vi	t 
iv 
 MetaData.txt 
 Page.txt 
 page_categories.txt 
 page_inlinks.txt 
 page_outlinks.txt 
 page_redirects.txt 
 PageMapLine.txt 
Bc 5: a các tp tin v
a to c vào c s d liu to  trên bng 
lnh import: 
[path\mysqlimport] –u[USER] –p[pass] --default-character-set=utf8 {tên 
c s d liu to  trên} {txt_file1} {txt_file2} ... {txt_file_n} 
Kt qu thu c c s d liu ã c ti u. 
Mô hình rút trích cm t c trng ng ngha trong ting Vi	t 
v 
 PH LC B 
GII THIU V
N PHM JAPE 
1. Tng quan 
B x lý v
n phm JAPE (Java Annotation Patterns Engine) là mt phn ca 
kin trúc x lý vn bn (GATE), cho phép c t các lut so trùng các m&u và có 
th xác #nh các hành ng c!ng nh các chuyn "i s) xy ra nu lut so trùng 
vi mt cm t
 trong v
n bn. Lun án ã iu ch(nh b x lý JAPE nhm iu 
khin các thông tin liên quan ti Ontology và so trùng các m&u. 
2. Vn phm JAPE 
V
n phm JAPE bao gm mt tp các công on, mi công on bao gm mt 
tp lut (tp lut ca các m&u hoc tp lut các thao tác thc hin). Các công on 
c thc thi mt cách tun t và to thành các b chuyn trng thái hu hn cho 
các chú gii (annotation). Mi lut ca v
n phm JAPE bao gm hai phn: phn 
bên trái và phn bên phi. 
Phn bên trái ca lut cha mt m&u chú gii. Trong m&u chú gii có th cha 
các toán hng ca biu thc chính qui (nh *, ?, +). Phn bên phi ca lut là phn 
thao tác cho chú gii. 
Mi v
n phm c b't u bng mt trong hai tùy ch$n sau: 
- Control: cho phép xác #nh phng pháp so trùng lut cho v
n phm. 
- Debug: t bng “true” nu v
n phm c thc thi trong c ch Appelt (c 
ch ch$n m&u có chiu dài ln nh	t trong các m&u c so trùng. Nu tr ng 
hp hai m&u so trùng có chiu dài bng nhau thì c ch này ch$n m&u c so 
trùng sm nh	t) và khi có nhiu kt qu so trùng thì các m&u c so trùng s) 
c th hin  thit b# u ra. 
Mt ví d minh h$a hai lut n gin trong tr ng hp oán nhn mt t
 có 
nhãn là date nh sau: 
Rule: date1 
 ( 
 ({Token.kind=="number"})((({SpaceToken})*{Token.string=="-"} 
Mô hình rút trích cm t c trng ng ngha trong ting 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 – Loi Token, SpaceToken – Ký t tr'ng, * có ngha là 
không hoc nhiu, + có ngha là mt hoc nhiu, và | có ngha là Hoc. 
Vi lut date1 s) oán nhn các dng date nh 1/2/2006, 1-2-2006, …. Và lut 
date2 s) oán nhn các dng date nh Ngày 2 Tháng 3 Nm 2006, Ngày 03 tháng 
03 nm 2006,…. 
3. Các t
p lu
t vn phn JAPE dùng trong lu
n án 
GATE cung c	p mt tp lut v
n phm JAPE có s*n trong thành phn có tên 
g$i là ANNIE, giúp nhn ra và so trùng mt s lp c bn nh Con ng i, Ni 
chn, T" chc,… Tuy nhiên, tp lut này áp dng cho các thc th có tên ting 
Anh và da trên thành phn phân lp ting Anh có s*n ca GATE. Vì th, lun án 
ã c t ba tp lut hoàn toàn mi so vi ANNIE và áp dng cho công on gán 
nhãn t
 loi, nhn din cm danh t
 và xác #nh CTTNN cho câu trong ting 
Vit. 
3.1 T
p lu
t áp dng cho công on gán nhãn t loi 
// ChauNguyen 12/09/2006 
Phase:postprocess 
Input: Token SpaceToken 
Options: control = appelt 
Mô hình rút trích cm t c trng ng ngha trong ting Vi	t 
vii 
//------- ChauNguyen starts ------ 
Rule: PP 
(({Token.string=="Anh"}|{Token.string=="anh"}|{Token.string=="Em"}|{To
ken.string=="em"}|{Token.string=="Thy"}|{Token.string=="Cháu"}|{Token
.string=="cháu"}|{Token.string=="Chú"}|{Token.string=="chú”}|{Token.st
ring=="Thng"}|{Token.string=="thng"}|{Token.string=="Cô"}|{Token.str
ing=="cô"}|{Token.string=="Bác"}|{Token.string=="bác"}|{Token.string==
"Thy"}|{Token.string=="thy"})({SpaceToken})+({Token.string=="đó"}|
{Token.string=="ấy"}|{Token.string=="kia"}|{Token.string=="ny"}))+ 
: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 mt lut cho phép gán nhãn t
 loi Pp cho các t
 ting Vit 
trong tp lut c xây dng cho công on gán nhãn t
 loi. 
3.2 T
p lu
t áp dng cho công on nh
n din cm 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 cm t c trng ng ngha trong ting 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 mt lut cho phép nhn din mt m&u c	u trúc cm danh t
ting Vit trong tp lut c xây dng cho công on nhn din cm danh t
. 
3.3 T
p lu
t áp dng cho công on xác nh CDTTNN 
Lun án minh h$a mt lut cho phép xác #nh CTTNN trong tr ng hp gia 
các cm t
 d tuyn 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 cm t c trng ng ngha trong ting 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_Consta
nts.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 cm t c trng ng ngha trong ting 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); 
 } 
 } 
Mô hình rút trích cm t c trng ng ngha trong ting Vi	t 
xi 
 PH LC C 
Tp m&u thu c t
 TREC ( , www.lexxe.com (Qiao, 
2010) và www.vnexpress.net bao gm 2079 câu ting Anh c Hi Nghiên Cu 
D#ch Thut Tp. H Chí Minh d#ch sang tp m&u câu ting Vit tng ng nh sau: 
VN TREC 07 
1. Krugman vit cho t báo nào? 
2. Krugman dy ti tr ng i h$c nào? 
3. Krugman ã nhn bng tin s, ti tr ng i h$c nào? 
4. Chuyên ngành ca Krugman là gì? 
5. Krugman ã ot gii thng gì có ngun gc t
 Tây Ban Nha? 
6. Tiêu  ca các tp sách c vit bi Krugman là gì? 
7. Nhng ng i ã b# Krugman ch( trích trong ct Ct op-ed là ai? 
8. Công ty nào ã xu	t bn các h s ca ông? 
9. Tên thc ca ông là gì? 
10. Ông ang d kin kt hôn vi ai? 
11. Ông là ch t#ch ca công ty nào? 
12. Ông ln lên  âu? 
13. Tên ca các album th hin rõ Jay-Z là gì? 
14. Darrell Hammond bao nhiêu tu"i? 
15. Hammond tt nghip tr ng i h$c nào? 
16. Thu nhp hng n
m ca Hammond là bao nhiêu? 
17. Hammond th ng xuyên xu	t hin trên chng trình TV nào? 
18. Các chng trình biu di-n ca Hammond xu	t hin trên mng truyn hình nào? 
19. Hammond ã óng vai chính trên chng trình Comedy Central nào? 
20. Hammond ã th vai nhân vt nào? 
21. Curveball ào ng! n
m nào? 
22. Culveball làm ngh gì? 
23. Tên thc ca Curveball là gì? 
24. C quan tình báo nào ã tuyn dng Curveball? 
25. Các viên chc chính ph nào ca Hoa K. ã ch	p nhn tuyên b ca Curveball v phòng thí 
nghim v! khí ca Ir'c? 
26. Hin nay Curveball ang sng  âu? 
27. Ai là ng i ã thành lp công ty? 
28. Công ty c thành lp vào n
m nào? 
29. Công ty nào ã thôn tính IMG vào n
m 2004? 
30. Thành viên hi ng qun tr# IMG bao gm nhng ai? 
31. Ai là ng i ng u ca b phn sân gôn IMG ti B'c M,? 
32. C quan IMG nào i din cho Vijay Singh? 
33. Các ngôi sao th thao nào khác c IMG i din? 
34. Mint t tr s  âu? 
35. Mint c thành lp vào n
m nào? 
36. Mint là mt b phn ca ban ni các nào? 
37. Ai là giám c ca Mint? 
38. Mi tháng Mint sn xu	t bao nhiêu ng 10 xu? 
39. ng tin ca ngi hành trình ca Lewis và Clark có tên là gì? 
Mô hình rút trích cm t c trng ng ngha trong ting Vi	t 
xii 
40. Tên ca nhng ng i ã c xu	t hin trên ng tin ca Mint. 
41. 3M c thành lp khi nào? 
42. Công ty c t  âu? 
43. Ai là CEO (Giám c iu hành) ca công ty? 
44. Ai là ng i tin nhim CEO ca 3M? 
45. 3M là vit t't cho cái gì? 
46. #a ch( trên mng ca 3M là gì? 
47. Nhãn hiu hàng hoá c 3M sn xu	t là gì? 
48. Ai là giám c iu hành? 
49. Ngành ngh kinh doanh ch yu ca Merrill Lynch là gì? 
50. Merrill Lynch t tr s  âu? 
51. Các tr s ca Merrill Lynch c t trên  ng ph nào? 
52. Công ty còn c bit ti bng tên khác là gì? 
53. Tên nhng ng i có liên quan ti v kin vi Merrill Lynch 
54. Ai là ch t#ch ca WWE? 
55. Ai là giám c iu hành ca WWE? 
56. WWE t tr s  âu? 
57. WWE là vit t't cho cái gì? 
58. WWE c phát trin t
 t" chc nào trc ó? 
59. Mng truyn hình cáp nào ã phát WWE? 
60. Nhng ô vt nào ã xu	t hin trong các s kin ca WWE? 
61. Thm ho ã xy ra vào ngày nào? 
62. Ai là ng i sng sót duy nh	t? 
63. Công ty nào s hu m/ Sago? 
64. Bao nhiêu th m/ ã b# cht trong thm ho ó? 
65. M/ Sago nm  bang nào? 
66. T" chc nào ã kho sát v thm h$a ó? 
67. Ai là nhng nn nhân ca thm ho ó? 
68. Bà ã rút kh/i s b" nhim vào ngày nào? 
69. Bà ã c b" nhim cho chc v ó vào ngày nào? 
70. Bà có th s) giành v# trí ca ai ti Toà án Ti cao? 
71. Ai ã b" nhim Miers? 
72. Ng i này ã da vào tiêu chu0n nào  vin d&n cho vic b" nhim Miers? 
73. Harriet Miers bao nhiêu tu"i? 
74. Nhng ngh# s, Cng hoà nào ã ng h vic b" nhim này? 
75. Ai ã b# Blake cáo buc git ng i? 
76. Toà án b't u sàng l$c thành viên ban hi th0m d kin vào ngày nào? 
77. Phiên toà xét x kt thúc vào ngày nào? ' 
78. Ai ã b# xét x trong phiên toà? 
79. Phiên toà có phán quyt nh th nào? 
80. Lut s nào là bên nguyên cui cùng? 
81. Nhng ai là ng i làm chng trong phiên toà xét x? 
82. Madness kéo dài trong bao lâu? 
83. T
 ng lóng nào khác cho Madness là gì? 
84. Khi nào là êm kt thúc ca Madne