'Tag tokenized sentences.
:params tokens: list of word
:type tokens: list(str)'

def tag(self, tokens):

    (prev, prev2) = self.START
    output = []
    context = ((self.START + [self.normalize(w) for w in tokens]) + self.END)
    for (i, word) in enumerate(tokens):
        tag = self.tagdict.get(word)
        if (not tag):
            features = self._get_features(i, word, context, prev, prev2)
            tag = self.model.predict(features)
        output.append((word, tag))
        prev2 = prev
        prev = tag
    return output
