Your Vision is Our Mission
Home > ThaiEngine > ThaiEngine Overview

ThaiEngine ThaiEngine

ThaiEngine เป็นระบบค้นหาข้อมูลที่รู้จักกันทั่วไปว่า Search Engine หรือ Information Retrieval System (IR System) กำเนิด ของ ThaiEngine ต่างจาก IR System อื่นๆ

ดังนี้ คือ




  • นักพัฒนาระบบต้องการระบบ IR System ซึ่งสามารถทำงานร่วมกับระบบฐานข้อมูล RDBMS ได้ เรียกใช้งาน (โดยโปรแกรมเมอร์) ได้ง่าย

  • สามารถปรับแต่งคุณสมบัติปลีกย่อยต่างๆ เพื่อให้สอดคล้องกับความต้องการของผู้ใช้ได้

  • มีบริการปรึกษาสำหรับโครงการพัฒนาซอฟต์แวร์ ซึ่ง IR System มักเป็นส่วนหนึ่งเท่านั้น

  • การออกแบบและการผลิต ใช้สมมุติฐานว่า ระบบจะต้องทำงานได้ดีกับทั้งข้อมูลภาษาไทย และภาษาอังกฤษ

  • สำหรับภาษาไทย ต้องทำงานได้ดีกับข้อมูลที่อาจอยู่หรือไม่อยู่ในพจนานุกรมไทยก็ได้ ทั้งนี้รวมถึง ภาษาไทยแบบทับศัพท์จากภาษาต่างประเทศ ชื่อเฉพาะต่างๆ เช่น แก็ส ซิสเต็ม ฮกไหล วิกตองส์ สุรยุทธ์ ราชดำเนิน เป็นต้น

  • สำหรับภาษาอังกฤษ ต้องทำงานได้ดีทั้งกับภาษาอังกฤษทั่วไป และภาษาอังกฤษที่ใช้ในลักษณะทับศัพท์จากภาษาไทย เช่น baimai หรือ bai mai มาจาก ใบไม้ หรือ samudsongkram หรือ samuth songkram มาจาก สมุทรสงคราม เป็นต้น

  • ระบบ segmentation กระทำในระบบ พยางค์ จึงเรียกกันว่าระบบ ตัดพยางค์ ไม่ได้ใช้ระบบตัดคำดังที่ระบบอื่นๆ ใช้กัน ทำให้ปัญหาเรื่องตัดคำผิดในระบบการตัดคำลดลงและสามารถควบคุมได้ง่ายขึ้น

  • ออกแบบระบบโดยใช้ RAM และ HARDDISK ในระดับที่สามารถจัดหาได้ง่ายในปัจจุบัน คือ RAM 1GB ขึ้นและ HARDDISK ขนาดใหญ่ โดยไม่ได้ตั้งใจจะให้ระบบสามารถใช้งานได้ในระบบที่มี RAM ขนาดเล็กกว่านี้ ทำให้สามารถใช้ประโยชน์จาก RAM ที่มีอยู่ได้อย่างเต็มที่ (มี IR บางระบบมี memory requirement น้อยกว่านี้มาก ทำให้ไม่สามารถใช้ RAM ปริมาณมากๆ ที่ราคาถูกได้อย่างมีประสิทธิภาพ)

