1. Chatbot_RASA es un sistema de diálogo basado en tareas de múltiples rondas basado en RASA. El proyecto admite un acceso rápido al diálogo basado en tareas en diferentes escenarios, tiene una buena capacidad de generalización y tiene las características de una alta calidad de diálogo de múltiples rondas. La nueva versión de RASA ha admitido el diálogo basado en conocimientos sobre la base de conocimientos y sobre la recuperación. Hice algún desarrollo secundario sobre la base de RASA, como presentar a bert en la etapa nlu, introducir el aprendizaje por refuerzo en la política, etc.
2. Este proyecto proporcionará gradualmente diálogos para verificar el clima, verificar entregas urgentes, verificar boletos aéreos, chatear, etc. Al mismo tiempo, también puede utilizar este proyecto para verificar rápidamente la aplicación de modelos algorítmicos en sistemas de diálogo.
1. Arquitectura general de RASA:
2. Proceso de ejecución:
1. Después de recibir la información del usuario, rasa la enviará al intérprete. El formato de datos enviado al intérprete es un diccionario, que contiene: texto original, intención reconocida, espacio, sentimiento, etc.
2. El intérprete transmitirá los datos al Rastreador. La función del Rastreador es registrar el estado de la conversación y realizar un seguimiento del progreso de la misma.
3. La política obtendrá el estado actual de la conversación del Tracker y determinará una acción óptima.
4. El robot determina una respuesta y la envía al usuario según la Acción, y luego envía el estado actual al Rastreador, actualiza el estado de la conversación y repite el ciclo hasta que finaliza la conversación.
3. Intención
4. Ranura
Actualmente, la tragamonedas ofrece once etiquetas:
1. Dirección: N° ** Calle **, ** Camino, ** Calle, ** Pueblo, ** Distrito, ** Ciudad, ** Provincia, etc. (márquelo si aparece solo). La dirección debe marcarse por completo. Marque hasta el más mínimo detalle. 2. Título del libro: novela, revista, colección de ejercicios, libro de texto, material didáctico, atlas, libro de cocina, un tipo de libro que se puede comprar en una librería, incluidos los libros electrónicos. 3. Compañía: ** Compañía, ** Grupo, ** Banco (excepto el Banco Central y el Banco Popular de China, ambos agencias gubernamentales), como: New Oriental, incluida Xinhuanet/China Military Network, etc. 4. Juegos: juegos comunes. Tenga en cuenta que hay algunos juegos adaptados de novelas y series de televisión. Es necesario analizar si las escenas específicas son juegos. 5. Gobierno: incluye agencias administrativas centrales y agencias administrativas locales. Los órganos administrativos centrales incluyen el Consejo de Estado, sus departamentos constituyentes (incluidos los ministerios, comités, el Banco Popular de China y la Oficina de Auditoría), agencias directamente dependientes del Consejo de Estado (como aduanas, impuestos, industria y comercio, y el Consejo Estatal de Medio Ambiente). Administración de Protección, etc.), el ejército, etc. 6. Películas: Películas, incluidos algunos documentales filmados en cines. Si se adaptan a película en función del título de un libro, es necesario distinguir si es el título de la película o el título del libro en función del mismo. contexto de la escena. 7. Nombre: generalmente se refiere al nombre de una persona, incluidos personajes de novelas, como Song Jiang, Wu Song y Guo Jing. Apodos de personajes de novelas: Timely Rain, Flower Monk, apodos de personajes famosos, a través de los cuales los apodos pueden corresponder. a un personaje específico. 8. Organización: equipo de baloncesto, equipo de fútbol, orquesta, club, etc., incluidas pandillas en la novela como: Shaolin Temple, Beggar Gang, Iron Palm Gang, Wudang, Emei, etc. 9. Cargo: Títulos profesionales en la antigüedad: gobernador, magistrado, división estatal, etc. Directores generales, periodistas, presidentes, artistas, coleccionistas, etc. 10. Escena: Atracciones turísticas comunes como: Parque Changsha, Zoológico de Shenzhen, Oceanario, Jardín Botánico, Río Amarillo, Río Yangtze, etc. 11. Hora: información relacionada con el tiempo mencionada durante la conversación, como: hoy, mañana, la próxima semana, mañana por la mañana, etc.
Al mismo tiempo, la ranura se puede agregar o eliminar según diferentes escenarios.
1. Antes de ejecutar exitosamente el proyecto, necesita instalar algunos paquetes pip externos:
instalación de pip chatbot_nlu
pip instalar chatbot_dm
2. Instale bert-como-servicio
3. Verificación de datos
validación de datos rasa --dominio dominio/cuishou_domain.yml
4. Entrenar NLU y Core
tren rasa --dominio dominio/dominio.yml --datos datos --config config/config_with_components.yml --out modelos
5.Evaluación de modelos
6. Iniciar acción
python -m rasa_sdk.endpoint --acciones acciones
7. Inicie el servicio de conversación.
1. Aprendizaje interactivo: # --skip-visualization
acciones de ejecución rasa --acciones acciones&
rasa interactivo -m modelos/20200107-105951.tar.gz --endpoints endpoints.yml
2. Modo de depuración
rasa run --endpoints config/endpoints.yml --enable-api --m models/20200113-162316.tar.gz --log-file bot.out.log --debug3. modo shell
rasa shell --depurar
Para obtener instrucciones específicas, consulte la documentación oficial de RASA.
1. Luego de activar los modelos de Acción y diálogo, RASA puede brindar servicios en forma REST, convocarlos para proyectos o acceder a cuentas públicas de WeChat, grupos de DingTalk, etc. Aquí me gustaría presentarles otro proyecto mío:
Chatbot_Ayuda
Este proyecto puede conectar fácilmente su robot a una plataforma de terceros y realizar la interacción de manera fácil y rápida.
2. Una vez iniciado el servicio, puede probar el servicio en cartero:
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
Descripción de la interfaz
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 Acceso al grupo DingTalk, que admite mensajes push activos e interacciones salientes
- 2020.1.9 Acceder a WeChat
- 2020.5.1 Resuelva el problema de solicitud entre dominios de rasa
- 2020.6 Presentamos el frente de bots