Мне нужно обработать большое количество текстовых данных и попытаться извлечь из каждого документа заданный набор полей, которые в итоге окажутся в базе данных.
Например:
Left floor, 3rd floor, door B, block X, portal 1, PLOT M-18.A,
AREA 2, U.U. 4 in ADDRESS HIDDEN , nº NUMBER,
ADDRESS HIDDEN, 1, 3rd XXXXX.,
in CITY.
И поля:
Street type, Address, City, block number, floor number...
Для других типов документов, с большей структурой, я достиг точности выше 80%для всех полей, использующих модель lightGBM для каждого поля, но для типов документов, как указано выше, у меня не получается.Я думаю, что мне нужна какая-то модель, которая определяет эти поля как сущности.
У меня есть скрытая конфиденциальная информация.Исходя из приведенного выше содержания, мне нужно будет подготовить набор моделей для каждого поля, которое я хочу обнаружить.Сейчас у меня есть модель LightGBM, подготовленная для каждого поля, и я точно настроил целевую переменную каждого поля, чтобы помочь обучению модели, например
master['target_ADDRESS'] = 0
master.loc[
(master['entity_length'] <= 8) &
(master['entity_start_ix'] <= 80) &
(master['left_context'].str.lower().str.contains('(a|del|de la| sitio de( la)?) %s' % stree_type)) &
(
(master['left_context'].str.lower().str.endswith(street_type)) |
(master['left_context'].str.lower().str.endswith(('%s de' % x for x in street_type )))
) &
(master['entity_content'].str.contains(street_type, case=False) == False),
'target_ADDRESS'] = 1
Но сейчас я застрял, так как каждый документследует другой структуре.У меня закончились идеи о том, что попробовать.Я подумал, что, возможно, модель word2vec
поможет, но, следуя этому руководству https://www.tensorflow.org/tutorials/representation/word2vec, кажется, что word2vec
лучше всего подходит для прогнозирования следующего word
данного предложения.
Я также пытался использовать openvenues / libpostal , но он работает, только если вы передаете его адреса в качестве входных данных, он не обнаруживает адрес в тексте.
IЯ также рассмотрел возможность обучения пользовательской модели NER , как описано в CoreNLP, но я думаю, что это невозможно из-за количества необходимых данных.
Не могли бы вы дать мне несколько советов?по какому пути я должен следовать, чтобы решить проблему?
ПРИМЕЧАНИЕ: Документы на испанском языке