例如 我有一个语料:
# corpus = ["我 来到 北京 清华大学", # 第一类文本切词后的结果,词之间以空格隔开
# "他 来到 了 网易 杭研 大厦", # 第二类文本的切词结果
# "小明 硕士 毕业 与 中国 科学院", # 第三类文本的切词结果
# "我 爱 北京 天安门"] # 第四类文本的切词结果
这样的时候我运行:
vectorizer = TfidfVectorizer(min_df=1)
vectorizer.fit_transform(corpus)
print(vectorizer.transform(corpus).toarray()
出来正常的如下面:
[[0. 0.52640543 0. 0. 0. 0.52640543
- 0.66767854 0. 0. 0. ]
[0. 0. 0.52547275 0. 0. 0.41428875
0.52547275 0. 0. 0. 0. 0.52547275]
[0.4472136 0. 0. 0. 0.4472136 0.
- 0.4472136 0. 0.4472136 0.4472136 0. ]
[0. 0.6191303 0. 0.78528828 0. 0.
- ]]
但是当我的corpus 这个列表非常大的时候例如长度为1w的时候。
我在运行上面的代码,出来的矩阵每一行除了一个是 1 之外 其余都是 0 ?
这是为什么呢?