Semantic search
การค้นที่เข้าใจความหมายของคำถาม ไม่ได้จับคู่ตัวสะกด พิมพ์ว่าลาพักร้อนแล้วเจอระเบียบที่เขียนว่าวันหยุดพักผ่อนประจำปี เพราะเทียบกันด้วยตัวเลขที่แทนความหมาย
Semantic search คือการค้นหาที่ตัดสินผลลัพธ์จากความหมายของคำถาม ไม่ได้ตัดสินจากตัวสะกดที่ตรงกันเป็นตัวๆ เอกสารของ Elastic นิยามไว้ว่าเป็นการค้นที่ใช้ model ด้าน natural language processing (NLP) ร่วมกับ vector search เพื่อหาผลลัพธ์จากความหมาย ไม่ได้ดูแค่คำสำคัญ ภาพที่คนทำงานเห็นจริงคือพิมพ์คำว่า "ลาพักร้อน" ลงไปแล้วระบบยกระเบียบที่ใช้คำว่า "วันหยุดพักผ่อนประจำปี" ขึ้นมาให้ได้ ทั้งที่ในไฟล์นั้นไม่มีคำว่าลาพักร้อนอยู่เลยสักที่ เอกสารของ Microsoft ยกตัวอย่างทำนองเดียวกันในภาษาอังกฤษว่าคำว่า dog กับ canine ใกล้กันในเชิงความคิดแม้จะเป็นคนละคำในเชิงภาษา และระบุว่ากลไกเดียวกันนี้ทำงานข้ามภาษาได้ด้วย เช่น dog ในภาษาอังกฤษกับ hund ในภาษาเยอรมัน ปัญหาที่วิธีนี้ถูกออกแบบมาแก้คือคนจำคำที่ใช้จริงในเอกสารไม่ได้ ซึ่งเป็นสถานการณ์เดียวกับตอนเราค้นของในเครื่องมือรวมเอกสารองค์กรอย่าง glean หรือถามกับไฟล์ที่เราเอาขึ้นไปเก็บไว้เองใน notebooklm
กลไกที่ทำให้เป็นแบบนั้นได้คือ embedding ซึ่งแปลงข้อความให้กลายเป็นชุดตัวเลข เอกสารของ OpenAI นิยามไว้สั้นที่สุดว่า embedding คือ vector หรือรายการของตัวเลขทศนิยม และอธิบายว่าระยะห่างระหว่าง vector สองตัวคือเครื่องวัดความเกี่ยวข้องกัน ระยะสั้นแปลว่าเกี่ยวข้องกันสูง ระยะไกลแปลว่าเกี่ยวข้องกันต่ำ เอกสารของ Elastic เขียนไปในทางเดียวกันว่า embedding คือรายการตัวเลขที่เรียงลำดับซึ่งแทนข้อมูลอยู่ในปริภูมิหลายมิติ เนื้อหาที่ความหมายใกล้เคียงกันจะถูกวางไว้ใกล้กันในปริภูมินั้น ตัวเลขชุดนี้ยาวกว่าที่คนส่วนใหญ่นึกภาพไว้มาก เอกสารของ OpenAI ระบุว่า model ชื่อ text-embedding-3-small ให้ค่าเริ่มต้นที่ 1,536 มิติ ส่วน text-embedding-3-large อยู่ที่ 3,072 มิติ พอมาถึงการใช้งานจริง เอกสารยาวจะถูกหั่นเป็นท่อนก่อนด้วย chunking แล้วค่อยแปลงเป็น embedding ทีละท่อน ตอนที่เราค้น ระบบจะแปลงคำถามของเราให้เป็น embedding ด้วยวิธีเดียวกัน แล้วไล่หาท่อนที่อยู่ใกล้ที่สุด ซึ่งเอกสารของ Microsoft เรียกขั้นนี้ว่าการคืนเอกสารที่เป็นเพื่อนบ้านใกล้ที่สุด k ตัว (k nearest neighbors)
คนทำงานเจอ semantic search บ่อยที่สุดในระบบค้นเอกสารภายในองค์กร และในงานแบบ rag ที่ระบบไปหยิบเอกสารเกี่ยวข้องขึ้นมาก่อน แล้วค่อยให้ model เขียนคำตอบโดยอิงของจริงตามหลัก grounding จุดที่ต้องระวังที่สุดคือความเข้าใจว่า semantic search ดีกว่าการค้นด้วยคำสำคัญ (keyword search) เสมอ เพราะเอกสารของผู้ให้บริการเองไม่ได้เขียนแบบนั้น Microsoft ระบุว่างานบางแบบได้ผลดีกว่าเมื่อใช้ keyword search เพราะมันจับคู่แบบตรงตัวได้ ตัวอย่างที่เอกสารยกไว้คือรหัสสินค้า ศัพท์เฉพาะทางที่แคบมาก วันที่ และชื่อคน ส่วน Pinecone เขียนว่า semantic search พลาดผลที่ต้องอาศัยการตรงกันของคำได้ โดยเฉพาะเมื่อเจอศัพท์เฉพาะทางของสายงานนั้น ขณะที่ keyword search ก็พลาดเรื่องคำพ้องความหมายและประโยคที่เรียบเรียงใหม่ ระบบของจริงจึงนิยมค้นสองแบบพร้อมกันในคำขอเดียวแล้วรวมผลเป็นชุดเดียว เรียกว่า hybrid search โดย Microsoft อธิบายว่ารวมผลด้วยวิธี Reciprocal Rank Fusion (RRF) และเขียนไว้ว่าการค้นคู่กันแบบนี้มักให้ผลดีกว่าการใช้ vector หรือ keyword อย่างใดอย่างหนึ่งเดี่ยวๆ คำที่เอกสารเลือกใช้คือ "มัก" ไม่ใช่ "เสมอ" ฝั่ง Weaviate ก็นิยาม hybrid search ว่าเป็นการรวมผลของ vector search เข้ากับ keyword search แบบ BM25F เช่นกัน อีกเรื่องที่มักถูกลืมคือคุณภาพของสิ่งที่เอาไปแปลงเป็นตัวเลข ถ้าเอกสารในองค์กรเป็นภาพสแกนที่ยังไม่ผ่าน ocr ก็ไม่มีข้อความให้ทำ embedding ตั้งแต่ต้น ต่อให้เปิดระบบ semantic search ไว้แล้วก็ยังค้นไม่เจออยู่ดี
ตัวอย่างจากบทสนทนาจริง
ฝ่ายบุคคล: ทีม IT บอกว่าจะเปิด semantic search ให้ระบบค้นเอกสารภายใน แปลว่าต่อไปพนักงานพิมพ์อะไรลงไปก็เจอใช่ไหมคะ จะได้เลิกสอนกันแล้วว่าต้องใช้คำไหนค้น
ทีม IT: เจอง่ายขึ้นเยอะครับ เพราะระบบเทียบกันที่ความหมาย พิมพ์ว่า "ลาพักร้อน" ก็ยกระเบียบที่เขียนว่า "วันหยุดพักผ่อนประจำปี" ขึ้นมาให้ได้ แต่เราไม่ได้ปิดการค้นด้วยคำสำคัญทิ้งนะครับ เพราะเวลาใครค้นรหัสพนักงานหรือเลขที่สัญญาแบบเป๊ะๆ การจับคู่ตัวอักษรยังแม่นกว่า เราเลยเปิดให้ค้นสองแบบพร้อมกันแล้วรวมผลออกมาเป็นชุดเดียว
ฝ่ายบุคคล: แล้วถ้าค้นแล้วยังไม่เจอ จะรู้ได้ไงว่าเป็นที่ระบบหรือที่เอกสาร
ทีม IT: ให้ลองค้นด้วยคำที่อยู่ในเอกสารนั้นเป๊ะๆ ดูก่อนครับ ถ้าค้นตรงตัวแล้วยังไม่ขึ้น แปลว่าเอกสารยังไม่ได้ถูกดึงเข้าระบบ หรือเป็นไฟล์สแกนที่ระบบยังอ่านตัวหนังสือไม่ออก ไม่ใช่เรื่องที่ semantic search จะช่วยได้
ระวังสับสนกับ
- vector-database : vector-database คือที่เก็บชุดตัวเลขและค้นของใกล้เคียงได้เร็ว ส่วน semantic search คือวิธีค้นที่ทำงานอยู่บนที่เก็บนั้นอีกที ระบบค้นหาหลายเจ้ารวมสองอย่างนี้ไว้ในตัวเดียว เอกสารของ Microsoft ระบุว่า Azure AI Search จะใช้เป็น vector index ล้วนก็ได้
- keyword search : keyword search จับคู่จากตัวอักษรที่ตรงกันและให้คะแนนด้วยวิธีอย่าง BM25 จึงแม่นกับรหัส ตัวเลข และชื่อเฉพาะ ส่วน semantic search เทียบที่ความหมายจึงข้ามคำพ้องความหมายได้ เอกสารของ Microsoft และ Pinecone ต่างระบุว่าสองวิธีนี้พลาดคนละแบบกัน จึงนิยมใช้คู่กันมากกว่าจะเลือกอย่างใดอย่างหนึ่ง
- reranking : reranking คือขั้นที่เกิดหลังจากค้นได้ผลชุดหนึ่งมาแล้ว โดยเอา model อีกตัวมาอ่านคู่ระหว่างคำถามกับเอกสารเพื่อเรียงลำดับใหม่ให้ตรงกว่าเดิม ส่วน semantic search คือขั้นหยิบผู้เข้ารอบขึ้นมาก่อน สองขั้นนี้มักต่อกันในระบบเดียว
- dataset : dataset คือกองข้อมูลที่ใช้ฝึกหรือทดสอบ model ส่วน semantic search ทำงานกับเอกสารที่เราจะค้นตอนใช้งานจริง การเพิ่มเอกสารเข้าคลังค้นหาไม่ได้ทำให้ตัว model ฉลาดขึ้น แค่ทำให้ค้นเจอของมากขึ้นเท่านั้น
Sources (7)
- https://www.elastic.co/docs/solutions/search/semantic-search fetched 2026-08-14
- https://www.elastic.co/docs/solutions/search/vector fetched 2026-08-14
- https://learn.microsoft.com/en-us/azure/search/vector-search-overview fetched 2026-08-14
- https://learn.microsoft.com/en-us/azure/search/hybrid-search-overview fetched 2026-08-14
- https://docs.pinecone.io/guides/search/hybrid-search fetched 2026-08-14
- https://developers.openai.com/api/docs/guides/embeddings fetched 2026-08-14
- https://docs.weaviate.io/weaviate/search/hybrid fetched 2026-08-14
อ่านจบแล้วอยากตามเรื่อง AI แบบนี้ต่อทุกวัน เรามีสรุปข่าวภาษาไทยส่งทาง LINE ทุกเช้า กดเพิ่มเพื่อนไว้ได้เลย ไม่มีค่าใช้จ่าย