'Tag a list of sentences. NB before using this function, user should specify the mode_file either by
- Train a new model using ``train\'\' function
- Use the pre-trained model which is set via ``set_model_file\'\' function
:params sentences : list of sentences needed to tag.
:type sentences : list(list(str))
:return : list of tagged sentences.
:rtype : list (list (tuple(str,str)))'

def tag_sents(self, sents):

    if (self._model_file == u''):
        raise Exception(u'    No    model    file    is    found    !!    Please    use    train    or    set_model_file    function')
    result = []
    for tokens in sents:
        features = [self._feature_func(tokens, i) for i in range(len(tokens))]
        labels = self._tagger.tag(features)
        if (len(labels) != len(tokens)):
            raise Exception(u'    Predicted    Length    Not    Matched,    Expect    Errors    !')
        tagged_sent = list(zip(tokens, labels))
        result.append(tagged_sent)
    return result
