Добрый день, хочу натренировать модель на своих данных, иду по документации. В файлах configs/ner/ner_conll2003.json, configs/ner/ner_rus.json и других используется “class_name”: “str_lower” в “chainer”. В то же время, в ответе на вопрос 2 тут Возможности обученных NER-моделей вы указали, что “Большие буквы - очень сильная фича, без неё качество падает на пару пунктов”.
Мои вопросы следующие:
Оставлять ли большие буквы в моем специально подготовленном корпусе для fastText embeddings?
Поскольку описание различных файлов конфигурации версии 0.3.0 исчезло, не могу понять, какая из конфигураций наиболее подходит для тренировки. Будет ли в ближайшее время добавлено описание?
FastText учится в подавляющем большинстве случаев на lower case. Поэтому модель обуславливается кейсом через отдельный признак который делает capitalization_featurizer. Там такие категориальные признаки: нет больших букв, одна первая большая буква и одна буква в слове (для сокращений имён, например), одна большая буква и несколько букв в слове, все большие буквы. One-hot вектор с этими фичами подаётся на вход сетке. Таким образом, за сами слова отвечает FastText, за большие буквы capitalization_featurizer. Решение по части 1: всё lower case. По части 2: попрбуйте наш новый мжвячный BERT. Его рекомендую использовать по умолчанию.
Добрый день! Спасибо за подробный ответ.
Попробовала BERT (ner_ontonotes_bert_mult). Тестовый пример прошел, а вот train_model на моих данных падает с ошибкой
Assign requires shapes of both tensors to match. lhs shape= [768,3] rhs shape= [768,37]
Мои данные размечены только одним тагом LAW.
Буду благодарна за совет.