Vestluspõhise juurdepääsuga andmetele teabeserva loomine

Vestluspõhise juurdepääsuga andmetele teabeserva loomine

Allikasõlm: 2737787

vestluspõhine AI andmete analüüsimiseks

Joonis 1: Text2SQL voo esitus

Kuna meie maailm muutub globaalsemaks ja dünaamilisemaks, sõltuvad ettevõtted teadlike, objektiivsete ja õigeaegsete otsuste tegemiseks üha enam andmetest. Kuid praeguse seisuga on organisatsiooniandmete täieliku potentsiaali vallandamine sageli käputäie andmeteadlaste ja analüütikute privileeg. Enamik töötajaid ei valda tavapärast andmeteaduse tööriistakomplekti (SQL, Python, R jne). Soovitud andmetele juurdepääsu saamiseks läbivad nad täiendava kihi, kus analüütikud või BI-meeskonnad "tõlgivad" äriküsimuste proosa andmete keelde. Hõõrdumise ja ebatõhususe potentsiaal sellel teekonnal on suur – näiteks võidakse andmeid edastada viivitusega või isegi siis, kui küsimus on juba aegunud. Teave võib teel kaduma minna, kui nõudeid ei tõlgita täpselt analüütilisteks päringuteks. Lisaks nõuab kvaliteetse ülevaate loomine iteratiivset lähenemist, mida ei soovitata tsükli iga täiendava sammu puhul. Teisest küljest tekitavad need ad hoc interaktsioonid häireid kallite andmetalentide jaoks ja tõmbavad nende tähelepanu kõrvale strateegilisemast andmetööst, nagu on kirjeldatud andmeteadlase nendes "ülestunnistustes".

Kui olin Square'is ja meeskond oli väiksem, oli meil kardetud "analüütika valve" rotatsioon. Seda roteeriti rangelt iganädalaselt ja kui teie kohale tulite, teadsite, et teete sel nädalal väga vähe "päris" tööd ja veedate suurema osa ajast erinevate toote- ja operatsioonimeeskondade ad hoc küsimuste esitamisel. ettevõte (SQL ahvimine, me nimetasime seda). Analüütikameeskonna juhirollide pärast oli terav konkurents ja ma arvan, et see tulenes täielikult sellest, et juhid sellest rotatsioonist vabastati – ükski staatuse auhind ei saaks võistelda valvetöö tegemata jätmise eest.[1]

Tõepoolest, kas poleks lahe rääkida otse oma andmetega, selle asemel, et oma andmetöötajatega mitu korda suhelda? Seda visiooni hõlmavad vestlusliidesed, mis võimaldavad inimestel suhelda andmetega, kasutades keelt, meie kõige intuitiivsemat ja universaalsemat suhtluskanalit. Pärast küsimuse sõelumist kodeerib algoritm selle struktureeritud loogilisse vormi valitud päringukeeles, näiteks SQL. Seega saavad mittetehnilised kasutajad oma andmetega vestelda ja kiiresti konkreetse, asjakohase ja õigeaegse teabe kätte saada, ilma BI-meeskonna kaudu ümbersõitu tegemata. Selles artiklis käsitleme Text2SQL-i erinevaid juurutamisaspekte ja keskendume kaasaegsetele lähenemisviisidele, mis kasutavad suuri keelemudeleid (LLM), mis saavutavad praeguse seisuga parima jõudluse (vt [2]; alternatiivsete lähenemisviiside uuringu jaoks Lisaks LLM-idele viidatakse lugejatele [3]). Artikkel on üles ehitatud vastavalt järgmisele AI-funktsiooni kavandamisel ja ehitamisel arvesse võetavatest peamistest elementidest koosneva vaimse mudeli järgi:

vestluspõhine AI andmete analüüsimiseks
Joonis 2: AI funktsiooni vaimne mudel

Alustame lõppu silmas pidades ja võtame kokku väärtuse – miks peaksite oma andmetesse või analüüsitootesse Text2SQL-i funktsiooni ehitama. Kolm peamist eelist on järgmised:

  • Ärikasutajad pääseb organisatsiooni andmetele otse ja õigeaegselt juurde.
  • See leevendab andmeteadlased ja analüütikud ärikasutajate ad hoc päringute koormast ja võimaldab neil keskenduda täpsematele andmeprobleemidele.
  • See võimaldab äri võimendada oma andmeid sujuvamalt ja strateegilisemalt, muutes need lõpuks tugevaks otsuste tegemise aluseks.

