分割其实包含了分词、断句等等,分词对于中文文本是十分重要的。本章我也只关注分词,当然本章最后介绍的分词方法过去简单,仅供参考。
1. 分割, 按照01组成的序列对字符串进行拆分
def segment(text, segs): # 利用01数据将 str切分开
words = []
last = 0
for i in range(len(segs)): # 循环找到1所在的位置
if segs[i] == '1':
words.append(text[last:i+1]) # 把两个1之间的字母放一起
last = i+1
words.append(text[last:])
return words
text = "doyouseethekittyseethedoggydoyoulikethekittylikethedoggy"
seg1 = "0000000000000001000000000010000000000000000100000000000"
segment(text, seg1)
结果如下 ['doyouseethekitty', 'seethedoggy', 'doyoulikethekitty', 'likethedoggy']
2. 评价,分词既不能分的过细又不能太粗
def evaluate(text, segs): # 评价切分的好坏
words = segment(text, segs)
text_size = l