В этом посте я расскажу о нашей работе, в которой используется мера семантической связанности в качестве метода, основанного на постобработке, для улучшения распознавания текста в дикой природе (он же OCR в дикой природе). Однако этот подход можно использовать для любых особых случаев задач семантической связанности, таких как семантическое сходство и повторяющиеся вопросы и ответы и т. д.

Большинство приложений, таких как определение текста, обнаружение плагиата или кластеризация документов, основаны на понятии семантического сходства и обычно применяются с помощью методов уменьшения размеров, таких как LDA, или нейронных подходов, основанных на встраивании. Однако семантическое сходство и семантическое родство — это два отдельных обозначения, которые можно определить следующим образом:

Семантическое сходство. Это особый случай родства, связанный со сходством понятий (например, автомобиль, грузовик).

Семантическая связанность: более общее понятие связанности понятий. В частности, это относится к человеческим суждениям о степени, в которой данная пара понятий связана или нет. (например, автомобиль, парковка).

Здесь я расскажу о сценарии, в котором семантического сходства недостаточно, и нам нужно разработать нейронный подход, чтобы изучить семантическое родство для этой задачи.

Семантическая связь длязаписи коррекции OCR

Сценарий представляет собой распознавание текста в дикой природе (также известное как обнаружение текста в дикой природе), где текст на изображении (например,., уличный знак, реклама или пункт назначения автобуса) должны быть идентифицированы и распознаны. Основная цель — повысить производительность систем машинного зрения за счет использования семантической информации. Однако этот подход можно использовать для изучения семантической связи между любыми двумя текстами. Наш код доступен на Github и Colab для быстрого старта.

Введение

Глубокое обучение было успешным в задачах, связанных с определением того, относятся ли два коротких фрагмента текста к одной и той же теме, например,., семантическое текстовое сходство (Cer et al., 2018), текстовое следствие (Parikh et al. ., 2016), или ранжирование ответов на Вопросы и ответы (Severyn and Moschitti, 2015).

Однако другие задачи требуют более широкой перспективы, чтобы решить, являются ли два текстовых фрагмента связанными в большей степени, чем похожими. В этой работе мы опишем одну из таких задач и переобучим некоторые из существующих подходов к сходству предложений, чтобы изучить эту семантическую связанность. Мы также представляем новый нейронный подход, который превосходит существующие подходы применительно к этому конкретному сценарию.

Изучение семантической связи для исправления OCR

Чтобы изучить семантическую связь между визуальной контекстной информацией и словом-кандидатом, мы вводим многоканальный сверточный LSTM с механизмом внимания. В сеть подается слово-кандидат плюс несколько слов, описывающих визуальный контекст изображения (метки объектов и мест, а также описательные заголовки), и она обучается производить оценку связи между словом-кандидатом и контекстом.

Архитектура вдохновлена ​​​​(Severyn and Moschitti, 2015), в котором предлагались средства повторного ранжирования на основе CNN для вопросов и ответов. Сеть состоит из двух подсетей, каждая из которых имеет 4 канала с размерами ядра k = (3, 3, 5, 8) и слоя перекрытия, как показано ниже (рис. 1). Далее опишем основные компоненты:

Многоканальная свертка. Первая подсеть состоит только из ядер свертки и предназначена для извлечения n-грамм или ключевых слов из последовательности подписей.

Многоканальная свертка-LSTM. В соответствии с C-LSTM (Чжоу и др., 2015) мы направляем выходные данные слоев CNN в LSTM, который фиксирует долгосрочные зависимости по функциям. Далее мы вводим механизм внимания, чтобы захватить наиболее важные функции из этой последовательности. Преимущество такого внимания состоит в том, что модель изучает последовательность, не полагаясь на временной порядок. Ниже мы опишем более подробно механизм внимания.

Кроме того, следуя (Zhou et al., 2015), мы не используем операцию объединения после карты объектов свертки. Слой объединения обычно применяется после слоя свертки, чтобы извлечь наиболее важные функции в последовательности. Однако выходные данные нашей модели Convolutional-LSTM передаются в LSTM (Hochreiter and Schmidhuber, 1997) для изучения извлеченной последовательности, а уровень объединения разбивает эту последовательность путем понижения дискретизации до выбранного признака. Короче говоря, LSTM специализируется на изучении данных последовательности, и операция объединения может нарушить такой порядок последовательности. С другой стороны, для модели многоканальной свертки мы также изучаем n-грамму извлеченной последовательности слов напрямую и без выбора признаков, операции объединения.

