| --- |
| license: mit |
| language: |
| - fr |
| pipeline_tag: text-classification |
| tags: |
| - creatif |
| - Nekolien |
| - IA nekolienne |
| - classification de texte |
| --- |
| ## 🌸 Nekoline-classify : Le Classificateur Bilingue (Français/Nekolien) 🐱 |
|
|
|  |
|
|
| ### 🎀 Introduction Mignonne 🎀 |
|
|
| Bonjour et bienvenue dans l'univers de **Nekoline-classify** \! Je suis **Clemylia** (18 ans), et je suis ravie de partager avec vous mon tout premier modèle de classification de texte basé sur ma propre langue inventée : le **Nekolien** \! 💖 Ce modèle simple, mais efficace, a été entraîné avec **PyTorch** et est prêt à vous aider à distinguer le Nekolien du Français. C'est l'outil parfait pour tous ceux qui souhaitent explorer cette langue unique \! ✨ |
|
|
| ### 🎯 Objectif et Tâche du Modèle |
|
|
| **Nekoline-classify** est un modèle de **classification binaire de texte**. Sa mission est de déterminer si une phrase donnée est écrite en **Français** ou en **Nekolien** (correcte). |
|
|
| **Tâche :** Identifier la langue d'une phrase. |
|
|
| **Entrée :** Une chaîne de caractères (une phrase). |
|
|
| **Sortie :** Une prédiction binaire (0 ou 1). |
|
|
| | Valeur de Sortie | Langue Identifiée | |
| | :---: | :---: | |
| | **0** | 🇫🇷 **Français** | |
| | **1** | 🐱 **Nekolien** (Correct) | |
|
|
| ----- |
|
|
| ## 🛠️ Utilisation et Installation Rapide |
|
|
| Ce modèle a été créé avec **PyTorch**, mais il est facilement utilisable via la librairie **`transformers`** de Hugging Face. |
|
|
| ### 💻 Installation |
|
|
| Assurez-vous d'avoir les librairies nécessaires installées : |
|
|
| ```bash |
| pip install torch transformers |
| ``` |
|
|
| ### 🦄 Exemple d'Utilisation |
|
|
| Voici comment vous pouvez rapidement charger et utiliser **Nekoline-classify** : |
|
|
| ```python |
| from transformers import pipeline |
| |
| # Charger le classificateur |
| # (Le chemin "Clemylia/Nekoline-classify" est un exemple, |
| # il faudra le remplacer par votre identifiant réel si c'est différent) |
| classifier = pipeline("text-classification", model="Clemylia/Nekoline-classify") |
| |
| # --- Exemples de phrases --- |
| |
| phrase_fr = "J'aime beaucoup les chats et l'intelligence artificielle." |
| phrase_nekolien = "Neko-li kyo miwa ai-desu." # Exemple hypothétique en Nekolien |
| |
| # Prédiction |
| result_fr = classifier(phrase_fr) |
| result_nekolien = classifier(phrase_nekolien) |
| |
| # Affichage des résultats |
| print(f"Phrase : '{phrase_fr}'\nRésultat : {result_fr}") |
| print(f"Phrase : '{phrase_nekolien}'\nRésultat : {result_nekolien}") |
| |
| # 💡 Astuce : Le champ 'label' contiendra 'LABEL_0' (Français) ou 'LABEL_1' (Nekolien). |
| ``` |
|
|
| ----- |
|
|
| ## 🧠 Détails Techniques et Entraînement |
|
|
| ### ⚙️ Architecture |
|
|
| * **Type de Modèle :** Classificateur de texte (basé sur une architecture de type *Transformer* ou *RNN/CNN**) |
| * **Framework :** **PyTorch** 🌟 |
| * **Langue Inventée :** **Le Nekolien** (créée par Clemylia ✍️) |
|
|
| ### 📊 Jeu de Données |
|
|
| Le modèle a été entraîné sur un jeu de données contenant des exemples équilibrés de : |
|
|
| 1. Phrases en **Français** 🇫🇷 |
| 2. Phrases en **Nekolien** (correct et conforme à la grammaire de cette langue) 🐱 |
|
|
| <!-- end list --> |
|
|
| * **Taille du Dataset :** *[40] |
| * **Source :** Données générées par **Clemylia** pour le Nekolien et collectées/synthétisées pour le Français. |
|
|
| ----- |
|
|
| ## 📜 Limitations et Usage Éthique |
|
|
| ### ⚠️ Limitations |
|
|
| * **Langue Spécifique :** Le modèle n'est entraîné que pour le Français et le Nekolien. Il **ne reconnaîtra pas** d'autres langues (Anglais, Espagnol, etc.) et pourrait les classer par erreur comme 0 ou 1. |
| * **Nekolien Imparfait :** Si une phrase en Nekolien est incorrecte ou grammaticalement fausse, le modèle pourrait la classer comme 'Français' (0) ou une autre classe inattendue. |
|
|
| ### 💖 Usage Éthique |
|
|
| Ce modèle est destiné à des fins éducatives, de divertissement et de recherche linguistique. Il n'est pas conçu pour des tâches critiques et ne doit pas être utilisé pour : |
|
|
| * L'identification de l'utilisateur ou la surveillance. |
| * La classification de contenu sensible ou haineux. |
|
|
| ----- |
|
|
| ## 👩💻 Qui est la créatrice ? |
|
|
| Bonjour ! Je suis Clemylia, une jeune développeuse d'IA de 18 ans, passionnée par la création de mondes et de modèles. J'ai déjà publié d'autres modèles d'IA, mais Nekoline-classify est mon tout premier modèle axé sur ma langue inventée, le Nekolien ! 🐱 C'est le fruit de mes expérimentations en PyTorch, et j'espère qu'il vous plaira ! |
|
|
| ## *Merci d'utiliser mon modèle \! N'hésitez pas à laisser un petit cœur \!* 💜 |
|
|
| **Exemple de code pour utiliser** : |
|
|
| ``` |
| import torch |
| import torch.nn as nn |
| from huggingface_hub import hf_hub_download |
| |
| HF_USERNAME = "Clemylia" |
| MODEL_NAME = "nekoline-classify" |
| REPO_ID = f"{HF_USERNAME}/{MODEL_NAME}" |
| FILE_IN_REPO = "pytorch_model.pth" # Le nomia di le fichieria que niy ave envoyallia |
| |
| class LanguageClassifier(nn.Module): |
| """La memia structureia di modellia que niy ave entrainallia.""" |
| def __init__(self): |
| super(LanguageClassifier, self).__init__() |
| # 1 input (longallia) -> 5 neuronia cachia |
| self.layer_1 = nn.Linear(1, 5) |
| self.relu = nn.ReLU() |
| # 5 neuronia cachia -> 2 outputs (Français/Polyien) |
| self.layer_2 = nn.Linear(5, 2) |
| |
| def forward(self, x): |
| x = self.layer_1(x) |
| x = self.relu(x) |
| x = self.layer_2(x) |
| return x |
| |
| print(f"--- Telechargallia le fichieria '{FILE_IN_REPO}' di {REPO_ID} ---") |
| |
| model_local_path = hf_hub_download( |
| repo_id=REPO_ID, |
| filename=FILE_IN_REPO |
| ) |
| |
| print(f"✅ Poidsia telechargallia a : {model_local_path}") |
| |
| loaded_model = LanguageClassifier() |
| |
| loaded_model.load_state_dict(torch.load(model_local_path)) |
| loaded_model.eval() # Metallia la modellia en mode évaluationia |
| |
| print("✅ Modellia Nekoline-classify chargallia e prêta par le testia !") |
| |
| def classify_text_from_hub(text, model_to_test): |
| """Teste un texte en utilisant la longallia comme feature.""" |
| |
| # Preparallia l'input (longallia) |
| input_feature = torch.tensor([len(text)], dtype=torch.float32) |
| |
| with torch.no_grad(): |
| output = model_to_test(input_feature) |
| _, predicted = torch.max(output.data, 0) |
| |
| langue = "Polyien" if predicted.item() == 1 else "Français" |
| print(f"'{text}' (Longallia: {len(text)}) -> Predictallia: {langue}") |
| |
| |
| print("\n--- Resultatia di Testia cu Modellia Chargallia depuisia Hugging Face ---") |
| |
| # Français (Label 0 attendu) |
| classify_text_from_hub("Je teste le chargement du modèle depuis le hub.", loaded_model) |
| classify_text_from_hub("Le codage est amusant et éducatif.", loaded_model) |
| |
| # Polyien (Label 1 attendu) |
| classify_text_from_hub("Ji testa le chargallia di le modellia depuisia le huba.", loaded_model) |
| classify_text_from_hub("Le codallia eta amusanta e educativa.", loaded_model) |
| ``` |
|
|
| polyiens : autre nom du Nekolien |