Millised on need tootestsenaariumid, mille puhul võiksite Text2SQL-i kaaluda? Kolm põhiseadet on järgmised:

  • Te pakute a skaleeritavad andmed/BI-toode ja soovivad võimaldada rohkematel kasutajatel oma andmetele mittetehnilisel viisil juurde pääseda, suurendades sellega nii kasutust kui ka kasutajabaasi. Näiteks ServiceNow on integreeritud andmepäringud suuremasse vestluspakkumisseja Atlan on hiljuti teatas loomuliku keele andmete uurimisest.
  • Soovite luua midagi andmete/AI-ruumis, et demokratiseerida ettevõtetes andmetele juurdepääsu. Sel juhul võiksite kaaluda MVP, mille keskmes on Text2SQL. Pakkujatele meeldib AI2SQL ja Text2sql.ai juba teevad sellesse ruumi sissepääsu.
  • Te töötate a kohandatud BI-süsteem ning soovivad maksimeerida ja demokratiseerida selle kasutamist üksikus ettevõttes.

Nagu näeme järgmistes jaotistes, nõuab Text2SQL mittetriviaalset eelhäälestust. ROI hindamiseks võtke arvesse toetatavate otsuste olemust ja saadaolevaid andmeid. Text2SQL võib olla absoluutne võit dünaamilistes keskkondades, kus andmed muutuvad kiiresti ning neid kasutatakse aktiivselt ja sageli otsuste tegemisel, nagu investeerimine, turundus, tootmine ja energiatööstus. Nendes keskkondades on traditsioonilised teadmusjuhtimise tööriistad liiga staatilised ning sujuvamad viisid andmetele ja teabele juurdepääsuks aitavad ettevõtetel konkurentsieelise luua. Andmete osas pakub Text2SQL suurimat väärtust andmebaasiga, mis on:

  • Suur ja kasvav, et Text2SQL saaks aja jooksul oma väärtust avaldada, kuna üha rohkem andmeid kasutatakse.
  • Kvaliteetne, et Text2SQL-i algoritm ei peaks tegelema andmete liigse müraga (ebakõlad, tühjad väärtused jne). Üldiselt on rakenduste poolt automaatselt genereeritud andmete kvaliteet ja järjepidevus kõrgem kui inimeste loodud ja hooldatud andmetel.
  • Semantiliselt küps erinevalt toorest, et inimesed saaksid andmeid pärida nende vaimses mudelis eksisteerivate kesksete mõistete, suhete ja mõõdikute põhjal. Pange tähele, et semantilist küpsust saab saavutada täiendava teisendusetapiga, mis muudab algandmed kontseptuaalseks struktuuriks (vt jaotist "Kirja rikastamine andmebaasi teabega").

Järgnevalt sukeldume põhjalikult Text2SQL-i funktsiooni andmetesse, algoritmi, kasutajakogemusse ja asjakohastesse mittefunktsionaalsetesse nõuetesse. Artikkel on kirjutatud tootejuhtidele, UX-i disaineritele ning andmeteadlastele ja inseneridele, kes on oma Text2SQL-i teekonna alguses. Nendele inimestele pakub see mitte ainult alustamise juhendit, vaid ka ühist teadmiste alust aruteludeks toote, tehnoloogia ja ettevõtte vaheliste liideste, sealhulgas nendega seotud kompromisside üle. Kui olete oma juurutamises juba edasijõudnud, pakuvad lõpus olevad viited hulga sügavaid sukeldumisi, mida uurida.

Kui see põhjalik hariv sisu on teile kasulik, saate seda teha tellige meie AI-uuringute meililist hoiatada, kui avaldame uut materjali. 

1. Andmed

Kõik masinõppe püüdlused saavad alguse andmetest, seega alustame koolituse ja prognoosimise käigus kasutatavate sisend- ja sihtandmete struktuuri selgitamisest. Kogu artikli jooksul kasutame jooksva esitusena Text2SQL-i voogu jooniselt 1 ning tõstame praegu vaadeldavad komponendid ja seosed kollasega esile.

vestluspõhine AI andmete analüüsimiseks
Joonis 3: Selles Text2SQL-i esituses on andmetega seotud elemendid ja seosed märgitud kollase värviga.

1.1 Andmete vorming ja struktuur

Tavaliselt koosneb töötlemata Text2SQL-i sisend-väljundpaar loomulikust keelest ja vastavast SQL-päringust, näiteks:

Küsimus"Loetlege iga kasutaja nimi ja jälgijate arv.

SQL päring:

vali nimi, jälgijad kasutajaprofiilidest

