如何将文本传递给sklearn.feature_extraction.text.TfidfVectorizer

时间:2016-08-11 14:56:07

标签: scikit-learn vectorization

dict中传递字符串序列(文本数据),如下所示:

dataset = {
    0: 'adadba eefe', 
    1: 'blabla lablab', 
    2: 'etcetc', 
    3: 'zyxzyxz'
} 

sklearn.feature_extraction.text.TfidfVectorizer(dataset)不起作用。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

sklearn.feature_extraction.text.TfidfVectorizer接受字符串列表作为输入,因此如果dict中的键只代表索引,则获取语料库TF-IDF表示的最简单方法如下:

from sklearn.feature_extraction.text import TfidfVectorizer

dataset = {
    0: 'adadba eefe', 
    1: 'blabla lablab', 
    2: 'etcetc', 
    3: 'zyxzyxz'
}     

vec = TfidfVectorizer()
X = vec.fit_transform(dataset.values()) # X is a sparse matrix containing the TF-IDF representations of your input corpus

X行将跟随dict中的索引,例如第0行将包含句子'adadba eefe'的TF-IDF表示。