0%
Traduction et NLP avec ChatGPT

Traduction et NLP

Traitement du langage naturel avec ChatGPT

10-15 min

Traduction et NLP avec ChatGPT

Introduction

L'API ChatGPT offre des capacités avancées pour la traduction et le traitement du langage naturel (NLP). Dans ce tutoriel, nous allons explorer comment utiliser ces fonctionnalités pour créer des applications de traduction et d'analyse de texte.

Fonctionnalités principales

  1. Traduction

    • Traduction entre langues
    • Traduction contextuelle
    • Traduction de documents
  2. Traitement du langage naturel

    • Analyse de sentiment
    • Extraction d'entités
    • Classification de texte
    • Résumé de texte

Implémentation

1. Service de traduction

import openai
from typing import List, Dict, Optional

class TranslationService:
    def __init__(self, api_key: str):
        openai.api_key = api_key
        
    def translate_text(
        self, 
        text: str, 
        target_language: str, 
        source_language: Optional[str] = None,
        context: Optional[str] = None
    ) -> str:
        """
        Traduit un texte vers la langue cible
        """
        prompt = f"""
        Traduisez le texte suivant en {target_language}
        {f' depuis {source_language}' if source_language else ''}
        
        {f'Contexte: {context}' if context else ''}
        
        Texte à traduire:
        {text}
        
        Instructions:
        1. Conservez le style et le ton du texte original
        2. Adaptez les expressions idiomatiques
        3. Respectez la ponctuation et la mise en forme
        """
        
        try:
            response = openai.ChatCompletion.create(
                model="gpt-3.5-turbo",
                messages=[
                    {"role": "system", "content": "Vous êtes un expert en traduction."},
                    {"role": "user", "content": prompt}
                ],
                temperature=0.3
            )
            
            return response.choices[0].message.content
        except Exception as e:
            print(f"Erreur lors de la traduction: {str(e)}")
            return None
            
    def translate_batch(
        self, 
        texts: List[str], 
        target_language: str,
        source_language: Optional[str] = None
    ) -> List[Dict[str, str]]:
        """
        Traduit un lot de textes
        """
        results = []
        
        for text in texts:
            translation = self.translate_text(text, target_language, source_language)
            results.append({
                'original': text,
                'translated': translation
            })
            
        return results

Commentaires

Les commentaires sont alimentés par GitHub Discussions

Connectez-vous avec GitHub pour participer à la discussion

Lien copié !