importnumpyasnpimportnltkfromnltk.tokenizeimportword_tokenizeclassTFIDF:defterm_frequency(self,term,sentence):term=term.lower()terms=[tfortinword_tokenize(sentence.lower())ift.isalpha()]# isalpha() 字符串的所有字符都是字母 返回Trueiftermnotinterms:return0.0ma=0cnt=dict()fortinterms:iftnotincnt:cn...
TF:Term Frequency,词频=单词次数/文档中总单词数 一个单词的重要性和它在文档中出现的次数呈正比 IDF:Inverse Document Frequency,逆向文档频率=log(文档总数/(单词出现的文档数+1)) 一个单词在文档中的区分度。这个单词出现的文档数越少,区分度越大,IDF越大 这里借鉴TF-IDF的思想,使用tag_users[t]表示标签t...
} public static Map<String, HashMap<String, Float>> tfidf(String dir) throws IOException { Map<String, Float> idf = ReadFiles.idf(dir); Map<String, HashMap<String, Float>> tf = ReadFiles.tfOfAll(dir); for (String file : tf.keySet()) { Map<String, Float> singelFile = tf.get(f...
TF:Term Frequency,词频=单词次数/文档中总单词数 一个单词的重要性和它在文档中出现的次数呈正比 IDF:Inverse Document Frequency,逆向文档频率=log(文档总数/(单词出现的文档数+1)) 一个单词在文档中的区分度。这个单词出现的文档数越少,区分度越大,IDF越大 这里借鉴TF-IDF的思想,使用tag_users[t]表示标签t...