ВСПЛЫВАЮЩАЯ ПАНЕЛЬ ВЕРИФИКАЦИИ
POP-UP VERIFICATION PANEL

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение по существу относится к вычислительным устройствам, а более конкретно относится к системам и способам для упрощения исправления ошибки в электронных документах.
УРОВЕНЬ ТЕХНИКИ
[0002] Оптическое распознавание символов (OCR) - это электронная конвертация отсканированных или сфотографированных изображений машинописного или печатного текста в машиночитаемый текст. OCR является распространенным способом оцифровки печатных текстов, чтобы их можно было редактировать в электронном виде, осуществлять по ним поиск, отображать в режиме онлайн и использовать в таких процессах, как преобразование текста в речь, извлечение данных и интеллектуальный анализ текстов. Некоторые коммерческие OCR-системы способны воспроизводить форматированные выходные данные, которые точно соответствуют первоначальной отсканированной странице, включая изображения, колонки и другие нетекстовые компоненты. Однако, несмотря на то что OCR-обработка большинства шрифтов выполняется с высокой степенью точности, распространены ошибки в полученном тексте (орфографические, грамматические, интервалы, неуверенно распознанные символы и т.д.).
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0003] Варианты реализации настоящего изобретения включают в себя способы отображения панели верификации в текстовом документе, а именно представление текстового документа, содержащего текстовое содержимое; обнаружение одной или более потенциальных ошибок в текстовом содержимом; обеспечение визуального обозначения каждой одной или более потенциальных ошибок в представленном текстовом содержимом; представление всплывающей панели для первой потенциальной ошибки из одной или более потенциальных ошибок, причем всплывающая панель содержит одну или более опций для исправления первой потенциальной ошибки; сохранение фокуса ввода на представленном текстовом содержимом для упрощения пользователю ручного ввода исправления в представленное текстовое содержимое; и, если принят выбор пользователя одной из одной или более опций на всплывающей панели, исправление потенциальной ошибки в соответствии с выбранной опцией.
[0004] Также варианты реализации настоящего изобретения включают следующие варианты. Способы отображения панели верификации в текстовом документе могут дополнительно содержать следующие шаги: представление всплывающей панели для следующей потенциальной ошибки из одной или более потенциальных ошибок, причем всплывающая панель содержит одну или более опций для исправления следующей потенциальной ошибки; и, в ответ на выбор пользователем одной из одной или более опций, исправление следующей потенциальной ошибки в соответствии с выбранной опцией, причем представление и исправление могут непрерывно повторяться до тех пор, пока не будут исправлены все потенциальные ошибки в текстовом содержимом, или до тех пор, пока не будет получено действие пользователя для прерывания исправления ошибок в текстовом содержимом. Текстовый документ может быть сгенерирован в результате обработки в виде оптического распознавания символов. Визуальное обозначение каждой из одной или более ошибок в представленном текстовом содержимом может содержать, по меньшей мере, одно из выделения или подчеркивания одной или более потенциальных ошибок.
[0005] Также способы отображения панели верификации в текстовом документе могут дополнительно содержать следующие шаги: представление текстового сегмента, содержащего первую ошибку в предварительно определенной зоне дисплея, причем всплывающая панель расположена под текстовым сегментом и по центру текстового фрагмента, относящегося к первой ошибке, и причем курсор ввода указывает на первый символ текстового сегмента, относящегося к первой потенциальной ошибке; и обеспечение второго визуального обозначения текстового сегмента, содержащего первую ошибку, причем первая ошибка полностью содержится во втором визуальном обозначении.
[0006] Представление текстового документа, содержащего текстовое содержимое, может содержать представление текстового содержимого в текстовой части дисплея и изображения, связанного с текстовым документом, в графической части дисплея. Одна или более опций для исправления первой ошибки может содержать, по меньшей мере, одну из: опции игнорирования, опции добавления, опции замены или ввод текста пользователем, причем опция замены может содержать список распознанных слов из словаря, причем список распознанных слов связан с первой ошибкой. Одна или более опций для исправления первой ошибки могут изменяться, если определено, что пользователь вызвал предварительно определенную команду с устройства ввода.
[0007] Варианты реализации настоящего изобретения также включают в себя соответствующие вычислительное устройство и машиночитаемый носитель длительного хранения данных.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0008] Настоящее изобретение проиллюстрировано с помощью примеров, а не в качестве ограничения, и может быть более полно разъяснено со ссылками на последующее подробное описание, когда оно рассматривается в связи с чертежами, в которых:
[0009] на Фиг. 1 представлена блок-схема одного варианта реализации вычислительного устройства, функционирующего в соответствии с одним или более аспектами настоящего изобретения;
[00010] на Фиг. 2 представлен пример окна приложения в соответствии с одним или более аспектами настоящего изобретения;
[00011] на Фиг. 3А-3Б представлены примеры различных представлений всплывающей панели верификации, функционирующей в соответствии с одним или более аспектами настоящего изобретения;
[00012] на Фиг. 4А-4Б представлены примеры различных представлений всплывающей панели верификации, которая дает рекомендации, функционирующей в соответствии с одним или более аспектами настоящего изобретения;
[00013] на Фиг. 5 показана функциональная схема иллюстративного примера способа отображения всплывающей панели верификации в текстовом редакторе в соответствии с одним или более аспектами настоящего изобретения; и
[00014] на Фиг. 6 показана более подробная схема иллюстративного примера вычислительного устройства, в котором реализованы способы, представленные в настоящем описании.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[00015] В настоящем описании представлены способы и системы обработки электронных документов вычислительными устройствами, упрощающие верификацию и исправление потенциальных ошибок оптического распознавания символов (OCR), орфографических ошибок и любых других типов ошибок в распознанном тексте.
[00016] В настоящем документе «электронный документ» означает файл, содержащий один или более элементов цифрового содержимого, которые могут быть визуально отображены для обеспечения визуального представления электронного документа (например, на дисплее или в виде печатного материала). В различных иллюстративных примерах электронные документы могут соответствовать некоторым форматам файлов, таким как PDF, DOC, ODT и. т.д.
[00017] В настоящем документе «вычислительное устройство» означает устройство обработки данных, имеющее процессор общего назначения, модуль памяти и, по меньшей мере, один коммуникационный интерфейс. К примерам вычислительных устройств, в которых могут быть воплощены описанные в настоящем документе способы, относятся, без ограничений, настольные компьютеры, портативные компьютеры, планшетные компьютеры, смартфоны и различные другие мобильные и стационарные вычислительные устройства.
[00018] Коммерческие OCR-системы способны воспроизводить форматирование выходных данных, точно соответствующих первоначальной отсканированной странице, включая изображения, колонки и другие нетекстовые компоненты. Однако несмотря на то что OCR-обработка большинства шрифтов выполняется с высокой степенью точности, в полученном тексте встречаются ошибки (орфографические, грамматические, интервалы, неуверенно распознанные символы и т.д.). После завершения OCR на изображении пользователь имеет возможность проанализировать полученный электронный текстовый документ, чтобы проверить фрагменты текста, в которых, возможно, содержатся ошибки, и внести надлежащие исправления. В различных распространенных вариантах реализации приложений, предназначенных для верификации результатов OCR, используются две отдельные панели на дисплее, функционирующие независимо друг от друга. Одна панель предназначена для верификации потенциальных ошибок (верификатор), а другая - для редактирования полученного текстового документа (редактор). Как правило, если пользователь просматривает текстовый документ для осуществления верификации обнаруженных потенциальных ошибок, верификатор обычно перекрывает основной текстовый редактор и перехватывает управление пользовательским интерфейсом, не позволяя получить прямой доступ к тексту, который находится под ним. Традиционные верификаторы не отображают полный контекст первоначального изображения, а отображают для исправления лишь ограниченную часть текста, находящегося под ними, и обеспечивают лишь ограниченную функциональность для работы с таким находящимся под ними текстом. Для выполнения более сложной операции, чем простое внесение редакторских правок в строку текста, пользователю потребуется прервать работу верификатора, а затем предпринять некоторое действие для перезапуска верификатора, чтобы продолжить работу. Аналогичным образом, если ошибка встретилась поблизости от конца конкретной страницы документа и переходит на следующую страницу, верификатор обычно интерпретирует это как две отдельные ошибки, и пользователю приходится прерывать работу верификатора, чтобы исправить всю ошибку. Повторные запуски и остановки верификатора могут привести к избыточной затрате ресурсов процессора, а также к снижению эффективности работы пользователя.
[00019] В настоящем изобретении вышеупомянутые и другие недостатки устранены путем передачи функциональности верификатора редактору, тем самым исключая необходимость в использовании верификатора в качестве отдельной панели на дисплее. Аспекты настоящего изобретения обеспечивают возможность одновременного использования специальных средств исправления ошибок OCR, орфографических ошибок, грамматических ошибок и т.п. одновременно с текстовым редактором, который позволяет непосредственно редактировать документ. В некоторых вариантах реализации пользователь может прокрутить документ, изучая потенциальные ошибки и сохраняя при этом непосредственный доступ к окружающему контексту. Пользователь может перемещаться между ошибками, сравнивать потенциальные ошибки с соответствующим изображением, выполнять массовые замены (замену аналогичных ошибок по всему документу), а также выбирать одно или более действий по коррекции, отображаемых на всплывающей панели.
[00020] Различные аспекты вышеупомянутых способов и систем представлены подробно ниже в настоящем описании при помощи примеров, а не в качестве ограничения. В одном иллюстративном примере пользователю представляется текстовый документ, имеющий текстовое содержимое. Текстовый документ может содержать одну или более строк символов в одной или более кодировках (например, ASCII, UTF-8 и т.д.). Текстовый документ мог быть сгенерирован в результате OCR-обработки изображения. Документ может быть представлен с помощью отдельного приложения, компоненты приложения для редактирования текста или любым другим способом. В некоторых вариантах реализации пользователю может быть представлен документ, где одна часть окна приложения представляет текстовый документ (текстовая часть), а в другой части окна приложения одновременно представляется изображение, связанное с текстовым документом (графическая часть). В одном иллюстративном примере текстовый документ может быть отображен в верхней части окна, а изображение может быть одновременно отображено в нижней части окна. Альтернативно изображение может быть отображено в верхней части, а текстовый документ может быть одновременно отображен в нижней части. В другом иллюстративном примере текстовый документ может быть отображен в левой части экрана, а изображение может быть одновременно отображено в правой части экрана, и наоборот.
[00021] Любые потенциальные ошибки, существующие в тексте, могут быть обнаружены в текстовом содержимом, и каждая из потенциальных ошибок может быть снабжена визуальным обозначением в представленном текстовом содержимом. К визуальному обозначению может относиться, например, выделение или подчеркивание потенциальной ошибки в текстовом содержимом. Например, орфографическая ошибка в тексте может быть подчеркнута красным цветом, а грамматическая ошибка может быть подчеркнута зеленым цветом. Кроме того, в текстовом документе, сгенерированном при OCR-обработке изображения, неуверенно распознанный символ может быть выделен конкретным цветом (например, желтым). Неуверенно распознанный символ может присутствовать в тексте, если соответствующий фрагмент связанного (соответствующего) изображения не был однозначно и достоверно распознан при OCR-обработке. Эти символы могут быть не распознаны, если они относятся к словам, отсутствующим в словаре для конкретного языка. Например, неуверенно распознанные символы могут представлять собой имена собственные, иностранные слова или выражения, а также просто текст на другом языке.
[00022] Далее пользователю может быть отображена всплывающая панель для первой потенциальной ошибки, обнаруженной в текстовом документе, причем от пользователя могут как потребоваться, так и не потребоваться действия для запуска всплывающей панели. Например, если пользователь запускает самостоятельное приложение для верификации, ему отображается окно приложения на дисплее, и сразу отображается всплывающая панель для первой потенциальной ошибки, обнаруженной в документе. Альтернативно всплывающая панель может быть показана по запросу пользователя, например, путем нажатия кнопки в окне приложения или нажатия конкретной последовательности клавиш на клавиатуре. Всплывающая панель может представлять собой небольшое окно, отображаемое поверх текста в более крупном окне, и может включать в себя список опций, таких как одна или более опций для исправления потенциальной ошибки.
[00023] В некоторых вариантах реализации всплывающая панель может содержать, по меньшей мере, одну из: опции игнорирования, опции добавления или опции замены. Опция игнорирования может использоваться для игнорирования потенциальной ошибки без внесения каких-либо изменений в текст. Опция добавления может использоваться в ситуации, когда текст, связанный с потенциальной ошибкой, представляет собой слово или символ, отсутствующие в словаре, используемом приложением. Например, если пользователь выбирает опцию добавления, неуверенно распознанные слово или символ, связанные с потенциальной ошибкой, будут добавлены в словарь для использования при дальнейшем распознавании и более уже не будут маркированы как потенциальная ошибка. Опция замены может использоваться для замены текста, связанного с потенциальной ошибкой, на известное слово из словаря, используемого приложением. Опция замены может содержать список распознанных слов из словаря, связанных с потенциальной ошибкой (например, слов из словаря, написание которых аналогично, но не идентично тексту, включающему в себя потенциальную ошибку). Словарь, используемый приложением, может представлять собой один или более общих и/или специализированных словарей, которые включают в себя набор широко используемых слов определенного языка. Фокус ввода остается на представленном текстовом содержимом, упрощая пользователю ручной ввод исправления в текстовое содержимое. Например, если пользователь желает заменить потенциальную ошибку словом, которого нет среди вариантов, предложенных опцией замены, пользователь может просто ввести исправление в текст, не прерывая работу всплывающей панели.
[00024] Как только всплывающая панель отображена, курсор ввода может быть расположен таким образом, чтобы он указывал на первый символ текстового сегмента в той текстовой части, которая относится к первой потенциальной ошибке (например, к слову, в котором потенциально имеется орфографическая ошибка). Кроме того, текстовый сегмент, относящийся к первой потенциальной ошибке, может быть визуально обозначен. Например, текстовый сегмент с потенциальной ошибкой может быть полностью выделен. Альтернативно текстовый сегмент с потенциальной ошибкой может быть полностью окружен цветной рамкой. В иллюстративном примере всплывающая панель может быть показана ниже и по центру текстового сегмента, содержащего первую потенциальную ошибку, не перекрывая потенциальную ошибку от взгляда пользователя. В некоторых вариантах реализации, когда всплывающая панель отображается пользователю, текстовый сегмент, содержащий первую потенциальную ошибку, может быть представлен единообразно в предварительно определенной зоне дисплея. Например, когда всплывающая панель появляется для обнаруженной потенциальной ошибки, текстовый сегмент с ошибкой может отображаться в первой строке текста в окне приложения. Альтернативно текстовый сегмент с ошибкой может отображаться в центре окна приложения или в любом другом месте в окне приложения. В одном иллюстративном примере, когда всплывающая панель появляется для следующей потенциальной ошибки, текстовый сегмент с этой следующей потенциальной ошибкой отображается в предопределенной зоне, так что для каждой потенциальной ошибки в документе всплывающая панель будет представлена в том же месте окна дисплея.
[00025] В одном иллюстративном примере представление всплывающей панели под потенциальной ошибкой также может сопровождаться визуальным обозначением этой ошибки на связанном (соответствующем) изображении. Например, если в окне приложения отображается и текстовый документ, и связанное с ним изображение (как указано в примере выше), то представление всплывающей панели в текстовом документе в текстовой части окна приложения также может привести к визуальному обозначению этой ошибки в надлежащем месте изображения в графической части окна приложения. Визуальное обозначение ошибки на изображении может быть выполнено путем выделения области изображения конкретным цветом, отображения рамки вокруг текста, изменения шрифта или размера текста или любым другим способом.
[00026] В ответ на выбор пользователем одной из опций, перечисленных на всплывающей панели, происходит исправление потенциальной ошибки в соответствии с выбранной опцией. Например, если пользователь выбирает опцию игнорирования, исправления в текст не вносятся, а любое визуальное обозначение, применимое к тексту, связанному с ошибкой, удаляется. Альтернативно, если пользователь выбирает опцию добавления, текст, связанный с потенциальной ошибкой, может быть добавлен в словарь, используемый приложением. Если пользователь выбирает одно из слов, перечисленных в опции замены, текст заменяется словом, выбранным из списка. В некоторых вариантах реализации опции всплывающей панели могут быть изменены пользователем путем вызова предварительно определенной команды с устройства ввода. Например, если пользователь нажимает на конкретную клавишу на клавиатуре (например, клавишу CTRL), команды игнорирования и замены меняются на «игнорировать все» и «заменить все» соответственно. Таким образом, если пользователь выбирает одну из этих двух опций, корректирующее действие может быть применено не только к конкретной потенциальной ошибке, связанной со всплывающей панелью, но также ко всем вхождениям этой же потенциальной ошибки, обнаруженным по всему текстовому документу.
[00027] После совершения выбранного действия по коррекции на всплывающей панели может быть показана следующая потенциальная ошибка, обнаруженная в текстовом документе. Затем пользователь может выбрать одну из опций для следующей потенциальной ошибки. Процесс может повторяться до тех пор, пока все потенциальные ошибки в текстовом документе не будут исправлены, если только пользователь не прервет процесс.
[00028] В некоторых вариантах реализации всплывающую панель можно закрыть путем выбора текста из другой области документа. Например, если пользователь нажмет мышью на другом слове в документе или любой другой области окна приложения, отличной от самой всплывающей панели. После закрытия всплывающей панели ее можно перезапустить по запросу пользователя, как отмечено выше. Кроме того, пользователь может перезапустить всплывающую панель, выбрав одну из обнаруженных потенциальных ошибок в документе. В одном иллюстративном примере, чтобы перезапустить всплывающую панель, пользователь может нажать на любую потенциальную ошибку в документе определенной кнопкой мыши (например, левой кнопкой). После перезапуска всплывающая панель отображается для потенциальной ошибки, выбранной пользователем, как описано выше.
[00029] Таким образом, аспекты настоящего изобретения способны объединить верификатор и редактор в одном окне приложения, посредством чего повышается эффективность процесса и ограничиваются любые избыточные затраты системных ресурсов. Кроме того, функциональность всплывающей панели может использоваться пользователем полностью с помощью клавиатуры, что обеспечивает эргономические преимущества в отношении эффективности работы, так как пользователю не нужно убирать руки с клавиш клавиатуры, чтобы взять мышь или другое устройство ввода. Более того, единое пространственное представление всплывающей панели для множества ошибок в одном документе упрощает привычное взаимодействие пользователя, посредством чего повышается внимание оператора к деталям и повышается скорость обнаружения и обработки ошибок.
[00030] На Фиг. 1 показана блок-схема одного иллюстративного примера вычислительного устройства 100, функционирующего в соответствии с одним или более аспектами настоящего изобретения. В иллюстративных примерах вычислительное устройство 100 может быть представлено различными вычислительными устройствами, включая планшетный компьютер, смартфон, портативный компьютер или настольный компьютер.
[00031] Вычислительное устройство 100 может содержать процессор ПО, соединенный с системной шиной 120. К другим устройствам, соединенным с системной шиной 120, могут относиться память 130, дисплей 135, оснащенный устройством ввода в виде сенсорного экрана 170, клавиатурой 140 и одним или более коммуникационными интерфейсами 165. В настоящем документ термин «соединенный» включает в себя как электрическое соединение, так и связь через одно или более интерфейсных устройств, адаптеров и т.п.
[00032] Процессор 110 может быть представлен одним или более процессорными устройствами, включая процессоры общего назначения и/или специализированные процессоры. Память 130 может содержать одно или более устройств энергозависимой памяти (например, микросхем ОЗУ), одно или более устройств энергонезависимой памяти (например, микросхем ПЗУ или ЭСППЗУ) и/или одно или более устройств памяти (например, оптических или магнитных дисков).
[00033] В некоторых вариантах реализации вычислительное устройство 100 может содержать устройство ввода в виде сенсорного экрана 170, представленного чувствительной к прикосновениям областью ввода и/или чувствительной к присутствию поверхностью, наложенной на дисплей 135. Пример вычислительного устройства, в котором реализованы аспекты настоящего изобретения, будет более подробно описан ниже со ссылкой на Фиг. 6.
[00034] В некоторых вариантах реализации в памяти 130 могут храниться команды модуля всплывающей панели 190 для упрощения верификации текста и исправления ошибок в электронных документах с использованием всплывающей панели верификации в текстовом редакторе, как описано выше и более подробно описано ниже. В иллюстративном примере модуль всплывающей панели 190 может быть реализован в виде функции, вызываемой с помощью пользовательского интерфейса другого приложения (например, приложения для редактирования электронных документов). Альтернативно модуль всплывающей панели 190 может быть реализован в виде самостоятельного приложения.
[00035] На Фиг. 2 представлен пример окна приложения 200, в котором может быть представлена всплывающая панель. Окно приложения 200 может быть представлено самостоятельным приложением, компонентом приложения для редактирования текста или любым другим способом. Окно приложения 200 может включать в себя функции редактирования текста, представленные пользователю на панели инструментов 210. Панель инструментов 210 может включать в себя такие базовые функции редактора, как открытие, сканирование, чтение, сохранение, повтор операции и отмена операции. Кроме того, панель инструментов 210 может включать в себя функции форматирования текста, такие как выбор шрифта, размера шрифта, жирный шрифт, подчеркивание и т.п.
[00036] В некоторых вариантах реализации окно приложения 200 включает в себя текстовую часть 220, в которой представлен текстовый документ, и графическую часть 230, в которой представлено изображение, связанное с текстовым документом. Текстовая часть 220 может быть представлена в верхней части окна приложения 200, а графическая часть 230 - в нижней части окна приложения 200. Альтернативно графическая часть 230 может быть представлена в верхней части окна приложения 200, а текстовая часть 220 - в нижней части. В другом иллюстративном примере текстовая часть 220 и графическая часть 230 могут отображаться в левой и правой частях окна приложения 220 соответственно. Кроме того, в окне приложения 200 может присутствовать область пакета страниц 240, которая содержит список страниц документа для упрощения навигации по документу. Область пакета страниц 240 может быть представлена в виде множества эскизов страниц, в виде подробного списка данных каждой страницы или любым другим способом. Окно приложения 200 также может включать в себя дополнительное окно увеличения (не показано), в котором показана увеличенная часть изображения, связанного с текстовым документом.
[00037] В некоторых вариантах реализации в графической части 230 отображается положение изображения, которое соответствует положению текстового документа, отображаемого в текстовой части 220. Например, как показано на Фиг. 2, изображение, отображаемое в графической части 230, соответствует тексту, отображаемому в текстовой части 220. В некоторых вариантах реализации при прокручивании пользователем текстового документа в текстовой части 220 изображение, отображаемое в графической части 230, может прокручиваться синхронно. Если пользователь перемещает курсор 260 в конкретное положение в тексте, визуальный индикатор 270 может выделить соответствующее место на изображении. Аналогичным образом, хотя это и не показано на Фиг. 2, когда всплывающая панель для потенциальной ошибки показывается в текстовой части 220, соответствующее потенциальной ошибке положение на изображении может быть выделено визуальным индикатором 270.
[00038] При запуске приложение может осуществить поиск (просканировать) по всему текстовому документу для обнаружения всех потенциальных ошибок в текстовом содержимом документа. В одном варианте реализации пользователь может выбрать кнопку верификации текста 290, чтобы запустить процедуру поиска по текстовому документу. К потенциальным ошибкам могут относиться орфографические ошибки, грамматические ошибки, ошибки интервалов, неуверенно распознанные символы и т.п. Любые потенциальные ошибки, существующие в тексте, обнаруживаются в текстовом содержимом, и каждая из потенциальных ошибок в представленном текстовом содержимом снабжается визуальным обозначением. К визуальному обозначению может относиться, например, выделение или подчеркивание потенциальной ошибки в текстовом содержимом. Например, орфографическая ошибка в тексте может быть подчеркнута красным цветом, как показано на примере орфографической ошибки 280. Кроме того, в текстовом документе, сгенерированном при OCR-обработке изображения, неуверенно распознанный символ может быть выделен конкретным цветом (например, желтым), как показано на примере символа 250. Неуверенно распознанный символ может присутствовать в тексте, например, если соответствующий фрагмент связанного изображения не был достоверно распознан при OCR-обработке.
[00039] После обнаружения и визуального обозначения потенциальных ошибок в окне приложения 200 в качестве отклика на действия пользователя может быть показана всплывающая панель для первой потенциальной ошибки. Например, всплывающая панель может быть отображена в ответ на нажатие пользователем кнопки верификации текста 290 на панели инструментов 210. Альтернативно всплывающая панель для первой потенциальной ошибки может быть показана без какого-либо воздействия со стороны пользователя при запуске приложения (не показано на Фиг. 2). Пользователь может выбрать одну из опций, представленных на всплывающей панели, исправив или проигнорировав потенциальную ошибку, или же пользователь может перейти к следующей потенциальной ошибке, не предпринимая какого-либо действия в отношении текущей обнаруженной ошибки. Представление текста, включающего в себя потенциальную ошибку, вместе с окружающим контекстом упрощает для пользователя выбор надлежащей опции. Пользователь может перейти к следующей потенциальной ошибке, нажав на навигационные стрелки 295 на панели инструментов 210 окна приложения 200. Альтернативно пользователь может переходить к следующей потенциальной ошибке, используя клавиатуру. Например, пользователь может, удерживая клавишу ALT на клавиатуре, нажимать клавиши со стрелками влево и вправо для навигации между потенциальными ошибками без внесения каких-либо корректирующих действий в отношении этих ошибок. В некоторых вариантах реализации пользователь может с помощью мыши переместить курсор на интересующую потенциальную ошибку и нажать на ошибку, что позволит переместить всплывающую панель на эту конкретную ошибку. В некоторых вариантах реализации, после того как пользователь выбрал одну из опций, представленных на всплывающей панели, для исправления или игнорирования потенциальной ошибки, всплывающая панель автоматически (без какого-либо взаимодействия с пользователем) переходит к следующей потенциальной ошибке в тексте. В некоторых вариантах реализации в связи с тем, что всплывающая панель показывается в текстовом редакторе и не влияет на фокус ввода клавиатуры, пользователь может непосредственно обновлять текст. Например, если всплывающая панель не предлагает подходящего действия по коррекции, пользователь может просто впечатать изменения в тексте, не прерывая работу всплывающей панели. Аналогичным образом пользователь может использовать любые из инструментов, доступных на панели инструментов 210, не совершая подтверждающих действий, прерывающих работу всплывающей панели. Например, пользователь может изменить шрифт, начертание шрифта (жирный, подчеркнутый и т.д.) или любой другой параметр текста, для которого в редакторе предусмотрена функция.
[00040] В некоторых вариантах реализации пользователь может прервать работу всплывающей панели, вызвав конкретную команду с устройства ввода. Например, пользователь может нажать клавишу ESC на клавиатуре. Чтобы перезапустить всплывающую панель, пользователь может нажать на стрелки навигации 295 на панели инструментов 210, использовать клавиатуру, как кратко описано выше, или может использовать конкретную команду, предназначенную для представления всплывающей панели, такую как показано на примере кнопки верификации текста 290 на панели инструментов 210.
[00041] На Фиг.3А и 3Б представлены примеры различных представлений всплывающей панели верификации. На Фиг.3А представлен пример всплывающей панели 320, которая может быть показана, когда в текстовом документе встречается неуверенно распознанный символ 310. Символ может быть неуверенно распознан, если соответствующий фрагмент связанного изображения не был однозначно и достоверно распознан при OCR-обработке. Неуверенно распознанный символ 310 может быть выделен с помощью визуального обозначения во время описанного выше процесса обнаружения ошибки. Всплывающая панель может быть показана непосредственно ниже и по центру неуверенно распознанного символа 310 и содержит любые доступные корректирующие действия. В одном иллюстративном примере по умолчанию на всплывающей панели 320 представлена опция игнорирования. Пользователь может выбрать опцию игнорирования, используя клавиатуру или мышь. Если пользователь выбирает опцию игнорирования, то визуальное обозначение неуверенно распознанного символа 310 может быть удалено, а всплывающая панель может перейти к следующей потенциальной ошибке в текстовом документе.
[00042] На Фиг.3Б представлен пример всплывающей панели 340, которая может быть показана, когда в текстовом документе встречается неуверенно распознанное слово 330. Слово может быть распознано неуверенно, если оно отсутствует в словаре, связанном с приложением. Если всплывающая панель не может обнаружить каких-либо рекомендаций для замены неуверенно распознанного слова, на всплывающей панели пользователю может быть показано сообщение "no suggestions found" («рекомендации не найдены») или аналогичное сообщение, как указано на всплывающей панели 340. Кроме того, на всплывающей панели 340 может присутствовать опция для добавления пользователем неуверенно распознанного слова 330 в словарь, используемый приложением, чтобы будущие вхождения слова не определялись как потенциальные ошибки.
[00043] На Фиг. 4А и 4Б представлены примеры различных представлений всплывающей панели верификации, на которой приведены рекомендации для действия по коррекции. На Фиг. 4А представлен пример всплывающей панели 420, которая может быть показана, когда в текстовом документе встречается неуверенно распознанное слово 410, но для которого всплывающая панель 420 может обнаружить рекомендации по замене из словаря. На всплывающей панели 420 могут присутствовать опции игнорирования и добавления, а также список рекомендованных слов, из которых пользователь может выбрать замену. В иллюстративном примере всплывающая панель 420 может быть представлена с шириной, равной самому длинному предлагаемому слову, и высотой, ограниченной не более чем шестью строками. Если список рекомендованных слов превышает шесть слов, на всплывающей панели 420 может быть показана полоса прокрутки для прокручивания полного списка рекомендаций.
[00044] В некоторых вариантах реализации пользователь может изменить опции всплывающей панели путем вызова предварительно определенной команды с устройства ввода, как показано на Фиг. 4Б. Аналогично Фиг. 4А всплывающая панель 440 может быть показана, когда в текстовом документе встречается неуверенно распознанное слово 430. Если пользователь нажимает на конкретную клавишу на клавиатуре (например, клавишу CTRL), команды «игнорировать» и «заменить» на всплывающей панели 440 могут меняться на «игнорировать все» и «заменить все» соответственно. Таким образом, если пользователь выбирает одну из этих двух опций, корректирующее действие может быть применено не только к конкретной потенциальной ошибке, связанной со всплывающей панелью, но также ко всем вхождениям этой же потенциальной ошибки, обнаруженной по всему текстовому документу.
[00045] На Фиг. 5 показана функциональная схема одного иллюстративного примера способа 500 отображения всплывающей панели верификации в текстовом редакторе в соответствии с одним или более аспектами настоящего изобретения. Способ может быть выполнен с помощью логической схемы обработки данных, которая может содержать аппаратное обеспечение (схему, специализированную логическую схему и т.д.), программное обеспечение (такое как запущенное на компьютерной системе общего назначения или специализированной машине) или их комбинацию. В одном иллюстративном примере способ 500 может быть выполнен модулем всплывающей панели 190 вычислительного устройства 100, изображенного на Фиг. 1. Альтернативно часть или весь способ 500 может быть выполнен другой машиной. В некоторых вариантах реализации способ 500 может быть выполнен одним потоком обработки. Альтернативно способ 500 может быть выполнен двумя или более потоками обработки, причем каждый поток исполняет одну или более отдельных функций, программ, подпрограмм или операций способа. Следует отметить, что этапы, показанные на Фиг. 5, могут быть выполнены одновременно или в порядке, отличном от того, что проиллюстрировано.
[00046] На этапе 501 логическая схема обработки представляет пользователю текстовый документ. В иллюстративном примере текстовый документ может содержать одну или более строк символов в одной или более кодировках (например, ASCII, UTF-8 и т.д.). Текстовый документ мог быть сгенерирован в результате OCR-обработки изображения. Документ может быть представлен при помощи самостоятельного приложения, компонента приложения для редактирования текста или любым другим способом. В некоторых вариантах реализации документ может быть представлен пользователю таким образом, что в одной части окна приложения представлен текстовый документ (текстовая часть), а в другой части окна приложения представлено изображение, связанное с текстовым документом (графическая часть), например, в окне приложения 200, показанном на Фиг. 2.
[00047] На этапе 502 логическая схема обработки обнаруживает потенциальные ошибки в текстовом документе. Логическая схема обработки может просканировать весь документ для обнаружения орфографических ошибок, грамматических ошибок, ошибок интервалов, неуверенно распознанных символов и т.п. В одном иллюстративном примере логическая схема обработки может просканировать документ, начиная с начала первой страницы. Альтернативно логическая схема обработки может начать сканирование с текущей страницы, просматриваемой пользователем. Если сканирование начинается с текущей страницы в ответ на ввод данных пользователем, логическая схема обработки может сканировать документ, начиная с текущей страницы, а если ошибки не найдены, продолжать сканирование с первой страницы. На этапе 503 логическая схема обработки определяет, найдены ли потенциальные ошибки в документе. Если логическая схема обработки определяет, что потенциальные подлежащие обработке ошибки имеются, то исполнение переходит на этап 504. В ином случае логическая схема обработки обходит этапы с 504 по 507 и переходит к этапу 508.
[00048] На этапе 504 логическая схема обработки снабжает визуальным обозначением каждую из потенциальных ошибок, найденных в документе на этапе 502. К визуальному обозначению может относиться, например, выделение или подчеркивание потенциальной ошибки в текстовом содержимом. Например, орфографическая ошибка в тексте может быть подчеркнута красным цветом, а грамматическая ошибка может быть подчеркнута зеленым цветом. Кроме того, в текстовом документе, сгенерированном при OCR-обработке изображения, неуверенно распознанный символ может быть выделен конкретным цветом (например, желтым). Неуверенно распознанный символ может присутствовать в тексте, если соответствующий фрагмент связанного изображения не был достоверно распознан при OCR-обработке.
[00049] На этапе 505 логическая схема обработки представляет всплывающую панель для первой обнаруженной потенциальной ошибки. Всплывающая панель может содержать одну или более опций для исправления потенциальной ошибки. В некоторых вариантах реализации всплывающая панель может содержать, по меньшей мере, одну из: опции игнорирования, опции добавления или опции замены. Опция игнорирования может использоваться для игнорирования потенциальной ошибки без внесения каких-либо изменений в текст. Опция добавления может использоваться в ситуации, когда текст, связанный с потенциальной ошибкой, представляет собой слово или символ, отсутствующие в словаре, используемом приложением. Например, если пользователь выбирает опцию добавления, неуверенно распознанные слово или символ, связанные с потенциальной ошибкой, будут добавлены в словарь для использования при дальнейшем распознавании и более не будут маркированы как потенциальная ошибка. Опция замены может использоваться для замены текста, связанного с потенциальной ошибкой, на известное слово из словаря, используемого приложением. Опция замены может содержать список распознанных слов из словаря, связанного с потенциальной ошибкой. Логическая схема обработки оставляет фокус ввода на представленном текстовом содержимом, упрощая пользователю ручной ввод исправления в текстовое содержимое. Например, если пользователь желает заменить потенциальную ошибку словом, которого нет среди вариантов, предложенных опцией замены, пользователь может просто ввести исправление в текст, не прерывая работу всплывающей панели.
[00050] На этапе 506 логическая схема обработки исправляет ошибку в соответствии с выбранной пользователем опцией. Если пользователь выбирает опцию игнорирования, исправления в текст не вносятся, а любое визуальное обозначение, применимое к тексту, связанному с ошибкой, удаляется. Альтернативно, если пользователь выбирает опцию добавления, текст, связанный с потенциальной ошибкой, может быть добавлен в словарь, используемый приложением. Если пользователь выбирает одно из слов, перечисленных в опции замены, текст заменяется словом, выбранным из списка. В некоторых вариантах реализации опции всплывающей панели могут быть изменены пользователем путем вызова предварительно определенной команды с устройства ввода. Например, если пользователь нажимает конкретную клавишу на клавиатуре (например, клавишу CTRL), команды игнорирования и замены могут быть изменены на «игнорировать все» и «заменить все». Таким образом, если пользователь выбирает одну из этих двух опций, корректирующее действие может быть применено не только к конкретной потенциальной ошибке, связанной со всплывающей панелью, но также ко всем вхождениям этой же потенциальной ошибки, обнаруженной по всему текстовому документу.
[00051] На этапе 507 логическая схема обработки определяет, найдены ли дополнительные потенциальные ошибки в документе. Если логическая схема обработки определяет, что дополнительные подлежащие обработке потенциальные ошибки имеются, исполнение возвращается к этапу 505. Таким образом, пока в документе имеются обнаруженные дополнительные потенциальные ошибки или пока не будет получено действие пользователя для прерывания исправления ошибок, логическая схема обработки будет повторять этапы 505-507. В ином случае исполнение переходит к этапу 508.
[00052] На этапе 508 логическая схема обработки представляет пользователю сообщение, указывающее, что дополнительных ошибок в документе не обнаружено. В одном иллюстративном примере логическая схема обработки отображает диалоговое окно, в котором пользователю необходимо подтвердить, что сообщение прочтено. Например, в диалоговом окне может содержаться кнопка, которую пользователь должен «нажать» с помощью мыши или клавиатуры. Альтернативно сообщение может быть отображено в окне таким образом, что нажатие любой клавиши или действие в пользовательском интерфейсе приводит к закрытию окна сообщения. После этапа 508 способ, изображенный на Фиг. 5, прерывает работу.
[00053] На Фиг. 6 представлена более подробная схема примера вычислительного устройства 600, которое может выполнять множество команд, в результате чего вычислительное устройство исполняет один или более способов, описанных в настоящем описании. Вычислительное устройство 600 может включать в себя те же компоненты, что и вычислительное устройство 100, изображенное на Фиг. 1, а также некоторые дополнительные или отличные компоненты, некоторые из которых могут быть вспомогательными и необязательными для обеспечения аспектов настоящего изобретения. Вычислительное устройство может быть связано с другим вычислительным устройством в локальной сети (LAN), внутренней сети, внешней сети или сети Интернет. Вычислительное устройство может функционировать в качестве серверного или клиентского вычислительного устройства в сетевой среде клиент-сервер или в качестве равноправного вычислительного устройства в одноранговой (или распределенной) сетевой среде. Вычислительное устройство может представлять собой персональный компьютер (ПК), планшетный компьютер, компьютерную приставку к телевизору (STB), карманный персональный компьютер (КПК), сотовый телефон или любое вычислительное устройство, способное исполнять (последовательно или иным образом) множество команд, которые указывают на то, какие операции должно выполнить это вычислительное устройство. Дополнительно, хотя на иллюстрации показано лишь одно вычислительное устройство, также считается, что термин «вычислительное устройство» должен включать в себя любой набор вычислительных устройств, которые по отдельности или совместно исполняют множество (или несколько множеств) команд для выполнения любой одной или более методологий, описанных в настоящем описании.
[00054] Пример вычислительного устройства 600 включает в себя процессор 602, основную память 604 (например, постоянную память (ПЗУ) или динамическую оперативную память с произвольным доступом (DRAM)) и устройство хранения данных 618, которые связываются друг с другом по шине 630.
[00055] Процессор 602 может представлять собой одно или более процессорных устройств общего назначения, таких как микропроцессор, центральное процессорное устройство и т.п. Более конкретно процессор 602 может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с ограниченным набором команд (RISC), микропроцессор со сверхдлинным командным словом (VLIW), процессор, реализующий другие множества команд, или процессоры, реализующие комбинацию множеств команд. Процессор 602 также может представлять собой одно или более специальных процессорных устройств, таких как специализированная интегральная схема (ASIC), программируемая пользователем вентильная матрица (ППВМ), цифровой сигнальный процессор (DSP), сетевой процессор и т.п. Процессор 602 выполнен с возможностью реализовывать команды 626 для выполнения операций и функций, приведенных в настоящем описании.
[00056] Вычислительное устройство 600 дополнительно может включать в себя устройство сетевого интерфейса 622, блок отображения видео 610, устройство для ввода символов 612 (например, клавиатуру) и устройство ввода с сенсорным экраном 614.
[00057] Устройство хранения данных 618 может включать в себя машиночитаемый носитель данных 624, на котором хранится одно или более множеств команд 626, которые воплощают любую одну или более методологий или функций, представленных в настоящем описании. Команды 626 также могут полностью или по меньшей мере частично находиться в основной памяти 604 и/или в процессоре 602 во время их исполнения вычислительным устройством 600, причем основная память 604 и процессор 602 также образуют машиночитаемый носитель данных. Инструкции 626 дополнительно могут передаваться или приниматься по сети 616 через устройство сетевого интерфейса 622.
[00058] В некоторых вариантах реализации команды 626 могут включать в себя команды для способа отображения всплывающей панели верификации в текстовом редакторе, которые могут соответствовать способу 600 и могут выполняться модулем всплывающей панели 190, изображенным на Фиг. 1. Хотя машиночитаемый носитель данных 624 в иллюстративных примерах показан в виде одного носителя, также считается, что термин «машиночитаемый носитель данных» должен включать в себя один носитель или несколько носителей (например, централизованная или распределенная база данных и/или связанные кэши и сервера), на которых хранится одно или более множеств команд. Также считается, что термин «машиночитаемый носитель» должен включать в себя любой носитель, способный хранить, кодировать или содержать множество команд для исполнения машиной, которые приводят к тому, что машина выполняет любую одну или более методологий настоящего изобретения. Таким образом, считается, что термин «машиночитаемый носитель» должен включать в себя, помимо прочего, твердотельные устройства памяти, оптический носитель и магнитный носитель.
[00059] Способы, компоненты и элементы, приведенные в настоящем описании, могут быть реализованы с помощью дискретных аппаратных компонентов или могут быть встроены в функциональность других аппаратных компонентов, таких как устройства ASIC, ППВМ, DSP или аналогичные устройства. Кроме того, способы, компоненты и элементы могут быть реализованы в модулях программно-аппаратного обеспечения или в функциональной схеме в аппаратных устройствах. Дополнительно способы, компоненты и элементы могут быть реализованы в любой комбинации аппаратных устройств или программных компонентов или только в программном обеспечении.
[00060] В представленном выше описании приведено множество деталей. Однако специалисту в данной области, использующему преимущества настоящего изобретения, будет очевидно, что настоящее изобретение может быть реализовано на практике без этих конкретных деталей. В некоторых случаях известные структуры и устройства представлены в форме блок-схемы, а не в деталях, во избежание затруднения понимания настоящего изобретения.
[00061] Некоторые части реализации изобретения были представлены в виде алгоритмов и символических обозначений операций с битами данных в компьютерной памяти. Эти алгоритмические описания и представления являются средствами, используемыми специалистами в области обработки данных для наиболее эффективного донесения сущности своей работы до других специалистов в данной области. В настоящем документе и по существу под алгоритмом понимается самостоятельная последовательность операций, приводящая к желаемому результату. Под операциями понимаются такие операции, которые требуют физических манипуляций с физическими величинами. Как правило, хотя и необязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и которыми можно иным образом манипулировать. Было доказано, что иногда, преимущественно по причине широкого использования, удобно называть эти сигналы битами, значениями, элементами, символами, буквами, терминами, числами и т.п.
[00062] Однако следует помнить, что все эти и другие аналогичные термины должны быть связаны с надлежащими физическими величинами и являются лишь удобными обозначениями, применяемыми для этих величин. Если иное конкретно не указано, как очевидно из приведенного ниже описания, следует понимать, что на протяжении описания использование таких терминов, как «определение», «вычисление», «расчет», «получение», «обнаружение», «модификация» и т.п., относится к действиям и процессам вычислительного устройства или аналогичного электронного вычислительного устройства, которое манипулирует и преобразует данные, представленные в виде физических (например, электронных) величин в регистрах и памяти вычислительного устройства, в другие данные, аналогичным образом представленные в виде физических величин в памяти или регистрах компьютерного устройства или в других таких устройствах хранения, передачи или отображения информации.
[00063] Настоящее изобретение также относится к устройству для выполнения операций, представленных в настоящем описании. Это устройство может быть специально разработано для требуемых целей или оно может представлять собой компьютер общего назначения, избирательно активируемый или перенастраиваемый с помощью компьютерной программы, хранящейся в этом компьютере. Такая компьютерная программа может храниться на машиночитаемом носителе данных, таком как, без ограничений, диск любого типа, включая гибкие диски, оптические диски, компакт-диски (CD-ROM) и магнитооптические диски, постоянные запоминающие устройства (ПЗУ), оперативные запоминающие устройства (ОЗУ), ЭППЗУ, ЭСППЗУ, магнитные или оптические карты или любой тип носителя, подходящего для хранения электронных команд.
[00064] Следует понимать, что приведенное выше описание предназначено для иллюстрации, а не в качестве ограничения. Другие различные варианты реализации будут очевидны специалистам в данной области после прочтения и понимания представленного выше описания. Таким образом, объем настоящего изобретения следует определять в отношении прилагаемых пунктов формулы изобретения, а также по всему диапазону эквивалентов, на которые распространяются такие пункты формулы изобретения.