The recursion in fit function has bugs: self.counter and self.vocabulary_ are reset when the child call fit, so, the recursion doesn't work.