Koolitusandmete ruumis on küsimuste ja SQL-päringute vaheline vastendamine mitu-mitmele:

  • SQL-päringut saab loomulikus keeles vastendada paljude erinevate küsimustega; Näiteks ülaltoodud päringu semantikat saab väljendada järgmiselt:näita mulle jälgijate nimesid ja numbreid kasutaja kohta","kui palju jälgijaid on igal kasutajal?" jne.
  • SQL-i süntaks on väga mitmekülgne ja peaaegu iga küsimust saab SQL-is esitada mitmel viisil. Lihtsaim näide on WHERE-klauslite erinevad järjestused. Täpsemalt öeldes teavad kõik, kes on SQL-päringut optimeerinud, et paljud teed viivad sama tulemuseni ja semantiliselt samaväärsetel päringutel võib olla täiesti erinev süntaks.

Treeningandmete käsitsi kogumine Text2SQL-i jaoks on eriti tüütu. See ei nõua annotaatorilt mitte ainult SQL-i valdamist, vaid ka rohkem aega näite kohta kui üldisemad keelelised ülesanded, nagu tundeanalüüs ja teksti klassifitseerimine. Koolitusnäidete piisava hulga tagamiseks võib kasutada andmete suurendamist – näiteks saab LLM-e kasutada sama küsimuse jaoks parafraaside genereerimiseks. [3] pakub täielikumat ülevaadet Text2SQL-i andmete suurendamise tehnikatest.

1.2 Viipa rikastamine andmebaasi teabega

Text2SQL on struktureerimata ja struktureeritud andmete liideses olev algoritm. Optimaalse jõudluse tagamiseks peavad koolituse ja prognoosimise ajal olema mõlemat tüüpi andmed. Täpsemalt peab algoritm teadma päringuga andmebaasi ja suutma päringu vormistada nii, et seda saaks andmebaasi vastu täita. Need teadmised võivad hõlmata:

  • Andmebaasi veerud ja tabelid
  • Tabelitevahelised seosed (võõrklahvid)
  • Andmebaasi sisu

Andmebaasi teadmiste kaasamiseks on kaks võimalust: ühelt poolt saab koolitusandmed piirduda konkreetse andmebaasi jaoks kirjutatud näidetega, mille puhul skeemi õpitakse otse SQL-päringust ja selle vastendamisest küsimusele. See ühe andmebaasi seadistus võimaldab optimeerida algoritmi üksiku andmebaasi ja/või ettevõtte jaoks. See aga hävitab kõik mastaapsuse ambitsioonid, kuna mudelit tuleb iga kliendi või andmebaasi jaoks täpselt häälestada. Alternatiivina saab mitme andmebaasi seadistuses anda andmebaasi skeemi osana sisendist, mis võimaldab algoritmil "üldistada" uuteks, seninägematuteks andmebaasiskeemide järgi. Kui soovite Text2SQL-i kasutada paljudes erinevates andmebaasides, peate seda kindlasti kasutama, kuid pidage meeles, et see nõuab märkimisväärseid kiireid tehnilisi jõupingutusi. Iga mõistliku äriandmebaasi puhul on täieliku teabe viipasse lisamine äärmiselt ebatõhus ja tõenäoliselt võimatu viipe pikkuse piirangute tõttu. Seega peaks kiire formuleerimise eest vastutav funktsioon olema piisavalt nutikas, et valida andmebaasi teabe alamhulk, mis on antud küsimuse jaoks kõige kasulikum, ja teha seda potentsiaalselt nähtamatute andmebaaside jaoks.

Lõpuks mängib olulist rolli andmebaasi struktuur. Nendel stsenaariumidel, kus teil on andmebaasi üle piisavalt kontrolli, saate oma mudeli elu lihtsamaks teha, lastes sellel intuitiivsest struktuurist õppida. Rusikareegel võib öelda, et mida rohkem teie andmebaas kajastab seda, kuidas ärikasutajad ettevõttest räägivad, seda paremini ja kiiremini saab teie mudel sellest õppida. Seetõttu kaaluge andmetele täiendavate teisenduste rakendamist, nagu normaliseeritud või muul viisil hajutatud andmete koondamine laiadesse tabelitesse või andmehoidlasse, tabelite ja veergude selgesõnaline ja ühemõtteline nimetamine jne. Kõik äriteadmised, mida saate eelnevalt kodeerida, vähendavad tõenäosusliku õppimise koormust teie mudelile ja aidata teil saavutada paremaid tulemusi.

2. algoritm

vestluspõhine AI andmete analüüsimiseks
Joonis 4: Selles Text2SQL esituses on algoritmiga seotud elemendid ja seosed märgitud kollase värviga.

Text2SQL on teatud tüüpi semantiline parsimine — tekstide kaardistamine loogiliste esitustega. Seega ei pea algoritm "õppima" mitte ainult loomulikku keelt, vaid ka sihtesitlust - meie puhul SQL-i. Täpsemalt peab see omandama ja järgmised teadmised:

  • SQL-i süntaks ja semantika
  • Andmebaasi struktuur
  • Loomuliku keele mõistmine (NLU)
  • Loomuliku keele ja SQL-päringute vaheline vastendamine (süntaktiline, leksikaalne ja semantiline)

