ChatGPT
Touchapon Kraisingkorn
2
นาที อ่าน
June 18, 2024

เพิ่มความแม่นยำการค้นหาด้วย GPT จาก 65% เป็น 90% ด้วยเทคนิค RAG

Retrieval Augmented Generation (RAG) คือวิธีการสุดล้ำในการค้นหาข้อมูล ซึ่งความแม่นยำของผลการค้นหามีผลโดยตรงต่อคุณภาพของคำตอบที่สร้างขึ้น RAG ผสมผสานวิธีการค้นหาแบบดั้งเดิมเข้ากับความสามารถของ Large Language Model ในการทำความเข้าใจและสร้างคำตอบ ความแม่นยำในการค้นหาจึงมีความสำคัญอย่างยิ่ง เพราะคำตอบที่ RAG สร้างขึ้นนั้นแม่นยำเท่ากับเอกสารที่ค้นพบ

ในบทความนี้ เราจะสำรวจวิธีการปรับปรุงความแม่นยำในการค้นหาสำหรับแอปพลิเคชัน RAG จาก 65% โดยใช้การค้นหาข้อความพื้นฐาน ไปจนถึงมากกว่า 90%

ขั้นตอนแรก: วางรากฐานสำหรับการค้นหาขั้นสูง

การตั้งค่าเริ่มต้นของเราสำหรับการทดสอบและปรับปรุงความแม่นยำประกอบด้วยองค์ประกอบสำคัญหลายประการ:

  • Azure Cognitive Search: บริการค้นหาที่ทันสมัยจาก Microsoft Azure ออกแบบมาเพื่อมอบความสามารถในการค้นหาที่รองรับปริมาณงานมากและเชื่อถือได้
  • ฐานข้อมูลเอกสารและคำถาม: เราทำดัชนีเอกสารทั้งหมด 121 ส่วน และเชื่อมโยงคำถาม 186 ข้อกับเอกสารเฉพาะที่มีคำตอบ
  • การวัดความสำเร็จ: ประสิทธิภาพของระบบถูกวัดด้วยความสามารถในการค้นหาเอกสารที่เกี่ยวข้องภายในหน้าต่างบริบทขนาด 1000 โทเค็น

โครงสร้างพื้นฐานนี้มีความสำคัญต่อการพัฒนาในภายหลังของเราอย่างมาก

📊 การค้นหาข้อความพื้นฐาน: จุดเริ่มต้น

เริ่มต้นด้วยการค้นหาแบบง่ายๆ ซึ่งเป็นวิธีการพื้นฐานที่สุด:

วิธีการทำงานของการค้นหาข้อความพื้นฐาน

  • การจับคู่คำหลัก: ค้นหาคำหลักที่ตรงกันภายในเอกสาร
  • ข้อจำกัด: มักจะพลาดบริบทและความหมายเชิงลึก

ผลลัพธ์เบื้องต้น

  • ความแม่นยำพื้นฐาน: วิธีนี้ให้ความแม่นยำเริ่มต้นที่ 65.41%

แม้ว่าการค้นหาข้อความพื้นฐานจะเป็นจุดเริ่มต้นที่ดี แต่ก็เห็นได้ชัดว่าต้องใช้วิธีที่ซับซ้อนกว่านี้

🔍 การใช้ Search Term Expansion: เพิ่มประสิทธิภาพคำค้นหา

เพื่อปรับปรุงการค้นหาข้อความพื้นฐาน เราได้นำ Search Term Expansion เข้ามาใช้ด้วยแนวทางต่อไปนี้:

  • คำถามถูกประมวลผ่านขั้นตอน Search Term Expansion ด้วย GPT-3.5 เพื่อสร้างคำค้นหาและคำหลักเพิ่มเติมที่เกี่ยวข้อง
  • GPT-3.5 วิเคราะห์คำค้นเพื่อสร้างคำค้นหาที่เพิ่มบริบท ซึ่งจะถูกนำไปใช้ใน Azure Cognitive Search
  • การเพิ่มความแม่นยำ: วิธีนี้เพิ่มความแม่นยำในการค้นหาของเราเป็น 70.81%

การผนวก Search Term Expansion เป็นก้าวสำคัญในการเชื่อมช่องว่างระหว่างคำค้นแบบง่ายๆ กับเนื้อหาที่ซับซ้อนในเอกสารของเรา

🌐 Semantic Reranking: ก้าวสู่ความเข้าใจบริบทที่มากขึ้น (H2)

