$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Base théorique complète
Composant QAS : Le cadre QAS se compose de trois segments, comme le montre la figure 3 : i) module de traitement des questions (QPM), ii) module de traitement de documents (DPM) et iii) module d’extraction et de formulation des réponses (AEFM). Le système reçoit des questions qui se répartissent en deux catégories principales : factoïdes et non factoïdes. Les questions factoïdes utilisent généralement des mots interrogatifs tels que quoi, où, quand ou qui, tandis que les questions non factoïdes utilisent des mots tels que comment et pourquoi.
DPM : dans la liste fournie, l’utilisateur peut sélectionner un passage spécifique. Ensuite, chaque jeton du passage est balisé à l’aide d’un balisage POS (Part-of-Speech). Pour extraire des verbes, identifiez tous les jetons marqués comme verbes. Combinez ces verbes avec une liste de verbes non conventionnels et appliquez une logique pour les verbes réguliers. Créez une structure de données (tableau) contenant les verbes extraits, leurs temps et leurs formes en -ing.
QPM : Le système reçoit une entrée sous la forme d’une question de l’utilisateur. Le texte est tokenisé à l’aide de la classe StringTokenizer et les jetons résultants sont stockés dans une structure de données distincte. Cette structure de données est ensuite renvoyée pour une utilisation ultérieure dans le cadre du programme.
AEFM : La première étape consiste à identifier le verbe dans la question donnée. Le verbe récemment identifié correspond désormais aux jetons générés lors de l’étape de traitement du document. Le cas choisi pour un type spécifique de question factuelle (comme quoi ou quand) est utilisé pour extraire et construire la réponse de manière plus précise.
Avant de choisir le type de questionnement, l’utilisateur est d’abord invité à sélectionner le passage de son choix. Le MPQ est responsable du traitement de la question de l’utilisateur et de sa transmission à l’AEFM. L’AEFM utilise les extractions obtenues à partir du DPM et des documents traités qui contiennent le format balisé du document d’entrée d’origine. Le module passera les algorithmes requis au module de formulation pour obtenir la réponse souhaitée.

Figure 3 : Composants du SAQ. La figure illustre le processus en quatre étapes d’un système d’assurance qualité : Question, Traitement des questions, Traitement des réponses et Réponse. Dans le traitement des questions, le système classe la question. Dans le traitement des réponses, il trouve et examine des documents et des passages pour produire la réponse. Veuillez cliquer ici pour voir une version agrandie de cette figure.
Modèle BERT : Pour découvrir les associations entre les mots d’un texte, la méthode BERT utilise un transformateur. Il y a deux mécanismes dans un transformateur : un encodeur et un décodeur28, mais seul l’encodeur est nécessaire pour BERT. BERT adopte une approche à double sens et scanne systématiquement le texte d’entrée pour apprendre lui-même le sens des mots dans leur contexte. L’encodeur prend en entrée une série de jetons qui ont été vectorisés. Les vecteurs sont ensuite introduits dans le réseau neuronal, qui produit une série de vecteurs qui reflètent l’entrée. Le vecteur de sortie d’un mot change en fonction de la phrase dans laquelle il apparaît. Le vecteur d’un mot peut varier en fonction du contexte dans lequel il apparaît ; par exemple, « comme » dans « Il aime jouer au cricket » a un vecteur différent de « comme » dans « Son visage est devenu rouge comme une tomate ». L’approche commence par une phase de traitement de texte avant de passer à la phase de construction de modèles. Les étapes suivies par BERT pour traiter le texte sont abordées dans la section28 suivante.
Traitement de texte : Le modèle BERT représente le texte d’entrée conformément à un ensemble de principes prescrits. De plus, ce facteur contribue à l’amélioration des performances du modèle. L’incorporation d’entrée dans BERT consiste en un amalgame de trois types distincts d’intégrations28.
Plongements de positions (PE) : Pour apprendre les informations relatives à l’ordre dans les plongements, des PE sont utilisés. Les PE sont utilisés pour restaurer les informations sur l’ordre qui est perdu dans les transformateurs. BERT développe des PE distincts spécifiquement pour chaque point de la séquence d’entrée. BERT possède la capacité de transmettre les informations de position des mots à l’intérieur d’une phrase en utilisant des PE. Cela permet à BERT de capturer et de représenter efficacement la séquence ou l’ordre des mots.
Plongements de phrases (SE) : De plus, pour aider le modèle à distinguer la première et la deuxième phrase, BERT apprend un plongement qui est unique à chacune d’elles. Il est également capable d’accepter des phrases appariées comme entrées pour des activités telles que l’assurance qualité.
Intégrations de jetons (TE) : les TE sont enseignés pour chaque jeton dans le vocabulaire des jetons WordPiece. Le vocabulaire du jeton WordPiece comprend des sous-unités de mots dérivées de mots trouvés dans le corpus. À titre d’exemple, cette collection de vocabulaire englobera tous les sous-mots imaginables du terme Question, y compris Questio, Questi, etc.
La représentation d’entrée d’un jeton est construite en additionnant ses intégrations au niveau du segment et de la position. Pour cette raison, il s’agit d’une approche d’intégration extensive qui fournit une mine d’informations au modèle. La figure 49 illustre les plongements du modèle BERT.

