tf-idf原理
tf-idf(詞頻-逆文字頻率),是一種統計方法,用於評估乙個詞對於乙個文字的重要程度,詞的重要性隨著它在檔案**現的次數成正比,但同時會因為它在多個文字**現的頻率成反比。總的來說,乙個詞語在一篇文章**現的次數越多,同時在所有文件**現的次數越少,就越能代表該文章。
tf-idf主要是有詞頻tf和idf逆文字頻率idf組成,公式為:
t f−
idf=
tf∗i
df
tf-idf = tf * idf
tf−idf
=tf∗
idftf是指語料庫中的詞在該句子**現的頻率,公式如下;
t f=
在某一類
中詞條w
出現的次
數該類中
所有的詞
條數
目tf = \frac
tf=該類中
所有的詞
條數目在
某一類中
詞條w出
現的次數
idf的定義如下:
i df
(x)=
log語
料庫的文
檔總數+
1包含詞
條w的文
檔數+1
+1
idf(x) = log\frac+1
idf(x)
=log
包含詞條
w的文件
數+1語
料庫的文
檔總數+
1+1
idf越大,則越說嗎該詞條具有很好的類別區分能力,上述公式是經過idf平滑後的公式,防止因為某乙個詞語沒出現在語料庫的時候,分母變為0。
文字矩陣化
import pandas as pd
# 將txt檔案轉化為dataframe
f = open('/users/weihongyin/知識星球/nlp/cnews/cnews.test.txt').read()
from sklearn.feature_extraction.text import tfidfvectorizer
corpus =
vectorizer = tfidfvectorizer()
tfidf = vectorizer.fit_transform(corpus)
print(tfidf.shape)
print(tfidf)
Python自然語言分析(第四期) 第2課書面作業
coding utf 8 import nltk from nltk.book import len text2 len text2 len dis text2 len set text2 print 在text2中有 str len text2 個詞 print 在text2中有 str len ...
第四期題目
1 乙個工人打工7天,工資一天一結,有一根金條是這七天的總工資,問只能掰兩次,而且工資天天發,怎麼掰?2.乙個商人,想做乙個管理員工的資訊的系統,他提供了員工名,和員工工資 開發員就在資料庫中建了乙個表,有員工名和員工工資兩列,系統做好了,商人聽到員工的要求,說要把錢直接打到自己的卡里,商人要求,在...
第四期c語言答案
在字串中找出第乙個只出現一次的字元,如輸入 abaccdeff 則輸出 b 要求時間複雜度為o n 對於乙個字串,請設計乙個高效演算法,找到第一次重複出現的字元,測試樣例 qywyer23tdd 返回 y 乙個整形陣列裡除了兩個數字之外,其他的數字都出現了兩次,請寫程式找出這兩個只出現一次的數字,例...