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
Traducción
- Traducción entre idiomas
- Traducción contextual
- Traducción de documentos
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