Cov txheej txheem:

Atendente Automático Com Python Tsis muaj Google Colab: 5 Kauj Ruam
Atendente Automático Com Python Tsis muaj Google Colab: 5 Kauj Ruam

Video: Atendente Automático Com Python Tsis muaj Google Colab: 5 Kauj Ruam

Video: Atendente Automático Com Python Tsis muaj Google Colab: 5 Kauj Ruam
Video: Mathematics with Python! Sequences 2024, Hlis ntuj nqeg
Anonim
Atendente Automático Com Python Tsis muaj Google Colab
Atendente Automático Com Python Tsis muaj Google Colab

Ua tsaug ntau! Puas yog?

Meu nome é Guilherme, Nesse projeto nós vamos aprender como criar um ChatBot siv thiab Linguagem de programação Python e o 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 xibfwb Rafa, que era usar o comando input () no nab hab sej! Valeu Rafa rau ntawm lub hnub qub!

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 saber o que estava fazendo direito, e maioria em inglê!

Ib lub tsev muag khoom um pouco desse conhecimento para o português e aproveitar para aprender sobre linguagem de programação e inteligência artificial enquanto a gente se diverte!

Bom, nesse primeiro projeto vamos desenvolver um Atendente Virtual que pega dados ua tus neeg siv khoom e salva esses dados como "arquivo pickle" e então entra uma Inteligência Artificial para realizar o atendimento; que funciona através de uma "neural network" lossis "rede neural" onde ela; loj heev; pega a palavra, hloov pauv em número e compara com a base de dado que vamos alimentar, e nisso, xam ib qhov ua tau zoo rau ver ver qual qual nicho esta palavra se encontra, e qual melhor resposta dar.

Eu tenho um restaurante e tshwj xeeb tshwj xeeb fiz esse chatbot tsis muaj futuro fij tshwj xeeb rau kev cog qoob loo 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!

Cov neeg thov:

- Alguns cov ntsiab lus tseem ceeb dos códigos usados para a programação ua Machine Learning

- Ntshuam Bibliotecas thiab o Cov cim tseem ceeb ntawm Bibliotecas que estamos usando

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

- Como Capturar e Salvar os dados dos clientes

Teeb meem ntawm Projeto:

Como esse foi o primeiro passo do projeto e saiu a partir de zero de conhecimento em programação de nab nab 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, ideia é redirecionar para uma nuvem onde um algoritimo possa translatear, em um aplic npoj

-Noo ter uma interface para realizar esse atendimento

- Nws yog ib qho kev sib txuas lus ntawm kev sib txuas lus, tsis muaj kev teeb tsa teeb tsa; caso pessoa fale algo muito sem sentido; uma resposta "Desculpe; não entendi o que foi dito! Poderia perguntar novamente ou fazer outra pergunta?"

- o Cov ntaub ntawv xa tawm ainda da algumas respostas erradas

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

Esse projeto eu peguei desse txuas:

Nele, Tim explica lossis passo pas passo projeto! Porém ele roda o phyton e as bibliotecas instaladas direto tsis muaj PC, siv los ntawm PyCharm se não me engano!

Como vam tias peb tuaj yeem siv JupyterNotebook tsis muaj kev sib koom ua ke o kev qhia ua ke ua ntej lub sijhawm, tive que fazer algumas alterações de programação!

Txais tos kom tuaj saib peb lub vev xaib!: D

Kauj Ruam 1: Instalando O Google Colaboratory

Instalando O Google Kuaj
Instalando O Google Kuaj
Instalando O Google Kuaj
Instalando O Google Kuaj
Instalando O Google Kuaj
Instalando O Google Kuaj
Instalando O Google Kuaj
Instalando O Google Kuaj

Bom, tus thawj xibfwb lossis tus tsim los ntawm Google Kev Tshawb Fawb rau rodarmos nosso JupyterNotebook!

1. tsis muaj Google Drive, nyem "novo" (ver foto)

2. clique em "Mais" (ver foto)

3. Clique em "conectar mais apps" (ver foto)

