Détection de plagiat scientifique avancé
Système de recherche sémantique multi-sources pour articles scientifiques
Année académique : 2024-2025
Supervisé par : Pr. Routaib Hayat
Réalisé par :
Othman El Hadrati
Wiame Bouhssar
Rachida Rachdaoui
13 décembre 2025
Table des matières
1 Introduction 2
2 Composant Engine 2
2.1 Architecture et API REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Service de Recherche Vectorielle (VectorSearchService) . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.3 Endpoints API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Composant Ingestion 3
3.1 Pipeline Multi-Sources Unifié . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2 Schéma de Métadonnées Enrichi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4 Composant UI 4
4.1 Affichage Avancé des Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.2 Recherche par PDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5 Technologies et Stack Technique 6
5.1 Intelligence Artificielle Données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.2 Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.3 Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6 Conclusion 7
1
1 Introduction
Ce projet développe un système avancé de recherche sémantique et de détection de similitudes pour articles
scientifiques, utilisant l’architecture RAG (Retrieval-Augmented Generation). Le système permet de rechercher et
d’analyser des publications issues de sources multiples (arXiv, Semantic Scholar) via une interface web moderne,
en s’appuyant sur des modèles d’ia de pointe pour la compréhension sémantique.
L’architecture comprend trois composants principaux :
— Engine : Backend FastAPI pour le traitement vectoriel et la recherche
— Ingestion : Module unifié pour l’agrégation et l’indexation multi-sources
— UI : Interface utilisateur [Link] pour la visualisation et l’interaction
2 Composant Engine
Le composant Engine constitue le cœur du système backend, développé avec FastAPI et intégrant les dernières
technologies de vectorisation de Google Cloud.
2.1 Architecture et API REST
L’application FastAPI ([Link]) expose une API REST robuste gérant :
— La recherche par similarité sémantique (Cosinus)
— La recherche diversifiée MMR (Maximal Marginal Relevance)
— L’upload et l’analyse sémantique de fichiers PDF
— La gestion des requêtes enrichies avec métadonnées
Les modèles de réponse ont été optimisés pour inclure des informations détaillées sur le modèle d’embedding
utilisé (model info) et structurer les résultats avec des métadonnées riches.
2.2 Service de Recherche Vectorielle (VectorSearchService)
Le service principal a est basé sur **Google Vertex AI** pour bénéficier de modèles d’embedding plus perfor-
mants et stables.
Figure 1 – Visualisation des relations sémantiques entre documents dans l’espace vectoriel
Caractéristiques techniques :
— Embeddings : Google Vertex AI (text-embedding-004)
— Dimension : 768 dimensions
— Infrastructure : LangChain intégré avec langchain-google-vertexai
— Stockage : Qdrant Cloud (Cluster managé)
2
Le service implémente une logique de mappage intelligente pour traduire les codes de catégories techniques (ex :
[Link]) en noms lisibles pour l’utilisateur (ex : ”Machine Learning”).
2.3 Endpoints API
— GET /health : Vérifie la connectivité aux services Qdrant et Vertex AI
— POST /search : Recherche sémantique standard
— POST /search/mmr : Recherche avec diversification des résultats
— POST /search/pdf : Extraction de texte PDF et recherche de documents similaires
3 Composant Ingestion
Le module d’ingestion a été refondu en une solution unifiée et robuste (ingest [Link]) capable d’agréger
des données de plusieurs API scientifiques.
3.1 Pipeline Multi-Sources Unifié
Contrairement aux approches fragmentées, le nouveau script unique gère l’ensemble du cycle de vie de la donnée :
1. Connexion API : Interrogation simultanée des API **arXiv** et **Semantic Scholar**.
2. Normalisation : Conversion des formats hétérogènes en un schéma de document standardisé.
3. Détection de Domaine : Classification automatique des articles dans des domaines majeurs (Informatique,
Mathématiques, Physique, Biologie, etc.) basée sur les métadonnées.
4. Embedding : Génération de vecteurs via text-embedding-004.
5. Indexation : Insertion par lots (batching) dans Qdrant pour optimiser les performances réseau.
3.2 Schéma de Métadonnées Enrichi
Figure 2 – Vue d’ensemble de la collection de documents dans la base Qdrant
Chaque document indexé est accompagné d’un riche ensemble de métadonnées pour améliorer la recherche et
l’affichage. Voici un exemple de la structure JSON stockée dans Qdrant :
{
"page_content": "Texte complet ou résumé de l’article...",
"metadata": {
"title": "Bidirectional Normalizing Flow",
"authors": "Yiyang Lu, Qiao Sun",
"published": "2025-12-11",
"summary": "Résumé détaillé de l’article...",
"source": "arXiv",
"domain": "Computer Science",
"categories": "Machine Learning, Computer Vision",
"categories_raw": "[Link], [Link]",
"primary_category": "Machine Learning",
"paper_url": "[Link]
"pdf_url": "[Link]
"comment": "Tech report",
"total_pages": 15
3
}
}
Figure 3 – Capture d’un document JSON réel avec ses métadonnées
Cette structure détaillée permet :
— Filtrage par source : Distinguer les articles d’arXiv de ceux de Semantic Scholar.
— Navigation par domaine : Utiliser les champs domain et categories pour l’exploration.
— Accès direct : Liens vers le PDF et la page originale.
Cette richesse de métadonnées permet à l’interface utilisateur de présenter des cartes de résultats très informa-
tives.
4 Composant UI
L’interface utilisateur ([Link] 14) a été mise à jour pour exploiter pleinement les nouvelles capacités du backend.
4
4.1 Affichage Avancé des Résultats
Figure 4 – Interface de recherche textuelle affichant les domaines et métadonnées
Le composant [Link] affiche désormais :
— Des **badges de domaine** colorés pour une identification visuelle rapide.
— Les **catégories décodées** (ex : ”Machine Learning” au lieu de ”[Link]”).
— Les **notes techniques** (ex : ”Tech report”, ”Conference paper”) si disponibles.
— Des boutons d’action directs pour voir le PDF ou la page source.
— Un score de pertinence pour chaque résultat.
5
4.2 Recherche par PDF
Figure 5 – Module d’upload et d’analyse de fichiers PDF
La fonctionnalité d’upload de PDF permet aux chercheurs de :
1. Uploader un article (brouillon ou publié).
2. Extraire automatiquement son contenu textuel.
3. Lancer une recherche sémantique pour trouver des travaux similaires existants (détection de nouveauté ou
de plagiat).
5 Technologies et Stack Technique
5.1 Intelligence Artificielle Données
— Google Vertex AI : Modèle d’embedding text-embedding-004 (SOTA).
— Qdrant : Base de données vectorielle pour la recherche de similarité à grande échelle.
— LangChain : Framework d’orchestration pour l’interaction LLM/Vecteurs.
5.2 Backend
— Python 3.12 : Langage de programmation.
— FastAPI : API Web haute performance.
— PyPDF2 : Traitement des fichiers PDF.
5.3 Frontend
— [Link] 14 : Framework React moderne.
— TypeScript : Sécurité du typage.
— Tailwind CSS : Design système utilitaire et réactif.
6
6 Conclusion
La version actuelle du système représente une évolution majeure vers une plateforme de recherche scientifique
professionnelle. L’intégration de **Google Vertex AI** assure une qualité de résultats supérieure, tandis que le
pipeline d’ingestion unifié facilite l’agrégation de connaissances depuis des sources variées. L’interface utilisateur,
enrichie par des métadonnées détaillées, offre une expérience de recherche intuitive et puissante pour les chercheurs
et académiques.