ct477-4 information retrieval ch.4

35
 บทท  4  โครงสร างแฟ มขอม   ตถ ประสงค  1. เพ  อให กศ กษาทราบถ งภาษาส าหรบแสดงโครงสร างแฟ มข อม  2. เพ  ให กศ กษาทราบถ งแฟ มข อม ลแบบเร ยงล าด (Sequential File) 3. เพ  อให กศ กษาทราบถ โครงสร างของ Invert File 4. เพ อให นกศ กษาทราบถ งการสร าง Invert File ในระบบค นค นสารสนเทศ 5. เพ อให นกศ กษาทราบถ  Index-Sequential File 6. เพ อให นกศ กษาทราบถ งโครงสร างข อมลท  ไม เป นเช งเส  สารบ  หน  4.1 บทน ............................................................................................................104 4.2 ภาษาส าหร บแสดงโครงสร างแฟ มข อม ..........................................................104 4.3 Sequential File …………………………………………………………………..106 4.4 Invert File…………………………………………………………………………107 4.5 Direct File…………………………………………………………………………130 แบบฝ กหด...................................................................................................137 บรรณาน กรม...............................................................................................138

Upload: chukiat-sakjirapapong

Post on 01-Jun-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CT477-4 Information Retrieval Ch.4

8/9/2019 CT477-4 Information Retrieval Ch.4

http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 1/35

Page 2: CT477-4 Information Retrieval Ch.4

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}

Page 3: CT477-4 Information Retrieval Ch.4

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

Page 4: CT477-4 Information Retrieval Ch.4

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)

- ขอมลในแฟมขอมลไมทันสมัยหรอทันตอเหตการณทกขณะ 

Page 5: CT477-4 Information Retrieval Ch.4

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

Page 6: CT477-4 Information Retrieval Ch.4

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

Page 7: CT477-4 Information Retrieval Ch.4

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

บทท  4 แฟมขอมล  109

Page 8: CT477-4 Information Retrieval Ch.4

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

Page 9: CT477-4 Information Retrieval Ch.4

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

Page 10: CT477-4 Information Retrieval Ch.4

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 ดังน  

Page 11: CT477-4 Information Retrieval Ch.4

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

Page 12: CT477-4 Information Retrieval Ch.4

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

Page 13: CT477-4 Information Retrieval Ch.4

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

Page 14: CT477-4 Information Retrieval Ch.4

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

Page 15: CT477-4 Information Retrieval Ch.4

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

Page 16: CT477-4 Information Retrieval Ch.4

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

Page 17: CT477-4 Information Retrieval Ch.4

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

Page 18: CT477-4 Information Retrieval Ch.4

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

Page 19: CT477-4 Information Retrieval Ch.4

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

Page 20: CT477-4 Information Retrieval Ch.4

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

Page 21: CT477-4 Information Retrieval Ch.4

8/9/2019 CT477-4 Information Retrieval Ch.4

http://slidepdf.com/reader/full/ct477-4-information-retrieval-ch4 21/35

Page 22: CT477-4 Information Retrieval Ch.4

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

Page 23: CT477-4 Information Retrieval Ch.4

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

Page 24: CT477-4 Information Retrieval Ch.4

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

Page 25: CT477-4 Information Retrieval Ch.4

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)

Page 26: CT477-4 Information Retrieval Ch.4

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

Page 27: CT477-4 Information Retrieval Ch.4

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

Page 28: CT477-4 Information Retrieval Ch.4

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

Page 29: CT477-4 Information Retrieval Ch.4

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 % ของปรมาณขอมลทั งหมด  เพ อความรวดเรวในการคนหาและบันทก  เพราะการคานวณอาจจะเกดการชนกันไดมากนั นเอง 

Page 30: CT477-4 Information Retrieval Ch.4

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 สยาม 

.. .. .. ..

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

Page 31: CT477-4 Information Retrieval Ch.4

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 สวน  แลวนามารวมกันจะได 

Page 32: CT477-4 Information Retrieval Ch.4

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  โหนดของขอมลจะ

Page 33: CT477-4 Information Retrieval Ch.4

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 และทาการแทรก โหนดใหมเขาไปใน  ลสต  ซ งการแทรกอาจเปนการแทรกโหนดใหมเปนตัวแรก  หรอเปนตัวสดทาย  หรอ  ระหวางกลางโดยเรยงลาดับก ได  ข นอย กับความตองการและความเหมาะสมในการดาเนนการ 

Page 34: CT477-4 Information Retrieval Ch.4

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

Page 35: CT477-4 Information Retrieval Ch.4

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