Извлечение значения атрибута из нечеткого текста
Я использую библиотеку OCR для извлечения спецификаций продуктов из изображений. Сначала я сосредоточусь на ноутбуках. Например:
Processor
Processor model: Intel N3540
Clock speed: 2.16 GHz
Memory
Internal: 4 GB
Hard disk
Capacity: 1 TB
или же:
TOSHIBA
SATELLITE C50-5302
PENTIUM
TOSHIBA
DISPLAY 15.6
4GB
DDR3
500
OCR не идеален, и иногда то, что будет C10, становится CIO и другими подобными вещами.
Я хотел бы извлечь пары атрибут-значение, но я не знаю, как решить эту проблему.
Я думаю о создании файла со всеми ноутбуками и микропроцессорами, которые я могу получить (потому что марка, память и емкость жесткого диска довольно ограничены), а затем использовать библиотеку NLP для извлечения сущностей из текста. Проблема также в том, что иногда возникают орфографические ошибки, поэтому это не так просто, как сравнение точных значений.
Как бы вы подошли к этой проблеме?
1 ответ
Что касается орфографических ошибок, я бы предложил, если возможно, получить неоднозначный и вероятностный вывод системы OCR. Рассматривая ваш пример CIO, я графически ближе к 1, чем к другим персонажам. Если такой вывод недоступен, вы можете рассмотреть возможность использования некоторого взвешенного расстояния редактирования между символами.
Для распознавания именованных объектов была проделана работа по распознаванию именованных объектов из зашумленного ввода, в основном для источников ASR (насколько я знаю). Посмотрите, как с этим справляются сети путаницы слов, например, в этой статье.
На последнем этапе вам, вероятно, понадобится совместное задание для исправления распознавания и распознавания именованных объектов. Вероятно, для этого потребуется определить, какие объекты вероятны для вашего домена: какие токены должны описывать скорость процессора, емкость хранилища, марки компьютеров и т. Д. Вы можете либо вручную внедрить правила, либо извлечь данные из существующих баз данных. В качестве последнего шага вам, вероятно, придется каким-то образом настроить скорость ожидаемого исправления ошибок OCR, чтобы извлечь правильные пары атрибут-значение без добавления ложных срабатываний.
Не стесняйтесь держать нас в курсе решения, которое вы экспериментируете!