This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import logging | |
import json | |
from sanic import Blueprint, response | |
from sanic.request import Request | |
from typing import Text, Optional, List, Dict, Any | |
from rasa.core.channels.channel import UserMessage, OutputChannel | |
from rasa.core.channels.channel import InputChannel | |
from rasa.core.channels.channel import CollectingOutputChannel |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import logging | |
import json | |
from sanic import Blueprint, response | |
from sanic.request import Request | |
from typing import Text, Optional, List, Dict, Any | |
from rasa.core.channels.channel import UserMessage, OutputChannel | |
from rasa.core.channels.channel import InputChannel | |
from rasa.core.channels.channel import CollectingOutputChannel |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from rasa.nlu.components import Component | |
class SentimentAnalyzer(Component): | |
"""A pre-trained sentiment component""" | |
name = "sentiment" | |
provides = ["entities"] | |
requires = ["tokens"] | |
defaults = {} | |
language_list = ["en"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from rasa_sdk import Action, Tracker | |
from rasa_sdk.events import SlotSet, AllSlotsReset | |
import requests | |
import json | |
from random import randint | |
import datetime | |
import os | |
import yaml | |
class ActionPlaceSearch(Action): |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from rasa_nlu.components import Component | |
from rasa_nlu import utils | |
from rasa_nlu.model import Metadata | |
from sentiment_classifier import SentimentClassifier | |
import nltk | |
from nltk.classify import NaiveBayesClassifier | |
from nltk.corpus import twitter_samples | |
from nltk.tokenize import RegexpTokenizer | |
from nltk.corpus import stopwords |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import nltk | |
from nltk.classify import NaiveBayesClassifier | |
from nltk.corpus import twitter_samples | |
from nltk.tokenize import RegexpTokenizer | |
from nltk.corpus import stopwords | |
from nltk.stem.wordnet import WordNetLemmatizer | |
class SentimentClassifier(object): |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def slot_mappings(self): | |
# type: () -> Dict[Text: Union[Dict, List[Dict]]] | |
"""A dictionary to map required slots to | |
- an extracted entity | |
- intent: value pairs | |
- a whole message or a list of them, where a first | |
match will be picked""" | |
return { "outdoor_seating": [self.from_entity(entity="seating"), | |
self.from_intent(intent='affirm', |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class RestaurantForm(FormAction): | |
"""Example of a custom form action""" | |
def name(self): | |
"""Unique identifier of the form""" | |
return "restaurant_form" | |
@staticmethod | |
def required_slots(tracker: Tracker) -> List[Text]: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def required_slots(tracker): | |
# type: () -> List[Text] | |
"""A list of required slots that the form has to fill""" | |
if tracker.get_slot('cuisine') == 'greek': | |
return ["cuisine", "num_people", "outdoor_seating", | |
"preferences", "feedback"] | |
else: | |
return ["cuisine", "num_people", | |
"preferences", "feedback"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class RestaurantForm(FormAction): | |
"""Example of a custom form action""" | |
def name(self): | |
"""Unique identifier of the form""" | |
return "restaurant_form" | |
@staticmethod | |
def required_slots(tracker: Tracker) -> List[Text]: |