示例#1
0
    def test_skillShouldRecognizeCommand(self):
        verbs = ["use"]

        for verb in verbs:
            ud = ParsedUniversalDependencies(verb=verb)
            skill_input = SkillInput(ud, False)
            self.assertTrue(
                self.skill.matches_command(skill_input),
                f"ChangeAssistantVoiceSkill did not recognize verb='{verb}'")
    def test_skillShouldRecognizeCommand(self):
        verbs = ["find", "where is"]

        for verb in verbs:
            ud = ParsedUniversalDependencies(verb=verb)
            skill_input = SkillInput(ud, False)
            self.assertTrue(
                self.skill.matches_command(skill_input),
                f"RoomFinderSkill did not recognize verb='{verb}'")
示例#3
0
    def test_skillShouldRecognizeCommand(self):
        verbs = ["schedule", "remind", "remind about", "plan"]

        for verb in verbs:
            ud = ParsedUniversalDependencies(verb=verb)
            skill_input = SkillInput(ud, False)
            self.assertTrue(
                self.skill.matches_command(skill_input),
                f"AddCalendarEventSkill did not recognize verb='{verb}'")
示例#4
0
    def test_skillShouldRecognizeCommand(self):
        verbs = ["what is", "tell"]
        nouns = ["time"]

        for verb in verbs:
            for noun in nouns:
                ud = ParsedUniversalDependencies(verb=verb, noun=noun)
                skill_input = SkillInput(ud, False)
                self.assertTrue(
                    self.skill.matches_command(skill_input),
                    f"TellTimeSkill did not recognize verb='{verb}' and noun='{noun}'")
示例#5
0
    def test_skillShouldRecognizeCommand(self):
        verbs = [
            "email", "compose", "compose to", "send", "send to", "write",
            "write to"
        ]

        for verb in verbs:
            ud = ParsedUniversalDependencies(verb=verb)
            skill_input = SkillInput(ud, False)
            self.assertTrue(self.skill.matches_command(skill_input),
                            f"SendEmailSkill did not recognize verb='{verb}'")
    def test_skillShouldRecognizeCommand(self):
        verbs = [
            "start", "open", "go", "go to", "browse", "browse to", "launch",
            "take to", "show"
        ]

        for verb in verbs:
            ud = ParsedUniversalDependencies(verb=verb)
            skill_input = SkillInput(ud, False)
            self.assertTrue(
                self.skill.matches_command(skill_input),
                f"OpenWebsiteSkill did not recognize verb='{verb}'")
示例#7
0
def __parse_tokens(sentence: spacy.tokens.Doc) -> ParsedUniversalDependencies:
    """Parses parts of speech from the provided tokens."""
    #tokenize
    # remove the stopwards, convert to lowercase
    #bi/n-grams
    adj = __get_word_by_ud_pos(sentence, "ADJ")
    adp = __get_word_by_ud_pos(sentence, "ADP")
    adv = __get_word_by_ud_pos(sentence, "ADV")
    aux = __get_word_by_ud_pos(sentence, "AUX")
    verb = __get_word_by_ud_pos(sentence, "VERB")
    cconj = __get_word_by_ud_pos(sentence, "CCONJ")
    det = __get_word_by_ud_pos(sentence, "DET")
    intj = __get_word_by_ud_pos(sentence, "INTJ")
    noun = __get_word_by_ud_pos(sentence, "NOUN")
    num = __get_word_by_ud_pos(sentence, "NUM")
    part = __get_word_by_ud_pos(sentence, "PART")
    pron = __get_word_by_ud_pos(sentence, "PRON")
    propn = __get_word_by_ud_pos(sentence, "PROPN")
    punct = __get_word_by_ud_pos(sentence, "PUNCT")
    sconj = __get_word_by_ud_pos(sentence, "SCONJ")
    sym = __get_word_by_ud_pos(sentence, "SYM")
    verb = __get_word_by_ud_pos(sentence, "VERB")
    x = __get_word_by_ud_pos(sentence, "X")
    return ParsedUniversalDependencies(
        adj = adj,
        adp = adp,
        adv = adv,
        aux = aux,
        cconj = cconj,
        det = det,
        intj = intj,
        noun = noun,
        num = num,
        part = part,
        pron = pron,
        propn = propn,
        punct = punct,
        sconj = sconj,
        sym = sym,
        verb = verb,
        x = x)
示例#8
0
        AddCalendarEventSkill(),
        TellScheduleSkill(),
        TellDateSkill(),
        TellTimeSkill(),
        ChangeAssistantVoiceSkill(),
        ChangeUserNameSkill()
    ]
    for available_skill in available_skills:
        if available_skill.matches_command(skill_input):
            return available_skill
    return None


if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('verb', type=str, help='Assistant database command.')
    parser.add_argument('verb_object',
                        type=str,
                        help='Object passed to command.')
    parser.add_argument('-v',
                        '--verbose',
                        help='Explain what action is being taken.',
                        action='store_true')
    args = parser.parse_args()

    if args.verbose:
        print(sys.version)
    ud = ParsedUniversalDependencies(verb=args.verb, noun=args.verb_object)
    identify_and_run_command(ud, args.verbose)
    exit()