使用 Bert 模型进行中文词嵌入
之前在
JobCodeExtra
任务中使用BERT模型进行词嵌入是没有问题的。过程就是安装几个库,通过CS(Client、Server)的方式进行调用即可。
- pip install bert serving-client
- pip install bert-serving-server
- TensorFlow 也是要安装的
- 下载 BERT 预训练模型
一定要注意Python、tensorflow的版本,不然可能导致不兼容问题,另外跟其他的库似乎也存在兼容问题。
之前通过上面的方法配置好环境后,在cmd
进入对应 Python 安装位置的 Script 文件夹下,因为需要用到一个命令bert-serving-start
(当然如果这里已经将该路径添加到了环境变量中的话,则可以省略该步骤)。然后执行bert-serving-start -model_dir F:/chinese_L-12_H-768_A-12
即可启动词嵌入模型。
问题:
后来可能因为我安装了许多其他的包,有些包还进行了卸载和更新等等操作,导致突然间这种方法不能用了!!!
思考:
遇到这种情况十之八九都是环境配置的问题,各种包混杂在同一个版本的解释器(Python) 下,很能不出现这种不兼容问题。
解决办法:
创建一个虚拟环境,单独为这个项目安装需要的库,后来发现确实解决了这样的问题。终于看到了久违的界面,很感动。
下一步:
下面我准备不用 pycharm 来为这个项目写代码,实在不方便调试,数据量本身不小,遇到错误要运行很久才行停下来报错(主要还是因为这种词嵌入的方法耗时太长),后面我准备使用 jupyter notebook 来编写程序。之前已经完成了无监督的基于相似度的方法和基于 SVM 的方法,下面我想试一下神经网络的效果。但在这之前,还要解决一个问题,如何给 jupyter notebook (或者 pycharm)配置虚拟环境呢?