def test_document_bag(self): words_dict = { 'huge': [('huge', None, None)], 'Мама': [('мама', 313.8, [['S', 'жен', 'од', 'им', 'ед']])], 'мыла': [('мыть', 26.7, [['V', 'несов', 'прош', 'ед', 'изъяв', 'жен', 'пе']]), ('мыло', 16.3, [['S', 'сред', 'неод', 'им', 'мн'], ['S', 'сред', 'неод', 'род', 'ед'], ['S', 'сред', 'неод', 'вин', 'мн']])], 'раму': [('рама', 22.5, [['S', 'жен', 'неод', 'вин', 'ед']]), ('рам', 0.0, [['S', 'гео', 'муж', 'неод', 'дат', 'ед']])] } text = "huge Мама мыла раму" doc = mystem.Document(1, text, words_dict) self.assertEqual(doc.bag, set(['huge', 'Мама', 'мыла', 'раму']))
def parse(cls, text): if os.getenv('MYSTEM_PATH'): mystem_path = os.getenv('MYSTEM_PATH') else: mystem_path = mystem.util.find_mystem() p = subprocess.Popen([mystem_path, '-e', 'utf-8', '-inf'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, err = p.communicate(input=text) if p.returncode: raise mystem.util.MystemError("mystem returned: %s" % p.returncode) parsed_out = mystem.util.parse_mystem_out(out) docid = md5.md5(text).hexdigest() doc = mystem.Document(docid, text, parsed_out) return doc
def test_document_in(self): words_dict = { 'huge': [('huge', None, None)], 'Мама': [('мама', 313.8, [['S', 'жен', 'од', 'им', 'ед']])], 'мыла': [('мыть', 26.7, [['V', 'несов', 'прош', 'ед', 'изъяв', 'жен', 'пе']]), ('мыло', 16.3, [['S', 'сред', 'неод', 'им', 'мн'], ['S', 'сред', 'неод', 'род', 'ед'], ['S', 'сред', 'неод', 'вин', 'мн']])], 'раму': [('рама', 22.5, [['S', 'жен', 'неод', 'вин', 'ед']]), ('рам', 0.0, [['S', 'гео', 'муж', 'неод', 'дат', 'ед']])] } text = "huge Мама мыла раму" doc = mystem.Document(1, text, words_dict) r1 = ('мыла', [('мыть', 26.7, [['V', 'несов', 'прош', 'ед', 'изъяв', 'жен', 'пе']]), ('мыло', 16.3, [['S', 'сред', 'неод', 'им', 'мн'], ['S', 'сред', 'неод', 'род', 'ед'], ['S', 'сред', 'неод', 'вин', 'мн']])]) w1 = mystem.Word(r1[0], r1[1]) self.assertTrue(w1 in doc)