2.1 Keelelise varieeruvuse lahendamine sisendis

Sisendis peitub Text2SQL-i peamine väljakutse keele paindlikkuses: nagu on kirjeldatud jaotises Andmete vorming ja struktuur, saab sama küsimust ümber sõnastada mitmel erineval viisil. Lisaks peame tegelikus vestluskontekstis tegelema mitmete probleemidega, nagu õigekirja- ja grammatikavead, mittetäielikud ja mitmetähenduslikud sisestused, mitmekeelsed sisestused jne.

vestluspõhine AI andmete analüüsimiseks
Joonis 5: Text2SQL-i algoritm peab tegelema paljude erinevate küsimuse variantidega

LLM-id, nagu GPT mudelid, T5 ja CodeX, tulevad selle väljakutse lahendamisele üha lähemale. Õppides tohutul hulgal mitmekesisest tekstist, õpivad nad toime tulema suure hulga keeleliste mustrite ja ebakorrapärasustega. Lõpuks saavad nad üldistada küsimuste üle, mis on semantiliselt sarnased, hoolimata erinevast pinnavormist. LLM-e saab rakendada koheselt (nullvõte) või pärast peenhäälestamist. Esimene, kuigi mugav, vähendab täpsust. Viimane nõuab rohkem oskusi ja tööd, kuid võib oluliselt suurendada täpsust.

Täpsuse osas, nagu oodatud, on parima jõudlusega mudelid GPT perekonna uusimad mudelid, sealhulgas CodeX mudelid. 2023. aasta aprillis suurendas GPT-4 täpsust järsult enam kui 5% võrreldes eelmise tipptasemega ja saavutas 85.3% täpsuse (mõõdiku "täitmine väärtustega" alusel).[4] Avatud lähtekoodiga laagris keskendusid esimesed katsed Text2SQL-mõistatuse lahendamiseks automaatse kodeerimise mudelitele, nagu BERT, mis on suurepärased NLU ülesannete täitmisel.[5, 6, 7] Kuid keset generatiivse tehisintellekti ümber levivat hüpet keskenduvad hiljutised lähenemisviisid. autoregressiivsetel mudelitel nagu T5 mudel. T5 on eelkoolitatud kasutades multi-task õppimist ja kohandub seega kergesti uute keeleülesannetega, sh. semantilise parsimise erinevad variandid. Kuid autoregressiivsetel mudelitel on semantiliste sõelumisülesannete osas oma olemuselt viga: neil on piiramatu väljundruum ja puuduvad semantilised kaitsepiirded, mis piiraksid nende väljundit, mis tähendab, et nad võivad oma käitumises olla hämmastavalt loomingulised. Kuigi see on vapustav materjal vabas vormis sisu loomiseks, on see häiriv selliste ülesannete puhul nagu Text2SQL, kus ootame piiratud ja hästi struktureeritud sihtväljundit.

2.2 Päringu kinnitamine ja täiustamine

LLM-i väljundi piiramiseks saame juurutada täiendavaid mehhanisme päringu valideerimiseks ja täiustamiseks. Seda saab rakendada täiendava valideerimisetapina, nagu on välja pakutud PICARDi süsteemis.[8] PICARD kasutab SQL-i parserit, mis suudab kontrollida, kas osaline SQL-päring võib pärast lõpetamist viia kehtiva SQL-päringuni. Igal LLM-i genereerimise etapil lükatakse päringu kehtetuks muutvad märgid tagasi ja suurima tõenäosusega kehtivad märgid jäetakse alles. Kuna see lähenemisviis on deterministlik, tagab see 100% SQL-i kehtivuse seni, kuni parser järgib õigeid SQL-reegleid. Samuti eraldab see päringu valideerimise genereerimisest, võimaldades seega säilitada mõlemat komponenti üksteisest sõltumatult ning uuendada ja muuta LLM-i.

Teine lähenemisviis on struktuuri- ja SQL-teadmiste lisamine otse LLM-i. Näiteks Graphix [9] kasutab graafikuteadlikke kihte struktureeritud SQL-teadmiste sisestamiseks T5 mudelisse. Selle lähenemisviisi tõenäosusliku olemuse tõttu kaldub see süsteemi õigete päringute poole, kuid ei taga edu.

Lõpuks saab LLM-i kasutada mitmeastmelise agendina, mis suudab päringut iseseisvalt kontrollida ja täiustada.[10] Mõtteahelas mitut sammu kasutades saab agendile ülesandeks anda oma päringute õigsuse üle järelemõtlemine ja vigade parandamine. Kui kinnitatud päringut ei saa ikkagi täita, saab SQL-i erandi jälgimise edastada agendile täiendava tagasisidena täiustamiseks.

