New Around the World
 
BACK
  เมื่อคุณจะใช้งาน google คุณก็ต้องรู้การทำงานของ Search Engine

Date : 2008-11-16 Time : 19:54:03
อินเทอร์เน็ตในปัจจุบันมีข้อมูลข่าวสารอยู่มากมาย โดยเฉพาะข้อมูลไฮเปอร์เท็กซ์ที่มีให้บริการในระบบ WWW เป็นที่นิยมใช้อย่างแพร่หลาย การค้นหาข้อมูลที่มีเนื้อหาที่ตรงกับความสนใจจากเว็บเพจกว่า 100 ล้านเพจ ที่มีรวมกันอยู่ในอินเทอร์เน็ตจึงเป็นเรื่องยาก หากไม่มีเครื่องมือช่วยค้นหาหรือที่รู้จักกันดีในชื่อของ Search Engine 

บทความนี้จะอธิบายถึงโครงสร้างและหลักการทำงานพื้นฐานของเสิร์ชเอ็นจิน และเทคนิคที่ช่วยให้เสิร์ชเอ็นจิน สามารถค้นหา และทำดัชนี (Index) ได้อย่างมีประสิทธิภาพ 


เสิร์ชเอ็นจิน และไดเรคทอรี 
บริการค้นหาเวบเพจที่มีอยู่ในปัจจุบันเช่น AltaVista, Lycos, Yahoo, HotBot, InfoSeek ฯลฯ ซึ่งเรามักเรียกโดยรวมทั้งหมดว่าเป็นเสิร์ชเอ็นจินนั้น แท้ที่จริงแล้วมีบางแห่งมีที่ทำงานด้วยโดยใช้เสิร์ชเอ็นจิน และบางแห่งทำงานด้วยวิธีเก็บเว็บเพจไว้เป็น ไดเรคทอรี ซึ่งมีความแตกต่างกันโดยหลักพื้นฐานการสร้างดัชนีชี้เวบเพจ 
ไดเรคเทอรีมีการทำงานที่แตกต่างกับเสิร์ชเอ็นจิน คือใช้การปรับเพิ่มข้อมูลโดยผู้ดูแลระบบเองโดยไม่ได้ทำอย่างอัตโนมัติ หากเวบไซต์ใดที่ต้องการมีรายชื่อในไดเรคเทอรีก็ต้องติดต่อไปยังผู้ดูแลไดเรคเทอรี เพื่อให้ผู้ดูแลจำแนกและจัดเก็บลงในฐานข้อมูล ระบบการเก็บแบบไดเรคเทอรีอาจให้ผลลัพธ์การค้นหาข้อมูลที่ตรงประเด็นมากกว่าเสิร์ชเอ็นจิน เพราะผ่านการแยกหมวดหมู่เองเพื่อให้สามารถค้นหาได้โดยตรง ตัวอย่างของบริการค้นหาที่ใช้ระบบไดเรคเทอรีได้แก่ Yahoo! 
สำหรับเสิร์ชเอ็นจินโดยความหมายที่แท้จริงแล้วเป็นระบบซอฟต์แวร์ที่คอยอ่านข้อมูลแต่ละหน้าหรือเวบเพจจากเวบไซต์ต่างๆโดยอัตโนมัติ จากนั้นจึงนำเวบเพจที่อ่านได้มาทำดัชนี เสิร์ชเอ็นจินจะตรวจสอบลิงค์ในแต่ละหน้าของเวบเพจเพื่อเข้าไปอ่านเวบเพจเพื่อทำดัชนีต่อไปอีก ตัวอย่างของเสิร์ชเอ็นจินนี้ได้แก่ Alta Vista หรือ HotBot เป็นต้น 
ภายในของเสิร์ชเอ็นจิน 


โครงสร้างภายในของเสิร์ชเอ็นจินสามารถแบ่งออกเป็น 3 ส่วนใหญ่ๆ ดังรูปที่ 1 คือ 
เสิร์ชเอ็นจิน = สไปเดอร์ + อินเด็กเซอร์ + เสิร์ชเอ็นจินซอฟต์แวร์


