資源簡介
這份代碼是我們專業(yè)的一個實驗,內容包含了文本分詞和文本分類。分別使用了正向最大匹配算法和KNN算法。分詞速度平均153295詞/秒,189100字符/秒。文本分類使用tf-idf計算單詞權重進行特征選擇,我測試時選擇前100個特征詞,根據(jù)k的不同取值,分類的準確度平均為75%。
代碼片段和文件信息
‘‘‘
2019/5/12
by?zhyjc
##?encoding?=?‘gb18030‘errors?=?‘ignore‘
‘‘‘
import?os
import?time
import?math
class?Trie_tree(object):
????????#定義一個字典樹的類,用于正向最大匹配時對文本分詞
????def?__init__(self):
????????self.root?=?{}
????????self.word_end?=?-1
????def?tree_build(self?dict_path):
????????f_dic?=?open(dict_path‘r‘encoding?=?‘utf-8‘)????#詞典
????????strs?=?f_dic.readlines()
????????for?word?in?strs:
????????????word?=?word.strip(‘?\n‘)
????????????self.insert(word)
????????print(‘字典樹建立完成!\n‘)
????????return?self????????
????
????def?insert(selfword):
????????cur_node?=?self.root
????????for?char?in?word:
????????????if?not?char?in?cur_node:
????????????????cur_node[char]?=?{}
????????????cur_node?=?cur_node[char]
????????cur_node[self.word_end]?=?True
????
????d
評論
共有 條評論