Verilere Diyalog Erişimiyle Bir Bilgi Ucu Yaratmak

Verilere Diyalog Erişimiyle Bir Bilgi Ucu Yaratmak

Kaynak Düğüm: 2737787

veri analizi için konuşma yapay zekası

Şekil 1: Text2SQL akışının temsili

Dünyamız daha küresel ve dinamik hale geldikçe, işletmeler bilinçli, nesnel ve zamanında kararlar almak için verilere giderek daha fazla bağımlı hale geliyor. Bununla birlikte, şu an itibariyle, kurumsal verilerin tam potansiyelini ortaya çıkarmak, genellikle bir avuç veri bilimcisi ve analistin ayrıcalığıdır. Çoğu çalışan, geleneksel veri bilimi araç setinde (SQL, Python, R vb.) uzman değildir. İstenen verilere erişmek için, analistlerin veya BI ekiplerinin iş sorularını veri diline "çevirdiği" ek bir katmandan geçerler. Bu yolculukta sürtüşme ve verimsizlik potansiyeli yüksektir - örneğin, veriler gecikmeli olarak veya hatta soru artık geçerliliğini yitirmiş olsa bile teslim edilebilir. Gereksinimler doğru bir şekilde analitik sorgulara çevrilmediğinde bilgiler yol boyunca kaybolabilir. Ayrıca, yüksek kaliteli içgörüler oluşturmak, döngüdeki her ek adımda tavsiye edilmeyen yinelemeli bir yaklaşım gerektirir. Öte yandan, bu geçici etkileşimler, bir veri bilimcinin şu "itiraflarında" açıklandığı gibi, pahalı veri yetenekleri için aksama yaratır ve onları daha stratejik veri işlerinden uzaklaştırır:

Ben Square'deyken ve ekip daha küçükken korkunç bir "çağrı üzerine analitik" rotasyonumuz vardı. Kesin bir şekilde haftalık olarak rotasyona tabi tutuldu ve sıra size gelirse, o hafta çok az "gerçek" iş bitireceğinizi ve zamanınızın çoğunu şirketteki çeşitli ürün ve operasyon ekiplerinden geçici sorular sorarak geçireceğinizi biliyordunuz. şirket (biz buna SQL maymunu dedik). Analitik ekibinde yönetici rolleri için kıyasıya bir rekabet vardı ve bence bu tamamen yöneticilerin bu rotasyondan muaf tutulmasının bir sonucuydu — hiçbir statü ödülü, çağrı üzerine çalışmama havucuyla boy ölçüşemezdi.[1]

Gerçekten de, veri personelinizle birden fazla etkileşim turundan geçmek yerine doğrudan verilerinizle konuşmak harika olmaz mıydı? Bu vizyon, insanların en sezgisel ve evrensel iletişim kanalımız olan dili kullanarak verilerle etkileşime girmesine izin veren konuşma arabirimleri tarafından benimsenmiştir. Bir algoritma, bir soruyu ayrıştırdıktan sonra SQL gibi tercih edilen sorgu dilinde yapılandırılmış bir mantıksal forma kodlar. Böylece, teknik olmayan kullanıcılar verileriyle sohbet edebilir ve bir BI ekibi aracılığıyla yoldan sapmadan belirli, ilgili ve zamanında bilgilere hızla ulaşabilir. Bu makalede, Text2SQL'in farklı uygulama yönlerini ele alacağız ve şu an itibariyle en iyi performansı elde eden Büyük Dil Modelleri (LLM'ler) kullanan modern yaklaşımlara odaklanacağız (cf. [2]; alternatif yaklaşımlar üzerine bir araştırma için) LLM'lerin ötesinde, okuyuculara [3]) atıfta bulunulur. Makale, bir yapay zeka özelliğini planlarken ve oluştururken dikkate alınması gereken ana öğelerin aşağıdaki "zihinsel modeline" göre yapılandırılmıştır:

veri analizi için konuşma yapay zekası
Şekil 2: Bir AI özelliğinin zihinsel modeli

Sonu akılda tutarak başlayalım ve değeri özetleyelim - neden verilerinize veya analitik ürününüze bir Text2SQL özelliği eklemelisiniz? Üç ana fayda şunlardır:

  • İş kullanıcıları kurumsal verilere doğrudan ve zamanında erişebilir.
  • Bu rahatlatır veri bilimcileri ve analistleri iş kullanıcılarından gelen geçici isteklerin yükünden kurtulur ve gelişmiş veri sorunlarına odaklanmalarına olanak tanır.
  • Bu izin verir  verilerini daha akıcı ve stratejik bir şekilde kullanmak ve sonunda karar verme için sağlam bir temele dönüştürmek.

