Добрый день!
Пытаюсь обучить ner_rus (LSTM + CRF) модель для извлечения именованных сущностей из текстов.
Использую свои данные и обученные с помощью fasttext эмбеддинги.
Если использую квантованную версию эмбеддингов, получаю следующую ошибку:
ValueError: /content/drive/MyDrive/Models/Fasttext_embeddings/model_gensim_fasttext_new.bin has wrong file format!
Пробовал эмбенддинги как из facebook fasttext, так и из gensim FastText (пример выше) - ошибка та же. Если использую не квантованные эмбеддинги facebook fasttext - работает.
Для сжатия использовал следующую библиотеку:
from gensim.models.fasttext import load_facebook_model
import compress_fasttext
big_model = load_facebook_model(‘path-to-original-model’).wv
small_model = compress_fasttext.prune_ft_freq(big_model, pq=True)
small_model.save(‘path-to-new-model’)
Конфиг модели:
with configs.ner.ner_rus.open(encoding=‘utf8’) as f:
ner_config = json.load(f)
ner_config[‘dataset_reader’][‘data_path’] = ‘/content/drive/MyDrive/Data/1k_up/’#train, val, test
ner_config[‘metadata’][‘variables’][‘NER_PATH’] = ‘/content/drive/MyDrive/Models/LSTM_CRF_1k_up_quat_embed’
ner_config[‘metadata’][‘download’] = [ner_config[‘metadata’][‘download’][-1]]
ner_config[‘chainer’][‘pipe’][4][‘save_path’] = ‘/content/drive/MyDrive/Models/LSTM_CRF_1k_up_quat_embed/tag.dict’ #new model dir
ner_config[‘chainer’][‘pipe’][2][‘return_probas’] = False
ner_config[‘chainer’][‘pipe’][12][‘save_path’] = ‘/content/drive/MyDrive/Models/LSTM_CRF_1k_up_quat_embed/model’#new model dir
ner_config[“chainer”][“pipe”][4][“load_path”] = ‘/content/drive/MyDrive/Models/LSTM_CRF_1k_up_quat_embed/tag.dict’
ner_config[“chainer”][“pipe”][12][“load_path”] = ‘/content/drive/MyDrive/Models/LSTM_CRF_1k_up_quat_embed/model’
ner_config[“chainer”][“pipe”][7][“load_path”] = ‘/content/drive/MyDrive/Models/Fasttext_embeddings/model_gensim_fasttext_new.bin’
ner_config[“train”][“batch_size”] = 16
ner_config[“train”][“epochs”] = 8
ner_config[“train”][“learning_rate”] = 1e-4
ner_config[“train”][“device”] = ‘GPU’
Подскажите:
- Можно ли использовать квантованные эмбеддинги?
- Если да, как это сделать?