Lisaks nendele taustaprogrammis kasutatavatele automatiseeritud meetoditele on võimalik päringute kontrollimise protsessi kaasata ka kasutaja. Kirjeldame seda üksikasjalikumalt jaotises Kasutajakogemus.

2.3 Hindamine

Text2SQL-i algoritmi hindamiseks peame genereerima test- (valideerimis-) andmestiku, käivitama sellel oma algoritmi ja rakendama tulemusele asjakohaseid hindamismõõdikuid. Naiivne andmestik, mis on jagatud koolitus-, arendus- ja valideerimisandmeteks, põhineks küsimus-päringu paaridel ja annaks ebaoptimaalsed tulemused. Valideerimispäringud võivad mudelile koolituse käigus ilmuda ja viia selle üldistusoskuste suhtes liiga optimistliku nägemuseni. A päringupõhine poolitus, kus andmestik on poolitatud nii, et nii koolituse kui ka valideerimise ajal ei ilmu päringut, annab tõesemad tulemused.

Hindamismõõdikute osas on meie jaoks Text2SQL-i jaoks oluline mitte genereerida päringuid, mis on kuldstandardiga täiesti identsed. See "täpne stringi vaste" meetod on liiga range ja tekitab palju valenegatiivseid tulemusi, kuna erinevad SQL-päringud võivad viia sama tagastatava andmestikuni. Selle asemel tahame saavutada kõrgeid tulemusi semantiline täpsus ja hinnake, kas ennustatud ja "kuldstandardi" päringud tagastaksid alati samad andmekogumid. Selle eesmärgi ligikaudseks hindamiseks on kolm hindamismõõdikut:

  • Täpselt määratud vaste täpsus: loodud ja sihitud SQL-päringud jagatakse nende koostisosadeks ning saadud komplekte võrreldakse identiteedi tuvastamiseks.[11] Puuduseks on siin see, et see võtab arvesse ainult SQL-päringu järjestuse variatsioone, kuid mitte rohkem väljendunud süntaktilisi erinevusi semantiliselt samaväärsete päringute vahel.
  • Täitmise täpsus: loodud ja siht-SQL-päringutest tulenevaid andmekogumiid võrreldakse identiteedi tuvastamiseks. Hea õnne korral võivad erineva semantikaga päringud selle testi konkreetse andmebaasi eksemplari puhul siiski läbida. Näiteks eeldades andmebaasi, kus kõik kasutajad on üle 30-aastased, annaksid järgmised kaks päringut identsed tulemused vaatamata erinevale semantikale:
    vali kasutajalt *
    vali * kasutajalt, kelle vanus > 30
  • Testikomplekti täpsus: testkomplekti täpsus on täiustatud ja vähem lubav versioon täitmise täpsusest. Iga päringu jaoks luuakse andmebaaside komplekt ("testikomplekt"), mis on päringu muutujate, tingimuste ja väärtuste poolest väga erinevad. Seejärel testitakse kõigis nendes andmebaasides täitmise täpsust. Kuigi see mõõdik nõuab täiendavaid jõupingutusi testkomplekti genereerimise kujundamiseks, vähendab see mõõdik märkimisväärselt ka valepositiivsete tulemuste riski hindamisel.[12]

3. Kasutajakogemus

vestluspõhine AI andmete analüüsimiseks
Joonis 6: Selles Text2SQL-i esituses on UX-iga seotud elemendid ja seosed märgitud kollase värviga.

Text2SQL-i praegune tipptehnoloogia ei võimalda tootmissüsteemidesse täiesti sujuvat integreerimist – selle asemel on vaja aktiivselt hallata kasutaja ootusi ja käitumist, kes peaks alati olema teadlik, et ta suhtleb AI süsteem.

3.1 Rikete juhtimine

Text2SQL võib ebaõnnestuda kahes režiimis, mida tuleb püüda erineval viisil:

  • SQL-i vead: genereeritud päring ei ole kehtiv — kas SQL on kehtetu või ei saa seda leksikaalsete või semantiliste vigade tõttu konkreetses andmebaasis täita. Sel juhul ei saa tulemust kasutajale tagastada.
  • Semantilised vead: loodud päring on kehtiv, kuid see ei kajasta küsimuse semantikat, mis põhjustab vale tagastatud andmestiku.

