1. Chatbot_RASA é um sistema de diálogo baseado em tarefas multi-rodadas baseado em RASA. O projeto suporta acesso rápido ao diálogo baseado em tarefas em diferentes cenários, tem boa capacidade de generalização e possui as características de alta qualidade de diálogo multi-rodadas. a nova versão do RASA apoiou o diálogo baseado em conhecimento na base de conhecimento e na recuperação. Fiz alguns desenvolvimentos secundários com base no RASA, como a introdução de bert no estágio nlu, a introdução de aprendizagem por reforço na política, etc.
2. Este projeto fornecerá gradualmente diálogos para verificação do tempo, verificação de entrega expressa, verificação de passagens aéreas, bate-papo, etc. Ao mesmo tempo, você também pode usar este projeto para verificar rapidamente a aplicação de modelos de algoritmos em sistemas de diálogo.
1. Arquitetura geral do RASA:
2. Processo de execução:
1. Após receber as informações do usuário, o rasa as enviará ao Intérprete. O formato dos dados enviados ao intérprete é um dicionário, que contém: texto original, Intenção reconhecida, Slot, Sentimento, etc.
2. O Intérprete transmitirá os dados ao Rastreador. A função do Rastreador é registrar o status da conversa e acompanhar o andamento da conversa.
3. A política obterá o status atual da conversa do Tracker e determinará uma ação ideal
4. O robô determina uma resposta e a envia ao usuário com base na Ação e, em seguida, retorna o status atual ao Rastreador, atualiza o status da conversa e repete o ciclo até que a conversa termine.
3. Intenção
4. Slot
Atualmente, o slot oferece onze tags:
1. Morada: Não. ** Rua **, ** Estrada, ** Rua, ** Vila, ** Distrito, ** Cidade, ** Província, etc. (marque se aparecer sozinho Nota: O). o endereço precisa ser marcado completamente nos mínimos detalhes. 2. Título do livro: romance, revista, coleção de exercícios, livro didático, auxílio didático, atlas, livro de receitas, tipo de livro que pode ser adquirido em livraria, inclusive e-books. 3. Empresa: ** Empresa, ** Grupo, ** Banco (exceto o Banco Central e o Banco Popular da China, ambos agências governamentais), como: New Oriental, incluindo Xinhuanet/China Military Network, etc. 4. Jogos: jogos comuns Observe que existem alguns jogos adaptados de novelas e séries de TV. É necessário analisar se as cenas específicas são jogos. 5. Governo: incluindo agências administrativas centrais e agências administrativas locais. Os órgãos administrativos centrais incluem o Conselho de Estado, os seus departamentos constituintes (incluindo ministérios, comités, o Banco Popular da China e o Gabinete de Auditoria), agências directamente subordinadas ao Conselho de Estado (tais como alfândegas, impostos, indústria e comércio, e o Departamento Ambiental do Estado). Administração de Proteção, etc.), os militares, etc. 6. Filmes: Filmes, incluindo alguns documentários rodados em cinemas. Se for adaptado para filme a partir do título de um livro, é necessário distinguir se é o título do filme ou o título do livro baseado no. contexto da cena. 7. Nome: geralmente se refere ao nome de uma pessoa, incluindo personagens de romances, como Song Jiang, Wu Song e Guo Jing. Apelidos de personagens de romances: Timely Rain, Flower Monk, apelidos de personagens famosos, através dos quais os apelidos podem corresponder. para um personagem específico. 8. Organização: time de basquete, time de futebol, orquestra, clube, etc., incluindo gangues no romance, como: Templo Shaolin, Gangue de Mendigos, Gangue Palma de Ferro, Wudang, Emei, etc. 9. Cargo: Títulos profissionais na antiguidade: governador, magistrado, divisão estadual, etc. Gerentes gerais modernos, jornalistas, presidentes, artistas, colecionadores, etc. 10. Cena: Atrações turísticas comuns, como: Parque Changsha, Zoológico de Shenzhen, Oceanário, Jardim Botânico, Rio Amarelo, Rio Yangtze, etc. 11. Horário: informações relacionadas ao horário mencionadas durante a conversa, como: hoje, amanhã, semana que vem, amanhã de manhã, etc.
Ao mesmo tempo, o slot pode ser adicionado ou excluído de acordo com diferentes cenários.
1. Antes de executar o projeto com sucesso, você precisa instalar alguns pacotes pip externos:
pip instalar chatbot_nlu
pip instalar chatbot_dm
2. Instale bert-as-service
3. Verificação de dados
validação de dados rasa --domain domain/cuishou_domain.yml
4. Treine NLU e Core
rasa train --domain domain/domain.yml --data data --config config/config_with_components.yml --out models
5.Avaliando Modelos
6. Iniciar ação
python -m rasa_sdk.endpoint --actions ações
7. Inicie o serviço de conversação
1. Aprendizagem interativa: # --skip-visualization
rasa executa ações --actions ações&
rasa interativo -m modelos/20200107-105951.tar.gz --endpoints endpoints.yml
2. Modo de depuração
rasa run --endpoints config/endpoints.yml --enable-api --m models/20200113-162316.tar.gz --log-file bot.out.log --debug3. modo shell
shell rasa --debug
Para obter instruções específicas, consulte a documentação oficial da RASA.
1. Após ativar os modelos de ação e diálogo, o RASA pode fornecer serviços em formato REST, chamá-los para projetos ou acessar contas públicas WeChat, grupos DingTalk, etc. Aqui gostaria de apresentar outro projeto meu:
Chatbot_Ajuda
Este projeto pode conectar facilmente seu robô a uma plataforma de terceiros e realizar a interação de maneira fácil e rápida.
2. Depois que o serviço for iniciado, você poderá testá-lo no carteiro:
Lista de interfaces:
/ conversations / < conversation_id > / messages POST add_message
/ conversations / < conversation_id > / tracker / events POST append_events
/ webhooks / rest GET custom_webhook_RestInput . health
/ webhooks / rest / webhook POST custom_webhook_RestInput . receive
/ model / test / intents POST evaluate_intents
/ model / test / stories POST evaluate_stories
/ conversations / < conversation_id > / execute POST execute_action
/ domain GET get_domain
/ socket . io GET handle_request
/ GET hello
/ model PUT load_model
/ model / parse POST parse
/ conversations / < conversation_id > / predict POST predict
/ conversations / < conversation_id > / tracker / events PUT replace_events
/ conversations / < conversation_id > / story GET retrieve_story
/ conversations / < conversation_id > / tracker GET retrieve_tracker
/ webhooks / socketio GET socketio_webhook . health
/ status GET status
/ model / predict POST tracker_predict
/ model / train POST train
/ model DELETE unload_model
/ version GET version
Descrição da interface
a 、获取版本接口 GET方法
url : http : // 172.18 . 103.43 : 5005 / version
b 、获取服务的状态 GET方法
url : http : // 172.18 . 103.43 : 5005 / status
{
"model_file" : "models/20200109-103803.tar.gz" ,
"fingerprint" : {
"config" : "99914b932bd37a50b983c5e7c90ae93b" ,
"core-config" : "506804ad89d3db9175b94c8752ca7537" ,
"nlu-config" : "45f827a042c25a6605b8a868d95d2299" ,
"domain" : 2088252815302883506 ,
"messages" : 2270465547977701800 ,
"stories" : 1278721284179639569 ,
"trained_at" : 1578537378.2885341644 ,
"version" : "1.4.1"
},
"num_active_training_jobs" : 0
}
c 、会话接口 POST方法
url : http : // 172.18 . 103.43 : 5005 / webhooks / rest / webhook
参数:{
"sender" : "000001" ,
"message" : "你好"
}
返回参数:
[
{
"recipient_id" : "202005210002" ,
"text" : "您好,我是智能助手小笨,有什么可以帮您的?"
}
]
d 、 button接口
e 、检索story
f 、 story (话术)可视化
- 2020.1.7 Acesso ao grupo DingTalk, suportando mensagens push ativas e interações de saída
- 2020.1.9 Acesse o WeChat
- 2020.5.1 Resolva o problema de solicitação entre domínios do rasa
- 2020.6 Apresentando o botfront