Skip to content

Commit

Permalink
added find_hospitals action
Browse files Browse the repository at this point in the history
  • Loading branch information
EPedrotti committed Dec 12, 2018
1 parent 177e400 commit 3543e80
Show file tree
Hide file tree
Showing 38 changed files with 2,757 additions and 90 deletions.
Binary file added .DS_Store
Binary file not shown.
12 changes: 12 additions & 0 deletions .idea/healthcare_locator.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

544 changes: 544 additions & 0 deletions .idea/workspace.xml

Large diffs are not rendered by default.

11 changes: 6 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,17 @@ clean:
rm -rf docs/_build

train-nlu:
python -m rasa_nlu.train -c nlu_config.yml --data data/nlu_data.md -o models --fixed_model_name nlu --project current --verbose
python3 -m rasa_nlu.train -c nlu_config.yml --data data/nlu_data.md -o models --fixed_model_name nlu --project current --verbose

train-core:
python -m rasa_core.train -d domain.yml -s data/stories.md -o models/current/dialogue -c core_config.yml
python3 -m rasa_core.train -d domain.yml -s data/stories.md -o models/current/dialogue -c core_config.yml

interactive:
python -m rasa_core.train interactive --core models/current/dialogue -d domain.yml -c core_config.yml -u models/current/nlu --endpoints endpoints.yml
python3 -m rasa_core.train interactive --core models/current/dialogue -d domain.yml -c core_config.yml -u models/current/nlu --endpoints endpoints.yml

cmdline:
python -m rasa_core.run -d models/current/dialogue -u models/current/nlu --endpoints endpoints.yml
python3 -m rasa_core.run -d models/current/dialogue -u models/current/nlu --endpoints endpoints.yml

action-server:
python -m rasa_core_sdk.endpoint --actions actions
python3 -m rasa_core_sdk.endpoint --actions actions

Binary file modified __pycache__/actions.cpython-36.pyc
Binary file not shown.
25 changes: 22 additions & 3 deletions actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,32 @@

from rasa_core_sdk import ActionExecutionRejection
from rasa_core_sdk.forms import FormAction, REQUESTED_SLOT
from rasa_core_sdk import Action
from rasa_core_sdk.events import SlotSet
import mysql.connector

if typing.TYPE_CHECKING:
from rasa_core_sdk import Tracker
from rasa_core_sdk.executor import CollectingDispatcher


class FindHospital(Action):

def name(self):
return "find_hospital"

def run(self, dispatcher, tracker, domain):
# type: (CollectingDispatcher, Tracker, Dict[Text, Any]) -> List[Dict[Text, Any]]
db = mysql.connector.connect(user="root", passwd="rasa", db="natlhcentities")
cursor = db.cursor(buffered=True)
zip = tracker.get_slot('zip')
q = "select HCProviderName from healthcareprovider where HCProviderZipcode = {}".format(zip)
cursor.execute(q)
result = cursor.fetchall()

return [SlotSet("hospitals", result if result is not None else [])]


class HospitalForm(FormAction):
"""Example of a custom form action"""

Expand All @@ -30,12 +49,12 @@ def required_slots(tracker):
# type: (Tracker) -> List[Text]
"""A list of required slots that the form has to fill"""

return ["zip", "specialty"]
return ["zip"]

def slot_mappings(self):
# type: () -> Dict[Text: Union[Dict, List[Dict]]]
return {"zip": self.from_entity(entity="number"),
"specialty": self.from_entity(entity="specialty")}
return {"zip": self.from_entity(entity="number", intent="inform")
}

@staticmethod
def is_zip(string):
Expand Down
19 changes: 19 additions & 0 deletions data/e2e_stories.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## end-to-end story 1
* greet: hello
- utter_greet
* search_tratment_center: I need to find a treatment center
- utter_ask_type
* inform: [hospital](type)
- utter_ask_zip
* inform: [10119](number)
- utter_found_hospitals
- utter_found_specialties

## end-to-end story 2
* greet: hi
- utter_greet
* search_hospital: find me a nearby hospital
- utter_ask_zip
* inform: [10119](number)
- utter_found_hospitals
- utter_found_specialties
108 changes: 102 additions & 6 deletions data/nlu_data.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,107 @@
- hi

