Exemple #1
0
    def __init__(self, parser: MyParser, offset) -> None:
        self.d_train = {}
        self.d_inference = {}
        self.suffixes = ['ful', 'ive', 'ic', 'al', 'able', 'ed', 'ible', 'ing', 'ous', 'ish', 'like', 'some',
                         'worthy', 'ly', 'ily', 'ely', 'ingly', 'ment', 'ness', 'sion', 'tion', 'ty', 'al', 'ance',
                         'hood', 'dom', 'ght', 'ful', 'er', 'age', 'sis', 'ism', 'ity', 'ant', 'ssion', 'ship', 'th',
                         'cess', 'ize', 'ise', 'yse', 'ate', 'ent', 'en', 'ify', 'fy', 'ct', 'fine', 'ive', 'ed']
        self.suffixes = sorted(set(self.suffixes))
        suf_triplet = parser.getAllTagsForSuffix(self.suffixes)
        self.suffixes = []
        suf_len = len(suf_triplet)
        for (w,x,t),i in zip(suf_triplet, range(0, suf_len)):
            if x not in self.suffixes:
                self.suffixes.append(x)
            if (x,t) not in self.d_inference:
                self.d_inference[(x,t)] = len(self.d_inference) + offset
            self.d_train[(w,t)] = self.d_inference[(x,t)]

        super().__init__(len(self.d_inference),offset)