Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
2การคนคนสารสนเทศทเปนตวอกษร(Textual Information Retrieval)
ในบทท 1 ไดอธบายถงขนตอนพนฐานการคนหาสารสนเทศทเปนตวอกษร ซงประกอบ
ดวย 1) การรวบรวมเอกสาร 2) การตดค�า (Tokenizing) และการเปลยนรปค�า (Stemming
and lemmatization) 3) การก�าจดค�าทไมส�าคญ (Stop words) 4) การท�าดชน (Indexing)
5) การประมวลผลขอค�าถาม การคนหา และการเรยงล�าดบขอมลผลลพธ ในบทนจะอธบาย
เพมเตมถงรายละเอยดในแตละสวนของระบบคนคนสารสนเทศใหมากขนและแนะน�าถงวธการ
ท�าดชนแบบอนๆ นอกเหนอจากการท�าดชนแบบอนเวรท (Inverted indexing) ทอธบายแลวใน
บทท 1 นอกจากนในบทนจะอธบายถงตวแบบพนทเวกเตอร (Vector space model) ซงเปน
พนฐานทส�าคญของระบบคนคนสารสนเทศในทกๆ แบบและเปนหลกการพนฐานในการค�านวณ
ความคลายคลงระหวางขอค�าถามและเอกสาร และผลลพธจากการค�านวณความคลายคลงน
จะใชเพอเรยงล�าดบผลการคนหากอนแสดงตอผใช หนงสอเลมนจะไมอธบายถงเทคนคการ
รวบรวมเอกสาร เนองจากไมมความซบซอนและไมยากตอการท�างาน และในบทท 1 ไดอธบาย
ถงปญหาการตดค�าและไดแนะน�าเทคนคบางอยางเพอเพมประสทธภาพการตดค�าใหสงขน ดง
นนในบทนจะไมขออธบายเพมเตมเกยวกบการตดค�าและขอเรมเนอหาทวธการเปลยนรปค�า
การคนคนสารสนเทศทเปนตวอกษรCHAP
TE
R2 TEXTUAL INFORMATION RETRIEVAL
28
ตวอยางท 1-2
2.1 การเปลยนรปค�า
การเปลยนรปค�านนมความส�าคญและมผลตอขนาดของดกชนนารในการท�าดชนและ
ประสทธภาพในการเปรยบเทยบค�าในขอค�าถาม (Query) และค�าในดชน การเปลยนรปค�าคอ
เทคนคการเปลยนรปแบบของค�า เพอเพมประสทธภาพการเปรยบเทยบค�า ระหวางค�าในขอ
ค�าถามและค�าในดชน โดยจะม 2 เทคนคคอ การตดสวนขยาย (Stemming) และการเปลยน
รปค�าใหอยในรปแบบดงเดม (Lemmatization) การตดสวนขยายของค�าจะท�าการตดบาง
สวนของค�าทง เชน ในภาษาองกฤษ จะตด s, es, ing หรอ ed เปนตน ตวอยางเชน hopes,
hoping, hoped จะถกเปลยนเปน hope และเอกสารตางๆ ของค�าเหลานจะถกน�ามารวมใน
โพสตงเดยวกน การเปลยนรปค�านจะถกประยกตใชทงค�าทปรากฏในเอกสารเพอท�าดชนและ
ค�าในขอค�าถาม ดงนนเมอผใชใสขอค�าถาม เชน hoping ระบบจะสามารถรวาเอกสารทมค�า
วา hopes หรอ hoped มความสมพนธกบค�าวา hoping ในขอค�าถาม และควรเปนเอกสาร
ทควรอยในรายการผลลพธการคนหา ถงแมวาจะไมมค�าวา hoping ปรากฏอยกตาม ดงนนจะ
เหนวาประสทธภาพการคนคนขอมลจะเพมขน ตวอยางการเปลยนรปค�าแสดงดงรปท 2-1
Original sentence Brian performs swimming in China
Stemmed sentence brian perform swim in china
รปท 2-1 ตวอยางของขอความหลงจากเปลยนรปค�า (Stemming)
อลกอรทมทนยมส�าหรบการตดสวนขยายของค�าไดแก Porter’s algorithm (Porter,
1980) และเทคนคการตดสวนขยายค�าอนๆ ไดแก Lovins stemmer (Lovins, 1968) และ
Paice/Husk stemmer (Paice, 1990)
ผลการเปลยนรปค�าของเทคนคการตดสวนขยายของค�า Porter’s algorithm
ขอความ: If information was generated seconds ago that’s relevant to
what I am looking for, it should be available to me in one place,” said Amit
Singhal, a Google Fellow and a legend in the search industry who is responsible
for Google’s real-time search project. “It’s awfully hard.
ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต
29
ผลลพธทไดจาก Porter’s stemmer: inform gener second ago that relev
am look avail place said amit singhal googl fellow legend search industry
respons googl realtim search project awfully hard
การเปลยนรปแบบค�าใหอยในรปแบบดงเดม ตวอยางเชน
am, are, is, was เปลยนเปน be หรอ saw, seen เปลยนเปน see
การเปลยนรปค�าใหอยในรปแบบดงเดมนนมจดประสงคเดยวกบการตดสวนขยาย
ของค�าคอเพมประสทธภาพในการท�าดชนใหขอมลดชนมขนาดเลกลงและเพมประสทธภาพ
การเปรยบเทยบค�าในขอค�าถามและค�าในดชน เชน ถาผใชใสค�าวา ‘saw’ ในขอค�าถาม ระบบ
จะรไดวาเอกสารทมค�าวา ‘see’ มความเกยวของกบขอค�าถามของผใชและควรเปนเอกสาร
ทอยในรายการผลลพธ เปนตน
2.2 การก�าจดค�าทไมส�าคญ
ในบทท 1 ไดอธบายไปแลววาค�าทไมส�าคญคอ ค�าทไมชวยเพมประสทธภาพการคนหา
ขอมลเนองจากเปนค�าทปรากฏอยทวไปในทกๆ เอกสาร ดงนนจะมจ�านวนค�าสงเมอน�าความถ
ของค�านนๆ ของทกเอกสารมารวมกนทงหมดหรอเรยกวา ความถของค�า (Term frequency)
ค�าเหลานสามารถตดทงได ซงท�าใหรายการในสวนของโพสตงในไฟลดชนสนลง แตไมมผลตอ
ประสทธภาพการคนคนสารสนเทศแตอยางใด ขนตอนการก�าจดค�าไมส�าคญนควรจะท�ากอน
ทจะท�าดชน ในภาษาองกฤษนนจะมการระบรายการค�าทไมส�าคญไวอยางชดเจน ซงสวนมาก
จะเปนค�าทปรากฏความถสงๆ ในทกๆ เอกสาร เชน is am are หรอค�าบพบท (Preposition)
หรอค�าคณศพท (Adjective) ผอานสามารถเขาไปดขอมลไดท http://jmlr.csail.mit.edu/
papers/volume5/lewis04a/a11-smart-stop-list/ (ขอมล ณ วนท 2 สงหาคม 2558)
การคนคนสารสนเทศทเปนตวอกษรCHAP
TE
R2 TEXTUAL INFORMATION RETRIEVAL
30
2.3 การท�าดชน
ในหวขอนจะอธบายเพมเตมเกยวกบการท�าดชน (Indexing) ดวยวธตางๆ ระบบการ
คนคนสารสนเทศในปจจบนรองรบขอค�าถามแบบวล (Phase query) หรอเปนกลมค�า เชน
“Brian athlete UK” ซงกลมค�านนจะตองอยในสญลกษณอญประกาศ (“ ”) ซงการจะท�าให
ระบบคนคนสารสนเทศรองรบการคนคนสารสนเทศแบบดงกลาวไดนน การเกบค�าหลกใน
ดกชนนารโดยใชค�าเดยวๆ ไมสามารถรองรบการท�างานของขอค�าถามแบบวลได ดงนนในหวขอ
นจะอธบายถงเทคนคเพอท�าใหระบบรองรบการคนหาแบบวล โดยระบบทจะรองรบขอค�าถาม
แบบวลไดนนจะตองมการปรบปรงวธการท�าดชนแบบเดมเสยกอน ดงนนหวขอนจะแนะน�าการ
ท�าดชนอนๆ เพอรองรบการขอค�าถามแบบวล
2.3.1 การท�าดชนแบบค�าค (Biwordindexing)
การท�าดชนแบบนเปนวธการหนงทนยมเพอรองรบขอค�าถามแบบวล โดยมหลกการ
ท�างานคอ จะพจารณาค�าทอยตดกนเปนวลทจะใชท�าดชน ตวอยางเชน Brian performs
swimming ซงหลงจากการท�าการเปลยนรปค�าและก�าจดค�าทไมส�าคญทง เราจะได brain
perform swim ซงจะน�าไปสรางดชนแบบค�าค ดงตวอยาง
brian perform
perform swim
รปท 2-2 โครงสรางของดชนแบบค�าค (Biword indexing)
การท�าดชนแบบนจะคดวากลมค�าแตละกลมเปนหนงค�า และขอค�าถามทเขามาจะถก
ประมวลผลเปนแบบค�าคเชนเดยวกน ตวอยางเชน ขอค�าถาม “Brian performs swimming in
China” ระบบจะท�าการแตกขอค�าถามออกเปนกลมๆ ซงจะไดขอค�าถามแบบค�าค คอ “brian
perform” AND “perform swim” AND “swim china” ซงดเหมอนวาเทคนคนจะสามารถ
รองรบขอค�าถามแบบวลได หลกการท�าดชนแบบค�าคนสามารถพฒนาตอไปเพอรองรบการท�า
ดชนทมากกวาสองค�าได ซงกลมค�าแตละกลมอาจจะมจ�านวนค�าไมเทากน วธการนเรยกวา การ
ท�าดชนแบบวล (Phrase indexing) (Zobel and Moffat, 2006) ซงการท�าดชนดวยจ�านวน
ค�าทมากขนมผลท�าใหโพสตงมความยาวมากขนดวยเชนกน
451582
87691711
ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต
31
2.3.2 การท�าดชนจากต�าแหนงค�า(Positionalindexing)
การท�าดชนแบบคไมใชวธมาตรฐานเพอรองรบการท�างานของขอค�าถามแบบวล
แตวธการทนยมมากกวาคอ การท�าดชนจากต�าแหนงค�า (Positional indexing) ซงจะท�าการ
เกบต�าแหนงของค�าในเอกสารโดยใชรปแบบคอ <docID, Freq:<position1, position2, …>
แสดงตวอยางไดดงรปท 2-3 (บรรทดท 2) เชน ค�าวา brian มความถ (Documents frequency)
ทการปรากฏในเอกสารตางๆ ทงหมด 7,850 ครง และปรากฏ 4 (Freq) ครงในเอกสารหมายเลข 1
(docID) ในต�าแหนงท 2, 8, 15 และ 45 ในการประมวลผลขอค�าถามยงจ�าเปนตองใชไฟลดชน
แบบอนเวรทส�าหรบหาค�าหลกตางๆ เชนเดยวกบวธการทอธบายในบทท 1 ตวอยางท 1-3 การ
ท�างานจะเรมจากค�าทมความถนอยสดกอนและน�าไปรวมแบบอนเตอรเซกชน (Intersection)
กบค�าอนๆ ทมความถเพมขนถดไป แตแทนทจะท�าการตรวจสอบเพยงวาค�านนอยในเอกสาร
หมายเลขใดบางแลวน�ามารวมกน แตจะตองมการตรวจสอบต�าแหนงของค�าสองค�านนวาปรากฏ
ในเอกสารใหสอดคลองกบในขอค�าถามหรอไม ตวอยางการท�างานอธบายไดดงตวอยางท 2-2
brian, 7850:
<1, 4: <2, 8, 15, 45>;
3, 3: <1, 23, 26>;
9, 5: <6, 18, 26, 67, 276>;
…>
perform, 4658:
<1, 4: <3, 27, 155, 645>;
3, 5: <3, 4, 24, 27, 345>;
26, 3: <26, 78, 567>;
…>
รปท 2-3 ตวอยางการท�าดชนโดยใชต�าแหนงค�า (Positional indexing)
การคนคนสารสนเทศทเปนตวอกษรCHAP
TE
R2 TEXTUAL INFORMATION RETRIEVAL
32
ตวอยางท 2-2
วธการคนหาขอมลโดยการวธใชดชนแบบต�าแหนงค�า
ขอค�าถาม: “Brian performs swimming in China” ซงจะไดค�าทตองการเปรยบ
เทยบคอ brian, perform, swim, china จากไฟลดชนในรปท 2-3 ในตวอยางนจะแสดงวธ
การรวมของเอกสารในโพสตงระหวางค�าวา brian และ perform ใหเหนตวอยางเทานน
1) พจารณาเฉพาะเอกสารทค�าทงสองค�าปรากฏ ในรปท 2-3 คอเอกสารหมายเลข 3
2) เปรยบเทยบต�าแหนงของ brian และ perform ในเอกสารเดยวกน ซงต�าแหนง
ของ brian จะตองนอยกวา perform อยหนงต�าแหนงซงเหมอนกบต�าแหนงในขอ
ค�าถาม
3) จากรป ค <1,3> ใชไมไดเนองจากต�าแหนงของทงสองค�าหางกน 2 ต�าแหนง ซงไม
สอดคลองกบขอค�าถาม
brian 1 23 26
perform 3 24 27
4) ท�าการตรวจสอบต�าแหนงถดไปของทงสองค�า แตต�าแหนงใหมจะตองมคามากกวา
ต�าแหนงในขอ 2 อย 3 ต�าแหนง เนองจากตองเวนชองวางใหค�าอนๆ ในขอค�าถาม
ทตองน�ามาพจารณารวมดวย ในตวอยางนคอค�าวา swim china
brian 1 23 26
perform 3 24 27
จะเหนวาคต�าแหนง <23, 24> สอดคลองกบรปแบบของขอค�าถาม ดงนนเอกสาร
หมายเลข 3 จงมความนาจะเปนทจะเปนเอกสารทผใชตองการคนหา แตการเปรยบเทยบยง
ไมเสรจสนเนองจากยงมค�าอนๆ ในขอค�าถามเหลออย ดงนนตองท�าการเปรยบเทยบอก การ
ท�างานเปนเหมอนตวอยางท 1-3 ระบบจะท�าการเปรยบเทยบคอนๆ ตอไปคอ <perform,
swim> และ <swim, china> เมอเสรจแลวน�าเอกสารทงหมดมาอนเตอรเซกกน ผลลพธทได
ค <26, 27> ใชไมไดเนองจากมต�าแหนงหางจากค <23, 24> นอยกวา 3 (26-24 = 2) ต�าแหนง ซงไมสอดคลองกบรปแบบในขอค�าถาม
ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต
33
คอเอกสารทจะน�าไปแสดงตอผใช ขอเสยหลกของวธการนคอตองการพนทบนฮารดดสกจ�านวน
มากเพอเกบขอมลสวนของโพสตง
2.3.3 การท�าดชนแบบเรยงล�าดบบลอก(Blockedsort-basedindexing)
ในบทท 1 (รปท 1-4) ไดท�าการสรางดชนแบบอนเวรทโดยสรางความสมพนธระหวาง
ค�าและเอกสารโดยใชหมายเลขเอกสารเปนตวแทนเอกสารจรงๆ ในระบบทมจ�านวนเอกสาร
ไมมาก การค�านวณหาความสมพนธระหวางค�าและความถของค�านนๆ ทปรากฏในแตละเอกสาร
ในฐานขอมลสามารถท�าไดในหนวยความจ�าหลก (RAM) แตวธการนจะไมสามารถท�าไดในกรณ
ทระบบตองท�าดชนเอกสารจ�านวนมาก แตระบบมหนวยความจ�าทนอย ดงนนในหวขอนจะ
อธบายถงวธการท�าดชนอกแบบหนงซงจะหาความสมพนธของค�าและเอกสาร และเกบขอมล
ดชนไวบนหนวยความจ�าส�ารอง เชน ฮารดดสก วธการนเรยกวา การท�าดชนแบบเรยงล�าดบ
บลอก (Blocked sort-based indexing) หรอเรยกสนๆ วา BSBI (Büttcher et al., 2010)
เทคนคนจะท�าการแทนทค�าทใชในดชนโดยใชหมายเลขค�า (termID) ซงจะไมซ�ากบค�าอนๆ
ในไฟลดชนเดยวกนและเปนตวเลขทเรยงล�าดบจากนอยไปมาก ขนตอนการท�างานของ BSBI
มดงตอไปน
1) ท�าการแบงเอกสารในฐานขอมลออกเปนชดๆ ชดละเทาๆ กน
2) ท�าการสรางความสมพนธระหวาง termID และ docID โดยดวาค�านนๆ ปรากฏใน
เอกสารใดบางและเรยงล�าดบคของ termID-docID ของขอมลแตละชดในหนวย
ความจ�าหลก
3) ท�าการรวม docID ของค�าเดยวกนเขาเปนโพสตงลสเดยวกน ผลลพธของขนตอน
นคอดชนแบบอนเวรทของขอมลในบลอกเดยวกน
4) ท�าการบนทกขอมลของดชนแบบอนเวรทในขอ 3 ลงบนฮารดดสก
5) ท�าการรวมผลของการเรยงล�าดบในขอ 4 ของทกชดขอมลในไฟลเดยวกน เพอใช
เปนไฟลดชนในการคนหาขอมลในอนาคต
การคนคนสารสนเทศทเปนตวอกษรCHAP
TE
R2 TEXTUAL INFORMATION RETRIEVAL
34
ตวอยางท 2-3 แสดงตวอยางการท�างานของวธ BSBI
1) ท�าการแบงเอกสารออกเปนชดๆ โดยในแตละชดจะท�าการหาความสมพนธระหวาง
ค�าและหมายเลขเอกสาร (docID) สมมตใหระบบมเอกสารจ�านวน 20 เอกสาร (d1,
d2, d3,…, d20) ตวอยางนจะแบงเอกสารออกเปน 2 ชดๆ ละ 10 เอกสาร และ
ก�าหนดใหค�าทจะใชท�าดชนแตละค�าม termID ดงตอไปน
ชดท 1 ชดท 2
Term termID Term termID
brian 1 bejing 7
great britain 2 china 8
perform 3 great britain 2
100m 4 freestyle 5
freestyle 5
men 6
2) ท�าการสรางความสมพนธระหวาง termID-docID สมมตใหความสมพนธระหวาง
ค�าและเอกสารเปนดงตารางดานลาง
ชดท 1 ชดท 2
termID docID termID docID
1 d1 7 d6
2 d4 8 d6
3 d2 2 d20
4 d1 5 d15
5 d1 8 d10
6 d1 5 d9
1 d4
3 d1
5 d3
ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต
35
และเรยงล�าดบคของ termID-docID ของขอมลแตละชดในหนวยความจ�าหลกจากนอยไปมาก
ชดท 1 ชดท 2
termID docID termID docID
1 d1 2 d20
1 d4 5 d9
2 d4 5 d15
3 d1 7 d6
3 d2 8 d6
4 d1 8 d10
5 d1
5 d3
6 d1
3) ท�าการรวม docID ของค�า (termID) เดยวกนเขาเปนโพสตงลสดวยกน
4) ท�าการบนทกขอมลของดชนแบบอนเวรทในขอ 3 ลงบนฮารดดสก
ชดท 1 ชดท 2
termID docID termID docID
1 d1, d4 2 d20
2 d4 5 d9, d15
3 d1, d2 7 d6
4 d1 8 d6, d10
5 d1, d3
6 d1
ฮารดดสก
การคนคนสารสนเทศทเปนตวอกษรCHAP
TE
R2 TEXTUAL INFORMATION RETRIEVAL
36
5) ท�าการรวมผลของการเรยงล�าดบในขอ 4 ของทกชดขอมลเปนไฟลเดยวกน
ดชนขอมลชด 1+2
termID docID
1 d1, d4
2 d4, d20
3 d1, d2
4 d1
5 d1, d3, d9, d15
6 d1
7 d6
8 d6, d10
เวลาทใชในการท�าดชนแบบ BSBI เทากบ O (T log T) ซง T จ�านวนของค termID-docID
รวมกบเวลาทใชท�าการแบงชดขอมลในขนตอนท 1 และเวลาทใชในการรวมดชนในขนตอน
ท 5 ขอดของวธการนคอขอมลดชนไมสญหายแมปดเครองคอมพวเตอร แตหากฮารดสกพง
ขอมลดชนจะเสยหายไปดวยเชนกน
2.3.4 การท�าดชนแบบกระจาย(Distributedindexing)
ในการคนคนขอมลในระบบเครอขายทองถน (LAN) หรอระบบเครอขายอนเทอรเนต
การท�าดชนไวในเครองคอมพวเตอรเพยงเครองเดยวถอวาเปนการท�าดชนทไมคอยม
ประสทธภาพมากนก เนองจากคอมพวเตอรเครองเดยวตองใหบรการกบผใชทงเครอขาย
ดงนนการคนคนเอกสารบนระบบเครอขายอนเทอรเนตจะใชเทคนคการท�าดชนทเรยกวา
การท�าดชนแบบกระจาย (Distributed indexing) โดยหลกการท�างานของการท�าดชนแบบ
กระจายคอ การเกบขอมลดชนไวบนเครองคอมพวเตอรตางๆ บนเครอขาย ซงขอมลดชนจะ
ถกแบงออกเปนชดๆ ตามค�าหลกหรอเรยกวา การท�าดชนแบงตามค�า (Term-partitioned
index) หรอการท�าดชนแบงตามเอกสาร (Document-partitioned index) ซงระบบการคนคน
ขอมลบนอนเทอรเนตสวนใหญจะใชวธการแบงดชนตามเอกสาร ซงจะอธบายในเนอหาสวน
ตอไปในบทน
ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต
37
ในหนงสอเลมนจะยกตวอยางการท�างานของระบบหนงทเปนทนยมใชกนในการท�า
ดชนแบบกระจาย คอการกระจายงานไปยงเครองตางๆ ในเครอขาย เพอใหชวยกนท�าดชน
วธหนงทนยมคอแมพรดวซ (MapReduce) ซงองคประกอบหลกของแมพรดวซคอ จะมเครอง
เรยกวา “เครองหลก (Master node) ท�าหนาทจายงานใหกบเครองอนๆ ในเครอขายทเรยกวา
“เครองเวรกเกอร (Worker node)” การท�างานของแมพรดวซ แสดงไดดงรปท 2-4 (Manning
et al., 2008)
รปท 2-4 ตวอยางการท�าดชนแบบกระจายโดยใชหลกการท�างานของแมพรดวซ
การท�างานของแมพรดวซประกอบดวยสองสวนคอ “ขนการแมพ (Map phase)” และ
“ขนการรดวซ (Reduce phase)” เครองหลกจะท�าการแบงงานออกเปนสวนๆ เพอกระจาย
ไปยงเครองเวรกเกอร ขนแรกเครองหลกจะท�าการแบงเอกสารทงหมดออกเปนชดๆ เรยกวา
“สปรท (Split)” ซงแตละ สปรทปรกตจะมขนาด 16-64 MB เครองหลกจะท�าการแจกจาย
สปรทไปตามเครองเวรกเกอรตางๆ เมอเครองเวรกเกอรท�าเสรจหนงสปรท เครองหลกจะท�า
การแจกสปรทถดไปใหเครองนนๆ ทท�างานเสรจ ถาหากเครองเวรกเกอรเกดขดของขณะประ
มวลผลสปรทหนงอย เครองหลกจะท�าการแจกสปรทนนๆ ใหเครองเวรกเกอรอนๆ ท�าแทน
ในสวนของขนการแมพ เครองเวรกเกอรจะท�าการสรางความสมพนธระหวางค�า (Term)
และเอกสาร (docID) หรอเรยกวา “พาเซอร (Parser)” ในรปท 2-4 ซงขนตอนการท�างานเหมอน
การคนคนสารสนเทศทเปนตวอกษรCHAP
TE
R2 TEXTUAL INFORMATION RETRIEVAL
38
กบการสรางความสมพนธ termID-docID ของวธ BSBI ในวธการนจะเรยกวาคคย (Key-value
pair) ตวอยางแสดงในรปท 2-5 แตละพาเซอรจะบนทกความสมพนธ Term-docID ในไฟลหนง
เรยกวา ไฟลเซกเมนท (Segment file) ลงบนฮารดดสกของตนเอง (Local hard drive)
Term docID
brian d1
perform d1
swim d1
brian d2
swim d2
china d2
รปท 2-5 ขนตอนการท�างานของขนการแมพ (Map phase)
ในขนการรดวซ เราตองการใหค�าหลกในกลมเดยวกน เชน ค�าหลกทขนตนดวยตวอกษร a
ถกจดเกบในทเดยวกนเพอการอานและการประมวลผลทเรวขน ดงนนในขนตอไปของขน
การแมพ จะท�าการแบงสวนของค�าหลก a-z ออกเปน j สวน ซง j ปกตจะเทากบจ�านวนของ
พาเซอร จากตวอยางในรปท 2-4 j=3 ดงนนเราจะไดชดของค�าหลกจ�านวน 3 ชด คอ a-f, g-p,
และ q-z (ในการท�างานจรงการแบงสวนของค�าหลกไมจ�าเปนตองเรยงล�าดบเหมอนในตวอยาง
กได) เครองพาเซอรจะท�าการบนทกขอมลไฟลเซกเมนทในเครองของตนเอง แตละไฟลเซกเมนท
ประกอบดวยค�าหลกแตละชด ดงนนในระบบเครอขายทงหมด ชดของค�าหลก 1 ชดจะมไฟล
เซกเมนททงหมด j ไฟลหรอเทากบจ�านวนของเครองพาเซอรนนเอง
ในสวนของขนการรดวซ เครองเวรกเกอรจะท�าหนาทในการรวมไฟลเซกเมนทตางๆ ของ
ค�าหลกชดเดยวกนเขาดวยกนหรอเรยกวา “อนเวอรเตอร (Inverter)” เครองหลกจะท�าการแจก
d1: brian perform swim
d2: brian swim chinaMap
Result
(<brian,d1>,<perform,d1>,
<swim, d1>,<br ian ,d2>,
<swim,d2>, <china, d2>)
Map: (k1, v1)->[(k2, v2)]
ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต
39
ชดของค�าหลกตางๆ ใหกบเครองอนเวอรเตอรตางกนโดยจะท�าการแจงใหเครองอนเวอรเตอร
ทราบวาไฟลเซกเมนทของค�าหลกชดเดยวอยทเครองใดบางในเครอขายและเชนเดยวกบขนการแมพ
ถาเครองใดเครองหนงขดของ เครองหลกจะท�าการแจกชดของค�าหลกนนไปใหเครองอนเวอร
เตอรอนๆ ท�าแทน หลงจากท�าการรวมไฟลเซกเมนทของค�าหลกชดเดยวกนเสรจเรยบรอยแลว
เครองจะท�าการเรยงล�าดบค�าหลกและหมายเลขเอกสารและบนทกลงฮารดดสกของตนเอง
ซงนนคอไฟลโพสตงนนเอง
Term docID Term docID
Brian d1 brian d1, d2
perform d1 perform d1
swim d1 swim d1,d2
brian d2 china d2
swim d2
china d2
รปท 2-6 ขนตอนการท�างานของขนการรดวซ (Reduce phase)
จากรปท 2-6 ตวเลขทตอจากหมายเลขเอกสารคอความถของค�าหลกทปรากฏในเอกสาร
นนๆ เชน brian (d1:1, d2:1) หมายถง brian ปรากฏใน d1 และ d2 อยางละ 1 ครง เมอระบบตองการ
คนหาขอมล ระบบจะสงขอค�าถามไปยงเครองเวรกเกอรทเกบโพสตงทสอดคลองกบค�าใน
ขอค�าถาม ซงหมายถงระบบจะสงขอค�าถามไปยงเครองตางกน ถาค�าในขอค�าถามถกเกบไวใน
โพสตงคนละเครองกน ในระบบอนเทอรเนตการท�าดชนแบบกระจายโดยการแบงตามค�าหลก
อาจจะไมคอยมประสทธภาพมากนก เนองจากตองน�าโพสตงของผลลพธมารวมกนซงมขนาด
ยาวมากและท�าใหเกดความหนาแนนของขอมลในเครอขายและเครองเวรกเกอรตองท�างานหนก
ดงนนปจจบนจงนยมใชหลกการท�าดชนแบบตามเอกสาร (Document-partitioned index)
ดงรป 2-7 โดยเอกสารทงหมดจะถกแบงออกเปนชดๆ และกระจายไปตามเครองเวรกเกอร
เครองเวรกเกอรจะเกบขอมลดชนทงหมดของเอกสารชดทตนเองไดไวในฮารดดสกของตนเอง
เมอระบบตองการขอค�าถาม ขอค�าถามจะถกท�าส�าเนาและสงไปใหทกเครองในเครอขายๆ
หลงจากนนผลของการคนหาขอมลของทกเครองเวรกเกอรจะถกน�ามารวมกนกอนทจะแสดงตอ
ผใช ขอดของวธการนคอการคนหาขอมลท�าไดเรวและไมกอใหเกดความหนาแนนของขอมล
ในเครอขาย แตขอเสยคอ การค�านวณความคลายคลงระหวางขอค�าถามและเอกสารท�าไดยาก
(<brian,(d1:1,d2:1)>,
<perform,(d1:1)>,
<swim, (d1:1,d2:1)>,
<china, (d2:1)>)
Reduce Result
Reduce: (k2, [v2])->[(k3,v3)]
การคนคนสารสนเทศทเปนตวอกษรCHAP
TE
R2 TEXTUAL INFORMATION RETRIEVAL
40
2.3.5 การท�าดชนแบบไดนามก(Dynamicindexing)
เทคนคการท�าดชนทผานมาเปนวธการทรองรบลกษณะการท�างานในระบบทจ�านวน
เอกสารในฐานขอมลไมคอยเปลยนแปลงหรอไมมการเปลยนแปลงเลย แตในความเปนจรงใน
ระบบหนงๆ การท�างานจะมการเพมเตมเอกสาร ลบเอกสาร หรอปรบปรงขอมลในเอกสาร
อยตลอดเวลา ซงหมายความวามการเพมค�าหลกใหมๆ เขามาในระบบหรอค�าหลกบางค�าถกลบ
ออกไป ซงสงผลตอความถกตองของขอมลในดกชนนารและโพสตง ดงนนจงมความจ�าเปนอยางยง
เมอมการเพมเตม ลบ หรอปรบปรงเอกสาร ระบบตองตามไปปรบปรงขอมลในดกชนนาร
และโพสตงดวยเชนกน วธการทงายทสดส�าหรบการปรบปรงขอมลในดกชนนารและโพสตงคอ
ท�าดชนใหมเปนประจ�าเชนทกๆ เดอน วธการนเหมาะกบระบบทมการเปลยนแปลงเอกสาร
ไมมากนกและมหนวยความจ�าหรอฮารดดสกมากพอทจะจดเกบไฟลดชนใหมและเกาพรอมกน
เนองจากขณะทสรางไฟลดชนใหม ระบบยงจ�าเปนตองใชไฟลดชนเกาไปกอนเพอรองรบการขอ
ค�าถามของผใชขณะท�าการปรบปรงขอมลใหม
อยางยงเมอมการเพมเตม ลบ หรอปรบปรงเอกสาร ระบบตองตามไปปรบปรงขอมลในดกชนนารและโพสตงดวยเชนกน วธการทงายทสดสาหรบการปรบปรงขอมลในดกชนนารและโพสตงคอทาดชนใหมเปนประจาเชนทกๆ เดอน วธการนเหมาะกบระบบทมการเปลยนแปลงเอกสารไมมากนกและมหนวยความจาหรอฮารดดสกมากพอทจะจดเกบไฟลดชนใหมและเกาพรอมกน เนองจากขณะทสรางไฟลดชนใหม ระบบยงจาเปนตองใชไฟลดชนเกาไปกอนเพอรองรบการขอคาถามของผใชขณะทาการปรบปรงขอมลใหม
รปท 2-7 ขนตอนการทางานของการทาดชนแบบแบงตามเอกสาร (Document-partitioned index)
อกเทคนคหนงคอการทาดชนหลก (Main indexing) และการทาดชนรอง (Auxiliary indexing)ซงดชนหลกจะทาการเกบขอมลดชนเดมของระบบทงหมดบนฮารดดสกและดชนรองจะทาการดชนของเอกสารใหมๆ ท เ พมเขามา ซงการทาดชนสารองนจะทาในหนวยความจาหลก สวนการคนหาขอมลจะทาการคนหาบนดชนทงสองแบบและผลลพธสดทายจะถกนามารวมกน หากมการลบเอกสาร ขอมลเอกสารทโดนลบจะถกเกบไวในตวแปรบทเวกเตอร (Bit vector) ซงจะเกบสถานะของไฟลตางๆ แบบตรรกศาสตร (True, False) ถาเอกสารใดมสถานะเปน False เราสามารถลบผลลพธจากการคนหาทเกยวของกบ
รปท 2-7 ขนตอนการท�างานของการท�าดชนแบบแบงตามเอกสาร (Document-
partitioned index)
อกเทคนคหนงคอการท�าดชนหลก (Main indexing) และการท�าดชนรอง (Auxiliary
indexing) ซงดชนหลกจะท�าการเกบขอมลดชนเดมของระบบทงหมดบนฮารดดสกและดชนรอง
จะท�าการดชนของเอกสารใหมๆ ทเพมเขามา ซงการท�าดชนส�ารองนจะท�าในหนวยความจ�าหลก
ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต
41
สวนการคนหาขอมลจะท�าการคนหาบนดชนทงสองแบบและผลลพธสดทายจะถกน�ามารวมกน
หากมการลบเอกสาร ขอมลเอกสารทโดนลบจะถกเกบไวในตวแปรบทเวกเตอร (Bit vector)
ซงจะเกบสถานะของไฟลตางๆ แบบตรรกศาสตร (True, False) ถาเอกสารใดมสถานะเปน
False เราสามารถลบผลลพธจากการคนหาทเกยวของกบเอกสารนนๆ ออกไปกอนทจะแสดง
ตอผใช เมอไหรกตามทขอมลดชนส�ารองมขนาดใหญระดบหนง ขอมลนจะถกน�าไปรวมกบ
ขอมลในดชนหลก ขอจ�ากดส�าคญของวธการท�าดชนแบบนคอท�าใหการคนหาขอมลชาลง
เนองจากตองคนหาขอมลจากสองแหลงและน�าผลลพธมารวมกนกอนทจะแสดงตอผใช และ
การบ�ารงรกษาระบบท�าไดยาก บางระบบจงไมนยมใชวธนแตจะใชวธการสรางดชนและโพสตง
ใหมทงหมดตามชวงเวลาทเหมาะสม
2.4 การค�านวณน�าหนกของค�า
ในบทท 1 หวขอ 1.6 ไดอธบายพนฐานการท�างานของการประมวลผลขอค�าถามไปแลว
ดงนนในบทนจะเนนในสวนของเนอหาการค�านวณเพอหาความเหมอนระหวางขอค�าถามและ
เอกสาร การคนหาขอมลแบบตรรกศาสตรนน ผลของการเปรยบเทยบระหวางค�าหลกในขอ
ค�าถามและค�าในดชนเปนไดเพยงสองแบบคอ ใช (True/Yes) หรอไมใช (Fault/No) ซงวธน
ไมคอยมประสทธภาพ เนองจากเอกสารทไมมค�าในขอค�าถามบางค�าอาจจะมความเกยวของ
หรอสมพนธกบขอค�าถามกไดและไมควรตดทงไป ดงนนเนอหาในสวนนจะยกตวอยางวธการ
หาความคลายคลงกนระหวางขอค�าถามและเอกสารแบบตางๆ ทมความยดหยดมากกวาแบบ
ตรรกศาสตรและความคลายคลงระหวางขอค�าถามและเอกสารผลลพธจะแสดงเปนตวเลข
0 ถง 1 [0,1] กอนทจะค�านวณความคลายคลงกนไดนน ค�าแตละค�าในเอกสารจะมการให
น�าหนก (Weight) กอน
2.4.1 การใหน�าหนกค�าตามความถ(Termfrequency)
การใหน�าหนกค�านจะขนอยกบความถของการปรากฏ (Occurrence) ของค�านนๆ วธ
การทงายทสดคอการใหน�าหนกของค�าเทากบความถของการปรากฏของค�านนๆ ซงเรยกวา
“ความถของค�า (Term frequency, tf)” ซงใชสญลกษณ tft,d ซง t หมายถงค�าหลกและ d
หมายถงเอกสาร จะเหนวาเทคนคนใหความส�าคญของความถของค�าเปนหลก แตต�าแหนง
หรอล�าดบของค�าทปรากฏไมไดถกน�ามาพจารณาในการใหน�าหนก (แตกตางจากวธการคนหา
การคนคนสารสนเทศทเปนตวอกษรCHAP
TE
R2 TEXTUAL INFORMATION RETRIEVAL
42
ขอมลแบบตรรกศาสตรซงตองท�าการเรยงล�าดบค�าตามตวอกษร) ตวอยางเชน D1:“Athletes
from USA perform in China” และ D2:“Athletes from China perform in USA” จะ
ถกพจารณาวาเปนเอกสารทเหมอนกน เนองจากความถของค�าแตละค�าในเอกสารมคาเทากน
วธการนรจกกนอกชอหนงวา “ถงของค�า (Bag of words)” ตวอยางถงของค�าจากเอกสาร D1
และ D2 แสดงดงรป 2-8
D1
ค�า ความถ
athlete 1
usa 1
perform 1
china 1
D2
ค�า ความถ
athlete
usa 1
perform 1
china 1
รปท 2-8 ถงของค�าในเอกสาร D1 และ D2
หลกการของวธการนคอเอกสารใดๆ ทมถงของค�าเหมอนกนจะถกพจารณาวา เนอหา
ในเอกสารดงกลาวเหมอนกน ซงจะเหนวาจรงๆ แลวเนอหาในเอกสาร D1 และ D2 ตางกน
ดงนนวธการนจงมประสทธภาพต�าในการคนหาเอกสาร เพราะบางเอกสารอาจจะไมตรงกบ
สงทผใชตองการ แตเนองจากค�าในเอกสารมคาตรงกบขอค�าถาม ดงนนเอกสารจงถกดงมาเปน
ผลลพธนนเอง
2.4.2 การใหน�าหนกค�าแบบIDF(Inversedocumentfrequency)
เนองจากวธถงของค�าจะพจารณาความถของค�าเปนหลก ซงมขอเสยตามทยกตวอยาง
ในหวขอทแลว ดงนนในหวขอนจะแนะน�าวธการทปรบปรงจากวธการถงของค�า โดยจะน�า
ความถของเอกสาร (Document frequency-df) มาพจารณาดวย (Karen Sparck Jones,
1972) ความถของเอกสารหมายถง จ�านวนของเอกสารทงหมดในฐานขอมลทค�า t ปรากฏ
วธการนจะท�าใหเกดความยตธรรมส�าหรบค�าทมความถของค�าสงในเอกสารใดเอกสารหนง
เทานน แตปรากฏในเอกสารอนๆ ไมมาก ดงนนวธการนจะท�าการปรบคาน�าหนกของค�าใหม
ความยตธรรมมากขน โดยค�าทปรากฏในเอกสารจ�านวนนอยๆ จะมน�าหนกสงขนและค�าทม
ปรากฏในเอกสารจ�านวนมากจะถกท�าใหมน�าหนกต�าลง วธการนเรยกวา “ความถเอกสารแบบ
ผกผน (inverse document frequency-idf)” ซงค�านวณไดจากสมการท (2-1)
ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต
43
ปรากฏในเอกสารจานวนมากจะถกทาใหมนาหนกตาลง วธการนเรยกวา “ความถเอกสารแบบผกผน (inverse document frequency-idf)”ซงคานวณไดจากสมการท (2-1)
tt df
Nidf log (2-1)
Nคอจานวนเอกสารทงหมดในฐานขอมล ตวอยางเชนในรปท 2-9 แสดงคา dfและ idfจากเอกสารทงหมด 806,791 เอกสาร ในสมการท (2-1)การหา idfคานวณจาก dfของแตละเทอมและใชลอการทมฐาน 10
คา dft idft
athlete 18,165 1.65
swim 6,723 2.08
medal 19, 241 1.62
victory 25,235 1.5
รปท 2-9ตวอยางของคาdfและการคานวณหาคา idfโดยใชใชลอการทมฐาน 10
2.4.3 การใหนาหนกแบบtf‐idf วธการอกอนหนงในการใหนาหนกคาคอการรวมวธการของ tfและidf มารวมกนในการคานวณ โดยใชสมการท (2-2)(Salton and Buckley, 1988)
(2-1)
N คอจ�านวนเอกสารทงหมดในฐานขอมล ตวอยางเชน ในรปท 2-9 แสดงคา df และ
idf จากเอกสารทงหมด 806,791 เอกสาร ในสมการท (2-1) การหา idf ค�านวณจาก df ของ
แตละเทอมและใชลอการทมฐาน 10 (รปท 2-9)
ค�า dft
idft
athlete 18,165 1.65
swim 6,723 2.08
medal 19, 241 1.62
victory 25,235 1.5
รปท 2-9 ตวอยางของคา df และการค�านวณหาคา idf โดยใชลอการทมฐาน 10
2.4.3 การใหน�าหนกแบบtf-idf
วธการอกอนหนงในการใหน�าหนกค�าคอการรวมวธการของ tf และ idf มารวมกนใน
การค�านวณ โดยใชสมการท (2-2) (Salton and Buckley, 1988)
tdtdt idftfidftf ,, (2-2)
วธการนเปนการคานวณนาหนกของคา t ในเอกสาร d ซง
1) จะมนาหนกสง ถาt ปรากฏบอยครงในเอกสารจานวนไมมากนก (ซงแสดงวา t เปนคาทใชเปนตวแทนสาหรบเอกสารเหลานนได)
2) จะมนาหนกตาลง ถา t ปรากฏนอยครงในเอกสารหนง หรอปรากฏบอยครงในเอกสารจานวนมาก (ซงแสดงวา t เปนคาทไมสามารถเปนตวแทนของเอกสารได)
3) จะมนาหนกตาสด ถา tปรากฏในทกๆ เอกสาร (ซงแสดงวาt อาจจะเปนคาทไมสาคญและไมสามารถใชเปนตวแทนเอกสารใดๆ ได)
สมการท (2-3) แสดงสตรการหาความคลายคลงระหวางขอคาถามและเอกสารโดยใชเทคนคการใหนาหนกคาแบบ tf-idf
qt
dtidftfdqsim ,),( (2-3)
ตวอยางท 2 -4 จงหาคานาหนกของคาหลกของแตละเอกสารในตารางดานลาง โดยใชเทคนค tf-idf และคา idf ในรปท 2-10 และหาคาความคลายคลงระหวางขอคาถามq(athlete, swim, medal)ตอเอกสารทงสามเอกสาร
คา/เอกสาร Doc1 Doc2 Doc3
athlete 16 0 37
swim 8 29 34
medal 23 0 45
victory 9 27 0
(2-2)
วธการนเปนการค�านวณน�าหนกของค�า t ในเอกสาร d ซง
1) จะมน�าหนกสง ถา t ปรากฏบอยครงในเอกสารจ�านวนไมมากนก (ซงแสดงวา t
เปนค�าทใชเปนตวแทนส�าหรบเอกสารเหลานนได)
2) จะมน�าหนกต�าลง ถา t ปรากฏนอยครงในเอกสารหนง หรอปรากฏบอยครงใน
เอกสารจ�านวนมาก (ซงแสดงวา t เปนค�าทไมสามารถเปนตวแทนของเอกสารได)
3) จะมน�าหนกต�าสด ถา t ปรากฏในทกๆ เอกสาร (ซงแสดงวา t อาจจะเปนค�าทไม
ส�าคญและไมสามารถใชเปนตวแทนเอกสารใดๆ ได)
การคนคนสารสนเทศทเปนตวอกษรCHAP
TE
R2 TEXTUAL INFORMATION RETRIEVAL
44
ตวอยางท 2-4
สมการท (2-3) แสดงสตรการหาความคลายคลงระหวางขอค�าถามและเอกสารโดยใช
เทคนคการใหน�าหนกค�าแบบ tf-idf
tdtdt idftfidftf ,, (2-2)
วธการนเปนการคานวณนาหนกของคา t ในเอกสาร d ซง
1) จะมนาหนกสง ถาt ปรากฏบอยครงในเอกสารจานวนไมมากนก (ซงแสดงวา t เปนคาทใชเปนตวแทนสาหรบเอกสารเหลานนได)
2) จะมนาหนกตาลง ถา t ปรากฏนอยครงในเอกสารหนง หรอปรากฏบอยครงในเอกสารจานวนมาก (ซงแสดงวา t เปนคาทไมสามารถเปนตวแทนของเอกสารได)
3) จะมนาหนกตาสด ถา tปรากฏในทกๆ เอกสาร (ซงแสดงวาt อาจจะเปนคาทไมสาคญและไมสามารถใชเปนตวแทนเอกสารใดๆ ได)
สมการท (2-3) แสดงสตรการหาความคลายคลงระหวางขอคาถามและเอกสารโดยใชเทคนคการใหนาหนกคาแบบ tf-idf
qt
dtidftfdqsim ,),( (2-3)
ตวอยางท 2 -4 จงหาคานาหนกของคาหลกของแตละเอกสารในตารางดานลาง โดยใชเทคนค tf-idf และคา idf ในรปท 2-10 และหาคาความคลายคลงระหวางขอคาถามq(athlete, swim, medal)ตอเอกสารทงสามเอกสาร
คา/เอกสาร Doc1 Doc2 Doc3
athlete 16 0 37
swim 8 29 34
medal 23 0 45
victory 9 27 0
(2-3)
จงหาคาน�าหนกของค�าหลกของแตละเอกสารในตารางดานลาง โดยใชเทคนค
tf-idf และคา idf ในรปท 2-10 และหาคาความคลายคลงระหวางขอค�าถาม
q(athlete, swim, medal) ตอเอกสารทงสามเอกสาร
ค�า/เอกสาร Doc1 Doc2 Doc3
athlete 16 0 37
swim 8 29 34
medal 23 0 45
victory 9 27 0
รปท 2-10 ค�าและความถของค�าในเอกสารตางๆ
1) ขนแรกตองท�าการหาคา tf ของแตละค�าของแตละเอกสาร ซงตวอยางนตวเลขท
อยในรปท 2-10 คอความถของแตละค�า
2) จากสมการท (2-2) จะหาคา tf-idfathlete, Doc1 = 16 x 1.65 = 26.40 (รปท 2-11)
ค�า/เอกสาร Doc1 Doc2 Doc3
athlete 26.40 0.00 61.05
swim 16.64 60.32 70.72
medal 37.26 0.00 72.90
victory 13.50 40.50 0.00
รปท 2-11 ผลการค�านวณหาน�าหนกของแตละค�าโดยใชเทคนค tf-idf
ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต
45
3) ค�านวณความคลายคลงระหวางขอค�าถามและเอกสารโดยใชสมการท (2-3)
ตวอยางเชน
ค�า/เอกสาร Doc1 Doc2 Doc3
athlete 26.40 0.00 61.05
swim 16.64 60.32 70.72
medal 37.26 0.00 72.90
victory 13.50 40.50 0.00
sim(q,d) 80.30 60.32 204.67
รปท 2-12 ผลการค�านวณความคลายคลงกนระหวางขอค�าถามและเอกสารตางๆ
จากคาความคลายคลงกนระหวางขอค�าถามและเอกสาร sim(q,d) ระบบจะท�าการ
เรยงล�าดบเอกสารตามคาความคลายคลงกนจากมากไปนอย ซงในตวอยางนไดแก Doc3
Doc1 และ Doc2 ตามล�าดบวธการค�านวณหาความคลายคลงระหวางขอค�าถามและเอกสาร
แบบนเรยกวา การวดความคลายคลงกนจากการซอนทบ (Overlap score measure) และวธ
การแสดงความสมพนธระหวางค�าและเอกสารในรปแบบของตารางในรปท 2-12 มชอเรยกวา
เมทรกซค�า-เอกสาร (Term-document matrix)
2.5 ตวแบบพนทเวกเตอร
ตวแบบพนทเวกเตอร (Vector space model) เปนเทคนคทคดคนโดย Salton (1975)
ซงเปนวธทใชหาความคลายคลงกนระหวางเอกสารและขอค�าถาม เอกสารตางๆ จะถกอธบาย
โดยใชคณลกษณะ (Features) เชน ค�าหลกทปรากฏในเอกสารนนๆ
จากคาความคลายคลงกนระหวางขอคาถามและเอกสาร sim(q,d) ระบบจะทาการเรยงลาดบเอกสารตามคาความคลายคลงกนจากมากไปนอย ซงในตวอยางนไดแก Doc3 Doc1 และ Doc2 ตามลาดบวธการคานวณหาความคลายคลงระหวางขอคาถามและเอกสารแบบนเรยกวา การวดความคลายคลงกนจากการซอนทบ (Overlap score measure)และวธการแสดงความสมพนธระหวางคาและเอกสารในรปแบบของตารางในรปท 2-12 มชอเรยกวา เมทรกซคา-เอกสาร (Term-document matrix)
2.5 ตวแบบพนทเวกเตอร
ตวแบบพนทเวกเตอร (Vector space model) เปนเทคนคทคดคนโดย Salton (1975) ซงเปนวธทใชหาความคลายคลงกนระหวางเอกสารและขอคาถาม เอกสารตางๆ จะถกอธบายโดยใชคณลกษณะ (Features) เชน คาหลกทปรากฏในเอกสารนนๆ
�� � ����� ���� ���� � � ���� � � ���)
โดยท d1คอหมายเลขเอกสาร aij คอคณลกษณะทใชอธบายเอกสาร ซงคาของมนแสดงถงความสาคญของคณลกษณะนนๆ ตอเอกสาร d1 และ n คอจานวนของคณลกษณะทงหมดหรอเรยกวา มตของพนทเวกเตอร (Dimensionality of the vector space) เราสามารถจาลองความสมพนธระหวาง คาหลกและเอกสาร โดยใชแบบจาลองพนทเวกเตอร ซงสามารถแสดงในรปแบบของตาราง เรยกวา เมทรกซคา-เอกสาร ซงเมทรกซคา-เอกสารน แถวคอ คา (Term) และคอลมนคอ หมายเลขเอกสาร (docID)แสดงไดดงรปท 2-13
mnmm
ij
n
n
aaaa
aaaaaa
D
... ... ... ...
... ...
2 1
22221
112 11
รปท 2-13 ตวอยางเมทรกซคา-เอกสาร (Term-document matrix)
โดยท d1คอหมายเลขเอกสาร a
ij คอคณลกษณะทใชอธบายเอกสาร ซงคาของมนแสดง
ถงความส�าคญของคณลกษณะนนๆ ตอเอกสาร d1 และ n คอจ�านวนของคณลกษณะทงหมด
หรอเรยกวา มตของพนทเวกเตอร (Dimensionality of the vector space) เราสามารถ
การคนคนสารสนเทศทเปนตวอกษรCHAP
TE
R2 TEXTUAL INFORMATION RETRIEVAL
46
จ�าลองความสมพนธระหวาง ค�าหลกและเอกสาร โดยใชแบบจ�าลองพนทเวกเตอร ซงสามารถ
แสดงในรปแบบของตาราง เรยกวา เมทรกซค�า-เอกสาร ซงเมทรกซค�า-เอกสารน แถวคอ ค�า
(Term) และคอลมนคอ หมายเลขเอกสาร (docID) แสดงไดดงรปท 2-13
=
mnmm
ij
n
n
aaaa
aaaaaa
D
... ... ... ...
... ...
2 1
22221
112 11
รปท 2-13 ตวอยางเมทรกซค�า-เอกสาร (Term-document matrix)
โดยท aij คอน�าหนกของค�าหลก i ในเอกสาร j และ m คอจ�านวนของเอกสารทงหมด
ในฐานขอมล เมทรกซค�า-เอกสารนเปนพนฐานทส�าคญของการคนคนขอมลและใชในการค�า
นวณหลายๆ อยาง เชน การค�านวณความคลายคลงระหวางขอค�าถามและเอกสาร การจดกลม
เอกสาร (Document clustering) และการจ�าแนกประเภทเอกสาร (Document classifica-
tion) ซงในบทนจะเรมท�าความเขาใจกบการท�างานของแบบจ�าลองพนทเวกเตอร กอนและน�า
ไปประยกตใชในการค�านวณหาคะแนนของเอกสารและความคลายคลงกนระหวางเอกสารและ
ขอค�าถามดงตวอยางท 2-4
กลมของเอกสารทงหมดในฐานขอมลสามารถถกมองเปนกลมของเวกเตอรในระบบ
พนทเวกเตอร โดยทเอกสารแตละเอกสารสามารถน�าเสนอในรปแบบของเสนตรงทลาก
จากจดพกด (0,0) ไปยงจดของเอกสารนนๆ บนพนทเวกเตอร เราใชสญลกษณ )( 1dv แทน
เวกเตอร เอกสารท 1 ขอเสยของการใชระบบพนทเวกเตอรคอ ล�าดบของค�าจะไมถกเกบขอมล
ไว ซงท�าใหสญเสยความหมายหรอเนอหาของเอกสารไป ลกษณะของปญหาเหมอนเทคนคถง
ของค�าในหวขอ 2.4 นนคอระบบจะมองวา D1:“Athletes from USA perform in China”
และ D2:“Athletes from China perform in USA” มความเหมอนกน ในการพจารณาความ
เหมอนระหวางเอกสาร 2 เอกสารโดยใชระบบพนทเวกเตอร นนสามารถท�าไดโดยหาความตาง
ระหวางมม (Magnitude different) ของเวกเตอรเอกสารบนพนทเวกเตอร ดงรปท 2-14 จาก
รป )( 1dv เหมอน )( 2dv มากกวา )( 3dv เนองจากคาความตางระหวาง )( 1dv และ )( 2dv มนอย
กวา )( 1dv และ )( )( 3 γθ <dv
ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต
47
ขอคาถาม,( 11 wq
คาทงหมดใเอกสารเพระหวางจาระดบหนง
2.6 กา
ควโดยคานวณเหมอนกนเพอหาคาคพนท เวกเ
,( 21 xxx
2.6.1 กา
รปท 2
มสามารถแส,..,, 32 jwww
ในขอคาถาม เพมขนและจานานวนเอกสารแจานวนคาจะเ
ารวดความค
วามคลายคลงณออกมาเปนตหรอคลายคลงความคลายคลเตอร กาหน
),...,,...,2 nj xx
ารวดความคลา
0
1
bria
n
2-14 เปรยบเทย
สดงไดในรปแ),.., nw โดยท
เราใชสญลกษณนวนคา (n)จะและจานวนคาเพมขนนอยลงห
ลายคลงกนร
(Similarity)ใตวเลข ตวเลขทงกนมากกวาตงกนระหวาง ขนดให ,( yxsim
และ ,( 1yy
ายคลงโดยใช
��
�
�
swim
ยบความเหมอนก
แบบเวกเตอท��คอนาหนกณ )( 1qv
แทนเวะเพมขนตามไไมแปรผนตรงหรออาจจะคง
ระหวางขอคา
ใชเปนตวบอกถทมคามากโดยตวเลขทมคานอขอคาถามและ)y คอคาควา
,...,,...,2 j yyy
Inner pro
���(��)���(
1
กนระหวางเอกสา
ร ไ ด เ ชนเดยของคาในขอควกเตอร ของขปดวย แตอยงเสมอไป เมอทกได
าถามและเอก
ถงความเหมอนปกตจะแสดงวอย ในหวขอนะเอกสารโดยใชมคลายคลงร)n
oduct
���(
(��)
ารตางๆ
ยวกบเอกสาคาถามและ n อคาถามท 1 างไรกตามควจานวนเอกสา
กสาร
นกนระหวางววาวตถ 2 อนนจะแนะนาวธกชหลกการของระหวาง xแล
��)
าร นนคอคอจานวนเมอจานวน
วามสมพนธารเพมขนถง
วตถ 2 อนนนนมความการคานวณแบบจาลองละ yโดยท
รปท 2-14 เปรยบเทยบความเหมอนกนระหวางเอกสารตางๆ ในตวแบบเวกเตอร
ขอค�าถามสามารถแสดงไดในรปแบบเวกเตอร ไดเชนเดยวกบเอกสาร นนคอ ),..,,..,,,( 3211 nj wwwwwq = โดยท คอน�าหนกของค�าในขอค�าถามและ n คอจ�านวน
ค�าทงหมดในขอค�าถาม เราใชสญลกษณ )( 1qv แทนเวกเตอร ของขอค�าถามท 1 เมอจ�านวน
เอกสารเพมขนและจ�านวนค�า (n) จะเพมขนตามไปดวย แตอยางไรกตามความสมพนธระหวาง
จ�านวนเอกสารและจ�านวนค�าไมแปรผนตรงเสมอไป เมอจ�านวนเอกสารเพมขนถงระดบหนง
จ�านวนค�าจะเพมขนนอยลงหรออาจจะคงทกได
2.6 การวดความคลายคลงกนระหวางขอค�าถามและเอกสาร
ความคลายคลง (Similarity) ใชเปนตวบอกถงความเหมอนกนระหวางวตถ 2 อนโดย
ค�านวณออกมาเปนตวเลข ตวเลขทมคามากโดยปกตจะแสดงวาวตถ 2 อนนนมความเหมอน
กนหรอคลายคลงกนมากกวาตวเลขทมคานอย ในหวขอนจะแนะน�าวธการค�านวณเพอหาคา
ความคลายคลงกนระหวาง ขอค�าถามและเอกสารโดยใชหลกการของแบบจ�าลองพนทเวกเตอร
ก�าหนดให ),( yxsim คอคาความคลายคลงระหวาง x และ y โดยท ),...,,...,,( 21 nj xxxxx =
และ ),...,,...,,( 21 nj yyyyy =
การคนคนสารสนเทศทเปนตวอกษรCHAP
TE
R2 TEXTUAL INFORMATION RETRIEVAL
48
2.6.1 การวดความคลายคลงโดยใชInnerproduct
∑=
×=n
iii yxyxsim
1),( (2-4)
วธการนจะน�าคา x และ y เฉพาะคทมคามากกวาศนยมาค�านวณ หากคใดมสมาชกม
คาเปนศนย คนนจะถกตดทงไป ซงวธการนไมไดน�าคณลกษณะทงหมดของเวกเตอร x และ
y มาพจารณาซงท�าใหเกดการไมยตธรรม (Bias) เกดขนตวอยางเชน
ให x = (1, 1, 1, 1, 1) และ y = (1, 1, 1, 1, 1) ดงนนจากสมการท (2-4) เราจะหา
คา sim(x,y) = (1)(1)+(1)(1)+(1)(1)+(1)(1)+(1)(1) = 5
และถา a = (1,1,1,1,1,0,0,0,0,0) และ b = (1,1,1,1,1,0,0,0,0,0)
ถาเราค�านวณหาความคลายคลง sim(a,b) = 5 เชนกน
จะเหนวาผลลพธของการหาความคลายคลงออกมามคาเทากน แตทงสองกรณควรม
ความคลายคลงทตางกนเนองจาก x, y เหมอนกน 100% ในขณะท a, b เหมอนกนเพยง 50%
เทานน
2.6.2 การวดความคลายคลงโดยใช Diceco-efficient
∑∑
∑
==
=
+
×= n
ii
n
ii
n
iii
yx
yxyxsim
11
12
),( (2-5)
วธการค�านวณโดยใช Dice co-efficient (Sørensen, 1948) นจะท�าการพจารณา
คณลกษณะทงหมดของทงสองเวกเตอร ซงท�าใหเกดการยตธรรมมากขนกวาแบบ Inner product
2.6.3 การวดความคลายคลงโดยใชOverlapco-efficient
),(),(
1 1
1
∑ ∑
∑
= =
=
×= n
i
n
iii
n
iii
yxMIN
yxyxsim
(2-6)
มลกษณะคลายการค�านวณแบบ Dice co-efficient แตมความแตกตางกนกคอวธ
การใชคานอยสดของผลรวมของคณลกษณะมาเปนตวหาร ซงเปนอกวธหนงทท�าใหเกดความ
ยตธรรมมากกวาแบบ Inner product
ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต
49
ตวอยางท 2-5
2.6.4 การวดความคลายคลงโดยใชCosine
2/1
1 1
22
1
)(),(
∑ ∑
∑
= =
=
×
×= n
i
n
iii
n
iii
yx
yxyxsim (2-7)
เปนวธการหาคลายคลงกนจากคาความตางของมมของวตถ 2 อนทเกดขนบนพนท
เวกเตอร ดงแสดงในรปท 2-14 ซงความคลายคลงกนแบบโคซายน (Cosine) (Singhal,
2001) นจะมคาอยระหวาง 0-1 เทานน วธการนเปนทนยมและมประสทธภาพสงในการวด
ความคลายคลงระหวางวตถ 2 อนและถกน�ามาประยกตใชกบศาสตรการคนคนขอมลอยาง
แพรหลาย ซงตวหารมชอเรยกเฉพาะวาระยะหางยคลเดยน (Euclidean distance) ซงวธการ
นจะมประสทธภาพในกรณทเอกสาร 2 เอกสารมความยาวไมเทากนหรอท�าใหมความยตธรรม
ตอเอกสารทสนกวานนเอง
จากรปท 2-10 จงหาความคลายคลงกนของเอกสาร sim(Doc1, Doc2) และ
sim(Doc1, Doc3) โดยใชวธวดคลายคลงแบบโคซายน มขนตอนดงตอไปน
1) ค�านวณหา Document vector จะได
Doc1 = ((16^2)+(8^2)+(23^2)+(9^2))1/2 = 30.50
Doc2 = ((0^2)+(29^2)+(0^2)+(27^2))1/2 = 39.62
Doc3 = ((37^2)+(34^2)+(45^2)+(0^2))1/2 = 67.45
2) ค�านวณ Term vector (tfi / Document lengths) เชน athlete = 16/30.50 = 0.52
ค�า/เอกสาร Doc1 Doc2 Doc3
athlete 0.52 0 0.55
swim 0.26 0.73 0.50
medal 0.75 0 0.67
victory 0.30 0.68 0.00
รปท 2-15 คา Term vector ของแตละค�าในเอกสารตางๆ
การคนคนสารสนเทศทเปนตวอกษรCHAP
TE
R2 TEXTUAL INFORMATION RETRIEVAL
50
ตวอยางท 2-6
3) ค�านวนหา sim(Doc1, Doc2) และ sim(Doc1, Doc3)
sim(Doc1, Doc2) = (0.52*0+0.26*0.73+0.75*0+0.30*0.68)((0.522+0.262+0.752+0.302)*(0.732+0.682))1/2 = 0.393
sim(Doc1, Doc3) = (0.52*0.55+0.26*0.50+0.75*0.67+0.30*0)((0.522+0.262+0.752+0.302)*(0.552+0.502+0.672))1/2 = 0.923
สรปไดวา Doc1 ใกลเคยงกบ Doc3 มากกวา Doc2
ถาผใชใสขอค�าถาม q1= swim medal จงหาเรยงล�าดบเอกสารทมความคลายคลง
กบ q1 จากมากไปหานอย โดยใชขอมลจากรปท 2-10 และตวอยางท 2-5
1) แปลงขอค�าถามใหอยในรปของเวกเตอรขอค�าถาม
q1 = (0, 1, 1, 0)
2) ค�านวณหาเวกเตอรขอค�าถามจะได
q1= (1^2+1^2)1/2 = 1.41
3) หาเวกเตอรของค�าหลกในขอค�าถาม (Term vector)
ค�า/เอกสาร Doc1 Doc2 Doc3 q1
athlete 0.52 0 0.55 0
swim 0.26 0.73 0.50 0.71
medal 0.75 0 0.67 0.71
victory 0.30 0.68 0.00 0
รปท 2-16 คา Term vector ของเอกสารตางๆ และของขอค�าถาม
4) ค�านวนหา sim(q1,Doc1), sim(q
1,Doc2) และ sim(q
1,Doc3)
sim(q1,Doc1) =
(0.26*0.71+0.75*0.71)((0.522+0.262+0.752+0.302)*(0.712+0.712))1/2 = 0.719
sim(q1,Doc2) =
(0.73*0.71)((0.732+0.6820)*(0.712+0.712))1/2 = 0.518
ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต
51
sim(q1,Doc3)=
(0.5*0+0.71*0.67+0.71)((0.552+0.502+0.672)*(0.712+0.712))1/2 = 0.828
ดงนนจงสามารถเรยงล�าดบเอกสารตามคาความคลายคลงกนระหวางขอค�าถามและ
เอกสารตางๆ จากมากไปนอยไดดงน Doc3, Doc1 และ Doc2
2.6.5 การวดความคลายคลงโดยใชระยะหาง(Distance)
เราสามารถใชระยะทางระหวางวตถ 2 อนทอยในพนทเดยวกนเปนตวบอกความ
คลายคลงกนของวตถ 2 อนนนได ถาวตถอยใกลกนมาก แสดงวาวตถนนๆ มความนาจะเปนท
จะมคลายคลงกนสงกวาวตถอนๆ ทอยไกลออกไปในพนทเดยวกน ดงนนเอกสารแตละเอกสาร
บนพนทเวกเตอร สามารถวดความคลายคลงกนไดโดยดจากระยะหางระหวางจดบนพนท
เวกเตอร ระยะหางระหวางเอกสารใดๆ บนพนทเวกเตอร มคณสมบตดงน
• ระยะหางระหวางเอกสารใดๆ มคาเปนบวกเสมอ
• ระยะหางจากจดของเอกสารหนงถงตวของมนเองมคาเทากบ 0
• ระยะหางจากเอกสาร A ถง B มคาเทากบระยะทาง B ถง A
• ถาระยะหางระหวางเอกสารใดๆ มคาเทากบ 0 แสดงวาเอกสารนนซอนทบกน
(Overlap)
• ระยะหางระหวางเอกสาร A และ B มคานอยกวาหรอเทากบระยะหางระหวาง
เอกสาร A และ C บวกกบระยะหางระหวางเอกสาร B และ C เสมอถา C คอ
เอกสารอนๆ บนพนทเวกเตอรเดยวกน
การวดระยะหางระหวางเอกสาร 2 เอกสารค�านวณไดจากสมการท (2-8)
∞=
−= ∑
=
...,,2 ,1 ,)(),(/1
1kyxyx
kn
i
kiiδ (2-8)
ทงนการค�านวณขนอยกบคาของ k เมอ k มคาเทากบ 1 จะเรยกสมการนวา การวด
ระยะหางแบบแมนฮทตน (Manhattan distance measure) หรอ การวดระยะหางแบบ
ซตบลอก (City block measure) หรอ การวดระยะหางแบบแฮมมง (Hamming distance
measure) ซงสมการ (2-8) จะเปลยนเปนสมการท (2-9)
การคนคนสารสนเทศทเปนตวอกษรCHAP
TE
R2 TEXTUAL INFORMATION RETRIEVAL
52
−= ∑
=
n
iii yxyx
1),(δ (2-9)
เมอคา k เทากบ 2 สมการท (2-8) จะกลายเปนการวดระยะหางแบบ Euclidean ตาม
สมการท (2-10)
2/1
1
2)(),(
−= ∑
=
n
iii yxyxδ (2-10)
และเมอคา k เทากบ ∞ จะเรยกวา การวดระยะหางแบบ Supremum หรอ การวด
ระยะหางแบบ Dominance
{ }ii yxMAXyx −=),(δ(2-11)
ในการค�านวณความคลายคลงกนระหวางเอกสาร 2 เอกสารใดๆ นนจะใชการค�านวณ
ผกผนกบการวดระยะ ดงสมการท (2-12)
),(1),( yxc
yxsim δ= (2-12)
ทงนเนองจากถาเอกสารใดๆ มระยะหางไกลมากๆ (∞) ความคลายคลงกนจะมคาเขา
ใกล 0 และถาระยะหางระหวางเอกสารใกลกนมากๆ ดงนนความคลายคลงกนระหวางเอกสาร
จะมคาเขาใกล 1 และเชนเดยวกบวธอนๆ ทไดอธบายมากอนหนาน ความคลายคลงกนระหวาง
เอกสารจะมคาอยระหวาง 0 และ 1
การวดความคลายคลงกนของเอกสารและขอค�าถามนยมใชการค�านวณแบบโคซายน
และแบบระยะหางหรอระยะทางระหวางเอกสาร (Distance) ความแตกตางระหวาง 2 วธ
นคอ การวดความคลายคลงกนแบบระยะหางนนจะค�านวณจากระยะหางระหวางเอกสาร
ในขณะทการวดคลายคลงกนแบบโคซายน นนจะค�านวณจากความแตกตางหรอมมของทศทาง
ของเอกสารทตองการค�านวณหาความคลายคลงกน
ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต
53
ประเดนนาสนใจ จากทไดอธบายไปแลวในหวขอ 2.2 ถงการก�าจดค�าทไมส�าคญทงไป เพอใหการท�าดชน
มประสทธภาพมากขน อยางไรกตามในบางกรณค�าไมส�าคญอาจจะเปนประโยชนตอการคนหา
ขอมลเมอใชในขอค�าถามบางประเภท เชน “Brian is an athlete from UK” ในขอค�าถาม
ประกอบดวยค�าทไมส�าคญ 3 ค�า คอ is an และ from ซงความหมายของขอค�าถามนคอหา
เอกสารทประกอบเกยวของกบ Brian ซงเปนนกกฬามาจากประเทศองกฤษ แตถาหากตดค�า
ทไมส�าคญทงไป จะเหลอค�าในขอค�าถามคอ “brian” AND “athlete” AND “uk” ซงระบบ
คนหาเฉพาะเอกสารทประกอบดวยค�าวา “brian” “athlete” และ “uk” ซงไมไดพจาณา
ความหมายทแทจรงของขอค�าถาม แตพจารณาเพยงวาเอกสารใดประกอบดวยค�าทมอยในขอ
ค�าถามเทานน การท�างานลกษณะนไมคอยมประสทธภาพมากนก เชน ถามเอกสารซงประกอบ
ดวยค�าวา “Brian, an athlete from Brazil, performs swimming in UK” ถาน�าเอกสารน
มาท�าดชนและตดค�าทไมส�าคญทงไป ซงจะเหลอค�าวา brian athlete brazil perform swim
uk ดงนนระบบจะคดวาเอกสารนมความคลายคลงกบขอค�าถาม เนองจากประกอบดวย ค�าวา
brian athlete และ uk เชนเดยวกบขอค�าถามทกประการ แตจะเหนวาแทจรงแลวเปนเอกสาร
ทไมตรงกบสงทผใชตองการ
ประโยคตนฉบบค�าหลกหลงจาก
ตดค�าไมส�าคญประโยคตนฉบบ
ค�าหลกหลงจาก
ตดค�าไมส�าคญBrian brian Brian brian
athlete athlete
uk brazil
athlete perform athlete perform
swim swim
UK brazil Brazil uk
performs performs
swimming swimming
Brazil UK
การคนคนสารสนเทศทเปนตวอกษรCHAP
TE
R2 TEXTUAL INFORMATION RETRIEVAL
54
ในภาษาองกฤษจะมค�ามาตรฐานกลางทถอวาเปนค�าทไมส�าคญ เชน a, an, the,
before, up, under แตในระบบคนคนสารสนเทศบางระบบอาจจะมค�าทไมส�าคญเพมเตมขน
มาจากค�ามาตรฐานทมอย เชน ระบบเกยวกบการแพทย ค�าวา “medical” หรอ “medicine”
อาจจะปรากฏในทกเอกสารในฐานขอมล ดงนนค�าเหลานถอวาเปนค�าทไมส�าคญของระบบการ
แพทยไดเชนกน ดงนนสรปไดวาในระบบคนคนสารสนเทศทตางกน จ�านวนหรอรายการค�าทไม
ส�าคญจะตางกนดวยเชนกน
ในปจจบนแนวโนมการตดค�าไมส�าคญทงมนอยลง ในระบบการคนหาขอมลบน
อนเทอรเนตบางระบบ ไมมการตดค�าไมส�าคญทงแมแตค�าเดยว เนองจากความเรวในการ
ประมวลขอมลของซพยในปจจบนเรวมากและหนวยความจ�าในคอมพวเตอรในปจจบนมขนาด
ใหญ ดงนนระบบจะท�าดชนโดยมค�าทไมส�าคญรวมอยดวย ซงจะท�าใหไฟลดชนมขนาดใหญขน
แตไมเปนปญหามากนก และความเรวในการคนหาขอมลไมผลกระทบอยางชดเจน
ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต
55
สรปเนอหาประจ�าบทSUMMARY
บทนไดอธบายรายละเอยดเพมเตมจากบทท 1 เกยวกบการคนคนขอมลแบบเอกสาร
ทเปนตวอกษร เรมจากการเปลยนรปค�า ซงม 2 วธคอ การตดสวนขยาย (Stemming) และ
การเปลยนรปค�าใหอยในรปแบบดงเดม (Lemmatization) โดยอลกอรทมทนยมในการท�าการ
ตดสวนขยายคอ Porter’s algaorithm ตอจากนนอธบายถงหลกการของค�าทไมส�าคญ (Stop
words) ค�าเหลานสามารถตดทงไดและท�าใหรายการในสวนของโพสตงในไฟลดชนสนลง ซงเปน
ผลดตอการประหยดพนทบนฮารดดสกโดยปกตในภาษาองกฤษ ค�าไมส�าคญจะมการก�าหนดไว
ชดเจนและตายตว เชน a, an, the, before, after แตในระบบคนคนสารสนเทศบางระบบอาจ
จะมค�าทไมส�าคญเพมเตมมากขนจากค�ามาตรฐานทมอย เชน ระบบเกยวกบการแพทย ค�าวา
“medical” หรอ “medicine” อาจจะปรากฏในทกเอกสารในฐานขอมล
หวขอถดมาอธบายถงรายละเอยดการท�าดชน แบบตางๆ นอกเหนอจาการท�าดชนแบบ
อนเวรท ไดแก 1) การท�าดชนแบบคเพอรองรบขอค�าถามแบบวล 2) การท�าดชนจากต�าแหนง
ค�า ซงจะท�าการเกบต�าแหนงของค�าในเอกสาร 3) การท�าดชนแบบเรยงล�าดบบลอก จะหาความ
สมพนธของค�าและเอกสารและเกบขอมลการท�าดชนไวบนหนวยความจ�าส�ารอง เชน ฮารดดสก
4) การท�าดชนแบบกระจาย ซงม 2 วธหลกๆ คอ การท�าดชนแบงตามค�าหลก (Term-parti-
tioned index) และ การท�าดชนแบงตามเอกสาร (Document-partitioned index) และ 5)
การท�าดชนแบบไดนามก รองรบการท�างานของระบบทจ�านวนเอกสารไมคงท และมการเพม
ลบ หรอปรบปรงบอยๆ ซงมผลตอความถงตองของไฟลดชน ซงวธการนจะชวยใหไฟลดชนม
ความถกตองและปรบปรงตลอดเวลา
สวนสดทายของบทนอธบายถงการค�านวณหาความคลายคลงกนระหวางขอค�าถาม
และเอกสาร โดยการจะวดความคลายคลงกนของขอค�าถามและเอกสารไดนน ค�าในดชนจะ
ตองมการใหน�าหนกของค�า (Term weight) โดยใชวธ นบความถของค�า (Term frequency)
วธ Inverse document frequency tf-idf และวธอนๆ ซงใชหลกการของแบบจ�าลองพนท
เวกเตอร มาชวยในการค�านวณหาความคลายคลงระหวางขอค�าถามและเอกสารทตรงกบขอ
ค�าถาม วธทนยมกนมากในการหาความคลายคลงระหวางขอค�าถามและเอกสารคอ วธวดความ
คลายแบบโคซายนและแบบระยะหางซงทงสองวธมความแตกตางกนอย โดยทแบบโคซายนจะ
พจารณาทศทางของเอกสารบนพนทเวกเตอรเปนหลก แตแบบระยะหางจะพจารณาจากระยะ
ทางระหวางเอกสารเปนหลก
การคนคนสารสนเทศทเปนตวอกษรCHAP
TE
R2 TEXTUAL INFORMATION RETRIEVAL
56
แบบฝกหด
1) จงอธบายถงความส�าคญของการท�าดชนแบบกระจาย (Distributed indexing)
2) ตารางแสดงความสมพนธระหวางค�าหลกและเอกสาร เรยกวาอะไร
3) ทานคดวาการวดความคลายคลงของเอกสาร 2 เอกสารโดยใชวธการค�านวณท
แตกตางกน จะใหผลลพธเหมอนกนหรอไม เพราะอะไร
4) จากขอมลของดชนแบบต�าแหนงค�า ตามรปแบบ term: doc1: <position1,
position2, . . . >;doc2: <position1, position2, . . . >; โดยมขอมลดงแสดง
ตารางดานลาง
angel: 2: <36,174,252,651>; 4: <12,22,102,432>; 7: <17>;
fool: 2: <1,17,74,222>; 4: <8,78,108,458>; 7: <3,13,23,193>;
fear: 2: <87,704,722,901>; 4: <13,43,113,433>; 7: <18,328,528>;
in: 2: <3,37,76,444,851>; 4: <10,20,110,470,500>; 7: <5,15,25,195>;
rush: 2: <2,66,194,321,702>; 4: <9,69,149,429,569>; 7: <4,14,404>;
to: 2: <47,86,234,999>; 4: <14,24,774,944>; 7: <199,319,599,709>;
read: 2: <57,94,333>; 4: <15,35,155>; 7: <20,320>;
where: 2: <67,124,393,1001>; 4: <11,41,101,421,431>; 7: <16,36,736>;
จงหาวา เอกสารใดบางทตรงกบขอค�าถามตอไปน
(i) “fool rush in” (ii) “fool rush in” AND “angel fear to read”
Document Text
1 Pease porridge hot, pease porridge cold
2 Pease porridge in the pot
3 Nine days old
4 Some like it hot, some like it cold
5 Some like it in the pot
6 Nine days old
จงใชตารางขางตนตอไปนตอบค�าถามในขอ 5
5) จงเขยนแสดงวธท�าดชนโดยหลกการของ MapReduce และแสดงขอมลของ
ขนตอนการ Map และ Reduce
ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต
57
6) จากตารางดานลาง ถาผใชใสขอค�าถาม q1= athlete swim จงหาเรยงล�าดบเอกสาร
ทมความคลายคลงกบ q1จากมากไปหานอย โดยใชขอมลความถของค�าตามตาราง
ดานลางโดยใชวธโคซายน (ทศนยม 3 ต�าแหนง)
ค�า/เอกสาร Doc1 Doc2 Doc3
athlete 16 0 37
swim 8 29 34
medal 23 0 45
victory 9 27 0
7) จงคดเทคนคการน�าวธการท�าดชนแบบค�าคและดชนจากต�าแหนงค�า มาท�างานรวม
กน (Combination schemes) และชใหเหนประโยชนของการวธน
8) จงบอกขอเสยของการวดความคลายคลงกนระหวางเอกสารและขอค�าถามโดยใช
ตวแบบพนทเวกเตอร
เอกสารแนะน�าเพออานเพมเตม1) เทคนคการตดสวนขยายค�าทนาสนใจศกษาเพมเตมไดแก Lovins stemmer
(Lovins, 1968) และ Paice/Husk stemmer (Paice, 1990) นสตควรวเคราะห
ถงความแตกตางระหวางวธเหลานและวธของ Porter’s algorithm ขอดและขอ
เสยของแตละวธ
2) Hadoop (http://hadoop.apache.org) เปนเฟรมเวรคทเกยวกบ MapReduce
และท�างานแบบ Distributed File System ซงเปน Open source และถกพฒนา
ดวยภาษา Java สามารถดาวนโหลดเพอทดลองใชงานไดฟรและสามารถพฒนาตอ
เตมได
3) ลเซน (Apache Lucene) เปนเครองมอการคนคนเอกสารทเปนตวอกษรทให
ดาวนโหลดฟรและสามารถทจะพฒนาตอได สามารถเขาไปโหลดไดทเวบไซต
http://lucene.apache.org/ ลเซนถกพฒนาขนหลายเวอรชนและหลายภาษา เชน
Java, C, .Net ซงแลวความถนดของผพฒนาระบบคนคนสารสนเทศวาสะดวกใช
ภาษาใดในการพฒนา ลเซนสามารถรองรบระบบการคนคนเอกสารไดหลากหลาย
เชน HTML, Word, PDF, หรอ Text file
การคนคนสารสนเทศทเปนตวอกษรCHAP
TE
R2 TEXTUAL INFORMATION RETRIEVAL
58
เอกสารอางอง
Büttcher, S., Clarke, C.L.A., Cormack, G.V., 2010. Information Retrieval: Implement-
ing and Evaluating Search Engines. MIT Press, Cambridge, Mass.
Karen Sparck Jones, 1972. A Statistical Interpretation of Term Specificity and Its
Application in Retrieval. J. Doc. 28, 11–21. doi:10.1108/eb026526
Lovins, J., 1968. Development of a Stemming Algorithm. Mech. Transl. Comput.
Linguist. 11, 22–31.
Manning, C.D., Raghavan, P., Schütze, H., 2008. Introduction to Information Re-
trieval. Cambridge University Press, London, United Kingdom.
Paice, C.D., 1990. Another Stemmer. SIGIR Forum 24, 56–61. doi:10.1145/101306.101310
Porter, M.F., 1980. An Algorithm for Suffix Stripping. Program 14, 130–137.
Salton, G., Buckley, C., 1988. Term-Weighting Approaches in Automatic Text Re-
trieval. Inf. Process. Manag. 24, 513–523. doi:10.1016/0306-4573(88)90021-0
Salton, G., Wong, A., Yang, C.S., 1975. A Vector Space Model for Automatic In-
dexing. Commun. ACM 18, 613–620.
Singhal, A., 2001. Modern Information Retrieval: A Brief Overview. IEEE Data Eng.
Bull. 24, 35–43.
Sørensen, T.J., 1948. A Method of Establishing Groups of Equal Amplitude in Plant
Sociology Based on Similarity of Species Content and Its Application to
Analyses of the Vegetation on Danish Commons. I kommission hos E.
Munksgaard, København.
Zobel, J., Moffat, A., 2006. Inverted Files for Text Search Engines. ACM Comput.
Surv. 38, 1–56. doi:10.1145/1132956.1132959