$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Uitgebreide theoretische basis
QAS-component: Het QAS-framework bestaat uit drie segmenten, zoals weergegeven in afbeelding 3: i) Vraagverwerkingsmodule (QPM), ii) Documentverwerkingsmodule (DPM) en iii) Antwoordextractie- en formuleringsmodule (AEFM). Het systeem ontvangt vragen die in twee hoofdcategorieën vallen: Factoid en Non-Factoid. Factoid-vragen gebruiken meestal vragende woorden zoals wat, waar, wanneer of wie, terwijl niet-factoid-vragen woorden gebruiken zoals hoe en waarom.
DPM: Uit de verstrekte lijst kan de gebruiker een specifieke passage selecteren. Vervolgens wordt elk token in de passage getagd met behulp van een Part-of-Speech (POS) Tagger. Als u werkwoorden wilt extraheren, identificeert u alle tokens die als werkwoorden zijn getagd. Combineer deze werkwoorden met een lijst van onconventionele werkwoorden en pas logica toe voor reguliere werkwoorden. Maak een gegevensstructuur (array) met de geëxtraheerde werkwoorden, hun tijden en hun -ing-vormen.
QPM: Het systeem ontvangt input in de vorm van een vraag van de gebruiker. De tekst wordt getokeniseerd met behulp van de StringTokenizer-klasse en de resulterende tokens worden opgeslagen in een afzonderlijke gegevensstructuur. Deze datastructuur wordt vervolgens teruggegeven voor verder gebruik binnen het programma.
AEFM: De eerste stap is het identificeren van het werkwoord in de gegeven vraag. Het werkwoord dat onlangs is geïdentificeerd, wordt nu gekoppeld aan de tokens die zijn gegenereerd tijdens de documentverwerkingsfase. De gekozen casus voor een specifiek type feitelijke vraag (zoals wat of wanneer) wordt gebruikt om het antwoord op een preciezere manier te extraheren en te construeren.
Voordat de gebruiker het soort vraag kiest, wordt de gebruiker eerst gevraagd om de passage van zijn keuze te selecteren. De QPM is verantwoordelijk voor het verwerken van de vraag van de gebruiker en het doorsturen ervan naar de AEFM. De AEFM maakt gebruik van de extracties die zijn verkregen uit de DPM en de verwerkte documenten die het getagde formaat van het originele invoerdocument bevatten. De module geeft de vereiste algoritmen door aan de formuleringsmodule om het gewenste antwoord te verkrijgen.