Teine režiim on eriti keeruline, kuna "vaiksete tõrgete" - kasutaja poolt tuvastamata jäetud vigade - oht on suur. Prototüüpsel kasutajal ei ole aega ega tehnilisi oskusi päringu ja/või saadud andmete õigsuse kontrollimiseks. Kui andmeid kasutatakse otsuste tegemiseks reaalses maailmas, võivad sellisel ebaõnnestumisel olla laastavad tagajärjed. Selle vältimiseks on oluline kasutajaid harida ja luua kaitsepiirded äritasandil mis piiravad potentsiaalset mõju, näiteks täiendavad andmete kontrollid suurema mõjuga otsuste puhul. Teisest küljest saame kasutajaliidest kasutada ka inimese ja masina suhtluse haldamiseks ning aidata kasutajal probleemseid taotlusi tuvastada ja täiustada.

3.2 Inimese ja masina koostoime

Kasutajad saavad teie AI-süsteemiga kaasa lüüa erineva intensiivsusega. Rohkem interaktsiooni päringu kohta võib anda paremaid tulemusi, kuid see aeglustab ka kasutajakogemuse sujuvust. Lisaks ekslike päringute ja tulemuste võimalikule negatiivsele mõjule mõelge ka sellele, kui motiveeritud on teie kasutajad andma edasi-tagasi tagasisidet, et saada täpsemaid tulemusi ja aidata ka toodet pikemas perspektiivis täiustada.

Lihtsaim ja kõige vähem kaasahaarav viis on töötada usaldusskooridega. Kuigi usalduse naiivne arvutamine loodud märkide tõenäosuste keskmisena on liiga lihtsustatud, saab kasutada keerukamaid meetodeid, nagu verbaliseeritud tagasiside. [13] Usaldusväärsust saab kuvada liideses ja esile tuua selge hoiatuse, kui see on ohtlikult madal. Nii langeb teie kasutaja õlgadele vastutus „pärismaailmas” asjakohase järelkontrolli eest – olgu selleks andmete tagasilükkamine, aktsepteerimine või täiendav kontroll. Kuigi see on teie kui müüja jaoks turvaline panus, võib selle töö kasutajale üleandmine vähendada ka teie toote väärtust.

Teine võimalus on kaasata kasutaja ebakindlate, mitmetähenduslike või muul viisil kahtlaste päringute korral selgitusdialoogi. Näiteks võib teie süsteem soovitada sisendisse ortograafilisi või grammatilisi parandusi ja paluda konkreetsete sõnade või grammatikastruktuuride üheselt mõistetavaks muutmist. Samuti võib see võimaldada kasutajal päringus ennetavalt parandusi küsida:[14]

KASUTAJA: Näita mulle Johni ülesandeid sellel sprindil.

ABI: Kas soovite näha ülesandeid, mille John on loonud, või neid, millega ta töötab?

KASUTAJA: Johannese loodud ülesanded

ABI: Ok, siin on ülesannete ID-d:

vestluspõhine AI andmete analüüsimiseks

KASUTAJA: Aitäh, sooviksin ka ülesannete kohta rohkem infot näha. Sorteerige ka kiireloomulisuse järgi.

ABI: Muidugi, siin on ülesanded koos lühikeste kirjelduste, määratud isikute ja tähtaegadega, mis on sorteeritud tähtaja järgi.

vestluspõhine AI andmete analüüsimiseks

Lõpuks võib teie süsteem päringu selgesõnalise ümbersõnastamise ja paluda kasutajal seda kas kinnitada või parandada.[15]

4. Mittefunktsionaalsed nõuded

Selles jaotises käsitleme Text2SQL-i spetsiifilisi mittefunktsionaalseid nõudeid ja nende vahelisi kompromisse. Keskendume kuuele nõudele, mis tunduvad ülesande jaoks kõige olulisemad: täpsus, mastaapsus, kiirus, seletatavus, privaatsus ja kohanemisvõime ajas.

4.1 Täpsus

Text2SQL-i puhul on täpsusnõuded kõrged. Esiteks rakendatakse Text2SQL-i tavaliselt vestlussättes, kus ennustused tehakse ükshaaval. Seega ei aita "suurte arvude seadus", mis tavaliselt aitab tasakaalustada pakettprognooside vigu. Teiseks on süntaktiline ja leksikaalne kehtivus "raske" tingimus: mudel peab genereerima hästi vormindatud SQL-päringu, mis võib olla keeruka süntaksi ja semantikaga, vastasel juhul ei saa päringut andmebaasi vastu täita. Ja kui see läheb hästi ja päringut saab täita, võib see siiski sisaldada semantilisi vigu ja viia vale tagastatud andmekogumini (vt jaotist 3.1 Veahaldus).

4.2 Skaalautuvus

