|
|
--- |
|
|
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 |