一、文本表示方法
詞嵌入(Word Embedding):通過將不定長(zhǎng)的文本轉(zhuǎn)換到定長(zhǎng)的空間內(nèi),從而使得文本表示成計(jì)算機(jī)能夠運(yùn)算的數(shù)字或向量。
1. One-hot(獨(dú)熱編碼)
將每個(gè)字/詞編碼一個(gè)索引,然后根據(jù)索引進(jìn)行賦值吱七,從而將每一個(gè)單詞轉(zhuǎn)化為一個(gè)離散的向量。
2. Bag of Words/Count Vectors(詞袋表示)
將每個(gè)文檔的字/詞用其出現(xiàn)的次數(shù)表示鹤竭。
CountVectorizer會(huì)將文本中的詞語轉(zhuǎn)換為詞頻矩陣踊餐,它通過fit_transform函數(shù)計(jì)算各個(gè)詞語出現(xiàn)的次數(shù)。
3. N-gram
與詞袋表示類似臀稚,但是加入了相鄰單詞組合成為新的單詞吝岭,并進(jìn)行計(jì)數(shù)。(將文本里面的內(nèi)容按照字節(jié)進(jìn)行大小為N的滑動(dòng)窗口操作吧寺,形成了長(zhǎng)度是N的字節(jié)片段序列窜管。)
4. TF-IDF
TF-IDF 分?jǐn)?shù)由兩部分組成:第一部分是詞語頻率(Term Frequency),第二部分是逆文檔頻率(Inverse Document Frequency)稚机。其中計(jì)算語料庫中文檔總數(shù)除以含有該詞語的文檔數(shù)量幕帆,然后再取對(duì)數(shù)就是逆文檔頻率。
TF(t)= 該詞語在當(dāng)前文檔出現(xiàn)的次數(shù) / 當(dāng)前文檔中詞語的總數(shù)
IDF(t)= log_e(文檔總數(shù) / 出現(xiàn)該詞語的文檔總數(shù))
如果一個(gè)詞越常見赖条,那么分母就越大失乾,逆文檔頻率就越小越接近0常熙。分母有時(shí)候會(huì)加1,之所以要加1碱茁,是為了避免分母為0(即所有文檔都不包含該詞)裸卫。log表示對(duì)得到的值取對(duì)數(shù)。
二纽竣、基于機(jī)器學(xué)習(xí)的文本分類