diff options
author | Patrick Simianer <simianer@cl.uni-heidelberg.de> | 2012-08-01 17:32:37 +0200 |
---|---|---|
committer | Patrick Simianer <simianer@cl.uni-heidelberg.de> | 2012-08-01 17:32:37 +0200 |
commit | eb3ea4fd5dff1c94b237af792c9f7bf421d79d96 (patch) | |
tree | 2acd7674f36e6dc6e815c5856519fdea1a2d6bf8 /sa-extract/manager.py | |
parent | e816274e337a066df1b1e86ef00136a021a17caf (diff) | |
parent | 193d137056c3c4f73d66f8db84691d63307de894 (diff) |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'sa-extract/manager.py')
-rw-r--r-- | sa-extract/manager.py | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/sa-extract/manager.py b/sa-extract/manager.py deleted file mode 100644 index 3a079c2a..00000000 --- a/sa-extract/manager.py +++ /dev/null @@ -1,100 +0,0 @@ -import csuf -import cdat -import cintlist - -class Sampler(object): - '''A Sampler implements a logic for choosing - samples from a population range''' - - def __init__(self): - pass - - def registerContext(self, context_manager): - self.context_manager = context_manager - - def sample(self, phrase_location): - return cintlist.CIntList() - - -class Extractor(object): - '''Extractor is responsible for extracting rules - from a given context; once a sentence id/location - is found for the source fwords, extractor is - responsible for producing any matching rule(s). - Optionally, extractor may return an empty list''' - - def __init__(self): - pass - - def registerContext(self, context_manager): - self.context_manager = context_manager - - def extract(self, fwords, loc): - return [] - - - -class RuleFactory(object): - '''RuleFactory is a class that manages the - generation of translation rules, using the Context - and (optionally) any of its contained classes or - data. The RuleFactory is responsible for handling - any caching (i.e. when presented with an input - sentence, it may lookup a rule from its cache - rather than extracting a new rule)''' - - def __init__(self): - self.num_lookups = 0 - self.num_extractions = 0 - self.num_rules = 0 - self.time = 0.0 - - - def registerContext(self, context_manager): - self.context_manager = context_manager - - - def input(self, fwords): - '''Manages the process of enumerating - rules for a given input sentence, and - looking them with calls to Context, - Sampler, and Extractor''' - return [] - - -class ContextManager(object): - - def __init__(self, ffile, efile, extractor=None, sampler=None, rulefactory=None, from_binary=False): - # NOTE: Extractor does not have a default value because - # the only nontrivial extractor right now depends on an - # alignment file - - self.fsarray = csuf.SuffixArray(ffile, from_binary) - self.edarray = cdat.DataArray(efile, from_binary) - - self.factory = rulefactory - self.factory.registerContext(self) - - self.sampler = sampler - self.sampler.registerContext(self) - - self.models = [] - self.owner = None - - - def add_model(self, model): - if self.owner is None: - self.owner = model - model_id = len(self.models) - self.models.append(model) - return model_id - - - def input(self, model, fwords, meta): - if model != self.owner: - return - self.fwords = fwords - self.factory.input(self.fwords, meta) - - - |