我有一个包含两列(无标题)的CSV文件,保存在一个名为'dataset'的变量中:
Year Document Text
0 ['1991'] ['FACTSHEET ', 'WHAT ', 'IS ', 'AIDS', 'AIDS '...
1 ['1991'] ['HIV ', 'IT', "'S ", 'YOUR ', 'CHOICE', 'Ever...
2 ['1991'] ['ACET ', 'AIDS ', 'CARE ', 'EDUCATION ', 'AND...
我正在尝试使用Scikit-learn构建一个Bag of Words模型,并使用TF-IDF收集权重。但是,我很难获得实际结果,因为下面代码的输出返回2480行(正确)* 346862列(由@Jarad校正)。我希望有人帮我解读这些结果,并指出我的格式(提供清晰度)或更正(提供有效性)的正确方向,以便我可以进入Bag of Words模型实施的后期阶段。
Python代码:
from sklearn.feature_extraction.text import TfidfVectorizer
v = TfidfVectorizer()
x = v.fit_transform(dataset.iloc[:,1])
df1 = pd.DataFrame(x.toarray(), columns=v.get_feature_names())
print(df1)
输出:
00 000 0000 00000 00000000 00000001 0000001 00001
0 0.000000 0.011453 0.000000 0.0 0.0 0.0 0.0 0.0
1 0.000000 0.022032 0.000000 0.0 0.0 0.0 0.0 0.0
2 0.006352 0.009717 0.000000 0.0 0.0 0.0 0.0 0.0
3 0.001422 0.015949 0.000000 0.0 0.0 0.0 0.0 0.0
4 0.000000 0.002377 0.000000 0.0 0.0 0.0 0.0 0.0
我是否应该在将文档存储到CSV文件之前对其进行标记?我决定反对它,因为我希望在稍后阶段分析句子结构。