0%
Tradução e NLP com ChatGPT

Tradução e NLP

Processamento de linguagem natural com ChatGPT

10-15 min

Tradução e NLP com ChatGPT

Introdução

A API do ChatGPT oferece recursos avançados para tradução e processamento de linguagem natural (NLP). Neste tutorial, vamos explorar como usar essas funcionalidades para criar aplicações de tradução e análise de texto.

Funcionalidades principais

  1. Tradução

    • Tradução entre idiomas
    • Tradução contextual
    • Tradução de documentos
  2. Processamento de linguagem natural

    • Análise de sentimento
    • Extração de entidades
    • Classificação de texto
    • Resumo de texto

Implementação

1. Serviço de tradução

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:
        """
        Traduz um texto para o 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]]:
        """
        Traduz um 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

Comentários

Os comentários são alimentados pelo GitHub Discussions

Conecte-se com o GitHub para participar da discussão

Link copiado!