Sadržaj:

Atendente Automático Com Python Nema Google Colaba: 5 koraka
Atendente Automático Com Python Nema Google Colaba: 5 koraka

Video: Atendente Automático Com Python Nema Google Colaba: 5 koraka

Video: Atendente Automático Com Python Nema Google Colaba: 5 koraka
Video: How to Do SDXL Training For FREE with Kohya LoRA - Kaggle - NO GPU Required - Pwns Google Colab 2024, Studeni
Anonim
Atendente Automático Com Python Nema Google Colaba
Atendente Automático Com Python Nema Google Colaba

Olá pessoal! Tudo bem?

Meu nome é Guilherme, Nesse projeto nós vamos aprender como criar um ChatBot usendo Linguagem de programção Python e Google Colab!

Sou aluno da https://orbe.ai/ - Escola de Inteligência Artificial Infinita e esse projeto que desenvolvi foi a partir da minha segunda semana no curso, para cumprir com o desafio do profesor Rafa, que era usar o comando input () no piton! Valeu Rafa por toda a ajuda!

Bom, eu não tenho conhecimento prévio de programação e para realizar esse projeto demandou muitas madrugadas a dentro lendo e pesquisando vários códigos, erros, comandos, sem sabre o que estava fazendo direito, e a maioria em inglês!

A idéia é trazer um pouco desse conhecimento para o português e aproveitar para aprender sobre linguagem de programação e inteligência umjetna enquanto a gente se diverte!

Bom, nesse primeiro projeto vamos desenvolver um Atendente Virtual que pega dados do cliente e salva esses dados como "arquivo pickle" e então entra uma Inteligência Umjetna para realizar o atendimento; que funciona através de uma "neuronska mreža" ou "rede neural" onde ela; a grosso modo; pega a palavra, transforma em número e compara com a base de dado que vamos alimentar, e nisso, calcula a probabilidade para ver em qual nicho esta palavra se encontra, e qual a melhor resposta dar.

Eu tenho um restaurante e specificmente fiz esse chatbot para no futuro conseguir implantar esse atendimento em meu empreendimento, e quem sabe, até vender para outros restaurantes.

Vou deixar disponível a versão aqui ensinando você a personalizar a sua, desde a base de dados até as falas iniciais para captar os dados dos clientes!

Vamos aprender:

- Alguns significados dos códigos usados para a programção do Machine Learning

- Importer Bibliotecas e o Significados das Bibliotecas que estamos usando

- Escrever e salvar um Arquivo. Json para rodar o programu

- Como Capturar e Salvar os dados dos clientes

Problemi s Projetom:

Como esse foi o primeiro passo do projeto e saiu a partir de zero de conhecimento em programação de python da minha parte ele ainda apresenta algumas falhas; tais como:

-Os dados do arquivo.pickle que vamos captar do cliente, ao tentar le-los em outro jupyter notebook dão como "vazios" (ou eu que ainda não aprendi como lê-los)

- O arquivo.pickle por enquanto pega apenas os dados do cliente e não os históricos de pedidos

- O arquivo.pickle faz o download na máquina assim que o cliente encerra o atendimento, ou seja, caso ele fizesse pelo celular, salvaria no próprio celular dele, a ideia é redirecionar para uma nuvem onde um algoritimo possa interpretar, em um aplicativo por exemplo

- Não ter uma interface for realizar esse atendimento

- Ao se comunicar com a máquina, não temos configurado ainda; caso a pessoa fale algo muito sem sentido; uma resposta "Desculpe; não entendi o que foi dito! Poderia perguntar novamente ou fazer outra pergunta?"

- o Skup podataka izbrišite da algumas respostas erradas

Porém, visto que esse projeto é algo voltado para uma aplicação futura REAL; estará em constante evolução e esses problemas serão resolvidos futuramente e em um novo tutorial, onde provavelmente, novos problemas terão surgido!: D

Esse projeto eu peguei desse veza:

Nele, Tim explica o passo a passo do projeto! Porém ele roda o phyton e as bibliotecas instaladas direto no PC, usando o PyCharm me ne angažira!

Como vamos usar o JupyterNotebook no Collab e o tutorial que ele fez tem um ano, tive que fazer algumas alterações de programação!

Bom divertimento e espero que goste!: D

1. korak: Instalando O Google Colaboratory

