我有一個包含10個txt文件的文件夾。我正在計算給定術語的IDF。但是我的產出與預期不同。這是我的idf代碼。語料庫的逆文檔頻率
這裏s是一個包含來自這10個文件的所有單詞的聯合的集合。
def idf(term):
i = 0
doc_counts = 0
totaldocs = 10
if term in s:
for filename in os.listdir(root_of_my_corpus):
file = open(os.path.join(root_of_my_corpus, filename), "r", encoding='UTF-8')
idfdoc = file.read()
file.close()
idfdoc = idfdoc.lower()
tokenidf = tokenizer.tokenize(idfdoc)
if term in tokenidf:
doc_counts+=1
return(math.log(totaldocs/doc_counts))
您可以提供輸出以及預期的輸出,也可以提供一些示例數據? –
假設一個術語='xyz'在7個文檔中重複,確切的idf值沒有被我的代碼返回。 – Sameer
這還沒有足夠的信息。例如,你的程序中有什麼?爲什麼'totaldocs = 10',而不是'root_of_my_corpus'中的文件數量? –