Я недавно работал над обучением модели части речи для хинди в Spacy. Я уже обучил модель, но при анализе любого текста атрибут .pos_
любого токена всегда указывает на X
. Мелкозернистые метки, .tag_
- которые были те, с которыми обучалась модель - все же верны.
Отображение между этими мелкозернистыми тегами и «универсальными» тегами (VERB, NOUN, ADJ и т. Д.) Находится в файле spacy/lang/hi/tag_map.py
.
Lemma यूरोप, Lemmatized: False, POS: X, TAG: NNP
Lemma के, Lemmatized: False, POS: X, TAG: PSP
Lemma जिन, Lemmatized: False, POS: X, TAG: DEM
Lemma राजनीतिक, Lemmatized: False, POS: X, TAG: JJ
Lemma दलों, Lemmatized: False, POS: X, TAG: NN
Lemma को, Lemmatized: False, POS: X, TAG: PSP
Lemma व्यवस्था, Lemmatized: False, POS: X, TAG: NN
Lemma ,, Lemmatized: False, POS: SYM, TAG: SYM
Lemma राजनेताओं, Lemmatized: False, POS: X, TAG: NN
Lemma और, Lemmatized: False, POS: X, TAG: CC
Lemma मीडिया, Lemmatized: False, POS: X, TAG: NN
Lemma द्वारा, Lemmatized: False, POS: X, TAG: PSP
Lemma अति, Lemmatized: False, POS: X, TAG: INTF
Lemma दक्षिणपंथी, Lemmatized: False, POS: X, TAG: NN
Lemma कहा, Lemmatized: False, POS: X, TAG: VM
Lemma जाता, Lemmatized: False, POS: X, TAG: VAUX
Lemma है, Lemmatized: False, POS: X, TAG: VAUX
Lemma (, Lemmatized: False, POS: SYM, TAG: SYM
Lemma परन्तु, Lemmatized: False, POS: X, TAG: CC
Lemma मेरी, Lemmatized: False, POS: X, TAG: PRP
Lemma ओर, Lemmatized: False, POS: X, TAG: NST
Lemma से, Lemmatized: False, POS: X, TAG: PSP
Lemma सभ्यतावादी, Lemmatized: False, POS: X, TAG: NNP
Lemma कहा, Lemmatized: False, POS: X, TAG: VM
Lemma जाता, Lemmatized: False, POS: X, TAG: VAUX
Lemma है, Lemmatized: False, POS: X, TAG: VAUX
Lemma ), Lemmatized: False, POS: SYM, TAG: SYM
Lemma उनकी, Lemmatized: False, POS: X, TAG: PRP
Lemma आलोचना, Lemmatized: False, POS: X, TAG: NN
Lemma उनकी, Lemmatized: False, POS: X, TAG: PRP
Lemma भूलों, Lemmatized: False, POS: X, TAG: NN
Lemma और, Lemmatized: False, POS: X, TAG: CC
Lemma अतिवादिता, Lemmatized: False, POS: X, TAG: NN
Lemma के, Lemmatized: False, POS: X, TAG: PSP
Lemma कारण, Lemmatized: False, POS: X, TAG: PSP
Lemma की, Lemmatized: False, POS: X, TAG: VM
Lemma जाती, Lemmatized: False, POS: X, TAG: VAUX
Lemma है|, Lemmatized: False, POS: X, TAG: NNPC
Небольшое расследованиеЯ обнаружил, что причина, по которой .pos_
имеет это значение X
, заключается в том, что в сгенерированном двоичном файле lang_model/tagger/tag_map
все его ключи указывают на 101
, который является "кодом", назначенным ЧастиРечь X
, что Other
.
Я предполагаю, что он генерирует ключи, указывающие на 101
, потому что нет информации о том, как он должен сопоставлять каждый из предоставленных тегов из набора данных с "универсальными". Дело в том, что я могу предоставить tag_map.py
в определении моего Hindi(Language)
класса, но при передаче текста через конвейер он в конечном итоге будет использовать карту тегов, определенную в каталоге tagger/
, созданную с помощью выводакоманда train
.
Вот ссылка, которая пояснит, что я объясняю: https://universaldependencies.org/tagset-conversion/hi-conll-uposf.html
Первый элемент первого столбца (CC
, DEM
, INTF
и т. Д.) - те, которые предоставляются модели. Универсальные теги - это теги из второго столбца.
Мой вопрос: где я должен определить тег_карты для перезаписи тега, сгенерированного командой spacy train
?