基於Python檢索系統(3)分詞後建立資料結構

2021-08-05 23:28:12 字數 1542 閱讀 1887

主要使用3個字典進行資料的存放,分別為title_dict、tags、word_dict。

1、標題字典(title_dict)

鍵:1、2、3、4、5……

值:每個標題的內容

2、分詞後的字典(tags)

3、倒排列表(word_dict)

**如下:

import jieba

import jieba.analyse

#記錄檔案中有多少行標題 記錄在count中

count=0

for line in open("jia.txt","r",encoding='utf-8'):

count=count+1

#新建字典title_dict,鍵對應(1-5294)的數字,值是對應的新聞標題

title_dict={}

f=open("jia.txt","r",encoding='utf-8')

i=1#將文字的每行標題存入字典

for line in open("jia.txt","r",encoding='utf-8'):

#新增乙個刪除字串末尾/n的操作

title_dict[i]=line

i=i+1

# print(line)

#將字典title_dict中的值分別進行分詞操作

seg_list={}

tags={}

#將分詞存入tags字典,鍵為1-5294,值為對應的分詞組成的列表

for j in range(1,count+1):

#搜尋引擎模式

seg_list[j] =jieba.cut_for_search(title_dict.get(j))

#精確模式

#seg_list[j]=jieba.cut(title_dict.get(j),cut_all=true)

tags[j]=jieba.analyse.extract_tags(title_dict.get(j), topk=40)

# print(tags)

#將分詞後的結果存入詞項字典

word_dict={}

for k in range(1,count+1):

for z in range(0,int(len(tags.get(k))-1)): #字典中每個值中,元素的個數

word_dict.setdefault(tags.get(k)[z])

if(word_dict.get(tags.get(k)[z])==none):

word_dict[tags.get(k)[z]]=

else:

Python 結巴分詞(1)分詞

利用結巴分詞來進行詞頻的統計,並輸出到檔案中。結巴分詞的特點 支援繁體分詞 支援自定義詞典 mit 授權協議 演算法 分詞引數 使用者詞典 載入詞典 使用者詞典 userdict.dict 雲計算 5 李小福 2 nr 創新辦 3 i easy install 3 eng 好用 300 韓玉賞鑑 3...

基於全文檢索系統實現文件系統相關推薦功能

3 基於全文檢索系統實現文件系統推薦 1.1 編輯距離 編輯距離 levenshtein distance 是針對二個字串 例如英文本 的差異程度的量化量測,是 用來度量兩個序列相似程度的指標。編輯距離指的是在兩個字串之間,由乙個字串轉換為另乙個字串所需要的最少單字元編輯操作。單字元編輯操作定義為 ...

文字預處理 (3)分詞

由於新詞的不斷出現,不存在乙個詞表能夠收錄所有的詞彙。所以此時就無法將這個詞給識別出來。比如 羽毛球拍賣完了 就存在兩種分詞的方式 一種是,羽毛球 拍賣 完了 另一種是,羽毛球拍 賣 完了 比如 自然語言處理 可以看做乙個詞語,也可以看三個詞語 自然 語言 處理 基於詞典資源的一種分詞方法,對文字中...