Figure 4 : Plongements BERT. La figure montre comment les intégrations d’entrée sont créées pour un modèle de transformateur. Cela commence par une séquence d’entrée : [CLS] le ciel [MASK] est nuageux [SEP] il va pleuvoir [SEP]. Chaque jeton de la séquence reçoit son propre plongement, tel que Ethe ou E[MASK]. Ensuite, des plongements de phrases sont ajoutés pour chaque phrase, tels que EA pour la première et EB pour la seconde. Des plongements positionnels, étiquetés E0 à E9, sont également inclus pour indiquer la position de chaque jeton. Tous ces éléments sont combinés pour former les plongements d’entrée finaux. Ce chiffre a été modifié au lieu de9. Veuillez cliquer ici pour voir une version agrandie de cette figure.
Conception QAS à l’aide de BERT : À titre d’illustration, examinez cette question en conjonction avec un paragraphe extrait d’une entrée de Wikipédia sur la Football League28.
Question : Où la Football League a-t-elle été fondée ?
En 1888, la Football League a été fondée en Angleterre, devenant la première de nombreuses compétitions de football professionnel. Au cours du 20ème siècle, plusieurs des différents types de football sont devenus parmi les sports d’équipe les plus populaires au monde.
Réponse : Angleterre
Le modèle BERT utilise l’extraction de jetons à partir de la question et du contexte, puis les combine en une entrée unifiée. Comme indiqué précédemment, le processus commence par l’utilisation d’un jeton [CLS], qui sert d’indicateur pour le début d’une phrase. De plus, un séparateur [SEP] est utilisé pour séparer distinctement la question et le passage. En plus du jeton [SEP], BERT intègre des SE pour distinguer la question du passage28 contenant la réponse. BERT utilise deux SE, l’une consacrée à la question et l’autre au passage, pour établir une distinction claire entre elles. Les plongements sont ensuite combinés avec une représentation à un seul chaud28 de jetons pour différencier la question et le passage. Ce processus est illustré à la figure 5.

Figure 5 : Représentation d’entrée BERT. La figure illustre la façon dont les plongements d’entrée sont générés pour un QAS basé sur BERT. Cela commence par le jeton [CLS], puis la question Combien ? [SEP], et le passage BERT large est, chacun avec ses plongements de phrases (A pour la question, B pour le passage). Les plongements de jetons, de phrases et de positions sont combinés pour effectuer l’entrée finale. Veuillez cliquer ici pour voir une version agrandie de cette figure.
Par la suite, la représentation intégrée combinée28 de la question et du contexte est utilisée comme entrée dans le modèle BERT. La dernière couche cachée de BERT est modifiée pour utiliser SoftMax afin de générer des distributions de probabilité. Ces distributions déterminent les indices de début et de fin d’une sous-chaîne dans la phrase de texte d’entrée, qui représente une réponse, comme illustré à la figure 6, pour une représentation visuelle.

