Prévia do material em texto
RELATÓRIO DE AULA PRÁTICA
Processamento de Linguagem Natural - NLP
PROFESSOR
Anderson Inacio Salata de Abreu
ALUNO
Joinville - SC 2024
1
1. INTRODUÇÃO
O objetivo desta aula prática é apresentar os princípios do Processamento de
Linguagem Natural (PNL), que é uma parte da inteligência artificial onde se concentra
a interação entre computadores e a linguagem humana. A PLN consiste no
desenvolvimento de algoritmos e modelos computacionais capazes de compreender e
processar a linguagem humana de forma semelhante à forma como os humanos
fazem.
3
2. MÉTODO
import nltk
from nltk.chat.util import Chat, reflections
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
import tkinter as tk
# Definindo os pares de padrões e respostas
pares = [
['Oi', ['Olá!', 'Olá, como posso ajudar?']],
['Como você está?', ['Estou bem, obrigado. E você?', 'Tudo bem!']],
['Quem é você?', ['Sou seu professor virtual.', 'Me chame de Prof.']],
['Qual é o seu objetivo?', ['Meu objetivo é ajudar a responder suas perguntas.',
'Estou aqui para te ensinar.']],
['Como você pode me ajudar?', ['Posso ajudar respondendo suas perguntas
baseado em conteúdos na web.', 'Estou aqui para te mostrar opções.']],
]
# Definindo as stopwords
stop_words = set(stopwords.words('portuguese'))
# Criando objeto de chat
chatbot = Chat(pares, reflections)
# Função para processar a entrada do usuário
def process_input(sentence):
words = word_tokenize(sentence)
filtered_sentence = [w for w in words if not w in stop_words]
return ' '.join(filtered_sentence)
# Função para interagir com o chatbot
def chat():
print("Olá! Digite 'sair' para encerrar o chat.")
while True:
mensagem = input("Você: ")
if mensagem.lower() == 'sair':
print("Chat encerrado.")
break
mensagem_processada = process_input(mensagem)
resposta = chatbot.respond(mensagem_processada)
print("ChatGPT: ", resposta)
# Interface gráfica usando Tkinter
def chat_gui():
def send_message():
mensagem = user_input.get()
user_input.delete(0, tk.END)
mensagem_processada = process_input(mensagem)
resposta = chatbot.respond(mensagem_processada)
chat_history.config(state=tk.NORMAL)
chat_history.insert(tk.END, "Você: " + mensagem + "\n")
chat_history.insert(tk.END, "ChatGPT: " + resposta + "\n")
chat_history.config(state=tk.DISABLED)
chat_history.see(tk.END)
root = tk.Tk()
root.title("ChatBot")
chat_history = tk.Text(root, bd=0, height=8, width=50, font="Arial",
state=tk.DISABLED)
chat_history.grid(row=0, column=0, columnspan=2, padx=10, pady=10)
user_input = tk.Entry(root, width=50)
user_input.grid(row=1, column=0, padx=10, pady=10)
send_button = tk.Button(root, text="Enviar", width=10,
command=send_message)
send_button.grid(row=1, column=1, padx=10, pady=10)
root.mainloop()
# Escolha entre o modo de texto ou GUI
modo = input("Escolha o modo (texto/gui): ")
if modo.lower() == "texto":
chat()
elif modo.lower() == "gui":
chat_gui()
else:
print("Modo inválido.")
3. CONCLUSÃO
Nos dias de hoje, a inteligência artificial tem se tornado cada vez mais presente em
nosso cotidiano. Uma das aplicações mais comuns dessa tecnologia são os chatbots,
programas de computador capazes de simular uma conversa com seres humanos.
Para construir um chatbot simples em Python, podemos utilizar a biblioteca NLTK
(Natural Language Toolkit), que oferece diversas ferramentas e recursos para trabalhar
com texto. Primeiramente, é necessário instalar o NLTK e baixar os dados necessários
para o processamento de linguagem natural. Em seguida, podemos começar a
programar o chatbot, definindo padrões de entrada e saída para simular uma conversa.
O Processamento de Linguagem Natural é uma área da inteligência artificial que tem
como objetivo permitir que computadores entendam, interpretem e gerem linguagem
humana de forma natural. Para isso, são utilizadas técnicas como tokenização, e
análise sintática. Ao compreender esses conceitos básicos, podemos melhorar a
interação do chatbot com os usuários e tornar as conversas mais fluidas e naturais.
REFERÊNCIAS BIBLIOGRÁFICAS
Conteúdo Web 2 - Material Externo.
Aula 4 - LINGUÍSTICA APLICADA COM PYTHON
A linguagem de programação de computadores Python é classificada como código
aberto, ou seja, sem fins lucrativos. Ela foi desenvolvida e sustentada por uma
fundação de profissionais da computação.
9