Şimdi, Text2SQL'i düşünebileceğiniz ürün senaryoları nelerdir? Üç ana ayar şunlardır:

  • teklif ediyorsun ölçeklenebilir veri/BI ürünü ve daha fazla kullanıcının verilerine teknik olmayan bir şekilde erişmesini sağlamak, böylece hem kullanımı hem de kullanıcı tabanını büyütmek istiyor. Örnek olarak ServiceNow, entegre veri sorgularını daha geniş bir konuşma teklifine, ve Atlan son zamanlarda duyurulan doğal dilde veri keşfi.
  • Şirketlerde veri erişimini demokratikleştirmek için veri/yapay zeka alanında bir şeyler inşa etmek istiyorsunuz. Temelinde Text2SQL bulunan MVP. Sağlayıcılar gibi AI2SQL ve Text2sql.ai zaten bu alana bir giriş yapıyorlar.
  • üzerinde çalışıyorsun özel iş zekası sistemi ve bireysel şirkette kullanımını en üst düzeye çıkarmak ve demokratikleştirmek istiyorum.

Sonraki bölümlerde göreceğimiz gibi, Text2SQL önemsiz olmayan bir ön kurulum gerektirir. ROI'yi tahmin etmek için, desteklenecek kararların yanı sıra mevcut verileri de göz önünde bulundurun. Text2SQL, verilerin hızla değiştiği ve yatırım, pazarlama, üretim ve enerji endüstrisi gibi karar vermede aktif ve sıklıkla kullanıldığı dinamik ortamlarda mutlak bir kazanç olabilir. Bu ortamlarda, bilgi yönetimi için geleneksel araçlar çok durağandır ve verilere ve bilgilere erişmenin daha akıcı yolları, şirketlerin rekabet avantajı elde etmesine yardımcı olur. Veri açısından, Text2SQL bir veritabanı ile en büyük değeri sağlar:

  • Büyük ve büyüyen, böylece Text2SQL, zaman içinde daha fazla veriden yararlanıldıkça değerini ortaya çıkarabilir.
  • Yüksek kalite, böylece Text2SQL algoritması verilerdeki aşırı gürültü (tutarsızlıklar, boş değerler vb.) ile uğraşmak zorunda kalmaz. Genel olarak, uygulamalar tarafından otomatik olarak oluşturulan veriler, insanlar tarafından oluşturulan ve sürdürülen verilerden daha yüksek kaliteye ve tutarlılığa sahiptir.
  • anlamsal olarak olgun ham değil, böylece insanlar verileri zihinsel modellerinde bulunan merkezi kavramlara, ilişkilere ve ölçümlere dayalı olarak sorgulayabilirler. Anlamsal olgunluğun, ham verileri kavramsal bir yapıya uygun hale getiren ek bir dönüştürme adımıyla elde edilebileceğini unutmayın (bkz. "Veritabanı bilgi istemiyle bilgi istemini zenginleştirme" bölümü).

Aşağıda, bir Text2SQL özelliğinin ilgili işlevsel olmayan gereksinimlerinin yanı sıra verileri, algoritmayı, kullanıcı deneyimini derinlemesine inceleyeceğiz. Makale, Text2SQL yolculuğunun başında olan ürün yöneticileri, UX tasarımcıları ve veri bilimcileri ve mühendisleri için yazılmıştır. Bu kişiler için, yalnızca bir başlangıç ​​kılavuzu değil, aynı zamanda ürün, teknoloji ve iş arasındaki arayüzler ve ilgili değiş tokuşlar da dahil olmak üzere tartışmalar için ortak bir bilgi zemini sağlar. Uygulamanızda zaten daha ileri düzeydeyseniz, sondaki referanslar, keşfedilecek bir dizi derin dalış sağlar.

Bu kapsamlı eğitim içeriği sizin için yararlıysa şunları yapabilirsiniz: AI araştırma e-posta listemize abone olun yeni materyal çıkardığımızda uyarılmak. 

1. Veri

Herhangi bir makine öğrenimi çabası verilerle başlar, bu nedenle eğitim ve tahmin sırasında kullanılan girdi ve hedef verilerin yapısını netleştirerek başlayacağız. Makale boyunca, çalışan temsilimiz olarak Şekil 2'deki Text1SQL akışını kullanacağız ve şu anda düşünülen bileşenleri ve ilişkileri sarı renkle vurgulayacağız.

veri analizi için konuşma yapay zekası
Şekil 3: Bu Text2SQL temsilinde, veriyle ilgili öğeler ve ilişkiler sarı renkle işaretlenmiştir.

1.1 Verilerin formatı ve yapısı

Tipik olarak, bir ham Text2SQL giriş-çıkış çifti, bir doğal dil sorusundan ve karşılık gelen SQL sorgusundan oluşur, örneğin:

Soru"Her kullanıcı için takipçi adını ve sayısını listeleyin.”

SQL sorgusu:

isim seçin, user_profiles'tan takipçiler

Eğitim verileri alanında, sorular ve SQL sorguları arasındaki eşleme çoktan çoğadır:

  • Bir SQL sorgusu, doğal dilde birçok farklı soruya eşlenebilir; örneğin, yukarıdaki sorgu semantiği şu şekilde ifade edilebilir: "bana kullanıcı başına takipçi adlarını ve sayısını göster""Her kullanıcı için kaç takipçi var?" vb.
  • SQL sözdizimi çok yönlüdür ve hemen hemen her soru SQL'de birden çok şekilde temsil edilebilir. En basit örnek, WHERE yan tümcelerinin farklı sıralamalarıdır. Daha gelişmiş bir bakış açısıyla, SQL sorgu optimizasyonu yapmış olan herkes, birçok yolun aynı sonuca götürdüğünü ve anlamsal olarak eşdeğer sorguların tamamen farklı sözdizimine sahip olabileceğini bilecektir.

