# Utiliser BERTopic sur Hugging Face

[BERTopic](https://github.com/MaartenGr/BERTopic) est un cadre de modélisation de sujets qui exploite 🤗 transformers et c-TF-IDF pour créer des clusters denses permettant d’obtenir des sujets facilement interprétables tout en conservant les mots importants dans les descriptions des sujets.

BERTopic prend en charge toutes sortes de techniques de modélisation thématique :

  
    Supervisé guidé Semi-supervisé
 
   
    Distributions multi-sujets manuelles Hiérarchiques
 
 
    Dynamique en ligne/incremental basé sur des classes
 
 
    Génération de texte multimodale multi-aspects/LLM
 
 
    Zéro-shot (nouveau !) Fusion de modèles (nouveau !) Mots de départ (nouveau !)
 

## Explorer BERTopic sur le Hub

Vous pouvez trouver les modèles BERTopic en filtrant à gauche de la [page des modèles](https://huggingface.co/models?library=bertopic&sort=trending).

Les modèles BERTopic hébergés sur le Hub disposent d’une fiche modèle contenant des informations utiles sur les modèles. Grâce à l’intégration de BERTopic avec le Hugging Face Hub, vous pouvez charger des modèles BERTopic en quelques lignes de code. Vous pouvez également déployer ces modèles à l’aide de [Inference Endpoints](https://huggingface.co/inference-endpoints).

## Installation

Pour commencer, vous pouvez suivre le [guide d'installation de BERTopic](https://github.com/MaartenGr/BERTopic#installation). Vous pouvez également utiliser l'installation en une ligne suivante via pip :

```bash
pip install bertopic
```

## Utilisation de modèles existants

Tous les modèles BERTopic peuvent être chargés facilement depuis le Hub :

```py
from bertopic import BERTopic
topic_model = BERTopic.load("MaartenGr/BERTopic_Wikipedia")
```

Une fois chargé, vous pouvez utiliser les fonctionnalités de BERTopic pour prédire les sujets de nouvelles instances :

```py
topic, prob = topic_model.transform("This is an incredible movie!")
topic_model.topic_labels_[topic]
```

Ce qui nous donne le sujet suivant :

```text
64_rating_rated_cinematography_film
```

## Partage de modèles

Une fois que vous avez créé un modèle BERTopic, vous pouvez facilement le partager avec d’autres personnes via le Hugging Face Hub. Pour ce faire, nous pouvons utiliser la fonction `push_to_hf_hub` qui nous permet de pousser directement le modèle sur le Hugging Face Hub :

```python
from bertopic import BERTopic

# Train model
topic_model = BERTopic().fit(my_docs)

# Push to HuggingFace Hub
topic_model.push_to_hf_hub(
    repo_id="MaartenGr/BERTopic_ArXiv",
    save_ctfidf=True
)
```

Notez que le modèle enregistré n’inclut pas les algorithmes de réduction de dimensionnalité et de clustering. Ceux-ci sont supprimés car ils ne sont nécessaires que pour entraîner le modèle et trouver des sujets pertinents. L’inférence est effectuée par une simple similarité cosinus entre les embeddings des sujets et des documents. Cela non seulement accélère le modèle, mais nous permet également de disposer d’un modèle BERTopic très léger avec lequel nous pouvons travailler.

## Ressources supplémentaires

* [Dépôt BERTopic](https://github.com/MaartenGr/BERTopic)
* [Documentation BERTopic](https://maartengr.github.io/BERTopic/)
* [Modèles BERTopic sur le Hub](https://huggingface.co/models?library=bertopic&sort=trending)

