当开启并行分词模式时候,跑了一晚上代码,第二天早上发现还没有跑完。于是就觉得很奇怪!部分代码如下:
m = 0
contents = []
for i in df['content']:
i = i.strip()
# # 匹配中文标点符号 String str="[\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b]"
# [\u4E00-\u9FFF]+$ 匹配简体和繁体
# [\u4E00-\u9FA5]+$ 匹配简体
line = ''.join(re.findall(u'[\u4e00-\u9fff\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b]', str(i)))
# 开启并行分词模式,参数为并发执行的进程数
jieba.enable_parallel(100)
line = [word for word in jieba.cut(str(line), cut_all=False)]
# 关闭并行分词模式
jieba.disable_parallel()
contents.append(line)
m += 1
print(m)
print(len(contents))
注释掉这两行代码之后,速度一下子飙升!
# 开启并行分词模式,参数为并发执行的进程数
jieba.enable_parallel(100)
# 关闭并行分词模式
jieba.disable