การสร้างขอบข้อมูลด้วยการเข้าถึงข้อมูลแบบสนทนา

การสร้างขอบข้อมูลด้วยการเข้าถึงข้อมูลแบบสนทนา

โหนดต้นทาง: 2737787

AI เชิงสนทนาสำหรับการวิเคราะห์ข้อมูล

รูปที่ 1: การแสดงโฟลว์ Text2SQL

เนื่องจากโลกของเรามีความเป็นสากลมากขึ้นและมีพลวัตมากขึ้น ธุรกิจต่างๆ จึงต้องพึ่งพาข้อมูลมากขึ้นเรื่อยๆ สำหรับการตัดสินใจที่มีข้อมูลครบถ้วน ตรงตามวัตถุประสงค์ และทันท่วงที อย่างไรก็ตาม ณ ตอนนี้ การปลดปล่อยศักยภาพของข้อมูลองค์กรอย่างเต็มที่มักจะเป็นสิทธิพิเศษของนักวิทยาศาสตร์ข้อมูลและนักวิเคราะห์เพียงไม่กี่คน พนักงานส่วนใหญ่ไม่เชี่ยวชาญชุดเครื่องมือวิทยาศาสตร์ข้อมูลทั่วไป (SQL, Python, R เป็นต้น) ในการเข้าถึงข้อมูลที่ต้องการ พวกเขาจะผ่านชั้นเพิ่มเติมที่นักวิเคราะห์หรือทีม BI "แปล" ร้อยแก้วของคำถามทางธุรกิจเป็นภาษาของข้อมูล มีโอกาสเกิดความขัดแย้งและความไร้ประสิทธิภาพในการเดินทางนี้สูง ตัวอย่างเช่น ข้อมูลอาจถูกส่งด้วยความล่าช้าหรือแม้กระทั่งเมื่อคำถามล้าสมัยไปแล้ว ข้อมูลอาจสูญหายระหว่างทางเมื่อข้อกำหนดไม่ได้รับการแปลเป็นแบบสอบถามเชิงวิเคราะห์อย่างถูกต้อง นอกจากนี้ การสร้างข้อมูลเชิงลึกคุณภาพสูงต้องใช้วิธีการซ้ำๆ ซึ่งไม่สนับสนุนในทุกขั้นตอนเพิ่มเติมในลูป ในอีกด้านหนึ่ง การโต้ตอบแบบเฉพาะกิจเหล่านี้สร้างความหยุดชะงักให้กับผู้มีความสามารถด้านข้อมูลที่มีราคาแพง และทำให้พวกเขาไขว้เขวจากงานด้านข้อมูลเชิงกลยุทธ์มากขึ้น ดังที่อธิบายไว้ใน "คำสารภาพ" ของนักวิทยาศาสตร์ข้อมูลเหล่านี้:

เมื่อฉันอยู่ที่ Square และทีมมีขนาดเล็กกว่า เรามีการหมุนเวียน "การวิเคราะห์ตามสาย" ที่น่ากลัว มีการหมุนเวียนอย่างเคร่งครัดทุกสัปดาห์ และหากถึงคิวของคุณ คุณจะรู้ว่าคุณจะได้งาน "จริง" น้อยมากในสัปดาห์นั้น และใช้เวลาส่วนใหญ่ของคุณในการตอบคำถามเฉพาะกิจจากทีมผลิตภัณฑ์และการดำเนินงานต่างๆ ที่ บริษัท (การลิง SQL เราเรียกมันว่า) มีการแข่งขันกันอย่างดุเดือดสำหรับบทบาทผู้จัดการในทีมวิเคราะห์ และฉันคิดว่านี่เป็นผลมาจากการที่ผู้จัดการได้รับการยกเว้นจากการหมุนเวียนนี้โดยสิ้นเชิง — ไม่มีรางวัลสถานะใดที่สามารถเทียบเคียงกับการไม่ทำงานตามสายได้[1]

อันที่จริง การพูดคุยกับข้อมูลของคุณโดยตรงแทนที่จะต้องผ่านการโต้ตอบหลายรอบกับเจ้าหน้าที่ข้อมูลของคุณคงไม่ใช่เรื่องดีใช่ไหม วิสัยทัศน์นี้ได้รับการยอมรับจากส่วนต่อประสานการสนทนาซึ่งช่วยให้มนุษย์สามารถโต้ตอบกับข้อมูลโดยใช้ภาษา ซึ่งเป็นช่องทางการสื่อสารที่ใช้งานง่ายและเป็นสากลที่สุดของเรา หลังจากแยกวิเคราะห์คำถามแล้ว อัลกอริทึมจะเข้ารหัสคำถามนั้นในรูปแบบตรรกะที่มีโครงสร้างในภาษาของแบบสอบถามที่เลือก เช่น SQL ดังนั้น ผู้ใช้ที่ไม่เชี่ยวชาญด้านเทคนิคสามารถสนทนากับข้อมูลของตนและรับข้อมูลที่เฉพาะเจาะจง เกี่ยวข้อง และทันท่วงทีได้อย่างรวดเร็ว โดยไม่ต้องอ้อมผ่านทีม BI ในบทความนี้ เราจะพิจารณาลักษณะการใช้งานที่แตกต่างกันของ Text2SQL และมุ่งเน้นไปที่แนวทางสมัยใหม่ด้วยการใช้โมเดลภาษาขนาดใหญ่ (LLMs) ซึ่งให้ประสิทธิภาพที่ดีที่สุดในขณะนี้ (เปรียบเทียบ [2] สำหรับการสำรวจเกี่ยวกับแนวทางทางเลือก นอกเหนือจาก LLMs แล้ว ผู้อ่านจะหมายถึง [3]) บทความนี้มีโครงสร้างตาม "แบบจำลองทางจิต" ต่อไปนี้ขององค์ประกอบหลักที่ต้องพิจารณาเมื่อวางแผนและสร้างคุณลักษณะ AI:

AI เชิงสนทนาสำหรับการวิเคราะห์ข้อมูล
รูปที่ 2: แบบจำลองทางจิตของคุณสมบัติ AI

เรามาเริ่มกันที่จุดสิ้นสุดในใจและสรุปคุณค่า — ทำไมคุณถึงสร้างคุณลักษณะ Text2SQL ลงในข้อมูลหรือผลิตภัณฑ์การวิเคราะห์ของคุณ ประโยชน์หลักสามประการคือ:

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

