ฉบับปรับปรุง (คร้ังที่6) 27 เมษายน ... · 2020-05-09 · ในการเรียนรู้วิชาคณิตศาสตร์
คร้ังที่8 - Ramkhamhaeng...
Transcript of คร้ังที่8 - Ramkhamhaeng...
ครงท 8
กลยทธการคนหาขอมล
Simple model of IR
Comparision
น าขอค าถามมาเปรยบเทยบกบตวแทนคลสเตอร สนใจเพยงแตวา เอกสารทถกดงออกมานนเกยวของ (Relevant) กบ
ขอค าถาม (Request)
กลยทธการคนหาขอมล Boolean Search Serial Search
Matching Functions
Boolean Search
นยมใชมาก การสบคนจะดงเอกสารทผลจากการเปรยบเทยบทางตรรกะระหวางขอค าถาม
กบเอกสารมคาเปนจรง (True) เทานน ขอค าถามทดจะถกแสดงในรปแบบของค าดชน และถกเชอมโยงดวยตว
กระท าทางตรรกะ AND,OR และ NOT
Q = ( K1 AND K2 ) OR ( K3 AND K4 )
Boolean Search ก าหนดขอบเขตในการคนหาของผใชใหอยในวงทก าหนด โดยก าหนดใหผใชเขาถงขอมลเฉพาะทมการก าหนดใหเทานน ซงคยเวรดทเกยวของซงอาจสบคนขอมลทมความหมายกวางกวา หรอสบคนขอมลทเจาะจงมากกวากได
ตามตวอยางในโครงสรางของตนไม (tree)
Boolean Search โดยผาน Inverted File
บนทกลสท (List) หนงส าหรบแตละคยเวรดและในแตละลสทจะมแอดเดรส (หรอหมายเลย) ของเอกสารทบรรจคยเวรดนนๆ
K1 – List : D1, D2, D3, D4
K2 – List : D1, D2
K3 – List : D1, D2, D3 K4 – List : D1
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}
Boolean Search in SQL
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
Fully Boolean Search
ผลลพธนนเกดจากการใชวธการวดความคลายคลงโดยวธ Simple
Matching ค านวณจาก | D Q |
กลาวคอ ขนาดของโอเวอรแลพระหวาง D และ Q ซงจะถกแสดงขนาดเปนชดของคยเวรด
กคอ Simple Matching Coefficient
Matching Functions
วดความใกลชดระหวางขอค าถามกบตวแทนเอกสารหรอตวแทนคลสเตอร
ฟงกชนทงายทสดไดแกฟงกชนทเกยวของกบ Simple Matching Search
Strategies ดงน
ก าหนด M เปน Matching Function
D เปน เซทของคยเวรดทใชแทนเอกสาร Q เปน เซทของคยเวรดทใชแทน Query ดงนน
M = 2|D Q |
|D| + |Q|
กลยทธในการคนหาโดยใช 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
กลยทธในการคนหาโดยใช Matching Function
Matching Functions
Cosine Correlation
เอกสารและขอค าถามถกแสดงแทนโดยเวคเตอรทเปนตวเลขใน t-Space
Q = (q1,q2, . . . . . . . . . . ,qt) และ D = (d1,d2, . . . . . . . . . . ,dt)
ซง qi และ di เปนน าหนกทเกยวของกบคยเวรด i
Cosine Correlation
การแทนเอกสารดวยเวกเตอรโมเดล
Vector Space Model:
เปนการน าเอกสารหรอขอสอบถาม(queries)จะถกน ามารวมดวยกนในspace เปนความคลายคลงกน
น าหนกขอสอบถามและเอกสาร เปนพนฐานของความยาวและทศทางของเวกเตอร
การวดระยะทางของเวกเตอรระหวางขอสอบถามและเอกสารถกใชส าหรบเปน rank ในการดงเอกสาร
Vector Space Model:
การแทนเอกสารดวยเวกเตอรโมเดล
คาความเหมอนระหวางเอกสารและค าขอ ค านวณดวยคาของมม cosine
ผลลพธทไดสามารถจดล าดบใหตรงกบความตองการของผใชได โดยใชหลกการในการถวงน าหนกโดยการจดหมขอมล (Clustering)
การจดหมขอมลเปนการแยกแยะวาเอกสารใดตรงกบค าขอ เพอจ าแนกวาเอกสารใดบางควรอยในเซต
นยามของเวกเตอรโมเดล
ก าหนดให 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,,
*
*
ตวอยาง
สมมตวาเอกสารและขอสอบถามถกแทนในรปของเวกเตอร
ต าแหนงท 1 สอดคลองกบ term 1
ต าแหนงท 2 สอดคลองกบ term 2 ต าแหนงท t สอดคลองกบ term t น าหนกของแตละเทอมถกเกบในแตละ ต าแหนง
ดงนน
absent is terma if 0
,...,,
,...,,
21
21
w
wwwQ
wwwD
qtqq
dddiitii
ตวอยาง
สมมตวา เวกเตอรของเอกสารเปนดงน
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
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
ตวอยาง
เราสามารถ plot เวกเตอรไดดงน
ตวอยาง
โดย q1,q2,q3 คอ ขอสอบถาม t1,t2,t3 เปน เทอมของค าส าคญหรอดรรชน D1,D2,…D11 คอเอกสาร น าความส าคญของค าและการ Match กนของค าระหวาง ขอสอบถามและเอกสารมาสรางเปนเวกเตอรไดดงน
Serial Search
การคนหาอนกรม( Serial Search) นนคอนขางจะใชเวลา ใชเปนสวนหนงของการคนหาขอมลในระบบทใหญ
วธการนแสดงถงการใช Matching Function
การคนหาเอกสารท าไดโดย
จะดงเอกสารทมคามากกวา 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)
ตวอยาง
ระบบหนงมเอกสาร Di อย N จ านวน Serial Search จะท าไดโดยการค านวณ N คาของ
M(Q,Di) ส าหรบ I = 1 ถง N
หรอกลาวไดวา Matching Function นนจะถกประเมนคาทแตละเอกสารส าหรบขอค าถาม Q เดยวกน
โดย q1,q2,q3 คอ ขอสอบถาม t1,t2,t3 เปน เทอมของค าส าคญหรอดรรชน D1,D2,…D11 คอเอกสาร น าความส าคญของค าและการ Match กนของค าระหวาง ขอสอบถามและเอกสารมาสรางเปนเวกเตอรไดดงน
ตวแทนคลสเตอร (Cluster Representatives)
แสดงตวอยางของ Maximally Linked Documents
ตวแทนคลสเตอร (Cluster Representatives)
การหาตวแทนทเปนการเฉลย Descriptions ของสมาชกภายในคลสเตอรเหลานน ซงจะท าไดโดยการค านวณหาจดศนยถวง (Centroid) ของคลสเตอรหนง
ตวแทนคลสเตอร (Cluster Representatives)
สมมตวา{ D1, D2, . . . . . . . , Dn}เปนเอกสารในคลสเตอรหนง และแตละ Di นนถกแสดงโดย Numerical Vector (d1, d2, . . . . . . , dt)
ซงจดศนยถวงหรอ Centroid C ของคลสเตอรนน จะถกก าหนดไดดงน
n
1
ตวแทนคลสเตอร (Cluster Representatives)
แสดงแทนโดย Numerical Vector แตจะแสดงแทนโดยไบนารเวคเตอร (Binary Vector) หรอคยเวรดกลมหนง
n
1
การดงขอมลโดยอาศยคลสเตอรเปนพนฐาน
(Cluster-Based Retrieval)
ตองอาศยขอสมมตฐานของคลสเตอร (Cluster Hypothesis) ทกลาววา
“เอกสารทมความใกลชดคลายคลงกน ยอมมแนวโนมทจะเกยวของกบขอค าถามอนเดยวกน “
Cluster-Based Retrieval
การทอนญาตใหมการคนหา ลงไปไดมากกวาหนงกงของทร ซงจะท าใหสามารถดงขอมล ทตองการไดมากกวาหนงคลสเตอร ดวยความจ าเปน Decision Rule และ Stopping Rule
Interactive Search Formulation
ระบบควรเตรยมสงตอไปนใหแกผใชระบบในการสรางขอค าถามส าหรบคนหาขอมล
1. ความถของการเกดขนของคาทใชในการคนหาภายในฐานขอมลนน
2. จ านวนของเอกสารทเปนไปไดทจะถกดงออกมาโดยขอค าถามของเขา 3. คาตางๆ ทเกยวของกบคาทใชในการคนหาขอมล 4. ตวอยางของ Citations(ขออางอง) ทอาจจะถกดงออกมา
5. คาทถกใชในการท าดชนของ Citations ใน 4. เปนตน
Feedback
อธบายถงกลไกทระบบหนงสามารถทจะทจะพฒนาการท างาน (Performance) ของระบบบนงานหนง โดยการน าเอาการท างานทผานไปแลวมาพจารณา
หรออาจจะกลาวไดวา ระบบอนพท- เอาทพท (Input-Output) แบบงายๆ นจะใหผลลพธกลบมาเกยวกบขอมลตางๆ จากผลลพธทได เพอวาจะสามารถทจะถกน าไปใชในการพฒนาการท างานบนอนพทอนถดไป
ระบบสบคนเนมเพจ (Named Pages Finding System ระบบสบคนขอมลทผานมาในอดตไดใช
กลยทธการคนหาแบบตรงตามหวขอ(Subject Search Stratergy)
ซงมหลกในการคนหาใหพบเอกสารทไมเกยวของใหนอยทสด
ซงกลยทธในการสบคนรปแบบดงกลาวจะใหผลการคนหาทมจ านวนมาก และยากตอการเลอกค าตอบของผใช
กลยทธการคนหาแบบสงทเคยพบมากอนแลว(known-Item Search Strategy)
กลยทธนมหลกการในการคนหาโดยใชค าส าคญจากผใชทสามารถระบไดถงความหมาย ชอ หรอเนอหา โดยสรปของเอกสารทตองการ
และคนหาเอกสารทตรงกบค าส าคญมากทสดเพยง 1-2 เอกสารเปนค าตอบใหกบผใช กลยทธการคนหานจะชวยใหผใชสามารถคนหาค าตอบจากการสบคนไดอยางงายดาย
ระบบสบคนเนมเพจ (Named Pages Finding System
ระบบเรมตนท างานในขนตอนการเตรยมขอมล(Data Preparation
Phase) จากสวนสกดขอมล (Data Extraction Module) สวนสกดขอมลท าหนาทคดแยกสวนของขอมลทตองการออกจากเอกสาร เชนคดแยกเฉพาะสวนหวขอหรอสวนค าบรรยายลงคเปนตน ขอมลทคดแยกเรยบรอยแลวถกเรยกวา แหลงตวแทนเอกสาร(Source of
Information) ซงเปนขอมลทพรอมน าไปวเคราะหในสวนการวเคราะหชอทปรากฏเดนชด (Frequent Name Analysis Module)
สวนการวเคราะหชอทปรากฏเดนชดท าหนาทวเคราะหหาชอทปรากฏบอยครงในแหลงตวแทนเอกสาร ชอทวเคราะหไดจะถกจดเกบเปนตวแทนชอเอกสารทปรากฏเดนชด (Frequent Name Representator) เพอใชส าหรบการสบคนเนมเพจในล าดบถดไป
ระบบสบคนเนมเพจ (Named Pages Finding System
ในขนตอนการสบคนเนมเพจ(Named Page Retrievel
Phase) เรมตนจากระบบรบค าถาม(Query) จากผใชงานและจดรปแบบใหอยในรปแบบเดยวกนกบตวแทนชอเอกสารโดยสวนการเตรยมค าถาม(Query Formulation Module)
ค าถามทไดจะถกน าไปเปรยบเทยบความใกลเคยงกบเอกสารทปรากฏเดนชดโดยสวนสบคนเนมเพจ(Named Page Retrieval
Module) สวนสบคนเนมเพจจะใหผลลพธการสบคนเปนเอกสารทมตวแทนเอกสาร
ใกลเคยงกบค าถามของผใชมากทสด
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
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
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
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
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
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
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
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
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)
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
Exercise
Try the search feature at
http://www.rhymezone.com/shakespeare/
Write down five search features you think it
could do better
53