Aplicaciones prácticas de la IA y del NLP: guía completa
Descubre aplicaciones concretas de la IA y del NLP en distintos ámbitos con ejemplos de código.
InSkillCoach
Aplicaciones prácticas de la IA y del NLP: guía completa
La Inteligencia Artificial y el Procesamiento del Lenguaje Natural encuentran aplicaciones en numerosos ámbitos. Esta guía presenta casos de uso concretos con ejemplos de código.
1. Análisis de textos
Análisis de documentos
# Exemple d'analyse de documents avec spaCy
import spacy
from collections import Counter
def analyze_document(text):
# Chargement du modèle français
nlp = spacy.load('fr_core_news_lg')
# Traitement du texte
doc = nlp(text)
# Extraction des informations
entities = [(ent.text, ent.label_) for ent in doc.ents]
keywords = [token.text for token in doc if not token.is_stop and token.is_alpha]
key_phrases = [chunk.text for chunk in doc.noun_chunks]
return {
"entités": entities,
"mots_clés": Counter(keywords).most_common(10),
"phrases_clés": key_phrases[:5]
}
Resumen automático
# Exemple de résumé automatique avec Transformers
from transformers import pipeline
def generate_summary(text, max_length=130, min_length=30):
# Initialisation du modèle
summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
# Génération du résumé
summary = summarizer(
text,
max_length=max_length,
min_length=min_length,
do_sample=False
)
return summary[0]['summary_text']
2. Clasificación de textos
Categorización de documentos
# Exemple de classification de documents
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.pipeline import Pipeline
def create_document_classifier():
# Création du pipeline
classifier = Pipeline([
('tfidf', TfidfVectorizer()),
('clf', MultinomialNB())
])
return classifier
def train_classifier(classifier, texts, labels):
# Entraînement du classificateur
classifier.fit(texts, labels)
return classifier
def predict_category(classifier, text):
# Prédiction de la catégorie
prediction = classifier.predict([text])
probabilities = classifier.predict_proba([text])
return prediction[0], probabilities[0]
Detección de spam
# Exemple de détection de spam
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.ensemble import RandomForestClassifier
def create_spam_detector():
# Création du détecteur
detector = Pipeline([
('vectorizer', CountVectorizer()),
('classifier', RandomForestClassifier())
])
return detector
def analyze_spam_probability(detector, email_text):
# Analyse de la probabilité de spam
probability = detector.predict_proba([email_text])[0]
return {
"spam_probability": probability[1],
"is_spam": probability[1] > 0.5
}
3. Generación de contenido
Generación de artículos
# Exemple de génération d'articles
from transformers import GPT2LMHeadModel, GPT2Tokenizer
def generate_article(topic, max_length=500):
# Chargement du modèle
model = GPT2LMHeadModel.from_pretrained('gpt2')
tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
# Préparation du prompt
prompt = f"Article sur {topic}:"
inputs = tokenizer.encode(prompt, return_tensors='pt')
# Génération du texte
outputs = model.generate(
inputs,
max_length=max_length,
num_return_sequences=1,
temperature=0.7,
top_p=0.9,
do_sample=True
)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
Creación de respuestas automáticas
# Exemple de génération de réponses
from transformers import pipeline
def generate_response(context, question):
# Initialisation du modèle
qa_model = pipeline("question-answering", model="deepset/bert-base-cased-spqa")
# Génération de la réponse
result = qa_model(question=question, context=context)
return {
"réponse": result['answer'],
"confiance": result['score']
}
4. Análisis de sentimiento
Análisis de comentarios
# Exemple d'analyse de sentiment avancée
from transformers import pipeline
import pandas as pd
def analyze_comments(comments):
# Initialisation du modèle
sentiment_analyzer = pipeline(
"sentiment-analysis",
model="nlptown/bert-base-multilingual-uncased-sentiment"
)
# Analyse des commentaires
results = []
for comment in comments:
sentiment = sentiment_analyzer(comment)[0]
results.append({
"commentaire": comment,
"sentiment": sentiment['label'],
"score": sentiment['score']
})
return pd.DataFrame(results)
Seguimiento de tendencias
# Exemple de suivi des tendances
def track_sentiment_trends(comments, time_periods):
# Analyse des sentiments par période
trends = {}
for period in time_periods:
period_comments = comments[period]
sentiment_scores = analyze_comments(period_comments)
trends[period] = {
"moyenne_sentiment": sentiment_scores['score'].mean(),
"distribution": sentiment_scores['sentiment'].value_counts().to_dict()
}
return trends
5. Aplicaciones empresariales
Servicio de atención al cliente automatizado
# Exemple de chatbot pour le service client
from transformers import AutoModelForCausalLM, AutoTokenizer
def create_customer_service_bot():
# Initialisation du chatbot
model = AutoModelForCausalLM.from_pretrained("microsoft/DialoGPT-medium")
tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-medium")
return model, tokenizer
def generate_bot_response(model, tokenizer, user_input, chat_history):
# Génération de la réponse
inputs = tokenizer.encode(user_input + tokenizer.eos_token, return_tensors='pt')
outputs = model.generate(
inputs,
max_length=1000,
pad_token_id=tokenizer.eos_token_id,
no_repeat_ngram_size=3,
do_sample=True,
top_k=100,
top_p=0.7,
temperature=0.8
)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
Análisis de documentos legales
# Exemple d'analyse de documents légaux
def analyze_legal_document(document_text):
# Chargement du modèle
nlp = spacy.load('fr_core_news_lg')
# Traitement du document
doc = nlp(document_text)
# Extraction des informations légales
legal_entities = [(ent.text, ent.label_) for ent in doc.ents if ent.label_ in ['ORG', 'LAW']]
dates = [ent.text for ent in doc.ents if ent.label_ == 'DATE']
obligations = [sent.text for sent in doc.sents if any(word in sent.text.lower() for word in ['doit', 'obligation', 'nécessaire'])]
return {
"entités_légales": legal_entities,
"dates": dates,
"obligations": obligations
}
Conclusión
Las aplicaciones de la IA y del NLP son muy amplias:
- Análisis y procesamiento de textos
- Clasificación y categorización
- Generación de contenido
- Análisis de sentimiento
- Aplicaciones empresariales específicas
Puntos clave que recordar:
- Elegir los modelos adecuados
- Adaptar las soluciones a las necesidades
- Evaluar el rendimiento
- Mantener y mejorar los sistemas
- Seguir las buenas prácticas
Acerca de InSkillCoach
Experto en formación y tecnologías
Coach especializado en tecnologías avanzadas e IA, impulsado por GNeurone Inc.
Certificaciones:
- AWS Certified Solutions Architect – Professional
- Certificaciones de Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
Comentarios
Los comentarios funcionan con GitHub Discussions
Inicia sesión con GitHub para participar en la discusión