ตอนนี้ สถานการณ์ผลิตภัณฑ์ใดบ้างที่คุณอาจพิจารณา Text2SQL การตั้งค่าหลักสามรายการคือ:

  • คุณกำลังเสนอ ข้อมูลที่ปรับขนาดได้/ผลิตภัณฑ์ BI และต้องการให้ผู้ใช้จำนวนมากขึ้นสามารถเข้าถึงข้อมูลของตนได้ด้วยวิธีที่ไม่ใช่ด้านเทคนิค ซึ่งจะทำให้ทั้งการใช้งานและฐานผู้ใช้เติบโตขึ้น ตัวอย่างเช่น ServiceNow มี รวมการสืบค้นข้อมูลเข้ากับข้อเสนอการสนทนาที่ใหญ่ขึ้นและ Atlan มีเมื่อเร็ว ๆ นี้ ประกาศการสำรวจข้อมูลด้วยภาษาธรรมชาติ.
  • คุณกำลังสร้างบางอย่างในพื้นที่ข้อมูล/AI เพื่อทำให้การเข้าถึงข้อมูลเป็นประชาธิปไตยในบริษัท ซึ่งในกรณีนี้ คุณอาจพิจารณา MVP พร้อม Text2SQL ที่แกนกลาง. ผู้ให้บริการเช่น AI2SQL และ  text2sql.ai กำลังสร้างทางเข้าในพื้นที่นี้แล้ว
  • คุณกำลังทำงานใน ระบบ BI แบบกำหนดเอง และต้องการเพิ่มและทำให้เป็นประชาธิปไตยในการใช้งานในแต่ละบริษัท

ดังที่เราจะเห็นในส่วนต่อไปนี้ Text2SQL ต้องการการตั้งค่าล่วงหน้าที่ไม่สำคัญ ในการประมาณค่า ROI ให้พิจารณาถึงลักษณะของการตัดสินใจที่จะได้รับการสนับสนุนเช่นเดียวกับข้อมูลที่มีอยู่ Text2SQL สามารถเป็นผู้ชนะอย่างแท้จริงในสภาพแวดล้อมแบบไดนามิกที่ข้อมูลมีการเปลี่ยนแปลงอย่างรวดเร็วและถูกใช้อย่างแข็งขันและบ่อยครั้งในการตัดสินใจ เช่น การลงทุน การตลาด การผลิต และอุตสาหกรรมพลังงาน ในสภาพแวดล้อมเหล่านี้ เครื่องมือแบบดั้งเดิมสำหรับการจัดการความรู้นั้นคงที่เกินไป และวิธีที่คล่องแคล่วกว่าในการเข้าถึงข้อมูลและสารสนเทศช่วยให้บริษัทสร้างความได้เปรียบในการแข่งขัน ในแง่ของข้อมูล Text2SQL ให้ค่าที่ใหญ่ที่สุดกับฐานข้อมูล นั่นคือ:

  • ใหญ่และเติบโตเพื่อให้ Text2SQL สามารถเปิดเผยค่าของมันเมื่อเวลาผ่านไป เมื่อมีการใช้ประโยชน์จากข้อมูลมากขึ้นเรื่อยๆ
  • ที่มีคุณภาพสูงเพื่อให้อัลกอริทึม Text2SQL ไม่ต้องจัดการกับสัญญาณรบกวนมากเกินไป (ความไม่สอดคล้องกัน ค่าว่าง ฯลฯ) ในข้อมูล โดยทั่วไป ข้อมูลที่สร้างขึ้นโดยอัตโนมัติโดยแอปพลิเคชันมีคุณภาพและความสม่ำเสมอสูงกว่าข้อมูลที่มนุษย์สร้างและดูแล
  • มีความหมายเป็นผู้ใหญ่ ตรงข้ามกับข้อมูลดิบ เพื่อให้มนุษย์สามารถสืบค้นข้อมูลตามแนวคิดหลัก ความสัมพันธ์ และเมตริกที่มีอยู่ในแบบจำลองทางจิตของพวกเขา โปรดทราบว่าการบรรลุวุฒิภาวะทางความหมายสามารถทำได้โดยขั้นตอนการแปลงเพิ่มเติมซึ่งปรับข้อมูลดิบให้เป็นโครงสร้างแนวคิด (เปรียบเทียบส่วน "การเพิ่มคุณค่าให้กับข้อความแจ้งด้วยข้อมูลฐานข้อมูล")

ในหัวข้อต่อไปนี้ เราจะเจาะลึกข้อมูล อัลกอริทึม ประสบการณ์ผู้ใช้ ตลอดจนข้อกำหนดที่ไม่เกี่ยวกับฟังก์ชันที่เกี่ยวข้องของฟีเจอร์ Text2SQL บทความนี้เขียนขึ้นสำหรับผู้จัดการผลิตภัณฑ์ นักออกแบบ UX รวมถึงนักวิทยาศาสตร์ข้อมูลและวิศวกรที่อยู่ในช่วงเริ่มต้นของเส้นทาง Text2SQL สำหรับคนเหล่านี้ ไม่เพียงให้คำแนะนำในการเริ่มต้นเท่านั้น แต่ยังเป็นพื้นฐานความรู้ทั่วไปสำหรับการอภิปรายเกี่ยวกับส่วนต่อประสานระหว่างผลิตภัณฑ์ เทคโนโลยี และธุรกิจ รวมถึงการแลกเปลี่ยนที่เกี่ยวข้อง หากคุณก้าวหน้ากว่าในการนำไปใช้แล้ว ข้อมูลอ้างอิงในตอนท้ายจะให้ข้อมูลเชิงลึกที่หลากหลายในการสำรวจ

หากเนื้อหาการศึกษาเชิงลึกนี้มีประโยชน์สำหรับคุณ คุณสามารถ สมัครรับจดหมายข่าวการวิจัย AI ของเรา เพื่อรับการแจ้งเตือนเมื่อเราเผยแพร่เนื้อหาใหม่ 

1 ข้อมูล

ความพยายามของแมชชีนเลิร์นนิงเริ่มต้นด้วยข้อมูล ดังนั้นเราจะเริ่มต้นด้วยการอธิบายโครงสร้างของอินพุตและข้อมูลเป้าหมายที่ใช้ระหว่างการฝึกและการทำนาย ตลอดทั้งบทความ เราจะใช้โฟลว์ Text2SQL จากรูปที่ 1 เป็นตัวแทนการทำงานของเรา และเน้นส่วนประกอบและความสัมพันธ์ที่กำลังพิจารณาในปัจจุบันด้วยสีเหลือง

AI เชิงสนทนาสำหรับการวิเคราะห์ข้อมูล
รูปที่ 3: ในการแทน Text2SQL นี้ องค์ประกอบและความสัมพันธ์ที่เกี่ยวข้องกับข้อมูลจะถูกทำเครื่องหมายด้วยสีเหลือง

1.1 รูปแบบและโครงสร้างของข้อมูล

โดยทั่วไปแล้ว คู่อินพุตและเอาต์พุต Text2SQL ดิบประกอบด้วยคำถามภาษาธรรมชาติและแบบสอบถาม SQL ที่สอดคล้องกัน ตัวอย่างเช่น:

คำถาม"ระบุชื่อและจำนวนผู้ติดตามสำหรับผู้ใช้แต่ละคน”

แบบสอบถาม SQL:

เลือกชื่อผู้ติดตามจาก user_profiles

