วันศุกร์ที่ 1 เมษายน พ.ศ. 2554

search engine

search engine  (โปรแกรมค้นหา)


คือ โปรแกรมที่ช่วยในการสืบค้นหาข้อมูล โดยเฉพาะข้อมูลบนอินเตอร์เน็ตโดยครอบคลุมทั้งข้อความ รูปภาพ ภาพเคลื่อนไหว เพลง ซอฟต์แวร์ แผนที่ ข้อมูลบุคคล กลุ่มข่าว และอื่น ๆ ซึ่งแตกต่างกันไปแล้วแต่โปรแกรมหรือผู้ให้บริการแต่ละราย. เสิร์ชเอนจินส่วนใหญ่จะค้นหาข้อมูลจากคำสำคัญ (คีย์เวิร์ด) ที่ผู้ใช้ป้อนเข้าไป จากนั้นก็จะแสดงรายการผลลัพธ์ที่มันคิดว่าผู้ใช้น่าจะต้องการขึ้นมา ในปัจจุบัน เสิร์ชเอนจินบางตัว เช่น กูเกิล จะบันทึกประวัติการค้นหาและการเลือกผลลัพธ์ของผู้ใช้ไว้ด้วย และจะนำประวัติที่บันทึกไว้นั้น มาช่วยกรองผลลัพธ์ในการค้นหาครั้งต่อ ๆ ไป

ลักษณะการทำงานที่ต่างกัน ทำให้ โดยทั่ว ๆ ไปแล้วจะมีการแบ่งออกเป็นหลาย ๆ  ประเภทด้วยกัน แต่ที่พอสรุปได้ก็มีเพียง3 ประเภทหลัก ๆ ดังต่อไปนี้

ประเภทที่ 1 Crawler Based Search Engines

 
Crawler Based Search Engines คือ เครื่องมือการค้นหาบนอินเตอร์เน็ตแบบอาศัยการ

บันทึกข้อมูล และ จัดเก็บข้อมูลเป็นหลัก ซึ่งจะเป็นจำพวก Search Engine ที่ได้รับความ
นิยมสูงสุด เนื่องจากให้ผลการค้นหาแม่นยำที่สุด และการประมวลผลการค้นหาสามารถทำ
ได้อย่างรวดเร็ว จึงทำให้มีบทบาทในการค้นหาข้อมูลมากที่สุดในปัจจุบัน

โดยมีองประกอบหลักเพียง 2 ส่วนด้วยกันคือ
1. ฐานข้อมูล โดยส่วนใหญ่แล้ว Crawler Based Search Engine เหล่านี้จะมีฐานข้อมูลเป็น
ของตัวเอง ที่มีระบบการประมวลผล และ การจัดอันดับที่เฉพาะ เป็นเอกลักษณ์ของตนเองอย่างมาก
2. ซอฟแวร์ คือเครื่องมือหลักสำคัญที่สุดอีกส่วนหนึ่งสำหรับ Serch Engine ประเภทนี้
เนื่องจากต้องอาศัยโปรแกรมเล็ก ๆ (ชนิดที่เรียกว่า จิ๋วแต่แจ๋ว) ทำหน้าที่ในการตรวจหา
และ ทำการจัดเก็บข้อมูล หน้าเพจ หรือ เว็บไซต์ต่าง ๆ ในรูปแบบ ของการทำสำเนาข้อมูล
เหมือนกับต้นฉบับทุกอย่าง ซึ่งเราจะรู้จักกันในนาม Spider หรือ Web Crawler หรือ Search Engine Robots
ตัวอย่างหนึ่งของ Crawler Based Search Engine ชื่อดัง http://www.google.com
Crawler Based Search Engine ได้แก่ Google , Yahoo, MSN, Live, Search, Technorati (สำหรับ blog) ส่วนลักษณะการทำงาน และ การเก็บข้อมูงของ Web Crawler หรือ Robot หรือ Spider นั้นแต่ละแห่งจะมีวิธีการเก็บข้อมูล และการจัดอันดับข้อมูลที่ต่างกัน

ประเภทที่ 2 Web Directory หรือ Blog Directory


