บทความส่วนใหญ่พูดถึง semantic search แค่ประโยคเดียวว่าเสิร์ชเอนจินเข้าใจความหมาย ไม่ใช่แค่คำ ประโยคนี้จริงแต่ใช้ทำอะไรไม่ได้ เพราะไม่ได้บอกว่าความเข้าใจความหมายประกอบด้วยอะไร คุณจึงไม่รู้ว่าต้องเขียนต่างจากเดิมตรงไหน บทความนี้แกะออกเป็นห้ากลไก แต่ละกลไกตามด้วยสิ่งที่ต้องทำทันที แล้วปิดท้ายด้วยสิ่งที่กลไกเหล่านี้ทำให้ไร้ความหมายไปแล้ว งานลักษณะนี้คือแกนของ Generative Engine Optimization
จากตัวอักษรสู่เวกเตอร์
โมเดลไม่ได้อ่านประโยคแบบที่คุณอ่าน มันตัดข้อความเป็นชิ้นเล็กเรียกว่า token แล้วแปลงแต่ละ token รวมถึงทั้งย่อหน้า ให้เป็นชุดตัวเลขยาวเรียกว่าเวกเตอร์ เวกเตอร์คือตำแหน่งในพื้นที่ที่ถูกออกแบบให้ความหมายใกล้เคียงกันอยู่ใกล้กัน นี่คือเป้าหมายการออกแบบจริง ไม่ใช่การเปรียบเปรย Mikolov และทีมแสดงไว้ตั้งแต่ปี 2013 ว่าคำที่ใช้ในบริบทคล้ายกันจะกลายเป็นจุดที่อยู่ใกล้กัน นี่คือเหตุผลที่ รถยนต์ รถ และ ยานพาหนะ อยู่ใกล้กันโดยไม่มีใครบอกโมเดลว่าเป็นคำพ้องความหมาย โมเดลแบบ BERT ต่อยอดจากคำเดี่ยวไปเป็นทั้งประโยค โดยอ่านย่อหน้าจากสองทิศทางพร้อมกัน
ลองดูคำค้นหา รองเท้าเสริมฟองน้ำสำหรับคนปวดเข่าตอนวิ่ง กับสามวลี วลี A รองเท้าวิ่งดูดซับแรงกระแทกดี เหมาะกับคนที่ข้อต่อบอบบาง วลี B วิธีวางแผนซ้อมวิ่งมาราธอนสิบสองสัปดาห์ วลี C รองเท้าวิ่งลดราคาห้าสิบเปอร์เซ็นต์สัปดาห์นี้ ระบบที่ทำงานบนความหมายจะวางวลี A ใกล้ที่สุด ทั้งที่แทบไม่มีคำซ้ำกันเลย เพราะสื่อแนวคิดเดียวกัน วลี B พูดเรื่องวิ่งเหมือนกันแต่ตอบคนละโจทย์ วลี C มีคำซ้ำตรงตัวมากที่สุดแต่พูดเรื่องส่วนลด ลำดับนี้คือสิ่งที่กลไกถูกออกแบบให้เกิดขึ้น อธิบายด้วยภาษาคน ไม่ใช่ผลลัพธ์จริงจากโมเดล
สิ่งที่ต้องทำ คุณไม่ต้องพูดคำเป้าหมายซ้ำเพื่อให้ถูกเจอ เขียนแนวคิดด้วยคำที่คนเจอปัญหาจริงใช้พูด ทั้งอาการ การเปรียบเทียบ และสถานการณ์การใช้งาน เวลาพูดถึงสิ่งเดิมอีกครั้ง ใช้คำอธิบายที่ถูกต้องแต่ต่างออกไป แทนการพูดวลีเดิมซ้ำ ดึงคำเหล่านั้นมาจากรีวิวจริง คำถามลูกค้า และกระทู้ ไม่ใช่จากลิสต์คำพ้องความหมายในเครื่องมือคีย์เวิร์ด
ความคล้ายไม่เท่ากับความเกี่ยวข้อง
ข้อความสองชิ้นอยู่ใกล้กันในพื้นที่ความหมายได้ แต่ยังเป็นคำตอบที่ผิด เพราะความใกล้วัดแค่หัวข้อที่ทับซ้อน ไม่ได้วัดว่าตรงกับสิ่งที่คนค้นหาต้องการทำ หน้าบริการฉุกเฉินเด็กของโรงพยาบาล กับลิสต์อาการสำหรับพ่อแม่ที่กังวล ทั้งคู่พูดเรื่องภาวะขาดน้ำในเด็กเล็ก แต่มีหน้าเดียวที่ตอบโจทย์คนที่พิมพ์ตอนตีสอง
| คำค้นหา | สิ่งที่คนต้องการ | ประเภทหน้าที่ใช่ | หน้าที่ใกล้เคียงแต่ยังผิด |
|---|---|---|---|
| อาการขาดน้ำในเด็กเล็ก | ลิสต์อาการ ตอนนี้ | บทความให้ความรู้ | หน้าบริการฉุกเฉินของโรงพยาบาล |
| เสื้อกันน้ำเดินป่ารุ่นไหนดี | ลิสต์สั้นให้เทียบ | คู่มือเปรียบเทียบ | บทความประวัติผ้ากันน้ำ |
| รีเซ็ตเราเตอร์ไม่ใช้แอป | ขั้นตอนเป็นข้อ ไม่ต้องล็อกอิน | หน้าวิธีทำ | หน้าการตลาดของแบรนด์เราเตอร์ |
สิ่งที่ต้องทำ จัดประเภทเจตนาของคำค้นหาก่อนเขียน แล้วเลือกประเภทหน้าให้ตรงกับเจตนานั้น ถ้าหน้าใดติดอันดับหัวข้อที่ถูกต้องอยู่แล้วแต่เป็นประเภทหน้าที่ผิด ทางแก้คือเปลี่ยนโครงสร้างและรูปแบบหน้า ไม่ใช่เพิ่มย่อหน้าเข้าไปอีก
การทำความเข้าใจคำถามและ query fan-out
Google ระบุในเอกสารว่า AI Overviews และ AI Mode อาจใช้เทคนิค query fan-out คือยิงคำค้นหาย่อยหลายคำพร้อมกันครอบคลุมหัวข้อย่อยและแหล่งข้อมูลต่างกัน แล้วประกอบผลลัพธ์เป็นคำตอบเดียว ทำให้ดึงหน้าเว็บที่เกี่ยวข้องได้กว้างกว่าคำค้นหาเดียว หนึ่งคำถามจึงกลายเป็นคำค้นหาย่อยหลายอันที่ทำงานพร้อมกัน และแต่ละอันอาจถูกตอบโดยคนละหน้า สำหรับคำค้นหา ช่วงไหนไปเที่ยวญี่ปุ่นกับลูกเล็กดีที่สุด fan-out น่าจะแตกเป็นฤดูและอากาศ การเดินทางกับเด็กเล็ก ภูมิภาคที่เหมาะกับครอบครัว และค่าใช้จ่าย ตัวอย่างนี้คือการจำลองรูปแบบที่ Google อธิบายไว้ ไม่ใช่ล็อกจริงจากระบบ
สิ่งที่ต้องทำ ลิสต์คำถามย่อยทุกข้อที่หัวข้อของคุณแตกออกมาได้ แล้วให้แต่ละข้อมีหัวข้อของตัวเอง พร้อมคำตอบตรงประเด็นในประโยคแรกใต้หัวข้อนั้น เรียงตามที่คนจะถามจริง หน้าที่ตอบแค่คำถามหลักมีสิทธิ์ถูกเลือกสำหรับคำค้นย่อยอันเดียว หน้าที่ตอบครบมีสิทธิ์ถูกเลือกหลายครั้ง
หน่วยที่ถูกดึงคือย่อหน้า ไม่ใช่ทั้งหน้า
เอกสารของ Google เรียกระบบนี้ว่า passage ranking system อธิบายว่าเป็นระบบ AI ที่ระบุส่วนย่อยของหน้าเว็บเพื่อประเมินความเกี่ยวข้อง แยกจากการประเมินทั้งหน้า หน่วยที่ถูกจับคู่และนำไปแสดงจึงมักเป็นย่อหน้าเดียวที่ฝังอยู่ในหน้านั้น ย่อหน้าที่เข้าใจได้ต่อเมื่ออ่านสามย่อหน้าก่อนหน้าแล้ว จึงมองไม่เห็นสำหรับกลไกนี้
สิ่งที่ต้องทำ เขียนคำตอบสำคัญแต่ละอันให้สมบูรณ์ในตัวเอง พูดคำถามซ้ำด้วยคำของคุณเองในประโยคแรก ตอบทันที แล้วค่อยใส่รายละเอียดปลีกย่อยทีหลัง ตัดคำว่า อย่างที่บอกไปข้างต้น และคำแทนที่ไม่มีที่มา ออกจากย่อหน้าที่คุณอยากให้ระบบดึงไปใช้ได้เอง
Entity หรือสิ่งของ ไม่ใช่ตัวอักษร
ปี 2012 Google อธิบายการเปลี่ยนแปลงเบื้องหลัง Knowledge Graph ว่าเป็นการมองสิ่งต่างๆ เป็นสิ่งของจริง ไม่ใช่แค่ตัวอักษร คือจับคู่คำค้นหากับ entity ที่มีอยู่จริง แทนการจับคู่กับลำดับตัวอักษร ชื่อที่กำกวมจึงกลายเป็นปัญหาการดึงข้อมูล เพราะระบบต้องตัดสินก่อนว่าการกล่าวถึงนั้นหมายถึงสิ่งไหน ก่อนจะผูกความน่าเชื่อถือหรือข้อมูลเข้ากับมันได้ ถ้าเว็บของแบรนด์ใช้ชื่อหนึ่ง โซเชียลใช้อีกชื่อ และไดเรกทอรีใช้ชื่อที่สาม โดยไม่มีอะไรเชื่อมกัน รีวิวและความน่าเชื่อถือก็กระจายอยู่สามชื่อ แทนที่จะรวมอยู่ที่ชื่อเดียว
สิ่งที่ต้องทำ ใช้ชื่อเดียวกันสะกดเหมือนกันทุกที่ที่ธุรกิจของคุณปรากฏ และระบุให้ชัดใกล้ด้านบนของหน้าหลักว่า entity นี้คืออะไร ด้วยประโยคบอกเล่าประโยคเดียว อย่าสมมติว่าคนอ่านหรือระบบรู้อยู่แล้ว
สิ่งที่กลไกเหล่านี้ทำให้ไร้ความหมาย
| พฤติกรรมเดิม | สมมติฐานเบื้องหลัง | สิ่งที่กลไกจริงแสดง | จุดยืนของ Google |
|---|---|---|---|
| ความหนาแน่นคีย์เวิร์ด | ความถี่บ่งบอกความเกี่ยวข้อง | embedding เทียบความหมาย การพูดซ้ำไม่ทำให้เวกเตอร์ขยับเข้าใกล้ | มีนโยบายเขียนไว้ เรียกว่า keyword stuffing |
| ลิสต์ LSI keyword | คำที่ปรากฏร่วมกันสอนหัวข้อให้ระบบ | Latent Semantic Indexing เป็นเทคนิคปี 1988 ที่ไม่เกี่ยวกัน embedding เรียนรู้จากการฝึก ไม่ได้นับ | Google เคยยืนยันต่อสาธารณะว่าไม่มีกลไกนี้ |
| เขียนเพื่อคำตรงตัว | วลีตรงตัวคือสิ่งที่ถูกจับคู่ | fan-out แตกคำถามเป็นคำค้นย่อย และ passage ranking ให้รางวัลกับคำตอบที่ครบ | บางส่วนมีเอกสาร บางส่วนเป็นการอนุมาน |
เราเอาไปใช้อย่างไร
Once Be Found อ่านหน้าเว็บแบบที่ระบบดึงข้อมูลอ่าน ไม่ใช่แบบที่คนกวาดสายตา เราตรวจว่าความหมายของหน้านั้นอยู่ใกล้กับคำค้นหาที่ควรตอบไหม ย่อหน้ายืนได้ด้วยตัวเองไหม และ entity ของธุรกิจของคุณถูกเรียกชื่อสอดคล้องกันทั่วอินเทอร์เน็ตไหม ถ้าหน้าไหนติดอันดับหัวข้อที่ถูกต้องแล้วแต่เป็นประเภทหน้าที่ผิด เราเปลี่ยนโครงสร้างก่อนเพิ่มเนื้อหา ผลลัพธ์มักคือหน้าน้อยลง แต่แต่ละหน้าตอบคำถามย่อยได้มากขึ้น
แหล่งอ้างอิง
Efficient Estimation of Word Representations in Vector Space (arXiv:1301.3781) Mikolov et al. ตรวจสอบเมื่อ
BERT: Pre-training of Deep Bidirectional Transformers (arXiv:1810.04805) Devlin et al. ตรวจสอบเมื่อ
Understanding searches better than ever before Google, The Keyword ตรวจสอบเมื่อ
Introducing the Knowledge Graph: things, not strings Google, The Keyword ตรวจสอบเมื่อ
A guide to Google Search ranking systems Google Search Central ตรวจสอบเมื่อ
AI features and your website Google Search Central ตรวจสอบเมื่อ
How AI is powering a more helpful Google Google, The Keyword ตรวจสอบเมื่อ
Spam policies for Google Search Google Search Central ตรวจสอบเมื่อ
Creating helpful, reliable, people-first content Google Search Central ตรวจสอบเมื่อ
Announcing ScaNN: Efficient Vector Similarity Search Google Research ตรวจสอบเมื่อ
Meet AI multitool: vector embeddings Google Cloud ตรวจสอบเมื่อ
MUM: A new AI milestone for understanding information Google, The Keyword ตรวจสอบเมื่อ