使用 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
即可啟動詞嵌入模型。
令人絕望的問題:
1. 后來可能因為我安裝了許多其他的包,有些包還進行了卸載和更新等等操作,導致突然間這種方法不能用了!!!
2. 我的內心是絕望的,錯誤一直無法解決,網上也查詢不到,問別人也沒有解決。
思考:
遇到這種情況十之八九都是環境配置的問題,各種包混雜在同一個版本的解釋器(Python) 下,很能不出現這種不兼容問題。
解決辦法:
創建一個虛擬環境,單獨為這個項目安裝需要的庫,后來發現確實解決了這樣的問題。終於看到了久違的界面,很感動。
下一步:
下面我准備不用 pycharm 來為這個項目寫代碼,實在不方便調試,數據量本身不小,遇到錯誤要運行很久才行停下來報錯(主要還是因為這種詞嵌入的方法耗時太長,但無奈我目前只會這種嵌入方法),后面我准備使用 jupyter notebook 來編寫程序。之前已經完成了無監督的基於相似度的方法和基於 SVM 的方法,下面我想試一下神經網絡的效果。但在這之前,還要解決一個問題,如何給 jupyter notebook (或者 pycharm)配置虛擬環境呢?還得一步一步來......
PS:其實之前也遇到了一些其他的問題,只不過都簡單解決了,所以沒記錄(其實是忘了記錄,QAQ)