ct477-4 information retrieval ch.4
TRANSCRIPT
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 1/35
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 2/35
บทท 4 แฟมขอมล 104
4.1 บทนา
สาหรับในบทน จะกลาวถง โครงสรางแฟมขอมลท ถกนามาใช ในระบบคนคนสารสนเทศ โครงสรางของแฟมขอมลนั นสามารถแบงไดเปน 2 แบบคอ โครงสรางทางตรรกศาสตร(Logical
Organization) และโครงสรางทางกายภาพ (Physical Organization) ซ งในท น เราจะสนใจความสัมพันธระหวางขอมลท เกบท สามารถเกบใหเหมาะสม โดยไมสนใจการเกบจรงๆภายในคอมพวเตอร วธการท แสดงหรออธบายเก ยวกับขอมลนั นมหลายวธ ไดแก
1.Relational Model เปนโมเดลท ขอมลจะถกอธบายโดย n-tuple ของ คณสมบัต (Attribute Values)
2.Hierarchical Approach เปนวธการท ขอมลจะถกแสดงในรปของลาดับชั นของ
ขอมล 3.Network Approach เปนวธการท ขอมลถกเช อมโยงเปนขายงาน ในแตละลงคท
เช อมโยงระหวางสองไอเทมจะเปนไปตามเง อนไขท กาหนดเชนมคณสมบัตเหมอนกัน
4.2 ภาษาสาหรับแสดงโครงสรางแฟมขอมล
จากศัพทของ Hsiao และ Harary ในการแสดงโครงสรางโครงสรางแฟมขอมล
กาหนดให A เปนคณสมบัต(Attributes)
V เปนเซตของคา (Attribute Values)
R เปนเรคอรด
ดังนั น R เปนซับเซตของ Cartesian Product AxV ซ งแตละคณสมบัตจะมเพยงหน งคาเทานั น อย ในรปของเซตของ Ordered Pairs ในรปแบบของ (Attribute,Value)
ตัวอยางท 4.1 กาหนดให R เปนเรคอรดดังน
R =((K1,X1), (K2,X2),…,(Kn,Xn))
โดย K หมายถงคยเวรด(Keyword) หรอคณสมบัต(Attribute)
X หมายถงคา(Value) หรอ คาน าหนัก(Numerical Weight)
ในบางกรณท เอกสารจะถกกาหนดใหอย ในรปแบบของ R = {Kt1, Kt2, Kt3,…, Ktn}
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 3/35
โดยเอกสารจะถกทดสอบวามคยเวรดนั นอย ในเอกสารหรอไม ในกรณท คยเวรดมอย ใน
เอกสารจะมคา X เทากับ 1 แตถาไมมคยเวรดในเอกสารคาของ X จะมคาเทากับ 0
เรคอรดหน งประกอบดวยหลายฟลดแตละฟลดจะเกบคาคณสมบัต(Attribute) ท กาหนด ความยาวของแตละฟลด ไมจาเปนตองมขนาดคงท และอาจจะมบางฟลดท เกบตาแหนงท อย (address) ของเรคอรดอ นๆ แสดงตามรปท 4.1 เราสามารถนาตัวแปรชนดพอยเตอร(Pointer) มาเช อมโยงเรคอรดท มคาคณสมบัต(X) ของคยเวรด K เขาดวยกัน โดยเรคอรดสดทายนั นจะถกช ไปท Null ซ งพอยเตอรท เช อมโยงกับคณสมบัต K ในเรคอรด R จะถกเรยกวา K-Pointer คณสมบัตท ถกใชเพ อชวยในการจัดสรางแฟมขอมลเรยกวา คย(Key) ดัง
แสดงตามรปท 4.2
รปท 4.1 : แสดงตวอยางของเรคอรดท ประกอบดวยรายการขอมลท เก ยวของ
รปท 4.2 : แสดงการใชพอยเตอร ในการเช อมโยงเรคอรด
บทท 4 แฟมขอมล 105
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 4/35
บทท 4 แฟมขอมล 106
กาหนดให L เปนลสตของเรคอรดท เก ยวของกับคยเวรด K
K-list เปนเซตของเรคอรดท ม K อย จากรปท 4.2 นั น
a-list เปนลสตของ R1,R3,R5
b-list เปนลสตของ R2,R4
c-list เปนลสตของ R1,R2,R3
เราสามารถนยามไดเรกทอร (Directory)ของแฟมขอมลไดดังน กาหนดให F เปนแฟมขอมลหน งท มเรคอรดท บรรจคยเวรดท แตกตางกัน m ตัว ไดแก K1,K2,…,Km
Ni เปนจานวนเรคอรดท บรรจคยเวรด Ki
hi เปนจานวนของ Ki-Lists ใน F
Aij เปนตาแหนงเร มตนของ Kj-list
ดังนั น เราสามารถนยามไดเรกทอร ไดวา เปนชดของ {Ki, Ni, Hi, Ai1, Ai2,…,Aihi}
4.3 Sequential File
แฟมขอมลแบบเรยงลาดับเปนแฟมขอมลพ นฐานท สดท ไมม ไดเรกตอร และพอยเตอร
สาหรับเช อมโยง โดยทั วไปการจัดเกบหรอการสบคนขอมลจะกระทาเรยงลาดับตามคย หรอเรยงตามลาดับท เกบในหนวยบันทกขอมล ในกรณคยซ าสามารถเลอกคยท สองมาจัดเรยงลาดับขอมล ขอดของแฟมขอมลแบบเรยงลาดับคอ
- งายตอการสราง และม โครงสรางแบบงาย
- สามารถประมวลผลเรคอรดถัดไปไดอยางรวดเรว - ใชทรัพยากรไดอยางมประสทธภาพ เหมาะสาหรับงานท ตองใชขอมลทกเรคอรด
- ใช ไดกับหนวยความจาสารองท มราคาถกเชน เทปแมเหลก
ขอเสยของแฟมขอมลแบบลาดับ
- แทรกหรอแก ไขขอมลในแฟมขอมลไดยาก และเสยเวลามาก
- การสบคนขอมลท ตองการนั น ตองอานขอมลตั งแตเรคอรดแรกไปตามลาดับ
จนกวาจะพบขอมลท ตองการทาใหเสยเวลาและไมเหมาะกับการประมวลผลแบบส ม(Random)
- การบันทกขอมลตองกระทาตามลาดับตามคย ดังนั นตองนาเรคอรดมาจัด
เรยงลาดับกอน(sort)
- ขอมลในแฟมขอมลไมทันสมัยหรอทันตอเหตการณทกขณะ
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 5/35
โดยทั วไปขอมลท เกบในแฟมแบบลาดับน มการปรับปรงขอมลในแฟมอย 3 ลักษณะ
คอ - การเพ มเรคอรดใหม - การลบเรคอรดเกาออกจากแฟมลาดับ
- การเปล ยนแปลงคาของฟลด ในเรคอรดท ตองการ ซ งการปรับปรงขอมลน โปรแกรมเมอรตองตรวจสอบขอมลใหด เพราะอาจเกดความ
ผดพลาดได 3 ประการคอ
- เพ มเรคอรดท มอย แลว ทาใหขอมลเกบซ ากันทาใหขอมลซ าซอน
- ลบเรคอรดท ไมม ในแฟมขอมล - เปล ยนแปลงคาของขอมลในกรณท ไมมเรคอรดท ตองการอย ในแฟม
ดังนั นในการปรับปรงขอมลตองมการตรวจสอบขอมลท ตองการกอนวามอย ในแฟมขอมลหรอไม
4.4 Invert File
เปนโครงสรางแฟมขอมลท ทกๆลสตบรรจเพยง 1 เรคอรด ดังนั นทกๆ K-list จะมเพยง 1 เรคอรด ดังนั นไดเรกทอร ของแฟมขอมลจะม Ni = hi สาหรับทกๆ i ซ งจานวนเรคอรดท
บรรจ Ki จะมคาเทากับจานวนของ Ki-list
รปท 4.3 :แสดงไดเรคทอร ของ invert File
บทท 4 แฟมขอมล 107
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 6/35
บทท 4 แฟมขอมล 108
จากรปท 4.3 นั นจะเหนไดวาไดเรคทอร จะเกบตาแหนงท อย ของเรคอรดทั งหมดท บรรจ Ki ไวเพ อใช ในการดงเอกสาร ซ งการเกบในลักษณะน จะทาใหสบคนหรอสามารถประมวลผลเอกสารไดอยางรวดเรว ซ งมการตรวจสอบดรรชนเพ อคนหาเอกสารท ตรงตามขอเรยกรอง
ตัวอยางท 4.1 สมมตวา เอกสาร D1, D2, D3, D4 มคยเวรดดังน D1 = (K1 ,K2, K3)
D2 = (K2, K3, K5)
D3 = (K1, K3, K4, K5)
D4 = (K1, K2, K3, K4)
เม อนามาเกบในโครงสรางของ Inverted file จะเกบขอมลในลักษณะน K1 = (D1,D3, D5)
K2 = (D1, D2, D4)
K3 = (D1, D2, D3, D4)
K4 = (D3, D4)
K5 = (D2, D3)
สาหรับการคนหาเอกสารในระบบคนคนสารสนเทศจะใชกลยทธ Boolean Search
สมมตวาขอคาถาม คอ Q = K2 AND K3
ผลของการสบคนจะไดเอกสารดังน (D1 , D2, D4) เหนไดวาการคนหาขอมลทาไดสะดวกและรวดเรว แตขอเสยของแฟมขอมลชนดน คอการแก ไขเปล ยนแปลงแฟมขอมลทาไดคอนขางชาและเสยเวลามาก
ตัวอยางท 4.2 กาหนดให D1, D2 เปนชดของเอกสารท ประกอบดวยคา p1 และ p2
ตามลาดับ และ U เปนชดของเอกสารทั งหมด ดังนั น
U – D1 ไดผลลัพธเปนเซตของเอกสารท ไมมคา p1 (not p1)
D1 intersect D2 เซตของเอกสารท ประกอบทั งคา p1 และ p2
D1 U D2 เซตของเอกสารท ประกอบดวยคา p1 หรอ p2
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 7/35
รปท 4.4: แสดง Inverted file ท ถกสรางโดยใชวธการเรยงลาดับอาเรย (sorted array)
ตัวอยางท 4.3 กาหนดใหเอกสาร 1 ถง 5 ประกอบดวยคยเวรดดังตอไปน เอกสาร1 ประกอบดวยคยเวรดดังน อัลกอรธม, สารสนเทศ, คนคน
เอกสาร 2 ประกอบดวยคยเวรดดังน คนคน ,วทย เอกสาร 3 ประกอบดวยคยเวรดดังน อัลกอรธม, สารสนเทศ , วทย
เอกสาร 4 ประกอบดวยคยเวรดดังน รปแบบ ,คนคน , วทย เอกสาร 5 ประกอบดวยคยเวรดดังน วทย ,อัลกอรทม
นาคยเวรดตางๆมาแยกคาและนับความถ ของคยเวรดในเอกสารตางๆดังตารางดังตอไปน
ดัชน
อัลกอรธม
สารสนเทศ
คนคนวทย
รปแบบ
Keyword_id
1
2
3
4
5
DocId Document Content
อัลกอรธม สารสนเทศ คนคน
คนคน วทย
อัลกอรธม
สารสนเทศ
วทยรปแบบ คนคน วทย
วทย อัลกอรทม
1
2
3
4
5
Keyword_id
1
2
3
3
4
DocId
1
1
1
2
2
Freq
1
1
1
1
1
1
2
4
5
3
3
3
3
4
4
1
1
1
1
1
บทท 4 แฟมขอมล 109
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 8/35
สมมตวาคารองขอสารสนเทศ คอ
{ เอกสาร1, เอกสาร3} intersect {เอกสาร1, เอกสาร2, เอกสาร4 }ผลลัพธท ไดคอ {เอกสาร1}
สมมตวาคารองขอ สารสนเทศ
{ เอกสาร1, เอกสาร3} U {เอกสาร1, เอกสาร2, เอกสาร4 }
ผลลัพธท ไดคอ {เอกสาร1, เอกสาร2, เอกสาร3, เอกสาร4 }
ซ งคารองขอท ดควรเปนภาษาธรรมชาต เปนประโยค วล หรอ คา ไมควรเขยนใน
รปของคณตศาสตร โดยมเคร องหมายแบง การประมวลผลสามารถเพ มหรอใหความสาคัญของคาได ซ งคารองขอตองสามารถสบคนขอมลท ตรงกับความตองการของผ ใช ได ไมเพยงเฉพาะคาท ผ ใชระบ เชน ตองการคนหารถราคาถก ระบบคนคนไม ได ใชเฉพาะคาดัชน เพยง รถ, ราคาถก เทานั นชดคาคนควรสามารถคนหาในสวนอ นๆไดอกเชนคาวา สวนลด ,ราคาสมเหตผล, ไมแพง, ยานพาหนะ, เกง, รถสวนบคคล ถานามาเขยนเปนชดคารองขอทางพชคณต
เชนใชขอสอบถามดังน q = (“สวนลด” or “ราคาสมเหตผล” or “ ไมแพง” or “ราคาถก”) and
(“รถ” or “เกง” or “สวนบคคล” ) เปนตน
ตัวอยางท 4.4 การสราง inverted file index
กาหนด Vector File เปนดังน
docs t1 t2 t3 RSV=Q.Di
D1 1 0 1 4
D2 1 0 0 1
D3 0 1 1 5
D4 1 0 0 1
D5 1 1 1 6
D6 1 1 0 3
D7 0 1 0 2
D8 0 1 0 2
D9 0 0 1 3
D10 0 1 1 5
D11 1 0 1 3
Q 1 2 3
q1 q2 q3
บทท 4 แฟมขอมล 110
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 9/35
Invert file คอ Vector File ท invert แถวใหเปนคอลัมภ และเปล ยนคอลัมภ ใหเปนแถวดังน
Terms D1 D2 D3 D4 D5 D6 D7 …
t1 1 1 0 1 1 1 0
t2 0 0 1 0 1 1 1
t3 1 0 1 0 1 0 0
ตัวอยางท 4.5 การสราง Invert File
สมมตวา มเอกสาร DOC1 และ DOC2 ดังน Term Doc #
now 1
is 1
the 1
time 1
for 1
all 1
good 1
men 1
to 1
come 1
to 1the 1
aid 1
of 1
their 1
country 1
it 2
was 2
a 2
dark 2
and 2
stormy 2
night 2
in 2
the 2
country 2
manor 2
the 2
time 2
was 2
past 2
midnight 2
DOC1 ประกอบดวย Now is the time for all good men
to come to the aid of their country
DOC2 ประกอบดวย It was a dark and stormy night in
the country manor. The time was
past midnight
เอกสารตางๆเหลาน จะถกดงทละ Token เพ อกาหนดเปน
หมายเลขของเอกสาร สาหรับแตละ Token ดังน =========>
บทท 4 แฟมขอมล 111
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 10/35
ตอจากนั นนามาเรยงลาดับ และเทอมท ซ ากันใหรวม(merge) เปนเทอมเดยว ดังน
บทท 4 แฟมขอมล 112
a 2
aid 1
all 1
and 2
come 1
country 1
country 2
dark 2
for 1
good 1
in 2is 1
it 2
manor 2
men 1
midnight 2
night 2
now 1
of 1
past 2
stormy 2
the 1
the 1
the 2
the 2
their 1
time 1
time 2
to 1
to 1
was 2
was 2
Term Doc # Freq
a 2
aid 1 1
all 1 1
and 2 1
come 1 1
country 1 1
country 2 1
dark 2 1
for 1 1
good 1 1
in 2 1
is 1 1
it 2 1
manor 2 1
men 1 1
midnight 2 1
night 2 1
now 1 1
of 1 1
past 2 1stormy 2 1
the 1 2
the 2 2
their 1 1
time 1 1
time 2 1
to 1 2
was 2 2
1
จากตัวอยางจะเหนไดวาเราจะทราบถงความถ ของเทอมตางๆท มอย ในเอกสารทั งหมด
สาหรับการสราง Invert File นั นเราจะแยกแฟมท ไดน ออกเปน Dictionary File และ Postings
File ดังน
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 11/35
วธการน ทาใหการคนหามความรวดเรวเพราะเทอมตางๆเปนอสระตอกัน การใชงาน
นั น แตละเทอมประกอบดวย Document ID , Frequency of term in doc (optional) และPosition of term in doc (optional) ในการสอบถามสามารถใช Boolean queries หรอ
statistical ranking algorithms ก ได เชน country ปรากฏทั งเอกสารทั ง d1 และ d2 สวน
manor ปรากฏอย ในเอกสาร d2 ดังนั น country AND manor จะทาการดงเอกสาร d2
ออกมาใหแกผ ใช เปนตน
การตรวจสอบน จะสบคนจาก Posting File เพ อดงเอกสารท ตรงกับขอคาถามดัง
ตัวอยาง
สมมตวาขอสอบถามคอ “time” AND “dark”
2 docs with “time” in dictionary -> ID 1 and 2 from posting file
1 doc with “dark” in dictionary ->ID 2 from posting file
ระบบจะทาการคนหาจากพจนานกรมกอนวาคาวา “time” ปรากฏในเอกสารจานวนเทาใดในท น มดวยกัน 2 เอกสาร และมความถ รวมเทากับ 2 มการเช อมโยงไปยังตาแหนงท อย ของเอกสารทั งสอง ในทานองเดยวันจะมการตรวจสอบคาวา “dark” จากพจนานกรมและดงเอกสาร 2 จาก posting file นามา AND ผลจากการสอบถามระบบจะถงเอกสาร 2 ออกมาใหผ ใช
บทท 4 แฟมขอมล 113
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 12/35
ตัวอยางท 4.6 Invert File
Invert File น มการสรางข นจาก home page ของ Microsoft.com เพ อใชสาหรับการสบคนฐานขอมล และ Microsoft เปน Text File ท ประกอบดวย Term String และ docID
string ซ ง Term เหลาน สามารถสรางโดยใช โครงสรางตนไม(Tree) หรอ Hash index ก ได
บทท 4 แฟมขอมล 114
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 13/35
Index-Sequential File(IS File)
เปนแฟมขอมลชนด Inverted File ท มทกคยเวรด Ki ซ ง Ni = hi = 1 ซ งแตละเรคอรดจะมเพยง 1 คยเวรดเทานั น ซ งกล มของเรคอรดเหลาน จะถกจัดเรยงลาดับตามลาดับของคย ดังรปท 4.5
รปท 4.5 : แสดง index-sequential file
Index-Sequential File(IS) นั นเหมอนกับ Sequential File ท มดรรชนเปนลาดับชั น
โดยจะใชหมายเลขเรคอรดเปนคย จากรปท 4.6 เปนไดเรกทอร ของแฟม Index-Sequential
File ท ถกสรางบนเคร องคอมพวเตอร ประกอบดวยดัชน 3 ระดับไดแก Master Index ,
Cylinder index และ Track index สมมตวาตองการคนหาคยท 0070 การคนหาตาแหนงท อย ของขอมลจะเร มคนหาจาก Master index กอนโดยตรวจสอบจาก Highest Key referenced
บทท 4 แฟมขอมล 115
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 14/35
ผลลัพธเปน 1/010 หมายความวาขอมลท ตองการอย Cylinder ท 1 Track ท 010 ตอจากนั นการสบคนจะไปคนหาจากดรรชน ในระดับท สองใน Cylinder ท 1 Track ท 010 โดยนาคาของ Key ในท น คอ 0070 ไปสบคน จาก Highest key referenced for corresponding index ไดผลลัพธวา ขอมลท ตองการอย ใน Track ท 030 นาผลท ได ไปสบคนจากดรรชน ในระดับท 3
ตอไป โดยเปรยบเทยบกับ Highest Key in track ไดผลลัพธเทากับ 090 ทาใหระบบทราบวาขอมลท ตองการนั นอย ใน track ท 90 นั นเองสามารถดงขอมลไดตามตองการ
รปท 4.6 : แสดงการสราง Index-sequential file
บทท 4 แฟมขอมล 116
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 15/35
มัลตลสต(Multi-List)
เปน Inverted File ท ม 1 ลสตตอ 1 คยเวรด ซ งไดเรอทอร จะม hi = 1 โดยไดเรกทอร จะเกบตาแหนงท อย ของเรคอรดแรกและมการเช อมโยงเรคอรดท มคยเวรด Ki ไวดวยกัน สรางเปน Ki-list ตามรปท 4.7
รปท 4.7 : แสดง Multi-list
การพัฒนา Invert File ประเภทน เพ อแกปญหาความย งยากของการ Update ทาใหมการแทรกและลบไดงายและใชเวลานอยลง
บทท 4 แฟมขอมล 117
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 16/35
Ring Structure
เปน Invert File ท ดัดแปลงอกเลกนอยท การเช อมโยงจะเปนลักษณะวงแหวน กลาวคอตอนตนและตอนปลายของลสตจะตองเปนเรคอรดเดยวกัน ซ งการเกบขอมลโดยใช โครงสรางแฟมขอมลในลักษณะน จะเปนประโยชน ในการแบงชนดของขอมล ดังรปท 4.8
รปท 4.8 : แสดงการสราง Dendrogram ใช Ring Structure
จากรป D1 ,D2 ,D3 ,D4 ,D5 ,D6 ,D7, D8 เปนเอกสาร
สาหรับ C1 , C2 , C3, C4 เปนคลาสของเอกสาร ซ ง C1 เปนคลาสของเอกสาร D1
และ D2 ซ งเอกสารท อย ในคลาสเดยวกันจะมคยเวรดรวมกัน ทาใหเราสามารถจัดกล มของเอกสารท ใชสาหรับแตละคยเวรดได แตบางครั งกอาจเกดการซอนทับกันคอ เอกสารหน งอาจจะอย ได ในหลายๆคลาส ดังรปท 4.9 เหนไดวา เอกสาร D1 อย ทั งคลาส K1 และ K2
บทท 4 แฟมขอมล 118
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 17/35
รปท 4.9 : แสดง Two overlapping ring
Threaded List
เปนการแบงกล มแบบงายๆ จากรปท 4.9 นั นมการแบงกล มของเอกสารออกเปน 4
กล มคอ (D1,D2) , (D3,D4) , (D5,D6) , (D7,D8) ซ งแตละลสตยอย(sublist)จะมตัวช ตาแหนง 2 ตัวเทานั น
รปท 4.10 : โครงสรางของลสตท สรางโดย hierarchic classification
บทท 4 แฟมขอมล 119
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 18/35
เราสามารถเปล ยนแปลงโครงสรางน ใหคลายกับ Ring Structure โดยใหตัวช ท อย ทาง
ขวามอช กลับไปยังสวนหัวของลสตยอย ดังรปท 4.11
รปท 4.11 :แสดง threaded list ท สราง hierarchic classification
ประโยชนของโครงสรางในลักษณะน นั นคอการทองแตละโหนดนั นสามารถกระทาไดอยางรวดเรว สามารถกระทาได โดยไมตองใช โครงสรางชนดสแตกมาชวยในการเขาถงเอกสาร แตกมขอเสยคอการแบงกล มนั นตองกระทาโดยเร มจากราก(root) เสมอ
Double Chained Tree
เปนโครงสรางของขอมลท มการปรับเปล ยนแตละโหนดโดยจากท มตัวช หรอ pointer 2
ตัวโดยมการเพ มฟลดสัญลักษณ (Symbol) เขาไปเพ อนาไปใชสาหรับการเกบคยท มขนาดไมคงท ดังรปท 4.11 แตละคยจะถกสรางข นมาจากการเลอกสัญลักษณจากตัวอักษร
กาหนดให {A, B ,C } เปนเซตของสัญลักษณของคย
R1 ,R2, R3, R4, R5 เปนเรคอรดท เกบบันทกในโครงสรางน
บทท 4 แฟมขอมล 120
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 19/35
สมมตวาคยแตละเรคอรดมขนาดไมเทากัน
R1 มคยวา AAA
R2 มคยวา AB
R3 มคยวา AC
R4 มคยวา BB
R5 มคยวา BC
รปท 4.12 : แสดง doubly chained tree
การสรางโครงสรางของขอมลนั นจะสรางโหนดแรกท ไมมสัญลักษณ ใดๆอย ใน Level 0
ซ งเปน root ของโครงสรางน โดยจาก root จะช ไปยังโหนดท มการเกบสัญลักษณตัวแรกของคยและเช อมโยงไปยังสัญลักษณอ นๆท เปนตัวแรกของคย ในท น สัญลักษณตัวแรกของคยเปน
A และ B ดังนั นจะมการเช อมโยงกันใน Level 1 จานวน 2 โหนดคอ โหนดท มสัญลักษณ A
และโหนดท มสัญลักษณ B ตอจากนั นพจารณาคย ในตาแหนงท สอง เพ อสรางโครงสรางขอมล ใน Level 2 ซ งสัญลักษณตัวท สองของสัญลักษณ A ไดแก A,B,C สาหรับสัญลักษณตัวท สองของ B ไดแก B ,C เราจะทาการเช อมโยงขอมลโดยแยกการเช อมโยงตามลาดับของคย
บทท 4 แฟมขอมล 121
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 20/35
Tree (ตนไม)
เปนโครงสรางขอมลท ไมเปนเชงเสน (non-linear list) ในลักษณะของลาดับชั น(hierarchical data structure) ประกอบดวยเซตของโหนดตั งแต 1 โหนดข นไปมลักษณะ คอ
ม โหนดพเศษ 1 โหนดท เรยกวา ราก (root node) โหนดอ นๆจะถกแบงเปนเซตเลกๆ ท ไมม โหนดรวมกันเรยกแตละเซตวาตนไมยอย(subtree) และในแตละตนไมยอย กจะมรากเชนเดยวกัน
v0
v1 v9
v2 v3 v4 v7 v10 v11 v12
v5 v6 v8 v13
รปท 4.13 แสดงตนไม
จากรปท 4.13
v0 เปนราก(root node)
tree = {v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,10,v11,v12,v13}
subtreeของ v0 คอ {v1,v2,v3,v4,v5,v6},{v7,v8},{v9,v10,v11,v12,v13}
ตนไมน ประกอบดวยโหนดทั งหมด 14 โหนด คอ v0..v13 และโหนดพเศษคอ v0
เปน root node ซ งแบงเปนเซตเลกๆซ งเรยกวาตนไมยอย 3 subtree ดวยกัน ซ งsubtree แรกม v1 เปน root สวน subtree ท 2 ม v7 เปน root ทายสด subtree ท 3 ม v9 เปน root
บทท 4 แฟมขอมล 122
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 21/35
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 22/35
การเรยกช อโหนดตางๆในโครงสรางตนไม
- root ของตนไมแตละตนเรยกวา father หรอ parent
- โหนดท เกดจากพอเดยวกันเรยกวา brother หรอ sibling โดยถอโหนดทางซายมอสดเรยกวาลกชายคนโต (oldest brother) ถัดมาทางขวาเปนคนรอง (younger brother) ถัดมาทางขวาอกเปนคนสดทอง (youngest brother)
- ลกหลาน (decendents)หมายถงโหนดท อย ตอจากโหนดท เปน parent ลงมาทั งหมด
- บรรพบรษ (ancestors) หมายถงโหนดท อย กอนโหนดท กาหนดข นไปเปนสายเดยวกัน
ชนดของตนไม พจารณาจากการจัดลาดับของโหนดในตนไมยอย แบงไดเปน 2 ชนดคอ
1.
Ordered tree เปนลักษณะของตนไมท ถอวาการจัดลาดับของตนไมยอยมความสาคัญ
ถามการสลับท กันของโหนด จะถอวาเปนตนไมนั นมลักษณะแตกตางกัน
A A A
บทท 4 แฟมขอมล 124
B C B C C B
D E E D D E
รปท 4.15: แสดงภาพของตนไม
จากรปท 4.15 ตนไมทั ง 3 ตนจัดวามลักษณะแตกตางกันถงแมจะม โหนดท เหมอนกันกตาม
2. Oriented tree เปนลักษณะของตนไมท ถอวาการจัดลาดับของตนไมยอยไมมความสาคัญ โดยตามตัวอยางขางบนถอวาเปนตนไมตนเดยวกัน คอประกอบดวย
โหนด A,B,C,D,E
ตัวอยางท 4.7 การนาโครงสรางตนไมมาใช ในระบบคนคนสารสนเทศ สมมตวามเอกสารอย ชดหน ง ไดแก {D1,D2, D3, D4, D5, D6, D7, D8 } เราแบงกล มเปน 4 กล มไดแก {(D1,D2)
,(D3,D4) ,(D5,D6),(D7,D8)} และมการจัดกล มของ 4 กล มน ออกเปนอก 2 กล มใหญดังน
( ( (D1,D2),(D3,D4) ) , ( (D5,D6),(D7,D8 )) )
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 23/35
เราสามารถใช Binary Tree เปนตนไมท เปน ordered tree และมก งท ย นออกมา(out
node) ของทกๆโหนดนอยกวาหรอเทากับ 2 ถา out node ทกๆโหนดเทากับ 2 หรอ 0 จะเรยกตนไมนั นวา full binary tree
รปท 4.16 แสดงตนไม A A
B C B C (a) เปน Binary tree
E E D (b) เปน full Bianry tree
(a)
(b)
ตนไมแบบไบนาร แตละโหนดจะมดกรสงท สดคอ 2 ดังนั นแตละโหนดจะมตนไมยอยไดมากท สดเพยง 2 ตนไม
• ตนไมยอยทางซายวา Left subtree หรอ left child กรณมตนไมยอยเพยง 1 โหนด
• ตนไมยอยทางขวาเรยกวา Right subtree หรอ Right child กรณมตนไมยอยเพยง 1
โหนด
A A
บทท 4 แฟมขอมล 125
B C B C ->Right child
F D E Left child
Left subtree Right subtree
รปท 4.17 : แสดงตนไมท มตนไมยอยทางซายและทางขวา
ดังนั นจากตัวอยางสามารถสรางตนไม ไดดังน ในการคนหาเอกสารท ตองการนั นจะเร มคนหาจาก root โดยทั วไปเพ อใหมประสทธภาพมากตองนาคยมาเรยงลาดับกอนทาใหแบงคยออกเปน 2 ชด และการคนหาในแตละระดับจะท งชดท ไมมคยออกไปคร งหน ง ดังนั นเวลาเฉล ย ในการคนหาจงมคาเทากับ log2 N
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 24/35
รปท 4.18 : แสดง โครงสรางตนไมท แทน dendrogram
เราสามารถนาโครงสรางตนไมแทน dendrogram ของเอกสารไดดังรปท 4.18 ปญหาของการคนหาขอมลในโครงสรางน คอตนไมมการเอยงไปดานใดดานหน ง ดังรปท 4.19 ทาให
เสยเวลาในการสบคน การแก ไขนั นตองพยายามท จะรักษาตนไม ใหคงคณสมบัตการเรยงอันดับไว ในรปแบบใกลกับความเตมตน เพ อความรวดเรวในการใสและการคนหา พยายามท จะทาใหตนไมมความสงไดดลย (Balanced Tree) โดยสรางตนไม ใหม
รปท 4.19 : ตัวอยางของ degenerate tree
บทท 4 แฟมขอมล 126
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 25/35
บทท 4 แฟมขอมล 127
ในความเปนจรง เราสามารถหาเอกสารท ใกลเคยงกับความตองการมากท สด ซ ง
อาจจะจัดใหเอกสารท คลายคลงกันจัดเปนกล มใกลเคยงกัน ซ งสงผลใหตนไม ไม ไดดล ดังนั นการใช โครงสรางตนไม ในการจัดแบงกล มเอกสารนั นจงมักใช โครงสรางแบบตนไมทั วไป(General Tree Structure) มากกวา Binary Tree เพราะไมมการจากัดจานวนก งท ออกมาจาก โหนดนั น
กราฟ (Graph)
โครงสรางแบบตนไมหรอทร
ซ งเปนกราฟชนดพเศษอยางหน ง
โดยความสัมพันธระหวางโหนดเปนแบบลาดับชั น โดยชั นบนเปนพอแมและระดับชั นลางเปนลก ซ งทฤษฎของกราฟสามารถนามาประยกต ใช ในการแกปญหางานอ นๆไดอกเชน ปญญาประดษฐ วงจรไฟฟา ฯลฯ
กราฟประกอบดวยเซตของโหนดและเอจ (edge) โดยท โหนดเปนขอมลเบ องตนของกราฟ และเอจ เปนเสนเช อม (link) ระหวางโหนดในกราฟ ดังนั นเราสามารถกลาวอกนัย คอ
กราฟ G ประกอบดวย
1. เซต V ของขอมลเรยกวา โหนด (node) ,จด (point) หรอ vertice
2. เซต E ของเสนเช อม ซ งแตละเสนเช อม e ใน E เทยบเทากับค หนวยท ไมเรยงลาดับของ [u ,v ] ของโหนดใน V ซ งสามารถแสดงได โดย e = [u ,v ]
บางครั งเราแสดงสวนของกราฟดวยสมการ G = ( V , E )
ถา e = [u ,v ] แลวโหนด u และ v จะเรยกวาเปน endpoint ของ e โดย u และ v นั นกลาวไดวาเปน adjacent nodes หรอ neighbors โดย degree ของโหนด u เรยกวา deg(u)
เปนจานวนของเสนเช อมท อย บน u ถา deg(u) = 0 แสดงวา u เปนโหนดท ไมเช อมตอกับ โหนดใดบนกราฟ ซ งเรยกวา isolated node
วถ (path) P มความยาวเทากับ n หมายความวา จานวนโหนดจากโหนด u ถงโหนด v ซ งเช อมดวยเสนเช อมท เปนอันดับตอเน องกันจานวน n + 1 โหนด แทนดวย
P = ( v1 , v2 , v3 , . . . , vn )
กราฟแบงออกเปน 2 ชนด คอ กราฟแบบไมมทศทาง (undirected graph) และกราฟแบบมทศทาง (directed graph)
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 26/35
A
B C
A B
C D
กราฟแบบไมมทศทาง กราฟแบบมทศทาง
รปท 4.20 แสดงตัวอยางกราฟแบบไมมทศทางและมทศทาง
รปท 4.20 แสดงตัวอยางความสัมพันธระหวางโหนดและเอจดวยแผนภาพ รปวงกลม
แทนโหนดของกราฟ (node) เสนตรงท มลกศรและไมมลกศรแทนเอจท เช อมระหวางโหนด
โดยกราฟท มเสนเช อมเปนลกศรจะเปนกราฟแบบมทศทาง พจารณารปกราฟท มทศทาง โหนด B , deg (B) มคาเทากับ 2 , โหนด C ม deg (C) เทากับ 1
กราฟแบบไมมทศทาง เสนเช อมระหวางโหนดจะไมมทศทางกาหนด ดังนั น ถา AB คอ
path ระหวางโหนด A กับ B จะมความหมายเหมอนกับ path ระหวางโหนด B กับ A
กราฟแบบมทศทาง เสนเช อมระหวางโหนดจะมทศทางกาหนด ดังนั น ถา AB คอ
path ระหวางโหนด A กับ B แต BA ไมเปน path ระหวาง B กับ A เราสามารถใชสัญลักษณ A---> B แสดงการเช อมระหวางโหนด A ไปโหนด B ซ งการเช อมน มดวยกัน 2 ลักษณะ คอ
เช อมแบบทางตรง (directly connect) และเช อมแบบทางออม (indirectly connect) เชน A
ตอทางตรงกับ B สามารถใชสัญลักษณ ไดดังน A--->B สวน A เช อมทางออมกับ B
สามารถใชสัญลักษณ ไดดังน A--->C , C--->B หรอ A--->C---->B เปนตน
ตัวอยางท 4.8 สายการบน Friendly Airways มเท ยวบนประจาวัน 9 เท ยว ดังตอไปน 103 Atlanta to Houston
104 Houston to Atlanta
201 Boston to Chicago
203 Boston to Denver
204 Denver to Boston
301 Denver to Reno
305 Chicago to Miami
308 Miami to Boston
402 Reno to Chicago
บทท 4 แฟมขอมล 128
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 27/35
จากรายละเอยดท ใหมาสามารถเขยนเปนกราฟไดดังน
Boston
Reno
Chicago
Denver
Atlanta
Houston Miami
ปกตการประยกต ใชกราฟในงานตางๆนั นไมเพยงแตม edge ท เปนเสนเช อมระหวาง โหนด เทานั น แตวาอาจมการระบคาใหกับ edge แตละเสนบนกราฟดวย เชน ปญหาการหาเสนทางนั นเราไมสนใจเพยงเสนทางเดนระหวางโหนดเทานั น แตเราสนใจระยะทางท เช อมระหวางโหนดดวย คาท เปนตัวเลขซ งแทนระยะทางน เรยกวา คาถวงน าหนัก (weight) เราสามารถปฏบัตการกับกราฟท แตละเอจมคา weight อย ใน ขายงาน (network) ได โดยคาของ edge ท เช อมระหวางโหนดในขายงาน เราสามารถใช แถวอันดับ adjacency matrix เกบคาของ weight นั นเอง
Spanning tree ท มคาต าสด ( Minimum Spanning tree )
สมมตวาปญหาของเราคอการหาเสนทางท เช อมทกโหนดเขาดวยกัน โดยท ผลรวมของระยะทางบนกราฟท เช อมทกโหนดตองมระยะท สั นท สด การแกปญหาน เราสามารถใชอัลกอล
ทมซ งเปล ยนรปทางมโนภาพของขายงานเปนโครงสรางแบบตนไม ซ งเรยกตนไมแบบน วา minimum spanning tree
อัลกอลทมน ใหผลลัพธเฉพาะเสนท เช อม (edge) ระหวางโหนดบนกราฟ เม อนาคาของ edge มารวมกันแลวจะไดระยะทางท สั นท สดบนกราฟ รปท 4.21 แสดงตัวอยางของขายงานและ Minimum Spanning บนขายงาน รปท 4.21.1 แสดงตัวอยางรปของขายงาน และรปท 4.21.2 แสดงตัวอยางแถวอันดับท เกบคา weight ของกราฟรปน
บทท 4 แฟมขอมล 129
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 28/35
A B
C D
E
800
1421 4 0 0
2 0 0
410
6 1 2
2 9 1 5 310
A B
C D
E
2 0
0 410
6 1 2
310
รปท 4.21.1 ตัวอยางกราฟ รปท 4.21.2 minimum spanning tree
รปท 4.21 แสดงตัวอยางของขายงานและ Minimum Spanning
4.5 Direct File
โครงสรางแฟมขอมลชนดน อาจเรยกวา Scatter Storage หรอ Hash Addressing
เทคนคน เปนการคนหาแบบ Hashing ซ งใชหลักการโดยมคาคยแบบหน งในการคนหาขอมล วธน เหมอนกับการอางขอมลชนดแถว โดยคาคยเปนเสมอนดัชน ใน Array วธน จะแปลงคาคย ใหเปนคาแอดเดรสของคย โดยใชฟงกชั นท เรยกวา Hashing function หรอ key-to-
address transformation โดยใชสัญลักษณ H(k) ซ ง K คอคาคยท ใช ในการคนหาขอมล
คาคยท ใช ในการคนหาขอมลนั นอาจเปนตัวอักษรลวน เชน ช อบคคล หรอเปนตัวเลขลวนๆก ได เราตองเลอกฟงกชั นในการแปลงคาคย ใหเปนตัวเลขซ งตัวเลขน คอตาแหนงท อย ของขอมลท เราตองการบันทกหรอแก ไขหรอคนหานั นเอง คาคยท เลอกใชตองมคาเดยวไมซ ากัน ปญหาท เกดข นในการแปลงคาคย ใหเปนตาแหนงท อย ของขอมลคอการซ ากันของตาแหนงท อย ขอมล กลาวคอเม อแปลงคาคยท ใช ในการคนหาเปนตาแหนงท อย ของขอมลแลวเปนคาตาแหนงท มขอมลบรรจอย แลว คอไดคาตาแหนงท ตรงกัน ซ งเราเรยกการเกดในลักษณะน วา การชนกัน (collisions) ดังนั นการเลอกใชฟงกชั นในการแปลงเปนส งท ตอง
คานงถง โดยเลอกใชฟงกชั นท มการกระจายขอมลหรอคาคย ไปส ตาแหนงตางๆใหมากท สด
ในกรณท เกดการชนกันเกดข น เราสามารถแก ไขไดหลายวธการ วธการท งายท สดในกรณท ตองการบันทกขอมลใหม คอเล อนไปยังระเบยนวางในลาดับตอไปแลวนาขอมลใหมบันทกยังท วางท ใกลกับตาแหนงท คานวณไดมากท สด และในกรณคนหาถาตาแหนงท คานวณ ได ไม ใชขอมลท ตองการเราสามารถคนหาขอมลท ตองการในระเบยนถัดไป ซ งยังนับวาการคนหาขอมลยังคงรวดเรวและมประสทธภาพ เพราะขอมลท ตองการยังคงอย ในลาดับถัดไปท ไม ไกลจากตาแหนงท คานวณไดอย ด
บทท 4 แฟมขอมล 130
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 29/35
บทท 4 แฟมขอมล 131
ฟงกชั นตางๆท ใช ในการแปลงคาคย ใหเปนตาแหนงท อย น มดวยกันหลายวธ ท นยมใช
กันมาก มดังน (a)
Division method
เปนวธการหาร รปแบบของวธการน คอ
H(k) = k mod m + 1
โดย K คอคยท ใช ในการคนหา M คอตัวเลขจานวนเตมท ใช ในการหาร สวนมากเลอกเปนเลขจานวน
เฉพาะท ใกลเคยงกับจานวนขอมลมากท สด
วธการน เปนวธการท งายท สด เพราะเพยงแตนาคยซ งเปนเลขจานวนเตมหารดวย m
แลวบวกดวย 1 เทานั น
ตัวอยางท 4.9
สมมตวาหนังสอของหนวยงานหน งมจานวนสงสดไมเกน 100 เลม แตการกาหนดรหัสหนังสอปนตัวเลข 4 หลัก เชน
รหัสหนังสอ ช อหนังสอ สานักพมพ 3205 Pascal Programming ซเอดบ ค
7148 C++ มหาวทยาลัยรามคาแหง 2345 Programming Language ครสภา 9524 JAVA สยาม
.. .. .. ..
ถาเราเกบขอมลแบบเรยงลาดับขอมลของหนังสอจะเกบเรยงลาดับไปเร อยๆ การคนหาจะเร มจากระเบยนแรกไปเร อยๆ กรณท ตองการคนหาแบบ Binary จะตองทาการเรยงลาดับขอมลเสยกอนโดยเรยงตามรหัสหนังสอ ในกรณของ Hashing น การเกบขอมลจะแตกตางจากแบบแรกคอขอมลไมเกบตอเน องกันไป ซ งขอมลจะกระจัดกระจายมชองวางระหวางระเบยนเกดข น ในท น มหนังสอทั งหมด 100 คนตองจัดสรรเน อท เพ อเกบขอมลได 100
ระเบยนเตมโดยทั วไปการจัดเกบในลักษณะน ตองเผ อใหเกนไวอยางนอย 20 % ของปรมาณขอมลทั งหมด เพ อความรวดเรวในการคนหาและบันทก เพราะการคานวณอาจจะเกดการชนกันไดมากนั นเอง
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 30/35
บทท 4 แฟมขอมล 132
จากตัวอยางรหัสหนังสอเปนตัวเลข 4 หลัก แตจานวนหนังสอ หรอจานวนระเบยนท
จัดเกบไมเกน 100 คน การเลอกคา m เราควรเลอกคา 97 เพราะเปนเลขจานวนเฉพาะท ไมมตัวเลขใดหารลงตัว เม อนามาหารกับตัวเลขใดๆ ความนาจะเปนในการหารแลวเหลอเศษจะซ ากันนอยกวาคาใดๆนั นเอง จากตัวอยางน สามารถคานวณตาแหนงท อย ไดดังน
H(3205) = 3205 mod 97 + 1
= 5
H(7148) = 7148 mod 97 +1
= 68
H(2345) = 2345 mod 97 + 1
= 8
เม อนาคาคยซ งคอรหัสหนังสอมาแปลงเปนตาแหนงท อย นั น เม อนามาหารดวย 97
เศษท ไดจะมคาระหวาง 0 ถง 96 ในกรณท เกดการชนกันเราสามารถนาขอมลไปเกบในตาแหนงวางถัดไปได
(b) Midsquare
เปนวธการท นาคาคยมายกกาลังสอง แลวนาคาหลักท อย ตรงกลางของผลลัพธมาเปน
คาตาแหนงของขอมล
H(k) = I
ตัวอยางท 4.10
สมมตวาหนังสอของหนวยงานหน งมจานวนสงสดไมเกน 100 เลม แตการกาหนดรหัสหนังสอปนตัวเลข 4 หลัก เชน
รหัสหนังสอ ช อหนังสอ สานักพมพ 3205 Pascal Programming ซเอดบ ค
7148 C++ มหาวทยาลัยรามคาแหง 2345 Programming Language ครสภา 9524 JAVA สยาม
.. .. .. ..
วธน จะนารหัสหนังสอมายกกาลังสอง แลวทาการตัดตัวเลขทางซายสดและตัวเลขทางขวาสด และนาคาหลักท อย ตรงกลางมาเปนคาตาแหนงของขอมล
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 31/35
บทท 4 แฟมขอมล 133
K 3205 7148 2345K2 10272025 51093904 5499025
H(k) 72 93 99
วธการน ในกรณท คาคยมจานวนหลักมากๆ การยกกาลังสองอาจจะสงผลใหย งยากได
(c) Folding
ในกรณท คยมจานวนหลักมากๆ
สมมตวา
รหัสหนังสอมจานวนตัวเลขหลายหลักเชน
4251047856 เปนตน การนาคารหัสหนังสอมายกกาลังสอง อาจจะย งยากเพราะเกนขดความสามารถของเคร องคอมพวเตอร ได จงมวธการท พัฒนาการแปลงคาโดยนาคาคยท มจานวนหลักมากๆ แบงออกเปนสวนๆ สวนแลวนามาพับรวมกัน ก ได
H(k) = k1 + k2 + k3 + … + kr
วธน แบงคาคย เปนสวนๆ โดยท แตละสวนมจานวนหลักของเลขสาหรับช ตาแหนงเทากัน ยกเวนสวนสดทาย ตอจากนั นนาสวนตางๆมารวมกันแลวตัดตัวทดออก
ตัวอยางท 4.11
สมมตวาหนังสอของหนวยงานหน งมจานวนสงสดไมเกน 100 เลม แตการกาหนดรหัสหนังสอปนตัวเลข 4 หลัก เชน
รหัสหนังสอ ช อหนังสอ สานักพมพ 3205 Pascal Programming ซเอดบ ค
7148 C++ มหาวทยาลัยรามคาแหง 2345 Programming Language ครสภา 9524 JAVA สยาม
.. .. .. ..
.. .. ..
วธการ Folding น เน องจากคยคอรหัสหนังสอเพยง 4 หลัก เราอาจแบงคาคยออกเปน
2 สวน แลวนามารวมกันจะได
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 32/35
H(3205) = 32+05 = 37
H(7148) = 71+48 = 119 = 19H(2345) = 23+45 = 68
หรออาจกลับคาสวนท สองกอนการบวกก ได H(3205) = 32+50 = 82
H(7148) = 71+84 = 155 = 55
H(2345) = 23+54 = 77
(d) Open Hashing (Separate Chaining)
การบันทกขอมลหรอการคนหาขอมลในกรณท เปนโครงสรางขอมลชนด linked list
สามารถกระทาไดหลายวธ วธท จะกลาวถงคอ Open hashing เปนการนาตาแหนงโหนดของขอมลเกบเช อมโยงกัน โดยตาแหนงโหนดขอมลตัวแรกของลสตเกบในโครงสรางชนดแถว ดังรปท 4.21
บทท 4 แฟมขอมล 134
0 1 0 30
1
2 22
3
4 4 64 84
5
6
7
8
9 29
รปท 4.22 : แสดง Open Hashing
จากรปท 4.22 เหนไดวา ตองมการแปลงคาคย ใหเปนตาแหนงท อย ในท น ตาแหนงท อย มคาเพยง 10 คาเร มจาก 0 ถง 9 ในท น ใชวธการแปลงคาวธ Division method โดยนาคา 10 หารคาคยเศษท ไดคอตาแหนงท อย ของขอมล ในกรณท คาคยคอ 76 เม อนา 10 ไปหาร ไดเศษเทากับ 6 จะนาโหนดขอมลน มาเช อมโยงในลสตของชองท มดัชน 6 โหนดของขอมลจะ
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 33/35
บทท 4 แฟมขอมล 135
0 10 30
1
2 22
3
4 4 64 84
5
6 76
7
8
9 29
รปท 4.23 : แสดง การแทรกขอมลใน Open Hashing
ในการคนหาโหนดของขอมลนั น เราตองนาคย ไปแปลงเปนตาแหนงท อย ของโหนด
และ คนหาจากโหนดแรกไปเร อยๆจนกระทั งพบขอมล หรออกกรณคอไมพบขอมล ในการแทรกขอมลใหมเขาไปใน Open hashing น สามารถกระทาได ไมยาก เพยงแต
คานวณตาแหนงของโหนดขอมลวาอย ในชองใดของตัวแปรชนดแถว H และทาการแทรก โหนดใหมเขาไปใน ลสต ซ งการแทรกอาจเปนการแทรกโหนดใหมเปนตัวแรก หรอเปนตัวสดทาย หรอ ระหวางกลางโดยเรยงลาดับก ได ข นอย กับความตองการและความเหมาะสมในการดาเนนการ
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 34/35
แบบฝกหัด
1. จงอธบายถงภาษาสาหรับแสดงโครงสรางแฟมขอมล
2. จงอธบายถงโครงสรางของแฟมขอมลแบบเรยงลาดับ(Sequential File) พรอมทั งอธบายถงขอดขอเสยของแฟมชนดน
3.
จงอธบายถงโครงสรางของ Invert File พรอมยกตัวอยางประกอบการอธบายมาพอเขาใจ
4. จงอธบายถงการสราง Invert File ในระบบคนคนสารสนเทศ พรอมยกตัวอยาง
ประกอบการอธบายมาพอเขาใจ
5. จงอธบายถง Index-Sequential File มาพอเขาใจ
6.
จงอธบายถงโครงสรางขอมลท ไมเปนเชงเสน ชนด Tree และ Graph มาพอเขาใจ
7.
จงอธบายถงโครงสรางแฟมขอมลท เรยกวา Scatter Storage มาพอเขาใจ
บทท 4 แฟมขอมล 136
8/9/2019 CT477-4 Information Retrieval Ch.4
http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 35/35
บรรณานกรม
สมาล เมองไพศาล ,”การจัดการขอมล และการเรยกใชขอมล” ,สานักพมพมหาวทยาลัยรามคาแหง ,CS337 ,2535
ดร.ชลรัตน จรัสกลชัย ,”Texual Application “, intelligentce information Retrieval and
database, ภาควชาวทยาการคอมพวเตอร มหาวทยาลัยเกษตรศาสตร
Lawrence, S., Giles, C.L. 1999. Accessibility of Information on the Web. Nature.
Vol.400.pp.107-109.
Ribeiro-Neto, B.A., Barbosa, R.A. 1998. Query Performance for Tighly Coupled
Distributed Digital Libraries. Digital Libraries 98. pp.182-190.
Ribeiro-Neto, B.A., Moura, E.S., Neubert, M.S., Ziviani, N. 1999. Efficient Distributed
Algorithms to Build Inverted Files. SIGIR’99. pp.105-112
http://www.cs.sci.ku.ac.th/~chulee/course/45/wu/handout/wu-1-text.ppt#310,33,การจัดการแฟมขอมล
www.cs.sci.ku.ac.th/~chulee/course/45/wu/handout/wu-1-text.ppt
http://www.cs.su.ac.th/~sirak/517632/
บทท 4 แฟมขอมล 137