Thank you for your suggestion. I did some benchmarking, using `itertools.chain` is much faster:

```
>>> timeit('sum(list_of_lists,[])',setup='list_of_lists=[range(i,i+10) for i in range(0,101,10)]',number=100000)
0.6262800693511963
>>> timeit('chain(*list_of_lists)',setup='from itertools import chain; list_of_lists=[range(i,i+10) for i in range(0,101,10)]',number=100000)
0.0319368839263916
```

How do you call `build_analyzer()` in each process? Putting it inside `_count_vocab_process` will call `build_analyzer()` each time a new batch arrives, right?