在scikit-learn中,文本分类时如何标准化文本数据的排列方式?

我有一个监督文本分类的NLP任务。我对语料库进行了词性标注,然后使用scikit-learn提供的不同向量化器来为scikit-learn提供的分类算法提供数据。我还拥有之前通过无监督方式获得的语料库的标签(类别)。

首先,我对语料库进行了词性标注,然后获得了一些不同的二元组,它们的结构如下:

bigram = [[('word','word'),...,('word','word')]]

显然,我似乎已经具备了进行分类的所有条件(我已经用一些小例子进行了分类,但不是用整个语料库)。

我想使用这些二元组作为特征,以便将其呈现给分类算法(多项式朴素贝叶斯、SVM等)。

有什么标准的(Pythonic的)方法可以整理所有文本数据进行分类,并展示分类后的语料库结果吗?我考虑过使用arff文件和numpy数组,但我想这可能会不必要地复杂化任务。另一方面,我考虑过将数据分成训练和测试文件夹,但我不清楚如何在训练文件夹中设置标签。


回答:

最简单的选项是load_files,它期望目录布局如下:

data/    positive/     # 类别标签        1.txt     # 任意文件名        2.txt        ...    negative/        1.txt        2.txt        ...    ...

(这并不是真正的标准,只是方便且习惯性的做法。网上提供的一些机器学习数据集采用这种格式。)

load_files的输出是一个包含数据的dict

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注