4. Pesquise por "Google Colaboratory" e o aplicativo 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 lub suab lus lossis seguinte passo a passo:

1. clique no link ao lado:

2. Clique em Ncua tseg (ver foto)

3. Clique em "File" (ou "Arquivo" se estiver em português) (ver foto)

4. Clique em "Khaws daim ntawv theej hauv Drive" (lossis "Salvar cópia em Drive") (ver foto)

Pronto! Ua raws cov lus qhia hauv Google Colaboratory

Kauj Ruam 2: Baixando O Jupyter Notebook E Rodando O ChatBot

Baixando O Jupyter Notebook E Rodando O ChatBot
Baixando O Jupyter Notebook E Rodando O ChatBot
Baixando O Jupyter Notebook E Rodando O ChatBot
Baixando O Jupyter Notebook E Rodando O ChatBot
Baixando O Jupyter Notebook E Rodando O ChatBot
Baixando O Jupyter Notebook E Rodando O ChatBot
Baixando O Jupyter Notebook E Rodando O ChatBot
Baixando O Jupyter Notebook E Rodando O ChatBot

Bom pessoal; agora que estamos com o Google Kev Tshawb Fawb Kev Tshawb Fawb, tsis muaj kev vam meej los ntawm ib qho kev ua yeeb yam os nossos Jupyter Notebooks thiab tuaj yeem ua rau ib qho khoom siv los ntawm CharBot, antes de personalizar o nosso!

Jupyter Notebook - 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; de como" 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 nab nab 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 Área de Trabalho

5. Tshaj tawm rau Google Drive (rau fazer o Upload; basta abrir o Google Drive thiab arrastar os arquivos para dentro dele)

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

Agora para abrir o Juyter Phau Ntawv; existem dois caminhos:

1. Encontre o Arquivo desejado

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

2.2. Clicar com los Botão direito; Clicar em "Abrir Com" e depois selecionar "Google Colaboratory"

Dentro desse Jupyter Notebook eu separei as cédulas em Texto e Código, fim de deixar a programação o mais entendível possivel, para que possamos saber o que está acontecendo, caso algum erro aconteça, e também, lembrarmos um o func ua futu! hahahahhaa

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

Nrog rau kev tiv thaiv ib puag ncig; basta clicar com tsis muaj botão de Play das cédulas de cógido (ver foto)

Vale dizer que a primeira cédula é a que mais demora; siv Internet. Demora alguns segundinhos; vam khom rau 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á.

Ua raws li cov lus qhia los ntawm tus txheej txheem código los ntawm kev txhawb nqa! Pois o primeiro contém informações básicas para toda a programaçã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 "los ntawm google colab import cov ntaub ntawv …" (ver foto)

2. Selecione "Escolher aquivos" (ver foto)

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

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

5. Clique em "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 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 tsis muaj chav kuaj, lossis por algum problema de programação mesmo, na quinta cédula, quando treinamos a Inteligência Artificial não conseguimos treinar a 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 instalação;

Então caso isso aconteça com você

1. Nyem rau "Runtime"

2. Nyem rau "Factory Reset Runtime"

3. Clique em "Yog".

Kauj Ruam 3: 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
Personalizando Seu Próprio Próprio Arquivo. JSON

Bom; ua raws li cov lus qhia:

- Txhim kho Google Colab

- Como Rodar lossis Jupyter Notebook

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

Agora vamos tuaj txog ntawm no yog qhov tseem ceeb tshaj plaws rau tus kheej lossis nosso próprio ChatBot!

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

Tsis muaj hnub nyoog; nós fizemos o upload desse arquivo para Google Drive; agora vamos editá-lo!

Vim kev hlub !!

1. Tsis muaj tsav, localize o arquivo desejado; caso ele não apareça de primeira pesquise por "intents.json"

2. Tsis txhob ntshai

3. Selecione "Abrir com o Text Editor"

4. Pronto! O intents.json yog aberto!

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

