def test_stem_regex(self): self.assertEquals( "troubl", Stemmer.stem("trouble", stemmer="regex", regexp="ing$|s$|e$|able$|ed$|es$", min=0)) self.assertEquals( "troubl", Stemmer.stem("troubled", stemmer="regex", regexp="ing$|s$|e$|able$|ed$|es$", min=0)) self.assertEquals( "troubl", Stemmer.stem("troubles", stemmer="regex", regexp="ing$|s$|e$|able$|ed$|es$", min=0)) self.assertEquals( "troubl", Stemmer.stem("troubling", stemmer="regex", regexp="ing$|s$|e$|able$|ed$|es$", min=0))
def test_stem_isri(self): self.assertEquals("trouble", Stemmer.stem("trouble", stemmer="isri")) self.assertEquals("troubled", Stemmer.stem("troubled", stemmer="isri")) self.assertEquals("troubles", Stemmer.stem("troubles", stemmer="isri")) self.assertEquals("troubling", Stemmer.stem("troubling", stemmer="isri"))
def test_stem_porter(self): self.assertEquals("troubl", Stemmer.stem("trouble", stemmer="porter")) self.assertEquals("troubl", Stemmer.stem("troubled", stemmer="porter")) self.assertEquals("troubl", Stemmer.stem("troubles", stemmer="porter")) self.assertEquals("troubl", Stemmer.stem("troubling", stemmer="porter"))
def test_stem_default(self): self.assertEquals("troubl", Stemmer.stem("trouble")) self.assertEquals("troubl", Stemmer.stem("troubled")) self.assertEquals("troubl", Stemmer.stem("troubles")) self.assertEquals("troubl", Stemmer.stem("troubling")) self.assertEquals("", Stemmer.stem(""))
def map_value(self, client_context, input_value): stemmer = Stemmer() stemmed_value = stemmer.stem(input_value) YLogger.debug(client_context, "StemmerMap converted %s to %s", input_value, stemmed_value) return stemmed_value
def test_stem_rslp(self): stemmer = Stemmer(stemmer="rslp") self.assertIsNotNone(stemmer) self.assertIsNotNone(stemmer._impl) self.assertEqual("avi", stemmer.stem("avião")) self.assertEqual("avi", stemmer.stem("aviões")) self.assertEqual("avi", stemmer.stem("aviação"))
def process(self, context, word_string): YLogger.debug(context, "Stemming sentence...") stemmer = Stemmer() unstemmed_words = context.brain.tokenizer.texts_to_words(word_string) stemmed_words = [stemmer.stem(x) for x in unstemmed_words] text = context.brain.tokenizer.words_to_texts(stemmed_words) sentence = Sentence(context, text) response = context.brain.ask_question(context, sentence) return response
def test_stem_snowball_no_language(self): stemmer = Stemmer(stemmer="snowball") self.assertIsNotNone(stemmer) self.assertIsNotNone(stemmer._impl) self.assertEqual("troubl", stemmer.stem("trouble")) self.assertEqual("troubl", stemmer.stem("troubled")) self.assertEqual("troubl", stemmer.stem("troubles")) self.assertEqual("troubl", stemmer.stem("troubling"))
def test_stem_lancaster(self): stemmer = Stemmer(stemmer="lancaster") self.assertIsNotNone(stemmer) self.assertIsNotNone(stemmer._impl) self.assertEqual("troubl", stemmer.stem("trouble")) self.assertEqual("troubl", stemmer.stem("troubled")) self.assertEqual("troubl", stemmer.stem("troubles")) self.assertEqual("troubl", stemmer.stem("troubling"))
def test_stem_isri(self): stemmer = Stemmer(stemmer="isri") self.assertIsNotNone(stemmer) self.assertIsNotNone(stemmer._impl) self.assertEqual("trouble", stemmer.stem("trouble")) self.assertEqual("troubled", stemmer.stem("troubled")) self.assertEqual("troubles", stemmer.stem("troubles")) self.assertEqual("troubling", stemmer.stem("troubling"))
def test_stem_regex_no_min(self): stemmer = Stemmer( stemmer="regex", regexp="ing$|s$|e$|able$|ed$|es$") self.assertIsNotNone(stemmer) self.assertIsNotNone(stemmer._impl) self.assertEqual("troubl", stemmer.stem("trouble")) self.assertEqual("troubl", stemmer.stem("troubled")) self.assertEqual("troubl", stemmer.stem("troubles")) self.assertEqual("troubl", stemmer.stem("troubling"))
def test_stem_snowball(self): self.assertEquals( "troubl", Stemmer.stem("trouble", stemmer="snowball", language="english")) self.assertEquals( "troubl", Stemmer.stem("troubled", stemmer="snowball", language="english")) self.assertEquals( "troubl", Stemmer.stem("troubles", stemmer="snowball", language="english")) self.assertEquals( "troubl", Stemmer.stem("troubling", stemmer="snowball", language="english"))
def test_stem_cistem(self): self.assertEquals( "speicherbehalt", Stemmer.stem("Speicherbehältern", stemmer="cistem", case_insensitive=False))
def test_stem_default(self): stemmer = Stemmer() self.assertIsNotNone(stemmer) self.assertIsNotNone(stemmer._impl) self.assertEqual("troubl", stemmer.stem("trouble")) self.assertEqual("troubl", stemmer.stem("troubled")) self.assertEqual("troubl", stemmer.stem("troubles")) self.assertEqual("troubl", stemmer.stem("troubling")) self.assertEqual("", stemmer.stem(""))
def test_stem_rslp(self): self.assertEquals("troubl", Stemmer.stem("trouble", stemmer="rslp")) self.assertEquals("troubl", Stemmer.stem("troubled", stemmer="rslp")) self.assertEquals("troubl", Stemmer.stem("troubles", stemmer="rslp")) self.assertEquals("troubl", Stemmer.stem("troubling", stemmer="rslp"))
def test_stem_cistem_no_case_sensetive(self): stemmer = Stemmer(stemmer="cistem") self.assertIsNotNone(stemmer) self.assertIsNotNone(stemmer._impl) self.assertEqual("speicherbehalt", stemmer.stem("Speicherbehältern"))
def test_no_stemmer_loaded(self): stemmer = Stemmer(stemmer="cistem") stemmer._impl = None self.assertEquals("Hallo", stemmer.stem("Hallo"))
def test_stem_unknonw(self): with self.assertRaises(ValueError): _ = Stemmer(stemmer="unknown")
def process(self, context, word_string): YLogger.debug(context, "Stemming sentence...") unstemmed_words = context.brain.tokenizer.texts_to_words(word_string) stemmed_words = [Stemmer.stem(x) for x in unstemmed_words] return context.brain.tokenizer.words_to_texts(stemmed_words)
def test_stem_cistem(self): stemmer = Stemmer(stemmer="cistem", case_insensitive=False) self.assertIsNotNone(stemmer) self.assertIsNotNone(stemmer._impl) self.assertEqual("speicherbehalt", stemmer.stem("Speicherbehältern"))