สไปเดอร์ 
สไปเดอร์ หรืออาจเรียกในชื่ออื่นว่า โรบอต หรือ ครอเลอร์ (Crawler) ทำหน้าที่อ่านเวบเพจในแต่ละ เวบไซต์ แล้วตรวจสอบลิงค์เพื่อเชื่อมไปยังเวบไซต์อื่นๆ เวบเพจที่อ่านมาได้นั้นจะถูกส่งไปยังอินเด็กเซอร์ต่อไป สไปเดอร์อาจจะกลับมาอ่านเวบเพจเดิมซ้ำว่ามีการเปลี่ยนแปลงหรือไม่ตามระยะเวลาที่กำหนดไว้ 
1. สร้างคิวของเวบเพจ ที่ต้องการจะทำดัชนีโดยในคิวนั้นเริ่มต้นมีอย่างน้อยที่สุดหนึ่งเวบเพจ 
2. เลือกเวบเพจขึ้นมาจากคิวหนึ่งเวบเพจ 
3. อ่านข้อมูลจากเวบเพจที่เลือกขึ้นมาจากขั้นที่ 2 แล้ววิเคราะห์ว่ามีลิงค์เชื่อมไปยังเวบเพจอื่นใดบ้าง จากนั้นให้เพิ่มลิงค์ของเวบเพจลงคิว 
4. เก็บข้อมูลจากเวบเพจโดยจัดเก็บคำที่กำหนดด้วยคำสั่ง title หรืออื่นๆเข้าสู่ฐานข้อมูล 
5. กลับไปยังขั้นที่ 2 

นอกจาก สไปเดอร์ จะทำงานหาลิงค์เพิ่มโดยอัตโนมัตแล้ว เสิร์ชเอ็นจินส่วนใหญ่อนุญาตให้ส่ง URL เพื่อกำหนดให้สไปเดอร์มาทำดัชนีที่เวบไซต์ใดๆได้ ในปัจจุบันมีบริการที่จะส่ง URL ไปเสิร์ชเอ็นจิน หลายๆแห่งพร้อมกันในคราวเดียวเช่นที่
/www.submit-it.com / 


อินเด็กเซอร์ 
อินเด็กเซอร์จะรับข้อมูลจากสไปเดอร์มาทำดัชนี เทคนิคการทำดัชนีมักใช้การจัดเก็บแบบแฮชชิง เพื่อที่ช่วยให้ค้นหาข้อมูลได้สามารถค้นหาได้อย่างรวดเร็ว ขั้นตอนการทำงานของอินเด็กเซอร์แบ่งออกได้เป็น 3 ขั้นตอนหลักดังรูปที่ 2 คือ 
กรองคำด้วยฟิลเตอร์ เนื่องจากไฟล์ที่ทำดัชนีอาจไม่เป็น HTML หรือไฟล์แอสกี ดังนั้นฟิลเตอร์จะตรวจสอบไฟล์ที่ได้ว่าเป็นไฟล์ชนิดใดสามารถนำมาทำดัชนีได้หรือไม่ ถ้าได้ก็จะส่งต่อสู่ภาคการแยกคำต่อไป เสิร์ชเอ็นจินบางตัวสามารถ ทำดัชนีไฟล์อื่นๆนอกเหนือจากไฟล์ HTML ได้ด้วยเช่น Index Server ของไมโครซอฟต์สามารถทำดัชนีคำของแฟ้มเวิร์ดหรือเอกเซลได้ 
แยกคำ ขั้นตอนนี้จะรับสายอักขระมาจากฟิลเตอร์ แล้วตัดแบ่งสายอักขระนั้นๆออกเป็นคำๆ และเพื่อตรวจสอบต่อไปว่าควรจะนำคำนั้นมาทำดัชนีหรือไม่ 
จัดทำดัชนี ขั้นตอนนี้จะทำหน้าที่ตรวจสอบคำศัพท์แต่ละคำที่ได้มาจากการแยกคำ แล้วพิจารณาว่าคำศัพท์คำนั้นสมควรที่จะนำมาทำดัชนีหรือไม่ เช่นคัดทิ้งคำบางคำที่ไม่ได้ใขฃช้ประโยชน์ในการค้นหา เช่น a, an, the, you หรือ of เป็นต้น เสิร์ชเอ็นจินบางตัวสามารถกำหนดได้ว่าจะทำดัชนี กับคำศัพท์เหล่านี้ไว้หรือไม่
 

องค์ประกอบของอินเด็กเซอร์

เสิร์ชเอ็นจินซอฟต์แวร์ 

เป็นส่วนของโปรแกรมที่รับคำศัพท์ที่ต้องการให้ค้นหา แล้วค้นหาในดัชนี หลังจากนั้นจะนำข้อมูลที่ค้นหามาจัดลำดับตามความสำคัญก่อนหลังเพื่อแสดงกลับไปบนหน้าจอ โปรแกรมส่วนนี้มักเป็นโปรแกรม cgi ที่เขียนเชื่อมโยงเข้ากับเวบเพจที่รอให้ผู้ใช้ป้อนคำศัพท์ 

เทคนิคในเสิร์ชเอ็นจิน 

