One-hot vector和TF-IDF

One-hot vector是把所有的词汇变成列,例如我们有10000个词汇,那么就有10000列。

对于每个句子,如果单词出现,则该列为1,例如,有两句话:

'Time flies flies like an arrow.',  'Fruit flies like a banana.'

他们的one-hot vector如下图所示:


TF-IDF用于计算文章中词语的出现次数。

因为常用词的出现次数远远大于非常用词。为了让非常用词也能露脸,所以加了个IDF作为修正。IDF中词语出现的文章数作为分子(n_{w} ),总文章数作为分母,然后求对数值,具体公式如下:


把词语的出现次数TF和IDF相乘(TF*IDF),得到了TF-IDF.

上面两个句子的TF-IDF图如下:



sklearn包实现了one-hot和tf-idf的计算,具体的方法如下:

one-hot:CountVectorizer

if-idf:TfidfVectorizer()

https://scikit-learn.org/stable/modules/feature_extraction.html#text-feature-extraction

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容