deepwel / Chinese-Annotator

Annotator for Chinese Text Corpus (UNDER DEVELOPMENT) 中文文本标注工具
Apache License 2.0
1.46k stars 329 forks source link

[algo_factory] Spam Email Classification Pipeline and Module Prototype #2

Open crownpku opened 6 years ago

crownpku commented 6 years ago

算法这块,现在有email spam数据,有classification的目标了

要实现:

  1. 前端导入数据写入database里面。然后一个一个给用户标注spam or not这个功能,并把标注结果通过api传给算法(这部分需要task_center调度)
  2. 算法这里先做online的传统机器学习部分,要做数据预处理(chi_annotator/algo_factory/preprocess/),feature提取(chi_annotator/algo_factory/feature_extraction/)以及SVM的分类运算(chi_annotator/algo_factory/online/) 整个pipeline要模块化和通用化写成不同的py文件,这样config里面定义好pipeline的模块,就可以调用不同的部分跑流程了。
  3. 算法要实现置信度的运算和ranking,然后反馈给前端下一个需要标注的结果,这部分也要有一个调度和接口.

一个从rasa_nlu拿来的SVM例子放去了chi_annotator/algo_factory/online,供参考。

大家协助一起把它细化,然后尝试认领其中某一块开始实现。具体代码实现之前,我们要把函数定义输入输出商议好。

如果是新函数新代码,可以直接push;如果是修改别人的代码,建议用pull request让原来写代码的owner做review和merge.

crownpku commented 6 years ago

有空的话,推荐看以下两个项目代码和文档:

https://github.com/RasaHQ/rasa_nlu 学习他们将算法整理成为模块化pipeline,以及使用config文件设置和调配不同模块的方法;他们的intention classification和我们现在要做的文本分类任务基本一致。

https://github.com/machinalis/iepy 这个和我们做的标注工具任务基本一致,学习一下他们的代码架构、数据库和前端的处理、以及active learning部分的算法。但是iepy我试用的时候感觉比较卡,一个问题可能是前端技术太过落后,另外他们家的active learning也不含offline算法,这个是我们未来想加入的。