Exemplo n.º 1
0
    def test_at_least_on_no_required(self):
        intent = IntentBuilder("play intent") \
            .one_of("Television Show", "Radio Station") \
            .build()
        for result in self.parser.parse("play the big bang theory"):
            result_intent = intent.validate(result.get('tags'), result.get('confidence'))
            assert result_intent.get('confidence') > 0.0
            assert result_intent.get('Television Show') == "the big bang theory"

        for result in self.parser.parse("play the barenaked ladies"):
            result_intent = intent.validate(result.get('tags'), result.get('confidence'))
            assert result_intent.get('confidence') > 0.0
            assert result_intent.get('Radio Station') == "barenaked ladies"
Exemplo n.º 2
0
    def test_at_least_on_no_required(self):
        intent = IntentBuilder("play intent") \
            .one_of("Television Show", "Radio Station") \
            .build()
        for result in self.parser.parse("play the big bang theory"):
            result_intent = intent.validate(result.get('tags'), result.get('confidence'))
            assert result_intent.get('confidence') > 0.0
            assert result_intent.get('Television Show') == "the big bang theory"

        for result in self.parser.parse("play the barenaked ladies"):
            result_intent = intent.validate(result.get('tags'), result.get('confidence'))
            assert result_intent.get('confidence') > 0.0
            assert result_intent.get('Radio Station') == "barenaked ladies"
Exemplo n.º 3
0
    def test_at_least_one_alone(self):
        intent = IntentBuilder("OptionsForLunch") \
            .one_of("Question", "Command") \
            .build()

        for result in self.parser.parse("show"):
            result_intent = intent.validate(result.get('tags'), result.get('confidence'))
            assert result_intent.get('confidence') > 0.0
            assert result_intent.get('Command') == "show"
Exemplo n.º 4
0
    def test_at_least_one_alone(self):
        intent = IntentBuilder("OptionsForLunch") \
            .one_of("Question", "Command") \
            .build()

        for result in self.parser.parse("show"):
            result_intent = intent.validate(result.get('tags'), result.get('confidence'))
            assert result_intent.get('confidence') > 0.0
            assert result_intent.get('Command') == "show"
Exemplo n.º 5
0
 def test_basic_intent_with_alternate_names(self):
     intent = IntentBuilder("play television intent")\
         .require("PlayVerb", "Play Verb")\
         .require("Television Show", "series")\
         .build()
     for result in self.parser.parse("play the big bang theory"):
         result_intent = intent.validate(result.get('tags'), result.get('confidence'))
         assert result_intent.get('confidence') > 0.0
         assert result_intent.get('Play Verb') == 'play'
         assert result_intent.get('series') == "the big bang theory"
Exemplo n.º 6
0
 def test_basic_intent_with_alternate_names(self):
     intent = IntentBuilder("play television intent")\
         .require("PlayVerb", "Play Verb")\
         .require("Television Show", "series")\
         .build()
     for result in self.parser.parse("play the big bang theory"):
         result_intent = intent.validate(result.get('tags'), result.get('confidence'))
         assert result_intent.get('confidence') > 0.0
         assert result_intent.get('Play Verb') == 'play'
         assert result_intent.get('series') == "the big bang theory"
Exemplo n.º 7
0
 def test_intent_using_alias(self):
     self.trie.insert("big bang", ("the big bang theory", "Television Show"))
     intent = IntentBuilder("play television intent")\
         .require("PlayVerb", "Play Verb")\
         .require("Television Show", "series")\
         .build()
     for result in self.parser.parse("play the big bang theory"):
         result_intent = intent.validate(result.get('tags'), result.get('confidence'))
         assert result_intent.get('confidence') > 0.0
         assert result_intent.get('Play Verb') == 'play'
         assert result_intent.get('series') == "the big bang theory"
Exemplo n.º 8
0
 def test_intent_using_alias(self):
     self.trie.insert("big bang", ("the big bang theory", "Television Show"))
     intent = IntentBuilder("play television intent")\
         .require("PlayVerb", "Play Verb")\
         .require("Television Show", "series")\
         .build()
     for result in self.parser.parse("play the big bang theory"):
         result_intent = intent.validate(result.get('tags'), result.get('confidence'))
         assert result_intent.get('confidence') > 0.0
         assert result_intent.get('Play Verb') == 'play'
         assert result_intent.get('series') == "the big bang theory"
Exemplo n.º 9
0
    def test_intent_with_regex_entity(self):
        self.trie = Trie()
        self.tagger = EntityTagger(self.trie, self.tokenizer, self.regex_entities)
        self.parser = Parser(self.tokenizer, self.tagger)
        self.trie.insert("theory", ("theory", "Concept"))
        regex = re.compile(r"the (?P<Event>.*)")
        self.regex_entities.append(regex)
        intent = IntentBuilder("mock intent")\
            .require("Event")\
            .require("Concept").build()

        for result in self.parser.parse("the big bang theory"):
            result_intent = intent.validate(result.get('tags'), result.get('confidence'))
            assert result_intent.get('confidence') > 0.0
            assert result_intent.get('Event') == 'big bang'
            assert result_intent.get('Concept') == "theory"
Exemplo n.º 10
0
    def test_intent_with_regex_entity(self):
        self.trie = Trie()
        self.tagger = EntityTagger(self.trie, self.tokenizer, self.regex_entities)
        self.parser = Parser(self.tokenizer, self.tagger)
        self.trie.insert("theory", ("theory", "Concept"))
        regex = re.compile(r"the (?P<Event>.*)")
        self.regex_entities.append(regex)
        intent = IntentBuilder("mock intent")\
            .require("Event")\
            .require("Concept").build()

        for result in self.parser.parse("the big bang theory"):
            result_intent = intent.validate(result.get('tags'), result.get('confidence'))
            assert result_intent.get('confidence') > 0.0
            assert result_intent.get('Event') == 'big bang'
            assert result_intent.get('Concept') == "theory"
Exemplo n.º 11
0
    def test_at_least_one_with_tag_in_multiple_slots(self):
        self.trie.insert("temperature", ("temperature", "temperature"))
        self.trie.insert("living room", ("living room", "living room"))
        self.trie.insert("what is", ("what is", "what is"))

        intent = IntentBuilder("test intent")\
            .one_of("what is")\
            .one_of("temperature", "living room")\
            .one_of("temperature")\
            .build()

        for result in self.parser.parse("what is the temperature in the living room"):
            result_intent = intent.validate(result.get("tags"), result.get("confidence"))
            assert result_intent.get("confidence") > 0.0
            assert result_intent.get("temperature") == "temperature"
            assert result_intent.get("living room") == "living room"
            assert result_intent.get("what is") == "what is"