Instalando O Google -ova suradnja
Instalando O Google -ova suradnja
Instalando O Google -ov suradnički laboratorij
Instalando O Google -ov suradnički laboratorij
Instalando O Google -ov suradnički laboratorij
Instalando O Google -ov suradnički laboratorij
Instalando O Google -ova suradnja
Instalando O Google -ova suradnja

Bom, primeiro passo je instaliran na Google Colaboratory za rodarmos nosso JupyterNotebook!

1. nema Google diska, kliknite "novo" (ver foto)

2. kliknite "Mais" (ver foto)

3. Kliknite "conectar mais apps" (ver foto)

4. Pjesme "Google Colaboratory" e o aplikaciji deve estar lá

Porém alguns colegas de classe e eu tivemos um certo probleminha ao procurar o google colaboratory, pois ao pesquisar em "conectar mais aplicativos" ele não aparecia; caso isso aconteça com você siga o seguinte passo a passo:

1. klika nema veze ao lado:

2. Clique em Cancel (ver foto)

3. Kliknite "Datoteka" (ou "Arquivo" se estiver em português) (ver foto)

4. Kliknite "Spremi kopiju na Disku" (ili "Salvar cópia em Drive") (ver foto)

Odmah! Agora você já tem instalado o Google Colaboratory

Korak 2: Baixando O Jupyter prijenosno računalo E Rodando O ChatBot

Baixando O Jupyter Bilježnica E Rodando O ChatBot
Baixando O Jupyter Bilježnica E Rodando O ChatBot
Baixando O Jupyter Bilježnica E Rodando O ChatBot
Baixando O Jupyter Bilježnica E Rodando O ChatBot
Baixando O Jupyter Bilježnica E Rodando O ChatBot
Baixando O Jupyter Bilježnica E Rodando O ChatBot
Baixando O Jupyter Bilježnica E Rodando O ChatBot
Baixando O Jupyter Bilježnica E Rodando O ChatBot

Bom pessoal; agora que estamos com o Google Colaboratory instalado, nós vamos começar a rodar os nossos Jupyter Notebooks e começar a rodar o CharBot, antes de personalizar o nosso!

Bilježnica Jupyter - O Projeto Jupyter é uma organização sem fins lucrativos criada para "desenvolver software de código aberto, padrões abertos e serviços para computação interativa em dezenas de linguagens de programação; ou seja; é como se fosse um" rodar cédulas com texto ou com código; usando toda a plataforma do Google Colab; é uma forma mais fácil, e barata, de termos acesso a uma plataforma de linguagem python e acesso a várias bibliotecas incríveis!

Passos:

1. Baixe o Arquivo OrbeChat.rar disponível nesse passo

2. Lá terá dois arquivos; 1 ORBE_AI_CHAT (esse é o Jupyter Notebook) e o outro é o Intents.json;

3. Extraia ambos para a Área de Trabalho

4. Tire da Pasta e arraste para a Área de Trabalho

5. Faça upload za Google disk (para fazer o Upload, basta abrir o Google Drive i arrastar os arquivos para dentro dele)