ในพื้นที่ข้อมูลการฝึกอบรม การแมประหว่างคำถามและการสืบค้น SQL เป็นแบบกลุ่มต่อกลุ่ม:

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

การรวบรวมข้อมูลการฝึกอบรมด้วยตนเองสำหรับ Text2SQL นั้นน่าเบื่อเป็นพิเศษ ไม่เพียงแต่ต้องการความเชี่ยวชาญด้าน SQL ในส่วนของตัวทำหมายเหตุประกอบเท่านั้น แต่ยังต้องใช้เวลาต่อตัวอย่างมากกว่างานด้านภาษาศาสตร์ทั่วไป เช่น การวิเคราะห์ความรู้สึกและการจัดหมวดหมู่ข้อความ เพื่อให้แน่ใจว่ามีตัวอย่างการฝึกอบรมในปริมาณที่เพียงพอ คุณสามารถใช้การเสริมข้อมูลได้ ตัวอย่างเช่น สามารถใช้ LLM เพื่อสร้างการถอดความสำหรับคำถามเดียวกัน [3] ให้แบบสำรวจที่สมบูรณ์ยิ่งขึ้นของเทคนิคการเพิ่มข้อมูล Text2SQL

1.2 เพิ่มความสมบูรณ์ให้กับพรอมต์ด้วยข้อมูลฐานข้อมูล

Text2SQL เป็นอัลกอริทึมที่อินเทอร์เฟซระหว่างข้อมูลที่ไม่มีโครงสร้างและข้อมูลที่มีโครงสร้าง เพื่อประสิทธิภาพสูงสุด จำเป็นต้องมีข้อมูลทั้งสองประเภทระหว่างการฝึกและการคาดคะเน โดยเฉพาะอย่างยิ่ง อัลกอริทึมต้องรู้เกี่ยวกับฐานข้อมูลที่สืบค้นและสามารถกำหนดแบบสอบถามในลักษณะที่สามารถดำเนินการกับฐานข้อมูลได้ ความรู้นี้สามารถครอบคลุม:

  • คอลัมน์และตารางของฐานข้อมูล
  • ความสัมพันธ์ระหว่างตาราง (คีย์ต่างประเทศ)
  • เนื้อหาฐานข้อมูล

มีสองตัวเลือกสำหรับการรวมความรู้ฐานข้อมูล: ในแง่หนึ่ง ข้อมูลการฝึกสามารถถูกจำกัดไว้เฉพาะตัวอย่างที่เขียนขึ้นสำหรับฐานข้อมูลเฉพาะ ซึ่งในกรณีนี้ schema จะเรียนรู้โดยตรงจากเคียวรี SQL และการแมปกับคำถาม การตั้งค่าฐานข้อมูลเดี่ยวนี้ช่วยให้ปรับอัลกอริทึมสำหรับฐานข้อมูลแต่ละรายการและ/หรือบริษัทได้อย่างเหมาะสม อย่างไรก็ตาม มันทำลายความทะเยอทะยานในการขยายขนาด เนื่องจากโมเดลจำเป็นต้องได้รับการปรับแต่งอย่างละเอียดสำหรับลูกค้าหรือฐานข้อมูลทุกราย อีกทางหนึ่ง ในการตั้งค่าฐานข้อมูลหลายฐานข้อมูล สามารถจัดเตรียมสคีมาฐานข้อมูลเป็นส่วนหนึ่งของอินพุต ทำให้อัลกอริทึมสามารถ "สร้างข้อมูลทั่วไป" ไปยังสคีมาฐานข้อมูลใหม่ที่มองไม่เห็นได้ แม้ว่าคุณจะต้องใช้แนวทางนี้อย่างแน่นอน หากคุณต้องการใช้ Text2SQL บนฐานข้อมูลต่างๆ จำนวนมาก แต่โปรดจำไว้ว่าต้องใช้ความพยายามด้านวิศวกรรมที่ทันท่วงที สำหรับฐานข้อมูลทางธุรกิจที่สมเหตุสมผลใดๆ รวมถึงข้อมูลทั้งหมดในพรอมต์จะไม่มีประสิทธิภาพอย่างยิ่งและอาจเป็นไปไม่ได้เลยเนื่องจากข้อจำกัดของความยาวของพรอมต์ ดังนั้น ฟังก์ชันที่รับผิดชอบในการกำหนดสูตรทันทีควรฉลาดพอที่จะเลือกชุดย่อยของข้อมูลฐานข้อมูลที่ "มีประโยชน์" ที่สุดสำหรับคำถามที่กำหนด และทำเช่นนี้กับฐานข้อมูลที่อาจมองไม่เห็น

โครงสร้างฐานข้อมูลมีบทบาทสำคัญอย่างยิ่ง ในสถานการณ์ที่คุณมีอำนาจควบคุมฐานข้อมูลเพียงพอ คุณสามารถทำให้ชีวิตของแบบจำลองของคุณง่ายขึ้นโดยปล่อยให้มันเรียนรู้จากโครงสร้างที่ใช้งานง่าย ตามหลักการทั่วไป ยิ่งฐานข้อมูลของคุณสะท้อนถึงวิธีที่ผู้ใช้ทางธุรกิจพูดถึงธุรกิจมากเท่าไหร่ โมเดลของคุณจะสามารถเรียนรู้ได้ดีและรวดเร็วยิ่งขึ้นเท่านั้น ดังนั้น ให้พิจารณาใช้การแปลงเพิ่มเติมกับข้อมูล เช่น การรวมข้อมูลที่ทำให้เป็นมาตรฐานหรือกระจายเป็นตารางแบบกว้างหรือ data vault การตั้งชื่อตารางและคอลัมน์ในลักษณะที่ชัดเจนและไม่กำกวม เป็นต้น ความรู้ทางธุรกิจทั้งหมดที่คุณสามารถเข้ารหัสล่วงหน้าได้จะช่วยลด ภาระของการเรียนรู้ความน่าจะเป็นในโมเดลของคุณและช่วยให้คุณได้ผลลัพธ์ที่ดีขึ้น

2 ขั้นตอนวิธี

AI เชิงสนทนาสำหรับการวิเคราะห์ข้อมูล
รูปที่ 4: ในการแทน Text2SQL นี้ องค์ประกอบที่เกี่ยวข้องกับอัลกอริทึมและความสัมพันธ์จะถูกทำเครื่องหมายด้วยสีเหลือง

Text2SQL เป็นประเภทหนึ่งของ การแยกวิเคราะห์ความหมาย — การแมปข้อความกับการแสดงตรรกะ ดังนั้น อัลกอริทึมไม่เพียงแต่มีไว้เพื่อ “เรียนรู้” ภาษาธรรมชาติเท่านั้น แต่ยังมีการแสดงเป้าหมายด้วย — ในกรณีของเราคือ SQL โดยเฉพาะอย่างยิ่งจะต้องได้รับและเกร็ดความรู้ต่อไปนี้:

  • ไวยากรณ์และความหมายของ SQL
  • โครงสร้างฐานข้อมูล
  • ความเข้าใจภาษาธรรมชาติ (NLU)
  • การแมประหว่างภาษาธรรมชาติและการสืบค้น SQL (วากยสัมพันธ์ ศัพท์ และความหมาย)