Механизм внимания. Модели, основанные на внимании, показали многообещающие результаты в различных задачах НЛП (Bahdanau et al., 2014). Такой механизм учится сосредотачиваться на определенной части ввода (например,., релевантном слове в предложении). Мы применяем механизм внимания (Raffel and Ellis, 2015) через LSTM, который фиксирует временные зависимости в последовательности.

Слой перекрытия. Слой перекрытия — это просто словарь подсчета частот для вычисления информации о перекрытии входных данных. Идея состоит в том, чтобы придать больший вес наиболее часто встречающемуся визуальному элементу, особенно когда он наблюдается более чем одним визуальным классификатором. Выход словаря представляет собой полносвязный слой.

Наконец, мы объединяем все подсети в общий слой, который передается функции потерь, которая вычисляет семантическую связь между обоими входными данными. Мы называем комбинированную модель Fusion Dual Convolution-LSTM-Attention (FDCLSTMAT).

Детали реализации

Маскировка. Поскольку у нас одновременно есть только одно слово-кандидат, мы применяем свертку с маскированием на стороне слова-кандидата (первый канал). В этом случае простое заполнение последовательности нулями отрицательно влияет на стабильность обучения сети. Мы объединяем выходные данные CNN с дополнительной функцией в слои MLP и, наконец, в сигмовидный слой, выполняющий двоичную классификацию.

Обучение. Мы обучили модель с бинарной кросс-энтропийной потерей (l), где целевое значение (в [0,1]) — это семантическая связь между словом и изображением. Вместо того, чтобы ограничиваться простой функцией сходства, мы позволяем сети узнать разницу между двумя классами, то есть., степень сходства. Для этого мы увеличиваем глубину сети после того, как MLP объединяют слой с более полносвязными слоями. Сеть обучается с использованием Нестеровского ускоренного Адама (Надама) (Дозат, 2016), поскольку он дает лучшие результаты (особенно в таких случаях, как вектор слов/нейронное языковое моделирование), чем другие оптимизаторы, использующие только классический импульс (АДАМ). Мы применяем пакетную нормализацию (BN) (Иоффе и Сегеди, 2015) после каждой свертки и между каждым слоем MLP. Мы опустили BN после свертки для модели без внимания (FDCLSTM), так как BN ухудшил производительность. Кроме того, мы учитываем 70% отсева (Srivastava et al., 2014) между каждым MLP для целей регуляризации.

Набор данных

Мы оцениваем эффективность предлагаемого подхода на зашумленном COCO-тексте (Veit et al., 2016). Этот набор данных основан на Microsoft COCO (Lin et al., 2014) (Common Objects in Context), который состоит из 63 686 изображений и 173 589 текстовых экземпляров (аннотаций к изображениям). Этот набор данных не содержит никакой информации о визуальном контексте, поэтому мы использовали стандартные классификаторы (1) объекта (He et al., 2016) и (2) места (Zhou et al., 2014) и настроили заголовок. генератор (Vinyals et al., 2015) на том же наборе данных для извлечения контекстной информации из каждого изображения. Данные атасат github

Эксперименты и результаты

Далее мы используем различные показатели сходства или родственности, чтобы переупорядочить k-лучшую гипотезу, созданную готовой современной системой OCR. Мы экспериментировали с извлечением k-лучших гипотез для k = 1…10.

Мы используем две предварительно обученные глубокие модели: CNN (Jaderberg et al., 2016) и LSTM (Ghosh et al., 2017) в качестве базовых линий (BL) для извлечения исходного списка словесных гипотез. Базовый уровень CNN использует закрытый словарь; поэтому он не может распознать ни одно слово за пределами своего словаря на 90 тысяч слов. В таблице 1 (ниже) представлены четыре различных показателя точности для этого случая: 1) полные столбцы соответствуют точности всего набора данных. 2) столбцы dict соответствуют точности в случаях, когда целевое слово находится среди 90 000 слов словаря CNN (что соответствует 43,3 % всего набора данных). 3) столбцы списка сообщают о точности для случаев, когда нужное слово было среди k-наилучших, полученных по базовому показателю. 4) Средний взаимный ранг (MRR), где ранг k — это позиция правильного ответа в списке гипотез, предложенных базовой линией. Однако для ясности мы обсуждаем только базовый уровень CNN.

