$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Kapsamlı Teorik Temel
QAS Bileşeni: QAS çerçevesi, Şekil 3'te gösterildiği gibi üç bölümden oluşur: i) Soru işleme modülü (QPM), ii) Belge işleme modülü (DPM) ve iii) Yanıt çıkarma ve formülasyon modülü (AEFM). Sistem, iki ana kategoriye ayrılan soruları alır: Factoid ve Non-Factoid. Factoid sorular tipik olarak ne, nerede, ne zaman veya kim gibi soru sözcükleri kullanırken, Factoid olmayan sorular nasıl ve neden gibi sözcükler kullanır.
DPM: Sağlanan listeden kullanıcı belirli bir pasajı seçebilir. Ardından, pasajdaki her belirteç bir Konuşma Parçası (POS) Etiketleyicisi kullanılarak etiketlenir. Fiilleri ayıklamak için fiil olarak etiketlenmiş tüm belirteçleri tanımlayın. Bu fiilleri alışılmadık fiillerin bir listesiyle birleştirin ve düzenli fiiller için mantık uygulayın. Çıkarılan fiilleri, zamanlarını ve -ing formlarını içeren bir veri yapısı (dizi) oluşturun.
QPM: Sistem, kullanıcıdan soru şeklinde girdi alır. Metin, StringTokenizer sınıfı kullanılarak belirteç haline getirilir ve sonuçta elde edilen belirteçler ayrı bir veri yapısında depolanır. Bu veri yapısı daha sonra program içinde daha fazla kullanılmak üzere döndürülür.
AEFM: İlk adım, verilen sorudaki fiili tanımlamaktır. Yakın zamanda tanımlanan fiil artık belge işleme aşamasında oluşturulan belirteçlerle eşleştirilir. Belirli bir olgusal soru türü (ne veya ne zaman gibi) için seçilen durum, cevabı daha kesin bir şekilde çıkarmak ve oluşturmak için kullanılır.
Soru türünü seçmeden önce, kullanıcıdan ilk olarak kendi seçtiği pasajı seçmesi istenir. QPM, kullanıcının sorusunu işlemekten ve AEFM'ye iletmekten sorumludur. AEFM, DPM'den elde edilen ayıklamaları ve özgün giriş belgesinin etiketli biçimini içeren işlenmiş belgeleri kullanır. Modül, istenen cevabı elde etmek için gerekli algoritmaları formülasyon modülüne iletecektir.

