Rasa_NLU及Rasa_NLU_Chi原生代碼除錯
前言
自然語言理解(NLU)是任務型對話系統等更高階應用的基石,基本的NLU工具,包括實體識別和意圖識別兩個任務。
已有的NLU工具,大多是以服務的方式,通過呼叫遠端http的restful API來對目標語句進行解析完成上述兩個任務。對於對資料比較敏感的使用者來講,開源專案Rasa_NLU可以本地部署,也可以針對實際需求訓練和調整模型。
Rasa_NLU只支援英語和德語兩種語言,中文因為其特殊性需要加入特定的tokenizer作為整個流水線的一部分,Rasa_NLU_Chi是其支援中文的版本,首先,為Rasa_NLU_Chi的大佬點贊。
因專案需求,我選擇Rasa_NLU_Chi研究,看了其文件,是一頭霧水,平時專案下載下來都是在python上一步一步除錯來理解程式碼的,這個專案(黑人問號),網上查了很多資料,流程也都跟github上的官方文件一樣,只好為了自己的目標(為了方便遷移)一步一步實現在python上除錯了。
我使用的是python3.6,好像該專案對python2和python3相容
訓練
1.採用> git clone https://github.com/crownpku/Rasa_NLU_Chi.git 將專案下載到本地;
2. 進入到Rasa_NLU_Chi檔案中,開啟終端,執行python setup.py install
3.下載訓練好的MITIE模型total_word_feature_extractor_chi.dat,分享如下。
連結:http://pan.baidu.com/s/1micEF0G 密碼:opli
下載後放置位置為Rasa_NLU_Chi/data/total_word_feature_extractor_chi.dat
4.在Rasa_NLU_Chi檔案 mkdir mitie, 然後進入到mitie檔案下,在終端輸入> git clone https://github.com/mit-nlp/MITIE.git 下載MITIE
然後進入到MITIE檔案下,在終端輸入python setup.py install
5.開啟pycharm,開啟Rasa_NLU_Chi工程,開啟/rasa_nlu/train.py,在Edit Configurations中輸入> -c …/sample_configs/config_jieba_mitie_sklearn.yml --data …/data/examples/rasa/demo-rasa_zh.json --path models
然後就可以除錯train.py了
可能會有一些路徑報錯,對應進行修改就好了
測試的我因時間問題,還沒來得及測試,測試後再更