A semi-exact sequential Monte Carlo filtering algorithm in hidden Markov chains