Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
e116668987 | |||
0e40e95d08 | |||
919e0a7a8c |
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,3 +1,3 @@
|
|||||||
venv/
|
env/
|
||||||
.vscode
|
.vscode
|
||||||
models/
|
models/
|
21
README.rst
21
README.rst
@ -1,3 +1,24 @@
|
|||||||
Interactive Login to Liberta Casa Services
|
Interactive Login to Liberta Casa Services
|
||||||
==========================================
|
==========================================
|
||||||
|
|
||||||
|
==========================
|
||||||
|
Current Scope and Features
|
||||||
|
==========================
|
||||||
|
|
||||||
|
User Registration
|
||||||
|
This is the primary feature for the initial release. Liberta Casa exposes many services via SSO which improves
|
||||||
|
end user experience. The hindrances to this are manual intervention being required for sending users the link
|
||||||
|
and then telling them to check the email confirmation etc. Also they do need to register it like any old web form.
|
||||||
|
|
||||||
|
One solution to this is the ``KeyCloak`` plugin on the bot but that requires a similar intervention and knowledge of syntax
|
||||||
|
|
||||||
|
This ``Rasa`` based conversational user registration system aims to make this simple for the end user and require less
|
||||||
|
intervention by network staff.
|
||||||
|
|
||||||
|
|
||||||
|
=====
|
||||||
|
Setup
|
||||||
|
=====
|
||||||
|
|
||||||
|
* Set up a virtual environment using ``python3 -m venv venv``
|
||||||
|
* Clone the repository and install the dependencies using ``pip3 install -r requirements.txt``
|
||||||
|
@ -9,7 +9,11 @@ pipeline:
|
|||||||
min_ngram: 1
|
min_ngram: 1
|
||||||
max_ngram: 4
|
max_ngram: 4
|
||||||
- name: DIETClassifier
|
- name: DIETClassifier
|
||||||
epochs: 100
|
epochs: 50
|
||||||
|
- name: DucklingEntityExtractor
|
||||||
|
url: http://localhost:8000
|
||||||
|
dimensions:
|
||||||
|
- email
|
||||||
- name: EntitySynonymMapper
|
- name: EntitySynonymMapper
|
||||||
- name: ResponseSelector
|
- name: ResponseSelector
|
||||||
epochs: 100
|
epochs: 100
|
||||||
|
1035
data/nlu.yml
1035
data/nlu.yml
File diff suppressed because it is too large
Load Diff
@ -12,3 +12,18 @@ rules:
|
|||||||
- action: signup_form
|
- action: signup_form
|
||||||
- active_loop: null
|
- active_loop: null
|
||||||
- action: utter_signedup
|
- action: utter_signedup
|
||||||
|
|
||||||
|
- rule: out_of_scope
|
||||||
|
steps:
|
||||||
|
- intent: out_of_scope
|
||||||
|
- action: utter_out_of_scope
|
||||||
|
|
||||||
|
- rule: bot_challange
|
||||||
|
steps:
|
||||||
|
- intent: bot_challange
|
||||||
|
- action: utter_bot_challenge
|
||||||
|
|
||||||
|
- rule: bye
|
||||||
|
steps:
|
||||||
|
- intent: bye
|
||||||
|
- action: utter_bye
|
||||||
|
38
domain.yml
38
domain.yml
@ -2,15 +2,43 @@ version: '2.0'
|
|||||||
session_config:
|
session_config:
|
||||||
session_expiration_time: 60
|
session_expiration_time: 60
|
||||||
carry_over_slots_to_new_session: true
|
carry_over_slots_to_new_session: true
|
||||||
|
entities:
|
||||||
|
- email
|
||||||
|
- last_name
|
||||||
|
- first_name
|
||||||
|
- full_name
|
||||||
|
|
||||||
intents:
|
intents:
|
||||||
- greet
|
- greet
|
||||||
- inform
|
- inform
|
||||||
- signup
|
- signup
|
||||||
|
- bye
|
||||||
|
- affirm
|
||||||
|
- deny
|
||||||
|
- out_of_scope
|
||||||
slots:
|
slots:
|
||||||
email:
|
email:
|
||||||
type: unfeaturized
|
type: any
|
||||||
|
influence_conversation: false
|
||||||
|
first_name:
|
||||||
|
type: text
|
||||||
|
influence_conversation: false
|
||||||
|
last_name:
|
||||||
|
type: text
|
||||||
influence_conversation: false
|
influence_conversation: false
|
||||||
responses:
|
responses:
|
||||||
|
utter_bye:
|
||||||
|
- text: |
|
||||||
|
Goodbye!
|
||||||
|
utter_out_of_scope/other:
|
||||||
|
- text: |
|
||||||
|
I dont understand sorry!
|
||||||
|
utter_out_of_scope/non_english:
|
||||||
|
- text: |
|
||||||
|
I only speak English :(
|
||||||
|
utter_bot_challenge:
|
||||||
|
- text: |
|
||||||
|
I am a bot!
|
||||||
utter_greet:
|
utter_greet:
|
||||||
- text: |
|
- text: |
|
||||||
Hello! How can I help you?
|
Hello! How can I help you?
|
||||||
@ -22,7 +50,7 @@ responses:
|
|||||||
utter_signedup:
|
utter_signedup:
|
||||||
- text: |
|
- text: |
|
||||||
Check your inbox at {email} in order to finish signing up on Liberta Casa!
|
Check your inbox at {email} in order to finish signing up on Liberta Casa!
|
||||||
- text: You're all set! Check your inbox at {email} to confirm your registration.
|
You're all set! Check your inbox at {email} to confirm your registration.
|
||||||
actions:
|
actions:
|
||||||
- '...'
|
- '...'
|
||||||
- utter_greet
|
- utter_greet
|
||||||
@ -31,4 +59,8 @@ forms:
|
|||||||
signup_form:
|
signup_form:
|
||||||
required_slots:
|
required_slots:
|
||||||
email:
|
email:
|
||||||
- type: from_text
|
- type: from_slot
|
||||||
|
first_name:
|
||||||
|
- type: from_slot
|
||||||
|
last_name:
|
||||||
|
- type: from_slot
|
||||||
|
@ -2,4 +2,8 @@ forms:
|
|||||||
signup_form:
|
signup_form:
|
||||||
required_slots:
|
required_slots:
|
||||||
email:
|
email:
|
||||||
- type: from_text
|
- type: from_slot
|
||||||
|
first_name:
|
||||||
|
- type: from_slot
|
||||||
|
last_name:
|
||||||
|
- type: from_slot
|
||||||
|
@ -8,8 +8,8 @@ attrs==21.2.0
|
|||||||
Automat==20.2.0
|
Automat==20.2.0
|
||||||
Babel==2.9.1
|
Babel==2.9.1
|
||||||
bleach==4.1.0
|
bleach==4.1.0
|
||||||
boto3==1.18.65
|
boto3==1.19.1
|
||||||
botocore==1.21.65
|
botocore==1.22.2
|
||||||
cachetools==4.2.2
|
cachetools==4.2.2
|
||||||
certifi==2021.10.8
|
certifi==2021.10.8
|
||||||
characteristic==14.3.0
|
characteristic==14.3.0
|
||||||
@ -51,7 +51,7 @@ Jinja2==3.0.2
|
|||||||
jmespath==0.10.0
|
jmespath==0.10.0
|
||||||
joblib==1.1.0
|
joblib==1.1.0
|
||||||
jsonpickle==2.0.0
|
jsonpickle==2.0.0
|
||||||
jsonschema==4.1.1
|
jsonschema==4.1.2
|
||||||
jupyter-client==7.0.6
|
jupyter-client==7.0.6
|
||||||
jupyter-core==4.8.1
|
jupyter-core==4.8.1
|
||||||
jupyterlab-pygments==0.1.2
|
jupyterlab-pygments==0.1.2
|
||||||
@ -80,7 +80,7 @@ pathlib==1.0.1
|
|||||||
Pillow==8.4.0
|
Pillow==8.4.0
|
||||||
plumbum==1.7.0
|
plumbum==1.7.0
|
||||||
ply==3.11
|
ply==3.11
|
||||||
protobuf==3.18.1
|
protobuf==3.19.0
|
||||||
pyasn1==0.4.8
|
pyasn1==0.4.8
|
||||||
pyasn1-modules==0.2.8
|
pyasn1-modules==0.2.8
|
||||||
Pygments==2.10.0
|
Pygments==2.10.0
|
||||||
|
@ -1,14 +1,25 @@
|
|||||||
responses:
|
responses:
|
||||||
utter_greet:
|
utter_bye:
|
||||||
- text: |
|
- text: |
|
||||||
Hello! How can I help you?
|
Goodbye!
|
||||||
- text: |
|
utter_out_of_scope/other:
|
||||||
Hi!
|
- text: |
|
||||||
utter_ask_email:
|
I dont understand sorry!
|
||||||
- text: |
|
utter_out_of_scope/non_english:
|
||||||
What is your email address?
|
- text: |
|
||||||
utter_signedup:
|
I only speak English :(
|
||||||
- text: |
|
utter_bot_challenge:
|
||||||
Check your inbox at {email} in order to finish signing up on Liberta Casa!
|
- text: |
|
||||||
- text: |
|
I am a bot!
|
||||||
You're all set! Check your inbox at {email} to confirm your registration.
|
utter_greet:
|
||||||
|
- text: |
|
||||||
|
Hello! How can I help you?
|
||||||
|
- text: |
|
||||||
|
Hi!
|
||||||
|
utter_ask_email:
|
||||||
|
- text: |
|
||||||
|
What is your email address?
|
||||||
|
utter_signedup:
|
||||||
|
- text: |
|
||||||
|
Check your inbox at {email} in order to finish signing up on Liberta Casa!
|
||||||
|
You're all set! Check your inbox at {email} to confirm your registration.
|
||||||
|
Reference in New Issue
Block a user