日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

基于Python的汉语分词系统

發布時間:2023/12/10 windows 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于Python的汉语分词系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

資源下載地址:https://download.csdn.net/download/sheziqiong/86776599
資源下載地址:https://download.csdn.net/download/sheziqiong/86776599
漢語分詞系統
目錄
漢語分詞系統 1
摘要 1
1 緒論 1
2 相關信息 1
2.1 實驗目標 1
2.2 編程語言與環境 2
2.3 項目目錄說明 2
3 訓練測試 3
4 詞典構建 3
5 正反向最大匹配分詞實現 3
5.1 正向最大匹配分詞-最少代碼量 3
5.2 反向最大匹配分詞-最少代碼量 4
6 正反向最大匹配分詞效果分析 5
7 基于機械分詞系統的速度優化 6
2.2編程語言與環境
Python 3.7.9 ,Windows11,VScode
2.3項目目錄說明
目錄中存在Code和io_files兩個文件夾,Code文件夾中存放第一部分到第四部分實驗代碼,io_files文件夾中存放第一部分到第四部分實驗產生文件和依賴文件。
io_files文件夾:
?199801_sent.txt 為標準文本,是1998 年 1 月《人民日報》未分詞語料,用于產生訓練集和測試集
?199801_seg&pos.txt 為標準文本,是1998 年 1 月《人民日報》的分詞語料庫,用于產生測試集對應的分詞標準答案
?dic.txt為自己形成的分詞詞典,存放根據訓練集產生的詞典
?train.txt 為訓練集,取分詞語料庫中 的數據作為訓練集用于生成詞典
?std.txt 為標準答案, 取分詞語料庫中另外 的數據作為標準答案,與分詞結果進行比對計算準確率、召回率和F 值
?test.txt 為測試集,在未分詞語料中取與標準答案相對應的 的數據作為測試集產生分詞結果
?seg_FMM.txt 為全文的分詞結果,使用正向最大匹配分詞,使用train.txt文件作為訓練集,將199801_sent.txt文件進行分詞
?seg_BMM.txt為全文的分詞結果,使用反向最大匹配分詞,使用train.txt文件作為訓練集,將199801_sent.txt文件進行分詞
?score.txt為第三部分生成的評測分詞效果的文本,其中包括準確率(precision)、召回率(recall)和F 值
?seg_FMM_1_10.txt 為測試集分詞結果,使用正向最大匹配分詞,使用train.txt文件作為訓練集,將test.txt文件進行分詞
?seg_BMM_1_10.txt 為測試集分詞結果,使用反向最大匹配分詞,使用train.txt文件作為訓練集,將test.txt文件進行分詞
?better_seg_FMM.txt 為測試集分詞結果,使用優化后的正向最大匹配分詞,使用train.txt文件作為訓練集,將test.txt文件進行分詞,計算分詞時間與seg_FMM_1_10.txt分詞時間進行比較
?better_seg_BMM.txt 為測試集分詞結果,使用優化后的反向最大匹配分詞,使用train.txt文件作為訓練集,將test.txt文件進行分詞,計算分詞時間與seg_BMM_1_10.txt分詞時間進行比較
?TimeCost.txt 為分詞所用時間,存放優化前和優化后的分詞時間
Code文件夾:
?part_1.py 為實驗第一步詞典的構建代碼,其中包括生成分詞詞典函數以及生成訓練集、測試集和標準答案的函數
?part_2.py 為實驗第二步正反向最大匹配分詞實現代碼,其中包括讀取詞典內容函數、正向最大匹配分詞函數和反向最大匹配分詞函數
?part_3.py 為實驗第三步正反向最大匹配分詞效果分析代碼,其中包括計算評測得分函數,計算總詞數和正確詞數函數,計算準確率、召回率和f值函數以及獲取詞對應下標的函數
?part_4.py 為實驗第四步基于機械匹配的分詞系統的速度優化代碼,其中包括Trie樹的實現以及其中添加字符串函數,查找字符串函數,在子節點中查找字符對應位置函數和返回哈希值函數,還有獲得正向最大匹配的詞典樹函數,獲得反向最大匹配的詞典樹函數,優化后正向最大匹配分詞函數,優化后反向最大匹配分詞函數,全文分割函數以及計算時間函數
訓練測試
訓練集、測試集和標準答案來源于199801_sent.txt 和199801_seg&pos.txt文本文件,訓練集為199801_seg&pos.txt文件的 ,標準答案為剩下的 ,對199801_seg&pos.txt文件各行取模,若行數模10余0,則加入測試集,本文轉載自http://www.biyezuopin.vip/onews.asp?id=16703剩余的加入標準答案。
在199801_sent.txt中取與標準答案對應行加入測試集。
詞典構建
構建詞典時,不將量詞加入詞典,可以減少詞數,帶來空間和時間上的優化,且詞典中不存在重復詞。
讀取訓練集內容,進行逐行提取,以詞前的空格和詞后的 ’ / ’ 字符提取詞,若詞前存在 ’ [ ’ 字符則去除該字符。
將提取出來的詞加入列表,在訓練集所有內容提取完畢后對列表進行排序。
將列表輸出至詞典文件生成詞典,一行存儲一個詞便于后續讀取。

DIC_FILE = '../io_files/dic.txt' TRAIN_FILE = '../io_files/train.txt' STD_FILE = '../io_files/std.txt' TEST_FILE = '../io_files/test.txt' K = 10 # 將標準分詞文件的9/10作為訓練集'''3.1 詞典的構建輸入文件:199801_seg&pos.txt(1998 年 1 月《人民日報》的分詞語料庫) 、199801_sent.txt(1998 年 1 月《人民日報》語料,未分詞)輸出:dic.txt(自己形成的分詞詞典)、train.txt(訓練集)、std.txt(標準答案)、test.txt(測試集) '''def gene_dic(train_path =TRAIN_FILE, dic_path = DIC_FILE):'''生成分詞詞典input: train.txt(訓練集)output: dic.txt(分詞詞典)'''word_set = set() # 詞列表, 有序且不重復max_len = 0 # 最大詞長with open(train_path, 'r') as train_file: # 讀取訓練文本lines = train_file.readlines()with open(dic_path, 'w') as dic_file: for line in lines:for word in line.split():if '/m' in word: # 除去量詞continueword = word[1 if word[0] == '[' else 0 : word.index('/')] #去除 '[' 符號, 取 '/'前的詞if (len(word) > max_len): # 更新最大詞長max_len = len(word)word_set.add(word) # 加入詞典word_list = list(word_set)word_list.sort() # 排序dic_file.write('\n'.join(word_list)) # 用 '\n' 連接成新字符串return word_list, max_lendef gene_train_std(seg_path ='../io_files/199801_seg&pos.txt', train_path = TRAIN_FILE, std_path = STD_FILE, k = K):'''按9:1生成訓練集和測試集input: 199801_seg&pos.txt(分詞語料庫)output: train.txt(訓練集), std.txt(標準答案), test.txt(測試集)'''with open(seg_path, 'r') as seg_file:seg_lines = seg_file.readlines()std_lines = [] # 標準分詞答案with open(train_path, 'w') as train_file:for i, line in enumerate(seg_lines):if i % k != 0:train_file.write(line) # 模 k 不為 0 的行數加入訓練集else:std_lines.append(line) # 模 k 為 0 的行數加入標準答案with open(std_path, 'w') as std_file:std_file.write(''.join(std_lines)) # 寫入標準分詞答案gene_test() # 生成測試集def gene_test(sent_path = '../io_files/199801_sent.txt', test_path = TEST_FILE, k = K):'''生成測試集input: 199801_sent.txt(未分詞語料)output: test.txt(測試集)'''with open(sent_path, 'r') as sent_file:sent_lines = sent_file.readlines()with open(test_path, 'w') as test_file:for i, line in enumerate(sent_lines):if i % k == 0: test_file.write(line) # 模 k 為 0 的行數加入測試集if __name__ == '__main__':gene_train_std()gene_dic()









資源下載地址:https://download.csdn.net/download/sheziqiong/86776599
資源下載地址:https://download.csdn.net/download/sheziqiong/86776599

總結

以上是生活随笔為你收集整理的基于Python的汉语分词系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 凹凸精品一区二区三区 | 婷婷去俺也去 | 水蜜桃色314在线观看 | 国产拍拍拍拍拍拍拍拍拍拍拍拍拍 | 免费看片亚洲 | 色诱久久av| 最近中文字幕免费视频 | 日本 奴役 捆绑 受虐狂xxxx | 激情网五月天 | 中文精品久久 | 99热最新在线 | 亚洲美女色视频 | 亚洲日日夜夜 | 成品人视频ww入口 | 黄色成人在线网站 | 91 在线观看 | 拍真实国产伦偷精品 | 97狠狠| 亚洲图片另类小说 | 久久久精品一区二区涩爱 | 黄色片网站免费看 | 亚洲成人免费电影 | 色桃av | 国模精品视频一区二区 | 一区二区在线看 | 久久精品在线播放 | 一区二区三区久久精品 | 色xxxxx | 免费看片黄色 | 狠狠躁天天躁综合网 | 婷婷亚洲精品 | juliaann欧美二区三区 | 91香蕉国产在线观看 | 久草青青草| 欧美在线免费观看视频 | 秋霞一区二区三区 | 天天爱夜夜爽 | 麻豆性生活 | 三级视频在线观看 | 国产精品欧美久久久久久 | 午夜影院免费视频 | 黄色资源在线播放 | 国产视频在线观看网站 | 四虎av| 亚洲色图欧美另类 | 天堂√8在线中文 | 黄色录像二级片 | 免费观看在线播放 | 吊侵犯の奶水授乳羞羞漫画 | 亚洲国产剧情 | 无码国精品一区二区免费蜜桃 | 侵犯亲女在线播放视频 | 伊人网视频在线 | 在线的av | 91免费视频观看 | 草莓视频在线观看入口w | 国产人澡人澡澡澡人碰视频 | 国产精品美女久久久久久久久 | 欧美精品在欧美一区二区 | 久久久久xxxx | 九九精品在线观看视频 | eeuss日韩 | 午夜国产一区二区三区 | 超碰在线超碰 | 18禁一区二区三区 | 波多野结衣中文一区 | 亚洲国内自拍 | 无码人妻精品一区二区蜜桃视频 | 波多野结衣一二区 | 久久夜夜操 | 午夜家庭影院 | 免费一级特黄3大片视频 | 日韩aa视频 | 美女交配 | jizz国产 | 无码人妻丰满熟妇精品区 | 久久天天躁狠狠躁夜夜av | 国产91精品久久久久久久 | 亚洲理论片 | 精品一区日韩 | 91亚色视频| 亚洲精品久久久乳夜夜欧美 | 中文字幕9 | 大黄一级片 | 免费黡色av| 91亚洲一区二区 | 五月婷婷深深爱 | 成人三级做爰av | 欧美激情18p | 日韩精品福利视频 | 精品人妻av一区二区 | 草草地址线路①屁屁影院成人 | 亚洲一区二区三区香蕉 | 久久久久久伊人 | www.国产毛片| 日韩小视频在线观看 | www激情| 中文字幕一区二区三区四区不卡 | gv天堂gv无码男同在线观看 |