Package jazzparser :: Package taggers :: Package ngram :: Module tagger :: Class NgramTagger
[hide private]
[frames] | no frames]

Class NgramTagger

source code

    object --+        
             |        
 tagger.Tagger --+    
                 |    
models.ModelTagger --+
                     |
                    NgramTagger

Nested Classes [hide private]
  MODEL_CLASS
hash(x)
Instance Methods [hide private]
 
__init__(self, grammar, input, options={}, *args, **kwargs)
Tags using an ngram model backed by NLTK.
source code
 
get_signs(self, offset=0)
Returns a list of tuples (start, end, signtup).
source code
 
get_word(self, index)
Returns the input word at this index.
source code

Inherited from tagger.Tagger: get_all_signs, get_string_input, get_tag_probability, get_word_duration

Inherited from tagger.Tagger (private): _get_input_length, _get_name

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Methods [hide private]

Inherited from tagger.Tagger: check_options

Static Methods [hide private]

Inherited from models.ModelTagger: partition_model_name

Class Variables [hide private]
  TAGGER_OPTIONS = ModelTagger.TAGGER_OPTIONS+ [ModuleOption('de...
Tagger-specific options.
  INPUT_TYPES = ['db', 'chords']
List of allowed input datatypes.

Inherited from models.ModelTagger: COMPATIBLE_FORMALISMS

Inherited from tagger.Tagger: LEXICAL_PROBABILITY, shell_tools

Properties [hide private]

Inherited from tagger.Tagger: input_length, name

Inherited from object: __class__

Method Details [hide private]

__init__(self, grammar, input, options={}, *args, **kwargs)
(Constructor)

source code 

Tags using an ngram model backed by NLTK.

Parameters:
  • original_input - the input in its original, unprocessed form. This will usually be a string. This is optional, but in some circumstances things might fall apart if it hasn't been given. E.g. using a backoff model as backoff from a tagging model requires the original input to be passed to the backoff model.
  • logger - optional progress logger. Logging will be sent to this during initialization of the tagger and tagging. If not given, the logging will be lost. Subclasses may access the logger (or a dummy logger if none was given) in self.logger.
Overrides: object.__init__

get_signs(self, offset=0)

source code 

Returns a list of tuples (start, end, signtup). These represent spans to be added to the chart, start and end being the start and end nodes.

Each signtup is a (sign,tag,probability) tuple representing a sign that the tagger wishes to add to the chart in this position. How many are returned is up to the tagger (it may wish to return more in cases where there are no clear winners, for example). If the tag is not found in the grammar, sign will be None.

Returned list is sorted by probability, highest first.

offset may be set >0 in order to retrieve further signs once some have already been returned. If offset=k, the tagger should disregard all the signs that would have been returned for offset<k and return the next bunch - as many as it sees fit. offset is incremented each time the parse fails.

The simplest approach, and that employed by most taggers, has some signs for each word and none spanning more than one word. That is, the tuples in the list would be of the form (wordnum, wordnum+1, signtup). This is by no means required, though: some taggers will want to add multi-node spans to the chart.

Overrides: tagger.Tagger.get_signs
(inherited documentation)

get_word(self, index)

source code 

Returns the input word at this index. This does not need to be a string, but must have a sensible __str__, so that it can be converted to a readable string. The purpose of this is to provide a readable form of the input for the parser to store in derivation traces.

Overrides: tagger.Tagger.get_word
(inherited documentation)

Class Variable Details [hide private]

TAGGER_OPTIONS

Tagger-specific options. List of ModuleOptions.

Value:
ModelTagger.TAGGER_OPTIONS+ [ModuleOption('decode', filter= choose_fro\
m_list(DECODERS), help_text= "Decoding method for inference.", usage= \
"decode=X, where X is one of %s" % ", ".join("'%s'" % d for d in DECOD\
ERS), default= "forward-backward"),]