แม้ว่าการค้นหาข้อความจะดีเยี่ยมในการหาเอกสารเบื้องต้น แต่มักจะขาดความเข้าใจบริบทของคำถาม ดังนั้น คะแนนความเกี่ยวข้อง - ซึ่งปกติจะจัดอันดับโดยใช้วิธี BM25 หรือ RRF สำหรับการค้นหาข้อความ - ของเอกสารที่ได้มักไม่แม่นยำ 

เพื่อแก้ปัญหานี้ เราเลยลองเปิดใช้ฟีเจอร์ที่เรียกว่า Semantic Ranking ใน Cognitive Search ซึ่งมันจะช่วยวิเคราะห์ความหมายของภาษามนุษย์ในเอกสารที่ค้นเจอมาตอนแรก แล้วก็เรียงลำดับใหม่ตามความเข้าใจในภาษามนุษย์ของมันเอง

ผลกระทบต่อความแม่นยำ

  • ความแม่นยำพุ่งทะยาน: ด้วยเทคนิคนี้ ความแม่นยำในการค้นหาของเราเพิ่มขึ้นไปถึง 82.70% เลยทีเดียว ตัวช่วยค้นหาเชิงความหมายนี้สามารถเข้าใจความหมายของคำที่เราค้นหาได้ดีมาก ซึ่งนับเป็นปัจจัยสำคัญที่ช่วยให้การค้นหามีความแม่นยำมากขึ้น

📈 การปรับปรุงขั้นสุดท้าย: การใช้คำถามตัวอย่าง

การปรับปรุงขั้นสุดท้ายเกี่ยวข้องกับการเพิ่มคำถามตัวอย่างในเอกสาร:

การเพิ่มความเกี่ยวข้องของเอกสาร

  • การสร้างคำค้นหาแบบเจาะจง:เราเอาคำถามที่คนถามบ่อยๆ มาใส่ในเอกสาร รวมถึงคำถามที่ได้จากการขยายคำค้นหา (Search Term Expansion) ด้วย
  • การปรับ Semantic Ranking: จากนั้น เราก็ปรับค่าการค้นหาแบบ Semantic ใหม่ เพื่อให้มันให้ความสำคัญกับคำถามใหม่ๆ เหล่านี้มากขึ้น

ความแม่นยำที่ดีขึ้น

  • การเพิ่มความแม่นยำมากขึ้น: กลยุทธ์นี้ปรับปรุงความแม่นยำของเราเพิ่มขึ้นเป็น 90.27% การใช้คำถามตัวอย่าง ช่วยให้ระบบค้นหาของเราแม่นยำและเกี่ยวข้องกับสิ่งที่ค้นหามากขึ้นมาก

📝 สิ่งที่ไม่ถูกเลือกใช้

นอกเหนือจากคุณลักษณะที่ช่วยเพิ่มความแม่นยำในการค้นหา เรายังประเมินฟังก์ชันอื่นๆ แต่สุดท้ายเลือกที่จะไม่นำมาใช้ ซึ่งรวมถึง:

  • Hybrid Search ซึ่งรวมแนวทางแบบเวกเตอร์ ข้อความ และความหมาย แม้ว่าโมเดลนี้จะเพิ่มความแม่นยำได้เพียงเล็กน้อยที่ 0.5% แต่ก็มาพร้อมกับข้อเสียด้านทรัพยากรและ latency อย่างมาก
  • Search Term Expansion โดยใช้ GPT-4 ซึ่งให้การปรับปรุงความแม่นยำไปถึง 93% อย่างไรก็ตาม latency ที่สูงขึ้นและค่าใช้จ่ายทำให้เราเลือกใช้ GPT-3.5 ต่อไป

สรุป: การหาสมดุลที่เหมาะสม 

ความพยายามของเราในการเพิ่มความแม่นยำของผลการค้นหา RAG จาก 65% เป็น 90% มีความโดดเด่นในด้านนวัตกรรมและการเรียนรู้

ตารางแสดงลำดับขั้นของการพัฒนา
ระดับขั้นของการพัฒนา

จากการสำรวจวิธีการต่างๆ และทำความเข้าใจข้อแลกเปลี่ยน เราได้ความสมดุลที่ช่วยเพิ่มความแม่นยำและประสิทธิภาพของการค้นหาข้อมูลได้อย่างมาก การพัฒนานี้เน้นถึงความก้าวหน้าอย่างมีนัยสำคัญในเทคโนโลยีการค้นหาและการประยุกต์ใช้ทางธุรกิจ

ทาง Amity Solutions ก็มีการพัฒนา RAG Search Accuracy ที่ช่วยเพิ่มประสิทธิภาพการค้นหาเช่นกัน ปรึกษาผู้เชี่ยวชาญของเราได้ที่นี่