Como disse antes; o intents.json é o arquivo pelo qual nossa Inteligência Artificial irá usar de parâmetros para responder li pessoas; quanto mais e melhor alimentada a base de dados; txhawb nqa lub peev xwm ntawm lub siab lub ntsws!

Ela faz isso atrávés de uma classificação das palavras; kev ua si thiab kev lom zem ua si:

1. Primeiro ela separa todas li palavras em um grupão; chamado "intents" (ua inglês - intenção)

2. Depois ela separa esse grupão em grupos menores; chamado de "cim npe" (ua rau - rótulos)

3. Uma vez feito isso; ela irá identificar os "qauv" (ua 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

Koj tuaj; tudo que estiver na classe "patterns" será o que o cliente irá dizer; e tudo que tiver na classe "teb" será o que a máquina irá dizer!

Koj ua dab tsi ntawm tus kheej? Tudo que está na cor azul escuro

E o mais importante, não esquecer de colocar "" tsis muaj qhov kawg 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 thiab lwm yam!

Depois de personalizado clique em download e não esqueça de jogar o arquivo na Área de Trabalho; dar o "Rov Pib Dua Sijhawm" tsis muaj Jupyter Notebook e girar todos os códigos novamente e na hora de selecionar o arquivo, escolher o arquivo certo!

TSEEM CEEB:

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 zaum kawg!

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

Kauj Ruam 4: Personalizando Seu Jupyter Notebook

Personalizando Seu Jupyter Phau Ntawv
Personalizando Seu Jupyter Phau Ntawv
Personalizando Seu Jupyter Phau Ntawv
Personalizando Seu Jupyter Phau Ntawv
Personalizando Seu Jupyter Phau Ntawv
Personalizando Seu Jupyter Phau Ntawv
Personalizando Seu Jupyter Phau Ntawv
Personalizando Seu Jupyter Phau Ntawv

Bom; agora que nós personalizamos os padrões de perguntas que nossa máquina irá receber, vamos personalizar o parte de cadastro ua tus neeg siv khoom

Na última parte que do código, onde de fato iniciamos o tham com lossis cov neeg siv khoom; eu separei em duas partes; portanto aqui vou separar também!

PRIMEIRA XEEB

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

Tudo o que estiver a mesma cor, ao alterar 1, altere todos, com excessã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 pessoa, enquanto o comando input () irá criar uma caixa para a pessoa digitar
  • O comando print () irá "imprimir" ou seja, mostrar para a pessoa tsis tham, tudo que estiver dentro de seus parênteses, e se rau texto, dentro de aspas
  • Quando nós colocamos por exemplo "nome = input (……" significa 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 tsis muaj qhov kawg, 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 ceeb toom que ele irá substituir o {0} pela primeira variável que estiver dentro de parênteses!
  • Los ntawm andltimo 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 Piv txwv:

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!

Tsis muaj kev sib tham bot, tsis yog cov neeg siv khoom muaj txiaj ntsig zoo lossis muaj nuj nqis ntau yam, tsis ua haujlwm, hu xov tooj thiab lwm yam, e depois atribuímos esses valores, outras variáveis dentro do comando dicionário!

SEGUNDA XEEB

Bom, qhov tseem ceeb tshaj plaws ntawm no; basicamente podemos alterar o texto circulado em vermelho da forma que quisermos desde que dentro de aspas.

Kauj Ruam 5: O CÉU -O LIMITE

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

Cov hauv paus ntsiab lus ntawm kev npaj ua lag luam que ainda falta muito o que melhorar; aprendemos muitas e muitas coisas, desde programação em nab nab até sobre funcionamento de inteligência dag!

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

Ntu 2, 3, 4, 5…. desse projeto estarei resolndo os problemas que apresentei nele, melhorando a precisão de respostas, tsim kom muaj códigos mais claros, colocando uma fala de "não entendimento" entre outros probleminhas abordados aqui, e depois buscando para evoluir ele para una interface lo em um atendimento tiag!

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 compartilhar comigo em meu e-mail [email protected]

Ua raws li kev noj qab haus huv!

Pom zoo: