Chatbot baseado em PNL em PyTorch. Implantação do Bonus Flask e JavaScript

Nó Fonte: 1123050
Victoria Maslova

Entre as várias maneiras de melhorar a satisfação do cliente, os chatbots são uma solução poderosa para ajudar a base de clientes. Os chatbots são acessíveis, ajudam a expandir o seu negócio, são totalmente personalizáveis, ajudam os seus clientes a encontrar os produtos/serviços certos e ajudam a construir confiança para o seu negócio. Para provar isso, analisarei o seguinte conteúdo:

  1. O que é um chatbot de aprendizado de máquina?
  2. Por que os chatbots são importantes em diferentes esferas de negócios?
  3. Crie seu próprio chatbot baseado em PNL usando PyTorch.
  4. Implante chatbot em Javascript e Flask.

Um chatbot (IA conversacional) é um programa automatizado que simula conversas humanas por meio de mensagens de texto, chats de voz ou ambos. Ele aprende a fazer isso com base em muitas informações e Processamento de Linguagem Natural (PNL).

Por uma questão de semântica, chatbots e assistentes de conversação serão usados ​​de forma intercambiável neste artigo, eles significam a mesma coisa.

O Business Insider informou que se esperava que o mercado global de chatbot crescesse de US$ 2.6 bilhões em 2019 para US$ 9.4 bilhões em 2024, prevendo uma taxa composta de crescimento anual de 29.7%. O mesmo relatório também sugeriu que o maior crescimento na implementação de chatbots ocorreria nos setores de retalho e comércio eletrónico, devido à crescente procura de fornecer aos clientes experiências omnicanal perfeitas.

Só isso já deveria ser suficiente para convencê-lo de que chatbots são a maneira de lidar com o relacionamento com o cliente avançando, mas também continuarão a crescer como ferramentas internas para ferramentas empresariais e quase todos os setores adotarão a tecnologia, se ainda não o fizeram.

Abaixo estão os principais motivos pelos quais mais e mais empresas estão adotando a estratégia de chatbot e como ela é uma fórmula ganha-ganha para adquirir e reter clientes.

  • Reduza o tempo de espera do cliente - 21% de consumidores veja os chatbots como a maneira mais fácil de entrar em contato com uma empresa. Os bots são uma maneira mais inteligente de garantir que os clientes recebam a resposta imediata que procuram, sem fazê-los esperar em filas.
  • Disponibilidade 24 × 7 — Os bots estão sempre disponíveis para envolver os clientes com respostas imediatas às perguntas comuns feitas por eles. O principal benefício potencial do uso de chatbots é o atendimento ao cliente 24 horas por dia.
  • Melhor envolvimento do cliente — Os bots de conversação podem envolver os clientes XNUMX horas por dia, iniciando a conservação proativa e oferecendo recomendações personalizadas que melhoram a experiência do cliente.
  • Economize custos de atendimento ao cliente — Os chatbots ajudarão as empresas a economizar mais do que US$ 8 bilhões por ano. Os bots podem ser facilmente dimensionados, o que economiza custos de suporte ao cliente com contratação de mais recursos, custos de infraestrutura, etc.
  • Automatize a qualificação e vendas de leads — Você pode automatizar seu funil de vendas com chatbots para pré-qualificar leads e direcioná-los à equipe certa para nutri-los ainda mais. Ser capaz de envolver os clientes aumenta instantaneamente o número de leads e as taxas de conversão.

1. Como a IA de conversação pode automatizar o atendimento ao cliente

2. Chats automatizados x ao vivo: como será o futuro do atendimento ao cliente?

3. Chatbots como assistentes médicos na pandemia de COVID-19

4. Chatbot vs. Assistente Virtual Inteligente - Qual é a diferença e por que se importar?

Existem muitas plataformas onde desenvolvedores, cientistas de dados e engenheiros de aprendizado de máquina podem criar e manter chatbots como Fluxo de Diálogo e Amazon-Lex. Mas meu objetivo neste artigo é mostrar como criar um chatbot do zero para ajudá-lo a entender os conceitos de Redes Feed-Forward para Processamento de Linguagem Natural.

Vamos começar!

Você pode facilmente encontrar um código completo em meu GitHub repo.

