Khóa luận Phương pháp học gần không giám sát để trích chọn thực thể tên tổ chức

ĐẠI HC QUC GIA HÀ NI  
TRƯỜNG ĐẠI HC CÔNG NGHỆ  
Vũ Quc Đạt  
PHƯƠNG PHÁP HC GN KHÔNG GIÁM SÁT ĐỂ  
TRÍCH CHN THC THTÊN TCHC  
KHOÁ LUN TT NGHIP ĐẠI HC HCHÍNH QUY  
Ngành: Công nghthông tin  
HÀ NI - 2009  
ĐẠI HC QUC GIA HÀ NI  
TRƯỜNG ĐẠI HC CÔNG NGHỆ  
Vũ Quc Đạt  
PHƯƠNG PHÁP HC GN KHÔNG GIÁM SÁT ĐỂ  
TRÍCH CHN THC THTÊN TCHC  
KHOÁ LUN TT NGHIP ĐẠI HC HCHÍNH QUY  
Ngành: Công nghthông tin  
Cán bhướng dn: TS. Nguyn Trí Thành  
HÀ NI – 2009  
Li cm ơn  
Trước tiên em mun gi li cm ơn sâu sc nht đến thy giáo, TS. Nguyn Trí  
Thành, người đã giúp em chn đề tài, đưa ra nhng nhn xét quý giá và trc tiếp  
hướng dn giúp em hoàn thành lun văn tt nghip. Em xin chân thành cm ơn các  
thy cô giáo trong khoa CNTT- Trường Đại hc Công Ngh- ĐHQG Hà Ni đã  
truyn đạt kiến thc cho em trong sut thi gian hc tp ti trường.  
Trong sut thi gian làm khóa lun, em đã nhn được nhiu sgiúp đỡ, động  
viên tgia đình, thy cô và bn bè. Em xin gi li cm ơn ti nhng người bn ca  
em, luôn bên cnh em để chia snhng kiến thc, kinh nghim hc tp cũng như trong  
cuc sng.  
Cui cùng, em xin gi li cm ơn sâu sc nht ti gia đình ca mình, ngun  
động viên và cvũ ln lao, và là động lc giúp em thành công trong công vic và  
trong cuc sng.  
Sinh viên  
Vũ Quc Đạt  
Tóm tt ni dung  
Trích chn thông tin là lĩnh vc quan trng trong khai phá dliu, trong đó trích  
chn thc thlà mt bài toán con, cơ bn nhưng đóng vai trò hết sc quan trng. Nó  
có thể được sdng để htrcho phương pháp tìm kiếm mi – tìm kiếm hướng thc  
th, và góp phn quan trng cho vic xây dng web ngnghĩa.  
Có nhiu phương pháp tiếp cn khác nhau cho bài toán trích chn thc thnhư  
phương pháp hc máy HMM, … Trong khóa lun này em trình bày mt phương pháp  
để trích chn thc thtên tchc tiếng Vit trong văn bn tiếng Vit trên môi trường  
Web. Phương pháp này da trên ý tưởng ca Sergey Brin mà cthhơn là thut toán  
DIPRE trong vic trích chn cp quan htên sách và tác gica nhng cun sách  
tiếng Anh trên môi trường Web. Ưu đim ca phương pháp này là cn ít scan thip  
ca con người, không cn shtrca các ng dng phnhư xác định tloi (POS –  
tag). Kết quthc nghim trên các văn bn tiếng Vit cho thy phương pháp này  
tương đối khquan.  
Mc lc  
Li cm ơn............................................................................................................................3  
Tóm tt ni dung...................................................................................................................4  
Bng tviết tt .....................................................................................................................0  
Mở đầu..................................................................................................................................1  
CHƯƠNG 1. SƠ LƯỢC BÀI TOÁN TRÍCH CHN THC THTÊN TCHC....3  
1.1. Tng quan vtrích chn thông tin..........................................................................3  
1.2. Bài toán rút trích thc thtên tchc.....................................................................4  
1.3. Ý nghĩa ca bài toán rút trích thc thtên tchc.................................................5  
CHƯƠNG 2. HƯỚNG TIP CN BÀI TOÁN TRÍCH CHN THC TH...............6  
2.1. Rút trích cp quan h(title, author) ca cun sách trong tài liu web ...................6  
2.1.1. Occurrences ca sách .......................................................................................6  
2.1.2. Patterns ca sách ..............................................................................................7  
2.1.3. Quy trình rút trích.............................................................................................7  
2.1.4. Thut toán sinh Patterns...................................................................................8  
2.2. Thu thp tên và min tương ng ttp tài liu web...............................................9  
2.3. Hthng Snowball................................................................................................13  
2.3.1. Sinh patterns...................................................................................................13  
2.3.2. Sinh cp quan h............................................................................................15  
2.4. Tng kết chương ...................................................................................................16  
CHƯƠNG 3........................................................................................................................17  
3.1. Mô hình tng quát.................................................................................................17  
3.2. Mô hình chi tiết.....................................................................................................19  
3.2.1. Find_IndexsOfPrefixPattern ..........................................................................20  
3.2.2. Extract_CandidateStrings...............................................................................21  
3.2.3. Trim................................................................................................................22  
3.2.4. Filter_Entities.................................................................................................22  
3.2.5. Find_PrefixStrings .........................................................................................23  
3.2.6. Generate_NewPrefixPattern...........................................................................23  
3.3. Biu din PrefixString và quy tc cho PrefixPattern ............................................24  
3.3.1. Biu din PrefixString....................................................................................24  
3.3.2. Thut toán sinh PrefixPattern.........................................................................25  
3.4. Quy tc ct ta .......................................................................................................27  
3.4.1. Extract_By_Capitalize_Rule..........................................................................29  
3.4.2. Extract_By_Left_Rule ...................................................................................29  
3.4.3. Extract_Standard_Name ................................................................................30  
3.4.4. Compare_Discard_Name ...............................................................................30  
3.4.5. Các trường hp ct ta khác ...........................................................................30  
CHƯƠNG 4. THC NGHIM..........................................................................................31  
4.1. Chun bị đầu vào ..................................................................................................31  
4.1.1. Thu thp dliu.................................................................................................31  
4.1.2. Xây dng PrefixPattern (Initial).....................................................................31  
4.1.3. Xây dng các Lut (Rule)..............................................................................32  
4.2. Môi trường thc nghim.......................................................................................32  
4.2.1. Phn cng.......................................................................................................32  
4.2.2. Phn mm.......................................................................................................33  
4.3. Kết quthc nghim............................................................................................33  
4.4. Nhn xét................................................................................................................35  
Kết Lun .............................................................................................................................35  
Tài liu tham kho:.............................................................................................................38  
Bng tviết tt  
Mở đầu  
Trích chn thc thlà bài toán đơn gin nht trong các bài toán trích chn thông tin.  
Tuy cơ bn nhưng li đóng vai trò khá quan trng, như htrcác hthng tóm tt văn  
bn tự động, ng dng cho máy tìm kiếm hướng thc th… Bài toán trích chn thc thể  
tên tiếng Vit đã được nghiên cu vài năm gn đây, có nhiu phương pháp gii quyết  
được đưa ra vi nhng kết quthu được tương đối khquan. Trong khóa lun này, em  
đưa ra mt phương pháp mi “hc gn không giám sát” để áp dng cho bài toán trên. Tuy  
nhiên, trong phm vi ca khóa lun này em chthc hin rút trích mt loi thc thể đó là  
thc thtên tchc. Lun văn được chia thành 4 chương:  
¾ Chương 1 Gii thiu qua vtrích chn thông tin và bài toán trích chn thc thtên  
tchc cũng như ý nghĩa ca nó.  
¾ Chương 2 trình bày hướng tiếp cn để gii quyết bài toán. Chương đưa ra 3 bài  
toán rút trích các cp quan hhkhác nhau trên tp tài liu (quan h<author,  
title>, <category, named entity>, <organization, location> ). Ý tưởng chính ca  
các bài toàn này là da vào thông tin ngcnh ca đối tượng cn rút trích để biu  
din chúng dưới dng mu (pattern), tmu này rút trích ra đối tượng. Bài toán cơ  
bn nht là ca Brin – rút trích cp quan h<author, title>. Kthut quay vòng  
được áp dng để rút trích thc th, da vào thut toán DIPRE. Vòng lp sau sử  
dng kết quca vòng lp trước làm đầu vào. Các thc thln lượt được rút trích  
mi vòng, kết thúc vòng lp khi tha mãn điu kin dng đã cho. Mi bài toán  
đưa ra đều có cách biu din mu riêng, phù hp vi ngcnh ca tng quan hệ  
cn rút trích.Tbài toán ca Pasca nãy ra ý nghĩ vmt phương pháp hc gn  
không giám sát để áp dng cho bài toán trong khóa lun này. Hthng Snowball  
độc đáo vi cách biu din pattern và phương thc đánh giá cht lượng ca thc  
ththu được.  
¾ Chương 3 trình bày mô hình tng quát và các bước chi tiết ca bài toán rút trích  
thc thtên tchc. Mô hình tng quát da trên bài toán ca Brin vrút trích cp  
quan h<author, title>, đặc bit là kthut DIPRE. Tuy nhiên, đim xut phát ban  
đầu ging vi bài toán ca Pasca – xut phát là patterns. Vi cách xut phát này thì  
có thgim được svòng lp thc hin. Chi tiết các bước thc hin là: Ban đầu  
cho mt mu (pattern) để đoán nhn tin ttên tchc; ước lượng mt xâu (được  
1
kvng là có cha tên thc th) ngay sau tin tố đó; ct ta xâu trên thu được tên  
thc th; chn lc nhng thc thể đại din ttp thc ththu được; ánh xngược  
thc thể đại din vào dliu để tìm xâu tin t; sinh ra các pattern mi ttp xâu  
tin tố đó; tiếp tc vòng lp mi… Chương cũng trình bày thut toán sinh pattern  
tcho tin tca thc th; cui cùng là đưa mt snhp nhng trong cách biu  
din tên, từ đó xây dng chiến lược ct ta để thu được tên hp lý.  
¾ Chương 4 là phn thc nghim. Dliu chun b, môi trường thc nghim và kết  
quthc nghim. Chỉ đưa ra mt skết quthc nghim đại din để thhin tính  
cht ca bài toán.  
2
CHƯƠNG 1. SƠ LƯỢC BÀI TOÁN TRÍCH CHN THC  
THTÊN TCHC  
1.1. Tng quan vtrích chn thông tin  
Vi sbùng nca Internet và các phương tin lưu trữ đã to ra mt lượng thông  
tin khng l. Bên cnh đó nhu cu vtc độ xlý thông tin, cũng như tính chính xác ngày  
càng tăng. Do đó bài toán đặt ra đối vi các nhà nghiên cu là tìm ra nhng phương pháp  
mi, hiu qucho vic xlý thông tin đáp ng nhu cu sdng. Hin nay, các máy tìm  
kiếm (search engine) thc hin vic tìm nhng trang web phù hp vi yêu cu câu hi  
người dùng. Tuy nhiên bi vì đối tượng tác động ca nó là trang Web trong hthng tài  
liu, nên min tri thc nó thu được đôi khi không đủ để đáp ng yêu cu tìm kiếm ca  
người dùng. Vn còn tim n nhng giá trtrong các câu, bphn ca trang Web. Do đó  
khai thác được nhng tri thc đó smang li nhiu thông tin bích. Đó là lĩnh vc mà  
“trích chn thông tin” nghiên cu.  
Trích chn thông tin là mt lĩnh vc quan trng trong khai phá dliu, thc hin  
vic rút trích ra thông tin có cu trúc ttp tài liu thô – không có cu trúc. Không ging  
như hiu toàn bvăn bn, các hthng trích chn thông tin chcgng nhn biết mt số  
thông tin đáng quan tâm mt lĩnh vc nào đó. Hay nói mt cách khác, cho mt mu  
(template) bao gm các trường thc th, quan hthc th…., hthng trích chn thông  
tin có nhim vphân tích tài liu thô để tìm ra thông tin thích hp đin vào các trường  
tương ng trong mu đó.  
Ví dvhthng trích chn thông tin :  
3
Hình 1 : Hthng trích chn thông tin  
Hthng trên thc hin rút trích ra bba quan h<NAME, TITLE,  
ORGANIZATION> ttp tài liu web và bsung các bn ghi 3 trường đó vào cơ sdữ  
liu.  
1.2. Bài toán rút trích thc thtên tchc  
Tchc là mt trong nhng đối tượng cơ bn xut hin trong văn bn, đặc bit là  
trong các website vkinh tế, xã hi, thế gii… Cùng vi sphát trin ca thương mi  
đin t, stoàn cu hóa …nên nhu cu tìm hiu vcác tchc Vit Nam cũng như thế  
gii là vn đề đáng được quan tâm. Rút trích tên tchc là lit kê ra danh sách tên các tổ  
chc xut hin trong văn bn.  
Bài toán rút trích tên thc th(mà cthể ở khóa lun này là bài toán trích chn thc  
thtên các tchc) là bài toán cơ bn trong các bài toán trích chn thông tin. Bi vì trước  
khi khai phá được các tri thc vthuc tính, tính cht ca các thc th, thì đầu tiên chúng  
ta phi rút trích ra được chính xác tên ca thc thể đó. Tuy nó là bài toán cơ bn, nhưng  
tn ti rt nhiu vn đề nhp nhng làm cho vic rút trích gp khó khăn. Đặc bit vi  
4
ngôn ngtiếng Vit, đa dng trong cách viết, đôi khi nhp nhng vngpháp, và chưa có  
mt chun nào cthvchhoa, chthường cho tên tiếng Vit cũng như xut hin nhiu  
t“tha” chmang tính cht lit kê, bnghĩa ...  
Có nhiu phương pháp được áp dng cho bài toán rút trích tên thc thnhư phương  
pháp hc máy HMM [4] … Trong khóa lun này, em sdng phương pháp “hc gn  
không giám sát“ da trên thut toán DIPRE và ý tưởng rút trích cp quan h(author, title)  
ca Brin [7], kết hp các lut htrợ để rút trích thc thtên tchc. Tuy nhiên, có mt  
hn chế là thut toán DIPRE thường áp dng cho bài toán rút trích cp quan hnhư (tên  
sách, tên tác gi), (tchc, trschính ca tchc) …., còn ni dung khóa lun này chỉ  
là trích chn thc thể đơn – tên tchc. Nhưng li thế ca DIPRE là tính tự động  
(automatic), cn ít thao tác thcông ca con người, có tháp dng trong min dliu ln.  
Hơn thế na tên các tchc thường có “quan h” nào đó vi các “tin tđứng lin nó.  
Đấy là nhng tin đề để áp dng kthut DIPRE vào bài toán trong khóa lun này. Các  
chương tiếp theo sẽ đề cp chi tiết hơn.  
1.3. Ý nghĩa ca bài toán rút trích thc thtên tchc  
Mt hthng rút trích các loi thc thhiu qucó thcó nhiu ng dng trong  
thc tế:  
- Htrxây dưng Web ngnghĩa.  
- Xây dng các máy tìm kiếm hướng thc th. Ví dvi tkhóa “Washington“ có  
thtrvnhng trang web nói vvtng thng đầu tiên nước M, hoc vthành  
PhWashington – thủ đô nước M, hoc vmt công ty nào đó… Do đó thi  
gian tim kiếm sgim đi khi có strgiúp ca hthng trích chn thc th.  
- Htrhthng tóm tt văn bn tự động.  
…..  
Bài toán rút trích thc thtên tchc trong khóa lun này đưa ra chlà bài toán cơ  
bn, chưa có ng nhiu trong thc tế. Mi chdng li mc là làm giàu thông tin cho  
dliu. Tuy nhiên nó là cơ sở để phát trin bài toán phc tp hơn, hu ích hơn.  
5
CHƯƠNG 2. HƯỚNG TIP CN BÀI TOÁN TRÍCH  
CHN THC THỂ  
Hc máy là hướng tiếp cn phbiến nht cho bài toán trích chn thc th. Bài toán  
trong khóa lun stiếp cn theo mt cách khác. Chương này sgii thiu mt sbài toán  
đin hình đã được thc nghim để rút trích cp quan h, từ đó có thrút ra ý tưởng áp  
dng cho bài toán rút trích thc thtên tchc.  
2.1. Rút trích cp quan h(title, author) ca cun sách trong tài  
liu web  
Nhn thy rng thông tin trên WWW không phi chỉ ở dng thô, mà chúng còn tim  
n nhng quan h, cu trúc nào đó. Nếu khai phá được nhng đặc tính đó thì srt hu  
ích cho vic xlý thông tin. Segrey Brin đã đưa ra mt ý tưởng là rút trích ra các cp  
“title, ” “author” ca cun sách. Đặc đim ca cp được rút trích này là chúng có  
quan hvi nhau – tên sách và tên tác giviết cun sách. Đim ni bt trong nghiên cu  
này là thut toán DIPRE sẽ được trình bày dưới đây.  
Đầu tiên gii thiu mt skhái nim có trong bài toán, sau đó sẽ đưa ra quy trình rút  
trích tng quát và chi tiết các thut toán sdng trong bài.  
2.1.1. Occurrences ca sách  
Occurrences ca cun sách được hiu là thông tin vs“xut hin” ca cun sách  
(gm title author) trên tp dliu. Để thun tin cho vic xlý, Brin biu din  
occurrences ca cun sách là mt bgm 7 trường:  
(author,title,order,url,prefix,middle,suffix)  
order : Thtxut hin ca author title.  
url : Địa chtrang web mà ni dung có cha author, title .  
prefix : Xâu ký tự đứng trước author hay title (tùy theo thtca author, title)  
middle : Xâu nm gia author title.  
suffix : Xâu đứng sau author hay title.  
6
2.1.2. Patterns ca sách  
Patterns sẽ được “ánh x” ngược vào tp tài liu để rút trích ra tp quan hmi (ở  
đây là “title” và “author”). Patterns được “sinh ra” ttp các Occurrences trên theo  
mt tiêu chí, quy tc nào đó (sẽ được trình bày dưới). Patterns có ý nghĩa quan trng  
trong vic rút trích. Patterns tt stăng slượng cũng như cht lượng tìm kiếm, rút trích.  
Patterns cho nhng cun sách sách là mt bgm 5 trường  
(order,urlprefix,prefix,middle,suffix)  
order : Ging Occurrences  
Mt cp (author, title) được rút trích nếu có mt URL trên web hp (matchs) vi  
urlprefix* và ni dung ca nó có cha đon hp vi biu thc chính quy “*prefix, author,  
middle, title, suffix*” , đồng thi khi đó biến order = true. Biu thc chinh quy cho  
author title ln lượt là:  
[A-Z][A-Za-z .,&]5;30[A-Za-z.]  
[A-Z0-9][A-Za-z0-9 .,:'#!?;&]4;45[A-Za-z0-9?!]  
2.1.3. Quy trình rút trích  
Quy trình rút trích da theo thut toán DIPRE. Ý tưởng là:  
1) Bt đầu bng mu nhR’ – tp 5 cun sách và tên tác gitương ng. Mu này  
được thao tác trc tiếp bng tay.  
2) OÅFindOccurrences(R’;D)  
Tìm tt c“sxut hin ca các b(author, title) ca R’ trong D. ng vi mi  
btìm thy, ghi nhli url text xung quanh (gia, 2 bên) “author” và  
“title.  
3) PÅGenPatterns(O)  
Da vào tp xut hin ca cp (author,title) để sinh ra mu (pattern). Mu sinh  
ra phi không được quá riêng bit, hay quá chung chung thì mi là mu tt.  
4) R’ÅMD(P)  
Tnhng pattern xây dng được, tìm kiếm trên CSDL nhng b(tuples) mà  
hp vi mu đó.  
7
5) Nếu R’ đủ ln thì kết thúc. Ngược li nhy vbước 2  
Kthut trên có thể được mô tnhư hình dưới đây :  
Hình 2: Quy trình rút trích  
2.1.4. Thut toán sinh Patterns  
Như đã trình bày trong mc trên, thtc GenPatterns có nhim vsinh ra các  
patterns da vào các occurrences. Nó là mt quy trình quan trng trong DIPRE. Gisử  
chúng ta có mt boccurrences , và s“th” dng nên mt pattern tbộ đó. Khi đã có  
thtc sinh ra 1 pattern, thì thtc sinh tt ccác patterns có thcũng stương t, như  
được trình bày dưới đây :  
2.1.4.1. Sinh mt Pattern  
Các bước cho thtc GenOnePattern(O) – sinh 1 pattern như sau:  
1) Cn phi chc chn rng order middle ca tt csxut hin (occurrences) phi  
ging nhau. Nếu không thì không thế sinh ra được pattern để match vi tt cả  
occurrences. Đặt outpattern.order outpattern.middle tương ng vi order và  
middle.  
2) Tìm đon prefix dài nht ca các urls mà chúng ging nhau. Đặt outpattern.urlprefix  
= prefix  
3) Đặt outpattern.prefix là xâu dài nht ca các prefixs mà chúng ging nhau tính tcui  
(suffix) ca các tin t(prefixs) đó.  
8
4) Đặt outpattern.suffix là xâu dài nht ca các suffix mà chúng ging nhau tính từ đầu  
(prefix) ca các hu t(suffixs) đó.  
Kết quthu được mt pattern.  
2.1.4.2. Sinh tp Patterns  
Thut toán cho GenPatterns(O) da vào thut toán GenOnePattern(O) đã được gii  
thiu trên :  
1) Nhóm tt csxut hin (occurrences) o trong O theo order và middle. Được  
kết qucác nhóm O1 , …, Ok.  
2) Vi mi Oi , p Å GenOnePattern( Oi). Nếu p thomãn điu kin về độ “riêng  
bit” thì nhn p đưa ra ngoài. Nếu không:  
- Nếu tt coccurrences o trong Oi có chung url thì bOi.  
- Ngược li : Tách các occurrences o trong Oi thành nhng nhóm con da vào  
đặc đim urls ca chúng – qua p.urlprefix. Lp li thtc bước 2 cho  
nhng nhóm con này.  
Ý tưởng ca thtc sinh patterns như trên là chia nhurls khi patterns sinh ra  
không đủ “riêng bit”. Như thế thì cũng có thsdng kthut chia nhtheo prefix hay  
suffix. Tt ctrên chlà nhng gii pháp cơ bn, để được 1 kthut tt hơn thì cn  
phi nghiên cu thêm. Tuy nhiên kết qumà kthut va đưa ra cũng có mt kết quả  
thc nghim chp nhn được.  
2.2. Thu thp tên và min tương ng ttp tài liu web  
Con người, thi gian, địa đim…là nhng thc thcơ bn trong văn bn dù bt cứ  
ngôn ngnào. Nhưng vi tng “chuyên ngành” hay lĩnh vc riêng thì vn tn ti rt  
nhiu thc thvà min ca thc thể đó. Ví dnhư min “Universities” có các thc thể  
“Harvard”, “Cambridge” …., hay min “Programming” có “C++, Java …”. Nếu rút trích  
được các cp tên min và thc th(C, N) ri tích hp vào các hthng như WordNet [1]  
thì sto ra cơ stri thc hu ích.  
Da trên DIPRE, Marius Pasca đưa ra mt mô hình để thu được cp (C,N) ttài tp  
liu web [6]. C N tương ng viết tt cho Category named Entity ( min và tên thc  
th). Pattern được sdng có dng :  
9
[StartOfSent] X [such as|including] N [and|,|.]  
Ở đây X là mt “categorical facttm hiu nó là mt xâu mà được coi là có cha min C.  
N là “potential instance nametm hiu là thc thcn tìm thuc min C. Mt đặc đim  
để nhn dng N đó là nó là mt danh triêng nên thường được viết hoa. Ánh xpattern  
này vào tài liu sthu được cp (X,N). Ví dnhư câu sau :  
“That is because software firewalls, including Zone Alarm, offer some semblance of this  
feature”.  
Cp (X,N ) thu được là (That is because software firewalls, Zone Alarm).  
Cui cùng, tX rút trích ra cm danh ttha mãn là min C ca N. Nó được ước  
lượng là cm danh tkhông đệ quy phi nht, sao cho thành phn cui cùng ca nó là  
mt danh tsnhiu. Như ví dcâu trên, srút trích được cm danh tsoftware  
firewalls” nó chính min C . Chiến lược ước lượng này tuân theo mt squy tc :  
- Nếu không có cm danh tdng snhiu nm gn cui ca “categorical  
fact”, thì cp (X, N) bloi b.  
- Mt cm danh tdng snhiu nm gn cui ca “categorical fact” nhưng  
ngay trước nó cũng là mt cm danh tsnhiu, thì cp (X, N) bloi b.  
- Trường hp còn li thì (X, N) là phù hp và thu được cp (C,N).  
Bng dưới đây mô tkết quáp dng các quy tc nói trên:  
10  
Bng 1: Sla chn cateogries tcateogrical facts  
Categorical fact and instance name  
Selection  
Anti-GMO food movements sprouted up Discard  
Discard  
in European nations in the 1990s, including Germany  
Our customers’ chipsets compete with Discard  
products from other vendors of standardsbased  
and ADSL chipsets, including Alcatel  
Discard  
The venture is supported by a number of academics, Retain  
including Noam Chomsky  
(academics,  
Noam Chomsky)  
API Adapter can be written in other  
Retain  
programming languages such as C++  
(programming  
languages,C++)  
Để tăng slượng cp (C, N) rút trích được, mô hình đưa ra phương thc để “tự  
động” sinh ra nhng patterns mi. Bng cách “ánh x” nhng cp (C, N) đã được rút  
trích vòng lp trước vào dliu. Ý tưởng được mô tnhư trong hình dưới :  
Hình 3: Rút trích Patterns mi  
11  
Mi pattern có dng:  
<LeftContext C InnerPattern N RightContext>  
LeftContext, InnerPattern RightContext là dãy nhng phn tliên tiếp trong câu.  
Pattern chỉ đoán nhn các xâu trong tng câu riêng bit hay nói cách khác mi pattern  
“nm” hoàn toàn trong 1 câu. Trong thc nghim này LeftContext, RightContext được  
biu din theo dng tloi (POS –tag ) bi Penn Treebank [5]. Kết quxếp hng top 15  
patterns được lit kê như bng bên dưới:  
Bng 2 : Phân hng các Pattern rút trích được  
LeftContext  
(POS tags)  
InnerPattern  
(words)  
RightContext  
(POS tags)  
StartOfSent  
Such asb  
, NNP NNP , NNP  
. EndOfSent  
, NNP , NNP ,  
IN NNP , NNP ,  
StartOfSent  
and othera  
and othera  
such asb  
. EndOfSent  
. EndOfSent  
StartOfSent  
such asb  
, NNP , NNP ,  
StartOfSent  
, includingb  
such asb  
, NNP , NNP , NNP  
, NNP NNP , NNP  
, NNP , NNP ,  
StartOfSent IN  
StartOfSent DT  
StartOfSent  
includeb  
, includingb  
and othera  
, includingb  
, includingb  
areb  
CC NNP NNP NNP NNP  
. EndOfSent  
NNP , NNP NNP ,  
StartOfSent JJ  
StartOfSent JJ  
StartOfSent DT  
CC NNP NNP , VBP  
, NNP NNP CC NNP  
, NNP , NNP ,  
Nhìn vào bng trên ta thy, ngoài vic tìm li được” các InnerPaterns mi là “such  
as” và “including” thtc trên còn “khám phá” ra nhng InnerPatterns hu ích khác như  
12  
and other”, “include” và “are”. Nhng patterns mi này li được sdng để rút trích  
thc thcho vòng lp tiếp theo.  
2.3. Hthng Snowball  
Cũng da trên tư tưởng ca DIPRE, Eugene Agichtein và Luis Gravano đã xây dng  
hthng Snowball [3] để rút trích cp quan h(organization, location) – tchc và địa  
đim. Biu din mi quan hmt tchc organization có trc sở đặt ti địa đim  
location. Snowball đã đưa ra mt kthut mi để sinh patterns và rút trích cp quan htừ  
tài liu. Snowball cũng có thêm chiến lược đánh giá cht lượng ca mi patterns và cp  
quan h, nếu cái nào đủ tin cy thì mi được sdng cho các vòng lp tiếp theo. Tuy  
nhiên Snowball cn đến shtrca NER (Named Entity Recognition).  
Mô hình ca Snowball được biu din như dưới :  
Hình 4: Hthng Snowball  
2.3.1. Sinh patterns  
Vi mi cp organization-location <o, l> Snowball xác định nó trong tp tài liu và  
phân tích các thành phn trái (left), gia (middle) và phi (right) để sinh pattern. Pattern  
ca Snowball là mt b5 thành phn :  
<left, tag1, middle, tag2, right>  
Trong đó tag1, tag2 là các thtên thc th(cthể ở đây là <ORGANIZATION> và  
<LOCATION> ) và left, middle, right là các vector liên kết “terms” và “weights”. (terms  
là xâu tùy ý hoc kí ttrng, weights – trng sbiu thị độ quan trng ca terms). Mi  
13  
vector các terms có trng sweights nm trong khong t0 đến 1. Trng scàng ln thì  
độ ưu tiên ca term đó càng cao.  
Ví d: <{the , 0.2>}, LOCATION, {<-, 0.5> , <based, 0.5> }, ORGANIZATION, {}>  
Để sinh pattern, đầu tiên Snowball tìm tt csxut hin (occurrences) ca các bộ  
<o, l> , biu din dưới dng ging như dng ca các pattern. Mi thành phn left,  
middle, right có mt gii hn m terms. Trng sca mi term xác định da theo tn số  
ca các terms trong ngcnh tương ng. Ttp các occurrences, sdng thut toán phân  
cm đơn gin [8] để phân thành các cm . Vi mi cm, các vector left được biu din  
bng vector trung tâm l’s , tương tbiu din các vector middle, right bng các vector  
trung tâm m’s, r’s .  
Ví dttp các occurrences :  
Sẽ được phân thành 2 cm :  
14  
Tính toán vector trung tâm ca mi cm, thu được các patterns :  
2.3.2. Sinh cp quan hệ  
Trước hết định nghĩa độ phù hp ca hai btP = < lP , t1, mP , t2, rP > (t1, t2 là các  
th) tS = <lS, t’1, mS, t’2, rS > (t’1, t’2 là các th) theo công thc :  
15  
Sau khi sinh được các patterns, Snowball quét tp tài liu để tìm ra nhng cp (o, l)  
mi. Dùng MITRE Corporation’s Alembic Workbench [2] để nhn dng nhng câu có  
cha mt organization location. Phân tích ni dung xung quanh nó và sinh ra 1 b5  
trường t = <lc, t1, mc, t2, rc > theo quy tc ging trên. Gi cp <o, l> là cp “ng cử  
viên” nếu có mt pattern tp tha mãn Match(t, tp) >= tsim (tsim là ngưỡng). Mi mt cp  
ng cviên” được sinh bi các patterns ng vi tng “độ phù hp” (như giá trMatch(t ,  
tp) trên ). Và mi mt pattern cũng có mt độ đo tính “chn lc” ca nó. Snowball ssử  
dng hai thông snày để quyết định cp “ng cviên” nào là thích hp.  
2.4. Tng kết chương  
Chương đã đưa ra 3 bài toán để rút trích các cp quan hkhác nhau.  
Rút trích cp quan h(title, author) là bài toán cơ bn nht, kthut biu din  
pattern và occurrence đơn gin, thut toán để sinh pattern toccurrence cũng không phc  
tp. Độc đáo nht bài toán là thut toán DIPRE.  
Bài toán ca Pasca xut phát là mt pattern “mi”, vi cách thc hin này hthng  
có thrút trích được mt lượng ln cp quan hệ ở vòng lp đầu tiên, do đó scó nhiu  
patterns mi được sinh ra cho vòng lp tiếp theo. Vi cách thc hin này, thut toán có  
thsphi thc hin svòng lp ít hơn. Tuy nhiên nó cn shtrca POS - tag ( thtừ  
loi ) để biu din pattern, đối vi tiếng Vit thì vn chưa xây dng được POS –tagger  
(gán nhãn tloi ) hoàn chnh.  
Hthng Snowball độc đáo vi cách biu din pattern mm do , cng vi shtrợ  
ca thtên thc th(NER) nên có kết quthu được tt nht. Tuy nhiên ch“hc “ được ở  
Snowball chiến lược đánh giá pattern và cp thc ththu được để áp dng vào khóa lun,  
còn để biu din được pattern thì cn shtrca NER – trong khi bài toán trong khóa  
lun này bn cht chính là xây dng NER.  
16  
CHƯƠNG 3. TRÍCH CHN TÊN CÁC TCHC  
Chương này slun lượt trình bày tmô hình tng quát đến các bước chi tiết ca  
bài toán trích chn. Da trên các bài toán chương 2, em sdng phương pháp “hc gn  
không giám sát” kết hp shtrca các lut để gii quyết bài toán ca mình.  
Các bài toán đã trình bày chương 2 là rút trích các cp quan h, còn mc tiêu ca  
khóa lun này là rút trích tên các tchc – đơn, nên khi áp dng tư tưởng ca các bài toán  
đó vào bài toán trích chn tên các tchc, cn có sthay đổi vdng biu din pattern và  
cách thc rút trích tên thc thtcác pattern đó…  
3.1. Mô hình tng quát  
Bài toán da trên bài toán ca Sergey Brin vvic tìm ra cp quan h(tên sách, tên  
tác gi) ca cun sách, đặc bit là kthut DIPRE. Csau mi vòng lp li sinh ra nhng  
cp thc thmi và mu (patterns) mi. Các vòng lp tiếp theo sdng kết quca vòng  
lp trước đó để thu được kết qumi. Quá trình đó ctiếp tc quay vòng cho đến khi đạt  
được mt yêu cu đưa ra. Sergey Brin cho xut phát bng 5 cp thc th(tên sách, tên tác  
gi), tcp thc thể đó tìm ra sxut hin (occurrences ) ca chúng trên tài liu Web và  
từ đó đưa ra quy tc để sinh mu (pattern). Mi tp mu thu được li tiếp tc tìm ra cp  
thc th(title, author) mi…  
Vi bài toán ca chúng ta, mc tng quát gm các bước:  
- Xut phát là mt mu được xây dng thcông;  
-
Rút trích ra các thc thtên tchc trong tp tài liu web da vào mu đó  
- “Ánh x” li các thc thva rút trích được vào tp tài liu web để xác định  
sxut hin (Occurrences) ca chúng trên tài liu.  
- Sinh mu mi tOccurrences đó.  
- Quay li bước thnht vi mu va được sinh ra  
Do xut phát không phi là tp các thc th“mi” mà là mt mu, nên có thrút  
trích được slượng ln các thc thngay vòng lp đầu tiên, slượng mu mi sinh ra  
cho vòng lp tiếp theo cũng ln… Điu đó giúp cho chương trình gim được sln thc  
17  
hin vòng lp. Chương trình dng li khi độ chính xác ca các thc thrút trích được thp  
dưới mt ngưỡng cho phép.  
Quy trình rút trích được mô tnhư hình dưới đây :  
Hình 5: Mô hình tng quát  
Có mt đim khác bit gia thc thmà Brin rút trích vi kiu thc thca chúng  
ta. Đó là Brin rút trích theo cp thc thquan h, cthể ở đây là cp (tên sách, tên tác  
gi) ca cun sách. Chúng có quan hlà vi mi cun sách scó tên sách và tác giviết  
ra cun sách đó. Do vy cách biu din nó trên tài liu scó mt quy lut nào đó. Còn bài  
toán ca chúng ta chlà rút trích ra tên thc thể đơn – tên tchc. Tuy nhiên, thường thì  
“tin t” ca tên các tchc mt dng nht định, trên mt min nht định. Và có mt  
đặc đim thun li na là tên tchc thường dng kí tự đầu tiên ca mi tlà viết hoa  
hoc không thì tcui cùng ca tên thường có ký tự đầu viết hoa ... Chính vì vy, mu  
cht ca bài toán là tìm ra đặc đim ca xâu ký tbên trái (“ tin t“) ca mi tên thc  
thể để sinh ra pattern hp lý, và đưa ra nhng quy tc ct ta thích hp, loi bnhng  
trường hp ngoi lthu để được tên hp lý.  
Trong mô hình Snowball, mi mt cp quan h<o, l> được đánh giá da theo số  
lượng các pattern sinh ra nó, cũng như “tính chn lc” ca mi pattern. Chnhng cp <o,  
l> nào có độ đánh giá phù hp thì mi được sdng như kết quca qúa trình rút trích.  
18  
Bài toán trong khóa lun này áp dng ý tưởng đó cho vic sinh ra các patterns thích hp  
da vào tp các thc thliên quan. Chi tiết sẽ được trình bày mc tiếp theo.  
3.2. Mô hình chi tiết  
Tng quát cho ý tưởng bài toán được mô tnhư hình trên, trong mc này sbiu  
din chi tiết hơn vcác bước hot động ca chương tình. Do skhác nhau vkiu đối  
tượng cn rút trích, nên cách biu din pattern và cách thc rút trích thc thda vào  
pattern cũng thay đổi. Các bước thc hin được mô tnhư hình bên dưới :  
Hình 6. Mô hình bài toán  
Các thtc trên được din gii như sau :  
Input: PrefixPattern (Initial) – Xut phát là mt mu được xây dng thcông  
19  
1) IndexsOfPrefixPattern Å Find_IndexsOfPrefixPattern (PrefixPattern)  
Ánh xPrefixPattern vào tp tài liu để xác định các xâu mà mu này đoán nhn  
(PrefixStrings) và các vtrí tương ng ca chúng (IndexsOfPrefixPattern) trong  
mi file tài liu.  
2) CandidateStrings Å Extract_CandidateStrings (IndexsOfPrefixPattern,  
PrefixStrings, CandidateRegularExpression)  
Biu thc chính quy CandidateRegularExpression đoán nhn các xâu trong tp  
tài liu tcác vtrí xut phát trong mi file là (IndexsOfPrefixPattern + chiu  
dài ca PrefixStrings tương ng).  
3) Entities Å Trim (CandidateStrings)  
Thc hin “ct ta” CandidateStrings để thu được các thc th(Entities) thích  
hp.  
4) RepresentativeEntities Å Filter_Entities ( Entities )  
TEntities chn ra nhng thc thể đại din.  
5) PrefixStrings Å Find_PrefixStrings(RepresentativeEntities,  
PrefixRegularExpression)  
Sdung biu thc chính quy PrefixRegularExpression kết hp vi  
RepresentativeEntities để đoán nhn “tin t” ca các RepresentativeEntities  
(PrefixStrings).  
6) NewPrefixPattern Å Generate_NewPrefixPattern ( PrefixStrings )  
TPrefixStrings sinh ra các mu mi.  
7) Quy li bước 1 (vòng lp mi ) vi NewPrefixPattern va được sinh ra.  
Các mc dưới đây sgii thích rõ ràng hơn.  
3.2.1. Find_IndexsOfPrefixPattern  
Để rút trích được mt thc th, cn phi biết được ngcnh xung quanh nó. bài  
toán này chquan tâm đến “tin t” (prefix) ca nó. Bi vì đứng trước mi mt thc thể  
tên tchc thường là các “tin t” có dng đặc bit, hoc nm trong min giá trcth.  
Ví dnhư thường là : “Tchc, công ty, tp đoàn, phòng ….”. Còn đứng sau mi tên tổ  
20  
chc thường không có mt quy tc nào xác định. PrefixPattern là biu thc chính quy  
được dùng để đoán nhn các “tin tđó. Đầu vào ban đầu ca chương trình là  
PrefixPattern (Initial) được xây dng bng tay. PrefixPattern có dng :  
PrefixPattern = (A1|A2|A3 …An)  
Nghĩa là PrefixPattern có thA1 hoc là A2 … hoc An. Trong đó A1, A2 … An là mt t,  
cm ttiếng Vit nào đó thhin tin tca tên tchc được xác định ban đầu (nm  
trong file cu hình). Ví d: PrefixPattern = (tchc|công ty|phòng).  
Thtc Find_IndexsOfPrefixPattern vi tham số đầu vào PrefixPattern stìm các  
xâu khp (match) vi PrefixPattern ,kết quthu được là các xâu “tin tPrefixStrings  
và các vtrí ca chúng IndexsOfPrefixPattern.  
Ví dnếu trong văn bn có đon “Thông tin Tng công ty Hàng không Vit Nam  
thua kin châu Âu … “, vi PrefixPattern như trên (tchc|công ty|phòng) thì ánh xạ  
vào văn bn thu được PrefixString là “công ty” còn IndexOfPrefixPattern nhn giá trlà  
vtrí ca xâu “công ty” (tc vtrí ký t“c”) trong văn bn tính từ đầu file – nếu đon trên  
nm ở đầu file thì IndexOfPrefixPattern là 15.  
3.2.2. Extract_CandidateStrings  
ng vi mi xâu “tin t” xác định được bước trên, thì xâu con đứng ngay sau nó  
được mong đợi” slà mt tên thc thnào đó. Nhưng không có mt quy tc chính nào  
cho tên ca các tchc, cũng như không xác định được độ dài st(word) ca nó là bao  
nhiêu. Hướng tiếp cn để gii quyết vn đề này là ước lượng xâu con đứng ngay sau mi  
“tin t” (slượng ttùy chn), txâu đó đưa ra các quy tc “ct ta” để thu được tên  
mong đợi.  
CandidateRegularExpression là biu thc chính quy được dùng để đoán nhn xâu  
con đó. Nó có dng :  
([ |: ][\\-&a-zA-Z0-9à-À-]+){n,m}  
Nghĩa là đoán nhn xâu gm ti thiếu n, ti đa m ttiếng Vit hay các snguyên. Bt đầu  
xâu là du cách hoc du hai chm. Trong thc nghim n = 1, m = 8.  
21  
Vi 3 tham số đầu vào IndexsOfPrefixPattern, PrefixStrings và  
CandidateRegularExpression thtc Extract_CandidateStrings sthc đoán nhn các xâu  
con như nói trên, kết qugi là CandidateStrings.  
Tiếp tc ví dtrên vi đon: “Thông tin Tng công ty Hàng không Vit Nam thua  
kin châu Âu … “. PrefixString là “công ty”, IndexOfPrefixPattern là vtrí ca “công  
ty”. Nếu CandidateRegularExpression là ([ |: ][\\-&a-zA-Z0-9à-À-]+){1,8} thì  
CandidateString thu được là “ Hàng không Vit Nam thua kin châu”.  
3.2.3. Trim  
Tp CandidateStrings được đoán nhn bước trên chmi được “kvng” là có  
cha các thc ththích hp. Cn “ct ta” để hoc thu được tên thc thmong mun hoc  
loi bnếu không cha tên thích hp. Thtc Trim thc hin công vic đó trên  
CandidateStrings thu được tp thc thEntities – tp thc thể được rút trích mi vòng  
lp. Chi tiết vcác quy tc ct ta sẽ được trình bày mc 3.4.  
3.2.4. Filter_Entities  
Tp thc thsau khi được rút trích sẽ được ánh xngược vào tp dliu vòng lp  
tiếp theo để tìm sxut hin (Occurrences). Nhưng không phi tt ccác thc thể được  
dùng để ánh x. Bi có 2 lý do. Thnht nếu như sdng tt ccác thc th, thì thi gian  
để tìm Occurrences là rt lâu. Thhai, không phi tt ccác thc thể được rút trích ra đều  
chính xác, và không phi tt cả đều “hin din” nhiu ln trong tp tài liu, dn đến kết  
qu“sai lch” đi. Nhng thc thcó sln được rút trích mi vòng lp càng ln, thì xác  
sut nó là mt thc thhp lý càng cao, và cũng có nghĩa nó có “độ ưu tiên cao” nên sẽ  
có nhiu cách để “biu din” nó trên các tài liu, dn đến to ra nhiu pattern mi hp lý.  
Do đó, chchn lc nhng thc thmà có sln được tìm thy mi vòng lp ln hơn  
mt ngưỡng nào đó.  
Sla chn mt ngưỡng phù hp cho vic ly thc thđại din” là tương đối khó,  
bi không có mt quy tc nào đó để quy định min giá trcho ngưỡng này. Kết quchn  
lc nh hưởng đến slượng, cht lượng ca nhng patterns mi cũng như đối vi nhng  
thc thể ở các vòng lp tiếp theo. Để có thtìm ra mt ngưỡng hp lý nht thì nên tiến  
hành nhiu thnghim vi nhng ngưỡng khác nhau.  
22  
Thtc Filter_Entities thc hin chn các thc thể đại din RepresentativeEntities  
tEntities.  
3.2.5. Find_PrefixStrings  
Tp thc thể đại din RepresentativeEntities đã được chn lc bước trên, cái cn  
quan tâm tiếp theo là “xâu tin t” (PrefixString) ca nhng thc thnày.  
Biu thc chính quy PrefixRegularExpression kết hp vi RepresentativeEntities để  
đoán nhn “sxut hin” (Occurrences) ca các thc thcũng như “tin t” ca chúng.  
PrefixRegularExpression có dng:  
([a-zA-Z0-9à-À-]+[ |\\:]){n,m}  
Có nghĩa là đoán nhn xâu gm ti thiu n, ti đa m t(mi tcu to bi các ký tự  
tiếng Vit hay chs). Kết thúc ca xâu là du cách hoc du hai chm. Trong thc  
nghim n=1,m=3. Bi vì chúng ta chcn quan tâm ti xâu t1 đến 3 từ đứng lin trước  
tên thc th, hay nói cách khác “tin t” chlà xâu dài t1 đến 3 t.  
Thtc Find_PrefixStrings dùng 2 tham số đầu vào PrefixRegularExpression và  
RepresentativeEntities để ánh xvào tài liu tìm ra sxut hin ca các thc thvà rút  
trích ra các tin t. Kết qucác tin ttrvPrefixStrings.  
Gistrong văn bn có đon “Có phi Tp đoàn Đin lc Vit Nam đặt quyn li  
ca mình lên trên tt c”, thì vi RepresentativeEntity là “Đin lc Vit Nam” và  
PrefixRegularExpression là ([a-zA-Z0-9à-À-]+[ |\\:]){1,3}, PrefixString nhn được là  
“phi Tp đoàn ”.  
3.2.6. Generate_NewPrefixPattern  
Thtc Generate_NewPrefixPattern thc hin vic sinh ra NewPrefixPattern ttp  
PrefixStrings đã được rút trích bước trước. Thut toán sinh NewPrefixPattern cũng như  
cách biu din ca PrefixString để thun tin cho cài đặt thut toán sẽ được trình bày kỹ ở  
mc 3.3. . NewPrefixPattern có “định dng” ging như PrefixPattern (Initial), chúng tiếp  
tc được dùng để rút trích nhng thc thmi.  
Quy trình ctiếp tc thc hin các vòng lp như vy cho đến khi đạt đến mt điu  
kin dng. Có thể đưa ra nhiu điu kin dng như : Dng khi không sinh ra được pattern  
mi, hoc dng khi độ chính xác ca các thc thrút trích được thp… Trong bài toán  
23  

Tải về để xem bản đầy đủ

pdf 45 trang yennguyen 25/04/2025 50
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Phương pháp học gần không giám sát để trích chọn thực thể tên tổ chức", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfkhoa_luan_phuong_phap_hoc_gan_khong_giam_sat_de_trich_chon_t.pdf