class POS_Tagger():
    def __init__(self, 
                 path_to_home=TREETAGGER_PATH_TO_HOME, 
                 path_to_model=TREETAGGER_PATH_MODEL):
        
        self.tagger = TreeTagger(path_to_home, parameters=[r'-lemma', r'-token', path_to_model])
        
    def tag(self, tokens):
        return self.tagger.tag(tokens)
 def __init__(self, 
              path_to_home=TREETAGGER_PATH_TO_HOME, 
              path_to_model=TREETAGGER_PATH_MODEL):
     
     self.tagger = TreeTagger(path_to_home, parameters=[r'-lemma', r'-token', path_to_model])
        relation_occurence_found = []
        for r in self.rules:
            relation_occurence_found.extend(r.parse_tags(pos_tags))
        return relation_occurence_found  #pd.DataFrame(relation_occurence_found,columns="src tar type".split())

    @property
    def rules(self):
        return self.__rules

    @rules.setter
    def rules(self, rule):
        if not isinstance(RelationRule):
            raise TypeError
        self.__rules.append(rule)


if __name__ == "__main__":
    from lib.treetagger import TreeTagger

    tt = TreeTagger(language="french")

    pos_tags = tt.tag(
        """Les perspectives économiques mondiales s’assombrissent, sur fond de tensions commerciales et géopolitiques. L’Organisation de coopération et de développement économiques (OCDE) a abaissé, jeudi 19 septembre, ses prévisions de croissance mondiale de 0,3 et 0,4 point de PIB pour 2019 et 2020, par rapport à celles de mai. Si, comme le prévoit désormais l’OCDE, la croissance atteint 2,9 % en 2019 et 3 % l’année suivante, l’économie mondiale enregistrerait ses pires performances depuis la crise financière de 2008. Un freinage qui touche à la fois les pays riches et les pays émergents. « Il y a un risque de ralentissement structurel », souligne Laurence Boone, chef économiste de l’OCDE, qui cite l’impasse des négociations commerciales entre la Chine et les Etats-Unis, la menace du Brexit ou encore le regain de tensions entre le Japon et la Corée du Sud."""
    )

    pip = PipelineParser()
    pip.rules.append(
        PruningRule(patterns=[["VER:pres"]], pattern_idx=1, keep_only=False))
    print(pos_tags)
    print("-----")
    print(pip.pipe(pos_tags))