$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Basi teoriche complete
Componente QAS: Il framework QAS è costituito da tre segmenti, come mostrato nella Figura 3: i) Modulo di elaborazione delle domande (QPM), ii) Modulo di elaborazione dei documenti (DPM) e iii) Modulo di estrazione e formulazione delle risposte (AEFM). Il sistema riceve domande che rientrano in due categorie principali: Factoid e Non-Factoid. Le domande fattoidi in genere utilizzano parole interrogative come cosa, dove, quando o chi, mentre le domande non factoid utilizzano parole come come come e perché.
DPM: dall'elenco fornito, l'utente può selezionare un passaggio specifico. Successivamente, ogni token nel passaggio viene taggato utilizzando un tagger POS (Part-of-Speech). Per estrarre i verbi, identifica tutti i token contrassegnati come verbi. Combina questi verbi con un elenco di verbi non convenzionali e applica la logica per i verbi regolari. Crea una struttura dati (array) contenente i verbi estratti, i loro tempi e le loro forme -ing.
QPM: il sistema riceve l'input sotto forma di domanda dall'utente. Il testo viene tokenizzato utilizzando la classe StringTokenizer e i token risultanti vengono archiviati in una struttura di dati separata. Questa struttura di dati viene quindi restituita per un ulteriore utilizzo all'interno del programma.
AEFM: Il primo passo è identificare il verbo nella domanda data. Il verbo che è stato identificato di recente è ora abbinato ai token generati durante la fase di elaborazione del documento. Il caso scelto per un tipo specifico di domanda fattuale (come cosa o quando) viene utilizzato per estrarre e costruire la risposta in modo più preciso.
Prima di scegliere il tipo di interrogazione, all'utente viene richiesto di selezionare il passaggio di sua scelta. Il QPM è responsabile dell'elaborazione della domanda dell'utente e della sua inoltro all'AEFM. L'AEFM utilizza le estrazioni ottenute dal DPM e i documenti elaborati che contengono il formato con tag del documento di input originale. Il modulo passerà gli algoritmi richiesti al modulo di formulazione per ottenere la risposta desiderata.

Figura 3: Componenti del QAS. La figura illustra il processo in quattro fasi di un sistema di controllo qualità: Domanda, Elaborazione delle domande, Elaborazione delle risposte e Risposta. Nell'elaborazione delle domande, il sistema classifica la domanda. Nell'elaborazione delle risposte, trova e rivede documenti e passaggi per produrre la risposta. Clicca qui per visualizzare una versione più grande di questa figura.
Modello BERT: Per scoprire le associazioni tra le parole in un testo, il metodo BERT utilizza un trasformatore. Ci sono due meccanismi in un trasformatore: un encoder e un decoder28, ma solo l'encoder è necessario per BERT. BERT adotta un approccio bidirezionale e scansiona sistematicamente il testo di input per insegnare a se stesso il significato delle parole nel loro contesto. Il codificatore accetta come input una serie di token che sono stati vettorializzati. I vettori vengono quindi immessi nella rete neurale, che produce una serie di vettori che riflettono l'input. Il vettore di output di una parola cambia a seconda della frase in cui appare. Il vettore di una parola può variare a seconda del contesto in cui appare; ad esempio, "mi piace" in "Gli piace giocare a cricket" ha un vettore diverso da "mi piace" in "La sua faccia è diventata rossa come un pomodoro". L'approccio inizia con una fase di elaborazione del testo prima di passare alla fase di costruzione del modello. I passaggi che BERT esegue per elaborare il testo sono discussi nella prossima sezione28.
Elaborazione del testo: Il modello BERT rappresenta il testo di input in conformità con un insieme prescritto di principi. Inoltre, questo fattore contribuisce a migliorare le prestazioni del modello. L'incorporamento dell'input in BERT consiste in un amalgama di tre tipi distinti di incorporamento28.
Incorporamenti di posizione (PE): per apprendere le informazioni relative all'ordine negli inserti, vengono utilizzati i PE. I PE vengono utilizzati per ripristinare le informazioni sull'ordine perso nei trasformatori. BERT sviluppa PE distinti in modo specifico per ogni punto della sequenza di input. BERT possiede la capacità di trasmettere le informazioni posizionali delle parole all'interno di una frase utilizzando i PE. Ciò consente a BERT di catturare e rappresentare efficacemente la sequenza o l'ordine delle parole.
Incorporamento di frasi (SE): Inoltre, per aiutare il modello a distinguere tra la prima e la seconda frase, BERT apprende un incorporamento unico per ciascuna di esse. È anche in grado di accettare frasi accoppiate come input per attività come il QA.
Token embedding (TE): i TE vengono insegnati per ogni token nel vocabolario dei token di WordPiece. Il vocabolario dei token WordPiece comprende unità di parole secondarie derivate da parole trovate all'interno del corpus. Come esempio illustrativo, questa raccolta di vocaboli comprenderà tutte le sottoparole immaginabili del termine Domanda, tra cui Questio, Questi e così via.
La rappresentazione di input di un token viene costruita sommando i suoi incorporamenti a livello di segmento e posizione. Per questo motivo, si tratta di un approccio di incorporamento esteso che fornisce una grande quantità di informazioni al modello. La Figura 49 illustra gli incorporamenti del modello BERT.

Figura 4: Incorporamenti BERT. La figura mostra come vengono creati gli incorporamenti di input per un modello di trasformatore. Inizia con una sequenza di input: [CLS] il cielo [MASK] è nuvoloso [SEP] pioverà [SEP]. Ogni token nella sequenza riceve il proprio incorporamento, ad esempio Ethe o E[MASK]. Quindi, vengono aggiunti gli incorporamenti di frasi per ogni frase, ad esempio EA per la prima e EB per la seconda. Sono inclusi anche gli incorporamenti posizionali, etichettati da E0 a E9, per indicare la posizione di ciascun token. Tutti questi elementi vengono combinati per formare gli incorporamenti di input finali. Questa cifra è stata modificata da9. Clicca qui per visualizzare una versione più grande di questa figura.
Progettazione QAS utilizzando BERT: A scopo illustrativo, esamina questa domanda insieme a un paragrafo estratto da una voce di Wikipedia su Football League28.
Domanda: Dove è stata fondata la Football League?
Passaggio: Nel 1888, la Football League è stata fondata in Inghilterra, diventando la prima di molte competizioni calcistiche professionistiche. Nel corso del 20° secolo, molti dei vari tipi di calcio sono cresciuti fino a diventare alcuni degli sport di squadra più popolari al mondo.
Risposta: Inghilterra
Il modello BERT utilizza l'estrazione di token sia dalla domanda che dal contesto, combinandoli successivamente in un input unificato. Come affermato in precedenza, il processo inizia con l'utilizzo di un token [CLS], che funge da indicatore per l'inizio di una frase. Inoltre, viene utilizzato un separatore [SEP] per separare nettamente la domanda e il passaggio. Oltre al token [SEP], BERT incorpora SE per distinguere tra la domanda e il passaggio28 contenente la risposta. BERT utilizza due SE, uno dedicato alla domanda e l'altro al passaggio, per stabilire una chiara distinzione tra loro. Gli incorporamenti vengono successivamente combinati con una rappresentazione one-hot28 di token per distinguere tra la domanda e il passaggio. Questo processo è illustrato nella Figura 5.

Figura 5: Rappresentazione dell'input BERT. La figura illustra come vengono generati gli incorporamenti di input per un QAS basato su BERT. Si inizia con il token [CLS], quindi la domanda Quanti? [SEP], e il passaggio BERT large è, ciascuno con le sue frasi incorporate (A per la domanda, B per il passaggio). Gli incorporamenti di token, frasi e posizioni vengono combinati per creare l'input finale. Clicca qui per visualizzare una versione più grande di questa figura.
Successivamente, la rappresentazione incorporata combinata28 della domanda e del contesto viene utilizzata come input nel modello BERT. Il livello nascosto finale di BERT viene modificato per utilizzare SoftMax per generare distribuzioni di probabilità. Queste distribuzioni determinano gli indici di inizio e fine di una sottostringa all'interno della frase di testo di input, che rappresenta una risposta, come illustrato nella Figura 6, per una rappresentazione visiva.

Figura 6: Flusso di lavoro di elaborazione BERT per il controllo qualità. La figura mostra come funziona il modello BERT per il QA. Presenta una sequenza di input che include una domanda, contrassegnata da un token di classificazione [CLS] all'inizio e da un token separatore [SEP] alla fine, seguita da un contesto, separato da un altro [SEP]. I token in questa sequenza vengono trasformati in incorporamenti. Il modello prevede quindi le posizioni di inizio e fine della risposta all'interno del passaggio. Clicca qui per visualizzare una versione più grande di questa figura.
Banca dati vettoriale (VD): Un VD17,18 è un sistema specializzato per l'archiviazione, la gestione, l'indicizzazione e l'interrogazione efficiente di rappresentazioni vettoriali ad alta dimensione dei dati. I vettori sono spesso generati da modelli di deep learning e incapsulano informazioni semantiche o contestuali sui dati. Ogni dimensione di un vettore rappresenta una caratteristica specifica. Gli incorporamenti sono rappresentazioni numeriche di oggetti come testo, immagini, video e audio. Questi incorporamenti sono utilizzati in varie applicazioni, tra cui Machine Learning (ML), NLP, sistemi di raccomandazione, visione artificiale e IR. Le VD facilitano le ricerche di somiglianza efficaci e l'interrogazione semantica raggruppando oggetti simili vicini tra loro nello spazio vettoriale. Facebook AI Similarity Search (FAISS)29 è un importante VD utilizzato in questo studio per identificare il contesto più rilevante per le query degli utenti. La tabella 2 delinea le principali caratteristiche dei VD e i loro casi d'uso.
| Caratteristica | Descrizione |
| Dati ad alta dimensionalità | Gestisce dati con centinaia o migliaia di dimensioni. |
| Vicino più vicino approssimativo (ANN) | Consente ricerche rapide di somiglianza approssimando le distanze. |
| Scalabilità | Supporta set di dati su larga scala con miliardi di vettori. |
| Integrazione | Spesso si integra con framework e strumenti AI/ML per flussi di lavoro senza interruzioni. |
| Interrogazioni in tempo reale | Fornisce ricerche vettoriali a bassa latenza per applicazioni interattive. |
Tabella 2: Principali caratteristiche della VD. La tabella evidenzia le caratteristiche importanti di VD. Questi includono la gestione di dati ad alta dimensione, l'esecuzione di ricerche rapide di somiglianza utilizzando algoritmi ANN, la scalabilità a set di dati di grandi dimensioni, l'utilizzo di strumenti di intelligenza artificiale e ML e il supporto di query rapide e in tempo reale per l'uso interattivo.
Metriche di valutazione delle prestazioni: Il sistema SCD-QA è stato valutato utilizzando due metriche primarie: il punteggio EM14 e la latenza del modello15. Il punteggio EM, una metrica standard negli studi di QA, valuta l'accuratezza delle previsioni misurando la percentuale di risposte previste che corrispondono esattamente alla verità di base. Per una serie di N domande, il punteggio EM è formalmente definito nell'equazione 1 come segue:
dove
(1)
Questa metrica assegna un punteggio di 1 per una corrispondenza esatta con la risposta di riferimento e 0 per qualsiasi differenza.
La metrica Latenza quantifica il tempo di elaborazione totale richiesto dal sistema per generare una risposta a una singola query. Questa metrica viene calcolata come il tempo medio trascorso in tutte le query, come illustrato nell'equazione 2:
(2)
dove Tstarti e Tendi sono i timestamp che segnano rispettivamente l'inizio e la fine dell'elaborazione della i-esima query. La latenza è riportata in s e cattura la reattività del sistema, comprendendo tutte le fasi dall'elaborazione dell'input alla generazione delle risposte.
Metodo
Al fine di implementare l'SCD-QA, i seguenti studi di test sono incorporati in questo documento.
Set di dati SCD-QA: Viene introdotto un set di dati proposto30 per l'implementazione del sistema SCD-QA. Questo set di dati è derivato da un corpus di testo contenente le regole del dottorato di ricerca per il 20228, per le linee guida per gli studenti del NIT Arunachal Pradesh, India. Per stabilire il sistema SCD-QA, è necessario generare un file JSON che racchiuda tutte le informazioni pertinenti in un formato preciso. Il set di dati viene generato dal corpus di testo utilizzando lo strumento di annotazione Haystack (versione 2.18.1)31, un framework open source. Questo strumento facilita la creazione del set di dati SCD-QA nello stile di SQuAD14. I passaggi per creare un set di dati annotato di tipo SQuAD dal file PDF sono illustrati nella Figura 7 e la struttura del nostro set di dati in stile SQuAD è illustrata nella Figura 8.