Figure 6 : Flux de travail de traitement BERT pour l’assurance qualité. La figure montre comment le modèle BERT fonctionne pour l’assurance qualité. Il présente une séquence d’entrée qui comprend une question, marquée par un jeton de classification [CLS] au début et un jeton de séparation [SEP] à la fin, suivi d’un contexte, séparé par un autre [SEP]. Les jetons de cette séquence sont transformés en plongements. Le modèle prédit ensuite les positions de début et de fin de la réponse dans le passage. Veuillez cliquer ici pour voir une version agrandie de cette figure.
Base de données vectorielle (VD) : Un VD17,18 est un système spécialisé pour le stockage, la gestion, l’indexation et l’interrogation efficaces de représentations vectorielles de données de grande dimension. Les vecteurs sont souvent générés à partir de modèles de deep learning et encapsulent des informations sémantiques ou contextuelles sur les données. Chaque dimension d’un vecteur représente une caractéristique spécifique. Les intégrations sont des représentations numériques d’objets tels que du texte, des images, des vidéos et de l’audio. Ces intégrations sont utilisées dans diverses applications, notamment l’apprentissage automatique (ML), le NLP, les systèmes de recommandation, la vision par ordinateur et l’IR. Les VD facilitent les recherches de similarité et les requêtes sémantiques efficaces en regroupant des objets similaires à proximité les uns des autres dans l’espace vectoriel. Facebook AI Similarity Search (FAISS)29 est un VD de premier plan utilisé dans cette étude pour identifier le contexte le plus pertinent pour les requêtes des utilisateurs. Le tableau 2 présente les principales caractéristiques des VD et leurs cas d’utilisation.
| Caractéristique | Description |
| Données de grande dimension | Gère des données avec des centaines ou des milliers de dimensions. |
| Voisin le plus proche approximatif (ANN) | Permet des recherches rapides de similarité en approximant les distances. |
| Évolutivité | Prend en charge les jeux de données à grande échelle avec des milliards de vecteurs. |
| Intégration | S’intègre souvent aux frameworks et outils d’IA/ML pour des flux de travail fluides. |
| Requêtes en temps réel | Fournit des recherches vectorielles à faible latence pour les applications interactives. |
Tableau 2 : Principales caractéristiques de la VD. Le tableau met en évidence les caractéristiques importantes de VD. Il s’agit notamment de la gestion de données de grande dimension, de l’exécution rapide de recherches de similarité à l’aide d’algorithmes ANN, de la mise à l’échelle vers de grands ensembles de données, de l’utilisation d’outils d’IA et de ML et de la prise en charge de requêtes rapides en temps réel pour une utilisation interactive.
Indicateurs d’évaluation des performances : Le système SCD-QA a été évalué à l’aide de deux paramètres principaux : le score EM14 et la latence du modèle15. Le score EM, une mesure standard dans les études d’assurance qualité, évalue la précision des prédictions en mesurant la proportion de réponses prédites qui correspondent exactement à la réalité du terrain. Pour un ensemble de N questions, le score EM est formellement défini dans l’équation 1 comme suit :
où
(1)
Cette métrique attribue un score de 1 pour une correspondance exacte avec la réponse de référence, et de 0 pour toute différence.
La métrique Latence quantifie le temps de traitement total requis par le système pour générer une réponse à une requête individuelle. Cette métrique est calculée comme le temps moyen écoulé pour toutes les requêtes, comme présenté dans l’équation 2 :
(2)
où Tstarti et Tendi sont les horodatages marquant respectivement le début et la fin du traitement de la ième requête. La latence est indiquée en s et capture la réactivité du système, englobant toutes les étapes, du traitement des entrées à la génération des réponses.
Méthode
Afin de mettre en œuvre le SCD-QA, les études d’essai suivantes sont incorporées dans ce document.
Ensemble de données SCD-QA : Une proposition d’ensemblede données 30 est introduite pour la mise en œuvre du système SCD-QA. Cet ensemble de données est dérivé d’un corpus de textes contenant les règles de doctorat pour 20228, pour les directives des étudiants du NIT Arunachal Pradesh, Inde. Pour établir le système SCD-QA, il est nécessaire de générer un fichier JSON qui englobera toutes les informations pertinentes dans un format précis. L’ensemble de données est généré à partir du corpus de texte à l’aide de l’outil d’annotation Haystack (version 2.18.1)31, un framework open-source. Cet outil facilite la création du jeu de données SCD-QA dans le style du SQuAD14. Les étapes de création d’un ensemble de données annoté de type SQuAD à partir du fichier PDF sont illustrées à la figure 7, et la structure de notre ensemble de données dans le style SQuAD est illustrée à la figure 8.