Сравнение с моделью на уровне предложений. Мы сравниваем результаты нашего кодировщика с несколькими современными кодировщиками предложений, настроенными или обученными на одном и том же наборе данных. Мы используем косинус, чтобы вычислить сходство между заголовком и словом-кандидатом. Преобразование слов в предложения вычисляется с помощью: Universal Sentence Encoder с Transformer USE-T (Cer et al., 2018) и Infersent (Conneau et al., 2017) с перчаткой (Pennington et al., 2014). Остальные системы в таблице 1 (ниже) обучены в тех же условиях, что и наша модель с инициализацией в перчатке с двухканальным перекрывающимся нестатическим предварительно обученным встраиванием на том же наборе данных. Наша модель FDCLSTM без внимания достигает лучшего результата в случае второго базового LSTM, который полон ложных срабатываний и коротких слов. Преимущество механизма внимания заключается в способности интегрировать информацию во времени и позволяет модели ссылаться на определенные точки в последовательности при вычислении выходных данных.

БЕРТ. (представление двунаправленного кодировщика от Transformers) продемонстрировал новаторские результаты во многих задачах, таких как вопросы и ответы и анализ естественного языка. Однако, как упоминал автор, он не подходит для задач семантического текстового сходства (STS), поскольку не генерирует осмысленный вектор для вычисления косинусного расстояния. Это можно увидеть в таблице 1, функция BERT. Поэтому мы настроили модель с одним дополнительным слоем для вычисления семантической оценки между заголовком и словом-кандидатом. В частности, мы передали представление предложения в линейный слой и softmax для задач с парами предложений. Точно настроенный BERT на том же наборе данных превосходит нашу модель BL+FDCLSTMAT+Lexicon с небольшим незначительным отрывом на первом базовом уровне.

Мы считаем, что BERT имеет преимущество перед нашей моделью с точки зрения количества и разнообразия обучающих данных. Например, он может решать дела без прямого контекста, такие как Андерсон(имя)-плаза(место).

Сравнение с моделью на уровне слов. Мы также сравниваем наш результат с текущими современными вложениями слов, обученными на большом общем тексте с использованием gloveи fasttext. Модель слова использовала только информацию об объекте и месте и игнорировала заголовок. Предлагаемые нами модели достигают лучшей производительности, чем наша предыдущая модель TWE (Sabir et al., 2018), которая обучала встраиванию слов (Mikolov et al., 2013) с нуля на той же задаче.

Производительность человека. Чтобы оценить верхнюю границу результатов, мы выбрали 33 случайных изображения из тестового набора данных и попросили 16 человек попытаться выбрать правильное слово среди k = 5 лучших кандидатов, полученных при исходном уровне. Система OCR (т. е. выделение текста). Производительность предложенной нами модели на тех же изображениях составила 57%. Средняя производительность человека составила 63% (самая высокая 87%, самая низкая 39%).

Примечания к оценке. Для оценки мы использовали менее строгий протокол, чем стандартный, предложенный (Wang et al., 2013) и принятый в большинстве современных тестов, который не рассматривает слова с менее чем три персонажа. Этот протокол был введен для преодоления ложных срабатываний на коротких словах, с которыми борются самые современные современные технологии, включая наш базовый уровень. Вместо этого мы рассматриваем все случаи в наборе данных, а также оцениваются слова, содержащие менее трех символов.

---------------------------------------------+---------+--------+
| Model  (Baselines)       |  full   |  Dic    |  list   |  k   |
---------------------------------------------+---------+--------+
| BL+Glove                 |    22.0 |    62.5 |    75.8 |    7 | 
| BL+C-LSTM                |    21.4 |    61.0 |    71.3 |    8 |  
| BL+CNN-RNN               |    21.7 |    61.8 |    73.3 |    8 |  
| BL+MVCNN                 |    21.3 |    60.6 |    71.9 |    8 |   
| BL+Attentive-LSTM        |    21.9 |    62.4 |    74.0 |    8 |    
| BL+fasttext              |    21.9 |    62.2 |    75.4 |    7 |   
| BL+InferSent             |    22.0 |    62.5 |    75.8 |    7 |    
| BL+USE-T                 |    22.0 |    62.5 |    78.3 |    6 |    
| BL+W2V Trained           |    22.2 |    63.0 |    76.3 |    7 |    +--------------------------------------------+---------+--------+
Proposed model (shallow model)                  
+--------------------------------------------+---------+--------+ 
| BL+FDCLSTM               |    22.3 |    63.3 |    75.1 |    8 |
| BL+FDCLSTM+AT            |    22.4 |    63.7 |    75.5 |    8 |   
| BL+FDCLSTM+lexicon       |    22.6 |    64.3 |    76.3 |    8 |    
| BL+FDCLSTM+AT+lexicon    |    22.6 |    64.3 |    76.3 |    8 |   
+--------------------------------------------+---------+--------+
Pre-trained model                  
+--------------------------------------------+---------+--------+ 
| BL+BERT (feature)        |    21.7 |    61.6 |    74.6 |    7 |  
| BL+BERT (fined-tuned)    |    22.7 |    64.6 |    76.6 |    8 |   
---------------------------------------------+---------+--------+
Table 1: Best results after re-ranking using different re-ranker,
and different values for k-best hypotheses extracted from the baseline output (%). (better read this in the PC version)

