带有自定义列表的 Tfidf

Tfidf with a custom list

我有一个原始字符串列表,如下所示;

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 中的内容。我希望能够去的是检查来自 mylist 的 ngram 在 listtocheck 的每个项目中出现的次数,然后根据 ngram 在所有项目中出现的总次数执行 TfIdf listtocheck

中的字符串

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

这是我最后使用的代码:

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)