2.1 การแก้ปัญหาความแปรปรวนทางภาษาในการป้อนข้อมูล

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

AI เชิงสนทนาสำหรับการวิเคราะห์ข้อมูล
รูปที่ 5: อัลกอริทึม Text2SQL ต้องจัดการกับคำถามที่หลากหลาย

LLM เช่น รุ่น GPT, T5 และ CodeX กำลังใกล้เข้ามาเรื่อยๆ เพื่อแก้ปัญหานี้ เรียนรู้จากข้อความที่หลากหลายจำนวนมหาศาล พวกเขาเรียนรู้ที่จะจัดการกับรูปแบบภาษาศาสตร์และความผิดปกติจำนวนมาก ในท้ายที่สุด พวกเขาสามารถสรุปคำถามซึ่งมีความหมายคล้ายกันได้ แม้ว่าจะมีรูปแบบพื้นผิวที่แตกต่างกันก็ตาม สามารถใช้ LLM ได้ทันที (zero-shot) หรือหลังจากปรับแต่งอย่างละเอียดแล้ว ก่อนหน้านี้ในขณะที่สะดวกนำไปสู่ความแม่นยำที่ต่ำกว่า หลังต้องใช้ทักษะและการทำงานมากขึ้น แต่สามารถเพิ่มความแม่นยำได้อย่างมาก

ในแง่ของความแม่นยำ ตามที่คาดไว้ รุ่นที่มีประสิทธิภาพดีที่สุดคือรุ่นล่าสุดของตระกูล GPT รวมถึงรุ่น CodeX ในเดือนเมษายน พ.ศ. 2023 GPT-4 ทำให้มีความแม่นยำเพิ่มขึ้นอย่างมากจากอุปกรณ์ล้ำสมัยรุ่นก่อนหน้าถึง 5% และได้รับความแม่นยำถึง 85.3% (จากเมตริก "การดำเนินการด้วยค่า")[4] ในค่ายโอเพ่นซอร์ส ความพยายามเริ่มต้นในการไขปริศนา Text2SQL มุ่งเน้นไปที่โมเดลการเข้ารหัสอัตโนมัติ เช่น BERT ซึ่งเชี่ยวชาญในงาน NLU[5, 6, 7] อย่างไรก็ตาม ท่ามกลางกระแสโฆษณาเกี่ยวกับ AI เชิงกำเนิด แนวทางล่าสุดที่มุ่งเน้น ในรุ่น autoregressive เช่นรุ่น T5 T5 ได้รับการฝึกอบรมล่วงหน้าโดยใช้การเรียนรู้แบบหลายงาน จึงปรับให้เข้ากับงานด้านภาษาใหม่ๆ ได้อย่างง่ายดาย รวมถึง การแยกวิเคราะห์ความหมายที่แตกต่างกัน อย่างไรก็ตาม โมเดลแบบถดถอยอัตโนมัติมีข้อบกพร่องที่แท้จริงเมื่อพูดถึงงานการแยกวิเคราะห์ความหมาย: พวกมันมีพื้นที่เอาต์พุตที่ไม่ถูกจำกัด และไม่มีรั้วกั้นเชิงความหมายที่จะจำกัดเอาต์พุต ซึ่งหมายความว่าพวกมันสามารถใช้ความคิดสร้างสรรค์ที่น่าทึ่งในพฤติกรรมของตนได้ แม้ว่าสิ่งนี้จะเป็นสิ่งที่น่าทึ่งสำหรับการสร้างเนื้อหารูปแบบอิสระ แต่ก็สร้างความรำคาญให้กับงานอย่าง Text2SQL ที่เราคาดหวังเอาต์พุตเป้าหมายที่มีโครงสร้างดีและมีข้อจำกัด

2.2 การตรวจสอบความถูกต้องของข้อความค้นหาและการปรับปรุง

เพื่อจำกัดเอาต์พุต LLM เราสามารถแนะนำกลไกเพิ่มเติมสำหรับการตรวจสอบและปรับปรุงการสืบค้น ซึ่งสามารถนำไปใช้เป็นขั้นตอนการตรวจสอบเพิ่มเติม ตามที่เสนอในระบบ PICARD[8] PICARD ใช้ตัวแยกวิเคราะห์ SQL ที่สามารถตรวจสอบว่าแบบสอบถาม SQL บางส่วนสามารถนำไปสู่แบบสอบถาม SQL ที่ถูกต้องหรือไม่หลังจากเสร็จสิ้น ในแต่ละขั้นตอนการสร้างโดย LLM โทเค็นที่จะทำให้การสืบค้นไม่ถูกต้องจะถูกปฏิเสธ และโทเค็นที่ถูกต้องน่าจะเป็นไปได้สูงสุดจะถูกเก็บไว้ แนวทางนี้รับประกันความถูกต้องของ SQL 100% ตราบใดที่ตัวแยกวิเคราะห์สังเกตกฎ SQL ที่ถูกต้อง นอกจากนี้ยังแยกการตรวจสอบความถูกต้องของแบบสอบถามออกจากรุ่น ดังนั้นจึงทำให้สามารถรักษาส่วนประกอบทั้งสองอย่างเป็นอิสระจากกัน และเพื่ออัปเกรดและแก้ไข LLM

อีกวิธีหนึ่งคือการรวมความรู้ด้านโครงสร้างและ SQL เข้ากับ LLM โดยตรง ตัวอย่างเช่น Graphix [9] ใช้เลเยอร์ที่รับรู้กราฟเพื่อแทรกความรู้ SQL ที่มีโครงสร้างเข้าไปในโมเดล T5 เนื่องจากลักษณะความน่าจะเป็นของวิธีการนี้ ระบบจึงเอนเอียงไปที่การค้นหาที่ถูกต้อง แต่ไม่ได้รับประกันว่าจะประสบความสำเร็จ

สุดท้าย LLM สามารถใช้เป็นตัวแทนแบบหลายขั้นตอนที่สามารถตรวจสอบและปรับปรุงแบบสอบถามได้โดยอัตโนมัติ[10] เมื่อใช้หลายขั้นตอนในพรอมต์ห่วงโซ่แห่งความคิด ตัวแทนสามารถได้รับมอบหมายให้สะท้อนถึงความถูกต้องของข้อความค้นหาของตนเองและปรับปรุงข้อบกพร่องใดๆ หากยังไม่สามารถดำเนินการเคียวรีที่ตรวจสอบความถูกต้องได้ สามารถส่งผ่านการย้อนกลับข้อยกเว้นของ SQL ไปยังเอเจนต์เพื่อเป็นข้อเสนอแนะเพิ่มเติมสำหรับการปรับปรุง