ผลลัพธ์จากการค้นหาจากเสิร์ชเอ็นจินที่มีใช้งานอยู่ทั่วไปนั้น นอกจากจะได้ลิงค์ของเวบเพจแล้วเสิร์ชเอ็นจินยังแสดงเนื้อหาข้อมูลในเวบเพจนั้นด้วย นั่นหมายความว่าเสิร์ชเอ็นจินจะต้องจัดเก็บข้อมูลที่นำมาแสดงนั้นไว้ในฐานข้อมูล เสิร์ชเอ็นจินแต่ละตัวมีวิธีเลือกเก็บข้อมูลแตกต่างกันไปเช่น เก็บเฉพาะอักขระ 200 ตัวแรกของเวบเพจ เสิร์ชเอ็นจินจะคัดเอาอักขระ 200 ตัวแรกที่ไม่ได้เป็นคำสั่ง HTML มาทำเป็นคำบรรยาย หรือเก็บจำนวนคำที่พบในเพจเพื่อนำมาแสดงเป็นคะแนนว่าเวบเพจที่ค้นได้มีความเกี่ยวข้องกับคำที่ค้นมามากเพียงใด 
ตัวสไปเดอร์ในเสิร์ชเอนจินจะใช้ทรัพยากรของระบบเป็นจำนวนมาก เสิร์ชเอนจินที่ดีจะมีสไปเดอร์ที่ไม่ใช้ทรัพยากรของระบบสูงมากเกินไปโดยอาศัยเทคนิคดังเช่น 
ไม่อ่านเอกสาร HTML มากเกินไป แม้ว่าสไปเดอร์ จะมีความสามารถจัดการเอกสารได้ทัน เพราะอาจจะทำให้เครือข่ายทำงานช้าลง 
อ่านเฉพาะส่วนที่จำเป็นต้องใช้ เช่นอาจจะอ่านมาเฉพาะส่วนที่เป็นตัวอักษร ซึ่งในโปรโตคอล HTTP มีฟิลด์ Accept ซึ่งใช้สำหรับบอกชนิดของข้อมูลที่ต้องการ หากมีการระบุชนิดของข้อมูลลงในฟิลด์นี้ เวบเซิร์ฟเวอร์จะส่งข้อมูลมาเฉพาะชนิดที่ระบุในไฟล์ 
ตรวจสอบไม่ให้อ่านเวบที่เคยอ่านไปแล้ว ข้อควรระวังของข้อนี้ก็คือ เซิร์ฟเวอร์บางเซิร์ฟเวอร์อาจจะมีชื่อได้หลายชื่อ เช่น web.nexor.co.uk, nercules.nexor.co.uk และ 128.243.219.1 เป็นเซิร์ฟเวอร์ เดียวกัน 
มัลติเสิร์ชเอ็นจิน 
นอกไปจากเสิร์ชเอ็นจินแล้ว ในปัจจุบันยังมีมัลติเสิร์ชเอนจิน หรือ เสิร์ชเอนจินแบบขนาน ซึ่งก็คือเสิร์ชเอนจินที่จะส่งคำไปถามหรือเสิร์ชเอนจินหลายๆตัวพร้อมกันในครั้งเดียว แล้วนำผลลัพธ์ที่ได้มารวมและเรียบเรียงใหม่ ตัวอย่างของมัลติเสิร์ชเอนจิน เช่น 
Doqpile (
/http://www.doqpile.com /
Inference Find (
/http://m5.inference.com/find/ /
Metacrawler (
/http://www.metacrawler.com /
SEARCH.COM (
/http://www.search.com /

บทสรุป 

เสิร์ชเอนจินนับเป็นเครื่องมือสำคัญอย่างยิ่งในระบบการสืบค้นข้อมูลจากอินเทอร์เน็ต เทคโนโลยีของการค้นหาข้อมูลให้ได้รวดเร็วและถูกต้องตามที่ต้องการยังเป็นหัวข้อที่มีผู้สนใจพัฒนาอย่างมาก โดยเฉพาะการประยุกต์ใช้หลักทางปัญญาประดิษฐ์เข้าไปช่วยในการทำดัชนีและค้นหา เสิร์ชเอนจินที่สามารถสืบค้นคำในภาษาไทยก็นับว่าเป็นสิ่งที่ต้องการอย่างมาก และยังเป็นที่รอคอยให้มีการพัฒนาออกมาใช้งานได้อย่างสมบูรณ์แบบ


ข้อความจากคุณ Phys
/http://www.sudipan.net/ /


From Author a ( aaaa@hotmail.com )



Add Your Comment :
Name :
E-mail :
  ย่อหน้า ตัวหนา ตัวยก เส้นใต้ตัวห้อย ตัวหนังสือเรืองแสง ตัวหนังสือมีเงา ตัวเอียง สีแดง สีเขียว สีน้ำเงิน  
  18174  
 
Message :
Picture(Not More Than 50 k):
  Confirm that not spam
 

 

Back To Comment