我寫了一個小型「搜索工具」,可以找到目錄及其子目錄中的所有文本文件 - 我可以編輯代碼,但我認爲這對於我的題。Python 2.7:堅持搜索和索引
它的工作原理是這樣的格式製作詞典:
term_frequency = {'file1' : { 'WORD1' : 1, 'WORD2' : 2, 'WORD3' : 3}}
{'file2' : { 'WORD1' : 1, 'WORD3' : 3, 'WORD4' : 4}}
...continues with all the files it has found...
從收集到的信息會創建第二個字典像這樣:
document_frequency = {'WORD1' : ['file1', 'file2'....],
'WORD2' : ['file1',............],
....every found word..........]}
的term_frequency dictionary
的目的是爲了保持數據一個單詞在該文件中被使用了多少次,並且document_frequency
表示該單詞已被使用了多少個文檔。
然後,當給出一個單詞時,它按tf/df
計算每個文件的相關性,並列出文件的下降相關性中的non-zero
值。
例如:
file1 : 0.75
file2 : 0.5
我知道,這是TF-IDF的一個非常簡單的表現,但我是新來的Python和編程(2周),我逐漸熟悉了這一切。
對不起長上下的前奏,但我覺得這是相關的問題......這使我對想:
我如何去製作,在一個文件中保存這些詞典的索引和然後讓一個「搜索者」從文件中讀取這些字典。因爲現在的問題是,每當你想尋找一個不同的單詞時,它必須再次讀取所有文件,並且一遍又一遍地製作相同的2個字典。
我認爲你正在尋找['pickle'(HTTPS: //docs.python.org/2/library/pickle.html)你的字典。 – will 2014-08-29 15:44:51
@will啊,我不知道爲什麼,但我無法訪問'docs.python'上的任何頁面,我的互聯網運行得非常好,它只是討厭那個wesbite ...太令人沮喪了:/ – Sebastian 2014-08-29 15:47:35
糟糕。好吧,看起來我被毆打了。抱歉。 – Phillammon 2014-08-29 15:48:06