Figuur 3: Componenten van QAS. De afbeelding illustreert het vierstappenproces van een QA-systeem: Vraag, Vraagverwerking, Antwoordverwerking en Antwoord. Bij vraagverwerking classificeert het systeem de vraag. Bij antwoordverwerking worden documenten en passages gevonden en beoordeeld om het antwoord te produceren. Klik hier om een grotere versie van deze figuur te bekijken.
BERT-model: Om de associaties tussen woorden in een tekst te ontdekken, maakt de BERT-methode gebruik van een transformator. Er zijn twee mechanismen in een transformator - een encoder en een decoder28, maar alleen de encoder is nodig voor BERT. BERT hanteert een tweerichtingsbenadering en scant systematisch de invoertekst om zichzelf de betekenis van woorden in hun context te leren. De encoder neemt als invoer een reeks tokens die zijn gevectoriseerd. De vectoren worden vervolgens ingevoerd in het neurale netwerk, dat een reeks vectoren produceert die de invoer weerspiegelen. De uitvoervector van een woord verandert afhankelijk van de zin waarin het voorkomt. De vector van een woord kan variëren, afhankelijk van de context waarin het wordt weergegeven; bijvoorbeeld, "like" in "Hij speelt graag cricket" heeft een andere vector dan "like" in "Zijn gezicht werd rood als een tomaat." De aanpak begint met een fase van tekstverwerking voordat wordt overgegaan naar de modelbouwfase. De stappen die het ETO neemt om de tekst te verwerken, worden besproken in de volgende paragraaf28.
Tekstverwerking: Het BERT-model geeft invoertekst weer in overeenstemming met een voorgeschreven reeks principes. Bovendien draagt deze factor bij aan de verbeterde prestaties van het model. De input-inbedding in BERT bestaat uit een amalgaam van drie verschillende soorten inbeddingen28.
Positie-inbeddingen (PE's): Om de ordergerelateerde informatie in de inbeddingen te leren, worden PE's gebruikt. PE's worden gebruikt om informatie over de orde te herstellen die verloren is gegaan in transformatoren. BERT ontwikkelt specifieke PE's voor elk punt in de invoersequentie. BERT beschikt over het vermogen om de positionele informatie van woorden in een zin over te brengen door gebruik te maken van PE's. Dit stelt BERT in staat om de volgorde of volgorde van woorden effectief vast te leggen en weer te geven.
Zinsinbeddingen (SE's): Om het model te helpen onderscheid te maken tussen de eerste en tweede zinnen, leert BERT bovendien een inbedding die uniek is voor elk van hen. Het is ook in staat om gepaarde zinnen te accepteren als invoer voor activiteiten zoals QA.
Token embeddings (TE's): TE's worden onderwezen voor elk token in de WordPiece-tokenwoordenschat. De woordenschat van WordPiece bestaat uit subwoordeenheden die zijn afgeleid van woorden die in het corpus worden gevonden. Ter illustratie zal deze woordenschatverzameling alle denkbare subwoorden van de term Vraag omvatten, inclusief Questio, Questi, enzovoort.
De invoerrepresentatie van een token wordt opgebouwd door de inbeddingen op segment- en positieniveau bij elkaar op te tellen. Hierdoor is het een uitgebreide inbeddingsbenadering die een schat aan informatie aan het model biedt. Figuur 49 toont de inbeddingen van het BERT-model.

Figuur 4: INBEDDINGEN van het BERT. De afbeelding laat zien hoe invoerinbeddingen worden gemaakt voor een transformatormodel. Het begint met een invoervolgorde: [CLS] de [MASK] lucht is bewolkt [SEP] het zal regenen [SEP]. Elk token in de reeks krijgt zijn eigen inbedding, zoals Ethe of E [MASK]. Vervolgens worden voor elke zin zinsinbeddingen toegevoegd, zoals EA voor de eerste en EB voor de tweede. Positionele inbeddingen, gelabeld E0 tot E9, zijn ook opgenomen om de positie van elk token aan te geven. Deze worden allemaal gecombineerd om de uiteindelijke invoerinbeddingen te vormen. Dit cijfer is gewijzigd van9. Klik hier om een grotere versie van deze figuur te bekijken.
QAS-ontwerp met behulp van BERT: Onderzoek ter illustratie deze vraag in combinatie met een alinea uit een Wikipedia-artikel over Football League28.
Vraag: Waar is de Football League opgericht?
Passage: In 1888 werd de Football League opgericht in Engeland en werd het de eerste van vele professionele voetbalcompetities. In de 20e eeuw groeiden verschillende soorten voetbal uit tot enkele van de meest populaire teamsporten ter wereld.
Antwoord: Engeland
Het BERT-model maakt gebruik van token-extractie uit zowel de vraag als de context en combineert deze vervolgens tot een uniforme invoer. Zoals eerder vermeld, begint het proces met het gebruik van een [CLS]-token, dat dient als indicator voor het begin van een zin. Bovendien wordt een [SEP]-scheidingsteken gebruikt om de vraag en de passage duidelijk te scheiden. Naast het [SEP]-token bevat BERT SE's om onderscheid te maken tussen de vraag en de passage28 met het antwoord. Het ETO gebruikt twee SE's, een gewijd aan de vraag en een andere aan de passage, om een duidelijk onderscheid tussen beide te maken. De inbeddingen worden vervolgens gecombineerd met een one-hot representatie28 van tokens om onderscheid te maken tussen de vraag en de passage. Dit proces wordt geïllustreerd in figuur 5.

Figuur 5: Weergave van de BERT-invoer. De afbeelding illustreert hoe invoerinbeddingen worden gegenereerd voor een op BERT gebaseerde QAS. Het begint met het token [CLS], dan de vraag Hoeveel? [SEP], en de passage BERT large is, elk met zijn zinsinbeddingen (A voor de vraag, B voor de passage). Token-, zins- en positionele inbeddingen worden gecombineerd om de uiteindelijke invoer te maken. Klik hier om een grotere versie van deze figuur te bekijken.
Vervolgens wordt de gecombineerde ingebedde representatie28 van de vraag en context gebruikt als input in het BERT-model. De laatste verborgen laag van BERT is aangepast om SoftMax te gebruiken om kansverdelingen te genereren. Deze verdelingen bepalen de begin- en eindindices van een subtekenreeks binnen de invoertekstzin, die een antwoord vertegenwoordigt, zoals weergegeven in figuur 6, voor een visuele weergave.

Figuur 6: BERT-verwerkingsworkflow voor QA. De figuur laat zien hoe het BERT-model werkt voor QA. Het presenteert een invoersequentie die een vraag bevat, gemarkeerd door een classificatietoken [CLS] aan het begin en een [SEP] scheidingstoken aan het einde, gevolgd door een context, gescheiden door een andere [SEP]. De tokens in deze reeks worden omgezet in inbeddingen. Het model voorspelt vervolgens de begin- en eindpositie van het antwoord binnen de passage. Klik hier om een grotere versie van deze figuur te bekijken.
Vector database (VD): Een VD17,18 is een gespecialiseerd systeem voor het efficiënt opslaan, beheren, indexeren en opvragen van hoogdimensionale vectorrepresentaties van gegevens. Vectoren worden vaak gegenereerd op basis van deep learning-modellen en bevatten semantische of contextuele informatie over de gegevens. Elke dimensie van een vector vertegenwoordigt een specifiek kenmerk. Inbeddingen zijn numerieke weergaven van objecten zoals tekst, afbeeldingen, video's en audio. Deze inbeddingen worden gebruikt in verschillende toepassingen, waaronder Machine Learning (ML), NLP, aanbevelingssystemen, computervisie en IR. VD's vergemakkelijken effectief zoeken naar overeenkomsten en semantische query's door vergelijkbare objecten dicht bij elkaar in de vectorruimte te groeperen. Facebook AI Similarity Search (FAISS)29 is een prominente VD die in dit onderzoek wordt gebruikt om de meest relevante context voor zoekopdrachten van gebruikers te identificeren. Tabel 2 geeft een overzicht van de belangrijkste kenmerken van VD's en hun gebruiksscenario's.
| Gelaatstrek | Beschrijving |
| Hoogdimensionale gegevens | Verwerkt gegevens met honderden of duizenden dimensies. |
| Geschatte dichtstbijzijnde buur (ANN) | Maakt snel zoeken naar overeenkomsten mogelijk door afstanden te benaderen. |
| Schaalbaarheid | Ondersteunt grootschalige datasets met miljarden vectoren. |
| Integratie | Integreert vaak met AI/ML-frameworks en -tools voor naadloze workflows. |
| Realtime query's | Biedt vectorzoekopdrachten met lage latentie voor interactieve toepassingen. |
Tabel 2: Belangrijkste kenmerken van VD. De tabel belicht belangrijke kenmerken van VD. Deze omvatten het verwerken van hoogdimensionale gegevens, het uitvoeren van snelle zoekopdrachten naar overeenkomsten met behulp van ANN-algoritmen, schalen naar grote datasets, werken met AI- en ML-tools en het ondersteunen van snelle, realtime query's voor interactief gebruik.
Statistieken voor prestatie-evaluatie: Het SCD-QA-systeem werd geëvalueerd aan de hand van twee primaire statistieken: EM-score14 en modellatentie15. De EM-score, een standaardmaatstaf in QA-onderzoeken, beoordeelt de nauwkeurigheid van de voorspelling door het aandeel voorspelde antwoorden te meten dat precies overeenkomt met de grondwaarheid. Voor een set N vragen wordt de EM-score formeel als volgt gedefinieerd in vergelijking 1:
waarbij
(1)
Deze statistiek kent een score van 1 toe voor een exacte overeenkomst met het referentieantwoord en 0 voor elk verschil.
De latentiemetriek kwantificeert de totale verwerkingstijd die het systeem nodig heeft om een antwoord op een afzonderlijke query te genereren. Deze metrische waarde wordt berekend als de gemiddelde verstreken tijd voor alle query's, zoals weergegeven in vergelijking 2:
(2)
waarbij Tstarti en Tendi de tijdstempels zijn die respectievelijk het begin en het einde van de verwerking van de i-de query markeren. Latentie wordt gerapporteerd in s en legt het reactievermogen van het systeem vast, dat alle fasen omvat, van invoerverwerking tot het genereren van antwoorden.
Methode
Om de SCD-QA te implementeren, zijn de volgende teststudies in dit document opgenomen.
SCD-QA-gegevensset: Een voorgestelde dataset30 wordt geïntroduceerd voor de implementatie van het SCD-QA-systeem. Deze dataset is afgeleid van een tekstcorpus met Ph.D. regels voor 20228, voor studentenrichtlijnen van NIT Arunachal Pradesh, India. Om het SCD-QA-systeem op te zetten, is het noodzakelijk om een JSON-bestand te genereren dat alle relevante informatie in een nauwkeurig formaat bevat. De dataset wordt gegenereerd op basis van het tekstcorpus met behulp van de Haystack-annotatietool (versie 2.18.1)31, een open-source framework. Deze tool faciliteert het maken van de SCD-QA-dataset in de stijl van de SQuAD14. De stappen om een geannoteerde dataset van het SQuAD-type te maken op basis van het PDF-bestand worden weergegeven in Figuur 7 en de structuur van onze dataset in SQuAD-stijl wordt geïllustreerd in Figuur 8.

Afbeelding 7: Stappen om een geannoteerde dataset te maken op basis van een PDF-bestand. De afbeelding illustreert een stapsgewijze workflow voor het maken van een geannoteerde dataset in SQuAD-stijl met behulp van Haystack-tools. Het schetst het proces van het extraheren van tekst uit PDF's, het opschonen en splitsen ervan in passages, het handmatig annoteren van vraag-antwoordparen, het opslaan van de annotaties in SQuAD JSON-indeling en ten slotte het exporteren van de dataset voor modeltraining. Klik hier om een grotere versie van deze figuur te bekijken.

Figuur 8: Structuur van factoid QA-dataset. De afbeelding geeft een JSON-gegevensstructuur weer die een alinea en een QA-paar uit een gegevensset vertegenwoordigt. Het heeft een sectie met paragrafen, die een reeks vragen en antwoorden bevat. Een vraag luidt: wat is het minimumcijfer dat vereist is om toegelaten te worden tot Ph.D. Wetenschap? Elke vraag heeft een ID en een reeks antwoorden. Het antwoord bevat een document-ID, vraag-ID, de tekst 60%-tekens, de startpositie van het antwoord en een niet-gespecificeerde antwoordcategorie. De vlag is_impossible is ingesteld op false. Klik hier om een grotere versie van deze figuur te bekijken.
De dataset is gestructureerd als een lijst met woordenboeken, waarbij elk woordenboek belangrijke velden bevat, zoals gegevens, alinea's, vraag, answer_id, document_id, question_id, tekst, answer_start, answer_end, is_impossible en context.
gegevens: Het bevat de algemene informatie voor het beantwoorden van vragen.
alinea's: een bepaalde context, samen met de vragen en antwoorden.
vraag: Een bepaalde vraag.
answer_id: Een uniek identificatienummer voor elke antwoordtekst.
document_id: Een uniek identificatienummer voor elke context.
question_id: Een uniek identificatienummer voor elke vraag.
tekst: De antwoordtekst.
answer_start: De startlocatie van het antwoord van het juiste antwoord in de context.
answer_end: De locatie waar het antwoord eindigt van het juiste antwoord in de context.
is_impossible: Het geeft aan of het antwoord op de gestelde vraag beschikbaar is in de context of niet.
context: Het tekstcorpus waaruit een antwoord kan worden gevonden.
Alle 80 vragen in de voorgestelde dataset volgen het factoid en non-factoid vraagformaat. Voorbeelden van sommige soorten geformuleerde vragen worden weergegeven in tabel 3.
| Vragen |
| Wie is PS? |
| Wat is de lettergrootte van het state-of-the-art document? |
| Hoeveel dagen zijn er met zwangerschapsverlof? |
Tabel 3: Voorbeeldvraag uit de dataset. De tabel toont voorbeelden van twee soorten vragen: de eerste en tweede zijn factoid vragen, terwijl de derde een non-factoid vraag is.
FAISS: FAISS (versie faiss_cpu-1.9.0)29,32, ontwikkeld door Facebook AI Research (FAIR), is een open-source bibliotheek die het efficiënt zoeken naar overeenkomsten en het clusteren van dichte vectoren mogelijk maakt. Het is speciaal ontworpen om grootschalige, hoogdimensionale gegevens effectief te beheren. Dit systeem maakt snelle en schaalbare ANN-zoekopdrachten mogelijk binnen datasets die bestaan uit miljoenen of miljarden vectoren. Het wordt veel gebruikt in toepassingen die verband houden met inbeddingen, waaronder NLP, aanbevelingssystemen en het ophalen van afbeeldingen of video's. FAISS biedt meerdere indexeringsmethoden, waaronder Flat (brute force), Inverted File (IVF), Hierarchical Navigable Small World-grafieken (HNSW) en productkwantisatie (PQ). Met deze methoden kunnen gebruikers de zoekprestaties optimaliseren op basis van gegevensgrootte, dimensionaliteit en hardwarespecificaties. In deze studie wordt platte indexering gebruikt, die een brute-force zoekopdracht uitvoert met behulp van de L2 (Euclidische) afstand om de dichtstbijzijnde buren te identificeren. De schaalbaarheid van het systeem ondersteunt zowel CPU- als GPU-implementaties, waardoor krachtige berekeningen in uitgebreide datasets mogelijk zijn. Bovendien biedt het flexibiliteit om de balans tussen snelheid en nauwkeurigheid te optimaliseren op basis van specifieke toepassingsvereisten. FAISS wordt vaak gebruikt in NLP om semantische gelijkenis in inbeddingen te beoordelen, zoals BERT of Word2Vec. FAISS wordt gebruikt in QAS om vectorrepresentaties van documenten of zinnen op te slaan en te beheren. Het voert bij benadering ANN-zoekopdrachten33 uit om de meest relevante context voor gebruikersvragen op te halen, waarbij semantisch zoeken wordt verbeterd met inbeddingen van transformatormodellen zoals BERT. FAISS is vanwege zijn veelzijdigheid een fundamenteel hulpmiddel in AI- en ML-workflows.
BERT-large-uncased-whole-word-masking-finetuned-SQuAD-model: Het huidige werk maakt gebruik van een vooraf getraind taalmodel dat bekend staat als BERT-large-uncased-whole-word-masking finetuned-squad9 om een factoid QAS te ontwikkelen met behulp van de dataset die in de studie wordt voorgesteld. Het BERT-model onderging een pre-training op BookCorpus, een dataset van 11.038 ongepubliceerde boeken9, evenals de Engelse Wikipedia, met uitzondering van lijsten, tabellen en koppen. Het model in kwestie is niet hoofdlettergebruik, wat betekent dat het geen onderscheid maakt tussen de woorden Engels en Engels. Het model is een vooraf getraind transformatormodel dat is getraind op een aanzienlijke hoeveelheid Engelse gegevens met behulp van een zelfgesuperviseerde aanpak. Het model werd uitsluitend getraind op onbewerkte teksten, zonder menselijke annotaties. Hierdoor kan het gebruik maken van een grote hoeveelheid openbaar toegankelijke gegevens. Het pre-trainingsproces omvat het automatisch genereren van invoer en labels uit de verstrekte teksten. Het model werd getraind met twee specifieke doelstellingen9:
MLM: Het proces omvat het willekeurig maskeren van 15%9 van de woorden in de invoerzin. Het model verwerkt vervolgens de hele gemaskeerde zin en voorspelt de gemaskeerde woorden. Deze benadering wijkt af van conventionele terugkerende neurale netwerken (RNN's), die woorden doorgaans opeenvolgend verwerken, en van autoregressieve modellen zoals GPT, die interne maskering van toekomstige tokens gebruiken. De functionaliteit stelt het model in staat om een bidirectionele weergave van de zin te verkrijgen.
NSP: Tijdens de pretrainingsfase combineert het model twee vermomde zinnen als invoer. In sommige gevallen staan deze zinnen in de oorspronkelijke tekst naast elkaar, wat wijst op een directe relatie. In andere gevallen zijn ze dat niet, wat betekent dat er geen oorspronkelijke nabijheid of context is die ze met elkaar verbindt. De volgende stap is dat het model voorspelt of de twee zinnen logisch coherent zijn.
Het huidige model wordt gekenmerkt door de daaropvolgende configuratie: de modelarchitectuur bestaat uit 24 lagen, met een verborgen dimensie van 1024. Het maakt gebruik van 16 aandachtskoppen en heeft in totaal 336 miljoen parameters9.
WordPiece wordt gebruikt om de teksten te tokeniseren met een woordenschat van 30.000 woorden in de voorverwerkingsstappen. De invoer van het model ziet er dan als volgt uit: [CLS] Zin A [SEP] Zin B [SEP]. De enige vereiste is dat de totale lengte van de gecombineerde zinnen minder is dan 512 tokens9. Het specifieke vooraf getrainde model levert de daaropvolgende output op: de behaalde F1-score is 93,15%, terwijl de precieze wedstrijdscore 86,91%9 is.
Distilbert/distilbert-base-cased-distilled-squad model: Het DistilBERT10-model is een compactere, snellere en efficiëntere variant van het BERT9-model , ontwikkeld om het grootste deel van het semantische begripsvermogen van BERT te behouden, terwijl het minder arbeidsintensief is en meer geschikt voor praktische toepassingen met beperkte rekencapaciteit. De versie distilbert-base-cased-distilled-squad is op de SQuAD14 verfijnd voor QA-taken. Het model maakt gebruik van de transformatorarchitectuur, inclusief een kleinere grootte van 66 miljoen parameters in tegenstelling tot de 110 miljoen van BERT, met behoud van 97% van de doeltreffendheid van BERT op het gebied van taalbegrip. DistilBERT bereikt dit met behulp van een methode die bekend staat als Knowledge Distillation, die informatie overbrengt van het grotere BERT-model naar het compactere DistilBERT-model. Vanwege het kleinere formaat kan het informatie sneller afleiden en minder geheugen gebruiken, waardoor het perfect is voor toepassingen met beperkte middelen, zoals mobiele of edge-apparaten. Het model, zorgvuldig afgesteld op de SQuAD 1.1-dataset, getuigt van uitzonderlijke vaardigheid in extractieve QA-taken, waarbij het doel is om een tekstsegment uit een gespecificeerde context te lokaliseren dat een vraag beantwoordt. DistilBERT behaalt ongeveer 85% van de F1-score van BERT op het SQuAD-klassement en behoudt een aanzienlijk deel van de taalcapaciteit van BERT, ondanks zijn kleinere omvang. Dit model is een uitzonderlijk efficiënte oplossing voor QA-taken op productieniveau, waarbij zowel de prestaties als de rekenefficiëntie worden geoptimaliseerd.
Deepset/roberta-base-squad2: Het deepset/roberta-base-squad2 model12,13 is een verfijnde variant van de RoBERTa-architectuur. Het is speciaal ontworpen voor de SQuAD14 2.0-dataset, die zowel beantwoorde als onbeantwoordbare vragen bevat. Dit verbeterde RoBERTa-framework elimineert de9 NSP-taken van BERT. Het maakt ook gebruik van dynamische maskering tijdens de training om de efficiëntie en prestaties bij NL-begripstaken te verbeteren. Het model heeft 125 miljoen parameters en maakt gebruik van een bidirectionele transformator. Dit stelt het in staat om contextuele informatie uit beide richtingen te verkrijgen en uit te blinken in extractieve QA-taken.
Door af te stemmen op SQuAD 2.0 kan het model de juiste responsspanne binnen een bepaalde context identificeren en herkennen wanneer er geen antwoord is. Het maakt gebruik van een Byte Pair Encoding (BPE) tokenizer die tokenisatie van subwoorden afhandelt en de gevoeligheid van hoofdletters behoudt. Dit verbetert het vermogen om ongebruikelijke en complexe woorden te verwerken. Het model presteert goed en behaalt ongeveer 85%-90% F1 en 80%-85% EM. Het vermogen om onbeantwoordbare vragen op te sporen en de effectieve inzet ervan maken het waardevol voor klantenservice, het ophalen van kennis en virtuele assistenten.
De meest effectieve manier om SQuAD-nauwkeurig afgestemde BERT-modellen voor QA te implementeren, is door de Hugging Face Transformers-pijplijn34 te gebruiken. Dit framework stroomlijnt tokenisatie, invoeropmaak, modelladen en nabewerking van uitvoer. Deze modellen worden algemeen erkend vanwege hun effectiviteit in extractieve QA, waarbij het antwoord een tekstreeks is die rechtstreeks uit de gegeven context wordt gehaald. Om de implementatie te begeleiden, worden in de volgende procedure de stappen voor het uitvoeren van BERT-modellen beschreven.
Invoer en instelling: Dit proces vereist vier hoofdinvoer en instellingsparameters: de modelnaam, gespecificeerd als een tekenreeks-ID van de Hugging Face Hub (bijvoorbeeld google-bert/bert-large-uncased-whole-word-masking-finetuned-squad, distilbert/distilbert-base-cased-distilled-squad, of deepset/roberta-base-squad2); de vraag (Q), verstrekt als een tekenreeks die de zoekopdracht bevat; en de context (C), een tekenreeks die de relevante tekst of passage vertegenwoordigt. De primaire tool die wordt gebruikt, is de pijplijnfunctie op hoog niveau uit de Hugging Face-transformatorbibliotheek (versie 4.57.0) in Python (versie 3.12.12).
Proces: Uitvoering (Hugging Face Pipeline): Het proces bestaat uit zes primaire stappen en maakt gebruik van de Hugging Face-pijplijn om de complexiteit van de QA-taak aan te pakken:
Bibliotheek installeren: Begin met het installeren van de vereiste bibliotheek met de opdracht pip install transformers. Deze installatie biedt toegang tot de modellen en de gestroomlijnde pijplijnfunctionaliteit.
Pijplijn importeren: Importeer de pijplijnfunctie met: van transformatoren importeer pijplijn.
QA-pijplijn initialiseren: Initialiseer de QA-pijplijn met behulp van qa_pipeline = pipeline("question-answering", model=""). Met deze opdracht worden het model en de tokenizer gedownload, waardoor ze klaar zijn voor deductie.
Invoer definiëren: Stel vraag in = ... en context = ... om de gegevens van het model voor te bereiden.
Afleiding uitvoeren: Geef de vraag en context door aan de pijplijn met resultaat = qa_pipeline(question=question, context=context). Het model verwerkt de input en geeft een antwoord.
Antwoord uitpakken: Haal de antwoordreeks uit de uitvoerwoordenlijst met behulp van: answer = result['answer'].
Uitvoer: Het proces produceert verschillende uitvoerparameters in de volgende volgorde: Antwoord (de geëxtraheerde tekst uit de context, gepresenteerd als een tekenreeks), Score (een drijvende-kommawaarde die het vertrouwen van het model in zijn voorspelling kwantificeert) en Start- en eindindices (gehele getallen die de tekenposities van de antwoordreeks binnen de context specificeren).
Zin-transformatoren/all-MiniLM-L6-v2: De all-MiniLM-L6-v235 is een voorgetrainde zinstransformator uit de Sentence-Transformers-bibliotheek (versie 5.1.1)36. Het is geoptimaliseerd voor efficiënte, nauwkeurige tekstinbedding. Het is ontwikkeld op het MiniLM-framework van Microsoft en bevat zes transformatorlagen en 384-dimensionale inbeddingen. Dit ontwerp combineert prestaties en rekenvaardigheid, waardoor het geschikt is voor real-time toepassingen. Het model is getraind op meer dan een miljard woordgroepenparen uit datasets zoals SNLI, MultiNLI, STS-benchmarks en webcrawlgegevens. Als gevolg hiervan toont het vaardigheid aan in semantische gelijkenis, groepering en zoekgerelateerde taken. Vanwege het kleine formaat (~22 MB) en de verbeterde deductieprestaties vereenvoudigt de all-MiniLM-L6-v2 toepassingen zoals semantisch zoeken, duplicatiedetectie en tekstcategorisatie. Hoewel het licht van gewicht is, levert het een sterke nauwkeurigheid op benchmarks zoals STS-B en SICK-R, waardoor het een effectieve keuze is voor zowel schaalbare scenario's als scenario's met beperkte middelen. De workflow voor het genereren van de inbedding met behulp van Sentence-Transformer wordt weergegeven in Figuur 9 hieronder.

Figuur 9: Stap van het inbeddingsproces met behulp van het zinstransformatormodel. De afbeelding illustreert de workflow voor het genereren van tekstinsluitingen met behulp van het frame voor zinstransformatoren. Het schetst het proces van het importeren van bibliotheken en het laden van een vooraf getraind model tot het voorbereiden van tekstgegevens, het genereren van insluitingen, het converteren ervan naar NumPy-arrays en het opslaan ervan voor downstream-taken zoals indexeren of zoeken naar overeenkomsten. Klik hier om een grotere versie van deze figuur te bekijken.
Voorgesteld algoritme: Deze studie schetst een voorgestelde methodologie in algoritme 1 voor de ontwikkeling van het op SeCD gebaseerde SCD-QA-systeem, dat in staat is om zowel factoïde als niet-factoïde vragen van gebruikers te beantwoorden.
ALGORITME 1: Algoritme van het voorgestelde op SeCD gebaseerde SCD-QA-systeem
Invoer: Set van onbewerkt contextbestand (C) en de query van de gebruiker (Q).
Output: De geselecteerde optimale LLM op basis van transformatoren (M') en de respons die wordt gegenereerd door M'.
Voorbewerkingscontexten: Annoteer de onbewerkte contextset C om een gestructureerde gegevensset in DSQuAD-indeling te maken.
DSQuAD = fannonaat (C)
Genereer contextinbeddingen: Gebruik een Sentence-Transformerf-embed om elke context c
DSQuAD om te zetten in een inbedding ec.

Winkelinbeddingen: Sla Ec op in een vectordatabase V voor efficiënt zoeken naar overeenkomsten.

Query-inbedding genereren: Transformeer de query q van de gebruiker in een inbedding eq met behulp van dezelfde zinstransformator.

Context ophalen: Haal de meest relevante contextinbedding
op uit de database V op basis van gelijkenis met eq.

waarbij sim(eq,e c), de similariteitsfunctie is.
Geef context door aan LLM's: Voer de opgehaalde context
in 3 op transformatoren gebaseerde LLM's: Google-BERT (M1), DistilBERT (M2), RoBERTa (M3) en een traditioneel model: TF-IDF+Cosinusgelijkenis (M4)

Modelevaluatie: Vergelijk de antwoorden {R1,R 2,R 3,R 4} met behulp van een evaluatiefunctie feval, die elke reactie scoort.

Selecteer het beste model: Identificeer het model M' met de hoogste evaluatiescore S'

Genereer uiteindelijke uitvoer: Gebruik M' om de uiteindelijke respons R te genereren op basis van

Einde
Het voorgestelde algoritmeproces schetst een systematische aanpak (Figuur 10) voor het kiezen van een ideale op transformatoren gebaseerde LLM om vragen van gebruikers te beantwoorden. Het omvat voorverwerking, het ophalen van context op basis van inbedding en beoordeling van meerdere modellen om contextueel relevante antwoorden van hoge kwaliteit te garanderen. Hieronder wordt het stapsgewijze proces voor de duidelijkheid uitgelegd:
Voorbereiding en voorverwerking van gegevens: De eerste fase omvat de verwerking van onbewerkte tekstuele gegevens.
Invoer: De onbewerkte tekstbestanden8 worden in het systeem aangepast.
Annotatietool31: De invoer wordt omgezet in een gestructureerde dataset in SQuAD14-indeling . Deze stap omvat het maken van QA-paren. Het organiseert ook relevante tekstuele gegevens in goed gedefinieerde contextblokken.
Uitvoer: de gegevensset is nu klaar om inbeddingen te maken.
Genereren van contextinbedding: Om efficiënt en schaalbaar contextherstel mogelijk te maken, wordt een getraind Sentence-Transformer 35,36-model toegepast op de geannoteerde dataset. Deze transformator zet tekst om in hoogdimensionale inbeddingen die de semantische betekenis vastleggen. De inbeddingen worden opgeslagen in VD, FAISS 29,32 om snelle zoekopdrachten op basis van overeenkomsten mogelijk te maken.
Verwerking van gebruikersquery's: Wanneer een gebruiker een vraag indient, wordt de vraag verwerkt door dezelfde zinstransformator35,36. Dit genereert een overeenkomstige inbedding in dezelfde vectorruimte29,32 als de contextinbeddingen. Dit ontwerp zorgt ervoor dat de query kan worden gekoppeld aan relevante contextvermeldingen.
Context ophalen met behulp van vectorgelijkenis: met behulp van een gelijkenismetriek (bijv. cosinusgelijkenis) vergelijkt het systeem de inbedding van de query met opgeslagen contextinbeddingen. Het systeem selecteert de meest relevante context op basis van de hoogste gelijkenisscore. Dit zorgt ervoor dat alleen relevante context wordt doorgegeven aan downstream-modellen. Het proces vermindert de computationele overhead en verbetert de relevantie.
Modelevaluatie over meerdere LLM's: De geselecteerde context wordt geëvalueerd door drie op transformatoren gebaseerde LLM's: Google-BERT28, DistilBERT10 en RoBERTa12. Het wordt ook geëvalueerd door een traditionele, op trefwoorden gebaseerde TF-IDF37 met een cosinusgelijkenismodel. Elk model verwerkt de context en genereert een antwoord op de vraag van de gebruiker.
Vergelijkende evaluatie: De antwoorden van de vier LLM-modellen worden geëvalueerd aan de hand van twee belangrijke statistieken. Eerst wordt semantische matching beoordeeld door EM14. Ten tweede wordt de modellatentie geanalyseerd aan de hand van de gemiddelde reactietijden15.
Modelselectie en uiteindelijke uitvoer: Het best presterende model wordt geselecteerd als de juiste LLM voor de vraag van de gebruiker. Er wordt rekening gehouden met de uiteindelijke reactie van het geselecteerde model. Dit zorgt voor een evenwicht tussen rekenefficiëntie en responskwaliteit.

Figuur 10: Workflow van het SCD-QA-systeem met behulp van modellen op basis van transformatoren. De figuur laat zien hoe het SCD-QA-systeem werkt. Eerst wordt een onbewerkt contextbestand verwerkt door een annotatietool om een dataset in SQuAD-indeling te maken. Een zinstransformator genereert vervolgens inbeddingen, die worden opgeslagen in een FAISS-vectordatabase. Wanneer een gebruiker een vraag stelt, maakt het systeem er een inbedding voor en selecteert het de meest relevante context. Het vergelijkt drie op transformatoren gebaseerde modellen - Google-BERT, DistilBERT en RoBERTa, en één traditionele TFIDF + cosinus-gelijkenisscore - en gebruikt de best presterende om het antwoord te geven. Klik hier om een grotere versie van deze figuur te bekijken.