Text2SQL için eğitim verilerinin manuel olarak toplanması özellikle zahmetlidir. Bu, yalnızca anlatıcının SQL uzmanlığını gerektirmez, aynı zamanda duygu analizi ve metin sınıflandırması gibi daha genel dilsel görevlerden daha fazla örnek başına daha fazla zaman gerektirir. Yeterli miktarda eğitim örneği sağlamak için veri artırma kullanılabilir - örneğin, LLM'ler aynı soru için açıklamalar oluşturmak için kullanılabilir. [3], Text2SQL veri artırma tekniklerinin daha eksiksiz bir incelemesini sağlar.

1.2 İstemi veritabanı bilgileriyle zenginleştirme

Text2SQL, yapılandırılmamış ve yapılandırılmış veriler arasındaki arayüzde bir algoritmadır. Optimum performans için, eğitim ve tahmin sırasında her iki veri türünün de mevcut olması gerekir. Spesifik olarak, algoritma sorgulanan veritabanı hakkında bilgi sahibi olmalı ve sorguyu veritabanına karşı yürütülebilecek şekilde formüle edebilmelidir. Bu bilgi şunları kapsayabilir:

  • Veritabanının sütunları ve tabloları
  • Tablolar arasındaki ilişkiler (yabancı anahtarlar)
  • Veritabanı içeriği

Veritabanı bilgisini dahil etmek için iki seçenek vardır: bir yandan, eğitim verileri belirli bir veritabanı için yazılmış örneklerle sınırlandırılabilir, bu durumda şema doğrudan SQL sorgusundan ve onun soruyla eşlenmesinden öğrenilir. Bu tek veritabanı ayarı, algoritmanın tek bir veritabanı ve/veya şirket için optimize edilmesini sağlar. Bununla birlikte, modelin her bir müşteri veya veritabanı için ince ayarlanması gerektiğinden, ölçeklenebilirlik tutkularını öldürür. Alternatif olarak, çoklu veritabanı ayarında, veritabanı şeması, algoritmanın yeni, görünmeyen veritabanı şemalarına "genelleştirilmesine" izin vererek, girdinin bir parçası olarak sağlanabilir. Text2SQL'i birçok farklı veritabanında kullanmak istiyorsanız kesinlikle bu yaklaşımı izlemeniz gerekecek olsa da, bunun önemli ölçüde hızlı mühendislik çabası gerektirdiğini unutmayın. Bilgi istemindeki tüm bilgiler dahil olmak üzere herhangi bir makul iş veri tabanı için son derece verimsiz olacak ve bilgi istemi uzunluk sınırlamaları nedeniyle büyük olasılıkla imkansız olacaktır. Bu nedenle, hızlı formülasyondan sorumlu işlev, belirli bir soru için en "yararlı" olan veritabanı bilgilerinin bir alt kümesini seçecek ve bunu potansiyel olarak görünmeyen veritabanları için yapacak kadar akıllı olmalıdır.

Son olarak, veritabanı yapısı çok önemli bir rol oynar. Veritabanı üzerinde yeterli kontrole sahip olduğunuz bu senaryolarda, sezgisel bir yapıdan öğrenmesini sağlayarak modelinizin hayatını kolaylaştırabilirsiniz. Genel bir kural olarak, veritabanınız işletme kullanıcılarının iş hakkında nasıl konuştuklarını ne kadar çok yansıtırsa, modeliniz bundan o kadar iyi ve hızlı öğrenebilir. Bu nedenle, normalleştirilmiş veya başka bir şekilde dağıtılmış verileri geniş tablolar veya bir veri kasası halinde birleştirmek, tabloları ve sütunları açık ve net bir şekilde adlandırmak vb. gibi verilere ek dönüşümler uygulamayı düşünün. olasılıksal öğrenmenin yükünü modelinize yükler ve daha iyi sonuçlar elde etmenize yardımcı olur.

2. Algoritma

veri analizi için konuşma yapay zekası
Şekil 4: Bu Text2SQL temsilinde, algoritma ile ilgili öğeler ve ilişkiler sarı renkle işaretlenmiştir.

Text2SQL bir tür anlamsal ayrıştırma — metinlerin mantıksal temsillerle eşleştirilmesi. Bu nedenle, algoritmanın yalnızca doğal dili "öğrenmesi" değil, aynı zamanda hedef temsili - bizim durumumuzda SQL'i de "öğrenmesi" gerekir. Spesifik olarak, aşağıdaki bilgi parçalarını edinmesi gerekir:

  • SQL söz dizimi ve semantiği
  • Veritabanı yapısı
  • Doğal Dil Anlayışı (NLU)
  • Doğal dil ve SQL sorguları arasında eşleme (sözdizimsel, sözcüksel ve anlamsal)

2.1 Girdideki dilsel değişkenliği çözme

