32
2 การค้นคืนสารสนเทศที่เป็นตัวอักษร (Textual Information Retrieval) ในบทที่ 1 ได้อธิบายถึงขั้นตอนพื้นฐานการค้นหาสารสนเทศที่เป็นตัวอักษร ซึ่งประกอบ ด้วย 1) การรวบรวมเอกสาร 2) การตัดค�า (Tokenizing) และการเปลี่ยนรูปค�า (Stemming and lemmatization) 3) การก�าจัดค�าที่ไม่ส�าคัญ (Stop words) 4) การท�าดัชนี (Indexing) 5) การประมวลผลข้อค�าถาม การค้นหา และการเรียงล�าดับข้อมูลผลลัพธ์ ในบทนี้จะอธิบาย เพิ่มเติมถึงรายละเอียดในแต่ละส่วนของระบบค้นคืนสารสนเทศให้มากขึ้นและแนะน�าถึงวิธีการ ท�าดัชนีแบบอื่นๆ นอกเหนือจากการท�าดัชนีแบบอินเวิร์ท (Inverted indexing) ที่อธิบายแล้วใน บทที่ 1 นอกจากนี้ในบทนี้จะอธิบายถึงตัวแบบพื้นที่เวกเตอร์ (Vector space model) ซึ่งเป็น พื้นฐานที่ส�าคัญของระบบค้นคืนสารสนเทศในทุกๆ แบบและเป็นหลักการพื้นฐานในการค�านวณ ความคล้ายคลึงระหว่างข้อค�าถามและเอกสาร และผลลัพธ์จากการค�านวณความคล้ายคลึงนีจะใช้เพื่อเรียงล�าดับผลการค้นหาก่อนแสดงต่อผู้ใช้ หนังสือเล่มนี้จะไม่อธิบายถึงเทคนิคการ รวบรวมเอกสาร เนื่องจากไม่มีความซับซ้อนและไม่ยากต่อการท�างาน และในบทที่ 1 ได้อธิบาย ถึงปัญหาการตัดค�าและได้แนะน�าเทคนิคบางอย่างเพื่อเพิ่มประสิทธิภาพการตัดค�าให้สูงขึ้น ดัง นั้นในบทนี้จะไม่ขออธิบายเพิ่มเติมเกี่ยวกับการตัดค�าและขอเริ่มเนื้อหาที่วิธีการเปลี่ยนรูปค�า

NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

2การคนคนสารสนเทศทเปนตวอกษร(Textual Information Retrieval)

ในบทท 1 ไดอธบายถงขนตอนพนฐานการคนหาสารสนเทศทเปนตวอกษร ซงประกอบ

ดวย 1) การรวบรวมเอกสาร 2) การตดค�า (Tokenizing) และการเปลยนรปค�า (Stemming

and lemmatization) 3) การก�าจดค�าทไมส�าคญ (Stop words) 4) การท�าดชน (Indexing)

5) การประมวลผลขอค�าถาม การคนหา และการเรยงล�าดบขอมลผลลพธ ในบทนจะอธบาย

เพมเตมถงรายละเอยดในแตละสวนของระบบคนคนสารสนเทศใหมากขนและแนะน�าถงวธการ

ท�าดชนแบบอนๆ นอกเหนอจากการท�าดชนแบบอนเวรท (Inverted indexing) ทอธบายแลวใน

บทท 1 นอกจากนในบทนจะอธบายถงตวแบบพนทเวกเตอร (Vector space model) ซงเปน

พนฐานทส�าคญของระบบคนคนสารสนเทศในทกๆ แบบและเปนหลกการพนฐานในการค�านวณ

ความคลายคลงระหวางขอค�าถามและเอกสาร และผลลพธจากการค�านวณความคลายคลงน

จะใชเพอเรยงล�าดบผลการคนหากอนแสดงตอผใช หนงสอเลมนจะไมอธบายถงเทคนคการ

รวบรวมเอกสาร เนองจากไมมความซบซอนและไมยากตอการท�างาน และในบทท 1 ไดอธบาย

ถงปญหาการตดค�าและไดแนะน�าเทคนคบางอยางเพอเพมประสทธภาพการตดค�าใหสงขน ดง

นนในบทนจะไมขออธบายเพมเตมเกยวกบการตดค�าและขอเรมเนอหาทวธการเปลยนรปค�า

Page 2: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

การคนคนสารสนเทศทเปนตวอกษร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.

Page 3: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต

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)

Page 4: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

การคนคนสารสนเทศทเปนตวอกษร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

Page 5: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต

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)

Page 6: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

การคนคนสารสนเทศทเปนตวอกษร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) ต�าแหนง ซงไมสอดคลองกบรปแบบในขอค�าถาม

Page 7: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร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 ของทกชดขอมลในไฟลเดยวกน เพอใช

เปนไฟลดชนในการคนหาขอมลในอนาคต

Page 8: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

การคนคนสารสนเทศทเปนตวอกษร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

Page 9: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต

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

ฮารดดสก

Page 10: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

การคนคนสารสนเทศทเปนตวอกษร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) ซงระบบการคนคน

