Example #1
0
    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', 'Мама', 'мыла', 'раму']))
Example #2
0
    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
Example #3
0
    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)