java特征提取,scikit-learn中的手动特征提取

我正在尝试从文本数据集中手动提取要素并将其提供给sklearn管道,如下所示 -

clf_SVM = Pipeline([

('features', FeatureUnion([

('tf_idf', TfidfVectorizer(ngram_range=(1,3), use_idf=True, analyzer='word', lowercase=True, encoding='utf-8', stop_words='english', tokenizer=prepro.tok, min_df=3))

('manual_features', prepro.extractmanualfeatures())

])),

('chi2', SelectKBest(chi2, k=1200)),

('classifier', LinearSVC())

])

我正在使用FeatureUnion,它将从tf_idf中提取特征f1,并从manual_features中提取f2并将它们组合在一起,即两个提取在同一数据集上并行运行 .

现在我想首先运行manual_features,然后在生成的语料库运行tf_idf . 由于manual_features是一个令牌提取器,我可以在tf_idf的tokenizer参数中提供它,它可以正常工作 .

这里的问题是我在manual_features提取器中设置了一些规则,比如从文本中提取“can any_word {0,3} POS-verb”模式的出现 . 如果这个提取器在tf_idf中作为tokenizer的一部分工作,那么它会考虑“你能做到”和“你可以工作”作为不同的功能,而我希望它们都被认为是相同的功能类型,即“可以POS-verb” ” . 怎么做到这一点?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值