Download darkbert_model/analyse_darkbert.py from Bartholomew-1/darkbert: direct link, hf CLI and curl.
- Browser
- Download file 1.34 kB
-
https://huggingface.co/Bartholomew-1/darkbert/resolve/main/darkbert_model/analyse_darkbert.py
- Command line
-
hf download hf://Bartholomew-1/darkbert/darkbert_model/analyse_darkbert.py
-
curl -L -o analyse_darkbert.py https://huggingface.co/Bartholomew-1/darkbert/resolve/main/darkbert_model/analyse_darkbert.py
1.34 kB
| from transformers import AutoTokenizer, AutoModel | |
| import torch | |
| import os | |
| from sklearn.metrics.pairwise import cosine_similarity | |
| # Initialisation de DarkBERT | |
| tokenizer = AutoTokenizer.from_pretrained("kakaobrain/DarkBERT") | |
| model = AutoModel.from_pretrained("kakaobrain/DarkBERT").to("cuda") | |
| def analyser_fichier(chemin): | |
| with open(chemin, "r", encoding="utf-8") as f: | |
| texte = f.read() | |
| inputs = tokenizer(texte, return_tensors="pt", truncation=True, max_length=512).to("cuda") | |
| with torch.no_grad(): | |
| sorties = model(**inputs) | |
| return sorties.last_hidden_state.mean(dim=1).cpu().numpy() | |
| # Parcours des fichiers sur le bureau | |
| bureau = "C:/Users/Utilisateur/Desktop" | |
| fichiers = [f for f in os.listdir(bureau) if f.endswith(('.txt', '.csv'))][:2] | |
| resultats = {} | |
| for fichier in fichiers: | |
| chemin = os.path.join(bureau, fichier) | |
| resultats[fichier] = analyser_fichier(chemin) | |
| print(f"Fichier {fichier} traité - Dimension embedding: {resultats[fichier].shape}") | |
| # Calcul de la similarité sémantique | |
| if len(fichiers) == 2: | |
| similarite = cosine_similarity(resultats[fichiers[0]], resultats[fichiers[1]])[0][0] | |
| print(f"\nSimilarité sémantique entre les fichiers : {similarite:.2f}") | |
| else: | |
| print("\nMoins de deux fichiers trouvés pour comparer.") | |