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
Traduction
- Traduction entre langues
- Traduction contextuelle
- Traduction de documents
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