Esempio n. 1
0
 def get_parser(self):
     parser = tomita.TomitaParser()
     parser.set_facts(self.facts)
     parser.set_config(self.config)
     parser.set_keywords(self.keywords)
     parser.set_gazetteer(self.gazetteer)
     parser.set_fact_file(self.requirements, 'requirements.cxx')
     parser.set_documents(self.documents)
     return parser
Esempio n. 2
0
    def test_set_fact(self):
        parser = tomita.TomitaParser()
        fpath = path.join(parser.base_dir, 'requirements.cxx')
        parser.set_fact_file(self.requirements, 'requirements.cxx')
        self.assertEqual(parser.fact_files, ['requirements.cxx'])
        self.assertTrue(path.isfile(fpath))

        fpath = path.join(parser.base_dir, 'requirements2.cxx')
        parser.set_fact_file(self.requirements, 'requirements2.cxx')
        self.assertEqual(parser.fact_files,
                         ['requirements.cxx', 'requirements2.cxx'])
        self.assertTrue(path.isfile(fpath))
Esempio n. 3
0
{ Name = "ExpFact" }
{ Name = "DrivingLicense" }
]
'''

requirements = u'''
#GRAMMAR_ROOT S
DC -> AnyWord<kwtype=driving_cat,quoted> | AnyWord<kwtype=driving_cat>;
DCI -> DC interp (DrivingLicense.Category);
DELIM -> Comma | 'и' | 'или';
CAT -> 'категория' | 'кат'(Punct);
S -> CAT DCI (DELIM) (DCI) (DELIM) (DCI);
'''

# Setup
parser = tomita.TomitaParser(
    '/home/dkhodakov/build/tomita-parser/build/bin/tomita-parser')
parser.set_facts(facts)
parser.set_config(config)
parser.set_keywords(keywords)
parser.set_gazetteer(gazetteer)
parser.set_fact_file(requirements, 'requirements.cxx')

# Pass data
documents = [
    u'Требуется водитель с категориями "A", "B"',  # document_id = 0
    u'ничего тут нет',  # document_id = 1
    u'кат Б',  # document_id = 2
]
parser.set_documents(documents)
parser.run()
result = parser.parse(fact_descriptions)
Esempio n. 4
0
 def test_set_config(self):
     parser = tomita.TomitaParser()
     parser.set_config(self.config)
     self.assertTrue(path.isfile(parser.config_file))
Esempio n. 5
0
 def test_set_gazetteer(self):
     parser = tomita.TomitaParser()
     parser.set_gazetteer(self.gazetteer)
     self.assertTrue(path.isfile(parser.gazetteer_file))
Esempio n. 6
0
 def test_set_keywords(self):
     parser = tomita.TomitaParser()
     parser.set_keywords(self.keywords)
     self.assertTrue(path.isfile(parser.keywords_file))
Esempio n. 7
0
 def test_set_facts(self):
     parser = tomita.TomitaParser()
     parser.set_facts(self.facts)
     self.assertEqual(parser.base_dir, '.')
     fact_path = path.join(parser.base_dir, 'facttypes.proto')
     self.assertTrue(path.isfile(fact_path))
Esempio n. 8
0
 def tearDown(self):
     parser = tomita.TomitaParser()
     parser.clean()
Esempio n. 9
0
 def test_set_documents(self):
     parser = tomita.TomitaParser()
     parser.set_documents(self.documents)
     self.assertTrue(path.isfile(parser.documents_file))
Esempio n. 10
0
{ Name = "ExpFact" }
{ Name = "DrivingLicense" }
]
'''

requirements = u'''
#GRAMMAR_ROOT S
DC -> AnyWord<kwtype=driving_cat,quoted> | AnyWord<kwtype=driving_cat>;
DCI -> DC interp (DrivingLicense.Category);
DELIM -> Comma | 'и' | 'или';
CAT -> 'категория' | 'кат'(Punct);
S -> CAT DCI (DELIM) (DCI) (DELIM) (DCI);
'''

# Setup
parser = tomita.TomitaParser()
parser.set_facts(facts)
parser.set_config(config)
parser.set_keywords(keywords)
parser.set_gazetteer(gazetteer)
parser.set_fact_file(requirements, 'requirements.cxx')

# Pass data
documents = [
    u'Требуется водитель с категориями "A", "B"',  # document_id = 0
    u'ничего тут нет',                             # document_id = 1
    u'кат Б',                                      # document_id = 2
]
parser.set_documents(documents)
parser.run()
result = parser.parse(fact_descriptions)