Girişte, Text2SQL'in temel zorluğu dilin esnekliğinde yatmaktadır: Verilerin biçimi ve yapısı bölümünde açıklandığı gibi, aynı soru birçok farklı şekilde başka kelimelerle ifade edilebilir. Ek olarak, gerçek hayattaki konuşma bağlamında, yazım ve dilbilgisi hataları, eksik ve belirsiz girdiler, çok dilli girdiler vb. gibi bir dizi sorunla uğraşmak zorundayız.

veri analizi için konuşma yapay zekası
Şekil 5: Text2SQL algoritması, bir sorunun birçok farklı çeşidiyle uğraşmak zorundadır.

GPT modelleri, T5 ve CodeX gibi LLM'ler bu zorluğu çözmeye giderek daha da yaklaşıyor. Çok sayıda farklı metinden öğrenerek, çok sayıda dilsel kalıp ve düzensizlikle başa çıkmayı öğrenirler. Sonunda, farklı yüzey biçimlerine sahip olmalarına rağmen anlamsal olarak benzer sorular üzerinden genelleme yapabilir hale gelirler. LLM'ler kullanıma hazır (sıfır atış) veya ince ayar yapıldıktan sonra uygulanabilir. İlki, uygun olsa da, daha düşük doğruluğa yol açar. İkincisi, daha fazla beceri ve çalışma gerektirir, ancak doğruluğu önemli ölçüde artırabilir.

Doğruluk açısından, beklendiği gibi, en iyi performans gösteren modeller, CodeX modelleri de dahil olmak üzere GPT ailesinin en yeni modelleridir. Nisan 2023'te GPT-4, önceki son teknolojiye göre %5'in üzerinde çarpıcı bir doğruluk artışı sağladı ve %85.3'lük bir doğruluk elde etti ("değerlerle yürütme" metriğinde).[4] Açık kaynak kampında, Text2SQL yapbozunu çözmeye yönelik ilk girişimler, NLU görevlerinde üstün olan BERT gibi otomatik kodlama modellerine odaklandı.[5, 6, 7] Ancak, üretken yapay zeka etrafındaki abartının ortasında, son yaklaşımlar şu konulara odaklanıyor: T5 modeli gibi otoregresif modellerde. T5, çoklu görev öğrenimi kullanılarak önceden eğitilmiştir ve bu nedenle yeni dilsel görevlere kolayca uyum sağlar. anlamsal ayrıştırmanın farklı varyantları. Bununla birlikte, konu anlamsal ayrıştırma görevleri olduğunda, otoregresif modellerin içsel bir kusuru vardır: kısıtlanmamış bir çıktı alanına sahiptirler ve çıktılarını kısıtlayacak anlamsal korkulukları yoktur, bu da davranışlarında şaşırtıcı derecede yaratıcı olabilecekleri anlamına gelir. Bu, serbest biçimli içerik oluşturmak için harika bir şey olsa da, kısıtlı, iyi yapılandırılmış bir hedef çıktısı beklediğimiz Text2SQL gibi görevler için bir baş belasıdır.

2.2 Sorgu doğrulama ve geliştirme

LLM çıktısını kısıtlamak için, sorguyu doğrulamak ve iyileştirmek için ek mekanizmalar sunabiliriz. Bu, PICARD sisteminde önerildiği gibi ekstra bir doğrulama adımı olarak uygulanabilir.[8] PICARD, kısmi bir SQL sorgusunun tamamlandıktan sonra geçerli bir SQL sorgusuna yol açıp açamayacağını doğrulayabilen bir SQL ayrıştırıcısı kullanır. LLM tarafından her oluşturma adımında, sorguyu geçersiz kılacak belirteçler reddedilir ve en yüksek olasılıklı geçerli belirteçler tutulur. Deterministik olan bu yaklaşım, ayrıştırıcı doğru SQL kurallarına uyduğu sürece %100 SQL geçerliliği sağlar. Ayrıca, sorgu doğrulamasını üretimden ayırır, böylece her iki bileşenin de birbirinden bağımsız olarak korunmasına ve LLM'nin yükseltilmesine ve değiştirilmesine olanak tanır.

Başka bir yaklaşım, yapısal ve SQL bilgisini doğrudan LLM'ye dahil etmektir. Örneğin, Graphix [9], yapılandırılmış SQL bilgisini T5 modeline enjekte etmek için grafiğe duyarlı katmanlar kullanır. Bu yaklaşımın olasılıksal doğası nedeniyle, sistemi doğru sorgulara yönlendirir, ancak başarı için bir garanti sağlamaz.

Son olarak LLM, sorguyu otonom olarak kontrol edebilen ve geliştirebilen çok adımlı bir aracı olarak kullanılabilir.[10] Bir düşünce zinciri bilgi isteminde birden çok adım kullanan aracıya, kendi sorgularının doğruluğu üzerinde düşünmesi ve kusurları iyileştirmesi görevi verilebilir. Doğrulanmış sorgu hala yürütülemezse, iyileştirme için ek bir geri bildirim olarak aracıya SQL istisna geri izlemesi iletilebilir.