Peamised skaleeritavuse kaalutlused on selles, kas soovite Text2SQL-i rakendada ühes või mitmes andmebaasis – ja viimasel juhul, kas andmebaaside komplekt on teada ja suletud. Kui jah, on teil lihtsam, kuna saate nende andmebaaside kohta teavet koolituse ajal lisada. Kuid skaleeritava toote stsenaariumi korral – olgu selleks siis iseseisev Text2SQL-i rakendus või integratsioon olemasolevasse andmetootesse – peab teie algoritm toime tulema iga uue andmebaasiskeemiga. See stsenaarium ei anna teile ka võimalust muuta andmebaasi struktuuri, et muuta see õppimise jaoks intuitiivsemaks (link!). Kõik see toob kaasa tõsise kompromissi täpsusega, mis võib samuti selgitada, miks praegused Text2SQL-i pakkujad, kes pakuvad uutele andmebaasidele ad hoc päringuid, ei ole veel saavutanud märkimisväärset turuosa.

4.3 kiirus

Kuna Text2SQL-i päringuid töödeldakse tavaliselt vestluse käigus võrgus, on kiiruse aspekt kasutaja rahulolu jaoks oluline. Positiivne on see, et kasutajad on sageli teadlikud tõsiasjast, et andmepäringud võivad võtta teatud aja ja näitavad vajalikku kannatlikkust. Seda head tahet võib aga õõnestada vestlusseade, kus kasutajad ootavad alateadlikult inimlikku vestluskiirust. Jõhja jõuga optimeerimismeetoditel, nagu mudeli suuruse vähendamine, võib olla täpsusele vastuvõetamatu mõju, seega kaaluge selle ootuse rahuldamiseks järelduste optimeerimist.

4.4 Seletatavus ja läbipaistvus

Ideaaljuhul saab kasutaja jälgida, kuidas päring tekstist genereeriti, näha konkreetsete sõnade või väljendite vastendamist küsimuses ja SQL-päringus jne. See võimaldab süsteemiga suhtlemisel päringut kontrollida ja muudatusi teha. . Lisaks võiks süsteem pakkuda ka päringu selgesõnalise tekstilise ümbersõnastamise ja paluda kasutajal seda kas kinnitada või parandada.

4.5 privaatsus

Funktsiooni Text2SQL saab päringu täitmisest isoleerida, nii et tagastatud andmebaasi teavet saab hoida nähtamatuna. Kriitiline küsimus on aga see, kui palju teavet andmebaasi kohta viipa sisaldab. Kolm võimalust (privaatsustaseme vähendamise teel) on järgmised:

  • Puuduvad andmed
  • Andmebaasi skeem
  • Andmebaasi sisu

Privaatsus kaubitseb täpsusega – mida vähem olete nõus kasulikku teavet viipasse lisama, seda paremad on tulemused.

4.6 Kohanemisvõime aja jooksul

Text2SQL-i vastupidavaks kasutamiseks tuleb kohaneda andmete triiviga ehk andmete muutuva jaotusega, millele mudelit rakendatakse. Oletame näiteks, et esialgseks peenhäälestuseks kasutatavad andmed peegeldavad kasutajate lihtsat päringukäitumist, kui nad BI-süsteemi kasutama hakkavad. Aja möödudes muutuvad kasutajate teabevajadused keerukamaks ja nõuavad keerukamaid päringuid, mis lähevad teie naiivsele mudelile üle jõu. Pealegi võivad ettevõtte muutuse eesmärgid või strateegia ka triivida ja suunata infovajadusi andmebaasi muudesse valdkondadesse. Lõpuks on Text2SQL-i spetsiifiline väljakutse andmebaasi triivimine. Kuna ettevõtte andmebaasi laiendatakse, satuvad viipasse uued, seninägematud veerud ja tabelid. Kuigi mitme andmebaasi rakenduse jaoks loodud Text2SQL-i algoritmid saavad selle probleemiga hästi hakkama, võib see märkimisväärselt mõjutada ühe andmebaasi mudeli täpsust. Kõiki neid probleeme saab kõige paremini lahendada täppishäälestusega andmekogumiga, mis kajastab kasutajate praegust tegelikku käitumist. Seega on ülioluline logida kasutajate küsimused ja tulemused, samuti kõik seotud tagasiside, mida saab kasutamisest koguda. Lisaks saab semantilisi rühmitamisalgoritme (nt manustamist või teemade modelleerimist kasutades) rakendada kasutaja käitumise aluseks olevate pikaajaliste muutuste tuvastamiseks ja nende kasutamiseks täiendava teabeallikana andmestiku täpsustamiseks.

Järeldus

