[python]请问tf-idf的实现方法

2020-08-19 12:21发布

问题:

python中有TfidfVectorizer可以实现tf-idf值的计算,
我想要获取的特征词已经整理好了,例如下面这样

This_is_book
This_is_apple

我想要计算的是This_is_book和This_is_apple的tf-idf值,
可是用TfidfVectorizer的话,它就自动帮我把词汇拆分成This,is,book,apple这4个词了。
用TfidfVectorizer后的输出结果:

This    This的tf-idf值
is      is的tf-idf值
book    book的tf-idf值
apple   apple的tf-idf值

想要的输出结果:

This_is_book    This_is_book的tf-idf值
This_is_apple   This_is_apple的tf-idf值

请问TfidfVectorizer中设置什么参数可以让它不要自动拆分词汇呢?
或者如何自己写tf-idf的计算程序?

回答1:

如果你的文本中,就是This_is_apple这种数据,TfidfVectorizer不会自动帮你分词,可以正常得到tf-idf值,除非你自己定义了分词规则,如果你的数据是This is apple这种格式,可以直接设置ngram_range=(1, 3)