问题来源:
在使用jieba分词的时候发现一个问题就是从开始到分词有一个慢的过程,下图所示:
对策思路:
其实有一个拿Cython重写了jieba这个包就是jieba-fast下载地址如下
https://pypi.org/project/jieba-fast/#files
出现问题1:
安装jieba_fast他是使用c重新写了一遍jieba分词,所以速度上更快一些,但是安装过程出现问题截图如下
unable to find vcvarsall.bat
解决问题1方案:
我们需要下载VS2015(针对python3.5之后的版本)并且要确保电脑中没有比vs2015更低的版本 !
由于我的是3.5版本之后的所以需要下载:VS2015(不仅有下载的位置,还介绍了为什么要下载)
出现问题2:
但是安装完VS2015 C++ build Tools之后又出现了另一个问题如下
building '_jieba_fast_functions_py3' extension
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IF:\python3\include -IF:\python3\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" /Tcsource/jieba_fast_functions_wrap_py3.c /Fobuild\temp.win-amd64-3.6\Release\source/jieba_fast_functions_wrap_py3.obj
jieba_fast_functions_wrap_py3.c
c1: fatal error C1083: Cannot open source file: 'source/jieba_fast_functions_wrap_py3.c': No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2
解决问题2方案:
此时心态虽然没蹦但是已经在崩溃的边缘,为什么,为什么上天要这么眷顾我,有搜索了很多的资料说什么的都有的说是需要下载VS2017的还有的说缺少window SDK(但是我不知道这是个什么东西。。。)在抱着一丝希望的心态下,我尝试打开了
这个图片可以在window的控制面板项的程序和功能中寻找这个
然后选择这个windows10的SDK 10.0.10240这个安装完毕后我们继续pip install jieba-fast进行安装奇迹出现了!
问题解决:
安装成功
针对两者效率对比:
其实在数据较少的情况下是比对不出两者的区别的,我这里哪了中英翻译的数据进行两者分词效率的对比,结果如下:
1.jieba分词
2.jieba-fast分词
结果很明显jieba-fast仅仅用了不到1秒的时间而普通的jieba需要2.5秒,要快两倍还多