Обучение на китайском корпусе с помощью инструментов wordrep MITIE (обучение занимает 2-3 дня)
Для обучения создайте MITIE Wordrep Tool. Обратите внимание, что корпус китайского языка следует сначала токенизировать, прежде чем использовать его в инструменте для обучения. Лучше всего работает корпус закрытой предметной области, который лучше всего соответствует конкретному случаю пользователя.
Обученную модель из китайской Wikipedia Dump и Baidu Baike можно скачать в блоге 中文.
Следует добавить как можно больше примеров.
python setup.py install
Изменить конфигурацию.
В настоящее время для Китая у нас есть два конвейера:
Используйте MITIE+Jieba (sample_configs/config_jieba_mitie.yml):
language : " zh "
pipeline :
- name : " nlp_mitie "
model : " data/total_word_feature_extractor_zh.dat "
- name : " tokenizer_jieba "
- name : " ner_mitie "
- name : " ner_synonyms "
- name : " intent_entity_featurizer_regex "
- name : " intent_classifier_mitie "
РЕКОМЕНДУЕТСЯ: используйте MITIE+Jieba+sklearn (sample_configs/config_jieba_mitie_sklearn.yml):
language : " zh "
pipeline :
- name : " nlp_mitie "
model : " data/total_word_feature_extractor_zh.dat "
- name : " tokenizer_jieba "
- name : " ner_mitie "
- name : " ner_synonyms "
- name : " intent_entity_featurizer_regex "
- name : " intent_featurizer_mitie "
- name : " intent_classifier_sklearn "
(Необязательно) Используйте пользовательский словарь Jieba или переключите словарь Jieba по умолчанию:
Вы можете указать путь к файлу или каталогу в качестве значения «user_dicts». (sample_configs/config_jieba_mitie_sklearn_plus_dict_path.yml)
language : " zh "
pipeline :
- name : " nlp_mitie "
model : " data/total_word_feature_extractor_zh.dat "
- name : " tokenizer_jieba "
default_dict : " ./default_dict.big "
user_dicts : " ./jieba_userdict "
# user_dicts: "./jieba_userdict/jieba_userdict.txt"
- name : " ner_mitie "
- name : " ner_synonyms "
- name : " intent_entity_featurizer_regex "
- name : " intent_featurizer_mitie "
- name : " intent_classifier_sklearn "
Обучите модель, запустив:
Если вы укажете имя своего проекта в файле конфигурации, ваша модель будет сохранена в /models/имя_вашего_проекта.
В противном случае ваша модель будет сохранена в /models/default.
python -m rasa_nlu.train -c sample_configs/config_jieba_mitie_sklearn.yml --data data/examples/rasa/demo-rasa_zh.json --path models
python -m rasa_nlu.server -c sample_configs/config_jieba_mitie_sklearn.yml --path models
$ curl -XPOST localhost:5000/parse -d '{"q":"我发烧了该吃什么药?", "project": "rasa_nlu_test", "model": "model_20170921-170911"}' | python -mjson.tool
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 652 0 552 100 100 157 28 0:00:03 0:00:03 --:--:-- 157
{
"entities": [
{
"end": 3,
"entity": "disease",
"extractor": "ner_mitie",
"start": 1,
"value": "发烧"
}
],
"intent": {
"confidence": 0.5397186422631861,
"name": "medical"
},
"intent_ranking": [
{
"confidence": 0.5397186422631861,
"name": "medical"
},
{
"confidence": 0.16206323981749196,
"name": "restaurant_search"
},
{
"confidence": 0.1212448457737397,
"name": "affirm"
},
{
"confidence": 0.10333600028547868,
"name": "goodbye"
},
{
"confidence": 0.07363727186010374,
"name": "greet"
}
],
"text": "我发烧了该吃什么药?"
}