提示
1.词典 :提取词表后的结果
2.要分的词 : 需要进行分词处理的语句
3.分词结果 : 对语句分完词之后写入的文件
python代码
import numpy as np
path_dic = "词典.txt"
path_test = "要分的词.txt"
path_put = "分词结果.txt"
#处理词典库获得列表
def get_dic():
f=open(path_dic,'r')
file_open=f.read().split()#按照空格处理文件
f.close()
chars=list(set(file_open))#去重之后获得列表
return chars
dic=get_dic()
def readfile():
max_length=0
for i in dic:
max_length=max(max_length,len(i))##获得最大长度
zz=max_length
f=open(path_test,'r',encoding='UTF-8')
ff=open(path_put,'w',encoding='UTF-8')
lines=f.readlines()
f.close()
for line in lines:#分别对每一行进行正向最大匹配处理
max_length=zz
my_list=[]
len_hang=len(line)
while len_hang>0:
tryW=line[0:max_length]##切割字符串
while tryW not in dic:
if len(tryW)==1:#长度为1的时候就直接退出
break;
tryW=tryW[0:len(tryW)-1]
my_list.append(tryW)
line=line[len(tryW):]
len_hang=len(line)
for i in my_list:
ff.write(i+" ")
print(i,end=" ")
ff.close()
readfile()