def test_tagging_and_lemmatization_and_ner(self, build_sentences_mock):
        options = self._default_options(tagged=True, lemmatized=True, ner=True)
        sentence = ["Hej", "mitt", "namn", "är"]
        suc_tags = ["IN", "PS|NEU|SIN|DEF", "NN|NEU|SIN|IND|NOM", "VB|PRS|AKT"]
        ud_tags = [
            "INTJ|_",
            "DET|Definite=Def|Gender=Neut|Number=Sing|Poss=Yes",
            "NOUN|Case=Nom|Definite=Ind|Gender=Neut|Number=Sing",
            "AUX|Mood=Ind|Tense=Pres|VerbForm=Fin|Voice=Act",
        ]
        lemmas = ["hej", "min", "namn", "vara"]
        ner_tags = ["O", "O", "O", "O"]

        suc_tagger = MagicMock()
        suc_tagger.tag.return_value = suc_tags
        ud_tagger = MagicMock()
        ud_tagger.tag.return_value = ud_tags
        lemmatizer = MagicMock()
        lemmatizer.predict.side_effect = lemmas
        suc_ne_tagger = MagicMock()
        suc_ne_tagger.tag.return_value = ner_tags

        models = self._default_models(
            suc_tagger=suc_tagger,
            ud_tagger=ud_tagger,
            lemmatizer=lemmatizer,
            suc_ne_tagger=suc_ne_tagger,
        )

        self.assertEqual(
            run_tagging_and_lemmatization(options, sentence, models),
            (lemmas, ud_tags, suc_tags, ner_tags)
        )
Example #2
0
    def test_tagging_and_lemmatization_and_ner(self, build_sentences_mock):
        options = self._default_options(tagged=True, lemmatized=True, ner=True)
        sentence = ["Hej", "mitt", "namn", "är"]
        suc_tags = ["IN", "PS|NEU|SIN|DEF", "NN|NEU|SIN|IND|NOM", "VB|PRS|AKT"]
        ud_tags = [
            "INTJ|_",
            "DET|Definite=Def|Gender=Neut|Number=Sing|Poss=Yes",
            "NOUN|Case=Nom|Definite=Ind|Gender=Neut|Number=Sing",
            "AUX|Mood=Ind|Tense=Pres|VerbForm=Fin|Voice=Act",
        ]
        lemmas = ["hej", "min", "namn", "vara"]
        ner_tags = ["O", "O", "O", "O"]

        suc_tagger = MagicMock()
        suc_tagger.tag.return_value = suc_tags
        ud_tagger = MagicMock()
        ud_tagger.tag.return_value = ud_tags
        lemmatizer = MagicMock()
        lemmatizer.predict.side_effect = lemmas
        suc_ne_tagger = MagicMock()
        suc_ne_tagger.tag.return_value = ner_tags

        models = self._default_models(
            suc_tagger=suc_tagger,
            ud_tagger=ud_tagger,
            lemmatizer=lemmatizer,
            suc_ne_tagger=suc_ne_tagger,
        )

        self.assertEqual(
            run_tagging_and_lemmatization(options, sentence, models),
            (lemmas, ud_tags, suc_tags, ner_tags))
Example #3
0
    def test_tagging(self, build_sentences_mock):
        options = self._default_options(tagged=True)
        sentence = ["Hej", "mitt", "namn", "är"]
        tags = ["IN", "PS|NEU|SIN|DEF", "NN|NEU|SIN|IND|NOM", "VB|PRS|AKT"]

        tagger = MagicMock()
        tagger.tag.return_value = tags
        models = self._default_models(suc_tagger=tagger)

        self.assertEqual(
            run_tagging_and_lemmatization(options, sentence, models),
            ([], [],
             ['IN', 'PS|NEU|SIN|DEF', 'NN|NEU|SIN|IND|NOM', 'VB|PRS|AKT'], []))
    def test_tagging(self, build_sentences_mock):
        options = self._default_options(tagged=True)
        sentence = ["Hej", "mitt", "namn", "är"]
        tags = ["IN", "PS|NEU|SIN|DEF", "NN|NEU|SIN|IND|NOM", "VB|PRS|AKT"]

        tagger = MagicMock()
        tagger.tag.return_value = tags
        models = self._default_models(suc_tagger=tagger)

        self.assertEqual(
            run_tagging_and_lemmatization(options, sentence, models),
            (
                [],
                [],
                ['IN', 'PS|NEU|SIN|DEF', 'NN|NEU|SIN|IND|NOM', 'VB|PRS|AKT'],
                []
            )
        )