นอกเหนือจากวิธีการอัตโนมัติเหล่านี้ซึ่งเกิดขึ้นในแบ็กเอนด์แล้ว ยังเป็นไปได้ที่จะให้ผู้ใช้มีส่วนร่วมระหว่างกระบวนการตรวจสอบข้อความค้นหาอีกด้วย เราจะอธิบายรายละเอียดเพิ่มเติมในหัวข้อประสบการณ์ผู้ใช้

2.3 การประเมินผล

ในการประเมินอัลกอริทึม Text2SQL ของเรา เราจำเป็นต้องสร้างชุดข้อมูลทดสอบ (ตรวจสอบความถูกต้อง) รันอัลกอริทึมของเรากับชุดข้อมูลนั้น และใช้เมตริกการประเมินที่เกี่ยวข้องกับผลลัพธ์ ชุดข้อมูลไร้เดียงสาที่แยกออกเป็นข้อมูลการฝึกอบรม การพัฒนา และการตรวจสอบความถูกต้องจะขึ้นอยู่กับคู่คำถาม-แบบสอบถาม และนำไปสู่ผลลัพธ์ที่ไม่เหมาะสม แบบสอบถามการตรวจสอบความถูกต้องอาจถูกเปิดเผยต่อโมเดลในระหว่างการฝึกอบรม และนำไปสู่มุมมองที่มองโลกในแง่ดีมากเกินไปเกี่ยวกับทักษะการสรุปทั่วไป ก แยกตามแบบสอบถามโดยที่ชุดข้อมูลถูกแยกในลักษณะที่ไม่มีข้อความค้นหาปรากฏขึ้นทั้งระหว่างการฝึกอบรมและระหว่างการตรวจสอบ ให้ผลลัพธ์ที่เป็นความจริงมากขึ้น

ในแง่ของเมตริกการประเมิน สิ่งที่เราสนใจใน Text2SQL ไม่ใช่การสร้างการสืบค้นที่เหมือนกันกับมาตรฐานทองคำโดยสิ้นเชิง นี้ “การจับคู่สตริงที่ตรงทั้งหมด” เมธอดนั้นเข้มงวดเกินไปและจะสร้างผลลบเท็จจำนวนมาก เนื่องจากการสืบค้น SQL ที่แตกต่างกันอาจนำไปสู่ชุดข้อมูลที่ส่งคืนชุดเดียวกัน เราต้องการประสบความสำเร็จในระดับสูงแทน ความถูกต้องทางความหมาย และประเมินว่าข้อความค้นหาที่คาดการณ์ไว้และ "มาตรฐานทองคำ" จะส่งคืนชุดข้อมูลเดียวกันเสมอหรือไม่ มีสามเมตริกการประเมินที่ใกล้เคียงกับเป้าหมายนี้:

  • ความแม่นยำในการจับคู่ที่แน่นอน: แบบสอบถาม SQL ที่สร้างขึ้นและเป้าหมายจะถูกแบ่งออกเป็นองค์ประกอบ และชุดผลลัพธ์จะถูกเปรียบเทียบสำหรับข้อมูลประจำตัว[11] ข้อบกพร่องในที่นี้คือบัญชีสำหรับรูปแบบคำสั่งในแบบสอบถาม SQL เท่านั้น แต่ไม่ใช่สำหรับความแตกต่างทางวากยสัมพันธ์ที่เด่นชัดมากขึ้นระหว่างข้อความค้นหาที่เทียบเท่ากันในเชิงความหมาย
  • ความแม่นยำในการดำเนินการ: ชุดข้อมูลที่เป็นผลมาจากการสืบค้น SQL ที่สร้างขึ้นและเป้าหมายจะถูกเปรียบเทียบสำหรับข้อมูลประจำตัว ขอให้โชคดี ข้อความค้นหาที่มีความหมายต่างกันยังสามารถผ่านการทดสอบนี้ในอินสแตนซ์ฐานข้อมูลเฉพาะได้ ตัวอย่างเช่น สมมติว่าฐานข้อมูลที่ผู้ใช้ทั้งหมดมีอายุมากกว่า 30 ปี ข้อความค้นหาสองรายการต่อไปนี้จะส่งกลับผลลัพธ์ที่เหมือนกันแม้ว่าจะมีความหมายต่างกันก็ตาม:
    เลือก * จากผู้ใช้
    เลือก * จากผู้ใช้ที่มีอายุ > 30 ปี
  • ความแม่นยำของชุดทดสอบ: ความแม่นยำของชุดทดสอบคือความแม่นยำในการดำเนินการขั้นสูงและอนุญาตน้อยกว่า สำหรับการสืบค้นแต่ละรายการ จะมีการสร้างชุด ("ชุดทดสอบ") ของฐานข้อมูลที่มีความแตกต่างสูงตามตัวแปร เงื่อนไข และค่าในแบบสอบถาม จากนั้นจะมีการทดสอบความแม่นยำในการดำเนินการในแต่ละฐานข้อมูลเหล่านี้ ในขณะที่ต้องใช้ความพยายามเพิ่มเติมในการออกแบบการสร้างชุดทดสอบ ตัวชี้วัดนี้ยังช่วยลดความเสี่ยงของผลบวกลวงในการประเมินได้อย่างมาก.[12]

3. ประสบการณ์ผู้ใช้

AI เชิงสนทนาสำหรับการวิเคราะห์ข้อมูล
รูปที่ 6: ในการแทนค่า Text2SQL องค์ประกอบและความสัมพันธ์ที่เกี่ยวข้องกับ UX จะถูกทำเครื่องหมายด้วยสีเหลือง

Text2SQL ที่ล้ำสมัยในปัจจุบันไม่อนุญาตให้มีการรวมเข้ากับระบบการผลิตอย่างราบรื่นอย่างสมบูรณ์ ในทางกลับกัน จำเป็นต้องจัดการความคาดหวังและพฤติกรรมของผู้ใช้อย่างจริงจัง ซึ่งควรตระหนักเสมอว่าเธอกำลังโต้ตอบกับ ระบบเอไอ

3.1 การจัดการความล้มเหลว

Text2SQL สามารถล้มเหลวในสองโหมด ซึ่งจำเป็นต้องตรวจจับด้วยวิธีที่แตกต่างกัน:

  • ข้อผิดพลาดของ SQL: แบบสอบถามที่สร้างขึ้นไม่ถูกต้อง — SQL ไม่ถูกต้องหรือไม่สามารถดำเนินการกับฐานข้อมูลเฉพาะได้เนื่องจากข้อบกพร่องของคำศัพท์หรือความหมาย ในกรณีนี้ จะไม่สามารถส่งคืนผลลัพธ์ให้กับผู้ใช้ได้
  • ข้อผิดพลาดทางความหมาย: ข้อความค้นหาที่สร้างขึ้นนั้นถูกต้องแต่ไม่ได้สะท้อนถึงความหมายของคำถาม จึงทำให้ชุดข้อมูลที่ส่งคืนไม่ถูกต้อง

โหมดที่สองนั้นยุ่งยากเป็นพิเศษเนื่องจากความเสี่ยงของ "ความล้มเหลวแบบเงียบ" ซึ่งเป็นข้อผิดพลาดที่ผู้ใช้ตรวจไม่พบนั้นอยู่ในระดับสูง ผู้ใช้ต้นแบบจะไม่มีทั้งเวลาหรือทักษะทางเทคนิคในการตรวจสอบความถูกต้องของแบบสอบถามและ/หรือข้อมูลที่ได้ เมื่อข้อมูลถูกนำมาใช้ในการตัดสินใจในโลกแห่งความเป็นจริง ความล้มเหลวในลักษณะนี้อาจส่งผลร้ายแรงตามมาได้ เพื่อหลีกเลี่ยงปัญหานี้ จำเป็นอย่างยิ่งที่จะต้องให้ความรู้แก่ผู้ใช้และสร้าง แนวป้องกันในระดับธุรกิจ ที่จำกัดผลกระทบที่อาจเกิดขึ้น เช่น การตรวจสอบข้อมูลเพิ่มเติมสำหรับการตัดสินใจที่มีผลกระทบสูงกว่า ในทางกลับกัน เรายังสามารถใช้อินเทอร์เฟซผู้ใช้เพื่อจัดการการโต้ตอบระหว่างมนุษย์กับเครื่องจักร และช่วยให้ผู้ใช้ตรวจพบและปรับปรุงคำขอที่มีปัญหา

3.2 ปฏิสัมพันธ์ระหว่างมนุษย์กับเครื่องจักร

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

วิธีที่ง่ายที่สุดและมีส่วนร่วมน้อยที่สุดคือการทำงานด้วยคะแนนความเชื่อมั่น ในขณะที่การคำนวณความเชื่อมั่นอย่างไร้เดียงสาเป็นค่าเฉลี่ยของความน่าจะเป็นของโทเค็นที่สร้างขึ้นนั้นง่ายเกินไป แต่สามารถใช้วิธีการขั้นสูงกว่าเช่นคำติชมด้วยวาจา [13] ความเชื่อมั่นสามารถแสดงในอินเทอร์เฟซและเน้นด้วยการแจ้งเตือนที่ชัดเจนในกรณีที่ต่ำจนเป็นอันตราย ด้วยวิธีนี้ ความรับผิดชอบของการติดตามที่เหมาะสมใน "โลกแห่งความจริง" ไม่ว่าจะเป็นการปฏิเสธ การยอมรับ หรือการตรวจสอบข้อมูลเพิ่มเติม จะตกอยู่บนบ่าของผู้ใช้ของคุณ แม้ว่านี่จะเป็นทางเลือกที่ปลอดภัยสำหรับคุณในฐานะผู้ขาย แต่การโอนงานนี้ไปยังผู้ใช้ยังทำให้มูลค่าของผลิตภัณฑ์ของคุณลดลงอีกด้วย

ความเป็นไปได้ประการที่สองคือการให้ผู้ใช้มีส่วนร่วมในบทสนทนาชี้แจงในกรณีที่มีความมั่นใจต่ำ กำกวม หรือมีข้อสงสัยอื่นๆ ตัวอย่างเช่น ระบบของคุณอาจแนะนำการแก้ไขการสะกดคำหรือไวยากรณ์ในการป้อนข้อมูล และขอให้แก้คำหรือโครงสร้างทางไวยากรณ์ที่เฉพาะเจาะจง นอกจากนี้ยังอาจช่วยให้ผู้ใช้สามารถขอแก้ไขในแบบสอบถามในเชิงรุก:[14]

ผู้ใช้: แสดงงานของ John ในการวิ่งนี้

ผู้ช่วย: คุณต้องการดูงานที่ John สร้างหรืองานที่เขากำลังทำอยู่ไหม

ผู้ใช้: งานที่จอห์นสร้างขึ้น

ผู้ช่วย: ตกลง นี่คือรหัสงาน:

AI เชิงสนทนาสำหรับการวิเคราะห์ข้อมูล

ผู้ใช้: ขอบคุณ ฉันต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับงานด้วย กรุณาจัดเรียงตามความเร่งด่วนด้วย

ผู้ช่วย: แน่นอน นี่คืองานพร้อมคำอธิบายสั้นๆ ผู้มอบหมายงานและวันครบกำหนด จัดเรียงตามวันครบกำหนด

AI เชิงสนทนาสำหรับการวิเคราะห์ข้อมูล

สุดท้าย เพื่อให้ผู้ใช้เข้าใจข้อความค้นหาได้ง่ายขึ้น ระบบของคุณยังสามารถจัดรูปแบบข้อความค้นหาที่ชัดเจนและขอให้ผู้ใช้ยืนยันหรือแก้ไขได้[15]

4. ข้อกำหนดที่ไม่เกี่ยวกับการทำงาน

ในส่วนนี้ เราจะหารือเกี่ยวกับข้อกำหนดเฉพาะที่ไม่เกี่ยวกับการทำงานสำหรับ Text2SQL รวมถึงข้อแลกเปลี่ยนระหว่างข้อกำหนดเหล่านี้ เราจะมุ่งเน้นไปที่ข้อกำหนด XNUMX ประการที่ดูเหมือนสำคัญที่สุดสำหรับงาน: ความถูกต้อง ความสามารถในการปรับขนาด ความเร็ว ความสามารถในการอธิบาย ความเป็นส่วนตัว และความสามารถในการปรับตัวเมื่อเวลาผ่านไป

4.1 ความแม่นยำ

สำหรับ Text2SQL นั้นต้องการความแม่นยำสูง ประการแรก โดยทั่วไปจะใช้ Text2SQL ในการตั้งค่าการสนทนาที่มีการคาดคะเนทีละรายการ ดังนั้น “กฎของตัวเลขจำนวนมาก” ซึ่งโดยทั่วไปจะช่วยรักษาสมดุลของข้อผิดพลาดในการคาดคะเนเป็นชุด จึงไม่ได้ช่วยอะไร ประการที่สอง ความถูกต้องทางวากยสัมพันธ์และคำศัพท์เป็นเงื่อนไขที่ "ยาก": โมเดลต้องสร้างแบบสอบถาม SQL ที่มีรูปแบบเหมาะสม อาจมีไวยากรณ์และความหมายที่ซับซ้อน มิฉะนั้น คำขอจะไม่สามารถดำเนินการกับฐานข้อมูลได้ และหากเป็นไปได้ด้วยดีและสามารถดำเนินการสืบค้นได้ ก็จะยังคงมีข้อผิดพลาดทางความหมายและนำไปสู่ชุดข้อมูลที่ส่งคืนไม่ถูกต้อง (cf. หัวข้อ 3.1 การจัดการความล้มเหลว)

4.2 ความสามารถในการปรับขนาดได้

ข้อควรพิจารณาเกี่ยวกับความสามารถในการปรับขนาดหลักๆ คือ คุณต้องการใช้ Text2SQL กับฐานข้อมูลเดียวหรือหลายฐานข้อมูล และในกรณีหลัง พิจารณาว่าชุดของฐานข้อมูลนั้นเป็นที่รู้จักและถูกปิดหรือไม่ ถ้าใช่ คุณจะมีเวลาง่ายขึ้นเนื่องจากคุณสามารถใส่ข้อมูลเกี่ยวกับฐานข้อมูลเหล่านี้ได้ในระหว่างการฝึกอบรม อย่างไรก็ตาม ในสถานการณ์ของผลิตภัณฑ์ที่ปรับขนาดได้ ไม่ว่าจะเป็นแอปพลิเคชัน Text2SQL แบบสแตนด์อโลนหรือการรวมเข้ากับผลิตภัณฑ์ข้อมูลที่มีอยู่ อัลกอริทึมของคุณจะต้องรับมือกับสคีมาฐานข้อมูลใหม่ในทันที สถานการณ์นี้ยังไม่เปิดโอกาสให้คุณเปลี่ยนโครงสร้างฐานข้อมูลเพื่อให้เรียนรู้ได้ง่ายยิ่งขึ้น (ลิงก์!) ทั้งหมดนี้นำไปสู่การแลกเปลี่ยนอย่างหนักกับความถูกต้อง ซึ่งอาจอธิบายได้ว่าทำไมผู้ให้บริการ Text2SQL ในปัจจุบันที่เสนอการสืบค้นเฉพาะกิจของฐานข้อมูลใหม่จึงยังไม่ประสบความสำเร็จในการเจาะตลาดอย่างมีนัยสำคัญ

ความเร็ว 4.3

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

4.4 ความสามารถในการอธิบายและความโปร่งใส

ในกรณีที่เหมาะสมที่สุด ผู้ใช้สามารถติดตามวิธีสร้างคิวรีจากข้อความ ดูการแมประหว่างคำหรือนิพจน์เฉพาะในคำถามและคิวรี SQL เป็นต้น ซึ่งช่วยให้สามารถตรวจสอบคิวรีและทำการปรับเปลี่ยนใดๆ เมื่อโต้ตอบกับระบบ . นอกจากนี้ ระบบยังสามารถจัดรูปแบบข้อความค้นหาที่ชัดเจนและขอให้ผู้ใช้ยืนยันหรือแก้ไข

ความเป็นส่วนตัว 4.5

ฟังก์ชัน Text2SQL สามารถแยกได้จากการดำเนินการค้นหา ดังนั้นข้อมูลฐานข้อมูลที่ส่งคืนจึงถูกซ่อนไว้ อย่างไรก็ตาม คำถามที่สำคัญคือข้อมูลเกี่ยวกับฐานข้อมูลรวมอยู่ในพรอมต์มากน้อยเพียงใด สามตัวเลือก (โดยการลดระดับความเป็นส่วนตัว) คือ:

  • ยังไม่มีข้อมูล
  • สคีมาฐานข้อมูล
  • เนื้อหาฐานข้อมูล

ความเป็นส่วนตัวแลกกับความถูกต้อง — ยิ่งคุณมีข้อ จำกัด น้อยลงในการรวมข้อมูลที่เป็นประโยชน์ไว้ในข้อความแจ้ง ผลลัพธ์ก็จะยิ่งดีขึ้นเท่านั้น

4.6 ความสามารถในการปรับตัวเมื่อเวลาผ่านไป

หากต้องการใช้ Text2SQL อย่างคงทน คุณจะต้องปรับให้เข้ากับการเลื่อนไหลของข้อมูล กล่าวคือ การกระจายข้อมูลที่เปลี่ยนแปลงซึ่งจะนำโมเดลไปใช้ ตัวอย่างเช่น สมมติว่าข้อมูลที่ใช้สำหรับการปรับแต่งเบื้องต้นสะท้อนถึงพฤติกรรมการสืบค้นอย่างง่ายของผู้ใช้เมื่อพวกเขาเริ่มใช้ระบบ BI เมื่อเวลาผ่านไป ความต้องการข้อมูลของผู้ใช้จะซับซ้อนมากขึ้นและต้องการการสืบค้นที่ซับซ้อนมากขึ้น ซึ่งครอบงำโมเดลไร้เดียงสาของคุณ นอกจากนี้ เป้าหมายหรือกลยุทธ์ของการเปลี่ยนแปลงบริษัทยังอาจเบี่ยงเบนและชี้นำความต้องการข้อมูลไปยังส่วนอื่นๆ ของฐานข้อมูลอีกด้วย สุดท้าย ความท้าทายเฉพาะของ Text2SQL คือการเลื่อนฐานข้อมูล เมื่อขยายฐานข้อมูลของบริษัท คอลัมน์และตารางใหม่ที่มองไม่เห็นจะเข้ามาพร้อมท์ แม้ว่าอัลกอริทึม Text2SQL ที่ออกแบบมาสำหรับแอปพลิเคชันหลายฐานข้อมูลสามารถจัดการกับปัญหานี้ได้ดี แต่ก็สามารถส่งผลกระทบอย่างมากต่อความแม่นยำของแบบจำลองฐานข้อมูลเดียว ปัญหาทั้งหมดเหล่านี้แก้ไขได้ดีที่สุดด้วยชุดข้อมูลที่ปรับแต่งอย่างละเอียดซึ่งสะท้อนถึงพฤติกรรมของผู้ใช้ในโลกแห่งความเป็นจริงในปัจจุบัน ดังนั้น จึงจำเป็นอย่างยิ่งที่จะต้องบันทึกคำถามและผลลัพธ์ของผู้ใช้ รวมถึงข้อเสนอแนะที่เกี่ยวข้องใดๆ ที่สามารถรวบรวมได้จากการใช้งาน นอกจากนี้ยังสามารถใช้อัลกอริทึมการจัดกลุ่มความหมาย เช่น การใช้การฝังหรือการสร้างแบบจำลองหัวข้อเพื่อตรวจหาการเปลี่ยนแปลงระยะยาวที่สำคัญในพฤติกรรมของผู้ใช้ และใช้สิ่งเหล่านี้เป็นแหล่งข้อมูลเพิ่มเติมสำหรับการปรับแต่งชุดข้อมูลของคุณให้สมบูรณ์แบบ

สรุป

