เพิ่มความแม่นยำการค้นหาด้วย 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 ที่ช่วยเพิ่มประสิทธิภาพการค้นหาเช่นกัน ปรึกษาผู้เชี่ยวชาญของเราได้ที่นี่