Võtame kokku artikli põhipunktid:

  • Text2SQL võimaldab ettevõttes rakendada intuitiivset ja demokraatlikku juurdepääsu andmetele, maksimeerides seeläbi saadaolevate andmete väärtust.
  • Text2SQL-i andmed koosnevad sisendis olevatest küsimustest ja väljundis olevatest SQL-päringutest. Küsimuste ja SQL-päringute vaheline vastendamine on mitu-mitmele.
  • Tähtis on viipa osana anda teavet andmebaasi kohta. Lisaks saab andmebaasi struktuuri optimeerida, et hõlbustada algoritmi õppimist ja selle mõistmist.
  • Sisendi puhul on peamiseks väljakutseks loomulike keelte küsimuste keeleline varieeruvus, millele saab läheneda LLM-ide abil, mis on eelnevalt koolitatud paljude erinevate tekstistiilide osas.
  • Text2SQL-i väljund peaks olema kehtiv SQL-päring. Seda piirangut saab lisada SQL-teadmiste "süstimisega" algoritmi; teise võimalusena saab iteratiivset lähenemist kasutades päringut kontrollida ja täiustada mitmes etapis.
  • "Vaikivate tõrgete" potentsiaalselt suure mõju tõttu, mis annavad otsuste tegemiseks valeandmeid, on rikete haldamine kasutajaliidese peamine probleem.
  • "Täiendatult" saavad kasutajad aktiivselt osaleda SQL-päringute iteratiivses valideerimises ja täiustamises. Kuigi see muudab rakenduse vähem sujuvaks, vähendab see ka tõrkemäära, võimaldab kasutajatel andmeid paindlikumalt uurida ja loob väärtuslikke signaale edasiseks õppimiseks.
  • Peamised mittefunktsionaalsed nõuded, mida tuleb arvestada, on täpsus, mastaapsus, kiirus, seletatavus, privaatsus ja kohanemisvõime aja jooksul. Peamised kompromissid seisnevad ühelt poolt täpsuse ning teiselt poolt mastaapsuse, kiiruse ja privaatsuse vahel.

viited

[1] Ken Van Haren. 2023. aasta. SQL-analüütiku asendamine 26 rekursiivse GPT-viipaga

[2] Nitarshan Rajkumar et al. 2022. aasta. Suurte keelemudelite teksti-SQL-i võimaluste hindamine

[3] Naihao Deng jt. 2023. aasta. Hiljutised edusammud tekstist SQL-i muutmises: uuring selle kohta, mis meil on ja mida me ootame

[4] Mohammadreza Pourreza et al. 2023. aasta. DIN-SQL: tekstist SQL-i vormistamiseks lahtiühendatud kontekstis õppimine koos eneseparandusega

[5] Victor Zhong et al. 2021. aasta. Maandatud kohandus null-shot käivitatava semantilise parsimise jaoks

[6] Xi Victoria Lin jt. 2020. Teksti- ja tabeliandmete ühendamine domeenidevahelise teksti ja SQL-i semantilise parsimise jaoks

[7] Tong Guo jt. 2019. Sisu täiustatud BERT-põhine teksti-SQL-i genereerimine

[8] Torsten Scholak jt. 2021. aasta. PICARD: järkjärguline parsimine keelemudelite piiratud automaatregressiivse dekodeerimise jaoks

[9] Jinyang Li jt. 2023. aasta. Graphix-T5: eelkoolitatud transformaatorite segamine graafikuteadlike kihtidega tekstist SQL-i parsimiseks

[10] LangChain. 2023. aasta. LLM-id ja SQL

[11] Tao Yu jt. 2018. aasta. Spider: suuremahuline inimmärgistatud andmekogum keerukate ja domeenideülese semantilise parsimise ja tekstist SQL-i ülesande jaoks

[12] Ruiqi Zhong et al. 2020. Semantiline hindamine tekstist SQL-iks koos destilleeritud testkomplektidega

[13] Katherine Tian jt. 2023. aasta. Lihtsalt küsige kalibreerimist: strateegiad kalibreeritud usaldusskooride saamiseks keelemudelitest, mis on peenhäälestatud inimeste tagasisidega

[14] Braden Hancock jt. 2019. Dialoogist õppimine pärast juurutamist: toida ennast, Chatbot!

[15] Ahmed Elgohary jt. 2020. Rääkige oma parseriga: interaktiivne tekst SQL-iks koos loomuliku keele tagasisidega

[16] Janna Lipenkova. 2022. aasta. Räägi minuga! Text2SQL vestlused teie ettevõtte andmetega, räägime New Yorgi loomuliku keele töötlemise kohtumisel.

Kõik pildid on autori poolt.

See artikkel oli algselt avaldatud Andmeteaduse poole ja avaldati autori loal uuesti TOPBOTSis.

Kas teile meeldib see artikkel? Registreeruge, et saada rohkem AI-uuringute värskendusi.

Anname teile teada, kui avaldame rohkem selliseid kokkuvõtlikke artikleid.

Ajatempel:

Veel alates TOPBOOTID