Aqui está um breve plano que desejo seguir para construir um modelo.

  1. Teoria + conceitos de PNL (Stemming, Tokenização, saco de palavras)
  2. Criar dados de treinamento
  3. Modelo e treinamento PyTorch
  4. Salvar/carregar modelo e implementar o chat

Criaremos um chatbot para as necessidades dos fornecedores de café e chá para lidar com perguntas simples sobre horário de funcionamento, opções de reserva e assim por diante.

Uma estrutura de chatbot precisa de uma estrutura na qual as intenções de conversação sejam definidas. Uma maneira limpa de fazer isso é com um arquivo JSON, como este.

Intenções do chatbot

Cada intenção de conversação contém:

  • a etiqueta (um nome único)
  • padrões (padrões de frases para nosso classificador de texto de rede neural)
  • respostas (um será usado como resposta)

Portanto, nosso pipeline de PNL é assim

  • Tokenize
  • Inferior + haste
  • Excluir caracteres de pontuação
  • Saco de Palavras

Criamos uma lista de documentos (frases), cada frase é uma lista de palavras derivadas e cada documento está associado a uma intenção (uma classe). O código completo está em este arquivo.

Então precisamos definir dados de treinamento e hiperparâmetros.

Depois de todas as etapas de pré-processamento necessárias, criamos um modelo.py arquivo para definir a Rede Neural FeedForward.

Redes neurais feedforward são redes neurais artificiais onde as conexões entre as unidades não formam um ciclo. As redes neurais feedforward foram o primeiro tipo de rede neural artificial inventada e são mais simples que suas contrapartes, redes neurais recorrentes. Eles são chamados feedforward porque a informação só viaja para frente na rede (sem loops), primeiro através dos nós de entrada, depois através dos nós de entrada. nós ocultos (se presente) e finalmente através dos nós de saída.

Tome cuidado! No final, não precisamos de uma função de ativação porque mais tarde usaremos a perda de entropia cruzada e ela aplicará automaticamente uma função de ativação para nós.

Por que usamos ReLU?

Eles são simples, rápidos de calcular e não sofrem gradientes de fuga, como funções sigmóides (logística, tanh, erf e similares). A simplicidade de implementação os torna adequados para uso em GPUs, que são muito comuns hoje em dia por serem otimizados para operações matriciais (que também são necessárias para gráficos 3D).

Depois de definir uma perda CrossEntropy e Adam, implementamos a etapa de retrocesso e otimização.

O que todas essas linhas significam?

Definimos zero_grad() como otimizador porque no PyTorch, para cada minilote durante a fase de treinamento, precisamos definir explicitamente os gradientes como zero antes de começar a fazer a retropropragação (ou seja, atualização de pesos e vieses) porque o PyTorch acumula os gradientes em passes subsequentes para trás.

Chamar .backward() várias vezes acumula o gradiente (por adição) para cada parâmetro. É por isso que você deve chamar Optimizer.zero_grad() após cada chamada .step(). Observe que após a primeira chamada .backward, uma segunda chamada só será possível após você ter realizado outra passagem para frente.

otimizador.step executa uma atualização de parâmetro com base no gradiente atual (armazenado no atributo .grad de um parâmetro) e na regra de atualização.

Finalmente, depois de executar o script train.py, que resultado maravilhoso obtivemos!

E na última parte precisamos salvar nosso modelo. Aqui está o jeito que eu fiz facilmente.

Decidi ir além e criar esta visualização incrível do ChatBot.

Todos os meus scripts HTML, CSS e JavaScript você encontrará em meu repositório GitHub.

Divirta-se!

Agora, como você sabe o que é um chatbot e como a tecnologia de bot é importante para qualquer tipo de negócio. Você certamente concordará que os bots mudaram drasticamente a forma como as empresas interagem com seus clientes.

As tecnologias de chatbot se tornarão uma parte vital da estratégia de envolvimento do cliente no futuro. Num futuro próximo, os bots avançarão para melhorar as capacidades humanas e os agentes humanos serão mais inovadores no tratamento de atividades estratégicas.

Source: https://chatbotslife.com/nlp-based-chatbot-in-pytorch-bonus-flask-and-javascript-deployment-474c4e59ceff?source=rss—-a49517e4c30b—4

Carimbo de hora:

Mais de Vida de Chatbots