Arka uçta gerçekleşen bu otomatikleştirilmiş yöntemlerin ötesinde, kullanıcıyı sorgu kontrol sürecine dahil etmek de mümkündür. Bunu Kullanıcı deneyimi bölümünde daha ayrıntılı olarak açıklayacağız.

2.3 Değerlendirme

Text2SQL algoritmamızı değerlendirmek için bir test (doğrulama) veri seti oluşturmamız, algoritmamızı bunun üzerinde çalıştırmamız ve sonuca ilgili değerlendirme metriklerini uygulamamız gerekiyor. Eğitim, geliştirme ve doğrulama verilerine bölünmüş naif bir veri seti, soru-sorgu çiftlerine dayalı olacaktır ve yetersiz sonuçlara yol açacaktır. Doğrulama sorguları, eğitim sırasında modele gösterilebilir ve genelleme becerileri konusunda aşırı iyimser bir görüşe yol açabilir. A sorgu tabanlı bölmeveri setinin hem eğitim sırasında hem de doğrulama sırasında hiçbir sorgu görünmeyecek şekilde bölünmesi daha doğru sonuçlar sağlar.

Değerlendirme ölçütleri açısından, Text2SQL'de önemsediğimiz şey, altın standartla tamamen aynı olan sorgular oluşturmak değildir. Bu "tam dize eşleşmesi" yöntem çok katıdır ve farklı SQL sorguları aynı döndürülen veri kümesine yol açabileceğinden birçok yanlış negatif üretecektir. Bunun yerine, yükseklere ulaşmak istiyoruz anlamsal doğruluk ve öngörülen ve "altın standart" sorguların her zaman aynı veri kümelerini döndürüp döndürmeyeceğini değerlendirin. Bu hedefe yaklaşan üç değerlendirme ölçütü vardır:

  • Tam ayarlı eşleşme doğruluğu: oluşturulan ve hedeflenen SQL sorguları bileşenlerine ayrılır ve ortaya çıkan kümeler kimlik açısından karşılaştırılır.[11] Buradaki eksiklik, yalnızca SQL sorgusundaki sıra değişikliklerini hesaba katması, ancak anlamsal olarak eşdeğer sorgular arasındaki daha belirgin sözdizimsel farklılıkları hesaba katmaması.
  • Yürütme doğruluğu: oluşturulan ve hedef SQL sorgularından kaynaklanan veri kümeleri kimlik açısından karşılaştırılır. Şans eseri, farklı semantiklere sahip sorgular bu testi belirli bir veritabanı örneğinde geçebilir. Örneğin, tüm kullanıcıların 30 yaşın üzerinde olduğu bir veritabanı varsayıldığında, aşağıdaki iki sorgu farklı semantiklere sahip olmasına rağmen aynı sonuçları verecektir:
    kullanıcıdan * seçin
    yaşı > 30 olan kullanıcıdan * seçin
  • Test paketi doğruluğu: test paketi doğruluğu, yürütme doğruluğunun daha gelişmiş ve daha az izin veren bir sürümüdür. Her sorgu için, sorgudaki değişkenlere, koşullara ve değerlere göre oldukça farklılaştırılmış bir veri tabanı seti ("test paketi") oluşturulur. Ardından, yürütme doğruluğu bu veritabanlarının her biri üzerinde test edilir. Bu ölçüm, test paketi neslini tasarlamak için ek çaba gerektirmekle birlikte, değerlendirmede yanlış pozitif riskini de önemli ölçüde azaltır..[12]

3. Kullanıcı deneyimi

veri analizi için konuşma yapay zekası
Şekil 6: Bu Text2SQL temsilinde, UX ile ilgili öğeler ve ilişkiler sarı renkle işaretlenmiştir.

Text2SQL'in şu anki son durumu, üretim sistemlerine tamamen sorunsuz bir entegrasyona izin vermiyor - bunun yerine, her zaman etkileşimde olduğunun farkında olması gereken kullanıcının beklentilerini ve davranışlarını aktif olarak yönetmek gerekiyor. bir AI sistemi.

3.1 Arıza yönetimi

Text2SQL, farklı şekillerde yakalanması gereken iki modda başarısız olabilir:

  • SQL hataları: oluşturulan sorgu geçerli değil — ya SQL geçersiz ya da sözcüksel veya anlamsal kusurlar nedeniyle belirli bir veritabanında çalıştırılamıyor. Bu durumda kullanıcıya herhangi bir sonuç döndürülemez.
  • Anlamsal hatalar: oluşturulan sorgu geçerlidir ancak sorunun anlamını yansıtmaz, bu nedenle yanlış bir veri kümesi döndürülmesine yol açar.

İkinci mod, "sessiz arızalar" - kullanıcı tarafından fark edilmeyen hatalar - riski yüksek olduğundan özellikle zordur. Prototip kullanıcı, sorgunun ve/veya elde edilen verilerin doğruluğunu doğrulamak için ne zamana ne de teknik beceriye sahip olacaktır. Veriler gerçek dünyada karar vermek için kullanıldığında, bu tür başarısızlıkların yıkıcı sonuçları olabilir. Bundan kaçınmak için, kullanıcıları eğitmek ve oluşturmak çok önemlidir. iş seviyesinde korkuluklar daha yüksek etkiye sahip kararlar için ek veri kontrolleri gibi potansiyel etkiyi sınırlayan. Öte yandan, kullanıcı arayüzünü insan-makine etkileşimini yönetmek ve kullanıcının sorunlu istekleri tespit edip iyileştirmesine yardımcı olmak için de kullanabiliriz.

3.2 İnsan-makine etkileşimi

Kullanıcılar, yapay zeka sisteminize farklı yoğunluk dereceleriyle dahil olabilir. İstek başına daha fazla etkileşim, daha iyi sonuçlara yol açabilir, ancak aynı zamanda kullanıcı deneyiminin akıcılığını da yavaşlatır. Hatalı sorguların ve sonuçların olası olumsuz etkisinin yanı sıra, kullanıcılarınızın daha doğru sonuçlar elde etmek ve uzun vadede ürünü iyileştirmeye yardımcı olmak için karşılıklı geri bildirimde bulunma konusunda ne kadar motive olacaklarını da göz önünde bulundurun.

En kolay ve en az ilgi çekici yol, güven puanlarıyla çalışmaktır. Oluşturulan belirteçlerin olasılıklarının ortalaması olarak saf güven hesaplaması aşırı derecede basit olsa da, sözlü geri bildirim gibi daha gelişmiş yöntemler kullanılabilir. [13] Güven, arayüzde görüntülenebilir ve tehlikeli derecede düşük olması durumunda açık bir uyarı ile vurgulanabilir. Bu şekilde, "gerçek dünyada" uygun bir takibin sorumluluğu - ister ret, ister kabul veya verilerin ek kontrolü olsun - kullanıcınızın omuzlarına yüklenir. Bu, satıcı olarak sizin için güvenli bir bahis olsa da, bu işi kullanıcıya devretmek ürününüzün değerini de düşürebilir.

İkinci bir olasılık, güven düzeyi düşük, belirsiz veya başka şekilde şüpheli sorgular olması durumunda kullanıcıyı bir açıklama diyaloğuna dahil etmektir. Örneğin, sisteminiz girdiye imla veya dilbilgisi düzeltmeleri önerebilir ve belirli sözcükleri veya dilbilgisi yapılarını netleştirmenizi isteyebilir. Ayrıca kullanıcının proaktif olarak şu sorguda düzeltmeler istemesine izin verebilir:[14]

KULLANICI: Bana John'un bu sprintteki görevlerini göster.

YARDIMCISI: John'un yarattığı veya üzerinde çalıştığı görevleri görmek ister misiniz?

KULLANICI: John'un yarattığı görevler

YARDIMCISI: Tamam, işte görev kimlikleri:

veri analizi için konuşma yapay zekası

KULLANICI: Teşekkürler, ayrıca görevler hakkında daha fazla bilgi görmek istiyorum. Lütfen ayrıca aciliyete göre sıralayın.

YARDIMCISI: Elbette, son teslim tarihine göre sıralanmış kısa açıklamalar, atananlar ve son tarihlerle birlikte görevler burada.

veri analizi için konuşma yapay zekası

Son olarak, sorguların kullanıcı tarafından anlaşılmasını kolaylaştırmak için, sisteminiz ayrıca sorgunun açık bir metinsel yeniden formülasyonunu sağlayabilir ve kullanıcıdan bunu onaylamasını veya düzeltmesini isteyebilir.[15]

4. İşlevsel olmayan gereksinimler

Bu bölümde, Text2SQL için işlevsel olmayan belirli gereksinimleri ve aralarındaki değiş tokuşları tartışacağız. Görev için en önemli görünen altı gereksinime odaklanacağız: doğruluk, ölçeklenebilirlik, hız, açıklanabilirlik, gizlilik ve zaman içinde uyarlanabilirlik.

4.1 Doğruluk

Text2SQL için doğruluk gereksinimleri yüksektir. İlk olarak, Text2SQL tipik olarak tahminlerin tek tek yapıldığı bir konuşma ortamında uygulanır. Bu nedenle, genellikle toplu tahminlerdeki hatayı dengelemeye yardımcı olan "Büyük sayılar yasası" yardımcı olmuyor. İkincisi, sözdizimsel ve sözcüksel geçerlilik "zor" bir koşuldur: model, potansiyel olarak karmaşık sözdizimi ve semantik ile iyi biçimlendirilmiş bir SQL sorgusu oluşturmalıdır, aksi takdirde istek veritabanına karşı yürütülemez. Ve bu iyi giderse ve sorgu yürütülebilirse, yine de anlamsal hatalar içerebilir ve yanlış bir veri kümesi döndürülmesine neden olabilir (bkz. bölüm 3.1 Hata yönetimi).

4.2 Ölçeklenebilirlik

Temel ölçeklenebilirlik hususları, Text2SQL'i bir veya birden çok veritabanına uygulamak isteyip istemediğiniz ve ikinci durumda, veritabanları kümesinin bilinip bilinmediği ve kapalı olup olmadığıdır. Cevabınız evet ise, bu veritabanları ile ilgili bilgileri eğitim sırasında ekleyebileceğiniz için daha kolay zaman geçireceksiniz. Ancak, ister bağımsız bir Text2SQL uygulaması ister mevcut bir veri ürününe entegrasyon olsun, ölçeklenebilir bir ürün senaryosunda, algoritmanız anında herhangi bir yeni veritabanı şemasıyla başa çıkmak zorundadır. Bu senaryo aynı zamanda size veri tabanı yapısını öğrenme için daha sezgisel hale getirme fırsatı da vermez (bağlantı!). Tüm bunlar, doğrulukla büyük bir değiş tokuşa yol açar; bu, yeni veritabanlarının geçici olarak sorgulanmasını sunan mevcut Text2SQL sağlayıcılarının neden henüz önemli bir pazar penetrasyonu elde edemediğini de açıklayabilir.

4.3 Hız

Text2SQL istekleri genellikle bir konuşmada çevrimiçi olarak işleneceğinden, hız yönü kullanıcı memnuniyeti için önemlidir. Olumlu tarafı, kullanıcılar genellikle veri taleplerinin belirli bir süre alabileceğinin farkındadır ve gerekli sabrı gösterir. Ancak bu iyi niyet, kullanıcıların bilinçaltında insan benzeri konuşma hızı beklediği sohbet ayarıyla baltalanabilir. Modelin boyutunu küçültmek gibi kaba kuvvet optimizasyon yöntemlerinin doğruluk üzerinde kabul edilemez bir etkisi olabilir, bu nedenle bu beklentiyi karşılamak için çıkarım optimizasyonunu düşünün.

4.4 Açıklanabilirlik ve şeffaflık

İdeal durumda, kullanıcı sorgunun metinden nasıl oluşturulduğunu takip edebilir, sorudaki belirli kelimeler veya ifadeler ile SQL sorgusu arasındaki eşleştirmeyi görebilir vb. . Ayrıca, sistem ayrıca sorgunun açık bir metinsel yeniden formülasyonunu sağlayabilir ve kullanıcıdan bunu onaylamasını veya düzeltmesini isteyebilir.

4.5 Gizlilik

Text2SQL işlevi, sorgu yürütmeden izole edilebilir, böylece döndürülen veritabanı bilgileri görünmez tutulabilir. Ancak kritik soru, istemde veritabanı hakkında ne kadar bilgi yer aldığıdır. Üç seçenek (gizlilik düzeyini azaltarak):

  • Hiçbir bilgi
  • Veritabanı şeması
  • Veritabanı içeriği

Gizlilik, doğrulukla değiş tokuş edilir — istemde yararlı bilgileri dahil etme konusunda ne kadar az kısıtlanırsanız, sonuçlar o kadar iyi olur.

4.6 Zaman içinde uyarlanabilirlik

Text2SQL'i kalıcı bir şekilde kullanmak için, veri kaymasına, yani modelin uygulandığı verilerin değişen dağılımına uyum sağlamanız gerekir. Örneğin, ilk ince ayar için kullanılan verilerin, kullanıcıların BI sistemini kullanmaya başladıklarında basit sorgulama davranışlarını yansıttığını varsayalım. Zaman geçtikçe, kullanıcıların bilgi ihtiyaçları daha karmaşık hale gelir ve daha karmaşık sorgular gerektirir, bu da saf modelinizi alt eder. Ayrıca, bir şirketin hedefleri veya stratejisi değişikliği de bilgi ihtiyaçlarını veri tabanının diğer alanlarına doğru sürükleyebilir ve yönlendirebilir. Son olarak, Text2SQL'e özgü bir zorluk, veritabanı kaymasıdır. Şirket veri tabanı genişledikçe, yeni, görünmeyen sütunlar ve tablolar bilgi istemine giriyor. Çoklu veritabanı uygulaması için tasarlanan Text2SQL algoritmaları bu sorunu iyi bir şekilde çözebilirken, tek veritabanı modelinin doğruluğunu önemli ölçüde etkileyebilir. Tüm bu sorunlar, kullanıcıların mevcut, gerçek dünyadaki davranışlarını yansıtan ince ayarlı bir veri kümesiyle en iyi şekilde çözülür. Bu nedenle, kullanıcı sorularının ve sonuçlarının yanı sıra kullanımdan toplanabilecek ilgili geri bildirimlerin günlüğe kaydedilmesi çok önemlidir. Ek olarak, kullanıcı davranışındaki uzun vadeli değişikliklerin altında yatan değişiklikleri saptamak ve bunları ince ayarlı veri kümenizi mükemmelleştirmek için ek bir bilgi kaynağı olarak kullanmak için anlamsal kümeleme algoritmaları, örneğin yerleştirmeler veya konu modellemesi kullanılarak uygulanabilir.

Sonuç

Makalenin ana noktalarını özetleyelim:

  • Text2SQL, bir işletmede sezgisel ve demokratik veri erişimini uygulamaya izin vererek mevcut verilerin değerini en üst düzeye çıkarır.
  • Text2SQL verileri, girişteki sorulardan ve çıkıştaki SQL sorgularından oluşur. Sorular ve SQL sorguları arasındaki eşleme çoktan çoğadır.
  • Bilgi isteminin bir parçası olarak veritabanı hakkında bilgi sağlamak önemlidir. Ek olarak, veritabanı yapısı, algoritmanın öğrenmesini ve anlamasını kolaylaştırmak için optimize edilebilir.
  • Girişte asıl zorluk, çok çeşitli farklı metin stilleri üzerinde önceden eğitilmiş LLM'ler kullanılarak yaklaşılabilen doğal dil sorularının dilsel değişkenliğidir.
  • Text2SQL'in çıktısı geçerli bir SQL sorgusu olmalıdır. Bu kısıtlama, SQL bilgisinin algoritmaya "enjekte edilmesi" ile birleştirilebilir; alternatif olarak yinelemeli bir yaklaşım kullanılarak sorgu birden çok adımda kontrol edilebilir ve geliştirilebilir.
  • Karar verme için yanlış veriler döndüren "sessiz hataların" potansiyel olarak yüksek etkisi nedeniyle, hata yönetimi kullanıcı arayüzünde birincil endişe kaynağıdır.
  • "Artırılmış" bir tarzda, kullanıcılar, SQL sorgularının yinelemeli doğrulama ve iyileştirme süreçlerine aktif olarak dahil edilebilir. Bu, uygulamayı daha az akıcı hale getirirken başarısızlık oranlarını da azaltır, kullanıcıların verileri daha esnek bir şekilde keşfetmesine olanak tanır ve daha fazla öğrenme için değerli sinyaller oluşturur.
  • Dikkate alınması gereken temel işlevsel olmayan gereksinimler, doğruluk, ölçeklenebilirlik, hız, açıklanabilirlik, gizlilik ve zaman içinde uyarlanabilirliktir. Ana değiş tokuşlar, bir yandan doğruluk ile diğer yandan ölçeklenebilirlik, hız ve gizlilik arasında oluşur.

Referanslar

[1] Ken Van Haren. 2023. Bir SQL analistini 26 yinelemeli GPT istemiyle değiştirme

[2] Nitarshan Rajkumar ve ark. 2022. Büyük Dil Modellerinin Metin-SQL Yeteneklerini Değerlendirme

[3] Naihao Deng ve ark. 2023. Text-to-SQL'deki Son Gelişmeler: Nelere Sahip Olduğumuza ve Ne Beklediğimize İlişkin Bir Araştırma

[4] Mohammadreza Pourreza ve ark. 2023. DIN-SQL: Metinden SQL'e Öz Düzeltmeli Ayrıştırılmış Bağlam İçi Öğrenim

[5] Victor Zhong ve ark. 2021. Zero-shot Yürütülebilir Semantik Ayrıştırma için Topraklanmış Uyarlama

[6] Xi Victoria Lin ve ark. 2020. Etki Alanları Arası Metinden SQL'e Anlamsal Ayrıştırma için Metinsel ve Tablo Verilerini Köprüleme

[7] Tong Guo ve ark. 2019. İçerik İyileştirilmiş BERT tabanlı Metin-SQL Üretimi

[8] Torsten Scholak ve ark. 2021. PICARD: Dil Modellerinden Kısıtlı Otomatik Gerileyen Kod Çözme için Kademeli Olarak Ayrıştırma

[9] Jinyang Li ve ark. 2023. Graphix-T5: Metinden SQL'e Ayrıştırma için Önceden Eğitilmiş Transformatörleri Grafiğe Duyarlı Katmanlarla Karıştırma

[10] LangChain. 2023. LLM'ler ve SQL

[11] Tao Yu ve ark. 2018. Örümcek: Karmaşık ve Etki Alanları Arası Semantik Ayrıştırma ve Metinden SQL'e Görev için Büyük Ölçekli İnsan Etiketli Veri Kümesi

[12] Ruiqi Zhong ve ark. 2020. Distile Test Paketleriyle Metinden SQL'e Anlamsal Değerlendirme

[13] Katherine Tian ve ark. 2023. Sadece Kalibrasyon İsteyin: İnsan Geri Bildirimiyle İnce Ayarlanmış Dil Modellerinden Kalibre Edilmiş Güven Puanları Elde Etmeye Yönelik Stratejiler

[14] Braden Hancock ve ark. 2019. Konuşlandırmadan Sonra Diyalogdan Öğrenmek: Kendinizi Besleyin, Chatbot!

[15] Ahmed Elgohary ve ark. 2020. Ayrıştırıcınızla Konuşun: Doğal Dil Geri Bildirimiyle Etkileşimli Metinden SQL'e

[16] Janna Lipenkova. 2022. Benimle konuş! Şirketinizin verileriyle Text2SQL görüşmeleri, New York Doğal Dil İşleme toplantısında konuşun.

Tüm görseller yazara aittir.

Bu yazı orijinalinde Veri Bilimine Doğru ve yazarın izniyle TOPBOTS'a yeniden yayınlandı.

Bu makaleyi beğendiniz mi? Daha fazla AI araştırma güncellemesi için kaydolun.

Bunun gibi daha özet makaleler yayınladığımızda size haber vereceğiz.

Zaman Damgası:

Den fazla TOPBOTLAR