Web Directory หรือ Blog Directory คือ สารบัญเว็บไซต์ที่ให้คุณสามารถค้นหาข่าวสารข้อมูล ด้วย
หมวดหมู่ข่าวสารข้อมูลที่เกี่ยวข้องกัน ในปริมาณมาก ๆ คล้าย ๆ กับสมุดหน้าเหลืองครับ ซึ่งจะมี
การสร้าง ดรรชนี มีการระบุหมวดหมู่ อย่างชัดเจน ซึ่งจะช่วยให้การค้นหาข้อมูลต่าง ๆ ตาม
หมวดหมู่นั้น ๆ ได้รับการเปรียบเทียบอ้างอิง เพื่อหาข้อเท็จจริงได้ ในขณะที่เราค้นหาข้อมูล
เพราะว่าจะมีเว็บไซต์มากมาย หรือ Blog มากมายที่มีเนื้อหาคล้าย ๆ กันในหมวดหมู่เดียวกัน ให้เรา
เลือกที่จะหาข้อมูลได้ อย่างตรงประเด็นที่สุด (ลดระยะเวลาได้มากในการค้นหา) ซึ่งผมจะขอ

ยกตัวอย่างดังนี้
ODP Web Directory ชื่อดังของโลก ที่มี Search Engine มากมายใช้เป็นฐานข้อมูล Directory
1.ODP หรือ Dmoz ที่หลายๆ คนรู้จัก ซึ่งเป็น Web Directory ที่ใหญ่ที่สุดในโลก Search Engine
หลาย ๆ แห่งก็ใช้ข้อมูลจากที่แห่งนี้เกือบทั้งสิ้น เช่น Google, AOL, Yahoo, Netscape และอื่น ๆ อีก
มากมาย ODP มีการบันทึกข้อมูลประมาณ 80 ภาษาทั่วโลก รวมถึงภาษาไทยเราด้วยครับ
(URL : http://www.dmoz.org )
2. สารบัญเว็บไทย SANOOK ก็เป็น Web Directory ที่มีชื่อเสียงอีกเช่นกัน และเป็นที่รู้จักมากที่สุด
ในเมืองไทย (URL : http://webindex.sanook.com )
3. Blog Directory อย่าง BlogFlux Directory ที่มีการเก็บข้อมูลเกี่ยวกับบล็อกมากมายตามหมวดหมู่
ต่าง ๆ หรือ Blog Directory อื่น ๆ ที่สามารถหาได้จาก Make Many แห่งนี้ครับ

ประเภทที่ 3 Meta Search Engine


Meta Search Engine คือ Search Engine ที่ใช้หลักการในการค้นหาโดยอาศัย Meta Tag ในภาษา
HTML ซึ่งมีการประกาศชุดคำสั่งต่าง ๆ เป็นรูปแบบของ Tex Editor ด้วยภาษา HTML นั่นเองเช่น
ชื่อผู้พัฒนา คำค้นหา เจ้าของเว็บ หรือ บล็อก คำอธิบายเว็บหรือบล็อกอย่างย่อ
ผลการค้นหาของ Meta Search Engine นี้มักไม่แม่นยำอย่างที่คิด เนื่องจากบางครั้งผู้ให้บริการหรือ
ผู้ออกแบบเว็บสามารถใส่อะไรเข้าไปก็ได้มากมายเพื่อให้เกิดการค้นหาและพบเว็บ หรือ บล็อกของ
ตนเอง และ อีกประการหนึ่งก็คือ มีการอาศัย Search Engine Index Server หลายๆ แห่งมากประมวลผลรวมกัน จึงทำให้ผลการค้นหาข้อมูลต่าง ๆ ไม่เที่ยงตรงเท่าที่ควร


รายชื่อเสิร์ชเอนจินเรียงลำดับตามความนิยม
สัดส่วนของผู้ใช้ในสหรัฐอเมริกา
  1. กูเกิล (Google) 49.2%
  2. ยาฮู (Yahoo!) 23.8%
  3. เอ็มเอสเอ็น (MSN ) 9.6%
  4. เอโอแอล (AOL) 6.3%
  5. อาส์ก (Ask) 2.6%
  6. อื่นๆ 8.5%

 
การพิมพ์ข้อมูลอิเล็กทรอนิกส์มีอัตราที่เพิ่มขึ้นอย่างรวดเร็ว เชื่อกันว่าข้อมูลข่าวสารที่จัดพิมพ์ในรูป Web หรือโฮมเพ็จเพื่อเผยแพร่บนอินเทอร์เน็ต มีมากกว่า 1000 ล้านหน้า (1000 หน้า URL reference)
 
เมื่อข้อมูลข่าวสารบนอินเทอร์เน็ตมีมากมายเช่นนี้ ทำให้ระบบการค้นหาเป็นเรื่องที่สำคัญมากยิ่งขึ้น เมื่อผู้ใช้อินเทอร์เน็ตต้องการเครื่องมือในการค้นหา จึงมีผู้พัฒนาระบบค้นหาข้อมูลบนอินเทอร์เน็ตที่เรียกว่า Search Engine และสร้างสถานีบริการไว้บนอินเทอร์เน็ต
 
สถานีบริการที่ใช้ในการค้นหาข้อมูลบนอินเทอร์เน็ตที่รู้จักกันดีมีหลายแห่ง เช่น yahoo.com, altavista.com, excite.com, webcrawler.com เป็นต้น สถานีบริการเหล่านี้จึงเป็นที่รู้จักและใช้ประโยชน์กันอย่างกว้างขวาง โดยผู้ใช้อินเทอร์เน็ตทุกคนรู้จักกันดี
 
แต่หากพิจารณาข้อมูลที่อยู่บนอินเทอร์เน็ตกว่าหนึ่งพันล้านหน้า ระบบการค้นหาที่ให้บริการอยู่นี้ยังไม่สามารถเก็บดัชนีค้นหาและให้การค้นหาได้ครบทุกแห่ง จากการประมาณการของสถานีค้นหาที่ใหญ่ที่สุด เช่น yahoo.com หรือ altavista.com จะค้นหาข้อมูลได้ไม่ถึงครึ่งของเอกสารที่มีอยู่ในอินเทอร์เน็ต
 
หากนำข้อมูลของหนังสือทุกเล่มจากห้องสมุดรัฐสภาอเมริกันมาเก็บรวมกันในรูปดิจิตอล มีผู้คำนวณดูว่าถ้าจะเก็บในรูป ASCII จะได้ประมาณ 20 เทราไบต์ (โดยมีหนังสือในห้องสมุดประมาณ 20 ล้านเล่ม) และข้อมูลในอินเทอร์เน็ตที่เรียกดูได้ทั้งหมดจะรวมกัน น่าจะอยู่ที่ประมาณ 14 เทราไบต์ อัตราการเพิ่มของข้อมูลที่มีมากกว่า 20 เปอร์เซนต์ต่อปี ดังนั้นในอีกไม่กี่ปีข้างหน้า ข้อมูลที่เก็บในอินเทอร์เน็ตที่เรียกดูได้แบบสาธารณะน่าจะมีมากกว่า 100 เทราไบต์
 
หลักการของเครื่องค้นหาที่สำคัญคือโปรแกรมหุ่นยนต์ ที่จะทำงานอัตโนมัติ และวิ่งเข้าไปซอกแซกในอินเทอร์เน็ต พร้อมคัดลอกข้อมูลมาจัดทำดัชนี และจัดโครงสร้างไว้ในฐานข้อมูลเพื่อจะเอื้อประโยชน์ให้ผู้เรียกค้นดูได้ โปรแกรมหุ่นยนต์นี้จะต้องทำงานเป็นระยะและวนกลับมาปรังปรุงข้อมูลใหม่ เพราะข้อมูลบนอินเทอร์เน็ตมีการเปลี่ยนแปลงเร็วมาก
 
ที่สำคัญคือข้อมูลบนอินเทอร์เน็ตมีหลากหลายภาษา จีน ไทย ฝรั่ง พม่า ลาว โปรแกรมค้นหาจะชาญฉลาดจัดทำดัชนีเหล่านี้ได้หมดหรือ? เรื่องนี้เป็นเรื่องที่น่าคิด
 
โดยเฉพาะเรื่องภาษาไทย ที่เอกสารเขียนติดกัน คำหลักที่ใช้ค้นหาเป็นเรื่องใหญ่ที่จะต้องศึกษาวิจัย เชื่อแน่ว่าโปรแกรมหุ่นยนต์ของฝรั่งที่พัฒนาขึ้นก็ยากที่จะเข้าใจภาษาไทยได้ดี
 
เมื่อเป็นเช่นนี้ทีมงานภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ จึงได้ดำเนินการทำการวิจัยและพัฒนาสร้าง Nontri Search ซึ่งเป็นโปรแกรมค้นหาข้อมูลที่เอื้อประโยชน์ต่อคนไทยและจะทำให้รู้ใจคนไทยได้มากยิ่งขึ้น

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

 

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

 ประโยชน์ที่ได้รับจาก Search Engine
  • ค้นหาเว็บที่ต้องการได้สะดวก รวดเร็ว
  • สามารถค้นหาแบบเจาะลึกได้ ไม่ว่าจะเป็น รูปภาพ, ข่าว, MP3 และอื่นๆ อีกมากมาย
  • สามารถค้นหาจากเว็บไซต์เฉพาะทาง ที่มีการจัดทำไว้ เช่น download.com เว็บไซต์เกี่ยวกับข้อมูลและซอร์ฟแวร์ เป็นต้น
  • มีความหลากหลายในการค้นหาข้อมูล
  • รองรับการค้นหา ภาษาไทย

ไม่มีความคิดเห็น:

แสดงความคิดเห็น