การค้นหาข้อมูลใน ThaiEngine เบื้องต้น


  • ทำงานได้ดีกับข้อมูลที่นำมาจากระบบฐานข้อมูลทั่วไป ซึ่งมักมีลักษณะสำคัญคือ มีลักษณะเป็น row, column มีปริมาณมาก และมักไม่มีลักษณะเป็นประโยคภาษาไทยที่สมบูรณ์


  • ทำงานโดยใช้พยางค์เป็นหน่วยย่อยสุด ทำให้ผู้ใช้สามารถค้นค้าคำในลักษณะพิเศษได้ เช่น ค้นหาด้วยข้อความ “ใบไม้เขียว” ก็จะพบข้อมูลที่มี “ใบ” “ไม้” และ “เขียว” บรรจุอยู่ในลักษณะที่สลับที่ได้ เช่น พบ “ใบไม้สีเขียว”, “สีเขียวในใบไม้” และ “ต้นไม้ใบเขียว” ด้วย หรือหากค้นหาด้วยข้อความ “baimai” ก็จะพบข้อมูลที่มี “bai mai” และ “mai bai” ด้วย เป็นต้น


  • มีระบบการค้นหาแบบเสียงพ้อง ทั้งภาษาไทยและภาษาอังกฤษ เช่น ค้นหาด้วยข้อความ “ใบไม้” แบบพ้องเสียง ก็จะพบข้อมูลที่มี “baimai”, “ไบไมโอซิน” และ “มัยบัย” ด้วย หรือค้นหาด้วยข้อความ “ทรงชัย” แบบพ้องเสียง ก็จะพบข้อมูลที่มี “ทรงไชย”, “tongchai” และ “thong chai” ด้วย


  • มีระบบการค้นหาแบบใช้คำเหมือน โดยที่ผู้ใช้สามารถกำหนดชุดของคำเหมือนที่ต้องการใช้ได้เอง ทำให้ผู้ใช้สามารถค้นหาแบบพิเศษบางอย่างได้ เช่น ค้นหาด้วยข้อความ “รร.” แบบคำเหมือน ก็อาจพบข้อมูลที่มี “โรงเรียน” และ “โรงแรม” ได้


  • มีระบบการค้นหาแบบส่วนหนึ่งของพยางค์(partial search) สำหรับข้อมูลพิเศษบางอย่าง เช่น เบอร์โทรศัพท์ ผู้ใช้สามารถค้นหาโดยใช้แค่บางส่วนของเบอร์โทรศัพท์ได้ เช่น สำหรับข้อมูล “0816996269” ผู้ใช้สามารถค้นพบได้โดยใช้ตัวอักษรที่อยู่ติดกัน 4 ตัวขึ้นไปได้ (ในที่นี้เช่น “0816” “8169” “1699” “816996” “96269” เป็นต้น)


  • สามารถบีบผลการค้นหาให้มีจำนวนน้อยลงโดยใช้คุณสมบัติ exact match คือ ต้องมีข้อความที่ระบุเท่านั้น ไม่เอาการสลับพยางค์ หรือเสียงพ้อง


  • สามารถบีบผลการค้นหาให้มีจำนวนน้อยลง ในลักษณะพิเศษ (คล้ายกับ regular expression) ได้ เช่น ต้องการใช้มีเฉพาะข้อมูลที่อยู่ในรูป “ใบไม้*เขียว*อาหาร” โดยที่ * หมายถึงพยางค์ใดๆ ตั้งแต่ 0 พยางค์ขึ้นไป


  • ThaiEngine รู้จักข้อมูลในรูปแบบอื่นที่ไม่ใช่ text ด้วย เช่น numeric, date, time, date+time เป็นต้น ทำให้ผู้ใช้สามารถระบุลักษณะของข้อมูลที่ต้องการเพิ่มเติมบางอย่างได้ เช่น ต้องการเฉพาะข้อมูลที่มีราคามากกว่า 1,000 ขึ้นไป


  • ThaiEngine สามารถการควบคุมลำดับของข้อมูลที่ส่งให้ผู้ใช้ได้ทั้งแบบที่เรียงตาม column ที่ต้องการ หรือเรียงตามคะแนนความสอดคล้อง (page rank)


  • Relavance Ranking ของ ThaiEngine สามารถปรับเปลี่ยนได้หลายแบบ ขึ้นอยู่กับข้อกำหนดร่วมกันระหว่าง ThaiEngine และผู้พัฒนาระบบ application


  • มีระบบการเก็บผลการค้นหาไว้ใน cache memory ทำให้สามารถดูผลการค้นหาหน้าต่อไป หรือหน้าก่อนได้อย่างรวดเร็ว ไม่ต้องทำการค้นหาใหม่ ทำให้ระบบสามารถรองรับปริมาณการค้นหาได้มากขึ้น


  • มีความเร็วในการค้นหาสูง response time ของการค้นหาทั่วไปอยู่ที่ 0.01 ถึง 0.2 วินาที และโดยรวมรองรับได้ 1,000 ถึง 2,000 search ต่อนาที บนเครื่อง Pentium 4, 1 processor, 2.0 GHz, 2GB RAM ทั่วไป