关键词行业分类

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关键词行业分类

Had oopEagl eEye

Feature Engineering

对于关键词分类,考虑到中文分词的准确性直接影响了最后分类效果的好坏,所以最后我们选择了利用字符组合与分词结果相结合的方案。

我们提取了4-gram的字符组合,比如对于“生日蛋糕”这样的词语,我们会提取“生日蛋糕”,“生日蛋”,“日蛋糕”,“生日”,“日蛋”,“蛋糕”,以及“生”,“日”,“蛋”,“糕”这些词语。然后用bag-of-words向量化。我们选取了大概180W种组合。

我们还使用了中文分词。我们使用的分词器是开源项目IKAnalyzer。我们不仅使用分词结果,同时还使用分词结果的组合。比如对于词语“天津新开河街房价”这样的短语我们会提取“天津新开河街”,“天津房价”,“新开河街房价”,“天津”,“新开河街”,“房价”这样的组合。最后也是用bag-of-words向量化,我们选取了大概570W中组合。

所以我们最后的特征维度有大约750W维

Classification

我们使用的是线性SVM分类器。使用的解法是liblinear所提供的解法。利用hadoop的mapreduce并行,虽然有大规模的数据(1000W*750W),但整个训练和测试过程都可以快速进行。经过我们的测试,整个训练和测试过程都可以在1小时内完成。

Multi-class svm on had oop

对于有k个类的多分类的svm,我采用的是one-vs-rest的方案,即训练k个2分类svm,预测的时候使用分数最高的分类器结果作为最终结果。而对于k个2分类svm,由于其训练过程相对独立,我们使用map reduce将其并行化如图:

由于每个运算节点内存有限,不能将数据文件全部读入内存。所以我们在解SVM的同时使用了缓存技术,在内存中只缓存一部分最有用的数据进行训练。

而在测试的时候同样可以用map reduce并行化如图:

相关文档
最新文档