Bug fix: missing import.
Move dictionary-loading code to a function.
Nothing special :(
Bug fix: consider duplicated keys in CEDICT.

Some keys appear more than once and before only the last occurence of a dictionary entry was being kept.
Keep vocabulary simple by using byte-string values instead of lists.
Add test to demonstrate how the implementation is broken.
Move memoization to load_cedict().
Replace recursion with iteration, faster.
Refactoring

 1. Put CEDICT functions into a class;
 2. Break ChineseWordSegmenter into ChineseWordSegmenter and ChineseEnglishWordTranslator, now instances of WordSegmenter and WordTranslator.
Implement Word Segmenter using Directed Acyclic Word Graph.
DAWGWordSegmenter passes our tests.