Şekil 3: QAS'ın bileşenleri. Şekil, bir QA sisteminin dört adımlı sürecini göstermektedir: Soru, Soru İşleme, Cevap İşleme ve Cevap. Soru İşleme'de sistem soruyu sınıflandırır. Yanıt İşleme'de, yanıtı üretmek için belgeleri ve pasajları bulur ve inceler. Bu rakamın daha büyük bir sürümünü görüntülemek için lütfen buraya tıklayın.
BERT modeli: Bir metindeki kelimeler arasındaki ilişkileri keşfetmek için BERT yöntemi bir dönüştürücü kullanır. Bir transformatörde iki mekanizma vardır - bir kodlayıcı ve bir kod çözücü28, ancak BERT için sadece kodlayıcı gereklidir. BERT iki yönlü bir yaklaşım benimser ve kelimelerin anlamlarını kendi bağlamlarında kendisine öğretmek için girdi metnini sistematik olarak tarar. Kodlayıcı, vektörleştirilmiş bir dizi belirteci girdi olarak alır. Vektörler daha sonra girdiyi yansıtan bir dizi vektör üreten sinir ağına beslenir. Bir kelimenin çıktı vektörü, içinde geçtiği cümleye bağlı olarak değişir. Bir kelimenin vektörü, göründüğü bağlama bağlı olarak değişebilir; örneğin, "Kriket oynamayı seviyor" cümlesindeki "like", "Yüzü domates gibi kırmızıya döndü" cümlesindeki "like" kelimesinden farklı bir vektöre sahiptir. Yaklaşım, model oluşturma aşamasına geçmeden önce bir metin işleme aşamasıyla başlar. BERT'in metni işlemek için attığı adımlar bir sonraki bölüm28'de tartışılmaktadır.
Metin işleme: BERT modeli, giriş metnini önceden belirlenmiş bir dizi ilkeye uygun olarak temsil eder. Ayrıca bu faktör modelin performansının artmasına da katkıda bulunur. BERT'e girdi gömme, üç farklı gömme tipinin28 bir karışımından oluşur.
Pozisyon gömmeleri (PE'ler): Gömmelerdeki düzen ile ilgili bilgileri öğrenmek için PE'ler kullanılır. PE'ler, transformatörlerde kaybolan düzen hakkındaki bilgileri geri yüklemek için kullanılır. BERT, girdi dizisindeki her nokta için özel olarak farklı PE'ler geliştirir. BERT, PE'leri kullanarak bir cümle içindeki kelimelerin konumsal bilgilerini iletme yeteneğine sahiptir. Bu, BERT'in kelimelerin sırasını veya sırasını etkili bir şekilde yakalamasını ve temsil etmesini sağlar.
Cümle yerleştirmeleri (SE'ler): Ek olarak, modelin birinci ve ikinci cümleleri ayırt etmesine yardımcı olmak için BERT, her biri için benzersiz olan bir yerleştirme öğrenir. Ayrıca, QA gibi etkinlikler için girdi olarak eşleştirilmiş cümleleri kabul edebilir.
Belirteç eklemeleri (TE'ler): TE'ler, WordPiece belirteç sözlüğündeki her belirteç için öğretilir. WordPiece belirteç sözlüğü, derlemde bulunan kelimelerden türetilen alt kelime birimlerinden oluşur. Açıklayıcı bir örnek olarak, bu kelime koleksiyonu, Questio, Questi vb. dahil olmak üzere Soru teriminin akla gelebilecek tüm alt kelimelerini kapsayacaktır.
Bir token'ın giriş temsili, segment ve konum düzeylerinde yerleştirmelerinin bir araya getirilmesiyle oluşturulur. Bu nedenle, modele zengin bilgiler sağlayan kapsamlı bir gömme yaklaşımıdır. Şekil 49 , BERT modelinin yerleştirmelerini göstermektedir.

Şekil 4: BERT yerleştirmeleri. Şekil, bir transformatör modeli için giriş yerleştirmelerinin nasıl oluşturulduğunu gösterir. Bir giriş dizisiyle başlar: [CLS] [MASK] gökyüzü bulutlu [EYLÜL] yağmur yağacak [EYLÜL]. Dizideki her belirteç, Ethe veya E[MASK] gibi kendi yerleştirmesini alır. Ardından, her cümle için birincisi için EA ve ikincisi için EB gibi cümle yerleştirmeleri eklenir. Her bir belirtecin konumunu belirtmek için E0 ila E9 olarak etiketlenen konumsal yerleştirmeler de dahil edilmiştir. Bunların tümü, son girdi yerleştirmelerini oluşturmak için birleştirilir. Bu rakam9'dan değiştirildi. Bu rakamın daha büyük bir sürümünü görüntülemek için lütfen buraya tıklayın.
BERT kullanarak QAS tasarımı: Açıklama amacıyla, bu soruyu Football League28 ile ilgili bir Wikipedia girişinden alınan bir paragrafla birlikte inceleyin.
Soru: Futbol Ligi nerede kuruldu?
Pasaj: 1888'de İngiltere'de Futbol Ligi kuruldu ve birçok profesyonel futbol müsabakasının ilki oldu. 20. yüzyılda, çeşitli futbol türlerinin birçoğu büyüyerek dünyanın en popüler takım sporlarından biri haline geldi.
Cevap: İngiltere
BERT modeli, hem sorudan hem de bağlamdan belirteç çıkarımını kullanır ve ardından bunları birleşik bir girdide birleştirir. Daha önce de belirtildiği gibi süreç, bir cümlenin başlangıcı için bir gösterge görevi gören bir [CLS] tokeninin kullanılmasıyla başlar. Ek olarak, soruyu ve pasajı belirgin bir şekilde ayırmak için bir [SEP] ayırıcı kullanılır. BERT, [SEP] belirtecine ek olarak, soru ile cevabı içeren28 . pasaj arasında ayrım yapmak için SE'leri de içerir. BERT, aralarında net bir ayrım yapmak için biri soruya, diğeri pasaja adanmış iki SE kullanır. Gömmeler daha sonra soru ve pasaj arasında ayrım yapmak için belirteçlerin tek sıcak temsili28 ile birleştirilir. Bu süreç Şekil 5'te gösterilmektedir.

Şekil 5: BERT giriş gösterimi. Şekil, BERT tabanlı bir QAS için girdi yerleştirmelerinin nasıl oluşturulduğunu göstermektedir. [CLS] belirteci ile başlar, ardından Kaç tane sorusu gelir? [SEP] ve BERT büyük pasajı, her biri kendi cümle yerleştirmeleriyle birlikte (soru için A, pasaj için B). Belirteç, cümle ve konumsal yerleştirmeler, son girdiyi yapmak için birleştirilir. Bu rakamın daha büyük bir sürümünü görüntülemek için lütfen buraya tıklayın.
Daha sonra, soru ve bağlamın birleşik gömülü temsili28 , BERT modelinde girdi olarak kullanılır. BERT'in son gizli katmanı, olasılık dağılımları oluşturmak için SoftMax'i kullanacak şekilde değiştirilir. Bu dağılımlar, görsel bir temsil için Şekil 6'da gösterildiği gibi bir yanıtı temsil eden giriş metni cümlesi içindeki bir alt dizenin başlangıç ve bitiş indekslerini belirler.

Şekil 6: QA için BERT işleme iş akışı. Şekil, BERT modelinin QA için nasıl çalıştığını göstermektedir. Başlangıçta bir sınıflandırma belirteci [CLS] ve sonunda bir [SEP] ayırıcı belirteci ile işaretlenmiş bir soru içeren bir giriş dizisi ve ardından başka bir [SEP] ile ayrılmış bir bağlam sunar. Bu dizideki belirteçler gömülülere dönüştürülür. Model daha sonra pasaj içindeki cevabın başlangıç ve bitiş konumlarını tahmin eder. Bu rakamın daha büyük bir sürümünü görüntülemek için lütfen buraya tıklayın.
Vektör veritabanı (VD): VD17,18, verilerin yüksek boyutlu vektör temsillerini verimli bir şekilde depolamak, yönetmek, indekslemek ve sorgulamak için özel bir sistemdir. Vektörler genellikle derin öğrenme modellerinden oluşturulur ve verilerle ilgili anlamsal veya bağlamsal bilgileri kapsar. Bir vektörün her boyutu belirli bir özelliği temsil eder. Gömmeler, metin, resim, video ve ses gibi nesnelerin sayısal temsilleridir. Bu yerleştirmeler, Makine Öğrenimi (ML), NLP, öneri sistemleri, bilgisayarlı görme ve IR dahil olmak üzere çeşitli uygulamalarda kullanılır. VD'ler, benzer nesneleri vektör uzayında birbirine yakın gruplandırarak etkili benzerlik aramalarını ve anlamsal sorgulamayı kolaylaştırır. Facebook Yapay Zeka Benzerlik Araması (FAISS)29, bu çalışmada kullanıcı sorguları için en alakalı bağlamı belirlemek amacıyla kullanılan önemli bir VD'dir. Tablo 2, VD'lerin temel özelliklerini ve kullanım durumlarını özetlemektedir.
| Özellik | Açıklama |
| Yüksek Boyutlu Veriler | Yüzlerce veya binlerce boyuta sahip verileri işler. |
| Yaklaşık En Yakın Komşu (YSA) | Mesafeleri yaklaşık olarak tahmin ederek hızlı benzerlik aramaları sağlar. |
| Ölçeklenebilirlik | Milyarlarca vektör içeren büyük ölçekli veri kümelerini destekler. |
| Entegrasyon | Genellikle sorunsuz iş akışları için AI/ML çerçeveleri ve araçlarıyla entegre olur. |
| Gerçek Zamanlı Sorgular | Etkileşimli uygulamalar için düşük gecikmeli vektör aramaları sağlar. |
Tablo 2: VD'nin temel özellikleri. Tabloda VD'nin önemli özellikleri vurgulanmaktadır. Bunlar arasında yüksek boyutlu verilerin işlenmesi, YSA algoritmalarını kullanarak hızlı benzerlik aramaları yapılması, büyük veri kümelerine ölçeklendirilmesi, yapay zeka ve makine öğrenimi araçlarıyla çalışma ve etkileşimli kullanım için hızlı, gerçek zamanlı sorguların desteklenmesi yer alır.
Performans değerlendirme metrikleri: SCD-QA sistemi iki temel metrik kullanılarak değerlendirildi: EM skoru14 ve model Gecikmesi15. QA çalışmalarında standart bir ölçüm olan EM puanı, temel gerçekle tam olarak eşleşen tahmin edilen yanıtların oranını ölçerek tahmin doğruluğunu değerlendirir. Bir dizi N soru için, EM puanı Denklem 1'de resmi olarak aşağıdaki gibi tanımlanır:
nerede
(1)
Bu metrik, referans yanıtla tam eşleşme için 1 ve herhangi bir fark için 0 puan atar.
Gecikme süresi ölçümü, sistemin tek bir sorguya yanıt oluşturmak için gereken toplam işlem süresini ölçer. Bu ölçüm, Denklem 2'de sunulduğu gibi tüm sorgularda geçen ortalama süre olarak hesaplanır:
(2)
burada Tbaşlangıçi ve Tbitişi sırasıyla i. sorguyu işlemenin başlangıcını ve sonunu işaretleyen zaman damgalarıdır. Gecikme s cinsinden raporlanır ve giriş işlemeden yanıt oluşturmaya kadar tüm aşamaları kapsayan sistemin yanıt verme hızını yakalar.
Yöntem
SCD-QA'yı uygulamak için aşağıdaki test çalışmaları bu makaleye dahil edilmiştir.
SCD-QA veri kümesi: SCD-QA sisteminin uygulanması için önerilen bir veri kümesi30 tanıtıldı. Bu veri kümesi, Hindistan'ın NIT Arunaçal Pradeş'teki öğrenci yönergeleri için 20228 için doktora kurallarını içeren bir metin külliyatından türetilmiştir. SCD-QA sistemini kurmak için, ilgili tüm bilgileri kesin bir biçimde kapsayacak bir JSON dosyası oluşturmak gerekir. Veri kümesi, açık kaynaklı bir çerçeve olan Haystack açıklama aracı (sürüm 2.18.1)31 kullanılarak metin külliyatından oluşturulur. Bu araç, SCD-QA veri kümesinin SQuAD14 tarzında oluşturulmasını kolaylaştırır. PDF dosyasından SQuAD tipi açıklamalı veri kümesi oluşturma adımları Şekil 7'de, veri kümemizin SQuAD stilindeki yapısı ise Şekil 8'de gösterilmektedir.

Şekil 7: PDF dosyasından açıklamalı veri kümesi oluşturma adımları. Şekil, Haystack araçlarını kullanarak SQuAD tarzı açıklamalı bir veri kümesi oluşturmak için adım adım bir iş akışını göstermektedir. PDF'lerden metin çıkarma, temizleme ve pasajlara bölme, soru-cevap çiftlerine manuel olarak açıklama ekleme, ek açıklamaları SQuAD JSON formatında saklama ve son olarak model eğitimi için veri kümesini dışa aktarma sürecini özetlemektedir. Bu rakamın daha büyük bir sürümünü görüntülemek için lütfen buraya tıklayın.

Şekil 8: Factoid QA veri kümesinin yapısı. Şekilde, bir veri kümesinden bir paragrafı ve QA çiftini temsil eden bir JSON veri yapısı gösterilmektedir. Bir dizi soru ve cevap içeren bir paragraflar bölümü vardır. Bir soru soruyor: Doktora programına kabul edilmek için gereken minimum not nedir? Her sorunun bir kimliği ve bir dizi yanıtı vardır. Yanıt, bir belge kimliği, soru kimliği, metin %60 işaretleri, yanıtın başlangıç konumu ve belirtilmemiş bir yanıt kategorisi içerir. is_impossible bayrağı false olarak ayarlanır. Bu rakamın daha büyük bir sürümünü görüntülemek için lütfen buraya tıklayın.
Veri kümesi, her sözlüğün veri, paragraflar, soru, answer_id, document_id, question_id, metin, answer_start, answer_end, is_impossible ve bağlam gibi temel alanları içerdiği bir sözlük listesi olarak yapılandırılmıştır.
data: Genel soru-cevap bilgilerini içerir.
paragraflar: Soruları ve cevaplarıyla birlikte belirli bir bağlam.
soru: Belirli bir soru.
answer_id: Her yanıt metni için benzersiz bir kimlik numarası.
document_id: Her bağlam için benzersiz bir kimlik numarası.
question_id: Her soru için benzersiz bir kimlik numarası.
text: Cevap metni.
answer_start: Bağlam içinde doğru cevabın başlangıç konumu.
answer_end: Doğru cevabın bağlam içindeki cevap bitiş konumu.
is_impossible: Sorulan sorunun cevabının bağlamda mevcut olup olmadığını söyler.
context: Bir cevabın bulunabileceği metin derlişi.
Önerilen veri setindeki 80 sorunun tümü, olgusal ve olgusal olmayan soru formatını takip eder. Bazı çerçeveli soru türlerinin örnekleri Tablo 3'te gösterilmektedir.
| Soru |
| PS kimdir? |
| Son teknoloji belgenin yazı tipi boyutu nedir? |
| Doğum İzninde kaç gün var? |
Tablo 3: Veri kümesinden örnek soru. Tabloda iki tür soru örneği gösterilmektedir: birinci ve ikinci olgusal sorular, üçüncüsü ise olgusal olmayan bir sorudur.
FAISS: Facebook AI Research (FAIR) tarafından geliştirilen FAISS (sürüm faiss_cpu-1.9.0)29,32, yoğun vektörlerin verimli benzerlik aramasını ve kümelenmesini kolaylaştıran açık kaynaklı bir kütüphanedir. Büyük ölçekli, yüksek boyutlu verileri etkili bir şekilde yönetmek için özel olarak tasarlanmıştır. Bu sistem, milyonlarca veya milyarlarca vektörden oluşan veri kümeleri içinde hızlı ve ölçeklenebilir YSA aramalarını kolaylaştırır. NLP, öneri sistemleri ve görüntü veya video alımı dahil olmak üzere yerleştirmelerle ilgili uygulamalarda yaygın olarak kullanılır. FAISS, Düz (kaba kuvvet), Ters Dosya (IVF), Hiyerarşik Gezilebilir Küçük Dünya grafikleri (HNSW) ve ürün niceleme (PQ) dahil olmak üzere birden fazla indeksleme yöntemi sunar. Bu yöntemler, kullanıcıların arama performansını veri boyutuna, boyutluluğa ve donanım özelliklerine göre optimize etmelerini sağlar. Bu çalışmada, en yakın komşuları belirlemek için L2 (Öklid) mesafesini kullanarak kaba kuvvet araması yapan düz indeksleme kullanılmıştır. Sistemin ölçeklenebilirliği hem CPU hem de GPU uygulamalarını destekleyerek kapsamlı veri kümelerinde yüksek performanslı hesaplamalara olanak tanır. Ek olarak, belirli uygulama gereksinimlerine göre hız ve doğruluk arasındaki dengeyi optimize etme esnekliği sağlar. FAISS, NLP'de BERT veya Word2Vec gibi yerleştirmelerdeki anlamsal benzerliği değerlendirmek için sıklıkla kullanılır. FAISS, QAS'ta belgelerin veya cümlelerin vektör temsillerini depolamak ve yönetmek için kullanılır. Kullanıcı soruları için en uygun bağlamı almak için yaklaşık YSA aramaları33 gerçekleştirir ve BERT gibi dönüştürücü modellerden yerleştirmelerle anlamsal aramayı geliştirir. FAISS, çok yönlülüğü nedeniyle yapay zeka ve makine öğrenimi iş akışlarında temel bir araçtır.
BERT-büyük-büyük-bütün-kelime-maskeleme-ince ayarlı- SQuAD modeli: Bu çalışma, çalışmada önerilen veri kümesini kullanarak olgusal bir QAS geliştirmek için BERT-büyük-büyük-tam-kelime-maskeleme ince ayarlı-ekip9 olarak bilinen önceden eğitilmiş bir dil modelini kullanmaktadır. BERT modeli, listeler, tablolar ve başlıklar hariç olmak üzere, 11.038 yayınlanmamış kitaptan9 oluşan bir veri kümesi olan BookCorpus'un yanı sıra İngilizce Vikipedi üzerinde ön eğitimden geçmiştir. Söz konusu model kılıfsızdır, yani ingilizce ve ingilizce kelimeleri arasında ayrım yapmaz. Model, kendi kendini denetleyen bir yaklaşım kullanılarak önemli miktarda İngilizce veri üzerinde eğitilmiş, önceden eğitilmiş bir transformatör modelidir. Model, herhangi bir insan açıklaması olmadan yalnızca ham metinler üzerinde önceden eğitildi. Bu, kamuya açık büyük miktarda veriden yararlanmasına olanak tanır. Ön eğitim süreci, sağlanan metinlerden otomatik olarak girdiler ve etiketler oluşturmayı içerir. Model iki özel hedefle eğitilmiştir9:
MLM: Süreç, giriş cümlesindeki kelimelerin %15'inin9 rastgele maskelenmesini içerir. Model daha sonra maskelenmiş cümlenin tamamını işler ve maskelenmiş kelimeleri tahmin eder. Bu yaklaşım, genellikle kelimeleri sırayla işleyen geleneksel Tekrarlayan Sinir Ağlarından (RNN'ler) ve gelecekteki belirteçlerin dahili maskelemesini kullanan GPT gibi otoregresif modellerden farklıdır. İşlevsellik, modelin cümlenin çift yönlü bir temsilini elde etmesini sağlar.
NSP: Ön eğitim aşamasında model, iki gizlenmiş cümleyi girdi olarak birleştirir. Bazı durumlarda, bu cümleler orijinal metinde bitişiktir ve bu da doğrudan bir ilişkiye işaret eder. Diğer durumlarda, değildirler, yani onları birbirine bağlayan orijinal bir yakınlık veya bağlam yoktur. Sonraki adım, modelin iki cümlenin mantıksal olarak tutarlı olup olmadığını tahmin etmesini içerir.
Mevcut model, sonraki konfigürasyonla karakterize edilir: model mimarisi, 1024 gizli boyuta sahip 24 katmandan oluşur. 16 dikkat başlığı kullanır ve toplam 336 milyon parametreye sahiptir9.
WordPiece, ön işleme adımlarında 30.000 kelimelik kelime dağarcığı boyutuna sahip metinleri tokenize etmek için kullanılır. Modelin girdileri daha sonra şöyle görünecektir: [CLS] Cümle A [SEP] Cümle B [SEP]. Tek şart, birleştirilmiş cümlelerin toplam uzunluğunun 512 belirteçten az olmasıdır9. Önceden eğitilmiş spesifik model sonraki çıktıyı verir: elde edilen F1 puanı %93,15 iken kesin eşleşme puanı %86,91'dir9.
Distilbert/distilbert-base-cased-distilled-squad modeli: DistilBERT10 modeli, BERT9 modelinin daha kompakt, hızlı ve verimli bir çeşididir ve BERT'in anlamsal anlama yeteneğinin çoğunu korumak için geliştirilmiş, aynı zamanda daha az kaynak yoğun ve sınırlı hesaplama kapasitesine sahip pratik uygulamalar için daha uygundur. distilbert-base-cased-distilled-squad sürümü, QA görevleri için SQuAD14'te ince ayar yapılmıştır. Model, BERT'in 66 milyonuna karşılık 110 milyon parametrenin küçültülmüş boyutu da dahil olmak üzere transformatör mimarisini kullanırken, BERT'in dili anlamadaki etkinliğinin %97'sini koruyor. DistilBERT buna, bilgileri daha büyük BERT modelinden daha kompakt DistilBERT modeline aktaran Bilgi Damıtma olarak bilinen bir yöntem kullanarak ulaşır. Daha küçük boyutu nedeniyle, bilgileri daha hızlı çıkarabilir ve daha az bellek kullanabilir, bu da onu mobil veya uç cihazlar gibi kaynakları kısıtlı uygulamalar için mükemmel kılar. SQuAD 1.1 veri kümesi üzerinde dikkatli bir şekilde ince ayar yapılan model, amacın belirli bir bağlamdan bir soruyu yanıtlayan bir metin bölümünü bulmak olduğu, çıkarımsal QA görevlerinde olağanüstü bir yeterlilik sergiliyor. DistilBERT, SQuAD liderlik tablosunda BERT'in F1 puanının yaklaşık %85'ini elde eder ve küçültülmüş boyutuna rağmen BERT'in dil kapasitesinin önemli bir bölümünü korur. Bu model, üretim düzeyindeki QA işleri için hem performansı hem de hesaplama verimliliğini optimize eden son derece verimli bir çözümdür.
Deepset/roberta-base-squad2: Deepset/roberta-base-squad2 model12,13, RoBERTa mimarisinin ince ayarlı bir çeşididir. Hem cevaplanmış hem de cevaplanamayan soruları içeren SQuAD14 2.0 veri kümesi için özel olarak tasarlanmıştır. Bu geliştirilmiş RoBERTa çerçevesi, BERT'in9 NSP işini ortadan kaldırır. Ayrıca, NL anlama görevlerinde verimliliği ve performansı artırmak için eğitim sırasında dinamik maskeleme kullanır. Model 125 milyon parametreye sahiptir ve çift yönlü bir transformatör kullanır. Bu, her iki yönden de bağlamsal bilgi edinmesine ve çıkarıcı QA görevlerinde başarılı olmasına olanak tanır.
SQuAD 2.0'da ince ayar, modelin belirli bir bağlamda doğru yanıt aralığını belirlemesine ve yanıt olmadığında bunu fark etmesine olanak tanır. Alt kelime tokenizasyonunu işleyen ve büyük/küçük harf duyarlılığını koruyan bir Bayt Çifti Kodlama (BPE) tokenizeri kullanır. Bu, alışılmadık ve karmaşık kelimeleri işleme yeteneğini geliştirir. Model iyi bir performans sergiliyor ve kabaca %85-%90 F1 ve %80-%85 EM elde ediyor. Cevaplanamayan soruları tespit etme yeteneği ve etkili dağıtımı, onu müşteri hizmetleri, bilgi erişimi ve sanal asistanlar için değerli kılmaktadır.
QA için SQuAD ince ayarlı BERT modellerini dağıtmanın en etkili yolu, Hugging Face Transformers ardışık düzenini34 kullanmaktır. Bu çerçeve, tokenizasyonu, girdi biçimlendirmeyi, model yüklemeyi ve çıktı sonrası işlemeyi kolaylaştırır. Bu modeller, cevabın doğrudan verilen bağlamdan alınan bir metin aralığı olduğu, çıkarımsal QA'daki etkinlikleriyle geniş çapta tanınmaktadır. Uygulamaya yol göstermek için, aşağıdaki yordam BERT modellerini yürütme adımlarını özetlemektedir.
Giriş ve kurulum: Bu işlem dört ana giriş ve kurulum parametresi gerektirir: Hugging Face Hub'dan dize tanımlayıcısı olarak belirtilen model adı (örneğin, google-bert/bert-large-uncased-whole-word-masking-finetuned-squad, distilbert/distilbert-base-cased-distilled-squad veya deepset/roberta-base-squad2); sorguyu içeren bir dize olarak sağlanan soru (Q); ve ilgili metni veya pasajı temsil eden bir dize olan bağlam (C). Kullanılan birincil araç, Python'daki (sürüm 3.12.12) Hugging Face transformatörleri kitaplığındaki (sürüm 4.57.0) üst düzey işlem hattı işlevidir.
İşlem: Yürütme (Hugging Face Pipeline): Süreç altı temel adımdan oluşur ve QA görevinin karmaşıklığını ele almak için Hugging Face ardışık düzenini kullanır:
Kitaplığı Yükle: Gerekli kitaplığı pip install transformers komutuyla yükleyerek başlayın. Bu kurulum, modellere ve kolaylaştırılmış boru hattı işlevselliğine erişim sağlar.
İthalat İşlem Hattı: Boru hattı işlevini şunu kullanarak içe aktarın: transformatörlerden boru hattını içe aktarın.
QA İşlem Hattını Başlatın: qa_pipeline = pipeline("soru-cevaplama", model="") kullanarak QA işlem hattını başlatın. Bu komut, modeli ve belirteç oluşturucuyu indirerek çıkarım için hazır hale getirir.
Girişi Tanımla: Soru ayarla = ... ve bağlam = ... modelin verilerini hazırlamak için.
Çıkarımı Çalıştır: Soruyu ve bağlamı sonuç = qa_pipeline(soru=soru, bağlam=bağlam) ile işlem hattına geçirin. Model girdiyi işler ve bir yanıt sağlar.
Cevabı Çıkar: Şunu kullanarak çıktı sözlüğünden yanıt dizesini alın: answer = result['answer'].
Çıktı: İşlem, aşağıdaki sırayla birkaç çıkış parametresi üretir: Cevap (bağlamdan çıkarılan metin aralığı, dize olarak sunulur), Score (modelin tahminine olan güvenini ölçen kayan noktalı bir değer) ve Başlangıç ve Bitiş dizinleri (bağlam içindeki yanıt aralığının karakter konumlarını belirten tamsayılar).
Cümle dönüştürücüleri/tüm-MiniLM-L6-v2: All-MiniLM-L6-v235 , Sentence-Transformers kitaplığından (sürüm 5.1.1)36 önceden eğitilmiş bir cümle dönüştürücüsüdür. Verimli, hassas metin yerleştirme için optimize edilmiştir. Microsoft'un MiniLM çerçevesi üzerinde geliştirilen bu uygulama, altı transformatör katmanı ve 384 boyutlu yerleştirmeler içerir. Bu tasarım, performansı ve hesaplama yeterliliğini dengeleyerek onu gerçek zamanlı uygulamalar için uygun hale getirir. Model, SNLI, MultiNLI, STS kıyaslamaları ve web'de taranan veriler gibi veri kümelerinden bir milyardan fazla kelime öbeği çifti üzerinde eğitildi. Sonuç olarak, anlamsal benzerlik, gruplama ve aramayla ilgili görevlerde yeterlilik gösterir. Küçük boyutu (~22MB) ve gelişmiş çıkarım performansı nedeniyle all-MiniLM-L6-v2, anlamsal arama, çoğaltma algılama ve metin kategorizasyonu gibi uygulamaları basitleştirir. Hafif olmasına rağmen STS-B ve SICK-R gibi kıyaslamalarda güçlü doğruluk sağlar ve bu da onu hem ölçeklenebilir hem de sınırlı kaynak senaryoları için etkili bir seçim haline getirir. Cümle Dönüştürücüsü kullanarak gömme oluşturmaya yönelik iş akışı aşağıdaki Şekil 9'da gösterilmektedir.

Şekil 9: Cümle dönüştürücü modelini kullanarak gömme işleminin adımı. Şekil, cümle dönüştürücüleri çerçevesini kullanarak metin eklemeleri oluşturmaya yönelik iş akışını göstermektedir. Kütüphanelerin içe aktarılmasından ve önceden eğitilmiş bir modelin yüklenmesinden metin verilerinin hazırlanmasına, gömmelerin oluşturulmasına, bunların NumPy dizilerine dönüştürülmesine ve indeksleme veya benzerlik araması gibi aşağı akış görevleri için saklanmasına kadar olan süreci özetlemektedir. Bu rakamın daha büyük bir sürümünü görüntülemek için lütfen buraya tıklayın.
Önerilen algoritma: Bu çalışma, kullanıcılar tarafından sorulan hem olgusal hem de olgusal olmayan soruları ele alabilen SeCD tabanlı SCD-QA sisteminin geliştirilmesi için Algoritma 1'de önerilen bir metodolojiyi özetlemektedir.
ALGORİTMA 1: Önerilen SeCD tabanlı SCD-QA sisteminin algoritması
Giriş: Ham bağlam dosyası kümesi (C) ve Kullanıcının sorgusu (Q).
Çıktı: Seçilen optimal transformatör tabanlı LLM (M') ve M' tarafından oluşturulan yanıt.
Ön İşleme Bağlamları: DSQuAD formatında yapılandırılmış bir veri seti oluşturmak için ham bağlam seti C'ye not ekleyin.
DSQuAD = fannonat (C)
Bağlam Gömmeleri Oluşturun: Her bağlamı c
DSQuAD'yi bir gömme ec'ye dönüştürmek için bir Cümle Dönüştürücü fgömmesi kullanın.

Gömmeleri Saklayın: Verimli benzerlik araması için Ec'yi V vektör veritabanında saklayın.

Sorgu Gömme Oluşturun: Kullanıcının Q sorgusunu aynı Cümle Dönüştürücüsü kullanarak bir gömme eq'ya dönüştürün.

Bağlam Alma: eq'ya benzerliğe dayalı olarak V veritabanından en alakalı bağlam yerleştirmeyi
alın.

burada sim(eq,e c), benzerlik fonksiyonudur.
Bağlamı LLM'lere Aktarın: Alınan bağlamı
3 dönüştürücü tabanlı LLM'ye besleyin: Google-BERT (M1), DistilBERT (M2), RoBERTa (M3) ve geleneksel bir model: TF-IDF+Kosinüs Benzerliği (M4)

Model Değerlendirmesi: Her yanıtı puanlayan bir değerlendirme fonksiyonu kullanarak {R1,R 2,R 3,R 4} yanıtlarını karşılaştırın.

En İyi Modeli Seçin: En yüksek değerlendirme puanı S' olan M' modelini belirleyin

Son Çıktıyı Oluşturun: Son yanıtı R oluşturmak için M' kullanın.

Son
Önerilen algoritma süreci, kullanıcı sorularını yanıtlamak için ideal bir transformatör tabanlı LLM'nin seçilmesine yönelik sistematik bir yaklaşımın (Şekil 10) ana hatlarını çizmektedir. Yüksek kaliteli ve bağlamsal olarak alakalı yanıtları garanti etmek için ön işleme, yerleştirme tabanlı bağlam alımı ve çoklu model değerlendirmesini içerir. Aşağıda, netlik sağlamak için adım adım süreç açıklanmaktadır:
Veri Hazırlama ve Ön İşleme: İlk aşama, ham metinsel verilerin işlenmesini içerir.
Giriş: Ham metin dosyaları8 sisteme uyarlanır.
Ek Açıklama Aracı31: Girdi, SQuAD14 formatında yapılandırılmış bir veri kümesine dönüştürülür. Bu adım, QA çiftleri oluşturmayı içerir. Ayrıca ilgili metinsel verileri iyi tanımlanmış bağlam blokları halinde düzenler.
Çıkış: Veri kümesi artık ekleme oluşturmaya hazırdır.
Bağlam Yerleştirme Oluşturma: Verimli ve ölçeklenebilir bağlam alımını sağlamak için, açıklamalı veri kümesine eğitimli bir Sentence-Transformer35,36 modeli uygulanır. Bu dönüştürücü, metni anlamsal anlamı yakalayan yüksek boyutlu yerleştirmelere dönüştürür. Yerleştirmeler, hızlı benzerliğe dayalı aramalar sağlamak için VD, FAISS 29,32'de saklanır.
Kullanıcı Sorgu İşleme: Bir kullanıcı bir soru gönderdiğinde, soru aynı Cümle Dönüştürücü35,36 tarafından işlenir. Bu, bağlam gömmeleriyle aynı vektör uzayına29,32 karşılık gelen bir gömme oluşturur. Bu tasarım, sorgunun ilgili bağlam girdileriyle eşleştirilebilmesini sağlar.
Vektör Benzerliğini Kullanarak Bağlam Alma: Sistem, bir benzerlik metriği (örneğin, kosinüs benzerliği) kullanarak sorgu yerleştirmeyi depolanan bağlam yerleştirmeleriyle karşılaştırır. Sistem, en yüksek benzerlik puanına göre en alakalı bağlamı seçer. Bu, aşağı akış modellerine yalnızca ilgili bağlamın iletilmesini sağlar. Süreç, hesaplama yükünü azaltır ve alaka düzeyini artırır.
Birden Çok LLM'de Model Değerlendirmesi: Seçilen bağlam, transformatör tabanlı üç LLM tarafından değerlendirilir: Google-BERT28, DistilBERT10 ve RoBERTa12. Ayrıca, kosinüs benzerlik modeline sahip geleneksel bir anahtar kelime tabanlı TF-IDF37 ile değerlendirilir. Her model bağlamı işler ve kullanıcının sorusuna bir yanıt oluşturur.
Karşılaştırmalı Değerlendirme: Dört LLM modelinden alınan yanıtlar iki temel ölçüm kullanılarak değerlendirilir. İlk olarak, anlamsal eşleştirme EM14 tarafından değerlendirilir. İkinci olarak, model Gecikmesi, ortalama reaksiyon süreleri15 ile analiz edilir.
Model Seçimi ve Nihai Çıktı: En iyi performans gösteren model, kullanıcının sorusuna uygun LLM olarak seçilir. Seçilen modelden gelen nihai yanıt dikkate alınır. Bu, hesaplama verimliliği ile yanıt kalitesi arasında bir denge sağlar.

Şekil 10: Transformatör tabanlı modeller kullanan SCD-QA sisteminin iş akışı. Şekil, SCD-QA sisteminin nasıl çalıştığını göstermektedir. İlk olarak, ham bağlam dosyası, SQuAD formatında bir veri kümesi oluşturmak için bir açıklama aracı tarafından işlenir. Daha sonra bir cümle dönüştürücüsü, bir FAISS vektör veritabanında saklanan yerleştirmeler oluşturur. Bir kullanıcı bir soru sorduğunda, sistem bunun için bir yerleştirme oluşturur ve en alakalı bağlamı seçer. Üç transformatör tabanlı modeli (Google-BERT, DistilBERT ve RoBERTa) ve bir geleneksel TFIDF + kosinüs benzerlik puanını karşılaştırır ve yanıtı sağlamak için en iyi performans göstereni kullanır. Bu rakamın daha büyük bir sürümünü görüntülemek için lütfen buraya tıklayın.