0%
Traducción y PLN con ChatGPT

Traducción y PLN

Procesamiento del lenguaje natural con ChatGPT

10-15 min

Traducción y PLN con ChatGPT

Introducción

La API de ChatGPT ofrece capacidades avanzadas para la traducción y el procesamiento del lenguaje natural (PLN, o NLP por sus siglas en inglés). En este tutorial exploraremos cómo utilizar estas funcionalidades para crear aplicaciones de traducción y análisis de texto.

Funcionalidades principales

  1. Traducción

    • Traducción entre idiomas
    • Traducción contextual
    • Traducción de documentos
  2. Procesamiento del lenguaje natural

    • Análisis de sentimiento
    • Extracción de entidades
    • Clasificación de texto
    • Resumen de texto

Implementación

1. Servicio de traducción

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:
        """
        Traduce un texto al idioma de destino
        """
        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]]:
        """
        Traduce un lote de textos
        """
        results = []
        
        for text in texts:
            translation = self.translate_text(text, target_language, source_language)
            results.append({
                'original': text,
                'translated': translation
            })
            
        return results

Comentarios

Los comentarios funcionan con GitHub Discussions

Inicia sesión con GitHub para participar en la discusión

¡Enlace copiado!