Figure 7 : Étapes de création d’un ensemble de données annoté à partir d’un fichier PDF. La figure illustre un flux de travail par étapes pour la création d’un ensemble de données annotées de style SQuAD à l’aide des outils Haystack. Il décrit le processus allant de l’extraction du texte des PDF, à son nettoyage et à sa division en passages, à l’annotation manuelle des paires question-réponse, au stockage des annotations au format JSON SQuAD et enfin à l’exportation de l’ensemble de données pour l’entraînement du modèle. Veuillez cliquer ici pour voir une version agrandie de cette figure.

Figure 8 : Structure de l’ensemble de données d’assurance qualité factoïde. La figure affiche une structure de données JSON qui représente un paragraphe et une paire d’assurance qualité à partir d’un ensemble de données. Il comporte une section de paragraphes, qui contient un ensemble de questions et de réponses. L’une d’entre elles pose la question suivante : quelle est la note minimale requise pour être admis au doctorat en sciences ? Chaque question a un ID et un tableau de réponses. La réponse comprend un ID de document, un ID de question, le texte 60 % des points, la position de départ de la réponse et une catégorie de réponse non spécifiée. L’indicateur is_impossible est défini sur false. Veuillez cliquer ici pour voir une version agrandie de cette figure.
L’ensemble de données est structuré comme une liste de dictionnaires, où chaque dictionnaire contient des champs clés tels que des données, des paragraphes, une question, un answer_id, un document_id, un question_id, du texte, answer_start, answer_end, is_impossible et un contexte.
data : il contient les informations globales sur les réponses aux questions.
paragraphes : un contexte particulier, ainsi que ses questions et réponses.
question : Une question particulière.
answer_id : Un numéro d’identification unique pour chaque texte de réponse.
document_id : Un numéro d’identification unique pour chaque contexte.
question_id : Un numéro d’identification unique pour chaque question.
text : texte de la réponse.
answer_start : L’emplacement de départ de la réponse correcte dans son contexte.
answer_end : L’emplacement de la réponse correcte à la fin de la réponse dans son contexte.
is_impossible : Il indique si la réponse à la question posée est disponible dans le contexte ou non.
context : le corpus de texte à partir duquel une réponse peut être trouvée.
Les 80 questions de l’ensemble de données proposé suivent le format des questions factoïdes et non factoïdes. Le tableau 3 présente des exemples de certains types de questions encadrées.
| Questionne |
| Qui est PS ? |
| Quelle est la taille de la police du document à la pointe de la technologie ? |
| Combien de jours y a-t-il en congé de maternité ? |
Tableau 3 : Exemple de question tiré de l’ensemble de données. Le tableau présente des exemples de deux types de questions : la première et la deuxième sont des questions factuelles, tandis que la troisième est une question non factuelle.
FAISS : FAISS (version faiss_cpu-1.9.0)29,32, développée par Facebook AI Research (FAIR), est une bibliothèque open-source qui facilite la recherche efficace de similitudes et le regroupement de vecteurs denses. Il est spécialement conçu pour gérer efficacement des données à grande échelle et de grande dimension. Ce système facilite les recherches rapides et évolutives dans des ensembles de données comprenant des millions ou des milliards de vecteurs. Il est largement utilisé dans les applications liées aux intégrations, notamment le NLP, les systèmes de recommandation et la récupération d’images ou de vidéos. FAISS propose plusieurs méthodes d’indexation, notamment Flat (force brute), Inverted File (IVF), Hierarchical Navigable Small World graphs (HNSW) et la quantification des produits (PQ). Ces méthodes permettent aux utilisateurs d’optimiser les performances de recherche en fonction de la taille des données, de la dimensionnalité et des spécifications matérielles. Dans cette étude, l’indexation plate est utilisée, qui effectue une recherche par force brute en utilisant la distance L2 (euclidienne) pour identifier les voisins les plus proches. L’évolutivité du système prend en charge les implémentations CPU et GPU, ce qui permet des calculs haute performance sur de vastes ensembles de données. De plus, il offre la flexibilité nécessaire pour optimiser l’équilibre entre vitesse et précision en fonction des exigences spécifiques de l’application. FAISS est fréquemment utilisé en NLP pour évaluer la similarité sémantique dans les plongements, tels que BERT ou Word2Vec. FAISS est utilisé dans le QAS pour stocker et gérer les représentations vectorielles de documents ou de phrases. Il effectue des recherches ANN approximatives33 pour récupérer le contexte le plus pertinent pour les questions de l’utilisateur, améliorant la recherche sémantique avec des plongements à partir de modèles de transformateurs tels que BERT. FAISS est un outil fondamental dans les flux de travail d’IA et de ML en raison de sa polyvalence.
Modèle SQuAD : Le présent travail utilise un modèle de langage pré-entraîné connu sous le nom de BERT-large-uncased-whole-word-masking finetuned-squad9 pour développer un QAS factoïde en utilisant l’ensemble de données proposé dans l’étude. Le modèle BERT a fait l’objet d’un pré-entraînement sur BookCorpus, un ensemble de données de 11 038livres non publiés9, ainsi que sur Wikipédia en anglais, à l’exception des listes, des tableaux et des en-têtes. Le modèle en question n’est pas cased, c’est-à-dire qu’il ne fait pas de distinction entre les mots anglais et anglais. Le modèle est un modèle de transformateur pré-entraîné qui a été entraîné sur une quantité substantielle de données anglaises à l’aide d’une approche auto-supervisée. Le modèle a été pré-entraîné exclusivement sur des textes bruts, sans aucune annotation humaine. Cela lui permet d’exploiter une grande quantité de données accessibles au public. Le processus de pré-formation consiste à générer automatiquement des entrées et des étiquettes à partir des textes fournis. Le modèle a été formé avec deux objectifs spécifiques9 :
MLM : Le processus consiste à masquer au hasard 15 %9 des mots de la phrase d’entrée. Le modèle traite ensuite l’intégralité de la phrase masquée et prédit les mots masqués. Cette approche diverge des réseaux neuronaux récurrents (RNN) conventionnels, qui traitent généralement les mots de manière séquentielle, et des modèles autorégressifs tels que GPT, qui utilisent le masquage interne des jetons futurs. Cette fonctionnalité permet au modèle d’acquérir une représentation bidirectionnelle de la phrase.
NSP : Pendant la phase de pré-entraînement, le modèle combine deux phrases déguisées en entrées. Dans certains cas, ces phrases sont adjacentes dans le texte original, ce qui indique une relation directe. Dans d’autres cas, ce n’est pas le cas, c’est-à-dire qu’il n’y a pas de proximité ou de contexte original qui les relie. L’étape suivante consiste à prédire si les deux phrases sont logiquement cohérentes.
Le modèle actuel se caractérise par la configuration ultérieure : l’architecture du modèle se compose de 24 couches, avec une dimension cachée de 1024. Il utilise 16 têtes d’attention et a un total de 336 millions de paramètres9.
WordPiece est utilisé pour tokeniser les textes avec une taille de vocabulaire de 30 000 mots dans les étapes de prétraitement. Les entrées du modèle ressembleraient alors à ceci : [CLS] Phrase A [SEP] Phrase B [SEP]. La seule exigence est que la longueur totale des phrases combinées soit inférieure à 512 jetons9. Le modèle spécifique pré-entraîné produit le résultat ultérieur : le score F1 obtenu est de 93,15 %, tandis que le score de correspondance précis est de 86,91 %9.
Modèle Distilbert/distilbert-base-cased-distilled-squad : Le modèle DistilBERT10 est une variante plus compacte, plus rapide et plus efficace du modèle BERT9 , développée pour maintenir la majorité de la capacité sémantique de compréhension de BERT tout en étant moins gourmand en ressources et plus approprié pour les applications pratiques avec une capacité de calcul limitée. La version distilbert-base-cased-distilled-squad a été affinée sur le SQuAD14 pour les tâches d’assurance qualité. Le modèle utilise l’architecture du transformateur, y compris une taille réduite de 66 millions de paramètres par rapport aux 110 millions de BERT, tout en maintenant 97 % de l’efficacité de BERT en matière de compréhension du langage. DistilBERT y parvient en utilisant une méthode connue sous le nom de distillation des connaissances, qui transmet des informations du modèle BERT plus grand au modèle DistilBERT plus compact. En raison de sa petite taille, il peut déduire des informations plus rapidement et utiliser moins de mémoire, ce qui le rend parfait pour les applications à ressources limitées telles que les appareils mobiles ou de pointe. Le modèle, soigneusement affiné sur l’ensemble de données SQuAD 1.1, démontre une compétence exceptionnelle dans les tâches d’assurance qualité extractive, l’objectif étant de localiser un segment de texte à partir d’un contexte spécifié qui répond à une question. DistilBERT atteint environ 85 % du score F1 de BERT dans le classement SQuAD et conserve une partie importante de la capacité linguistique de BERT, malgré sa taille réduite. Ce modèle est une solution exceptionnellement efficace pour les tâches d’assurance qualité au niveau de la production, optimisant à la fois les performances et l’efficacité de calcul.
Deepset/roberta-base-squad2 : Le modèle deepset/roberta-base-squad212,13 est une variante affinée de l’architecture RoBERTa. Il est spécialement conçu pour l’ensemble de données SQuAD14 2.0, qui comprend à la fois des questions avec et sans réponse. Ce cadre RoBERTa amélioré élimine les9 tâches NSP de BERT. Il utilise également le masquage dynamique pendant l’entraînement pour augmenter l’efficacité et les performances dans les tâches de compréhension NL. Le modèle dispose de 125 millions de paramètres et utilise un transformateur bidirectionnel. Cela lui permet d’acquérir des informations contextuelles dans les deux sens et d’exceller dans les tâches d’assurance qualité extractive.
Le réglage fin sur SQuAD 2.0 permet au modèle d’identifier la plage de réponse correcte dans un contexte donné et de reconnaître quand il n’y a pas de réponse. Il utilise un générateur de jetons BPE (Byte Pair Encoding) qui gère la tokenisation des sous-mots et préserve la sensibilité à la casse. Cela améliore sa capacité à traiter des mots inhabituels et complexes. Le modèle se comporte bien, atteignant environ 85 % à 90 % de F1 et 80 % à 85 % d’EM. Sa capacité à repérer les questions sans réponse et son déploiement efficace le rendent précieux pour le service client, la recherche de connaissances et les assistants virtuels.
La façon la plus efficace de déployer des modèles BERT affinés par SQuAD pour l’assurance qualité est d’utiliser le pipeline Hugging Face Transformers34. Ce cadre rationalise la tokenisation, le formatage des entrées, le chargement des modèles et le post-traitement des sorties. Ces modèles sont largement reconnus pour leur efficacité dans l’assurance qualité extractive, où la réponse est une étendue de texte directement récupérée du contexte donné. Pour guider la mise en œuvre, la procédure suivante décrit les étapes d’exécution des modèles BERT.
Saisie et configuration : Ce processus nécessite quatre entrées principales et des paramètres de configuration : le nom du modèle, spécifié en tant qu’identificateur de chaîne à partir du Hugging Face Hub (par exemple, google-bert/bert-large-uncased-whole-word-masking-finetuned-squad, distilbert/distilbert-base-cased-distilled-squad ou deepset/roberta-base-squad2) ; la question (Q), fournie sous la forme d’une chaîne contenant la requête ; et le contexte (C), une chaîne représentant le texte ou le passage pertinent. L’outil principal utilisé est la fonction de pipeline de haut niveau de la bibliothèque de transformateurs Hugging Face (version 4.57.0) en Python (version 3.12.12).
Processus : Exécution (pipeline Hugging Face) : Le processus se compose de six étapes principales et utilise le pipeline Hugging Face pour répondre à la complexité de la tâche d’assurance qualité :
Installer la bibliothèque : Commencez par installer la bibliothèque requise avec la commande pip install transformers. Cette installation permet d’accéder aux modèles et aux fonctionnalités de pipeline simplifiées.
Pipeline d’importation : Importez la fonction de pipeline à l’aide de : à partir de transformateurs, importez le pipeline.
Initialiser le pipeline d’assurance qualité : Initialisez le pipeline d’assurance qualité à l’aide de qa_pipeline = pipeline(« question-answering », model=" »). Cette commande télécharge le modèle et le générateur de jetons, ce qui les rend prêts pour l’inférence.
Définir l’entrée : Poser la question = ... et contexte = ... pour préparer les données du modèle.
Exécuter l’inférence : Transmettez la question et le contexte au pipeline avec result = qa_pipeline(question=question, context=context). Le modèle traite l’entrée et fournit une réponse.
Extraire la réponse : Récupère la chaîne de réponse du dictionnaire de sortie en utilisant : answer = result['answer'].
Sortie: Le processus produit plusieurs paramètres de sortie dans l’ordre suivant : Answer (l’étendue de texte extraite du contexte, présentée sous forme de chaîne), Score (une valeur à virgule flottante quantifiant la confiance du modèle dans sa prédiction) et les indices Start et End (entiers spécifiant les positions des caractères de l’étendue de réponse dans le contexte).
Phrase-transformers/all-MiniLM-L6-v2 : Le tout-MiniLM-L6-v235 est un transformateur de phrases pré-entraîné de la bibliothèque Sentence-Transformers (version 5.1.1)36. Il est optimisé pour une intégration de texte efficace et précise. Développé sur le framework MiniLM de Microsoft, il comprend six couches de transformateur et des intégrations à 384 dimensions. Cette conception équilibre les performances et la compétence de calcul, ce qui la rend adaptée aux applications en temps réel. Le modèle a été entraîné sur plus d’un milliard de paires de phrases à partir d’ensembles de données tels que SNLI, MultiNLI, benchmarks STS et données explorées sur le Web. Par conséquent, il démontre sa maîtrise de la similarité sémantique, du regroupement et des tâches liées à la recherche. En raison de sa petite taille (~22 Mo) et de ses performances d’inférence améliorées, le miniLM-L6-v2 simplifie les applications telles que la recherche sémantique, la détection des doublons et la catégorisation de texte. Bien qu’il soit léger, il offre une grande précision sur des bancs d’essai tels que STS-B et SICK-R, ce qui en fait un choix efficace pour les scénarios évolutifs et aux ressources limitées. Le flux de travail de génération de l’incorporation à l’aide de Phrase-Transformer est illustré à la figure 9 ci-dessous.

Figure 9 : Étape du processus d’intégration à l’aide du modèle de transformateur de phrases. La figure illustre le flux de travail de génération d’intégrations de texte à l’aide de l’infrastructure des transformateurs de phrases. Il décrit le processus, de l’importation de bibliothèques et du chargement d’un modèle pré-entraîné à la préparation des données de texte, à la génération d’intégrations, à leur conversion en tableaux NumPy et à leur stockage pour des tâches en aval telles que l’indexation ou la recherche de similarité. Veuillez cliquer ici pour voir une version agrandie de cette figure.
Algorithme proposé : Cette étude décrit une méthodologie suggérée dans l’algorithme 1 pour le développement du système SCD-QA basé sur SeCD, capable de répondre à la fois aux questions factoïdes et non factoïdes posées par les utilisateurs.
ALGORITHME 1 : Algorithme du système SCD-QA proposé à base de SeCD
Entrée : Ensemble du fichier de contexte brut (C) et de la requête de l’utilisateur (Q).
Sortie : LLM optimale sélectionnée basée sur un transformateur (M') et réponse générée par M'.
Contextes de prétraitement : Annotez l’ensemble de contextes bruts C pour créer un ensemble de données structuré au format DSQuAD .
DSQuAD = fannonné (C)
Générer des plongements de contexte : Utilisez un transformateur de phrase fembed pour convertir chaque contexte c
DSQuAD en un intégration ec.

Plongements de magasin : Stockez Ec dans une base de données vectorielle V pour une recherche de similarité efficace.

Générer l’incorporation de requête : Transformez la requête Q de l’utilisateur en une intégration eq à l’aide du même transformateur de phrase.

Récupération du contexte : Récupérez l’intégration
de contexte la plus pertinente à partir de la base de données V en fonction de la similitude avec eq.

où sim(eq,e c), est la fonction de similarité.
Transmettre le contexte aux LLM : Introduisez le contexte
récupéré dans 3 LLM basés sur un transformateur : Google-BERT (M1), DistilBERT (M2), RoBERTa (M3) et un modèle traditionnel : TF-IDF+Cosinus Similarity (M4)

Évaluation du modèle : Comparez les réponses {R1,R 2,R 3,R 4} à l’aide d’une fonction d’évaluation feval, qui note chaque réponse.

Sélectionnez le meilleur modèle : Identifiez le modèle M’avec le score d’évaluation le plus élevé S'

Générer le résultat final : utilisez M’pour générer la réponse finale R basée sur

Fin
Le processus d’algorithme proposé décrit une approche systématique (Figure 10) pour choisir un LLM idéal basé sur un transformateur pour répondre aux questions des utilisateurs. Il intègre le prétraitement, la récupération de contexte basée sur l’intégration et l’évaluation multi-modèles pour garantir des réponses de haute qualité et contextuellement pertinentes. Vous trouverez ci-dessous un aperçu du processus étape par étape :
Préparation et prétraitement des données : La première phase implique le traitement de données textuelles brutes.
Entrée : Les fichiers texte bruts8 sont adaptés dans le système.
Outil d’annotation31 : L’entrée est transformée en un ensemble de données structuré au format SQuAD14 . Cette étape consiste à créer des paires d’assurance qualité. Il organise également les données textuelles pertinentes en blocs de contexte bien définis.
Sortie : Le jeu de données est maintenant prêt à créer des plongements.
Génération d’intégration de contexte : pour permettre une récupération de contexte efficace et évolutive, un modèle Sentence-Transformer35,36 entraîné est appliqué à l’ensemble de données annotées. Ce transformateur convertit le texte en plongements de haute dimension qui capturent le sens sémantique. Les intégrations sont stockées dans VD, FAISS29,32 pour permettre des recherches rapides basées sur la similarité.
Traitement des requêtes de l’utilisateur : Lorsqu’un utilisateur soumet une question, celle-ci est traitée par le même transformateur de phrases35,36. Cela génère un plongement correspondant dans le même espace vectoriel29,32 que les plongements de contexte. Cette conception garantit que la requête peut être mise en correspondance avec des entrées de contexte pertinentes.
Récupération du contexte à l’aide de la similarité vectorielle : à l’aide d’une métrique de similarité (par exemple, la similarité cosinusoïdale), le système compare l’incorporation de la requête avec les intégrations de contexte stockées. Le système sélectionne le contexte le plus pertinent en fonction du score de similarité le plus élevé. Cela garantit que seul le contexte pertinent est transmis aux modèles en aval. Le processus réduit les frais de calcul et améliore la pertinence.
Évaluation du modèle sur plusieurs LLM : le contexte sélectionné est évalué par trois LLM basés sur un transformateur : Google-BERT28, DistilBERT10 et RoBERTa12. Il est également évalué par un TF-IDF37 traditionnel basé sur des mots-clés avec un modèle de similarité cosinus. Chaque modèle traite le contexte et génère une réponse à la question de l’utilisateur.
Évaluation comparative : Les réponses des quatre modèles LLM sont évaluées à l’aide de deux paramètres clés. Tout d’abord, l’appariement sémantique est évalué par EM14. Deuxièmement, la latence du modèle est analysée par les temps de réaction moyens15.
Sélection du modèle et sortie finale : Le modèle le plus performant est sélectionné comme LLM approprié pour la question de l’utilisateur. La réponse finale du modèle sélectionné est prise en compte. Cela garantit un équilibre entre l’efficacité du calcul et la qualité de la réponse.

Figure 10 : Flux de travail du système SCD-QA à l’aide de modèles basés sur des transformateurs. La figure montre le fonctionnement du système SCD-QA. Tout d’abord, un fichier de contexte brut est traité par un outil d’annotation pour créer un jeu de données au format SQuAD. Un transformateur de phrases génère ensuite des plongements, qui sont stockés dans une base de données vectorielle FAISS. Lorsqu’un utilisateur pose une question, le système crée un plongement pour celle-ci et sélectionne le contexte le plus pertinent. Il compare trois modèles basés sur des transformateurs - Google-BERT, DistilBERT et RoBERTa, et un score de similarité TFIDF + cosinus traditionnel - et utilise le plus performant pour fournir la réponse. Veuillez cliquer ici pour voir une version agrandie de cette figure.