Views
No views yet
almanach/camembert-base (gelé, aucun fine-tuning pour préserver la généralisation).joblib. Étant donné que le chargement du fichier pickle dépend de la classe personnalisée du détecteur, le script models_v2.py (ou models.py) doit être présent dans le même dossier ou dans votre chemin d'importation.pip install pandas numpy scikit-learn xgboost joblib transformers torch1import os
2import joblib
3import numpy as np
4
5# Assurez-vous d'avoir téléchargé 'best_detector_v2.pkl' et 'models_v2.py' dans votre dossier de travail.
6from models_v2 import SOTAHybridDetector
7from build_features_v2 import extract_sota_features
8from camembert_encoder import CamemBERTEncoder
9
10# 1. Charger le pack de détection
11print("Chargement du modèle...")
12package = joblib.load("best_detector_v2.pkl")
13detector = package["model"]
14stylometric_cols = package["stylometric_cols"]
15
16# 2. Initialiser l'encodeur CamemBERT pour la partie neurale
17encoder = CamemBERTEncoder(device="cpu") # ou "cuda" si disponible
18
19# 3. Exemple de texte à analyser
20texte = "Monsieur le Président, mes chers collègues, nous devons voter cette loi pour le bien de la nation."
21
22# 4. Extraction des features stylométriques
23# On extrait les 30 features stylométriques
24features_dict = extract_sota_features(texte)
25X_sty = np.array([[features_dict[col] for col in stylometric_cols]])
26
27# 5. Extraction des embeddings CamemBERT
28X_emb = np.array([encoder.encode_single(texte)])
29
30# 6. Prédiction
31prob_ia = detector.predict_proba(X_sty, X_emb)[0, 1]
32prediction = detector.predict(X_sty, X_emb)[0]
33
34print(f"Probabilité d'écriture par IA : {prob_ia:.2%}")
35print(f"Verdict : {'IA' if prediction == 1 else 'Humain'}")