Aplicações Práticas de IA e NLP: Guia Completo
Descubra aplicações concretas de IA e NLP em diferentes áreas, com exemplos de código.
InSkillCoach
Aplicações Práticas de IA e NLP: Guia Completo
A Inteligência Artificial e o Processamento de Linguagem Natural (NLP) encontram aplicações em diversas áreas. Este guia apresenta casos de uso concretos com exemplos de código.
1. Análise de Textos
Análise de Documentos
# Exemplo de análise de documentos com spaCy
import spacy
from collections import Counter
def analyze_document(text):
# Carregamento do modelo em francês
nlp = spacy.load('fr_core_news_lg')
# Processamento do texto
doc = nlp(text)
# Extração das informações
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]
}
Resumo Automático
# Exemplo de resumo automático com Transformers
from transformers import pipeline
def generate_summary(text, max_length=130, min_length=30):
# Inicialização do modelo
summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
# Geração do resumo
summary = summarizer(
text,
max_length=max_length,
min_length=min_length,
do_sample=False
)
return summary[0]['summary_text']
2. Classificação de Textos
Categorização de Documentos
# Exemplo de classificação de documentos
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.pipeline import Pipeline
def create_document_classifier():
# Criação do pipeline
classifier = Pipeline([
('tfidf', TfidfVectorizer()),
('clf', MultinomialNB())
])
return classifier
def train_classifier(classifier, texts, labels):
# Treinamento do classificador
classifier.fit(texts, labels)
return classifier
def predict_category(classifier, text):
# Predição da categoria
prediction = classifier.predict([text])
probabilities = classifier.predict_proba([text])
return prediction[0], probabilities[0]
Detecção de Spam
# Exemplo de detecção de spam
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.ensemble import RandomForestClassifier
def create_spam_detector():
# Criação do detector
detector = Pipeline([
('vectorizer', CountVectorizer()),
('classifier', RandomForestClassifier())
])
return detector
def analyze_spam_probability(detector, email_text):
# Análise da probabilidade de spam
probability = detector.predict_proba([email_text])[0]
return {
"spam_probability": probability[1],
"is_spam": probability[1] > 0.5
}
3. Geração de Conteúdo
Geração de Artigos
# Exemplo de geração de artigos
from transformers import GPT2LMHeadModel, GPT2Tokenizer
def generate_article(topic, max_length=500):
# Carregamento do modelo
model = GPT2LMHeadModel.from_pretrained('gpt2')
tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
# Preparação do prompt
prompt = f"Article sur {topic}:"
inputs = tokenizer.encode(prompt, return_tensors='pt')
# Geração do texto
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)
Criação de Respostas Automáticas
# Exemplo de geração de respostas
from transformers import pipeline
def generate_response(context, question):
# Inicialização do modelo
qa_model = pipeline("question-answering", model="deepset/bert-base-cased-spqa")
# Geração da resposta
result = qa_model(question=question, context=context)
return {
"réponse": result['answer'],
"confiance": result['score']
}
4. Análise de Sentimento
Análise de Comentários
# Exemplo de análise de sentimento avançada
from transformers import pipeline
import pandas as pd
def analyze_comments(comments):
# Inicialização do modelo
sentiment_analyzer = pipeline(
"sentiment-analysis",
model="nlptown/bert-base-multilingual-uncased-sentiment"
)
# Análise dos comentários
results = []
for comment in comments:
sentiment = sentiment_analyzer(comment)[0]
results.append({
"commentaire": comment,
"sentiment": sentiment['label'],
"score": sentiment['score']
})
return pd.DataFrame(results)
Acompanhamento de Tendências
# Exemplo de acompanhamento de tendências
def track_sentiment_trends(comments, time_periods):
# Análise dos sentimentos por período
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. Aplicações Empresariais
Atendimento ao Cliente Automatizado
# Exemplo de chatbot para atendimento ao cliente
from transformers import AutoModelForCausalLM, AutoTokenizer
def create_customer_service_bot():
# Inicialização do 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):
# Geração da resposta
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álise de Documentos Jurídicos
# Exemplo de análise de documentos jurídicos
def analyze_legal_document(document_text):
# Carregamento do modelo
nlp = spacy.load('fr_core_news_lg')
# Processamento do documento
doc = nlp(document_text)
# Extração das informações jurídicas
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
}
Conclusão
As aplicações de IA e NLP são vastas:
- Análise e processamento de textos
- Classificação e categorização
- Geração de conteúdo
- Análise de sentimento
- Aplicações empresariais específicas
Pontos-chave a lembrar:
- Escolher os modelos certos
- Adaptar as soluções às necessidades
- Avaliar o desempenho
- Manter e aprimorar os sistemas
- Seguir as boas práticas
Sobre InSkillCoach
Especialista em treinamento e tecnologias
Coach especializado em tecnologias avançadas e IA, apoiado pela GNeurone Inc.
Certificações:
- AWS Certified Solutions Architect – Professional
- Certificações Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
Comentários
Os comentários são alimentados pelo GitHub Discussions
Conecte-se com o GitHub para participar da discussão