Mas*_*fox 10 nlp machine-learning text-analysis
我有一个经典的NLP问题,我必须把新闻归类为假的或真实的.
我创建了两组功能:
A)Bigram术语频率 - 逆文档频率
B)使用pattern.en(https://www.clips.uantwerpen.be/pages/pattern-en)获得的大约20个与每个文档相关的特征作为文本的主观性,极性,#stopwords,#verbs,#subject,关系语法等...
哪种方法可以将TFIDF功能与其他功能结合起来进行单一预测?非常感谢大家.
Ush*_*ood 10
不确定你是否在技术上询问如何在代码中组合两个对象或在理论上做什么,所以我将尝试回答两者.
从技术上讲,您的TFIDF只是一个矩阵,其中行是记录,列是功能.因此,您可以将新功能作为列添加到矩阵的末尾.可能你的矩阵是一个稀疏矩阵(来自Scipy)如果你用sklearn这样做,所以你必须确保你的新特征也是一个稀疏矩阵(或使另一个密集).
这会为您提供您的训练数据,就如何处理它而言,它有点棘手.你在bigram频率矩阵中的特征将是稀疏的(我不是说这里的数据结构我只是意味着你将有很多0),它将是二进制的.虽然您的其他数据密集且连续.这将在大多数机器学习算法中运行,尽管预测可能会受到密集变量的支配.然而,通过一些特征工程,我在过去使用树形连接器构建了几个分类器,这些分类器将术语 - 频率变量的组合与其他更密集的变量相结合并提供增强的结果(例如,分类器查看twitter配置文件并进行分类他们作为公司或人).通常我发现更好的结果,我至少可以将密集变量分成二进制(或分类然后热编码成二进制),这样它们就不会占主导地位.