Обсуждение. Предлагаемый нами подход повторно ранжирует слова-кандидаты на основе их оценки семантической корреляции с визуальным контекстом изображения. Однако бывают случаи, когда нет прямой семантической корреляции или связи между визуальным контекстом и словом-кандидатом. Таким образом, мы предложили слой перекрытия, чтобы устранить это ограничение, изучая корреляции из набора обучающих данных. Например, как показано на рисунке 2 (выше), название компании Delta и визуальный контекст авиакомпания. Кроме того, добавление частоты униграмм (лексикона) помогает отфильтровывать короткие слова или ложные срабатывания, как показано в примерах a-hotdog и by-skiing.

Ограничение. Ограничение этого подхода заключается в том, что он зависит от базового вывода softmax для повторного ранжирования наиболее связанного слова. В частности, оценка семантического родства подавляет несвязанные слова и повышает вероятность наиболее связанных слов за счет простого скалярного умножения. Кроме того, поскольку текст в изображениях не всегда связан с его окружением (например, реклама популярного безалкогольного напитка может появиться практически в любом месте), этот подход может помочь решить только часть случаев, но, учитывая его низкую стоимость, он может быть полезно для адаптации домена общей пост-коррекции OCR в дикой природе.

Контрольный показатель семантического сходства: тематическое исследование

Как насчет семантического сходства? Кроме того, в качестве подтверждения концепции мы оцениваем нашу модель с помощью эталонного теста семантического текстового сходства (STS) SemEval 2017dataset Task5 (En-En). Этот набор данных содержит пары предложений (например, заголовок, новости и форум). Однако, чтобы использовать наш бинарный реранжировщик (т. е. похожие или не похожие), мы преобразуем задачу из степени подобия (т. до 5 подобных). Хотя эта архитектура предназначена для решения конкретной задачи, как показано ниже (в таблице 2), наша модель FDCLSTM без учета внимания превосходит BERT по показателю семантического сходства в этой задаче. Хотя улучшение не является статистически значимым, поскольку набор тестовых данных очень мал (test:1379, dev:1500), мы подтверждаем нашу гипотезу о том, что задачи требуют более широкой перспективы, чтобы решить, связаны ли два текстовых фрагмента. больше, чем то, похожи ли они, как в традиционном семантическом сходстве.

            + — — — — — — - - + — — — — — - - - +
            | Model           | dev   |  test   |
            + — — — — — — - - + — — — — — - - - +
            | BERT(fine-tune) | 84.6  |  83.8   |
            | FDCLSTM_AT      | 71.4  |  69.2   |
            | FDCLSTM         | 89.5  |  84.4   |
            + — — — — — — - - + — — — — — - - - +
     Table 2:Result of semantic similarity SemEval2017. 
          (better read this in the PC version)

Заключение

В этой работе мы предлагаем простую архитектуру глубокого обучения для изучения семантической связи между парами «слово-слово» и «слово-предложение» и показываем, как она превосходит другие средства оценки семантического сходства при использовании для повторного ранжирования ответов-кандидатов в сценарии OCR в дикой природе (также известная как проблема распознавания текста). Обратите внимание, что эта работа также может быть использована для решения аналогичных проблем, включая лексический отбор в машинном переводе или устранение неоднозначности смысла слова.

Рекомендации

Пожалуйста, обратитесь к оригинальной статье за полными ссылками.

Редактор таблиц

Гитхаб

(1) Семантическая связь на уровне предложения

(2) Семантические связи на уровне слов

(3) Дата на github