Figura 7: Passaggi per creare un set di dati annotato da un file PDF. La figura illustra un flusso di lavoro graduale per la creazione di un set di dati annotato in stile SQuAD utilizzando gli strumenti Haystack. Descrive il processo dall'estrazione del testo dai PDF, alla pulizia e alla suddivisione in passaggi, all'annotazione manuale delle coppie domanda-risposta, all'archiviazione delle annotazioni in formato JSON SQuAD e infine all'esportazione del set di dati per l'addestramento del modello. Clicca qui per visualizzare una versione più grande di questa figura.

Figura 8: Struttura del set di dati QA factoid. La figura mostra una struttura di dati JSON che rappresenta un paragrafo e una coppia QA da un set di dati. Ha una sezione di paragrafi, che contiene una serie di domande e risposte. Una domanda chiede: Qual è il punteggio minimo richiesto per ottenere l'ammissione al dottorato di ricerca. Scienze? Ogni domanda ha un ID e una serie di risposte. La risposta include un ID documento, un ID domanda, il testo con un punteggio del 60%, la posizione iniziale della risposta e una categoria di risposta non specificata. Il flag is_impossible è impostato su false. Clicca qui per visualizzare una versione più grande di questa figura.
Il set di dati è strutturato come un elenco di dizionari, in cui ogni dizionario contiene campi chiave come dati, paragrafi, domande, answer_id, document_id, question_id, testo, answer_start, answer_end, is_impossible e contesto.
dati: contiene le informazioni generali per le risposte alle domande.
paragrafi: un contesto particolare, insieme alle sue domande e risposte.
domanda: Una domanda particolare.
answer_id: Un numero di identificazione univoco per ogni testo di risposta.
document_id: Un numero di identificazione univoco per ogni contesto.
question_id: Un numero di identificazione univoco per ogni domanda.
text: il testo della risposta.
answer_start: la posizione iniziale della risposta corretta nel contesto.
answer_end: la posizione finale della risposta corretta nel contesto.
is_impossible: Indica se la risposta alla domanda posta è disponibile nel contesto o meno.
context: Il corpus di testo da cui è possibile trovare una risposta.
Tutte le 80 domande nel set di dati proposto seguono il formato di domanda fattoide e non fattoide. Esempi di alcuni tipi di domande incorniciate sono mostrati nella Tabella 3.
| Domande |
| Chi è PS? |
| Qual è la dimensione del carattere del documento all'avanguardia? |
| Quanti giorni ci sono in congedo di maternità? |
Tabella 3: Domanda di esempio dal set di dati. La tabella mostra esempi di due tipi di domande: la prima e la seconda sono domande fattoidi, mentre la terza è una domanda non fattoide.
FAISS: FAISS (versione faiss_cpu-1.9.0)29,32, sviluppato da Facebook AI Research (FAIR), è una libreria open source che facilita la ricerca efficiente di somiglianza e il clustering di vettori densi. È specificamente progettato per gestire in modo efficace dati su larga scala e ad alta dimensione. Questo sistema facilita ricerche ANN rapide e scalabili all'interno di set di dati che comprendono milioni o miliardi di vettori. È ampiamente utilizzato nelle applicazioni relative all'incorporamento, tra cui NLP, sistemi di raccomandazione e recupero di immagini o video. FAISS offre diversi metodi di indicizzazione, tra cui Flat (forza bruta), File invertito (IVF), Grafici gerarchici navigabili di piccoli mondi (HNSW) e quantizzazione del prodotto (PQ). Questi metodi consentono agli utenti di ottimizzare le prestazioni di ricerca in base alle dimensioni, alla dimensionalità e alle specifiche hardware dei dati. In questo studio viene utilizzata l'indicizzazione piatta, che esegue una ricerca a forza bruta utilizzando la distanza L2 (euclidea) per identificare i vicini più prossimi. La scalabilità del sistema supporta implementazioni sia CPU che GPU, consentendo calcoli ad alte prestazioni su set di dati estesi. Inoltre, offre la flessibilità necessaria per ottimizzare l'equilibrio tra velocità e precisione in base ai requisiti specifici dell'applicazione. Il FAISS è spesso utilizzato in NLP per valutare la somiglianza semantica negli embedding, come BERT o Word2Vec. FAISS viene utilizzato in QAS per memorizzare e gestire rappresentazioni vettoriali di documenti o frasi. Esegue ricerche ANN approssimative33 per recuperare il contesto più rilevante per le domande dell'utente, migliorando la ricerca semantica con incorporamenti da modelli di trasformatori come BERT. FAISS è uno strumento fondamentale nei flussi di lavoro di AI e ML grazie alla sua versatilità.
Modello SQuAD: Il presente lavoro utilizza un modello linguistico pre-addestrato noto come BERT-large-uncased-whole-word-masking finetuned-squad9 per sviluppare un QAS fattoide utilizzando il set di dati proposto nello studio. Il modello BERT è stato sottoposto a un pre-addestramento su BookCorpus, un set di dati di 11.038 libri inediti9, così come su Wikipedia in inglese, con l'eccezione di elenchi, tabelle e intestazioni. Il modello in questione non è maiuscolo o minuscolo, il che significa che non distingue tra le parole inglese e inglese. Il modello è un modello di trasformatore pre-addestrato che è stato addestrato su una notevole quantità di dati inglesi utilizzando un approccio auto-supervisionato. Il modello è stato pre-addestrato esclusivamente su testi grezzi, senza alcuna annotazione umana. Ciò gli consente di sfruttare una grande quantità di dati accessibili pubblicamente. Il processo di pre-formazione prevede la generazione automatica di input ed etichette dai testi forniti. Il modello è stato addestrato con due obiettivi specifici9:
MLM: Il processo prevede la mascheratura casuale del 15%9 delle parole nella frase di input. Il modello elabora quindi l'intera frase mascherata e prevede le parole mascherate. Questo approccio diverge dalle reti neurali ricorrenti (RNN) convenzionali, che in genere elaborano le parole in sequenza, e dai modelli autoregressivi come GPT, che impiegano il mascheramento interno dei token futuri. La funzionalità consente al modello di acquisire una rappresentazione bidirezionale della frase.
NSP: durante la fase di pre-addestramento, il modello combina due frasi mascherate come input. In alcuni casi, queste frasi sono adiacenti nel testo originale, indicando una relazione diretta. In altri casi, non lo sono, il che significa che non c'è una vicinanza originale o un contesto che li colleghi. Il passaggio successivo prevede che il modello preveda se le due frasi sono logicamente coerenti.
Il modello attuale è caratterizzato dalla configurazione successiva: l'architettura del modello è composta da 24 strati, con una dimensione nascosta di 1024. Utilizza 16 teste di attenzione e ha un totale di 336 milioni di parametri9.
WordPiece viene utilizzato per tokenizzare i testi con un vocabolario di 30.000 parole nelle fasi di pre-elaborazione. Gli input del modello sarebbero quindi simili a questo: [CLS] Frase A [SEP] Frase B [SEP]. L'unico requisito è che la lunghezza totale delle frasi combinate sia inferiore a 512 gettoni9. Il modello specifico pre-addestrato produce l'output successivo: il punteggio F1 raggiunto è del 93,15%, mentre il punteggio di corrispondenza preciso è dell'86,91%9.
Modello Distilbert/distilbert-base-cased-distilled-squad: Il modello DistilBERT10 è una variante più compatta, rapida ed efficiente del modello BERT9 , sviluppato per mantenere la maggior parte della capacità semantica di comprensione di BERT, pur essendo meno dispendioso in termini di risorse e più appropriato per applicazioni pratiche con capacità computazionale limitata. La versione distilbert-base-cased-distilled-squad è stata messa a punto su SQuAD14 per le attività di controllo qualità. Il modello utilizza l'architettura del trasformatore, inclusa una dimensione ridotta di 66 milioni di parametri rispetto ai 110 milioni di BERT, pur mantenendo il 97% dell'efficacia di BERT nella comprensione del linguaggio. DistilBERT raggiunge questo obiettivo utilizzando un metodo noto come Knowledge Distillation, che trasmette le informazioni dal modello BERT più grande al modello DistilBERT più compatto. Grazie alle sue dimensioni ridotte, è in grado di dedurre le informazioni più rapidamente e di utilizzare meno memoria, il che lo rende perfetto per applicazioni con risorse limitate come i dispositivi mobili o edge. Il modello, accuratamente messo a punto sul set di dati SQuAD 1.1, dimostra un'eccezionale competenza nelle attività di QA estrattiva, in cui l'obiettivo è individuare un segmento di testo da un contesto specifico che risponde a una domanda. DistilBERT raggiunge circa l'85% del punteggio F1 di BERT nella classifica SQuAD e mantiene una parte significativa della capacità linguistica di BERT, nonostante le sue dimensioni ridotte. Questo modello è una soluzione eccezionalmente efficiente per i lavori di QA a livello di produzione, ottimizzando sia le prestazioni che l'efficienza computazionale.
Deepset/roberta-base-squad2: Il modello deepset/roberta-base-squad212,13 è una variante messa a punto dell'architettura RoBERTa. È progettato specificamente per il set di dati SQuAD14 2.0, che include domande con risposta e senza risposta. Questo framework RoBERTa migliorato elimina i9 lavori NSP di BERT. Utilizza anche il mascheramento dinamico durante l'addestramento per aumentare l'efficienza e le prestazioni nelle attività di comprensione NL. Il modello ha 125 milioni di parametri e utilizza un trasformatore bidirezionale. Ciò gli consente di acquisire informazioni contestuali da entrambe le direzioni ed eccellere nelle attività di QA estrattive.
L'ottimizzazione su SQuAD 2.0 consente al modello di identificare l'intervallo di risposta corretto all'interno di un determinato contesto e di riconoscere quando non c'è risposta. Utilizza un tokenizzatore BPE (Byte Pair Encoding) che gestisce la tokenizzazione delle sottoparole e preserva la distinzione tra maiuscole e minuscole. Questo migliora la sua capacità di elaborare parole non comuni e complesse. Il modello si comporta bene, raggiungendo circa l'85%-90% di F1 e l'80%-85% di EM. La sua capacità di individuare domande senza risposta e la sua efficace implementazione lo rendono prezioso per il servizio clienti, il recupero delle conoscenze e gli assistenti virtuali.
Il modo più efficace per implementare modelli BERT ottimizzati da SQuAD per il QA consiste nell'utilizzare la pipeline Hugging Face Transformers34. Questo framework semplifica la tokenizzazione, la formattazione dell'input, il caricamento del modello e la post-elaborazione dell'output. Questi modelli sono ampiamente riconosciuti per la loro efficacia nella QA estrattiva, dove la risposta è un intervallo di testo recuperato direttamente dal contesto dato. Per guidare l'implementazione, la procedura seguente descrive i passaggi per l'esecuzione dei modelli BERT.
Ingresso e configurazione: Questo processo richiede quattro input principali e parametri di configurazione: il nome del modello, specificato come identificatore di stringa dall'Hugging Face Hub (ad esempio, google-bert/bert-large-uncased-whole-word-masking-finetuned-squad, distilbert/distilbert-base-cased-distilled-squad o deepset/roberta-base-squad2); la domanda (Q), fornita come stringa contenente la query; e il contesto (C), una stringa che rappresenta il testo o il passaggio pertinente. Lo strumento principale utilizzato è la funzione pipeline di alto livello dalla libreria di trasformatori Hugging Face (versione 4.57.0) in Python (versione 3.12.12).
Processo: Esecuzione (pipeline Hugging Face): Il processo si compone di sei fasi principali e utilizza la pipeline Hugging Face per affrontare la complessità dell'attività di QA:
Installa libreria: Inizia installando la libreria richiesta con il comando pip install transformers. Questa installazione consente l'accesso ai modelli e alle funzionalità semplificate della pipeline.
Pipeline di importazione: Importare la funzione pipeline utilizzando: from transformers import pipeline.
Inizializza pipeline QA: Inizializza la pipeline di controllo qualità utilizzando qa_pipeline = pipeline("question-answering", model=""). Questo comando scarica il modello e il tokenizer, rendendoli pronti per l'inferenza.
Definisci input: Imposta domanda = ... e contesto = ... per preparare i dati del modello.
Esegui inferenza: Passa la domanda e il contesto alla pipeline con result = qa_pipeline(question=question, context=context). Il modello elabora l'input e fornisce una risposta.
Estrai risposta: Ottieni la stringa di risposta dal dizionario di output usando: answer = result['answer'].
Prodotto: Il processo produce diversi parametri di output nell'ordine seguente: Risposta (l'intervallo di testo estratto dal contesto, presentato come stringa), Punteggio (un valore a virgola mobile che quantifica l'attendibilità del modello nella sua stima) e Indici di inizio e fine (numeri interi che specificano le posizioni dei caratteri dell'intervallo di risposta all'interno del contesto).
Trasformatori di frase/all-MiniLM-L6-v2: L'all-MiniLM-L6-v235 è un trasformatore di frasi pre-addestrato dalla libreria Sentence-Transformers (versione 5.1.1)36. È ottimizzato per un incorporamento del testo efficiente e preciso. Sviluppato sul framework MiniLM di Microsoft, include sei livelli di trasformatori e incorporamenti a 384 dimensioni. Questo design bilancia le prestazioni e la competenza computazionale, rendendolo adatto per applicazioni in tempo reale. Il modello è stato addestrato su oltre un miliardo di coppie di frasi provenienti da set di dati come SNLI, MultiNLI, benchmark STS e dati scansionati sul Web. Di conseguenza, dimostra competenza nella somiglianza semantica, nel raggruppamento e nelle attività relative alla ricerca. Grazie alle dimensioni ridotte (~22 MB) e alle prestazioni di inferenza migliorate, all-MiniLM-L6-v2 semplifica applicazioni come la ricerca semantica, il rilevamento di duplicazioni e la categorizzazione del testo. Sebbene sia leggero, offre un'elevata precisione su benchmark come STS-B e SICK-R, rendendolo una scelta efficace sia per scenari scalabili che con risorse limitate. Il flusso di lavoro per la generazione dell'incorporamento utilizzando Sentence-Transformer è illustrato nella Figura 9 di seguito.

Figura 9: Fase del processo di incorporamento utilizzando il modello del trasformatore di frase. La figura illustra il flusso di lavoro per la generazione di incorporamenti di testo utilizzando il framework dei trasformatori di frasi. Delinea il processo dall'importazione delle librerie e dal caricamento di un modello pre-addestrato alla preparazione dei dati di testo, alla generazione di incorporamenti, alla loro conversione in array NumPy e alla loro memorizzazione per attività a valle come l'indicizzazione o la ricerca di somiglianze. Clicca qui per visualizzare una versione più grande di questa figura.
Algoritmo proposto: Questo studio delinea una metodologia suggerita nell'Algoritmo 1 per lo sviluppo del sistema SCD-QA basato su SeCD, in grado di rispondere sia a domande factoid che non factoid poste dagli utenti.
ALGORITMO 1: Algoritmo del sistema SCD-QA basato su SeCD proposto
Input: set di file di contesto non elaborato (C) e la query dell'utente (Q).
Uscita: l'LLM ottimale basato sul trasformatore (M') selezionato e la risposta generata da M'.
Contesti di pre-elaborazione: annota il set di contesti non elaborati C per creare un set di dati strutturato in formato DSQuAD .
DSQuAD = fannonate (C)
Genera incorporamenti di contesto: usa unincorporamento f del trasformatore di frasi per convertire ogni contesto c
DSQuAD in un incorporamento ec.

