这次更新在三个方面做了一些改进的探索:
- 可维护性:原来的实现中,主文件中的HarvestText类集合了太多函数以致于过于冗长(1407行),这次使用Mixin设计模式做了小幅重构,将不同主题的高层模块的功能分散到不同的文件中,将主文件瘦身到791行。同时调整了一下调用层级相对更加容易维护
- 可拓展性:参考scikit-learn等可以下载外部资源的库的设计,实现了下载器,在不使得库的大小膨胀的情况下引入更多资源。目前仅引入了jiaba词典,来改进新词发现 https://github.com/blmoistawinde/HarvestText/issues/24 , 未来或许可以用这种方式引入更多语料和模型
- 可信性:对于用到的机器学习算法,没有参考数据集上的评测结果会让人对它的可能表现心里没数,不能够信任。所以这次为新实现的关键词抽取算法做了这样一份[benchmark](https://github.com/blmoistawinde/HarvestText/blob/master/examples/kwd_benchmark/CSL.ipynb)