rasa預設管道不支援提取中文實體
資料**
nlu.md
## intent:greet
- 你好
- 你好啊
- 你好嗎
- hello
- hi
- 早上好
- 晚上好
- 嗨## intent:affirm
- 是的
- 是- 對的
- 確實
- 好- ok
- 好的
- 好的,謝謝你
- 好滴
- 好啊
## intent:restaurant_search
- 我想找地方吃飯
- 我想吃[火鍋](food)啊
- 找個吃[拉麵](food)的店
- 這附近**有吃[麻辣燙](food)的地方
- 附近有什麼好吃的地方嗎
- 肚子餓了,推薦一家吃飯的地兒唄
- 帶老婆孩子去**吃飯比較好
- 想去一家有情調的餐廳
## intent:goodbye
- bye
- 再見
- 886
- 拜拜
- 下次見
## intent:medical
- [感冒](disease)了怎麼辦
- 我[便秘](disease)了,該吃什麼藥
- 我[胃痛](disease),該吃什麼藥?
- 一直[打噴嚏](disease)怎麼辦
- 父母都有[高血壓](disease),我會遺傳嗎
- 我生病了
- 頭上燙燙的,感覺[發燒](disease)了
- 頭很疼該怎麼辦
- **有什麼好方法嗎?
- 怎樣良好的生活習慣才能預防生病呢?
config.yml
language
: zh
pipeline
: supervised_embeddings
policies:-
name
: memoizationpolicy
-name
: keraspolicy
-name
訓練
rasa train nlu
**
rasa shell nlu
結果
next message:
我想吃麻辣燙
,"entities":[
],"intent_ranking":[
,,,,
],"text"
:"我想吃麻辣燙"
}
意圖識別正確,但實體抽取失效。
方案一:tensorflow_embedding
方案二:mitie預訓練中文詞向量模型
config.yml
language
: zh
pipeline:-
name
: jiebatokenizer
-name
: crfentityextractor
-name
: countvectorsfeaturizer
oov_token
: oov
token_pattern
:'(?u)\b\w+\b'
-name
: embeddingintentclassifier
效果
next message:
我想吃麻辣燙啊
,"entities":[
],"intent_ranking":[
,,,,
],"text"
:"我想吃麻辣燙啊"
}
ps:換成我想吃麻辣燙就不行了
一、安裝mitie
解壓後執行python setup.py install
二、安裝rasa_nlu_chi
解壓後執行python setup.py install
三、修改配置
config.yml
language
: zh
pipeline:-
name
: mitienlp
model
: data/total_word_feature_extractor_zh.dat
-name
: jiebatokenizer
-name
: mitieentityextractor
-name
-name
: regexfeaturizer
-name
: mitiefeaturizer
-name
: sklearnintentclassifier
結果
next message:
我想吃麻辣燙
,"entities":[
],"intent_ranking":[
,,,,
],"text"
:"我想吃麻辣燙"
}
實體正確抽取出了麻辣燙,但意圖識別的置信度略低
檢視mitie模型的所有詞,共有20w個詞條
from mitie import
*twfe = total_word_feature_extractor(
"total_word_feature_extractor_zh.dat"
)# 載入
words = twfe.get_words_in_dictionary(
)words =
list
(map
(bytes
.decode, words)
)# 批量解碼
for word in words:
print
(word)
print
(len
(words)
)
方案一原理:詞向量轉換後使用cos余弦相似度實現意圖區分
方案一缺點:存在問題未登入詞問題
方案二原理:基於wiki百科訓練的資料模型
方案二缺點:不適合大資料訓練
官網建議如果訓練資料小於1000條採用方案二,否則採用方案一
entities must span whole tokens. wrong entity end.
rasa更新十分迅速,而rasa_nlu_chi的作者更新幾乎停滯,主要在兩三年前
rasa支援mitie可能會在未來的版本中被棄用
總結:這種配置方法是沒有前途的
更進一步的配置參考:rasa_nlu_gq,支援中文,自定義了n種模型,支援不同的場景和任務
用rasa nlu構建自己的中文nlu系統
rasa對話系統踩坑記(二)
mitie/examples/python
qt 中文系統亂碼
ifdef q os win qtextcodec gb2312 qtextcodec codecforname gb2312 qtextcodec setcodecfortr gb2312 qtextcodec setcodecforlocale gb2312 qtextcodec setcode...
WinCE6 0 製作中文系統
最近要做乙個簡體中文的wince系統,在網上查了很多資料,花了很多時間與精力,終於搞定 這還要感謝網上的 很多兄弟的好帖子,特別是 onlymiles兄的帖子,我的帖子也是參考了他的帖子內容,我只是做了些驗證。我的 系統是wince6.0 的,所以適當地改動了一些原帖的內容。對wince體積進行剪裁...
WinCE6 0 製作最簡中文系統
對wince體積進行剪裁,並讓wince支援簡體中文和英文顯示,預設顯示是中文,並以下對字型選取 作詳細的說明 關鍵操作步驟 1.先建立乙個wince核心工程.2.先開啟目標的工程檔案,單擊 project 選單,再單擊 properties configuration properties loc...