## intent:inform
- [10119](number)
- [34234]
- [10119](number)
- [hospital](type)
- [nursery home](type)
- [65283](number)
- [31635](number)
- [11553](number)
- [87930](number)
- [22911](number)
- [55815](number)
- [52245](number)
- [34218](number)
- [62550](number)
- [71269](number)
- [27285](number)
- [22742](number)
- [92259](number)
- [21826](number)
- [15957](number)
- [99344](number)
- [33238](number)
- [12935](number)
- [58362](number)
- [67301](number)
- [77099](number)
- [04358](number)
- [01227](number)
- [85070](number)
- [52584](number)
- [35111](number)
- [63061](number)
- [19106](number)
- [20143](number)
- [37771](number)
- [47441](number)
- [18702](number)
- [04234](number)
- [75215](number)
- [18825](number)
- [70039](number)
- [06072](number)
- [63047](number)
- [92386](number)
- [04401](number)
- [20535](number)
- [18074](number)
- [27012](number)
- [30315](number)
- [80161](number)
- [75402](number)
- [49449](number)
- [23325](number)
- [18602](number)
- [62016](number)
- [49665](number)
- [92346](number)
- [29689](number)
- [08345](number)
- [87119](number)
- [97373](number)
- [43227](number)
- [52074](number)
- [51647](number)
- [68377](number)
- [08888](number)
- [36088](number)
- [53922](number)
- [02664](number)
- [91066](number)
- [99634](number)
- [62365](number)
- [32935](number)
- [57223](number)
- [33484](number)
- [72206](number)
- [42079](number)
- [15650](number)
- [79245](number)
- [42221](number)
- [70043](number)
- [58065](number)
- [72013](number)
- [04750](number)
- [05155](number)
- [11431](number)
- [59257](number)
- [68073](number)
- [40066](number)
- [89452](number)
- [37659](number)
- [69025](number)
- [98640](number)
- [70060](number)
- [85662](number)
- [09736](number)
- [40122](number)
- [04288](number)
- [47516](number)
- [04579](number)
- [26321](number)
- [84602](number)
- [28464](number)
- [82725](number)
- [30277](number)


## intent:search_hospital
- find me a nearby hospital
Expand Down Expand Up @@ -78,4 +174,4 @@
- thanks a lot
- amazing, thanks
- cool, thanks
- cool thank you
- cool thank you
2 changes: 1 addition & 1 deletion data/nlu_interactive.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
- hi

## intent:search_hospital
- hospital
- i want an hospital
63 changes: 3 additions & 60 deletions data/stories.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
- hospital_form
- form{"name": "hospital_form"}
- form{"name": null}
- find_hospital
* thankyou
- utter_noworries

Expand All @@ -25,66 +26,8 @@
- hospital_form
- form{"name": "hospital_form"}
- form{"name": null}
- find_hospital
* thankyou
- utter_noworries
## happy path 3
* search_hospital{"zip":"10119"}
- hospital_form

## happy path 4
* search_treatment_center
- center_form
- form{"name":"center_form"}
- form{"name":null}
* thankyou
- utter_noworries
## Generated Story -6770035372518111269
* greet
- utter_greet
* search_hospital
- hospital_form
- form{"name": "hospital_form"}
- slot{"requested_slot": "zip"}
* form: inform{"number": "10119"}
- form: hospital_form
- slot{"zip": "10119"}
- slot{"requested_slot": "specialty"}

## Generated Story 851605932364523814
* search_treatment_center
- center_form
- form{"name": "center_form"}
- action_listen
- slot{"requested_slot": "zip"}
* form: inform
* form: inform{"number": "10119"}
- center_form
- slot{"zip": "10119"}
- slot{"requested_slot": "type"}
* form: inform{"type": "nursery home"}
- slot{"type": "nursery home"}
- form: center_form
- slot{"type": "nursery home"}
- form{"name": null}
- slot{"requested_slot": null}

## Generated Story -6797132430972190218
* search_treatment_center
- center_form
- form{"name": "center_form"}
- action_listen
- slot{"requested_slot": "zip"}
* form: inform
* form: inform{"number": "10119"}
- center_form
- action_listen
- slot{"zip": "10119"}
- slot{"requested_slot": "type"}
* form: inform
* form: inform{"type": "nursery home"}
- slot{"type": "nursery home"}
- center_form
- slot{"type": "nursery home"}
- form{"name": null}
- slot{"requested_slot": null}


18 changes: 12 additions & 6 deletions domain.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,13 @@ intents:
- inform

entities:
- specialty
- number
- type
- number
- type

slots:
zip:
type: unfeaturized
specialty:
type: unfeaturized
type:
hospitals:
type: unfeaturized

forms:
Expand All @@ -31,6 +28,9 @@ actions:
- utter_ask_zip
- utter_ask_specialty
- utter_ask_type
- utter_found_hospitals
- utter_found_specialties
- find_hospital

templates:
utter_greet:
Expand All @@ -51,3 +51,9 @@ templates:
utter_ask_type:
- text: "What type of treatment center are you lokking for? Hospital, Nursery Home, ..."

utter_found_hospitals:
- text: "I found these nearby hospitals {hospitals}"

utter_found_specialties:
- text: "Did you want a specific specialy? If so select one : specialty 1, specialty 2, specialty 3"

Binary file added models/.DS_Store
Binary file not shown.
Binary file added models/current/.DS_Store
Binary file not shown.
Loading

0 comments on commit 3543e80

Please sign in to comment.