คร้ังที่8 - Ramkhamhaeng...

53
ครั งที8 กลยุทธ์การค้นหาข้อมูล

Transcript of คร้ังที่8 - Ramkhamhaeng...

Page 1: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

ครงท 8

กลยทธการคนหาขอมล

Page 2: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Simple model of IR

Page 3: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Comparision

น าขอค าถามมาเปรยบเทยบกบตวแทนคลสเตอร สนใจเพยงแตวา เอกสารทถกดงออกมานนเกยวของ (Relevant) กบ

ขอค าถาม (Request)

Page 4: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

กลยทธการคนหาขอมล Boolean Search Serial Search

Matching Functions

Page 5: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Boolean Search

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

กบเอกสารมคาเปนจรง (True) เทานน ขอค าถามทดจะถกแสดงในรปแบบของค าดชน และถกเชอมโยงดวยตว

กระท าทางตรรกะ AND,OR และ NOT

Q = ( K1 AND K2 ) OR ( K3 AND K4 )

Page 6: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Boolean Search ก าหนดขอบเขตในการคนหาของผใชใหอยในวงทก าหนด โดยก าหนดใหผใชเขาถงขอมลเฉพาะทมการก าหนดใหเทานน ซงคยเวรดทเกยวของซงอาจสบคนขอมลทมความหมายกวางกวา หรอสบคนขอมลทเจาะจงมากกวากได

ตามตวอยางในโครงสรางของตนไม (tree)

Page 7: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Boolean Search โดยผาน Inverted File

บนทกลสท (List) หนงส าหรบแตละคยเวรดและในแตละลสทจะมแอดเดรส (หรอหมายเลย) ของเอกสารทบรรจคยเวรดนนๆ

K1 – List : D1, D2, D3, D4

K2 – List : D1, D2

K3 – List : D1, D2, D3 K4 – List : D1

Page 8: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Boolean Search กโดยผาน Inverted File

การทจะสามารถดงเอกสารออกมาไดตามขอค าถามหนงนน เราจะท าการเชอมโยงทางตรรกศาสตรบน Ki – List ยกตวอยาง

K1 – List : D1, D2, D3, D4

K2 – List : D1, D2

K3 – List : D1, D2, D3 K4 – List : D3

ถาขอค าถาม Q = ( K1 AND K2 ) OR ( K3 AND K4 )

ซงผลลพธทไดกคอ Set { D1, D2, D3}

Page 9: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Boolean Search in SQL

Page 10: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Fully Boolean Search

วธทอนญาตใหม AND Logic แตน าเอาจ านวนทแทจรงของคาดชนทขอค าถามตรงกบของเอกสารหนงมาคดดวย ตวเลขจ านวนน เราเรยกวาเปน Co-ordination Level

เราจะได Ranking ตอไปน Co-ordination Level

3 D1, D2

2 D3 1 D4

K1 – List : D1, D2, D3, D4

K2 – List : D1, D2

K3 – List : D1, D2, D3

Page 11: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Fully Boolean Search

ผลลพธนนเกดจากการใชวธการวดความคลายคลงโดยวธ Simple

Matching ค านวณจาก | D Q |

กลาวคอ ขนาดของโอเวอรแลพระหวาง D และ Q ซงจะถกแสดงขนาดเปนชดของคยเวรด

กคอ Simple Matching Coefficient

Page 12: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Matching Functions

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

ฟงกชนทงายทสดไดแกฟงกชนทเกยวของกบ Simple Matching Search

Strategies ดงน

ก าหนด M เปน Matching Function

D เปน เซทของคยเวรดทใชแทนเอกสาร Q เปน เซทของคยเวรดทใชแทน Query ดงนน

M = 2|D Q |

|D| + |Q|

Page 13: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

กลยทธในการคนหาโดยใช Matching Function

d7 0 1 0 1

a b c q*dj

d1 1 0 1 2

d2 1 0 0 1

d3 0 1 1 2

d4 1 0 0 1

d5 1 1 1 3

d6 1 1 0 2

q 1 1 1

เซตของด ำ aเซตของด ำ b

เซตของด ำ c

d1

d5

d6

d3

d7d2

d4

Page 14: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

กลยทธในการคนหาโดยใช Matching Function

Page 15: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Matching Functions

Cosine Correlation

เอกสารและขอค าถามถกแสดงแทนโดยเวคเตอรทเปนตวเลขใน t-Space

Q = (q1,q2, . . . . . . . . . . ,qt) และ D = (d1,d2, . . . . . . . . . . ,dt)

ซง qi และ di เปนน าหนกทเกยวของกบคยเวรด i

Page 16: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Cosine Correlation

Page 17: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

การแทนเอกสารดวยเวกเตอรโมเดล

Page 18: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Vector Space Model:

เปนการน าเอกสารหรอขอสอบถาม(queries)จะถกน ามารวมดวยกนในspace เปนความคลายคลงกน

น าหนกขอสอบถามและเอกสาร เปนพนฐานของความยาวและทศทางของเวกเตอร

การวดระยะทางของเวกเตอรระหวางขอสอบถามและเอกสารถกใชส าหรบเปน rank ในการดงเอกสาร

Page 19: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Vector Space Model:

Page 20: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

การแทนเอกสารดวยเวกเตอรโมเดล

คาความเหมอนระหวางเอกสารและค าขอ ค านวณดวยคาของมม cosine

ผลลพธทไดสามารถจดล าดบใหตรงกบความตองการของผใชได โดยใชหลกการในการถวงน าหนกโดยการจดหมขอมล (Clustering)

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

Page 21: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

นยามของเวกเตอรโมเดล

ก าหนดให wij เปนน าหนกของค าท ki

ของเอกสาร dj เอกสารแตละฉบบจะแทนดวย dj = (w1j, w2j,…,

wtj) ค าคนคน (Query) กมการใหน า

หนกของค าดวยแบบเดยวกน คอ wiq

เปนน าหนกของค าท ki กบค าขอ q

ดงนนเวคเตอรค าขอจะอยในรปของ q

= (w1q, w2q, …, wtq) การคนคนขอมลจะวดดวยคาความ

คลายกนของเอกสารคอ

||*||

*),(

qd

qdqdsim

j

jj

t

i qi

t

i ji

t

iqiji

ww

ww

1 ,

2

1 ,

2

1,,

*

*

Page 22: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

ตวอยาง

สมมตวาเอกสารและขอสอบถามถกแทนในรปของเวกเตอร

ต าแหนงท 1 สอดคลองกบ term 1

ต าแหนงท 2 สอดคลองกบ term 2 ต าแหนงท t สอดคลองกบ term t น าหนกของแตละเทอมถกเกบในแตละ ต าแหนง

ดงนน

absent is terma if 0

,...,,

,...,,

21

21

w

wwwQ

wwwD

qtqq

dddiitii

Page 23: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

ตวอยาง

สมมตวา เวกเตอรของเอกสารเปนดงน

ID nova galaxy heat h'wood film role diet fur

A 10 5 3

B 5 10

C 10 8 7

D 9 10 5

E 10 10

F 9 10

G 5 7 9

H 6 10 2 8

I 7 5 1 3

Page 24: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

ID nova galaxy heat h'wood film role diet fur

A 10 5 3

B 5 10

C 10 8 7

D 9 10 5

E 10 10

F 9 10

G 5 7 9

H 6 10 2 8

I 7 5 1 3

ตวอยาง

จากขอมลขางตนเหนไดวา “Nova” occurs 10 times in text A

“Galaxy” occurs 5 times in text A

“Heat” occurs 3 times in text A

(Blank means 0 occurrences.)

“Hollywood” occurs 7 times in text I

“Film” occurs 5 times in text I

“Diet” occurs 1 time in text I “Fur” occurs 3 times in text I

Page 25: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

ตวอยาง

เราสามารถ plot เวกเตอรไดดงน

Page 26: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

ตวอยาง

Page 27: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

โดย q1,q2,q3 คอ ขอสอบถาม t1,t2,t3 เปน เทอมของค าส าคญหรอดรรชน D1,D2,…D11 คอเอกสาร น าความส าคญของค าและการ Match กนของค าระหวาง ขอสอบถามและเอกสารมาสรางเปนเวกเตอรไดดงน

Page 28: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Serial Search

การคนหาอนกรม( Serial Search) นนคอนขางจะใชเวลา ใชเปนสวนหนงของการคนหาขอมลในระบบทใหญ

วธการนแสดงถงการใช Matching Function

Page 29: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

การคนหาเอกสารท าไดโดย

จะดงเอกสารทมคามากกวา Threshold ทถกก าหนดมาใหอยางเหมาะสมของ Matching Function นน แลวทงสวนทมคานอยกวา ถา T เปน Threshold ดงนน เซทของเอกสารทจะถกดงออกมากจะไดแก

Set{Di | M(Q,Di) >= T}

เอกสารถกจดล าดบตามคาทเพมขนของ Matching Function เลอก Rank Position R ใหเปน Cut-off และทกๆ เอกสารภายใต Rank นจะถกดงออกมา เพอวา

B = { Di | r(i) <= R }

ซง r(i) เปน Rank Position ทถกก าหนดให Di เปนทคาดหวงวาเอกสารทเกยวของกบขอเรยกรองจะถกบรรจอยในเซทของเอกสารทถกดงออกมา (Retrieved Set)

Page 30: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

ตวอยาง

ระบบหนงมเอกสาร Di อย N จ านวน Serial Search จะท าไดโดยการค านวณ N คาของ

M(Q,Di) ส าหรบ I = 1 ถง N

หรอกลาวไดวา Matching Function นนจะถกประเมนคาทแตละเอกสารส าหรบขอค าถาม Q เดยวกน

Page 31: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

โดย q1,q2,q3 คอ ขอสอบถาม t1,t2,t3 เปน เทอมของค าส าคญหรอดรรชน D1,D2,…D11 คอเอกสาร น าความส าคญของค าและการ Match กนของค าระหวาง ขอสอบถามและเอกสารมาสรางเปนเวกเตอรไดดงน

Page 32: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

ตวแทนคลสเตอร (Cluster Representatives)

แสดงตวอยางของ Maximally Linked Documents

Page 33: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

ตวแทนคลสเตอร (Cluster Representatives)

การหาตวแทนทเปนการเฉลย Descriptions ของสมาชกภายในคลสเตอรเหลานน ซงจะท าไดโดยการค านวณหาจดศนยถวง (Centroid) ของคลสเตอรหนง

Page 34: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

ตวแทนคลสเตอร (Cluster Representatives)

สมมตวา{ D1, D2, . . . . . . . , Dn}เปนเอกสารในคลสเตอรหนง และแตละ Di นนถกแสดงโดย Numerical Vector (d1, d2, . . . . . . , dt)

ซงจดศนยถวงหรอ Centroid C ของคลสเตอรนน จะถกก าหนดไดดงน

n

1

Page 35: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

ตวแทนคลสเตอร (Cluster Representatives)

แสดงแทนโดย Numerical Vector แตจะแสดงแทนโดยไบนารเวคเตอร (Binary Vector) หรอคยเวรดกลมหนง

n

1

Page 36: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

การดงขอมลโดยอาศยคลสเตอรเปนพนฐาน

(Cluster-Based Retrieval)

ตองอาศยขอสมมตฐานของคลสเตอร (Cluster Hypothesis) ทกลาววา

“เอกสารทมความใกลชดคลายคลงกน ยอมมแนวโนมทจะเกยวของกบขอค าถามอนเดยวกน “

Page 37: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Cluster-Based Retrieval

การทอนญาตใหมการคนหา ลงไปไดมากกวาหนงกงของทร ซงจะท าใหสามารถดงขอมล ทตองการไดมากกวาหนงคลสเตอร ดวยความจ าเปน Decision Rule และ Stopping Rule

Page 38: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Interactive Search Formulation

ระบบควรเตรยมสงตอไปนใหแกผใชระบบในการสรางขอค าถามส าหรบคนหาขอมล

1. ความถของการเกดขนของคาทใชในการคนหาภายในฐานขอมลนน

2. จ านวนของเอกสารทเปนไปไดทจะถกดงออกมาโดยขอค าถามของเขา 3. คาตางๆ ทเกยวของกบคาทใชในการคนหาขอมล 4. ตวอยางของ Citations(ขออางอง) ทอาจจะถกดงออกมา

5. คาทถกใชในการท าดชนของ Citations ใน 4. เปนตน

Page 39: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Feedback

อธบายถงกลไกทระบบหนงสามารถทจะทจะพฒนาการท างาน (Performance) ของระบบบนงานหนง โดยการน าเอาการท างานทผานไปแลวมาพจารณา

หรออาจจะกลาวไดวา ระบบอนพท- เอาทพท (Input-Output) แบบงายๆ นจะใหผลลพธกลบมาเกยวกบขอมลตางๆ จากผลลพธทได เพอวาจะสามารถทจะถกน าไปใชในการพฒนาการท างานบนอนพทอนถดไป

Page 40: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

ระบบสบคนเนมเพจ (Named Pages Finding System ระบบสบคนขอมลทผานมาในอดตไดใช

กลยทธการคนหาแบบตรงตามหวขอ(Subject Search Stratergy)

ซงมหลกในการคนหาใหพบเอกสารทไมเกยวของใหนอยทสด

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

กลยทธการคนหาแบบสงทเคยพบมากอนแลว(known-Item Search Strategy)

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

และคนหาเอกสารทตรงกบค าส าคญมากทสดเพยง 1-2 เอกสารเปนค าตอบใหกบผใช กลยทธการคนหานจะชวยใหผใชสามารถคนหาค าตอบจากการสบคนไดอยางงายดาย

Page 41: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

ระบบสบคนเนมเพจ (Named Pages Finding System

ระบบเรมตนท างานในขนตอนการเตรยมขอมล(Data Preparation

Phase) จากสวนสกดขอมล (Data Extraction Module) สวนสกดขอมลท าหนาทคดแยกสวนของขอมลทตองการออกจากเอกสาร เชนคดแยกเฉพาะสวนหวขอหรอสวนค าบรรยายลงคเปนตน ขอมลทคดแยกเรยบรอยแลวถกเรยกวา แหลงตวแทนเอกสาร(Source of

Information) ซงเปนขอมลทพรอมน าไปวเคราะหในสวนการวเคราะหชอทปรากฏเดนชด (Frequent Name Analysis Module)

สวนการวเคราะหชอทปรากฏเดนชดท าหนาทวเคราะหหาชอทปรากฏบอยครงในแหลงตวแทนเอกสาร ชอทวเคราะหไดจะถกจดเกบเปนตวแทนชอเอกสารทปรากฏเดนชด (Frequent Name Representator) เพอใชส าหรบการสบคนเนมเพจในล าดบถดไป

Page 42: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

ระบบสบคนเนมเพจ (Named Pages Finding System

ในขนตอนการสบคนเนมเพจ(Named Page Retrievel

Phase) เรมตนจากระบบรบค าถาม(Query) จากผใชงานและจดรปแบบใหอยในรปแบบเดยวกนกบตวแทนชอเอกสารโดยสวนการเตรยมค าถาม(Query Formulation Module)

ค าถามทไดจะถกน าไปเปรยบเทยบความใกลเคยงกบเอกสารทปรากฏเดนชดโดยสวนสบคนเนมเพจ(Named Page Retrieval

Module) สวนสบคนเนมเพจจะใหผลลพธการสบคนเปนเอกสารทมตวแทนเอกสาร

ใกลเคยงกบค าถามของผใชมากทสด

Page 43: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Boolean queries: Exact match

The Boolean retrieval model is being able to ask

a query that is a Boolean expression:

Boolean Queries use AND, OR and NOT to join

query terms

Views each document as a set of words

Is precise: document matches condition or not.

Perhaps the simplest model to build an IR system

on

Primary commercial retrieval tool for 3 decades.

Many search systems you still use are Boolean:

Email, library catalog, Mac OS X Spotlight 43

Sec. 1.3

Page 44: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Example: WestLaw http://www.westlaw.com/

Largest commercial (paying subscribers) legal

search service (started 1975; ranking added

1992)

Tens of terabytes of data; 700,000 users

Majority of users still use boolean queries

Example query:

What is the statute of limitations in cases

involving the federal tort claims act?

LIMIT! /3 STATUTE ACTION /S FEDERAL /2

TORT /3 CLAIM

/3 = within 3 words, /S = in same sentence 44

Sec. 1.4

Page 45: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Example: WestLaw http://www.westlaw.com/

Another example query:

Requirements for disabled people to be able to

access a workplace

disabl! /p access! /s work-site work-place

(employment /3 place)

Note that SPACE is disjunction, not conjunction!

Long, precise queries; proximity operators;

incrementally developed; not like web search

Many professional searchers still like Boolean search

You know exactly what you are getting

But that doesn’t mean it actually works better….

Sec. 1.4

Page 46: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Boolean queries:

More general merges

Exercise: Adapt the merge for the queries:

Brutus AND NOT Caesar

Brutus OR NOT Caesar

Can we still run through the merge in time O(x+y)?

What can we achieve?

46

Sec. 1.3

Page 47: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Merging

What about an arbitrary Boolean formula?

(Brutus OR Caesar) AND NOT

(Antony OR Cleopatra)

Can we always merge in “linear” time?

Linear in what?

Can we do better?

47

Sec. 1.3

Page 48: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Query optimization What is the best order for query processing?

Consider a query that is an AND of n terms.

For each of the n terms, get its postings, then

AND them together.

Brutus

Caesar

Calpurnia

1 2 3 5 8 16 21 34

2 4 8 16 32 64 128

13 16

Query: Brutus AND Calpurnia AND Caesar 48

Sec. 1.3

Page 49: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Query optimization example

Process in order of increasing freq:

start with smallest set, then keep cutting further.

49

This is why we kept

document freq. in dictionary

Execute the query as (Calpurnia AND Brutus) AND Caesar.

Sec. 1.3

Brutus

Caesar

Calpurnia

1 2 3 5 8 16 21 34

2 4 8 16 32 64 128

13 16

Page 50: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

More general optimization

e.g., (madding OR crowd) AND (ignoble

OR strife)

Get doc. freq.’s for all terms.

Estimate the size of each OR by the sum of

its doc. freq.’s (conservative).

Process in increasing order of OR sizes.

50

Sec. 1.3

Page 51: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Exercise

Recommend a query

processing order for

Term Freq

eyes 213312

kaleidoscope 87009

marmalade 107913

skies 271658

tangerine 46653

trees 316812

51

(tangerine OR trees) AND

(marmalade OR skies) AND

(kaleidoscope OR eyes)

Page 52: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Query processing exercises

Exercise: If the query is friends AND romans

AND (NOT countrymen), how could we use the

freq of countrymen?

Exercise: Extend the merge to an arbitrary

Boolean query. Can we always guarantee

execution in time linear in the total postings

size?

Hint: Begin with the case of a Boolean formula

query where each term appears only once in the

query.

52

Page 53: คร้ังที่8 - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos4351/cos4351_8.pdf · โดย q1,q2,q3 คือ ข้อสอบถาม t1,t2,t3 เป็น

Exercise

Try the search feature at

http://www.rhymezone.com/shakespeare/

Write down five search features you think it

could do better

53