6. Repita o mesmo processo com o arquivo Intents.json (esse nós só vamos mexer depois; no passo seguinte para podermos personalizar nosso atendente

Agora para abrir o Juyter Bilježnica; existem dois caminhos:

1. Encontre o Arquivo desejado

2.1. Clicar duas vezes e selecionar "Abrir com o Google Colaboratory"

2.2. Clicar com o Botão direito; Kliknite "Abrir Com" i odaberite "Google Colaboratory"

Dentro desse Jupyter Notebook eu separei as cédulas em Texto e Código, a fim de deixar a programção o mais entendível possivel, para que possamos sabre o que está acontecendo, caso algum erro aconteça, e também o em emérmos lembrar futuro! hahahahha

Cada cédula de texto explica o código abaixo dela e todos os tópidos enumerados estão disponíveis para acompanhar no código também com os caracteres #1

Para começar a rodar os códigos; basta clicar com no botão de Play das cédulas de cógido (ver foto)

Vale dizer que a primeira cédula é a que mais demora; ovisi o internetu. Demora alguns segundinhos; dependendo do código, de um a dois minutinhos.

Outra coisa importante é semper clicar no play na ordem que os cédulas de cógido estão lá.

Você não pode rodar o último código sem rodar o primeiro! Pois o primeiro contém informações básicas para toda a programção dar certo, e por ai vai!

Agora vou ensinar a como você sobe o arquivo Intents.json para rodar dentro do Jupyter Notebooks.

1. Na terceira cédula de cógido "iz uvoznih datoteka google colab …" (ver foto)

2. Odabir "Escolher aquivos" (ver foto)

3. Clique em "Área de Trabalho" (ver foto)

4. Encontre o arquivo desejado; no nosso caso "namjere.json" (ver foto)

5. Klikni "Abrir" (ver foto)

6. A cédula irá finalizar automáticamente e deverá aparecer como está na foto quando finalizar de carregar (ver foto)

Bom;

Agora vou falar um pouco a respeito de um probleminha que eu tive;

Por algum motivo, o qual eu ainda não consegui compreender e Resolver, talvez por estar rodando este código no colaboratory, ou por algum problem de programação mesmo, na quinta cédula, quando treinamos a Inteligência Umjetno não conseguimos treinar a m a tre amos ou seja, toda vez que nós, por vamos trocar o arquivo intents.json nós temos que ir em "Runtime" depois em "Factory Reset Runtime" e então carregar tudo de novo, desde a instalação;

Então caso isso aconteça com você

1. Kliknite "Runtime"

2. Kliknite "Factory Reset Runtime"

3. Kliknite "Da".

Korak 3: Personalizacija Seu Próprio Próprio Arquivo. JSON

Personalizando Seu Próprio Próprio Arquivo. JSON
Personalizando Seu Próprio Próprio Arquivo. JSON
Personalizando Seu Próprio Próprio Arquivo. JSON
Personalizando Seu Próprio Próprio Arquivo. JSON
Personalizando Seu Próprio Próprio Arquivo. JSON
Personalizando Seu Próprio Próprio Arquivo. JSON
Personalizando Seu Próprio Próprio Arquivo. JSON
Personalizando Seu Próprio Próprio Arquivo. JSON

Bom; até agora já aprendemos:

- Kako instalirati Google Colab

- Como Rodar ili Jupyter Notebook

- Vários conceitos sobre programação e como a codificação do Jupyter Notebook funciona!

Agora vamos começar a dar os primeiros passos para personalizar o nosso próprio ChatBot!

Esse arquivo.json; que no nosso caso está como intents.json é o arquivo pelo qual nossa Inteligência Umjetna irá identificar os padrões de palavras atráves de cálculos matemáticos e descobrir qual resposta dar para cada situação !!

Bez passo três; nós fizemos o upload desse arquivo para ili Google disk; agora vamos editá-lo!

Vem comigo !!

1. Bez pogona, lokalizirajte o arquivo desejado; caso ele não apareça de primeira pesquise por "namjere.json"

2. De dois cliques nele

3. Odaberite "Abrir com o Text Editor"

4. Pronto! O namjere.json está aberto!

Antes de começar a editá-lo, vamos entender alguns conceitos!

Como disse antes; o namjere.json é o arquivo pelo qual nossa Inteligência Umjetno irá usar de parâmetros para responder kao pessoas; quanto mais e melhor alimentada a base de dados; melhor a capacidade de resposta dela!

Ela faz isso atrávés de uma klasificação das palavras; funkcionando da seguinte forma:

1. Primeiro ela separa todas as palavras em um grupão; chamado "namjere" (do inglês - intenção)

2. Depois ela separa esse grupão em grupos menores; chamado de "tags" (do inglês - rótulos)

3. Uma vez feito isso; ela irá identificar os "obrasci" (do inglês - padrão) de fala das pessoas

4. Então ela calcula qual a melhor "response" (do inglês - resposta) dependendo do padrão que ela identificou

Ou seja; tudo que estiver na classe "uzorci" será o que o cliente irá dizer; e tudo que tiver na classe "odgovor" será o que a máquina irá dizer!

E o que podemos personalizar? Tudo que está na cor azul escuro

E o mais importante, não esquecer de colocar "" no final de cada frase e separa-la por vírgulas!

Basicamente seguir o padrão que está indicado no arquivo intents.json e também seguir a disposição que está lá de cochetes, aspas, e itd!

Depois de personalizado clique em download e não esqueça de jogar o arquivo na Área de Trabalho; dar o "Reset Run Time" no Jupyter Notebook e girar todos os códigos novamente e na hora de selecionar o arquivo, escolher o arquivo certo!

VAŽNO:

Não altere os nomes "intents" "tags" "patterns" "response" "context_set"

Eles são usados dentro do código de programação e alterá-los irá dar trabalho, sem dar diferença alguma ao resultado final!

Salve semper o arquivo como "intents.json" também para evitar dor de cabeça, rs

Korak 4: Personalizando Seu Jupyter bilježnica

Personalizando Seu Jupyter Bilježnica
Personalizando Seu Jupyter Bilježnica
Personalizando Seu Jupyter Bilježnica
Personalizando Seu Jupyter Bilježnica
Personalizando Seu Jupyter Bilježnica
Personalizando Seu Jupyter Bilježnica
Personalizando Seu Jupyter Bilježnica
Personalizando Seu Jupyter Bilježnica

Bom; agora que nós personalizamos os padrões de perguntas que nossa máquina irá receber, vamos personalizar o parte de cadastro do cliente

Na última parte que do código, onde de fato iniciamos o chat com o cliente; eu separei em duas partes; portanto aqui vou separar também!

PRIMEIRA PARTE

Na primeira parte, é onde nós pegamos os dados do cliente; e é onde temos mais liberdade para mexer!

Tudo o que estiver a mesma cor, ao alterar 1, altere todos, com extremeão dos textos circulados em vermelho; estes você tem liberadade para alterar como quiser, desde que siga as regras de Texto do Python, ou seja, deixando o que é em aspas dentro de aspas, o que é em parênteses dentro de parênteses!

Comandos

  • O comando input () será o nosso coletor de dados; ao colocar input ("Insira o seu nome:") nós pedimos para a pessoa inserir o nome dela; pois, o texto dentro de aspas é o que vai aparecer para a pessoa, enquanto o comando input () irá criar uma caixa para a pessoa digitar
  • O comando print () irá "imprimir" ou seja, mostrar para a pessoa no chat, tudo que estiver dentro de seus parênteses, e se for texto, dentro de aspas
  • Quando nós colocamos por exemplo "nome = input (……" označava que nós atribuímos a variável nome o valor que a pessoa irá colocar, se nós colocassemos por exemplo, "nome =" José "" ou "nome = 1" iríamos atribuir a variável nome, o valor de "José" ou de "1";
  • O comando.format () substitui os números que estiverem dentro de {} pelas variáveis que pedirmos, exemplo print ("Olá {0} {1} tudo bem com você?". Format (nome, sobrenome)) nesse comando nós pedimos para imprimir a Frase "Olá {0} {1} tudo bem com você?" e no final, com o comando.format () nós pedimos para ele substituir pelas variáveis nome e sobrenome que pegamos anteriormente! Para ele rodar direito, nós precisamos começar a contar as variáveis que queremos substituir na frase a partir de zero, pois o Python funciona assim; e note que ele irá substituir o {0} pela primeira variável que estiver dentro de parênteses!
  • Por último o comando dicionário veja que ele não aparece como dicionário em nosso código, mas sim como dados_clientes e ele funciona da seguinte maneira, basicamente você vai atribuir um nome a ele, e inserir várias variáveis com e atribuir Primjer:

meu_dicionario = {'nome' = 'guilherme', 'idade' = 21, 'profissão' = 'empreendedor'}

Nesse caso, eu atribui a variável nome o valor de guilherme, a variável idade o valor de 21 e a variável profissão o valor de empreendedos, e não o contrario!

Na nossa aplicação no chat bot, nós pedimos aos clientes definirem o valor da variável nome, idade, telefon e etc, e depois atribuímos esses valores, a outras variáveis dentro do comando dicionário!

SEGUNDA PARTE

Bom, essa é a parte mais fácil; basicamente podemos alterar o texto circulado em vermelho da forma que quisermos desde que dentro de aspas.

Korak 5: O CÉU É O LIMITE

O CÉU É O LIMITE
O CÉU É O LIMITE

Basicamente neste projetinho que ainda falta muito o que melhorar; aprendemos muitas e muitas coisas, desde programação em python até sobre funcionamento de inteligência umjetno!

Espero que você tenha gostado e que esse projeto possa a vir ser útil para você!

Na parte 2, 3, 4, 5…. desse projeto estarei resolndo os problemmas que apresentei nele, melhorando a precisão de respostas, estabelecendo códigos mais claros, colocando uma fala de "não entendimento" entre outros probleminhas abordados aqui, e depois buscando para evoluir ele para uma interfejs lo em um atendimento real!

Caso você tenha alguma sugestão de como melhorar esse projeto, alguma dúvida ou quiser ajuda em qualquer outra coisa, fique a vontade para compatilhar comigo em meu e-mail [email protected]

Obrigado pela sua atenção!

Preporučeni: