带有自定义列表的Tfidf

时间:2019-06-10 16:43:07

标签: tf-idf tfidfvectorizer

我有一个像这样的原始字符串列表;

listtocheck = ['fadsfsfgblahsdfgsfg','adfaghelloggfg','gagfghellosdfhere','blahsgsdfgsdfhellohsdfhgshstring']

我想用这些和列表中的项目列表(而不是本身)执行TfIdf。

mylist = ['blah','hello','here','string']

我正在矢量化此列表;

from sklearn.feature_extraction.text import TfidfVectorizer

tf = TfidfVectorizer(analyzer = 'char_wb', ngram_range=(2,3))
listvec = tf.fit_transform(mylist)

这给了我mylist中事物的tfidf。我想做的是检查mylist中的ngrams在listtocheck的每个项目中出现的次数,然后根据ngram在所有项中出现的总次数执行TfIdf listtocheck

中的字符串

1 个答案:

答案 0 :(得分:0)

为了实现这一点,我必须先在.fit()mylist,然后在.transform()listtocheck

这是我最后使用的代码:

from sklearn.feature_extraction.text import TfidfVectorizer

def create_vec(listtocheck,mylist):

    tf = TfidfVectorizer(analyzer = 'char_wb',ngram_range=(2,3))
    tf.fit(mylist)
    X = tf.transform(listtocheck)

    return X

vecs = create_vec(listtocheck, mylist)