ขอมลบนอนเทอรเนตสวนใหญจะใชวธการแบงดชนตามเอกสาร ซงจะอธบายในเนอหาสวน

ตอไปในบทน

Page 11: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต

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 ซงขนตอนการท�างานเหมอน

Page 12: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

การคนคนสารสนเทศทเปนตวอกษร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)]

Page 13: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต

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)]

Page 14: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

การคนคนสารสนเทศทเปนตวอกษร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) ซงดชนหลกจะท�าการเกบขอมลดชนเดมของระบบทงหมดบนฮารดดสกและดชนรอง

จะท�าการดชนของเอกสารใหมๆ ทเพมเขามา ซงการท�าดชนส�ารองนจะท�าในหนวยความจ�าหลก

Page 15: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต

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

หมายถงเอกสาร จะเหนวาเทคนคนใหความส�าคญของความถของค�าเปนหลก แตต�าแหนง

หรอล�าดบของค�าทปรากฏไมไดถกน�ามาพจารณาในการใหน�าหนก (แตกตางจากวธการคนหา

Page 16: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

การคนคนสารสนเทศทเปนตวอกษร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)

Page 17: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต

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 อาจจะเปนค�าทไม

ส�าคญและไมสามารถใชเปนตวแทนเอกสารใดๆ ได)

Page 18: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

การคนคนสารสนเทศทเปนตวอกษร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

Page 19: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต

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) เราสามารถ

Page 20: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

การคนคนสารสนเทศทเปนตวอกษร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

Page 21: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต

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 =

Page 22: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

การคนคนสารสนเทศทเปนตวอกษร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

Page 23: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต

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 ของแตละค�าในเอกสารตางๆ

Page 24: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

การคนคนสารสนเทศทเปนตวอกษร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

Page 25: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต

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)

Page 26: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

การคนคนสารสนเทศทเปนตวอกษร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 วธ

นคอ การวดความคลายคลงกนแบบระยะหางนนจะค�านวณจากระยะหางระหวางเอกสาร

ในขณะทการวดคลายคลงกนแบบโคซายน นนจะค�านวณจากความแตกตางหรอมมของทศทาง

ของเอกสารทตองการค�านวณหาความคลายคลงกน

Page 27: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร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

Page 28: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

การคนคนสารสนเทศทเปนตวอกษรCHAP

TE

R2 TEXTUAL INFORMATION RETRIEVAL

54

ในภาษาองกฤษจะมค�ามาตรฐานกลางทถอวาเปนค�าทไมส�าคญ เชน a, an, the,

before, up, under แตในระบบคนคนสารสนเทศบางระบบอาจจะมค�าทไมส�าคญเพมเตมขน

มาจากค�ามาตรฐานทมอย เชน ระบบเกยวกบการแพทย ค�าวา “medical” หรอ “medicine”

อาจจะปรากฏในทกเอกสารในฐานขอมล ดงนนค�าเหลานถอวาเปนค�าทไมส�าคญของระบบการ

แพทยไดเชนกน ดงนนสรปไดวาในระบบคนคนสารสนเทศทตางกน จ�านวนหรอรายการค�าทไม

ส�าคญจะตางกนดวยเชนกน

ในปจจบนแนวโนมการตดค�าไมส�าคญทงมนอยลง ในระบบการคนหาขอมลบน

อนเทอรเนตบางระบบ ไมมการตดค�าไมส�าคญทงแมแตค�าเดยว เนองจากความเรวในการ

ประมวลขอมลของซพยในปจจบนเรวมากและหนวยความจ�าในคอมพวเตอรในปจจบนมขนาด

ใหญ ดงนนระบบจะท�าดชนโดยมค�าทไมส�าคญรวมอยดวย ซงจะท�าใหไฟลดชนมขนาดใหญขน

แตไมเปนปญหามากนก และความเรวในการคนหาขอมลไมผลกระทบอยางชดเจน

Page 29: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต

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 และวธอนๆ ซงใชหลกการของแบบจ�าลองพนท

เวกเตอร มาชวยในการค�านวณหาความคลายคลงระหวางขอค�าถามและเอกสารทตรงกบขอ

ค�าถาม วธทนยมกนมากในการหาความคลายคลงระหวางขอค�าถามและเอกสารคอ วธวดความ

คลายแบบโคซายนและแบบระยะหางซงทงสองวธมความแตกตางกนอย โดยทแบบโคซายนจะ

พจารณาทศทางของเอกสารบนพนทเวกเตอรเปนหลก แตแบบระยะหางจะพจารณาจากระยะ

ทางระหวางเอกสารเปนหลก

Page 30: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

การคนคนสารสนเทศทเปนตวอกษร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

Page 31: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

ระบบคนคนสารสนเทศแนวคดและแนวทางการพฒนาในอนาคต

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

Page 32: NU – Computer Science and Information Technology - การค้นคืน ... · 2016. 9. 6. · การค้นคืนสารสนเทศที่เป็นตัวอักษร2

การคนคนสารสนเทศทเปนตวอกษร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