Memorizza incorporamenti: memorizza Ec in un database vettoriale V per un'efficiente ricerca di somiglianza.

Genera incorporamento di query: Trasforma la query Q dell'utente in un incorporamento eq utilizzando lo stesso trasformatore di frasi.

Recupero del contesto: recupera l'incorporamento
del contesto più rilevante dal database V in base alla somiglianza con eq.

dove sim(eq,e c), è la funzione di somiglianza.
Passa il contesto agli LLM: Alimenta il contesto
recuperato in 3 LLM basati su trasformatori: Google-BERT (M1), DistilBERT (M2), RoBERTa (M3) e un modello tradizionale: TF-IDF+Somiglianza coseno (M4)

Valutazione del modello: confronta le risposte {R1,R 2,R 3,R 4} utilizzando una funzione di valutazione feval, che assegna un punteggio a ciascuna risposta.

Seleziona il modello migliore: Identifica il modello M' con il punteggio di valutazione più alto S'

Genera output finale: utilizzare M' per generare la risposta finale R in base a

Fine
Il processo dell'algoritmo proposto delinea un approccio sistematico (Figura 10) per la scelta di un LLM basato su trasformatore ideale per rispondere alle domande degli utenti. Incorpora la pre-elaborazione, il recupero del contesto basato sull'embedding e la valutazione multi-modello per garantire risposte di alta qualità e contestualmente pertinenti. Di seguito, il processo passo dopo passo è spiegato per chiarezza:
Preparazione e pre-elaborazione dei dati: la prima fase prevede l'elaborazione di dati testuali grezzi-
Input: I file di testo grezzi8 vengono adattati nel sistema.
Strumento di annotazione31: l'input viene trasformato in un set di dati strutturato in formato SQuAD14 . Questo passaggio prevede la creazione di coppie QA. Organizza inoltre i dati testuali rilevanti in blocchi di contesto ben definiti.
Output: il set di dati è ora pronto per creare incorporamenti.
Generazione di incorporamento del contesto: per consentire un recupero del contesto efficiente e scalabile, al set di dati annotato viene applicato un modello Sentence-Transformer35,36 addestrato. Questo trasformatore converte il testo in incorporamenti ad alta dimensione che catturano il significato semantico. Gli embedding sono memorizzati in VD, FAISS29,32 per consentire ricerche rapide basate sulla somiglianza.
Elaborazione delle query utente: quando un utente invia una domanda, la domanda viene elaborata dallo stesso trasformatore di frasi35,36. Questo genera un incorporamento corrispondente nello stesso spazio vettoriale 29,32 degli incorporamenti di contesto. Questa progettazione garantisce che la query possa essere abbinata alle voci di contesto pertinenti.
Recupero del contesto utilizzando la somiglianza vettoriale: utilizzando una metrica di somiglianza (ad esempio, la somiglianza del coseno), il sistema confronta l'incorporamento della query con l'incorporamento del contesto memorizzato. Il sistema seleziona il contesto più pertinente in base al punteggio di somiglianza più alto. In questo modo si garantisce che solo il contesto pertinente venga passato ai modelli a valle. Il processo riduce il sovraccarico computazionale e migliora la pertinenza.
Valutazione del modello su più LLM: il contesto selezionato viene valutato da tre LLM basati su trasformatori: Google-BERT28, DistilBERT10 e RoBERTa12. Viene anche valutato da un tradizionale TF-IDF37 basato su parole chiave con un modello di somiglianza del coseno. Ogni modello elabora il contesto e genera una risposta alla domanda dell'utente.
Valutazione comparativa: le risposte dei quattro modelli LLM vengono valutate utilizzando due metriche chiave. In primo luogo, la corrispondenza semantica viene valutata mediante EM14. In secondo luogo, la latenza del modello viene analizzata in base ai tempi medi di reazione15.
Selezione del modello e output finale: il modello con le migliori prestazioni viene selezionato come LLM appropriato per la domanda dell'utente. Viene presa in considerazione la risposta finale del modello selezionato. Ciò garantisce un equilibrio tra efficienza computazionale e qualità della risposta.

Figura 10: Flusso di lavoro del sistema SCD-QA utilizzando modelli basati su trasformatori. La figura mostra il funzionamento del sistema SCD-QA. Innanzitutto, un file di contesto non elaborato viene elaborato da uno strumento di annotazione per creare un set di dati in formato SQuAD. Un trasformatore di frase genera quindi incorporamenti, che vengono memorizzati in un database vettoriale FAISS. Quando un utente pone una domanda, il sistema crea un incorporamento per essa e seleziona il contesto più pertinente. Confronta tre modelli basati su trasformatori - Google-BERT, DistilBERT e RoBERTa e un tradizionale punteggio di somiglianza TFIDF + coseno - e utilizza quello con le migliori prestazioni per fornire la risposta. Clicca qui per visualizzare una versione più grande di questa figura.