One-hot vector是把所有的詞匯變成列,例如我們有10000個詞匯炬守,那么就有10000列。
對于每個句子剂跟,如果單詞出現(xiàn)减途,則該列為1,例如曹洽,有兩句話:
'Time flies flies like an arrow.',? 'Fruit flies like a banana.'
他們的one-hot vector如下圖所示:
TF-IDF用于計算文章中詞語的出現(xiàn)次數(shù)鳍置。
因為常用詞的出現(xiàn)次數(shù)遠遠大于非常用詞。為了讓非常用詞也能露臉送淆,所以加了個IDF作為修正税产。IDF中詞語出現(xiàn)的文章數(shù)作為分子(),總文章數(shù)作為分母偷崩,然后求對數(shù)值辟拷,具體公式如下:
把詞語的出現(xiàn)次數(shù)TF和IDF相乘(TF*IDF),得到了TF-IDF.
上面兩個句子的TF-IDF圖如下:
sklearn包實現(xiàn)了one-hot和tf-idf的計算阐斜,具體的方法如下:
one-hot:CountVectorizer
if-idf:TfidfVectorizer()
https://scikit-learn.org/stable/modules/feature_extraction.html#text-feature-extraction