สรุปประเด็นสำคัญของบทความ:

  • Text2SQL อนุญาตให้ใช้การเข้าถึงข้อมูลที่ใช้งานง่ายและเป็นประชาธิปไตยในธุรกิจ ซึ่งจะเป็นการเพิ่มมูลค่าของข้อมูลที่มีอยู่ให้สูงสุด
  • ข้อมูล Text2SQL ประกอบด้วยคำถามที่อินพุต และคำถาม SQL ที่เอาต์พุต การแมประหว่างคำถามและแบบสอบถาม SQL เป็นแบบกลุ่มต่อกลุ่ม
  • สิ่งสำคัญคือต้องให้ข้อมูลเกี่ยวกับฐานข้อมูลโดยเป็นส่วนหนึ่งของพรอมต์ นอกจากนี้ยังสามารถปรับโครงสร้างฐานข้อมูลให้เหมาะสมเพื่อให้อัลกอริทึมเรียนรู้และทำความเข้าใจได้ง่ายขึ้น
  • ในการป้อนข้อมูล ความท้าทายหลักคือความแปรปรวนทางภาษาของคำถามภาษาธรรมชาติ ซึ่งสามารถเข้าหาได้โดยใช้ LLM ที่ได้รับการฝึกฝนมาล่วงหน้าในรูปแบบข้อความต่างๆ ที่หลากหลาย
  • ผลลัพธ์ของ Text2SQL ควรเป็นแบบสอบถาม SQL ที่ถูกต้อง ข้อจำกัดนี้สามารถรวมเข้าด้วยกันได้โดยการ "ฉีด" ความรู้ SQL เข้าไปในอัลกอริทึม หรือใช้วิธีวนซ้ำ แบบสอบถามสามารถตรวจสอบและปรับปรุงได้ในหลายขั้นตอน
  • เนื่องจากผลกระทบที่อาจเกิดขึ้นได้สูงของ “ความล้มเหลวแบบเงียบ” ซึ่งส่งคืนข้อมูลที่ไม่ถูกต้องสำหรับการตัดสินใจ การจัดการความล้มเหลวจึงเป็นข้อกังวลหลักในส่วนติดต่อผู้ใช้
  • ในรูปแบบ "เพิ่มเติม" ผู้ใช้สามารถมีส่วนร่วมในการตรวจสอบซ้ำและปรับปรุงการสืบค้น SQL แม้ว่าสิ่งนี้จะทำให้แอปพลิเคชันมีความลื่นไหลน้อยลง แต่ยังช่วยลดอัตราความล้มเหลว ช่วยให้ผู้ใช้สามารถสำรวจข้อมูลได้อย่างยืดหยุ่นมากขึ้น และสร้างสัญญาณที่มีค่าสำหรับการเรียนรู้เพิ่มเติม
  • ข้อกำหนดหลักที่ไม่เกี่ยวกับการทำงานที่ต้องพิจารณา ได้แก่ ความถูกต้อง ความสามารถในการปรับขนาด ความเร็ว ความสามารถในการอธิบาย ความเป็นส่วนตัว และความสามารถในการปรับตัวเมื่อเวลาผ่านไป ข้อเสียเปรียบหลักๆ คือระหว่างความถูกต้องในด้านหนึ่ง และความสามารถในการปรับขนาด ความเร็ว และความเป็นส่วนตัวในอีกด้านหนึ่ง

อ้างอิง

[1] เคน แวน ฮาเรน 2023. การแทนที่นักวิเคราะห์ SQL ด้วยพรอมต์ GPT แบบเรียกซ้ำ 26 ครั้ง

[2] Nitarshan Rajkumar และคณะ 2022. การประเมินความสามารถ Text-to-SQL ของโมเดลภาษาขนาดใหญ่

[3] นายห่าว เติ้ง และคณะ 2023. ความก้าวหน้าล่าสุดใน Text-to-SQL: การสำรวจสิ่งที่เรามีและสิ่งที่เราคาดหวัง

[4] โมฮัมมาเดรซา ปูเรซา และคณะ 2023. DIN-SQL: แยกการเรียนรู้ในบริบทของ Text-to-SQL พร้อมการแก้ไขตนเอง

[5] วิกเตอร์ จง และคณะ 2021. การปรับภาคพื้นดินสำหรับการแยกวิเคราะห์ Semantic ที่ดำเนินการได้แบบ Zero-shot

[6] Xi Victoria Lin และคณะ 2020. การเชื่อมข้อมูลข้อความและตารางสำหรับการแยกวิเคราะห์ Semantic Text-to-SQL แบบข้ามโดเมน

[7] ตงกั๋ว et al. 2019. ปรับปรุงการสร้าง Text-to-SQL ที่ใช้ BERT

[8] ทอร์สเตน โชลัค และคณะ 2021. PICARD: การแยกวิเคราะห์ส่วนเพิ่มสำหรับการถอดรหัสแบบถดถอยอัตโนมัติที่มีข้อจำกัดจากโมเดลภาษา

[9] Jinyang Li และคณะ 2023. Graphix-T5: การผสม Transformers ที่ผ่านการฝึกอบรมล่วงหน้ากับเลเยอร์ Graph-Aware สำหรับการแยกวิเคราะห์ Text-to-SQL

[10] แลงเชน. 2023. LLM และ SQL

[11] Tao Yu และคณะ 2018. Spider: ชุดข้อมูลขนาดใหญ่ที่มีป้ายกำกับโดยมนุษย์สำหรับการแยกวิเคราะห์ความหมายที่ซับซ้อนและข้ามโดเมนและงาน Text-to-SQL

[12] รุ่ยฉีจง และคณะ 2020. การประเมินความหมายสำหรับ Text-to-SQL ด้วย Distilled Test Suites

[13] แคทเธอรีน เทียน และคณะ 2023. ขอแค่สอบเทียบ: กลยุทธ์ในการดึงคะแนนความเชื่อมั่นที่สอบเทียบแล้วจากโมเดลภาษาที่ปรับแต่งอย่างละเอียดด้วยคำติชมจากมนุษย์

[14] Braden Hancock และคณะ 2019. เรียนรู้จากบทสนทนาหลังการปรับใช้: ป้อนตัวเอง Chatbot!

[15] อาเหม็ด เอลโกฮารี และคณะ 2020. พูดกับ Parser ของคุณ: Interactive Text-to-SQL พร้อมคำติชมภาษาธรรมชาติ

[16] จานน่า ลิเปนโควา. 2022. คุยกับฉัน! การสนทนาแบบ Text2SQL กับข้อมูลบริษัทของคุณพูดคุยที่การประชุม New York Natural Language Processing

ภาพทั้งหมดเป็นของผู้เขียน

บทความนี้ถูกเผยแพร่เมื่อวันที่ ต่อวิทยาศาสตร์ข้อมูล และเผยแพร่ซ้ำไปยัง TOPBOTS โดยได้รับอนุญาตจากผู้เขียน

สนุกกับบทความนี้? ลงทะเบียนเพื่อรับการอัปเดตการวิจัย AI เพิ่มเติม

เราจะแจ้งให้คุณทราบเมื่อเราเผยแพร่บทความสรุปเพิ่มเติมเช่นนี้

ประทับเวลา:

เพิ่มเติมจาก ท็อปบอท