2to3 (compiles, not tested)
[tag_parser.git] / tests / stand_alone / test_tag_chart_parser2.py
blob99d51ff1b8d1f5267e930ab6ae9285b2c6d96b0c
1 # This Python file uses the following encoding: utf-8
2 '''
3 Created on May 30, 2011
5 @author: mjacob
6 '''
7 import nltk
8 from mjacob.nltk.grammar.TreeAdjoiningGrammar import TreeAdjoiningGrammar
9 from mjacob.nltk.parse.tag.earley.rules import TAG_EARLEY_STRATEGY
10 from mjacob.nltk.parse.tag.TagChartParser import TagChartParser
12 VAR = 1
14 print("starting")
15 raw_data = nltk.data.load('grammars/large_grammars/atis_sentences.txt', format='raw')
16 sentences = [x[0] for x in nltk.parse.util.extract_test_sentences(raw_data)][:1]
18 print("creating grammar")
19 if VAR == 0:
20 grammar = TreeAdjoiningGrammar(cfg=nltk.data.load('grammars/large_grammars/atis.cfg'))
21 elif VAR == 1:
22 grammar = TreeAdjoiningGrammar("../integration/tag_chart/degenerate_1/grammar.yaml")
23 elif VAR == 2:
24 grammar = TreeAdjoiningGrammar("../integration/tag_chart/cross_serial_2/grammar.yaml")
26 print("creating parser")
27 parser = TagChartParser(grammar)
28 print("parser created")
30 if VAR == 0:
31 chart = parser.chart_parse(sentences[0])
32 elif VAR == 1:
33 chart = parser.chart_parse(['John'])
34 elif VAR == 2:
35 chart = parser.chart_parse("Jan Piet Marie de kinderen zag helpen leren zwemmen".split(' '))
37 print(chart)
39 print("sentence accpeted: %s" % (chart.accept(grammar.start(), TAG_EARLEY_STRATEGY)))
40 print(chart.parses(grammar.start(), TAG_EARLEY_STRATEGY))