summaryrefslogtreecommitdiff
path: root/python/cdec/sa/__init__.py
blob: 0c132cb9dea1275540450f49711497d308a6f7a1 (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
25
26
from cdec.sa._sa import make_lattice, decode_lattice, decode_sentence,\
        encode_words, decode_words, isvar,\
        SuffixArray, DataArray, LCP, Precomputation, Alignment, BiLex,\
        HieroCachingRuleFactory, Sampler, Scorer
from cdec.sa.extractor import GrammarExtractor
import online

_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)