summaryrefslogtreecommitdiff
path: root/python/pkg/cdec/sa/__init__.py
blob: e0a344b70a7396db269c55e4f7f6e9f962de39eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from cdec.sa._sa import make_lattice, decode_lattice, decode_sentence,\
        SuffixArray, DataArray, LCP, Precomputation, Alignment, BiLex,\
        HieroCachingRuleFactory, Sampler, Scorer
from cdec.sa.extractor import GrammarExtractor

_SA_FEATURES = []
_SA_ANNOTATORS = {}
_SA_CONFIGURE = []

def feature(fn):
    _SA_FEATURES.append(fn)
    return fn

def annotator(fn):
    _SA_ANNOTATORS[fn.__name__] = fn

def annotate(sentence):
    meta = {}
    for name, fn in _SA_ANNOTATORS.iteritems():
        meta[name] = fn(sentence)
    return meta

def configure(fn):
    _SA_CONFIGURE.append(fn)