Я пытаюсь классифицировать документы по большому количеству категорий (> 100).Ранее я пытался классифицировать их исключительно по тексту, который они содержали.Однако я заметил, что у некоторых из них есть изображения, которые, вероятно, облегчили бы их классификацию (например, документы с логотипом Всемирного банка, вероятно, должны идти в Финансы).Мне интересно, как наилучшим образом включить информацию, содержащуюся в них, в мою классификационную модель.
Многие из приведенных изображений не имеют отношения к делу или встречаются не так часто, чтобы их можно было изучить (например, один документ Всемирного банка содержитизображение долларовой банкноты где-то в документе, но это единственное изображение долларовой банкноты во всем учебном корпусе).Кроме того, документы, которые я классифицирую, не обязательно имеют установленное количество изображений или формат изображения (я просто удаляю изображения из PDF-файлов).
В настоящее время я рассматриваю несколько различных подходов: Предварительная обработка: Пройти учебный корпус, извлекая все мои изображения.Попытка идентифицировать любые изображения, которые происходят часто (я не уверен, как я сделал бы это, кроме как вручную, поскольку у меня есть несколько тысяч документов в моем корпусе).Затем я обучил бы программу распознавания повторяющимся типам изображений (это могут быть либо логотипы, либо, возможно, графики, как правило, соотносятся с выбранным количеством категорий).Я бы сделал программу, которая берет документ и выводит какой-то вектор (возможно, 1 с горячим кодированием), который указывает, присутствует ли данный тип изображения в документе, используя ранее созданную программу распознавания.Подход 1) Добавьте этот вектор в мой вектор документа-слова-контекста и обучите этому мой общий классификатор.Подход 2) Обучите отдельный классификатор, используя только изображения в документе (я не уверен, каким будет точный ввод для классификатора, поскольку число изображений не является постоянным), и сделайте некоторую векторную комбинацию его вывода с выводом моегоклассификатор document-word-context для получения окончательной классификации.Подход 3) Попытка извлечь ключевые функции из изображений и использовать их для классификации документов, в отличие от знания точных изображений в документе (например: мне не обязательно знать, что у моего документа есть долларовая банкнота, если вместо этого я сообщуу меня есть куча углов, которые обрисовывают в общих чертах долларовую банкноту).
В общем, я чувствую себя готовым выполнить приличную работу по классификации, используя текстовую информацию, но я не готов ко всему, что связано с изображениями.Я даже не уверен, что включение изображений будет стоить времени, которое отнимает у других вещей (например, настройка гиперпарама или проверка различных моделей).Меня больше всего интересует, считают ли другие, кто имеет опыт работы с изображениями, целесообразным ли заниматься этим, и если да, то как бы мне лучше сочетать его с моим алгоритмом классификации, основанным на контекстах слов и прочее?
Последние подробности- Я буду экспериментировать над тем, как я классифицирую по содержанию слов все, от SVM и NB до RNN и нейронных сетей LSTM, но из моего прочтения до сих пор кажется, что я буду использовать либо LSTM, либо DNN, так как они имеют тенденциюк лучшей производительности.Так что, скорее всего, это будет одна из тех, с которыми я бы совмещал любую классификацию изображений.До сих пор я реализовал свои идеи классификации на основе текста в Python, поэтому в идеале было бы идеально иметь возможность сделать часть изображения в Python (или с библиотеками, содержащимися внутри) идеальной.Я прочитал немного о Appache Tika, как, возможно, здесь полезно, хотя у меня нет опыта работы с Java, поэтому я не уверен, насколько хорошо это пойдет.