Сопоставление разметки для похожих документов

Иллюстрации

Показать все

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

Реферат

ОБЛАСТЬ ИЗОБРЕТЕНИЯ

[001] Настоящее изобретение относится к вычислительным системам, в частности к системам и способам извлечения информации из текстов на естественном языке.

УРОВЕНЬ ТЕХНИКИ

[002] Извлечение информации - одна из важнейших операций при автоматической обработке текстов на естественном языке. Извлечение информации из текстов на естественном языке может быть затруднено многозначностью, которая является неотъемлемой особенностью естественных языков. Точное и своевременное извлечение информации, в свою очередь, может требовать значительных ресурсов. Извлечение информации можно оптимизировать за счет использования правил извлечения, с помощью которых идентифицируется конкретная информация в этих документах.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[006] Для более полного понимания настоящего изобретения ниже приводится подробное описание, в котором для примера, а не способом ограничения, оно иллюстрируется со ссылкой на чертежи, на которых:

[007] На Фиг. 1 представлена высокоуровневая схема типовой системы проецирования разметки в соответствии с одним (или более) вариантом реализации настоящего изобретения.

[008] На Фиг. 2А представлен пример целевого документа в соответствии с одним или более вариантами реализации настоящего изобретения.

[009] На Фиг. 2В представлен пример похожего документа с разметкой в соответствии с одним или более вариантами реализации настоящего изобретения.

[0010] На Фиг. 2С представлен пример измененного целевого документа с разметкой на основе разметки для похожего документа на Фиг. 2В, в соответствии с одним или более вариантами реализации настоящего изобретения.

[0011] На Фиг. 3 представлена блок-схема одного из способов создания проецируемой разметки на основе похожих документов в соответствии с одним или более вариантами реализации настоящего изобретения.

[0012] На Фиг. 4 представлена блок-схема одного из способов определения позиций проецируемой разметки на основе похожего документа, в соответствии с одним или более вариантами реализации настоящего изобретения.

[0013] На Фиг. 5 представлена блок-схема одного из способов выявления вложенной проецируемой разметки целевого документа на основе контекста в соответствии с одним или более вариантами реализации настоящего изобретения.

[0014] На Фиг. 6 представлена блок-схема типовой вычислительной системы, взятой как пример и работающей в соответствии с примерами реализации настоящего изобретения.

ПОДРОБНОЕ ОПИСАНИЕ

[0015] В настоящем документе описаны способы и системы проецирования разметки документа на основе анализа похожих документов. Извлечение данных может быть оптимизировано с помощью применения правил извлечения. Однако этот тип оптимизации может быть ограниченным, поскольку различные типы документов могут быть связаны с различными правилами. Таким образом, применение одного набора правил для различных типов документов может не обеспечивать требуемой эффективности. Аналогичным образом применение различных наборов правил для различных типов документов может приводить к выполнению большого объема затратных операций для определения типа документа, прежде чем появится возможность выбора конкретного правила извлечения. В некоторых вариантах реализации документы могут содержать «разметку», с помощью которой маркируются или иным образом определяются подлежащие извлечению области текста в документе. Использование разметки может сократить объем и, как следствие, время обработки, требуемые для извлечения данных, однако выявление размечаемых фрагментов и собственно разметка текста зачастую могут требовать значительного объема ручного труда.

[0016] Указанные выше и другие недостатки устраняются в настоящем изобретении за счет применения механизмов автоматической обработки текстов на естественном языке для создания разметки целевого документа на основе анализа документов, похожих на целевой документ. Таким образом разметка, связанная с похожим документом (документами), может быть «спроецирована» с похожего документа на целевой документ на основе анализа точек расхождения между документами. Документы считаются похожими, если у них похожая структура, имеется определенный процент похожих слов, определенный процент похожих символов и т.п. В различных вариантах реализации похожесть документов может быть определена за счет применения семантического анализа, синтаксического анализа, сопоставления структур, сопоставления контекстов или иным способом (например, такими методами определения похожести как алгоритм шинглов, n-грамма, MinHash, набор слов и т.п.).

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

[0018] Таким образом, варианты реализации настоящего изобретения способствуют более эффективному выявлению значимого контента для целевого текстового документа при минимальном ручном труде или без такового. Объем обработки для создания разметки новых целевых документов может быть значительно сокращен за счет выявления похожих документов, уже содержащих информацию о разметке.

[0019] На Фиг. 1 приведена схема компонентов для типовой системы проецирования разметки документов в соответствии с одним или более вариантами реализации настоящего изобретения. Система проецирования разметки документов может включать модуль проецирования разметки 100 и индекс документов 160. Модуль проецирования разметки 100 может представлять собой клиентское приложение или сочетание компонентов, базирующихся на рабочей станции клиента и на сервере. В некоторых вариантах реализации изобретения модуль проецирования разметки 100 может работать на вычислительном устройстве клиента - к примеру, это может быть планшетный компьютер, смартфон, ноутбук, фотокамера, видеокамера и т.п. В альтернативном варианте реализации клиентский компонент модуля проецирования разметки 100, исполняемый на клиентском вычислительном устройстве, может получать документ и передавать его на серверный компонент модуля проецирования разметки 100, исполняемый на серверном устройстве, который выполняет проецирование разметки документа. Серверный компонент модуля проецирования разметки 100 затем может возвратить документ с разметкой на клиентский компонент модуля проецирования разметки 100, исполняемый на клиентском вычислительном устройстве для хранения или отображения для пользователя. В других вариантах реализации изобретения модуль проецирования разметки 100 может быть запущен на исполнение на серверном устройстве в качестве интернет-приложения, доступ к которому обеспечивается через интерфейс интернет-браузера. Примером серверного устройства могут быть одна или несколько вычислительных систем - одно или более таких устройств, как серверы, рабочие станции, большие ЭВМ (мейнфреймы), персональные компьютеры (ПК) и т.д.

[0020] В иллюстративном примере модуль проецирования разметки 100 может получать целевой документ 120, содержащий текстовый контент 121 на естественном языке. В одном из вариантов реализации изобретения модуль проецирования разметки 100 может принимать целевой документ 120 через приложение для ввода текста, представленный уже существующим документом, содержащим текстовый контент (например, электронный документ, включающий текстовый контент, такой как текстовый документ, документ в редактируемом формате, документ после оптического распознавания символов (OCR), документ в формате PDF с текстовым слоем и т.д.) или иным аналогичным способом. В качестве альтернативного варианта реализации изобретения, модуль проецирования разметки 100 может принимать изображение текста (снятое, к примеру, на камеру мобильного устройства), а затем выполнять оптическое распознавание символов (OCR) в пределах изображения. Помимо этого, модуль проецирования разметки 100 может принимать от пользователя речевую аудиозапись (к примеру, надиктованную на микрофон вычислительного устройства) и преобразовывать ее в текстовую форму при помощи программного средства расшифровки диктофонных записей.

[0021] Затем модуль проецирования разметки 100 может сформировать разметку проецируемого документа для целевого документа 120 на основе разметки документов, связанной с документами, похожими на целевой документ 120. Разметка документа является указанием на последовательность символов (например, цепочку символов) для текстового документа на естественном языке, описывающим значение этой последовательности символов. Разметка может использоваться системами обработки документов для извлечения текста, связанного с разметкой. Например, в документе типа «договор» может быть важным извлечь наименования и адреса сторон договора, существенные факты и (или) параметры договора и иную подобную информацию. Разметка может быть определена координатами этих фрагментов текста внутри соответствующего документа (исходная точка, конечная точка и т.д.), а также по типу или категории (например, наименование, адрес, страна, почтовый индекс, местонахождение собственности и т.д.). В некоторых вариантах реализации разметка может храниться в виде метаданных, связанных с документом. В качестве альтернативного варианта разметка может быть определена как расположение полей в документе (например, поле формы в документе PDF, поле формы в редактируемом документе и т.д.)

[0022] Для создания проецируемой разметки для целевого документа 120 модуль проецирования разметки 100 может сначала выявить документы, похожие на целевой документ 120. В некоторых вариантах реализации модуль проецирования разметки 100 может выполнить это путем доступа к поисковому индексу документов 160, содержащему индекс одного или более документов, имеющих соответствующие разметки. Индекс документов 160 может быть расширен на основе процесса обучения, при этом информация, связанная с одним или более документами, хранится в индексе 160. Каждый документ, содержащий связанную информацию в индексе 160, может включать собственную разметку, которая также может храниться в индексе. В некоторых вариантах реализации в индексе хранится текст документа. В альтернативном варианте реализации в индексе хранятся идентификаторы, ссылающиеся на выраженные в координатах положения в пределах соответствующих индексированных документов, чтобы была возможность быстро найти соответствующий текст.

[0023] В различных вариантах реализации индекс 160 может быть представлен таблицей, в которой каждое слово (например, лексема или словоформа) документа связано с перечнем идентификаторов или адресов экземпляров слова в документе. В некоторых вариантах реализации при выполнении морфологического, синтаксического, лексического и (или) семантического анализа индекс 160 может быть создан для индексации результатов анализа (например, параметров, сформированных в результате анализа). В некоторых вариантах реализации индекс 160 также может содержать ссылки на любые содержащиеся в документе разметки. В индексе 160 могут храниться ссылки на разметки аналогично способам хранения слов, символов и т.д. В таких случаях в индексе 160 могут храниться ссылки на идентификатор разметки (например, тег заголовка, наименования, дескриптора), чтобы можно было определить координаты разметок с похожими идентификаторами с помощью индекса 160. Например, если в индексе 160 хранится информация для многочисленных документов об аренде, каждый из которых содержит разметку со словом «арендодатель», индекс 160 может использоваться для поиска документов, чтобы найти имена «арендодателей» в документах аренды, используя поисковый запрос.

[0024] В некоторых вариантах реализации модуль проецирования разметки 100 может получать доступ непосредственно к индексу документов 160. В альтернативном варианте реализации модуль проецирования разметки 100 может инициировать запуск другого системного компонента или модуля (не показаны), которые имеют доступ к индексу 160, для определения документов, похожих на целевой документ 120. Модуль проецирования разметки 100 может определить похожесть документов за счет применения семантического анализа, синтаксического анализа, сопоставления структур, сопоставления контекстов или иным способом (например, такими методами определения похожести как алгоритм шинглов, n-грамма, MinHash, набор слов и т.п.). В одном из вариантов реализации модуль проецирования разметки 100 может определить набор похожих документов, при этом каждый документ из набора документов похож на целевой документ 120, и каждый похожий документ из набора имеет соответствующую меру похожести. В другой реализации набор похожих документов может выбираться при помощи одного или комбинации нескольких классификаторов.

[0025] Значение меры похожести может быть вычислено в результате выполнения процесса, направленного на выявление похожих документов, и может быть принята в виде процентного отношения похожих слов в целевом документе, процентного отношения похожих символов в целевом документе и т.п. В некоторых вариантах реализации мера похожести может быть представлена в виде числового значения. Например, мера похожести со значением 0 может указывать на то, что документ не похож на целевой документ 120, а мера похожести 1 может указывать на то, что документ полностью совпадает с целевым документом. В других вариантах реализации мера похожести может быть представлена диапазоном числовых значений от 0 до 10, диапазоном числовых значений от 0 до 100, процентным диапазоном, диапазоном буквенных символов (от А до Z) и т.д.

[0026] Затем модуль проецирования разметки 100 может выбрать один или более наиболее похожих документов 130 из набора похожих документов для получения документов, «наиболее похожих» на целевой документ 120. В некоторых вариантах реализации модуль проецирования разметки 100 может сделать такой выбор путем ранжирования и (или) фильтрации набора похожих документов, полученных при выполнении поиска в индексе документов 160. В одном из вариантов реализации изобретения модуль проецирования разметки 100 может выполнить ранжирование набора похожих документов по связанной с ними мере похожести и выбрать документы из отсортированного перечня, который соответствует пороговому значению. Например, модуль проецирования разметки 100 может выбрать документы, у которых мера похожести больше 8 по шкале от 0 до 10. Модуль проецирования разметки 100 также может выбрать «наиболее похожие» документы путем выявления документа, мера похожести которого больше, чем соответствующие меры похожести у других документов в созданном индексом наборе документов. В другой реализации модуль проецирования разметки 100 выбирает наиболее похожие документы при помощи одного или комбинации нескольких классификаторов. В еще одной реализации модуль проецирования разметки 100 выбирает наиболее похожие документы методом попарного сравнения документов.

[0027] Затем модуль проецирования разметки 100 может начать процесс проецирования разметок 170 похожего документа 130 на целевой документ 120 путем определения одного или более отличий между текстовым контентом целевого документа 120 и текстовым контентом похожего документа 130. При определении различий между текстовым контентом целевого документа 120 и текстовым контентом похожего документа 130 модуль проецирования разметки 100 может определить места нахождения точек совпадения и точек несовпадения текста в этих двух документах. Поскольку похожесть документов уже была установлена, различия в текстовом контенте этих документов не должны существенно изменяться за пределами отдельных частей текста, в которых, вероятно, содержится разметка документа (например, наименования, адреса, места, серийные номера и т.д.). Таким образом, при определении точек соответствия и несоответствия модуль проецирования разметки может эффективно определить границы частей текста в целевом документе 120, соответствующие тексту в похожем документе 130 и включенные в разметку 170.

[0028] В некоторых реализациях, модуль проецирования разметки 100 может выбрать два или более наиболее похожих документов для использования в установлении проецируемой разметки. В таких случаях описанная выше процедура сравнения с целевым документом может быть повторена для каждого документа из набора наиболее похожих. Проецируемая разметка для целевого документа в этих случаях может определяться на основе процесса "голосования", который учитывает расположение общих точек совпадения текста и несовпадения текста по каждому из наиболее похожих документов (например, количество «перекрытий» совпадения текста и несовпадение текста между целевым документом и наиболее похожими документами). В таких случаях проецируемая разметка для целевого документа может быть определена на основе комбинации нескольких вариантов соответствующих разметок из похожих документов, где каждый вариант разметки является результатом сравнения одного из выбранных документов из множества наиболее похожих документов с целевым документом. Чтобы определить начальную и конечную координату комбинированной проецируемой разметки, для каждого интервала текста в целевом документе вычисляется число «голосов», соответствующих интервалу текста в выбранных наиболее похожих документах. Таким образом, количество голосов может представлять число наиболее похожих документов, для которых определенный диапазон текста находится в общем интервале. Интервалы, имеющие число голосов отдельных разметок, превышающие пороговое значение, могут быть использованы для определения границ комбинированной проецируемой разметки.

[0029] Модуль проецирования разметки 100 может определить отличия за счет выявления одной или более частей текстового контента в одном или более похожем документе 130, отличающихся от соответствующей одной или более частей текстового контента в целевом документе 120. В некоторых вариантах реализации модуль проецирования разметки 100 может определить отличия за счет сопоставления целевого документа 120 с похожим документом 130 по каждому символу. Таким образом, при выполнении этого процесса можно определить координаты (или иную информацию о положении) отличающихся фрагментов текста в каждом документе. Иными словами, модуль проецирования разметки 100 может определить расположения точек несовпадения (и точек совпадения текста) между целевым документом 120 и похожим документом 130.

[0030] После установления различий между документами модуль проецирования разметки 100 может определить координаты разметки 170 в похожем документе 130, при этом каждая разметка 170 может быть связана с частью текстового контента похожего документа 170. Затем модуль проецирования разметки 100 может определить проецируемые разметки 180 для целевого документа 120 путем анализа различий между документами. Таким образом, в ходе этого процесса может создаваться проецируемая разметка 180, соответствующая разметке 170 похожего документа. В некоторых вариантах реализации разметка 180 создается путем определения координат для частей текста в целевых документах 120 для частей несовпадения целевого документа 120 и похожего документа 130 или множества наиболее похожих документов. Аспекты настоящего процесса более подробно описаны ниже со ссылкой на Фиг. 2А-2С.

[0031] После определения проецируемой разметки 180 для целевого документа 120 модуль проецирования разметки 100 затем может сохранить разметки 180 для целевого документа 120. Как показано на Фиг. 1, получившийся в результате документ может быть сохранен как новый размеченный документ 140, содержащий текстовый контент целевого документа 120, а также проецируемую разметку 180. В других вариантах реализации проецируемая разметка 180 может сохраняться в исходном целевом документе 120, а не создавать новый документ. Как описано выше, проецируемая разметка 180 может быть вложена в сам документ или сохраняться отдельно в виде ассоциированных с документом метаданных. В некоторых вариантах реализации размеченный целевой документ 140 и его соответствующая проецируемая разметка 180 далее могут быть проиндексированы в индексе документов 160 для использования с дальнейшей обработкой документов. Например, размеченный целевой документ 140 и соответствующая ему проецируемая разметка 180 могут быть включены обучающую выборку данных, которая может использоваться для дальнейшего совершенствования проекций разметки. Следует отметить, что за счет этого обеспечивается дополнительная эффективность, поскольку выполнение разметки вручную обычно является весьма затратным.

[0032] В некоторых вариантах реализации размеченный целевой документ 140 и соответствующие ему проецируемые разметки 180 могут быть получены для использования в системе извлечения данных на основе проецируемых разметок 180. В некоторых вариантах реализации система извлечения данных может принимать размеченный целевой документ 140, определять места расположения проецируемых разметок 180 и извлекать части текста в этих местах. Затем извлеченный текст может использоваться для заполнения онлайн-форм, полей баз данных и т.п. Например, проецируемая разметка 180 для договора аренды может извлекать особые детали договора и вносить их в базу данных. Размеченные документы могут также использоваться системами машинного перевода для перевода информации, включенной в разметку, на другие языки. Поскольку с помощью разметки в документе обычно можно определить именованные сущности или иное важное содержимое, которое необходимо перевести на другой язык определенным образом, внедрение разметки в системы машинного перевода может способствовать повышению эффективности перевода. Таким образом, при применении настоящего изобретения может быть обеспечен более эффективный способ определения важной информации в текстовых документах для извлечения данных. Следует отметить, что модуль проецирования разметки 100 может выполнять проецирование разметки в соответствии с приведенным выше описанием без применения комплексного, глубокого семантического и синтаксического анализа текстовых документов, применяемого традиционными системами.

[0033] На Фиг. 1 показан в простой форме один похожий документ 130, однако, следует отметить, что может быть выявлено несколько похожих документов 130 для использования при создании проецируемой разметки 180. В иллюстративном примере модуль проецирования разметки 100 может принять целевой документ, содержащий два абзаца текста и выявить похожие документы - один документ, наиболее похожий на первый абзац целевого документа, а другой - наиболее похожий на второй абзац целевого документа. Затем модуль проецирования разметки 100 с помощью разметки первого похожего документа может создать проецируемую разметку для первого абзаца целевого документа. Аналогичным образом модуль проецирования разметки 100 с помощью разметки второго похожего документа может создать проецируемую разметку для второго абзаца целевого документа.

[0034] На Фиг. 2А-2С показан пример проецирования разметок для целевого документа на основе разметок выявленных похожих документов, как описано выше со ссылкой на Фиг. 1. На Фиг. 2А-2С в простой форме показаны конкретные типы текстовых документов и разметок, однако следует отметить, что могут быть проанализированы и другие типы разметок для создания проецируемых разметок для других типов текстового контента. На Фиг. 2А показан пример целевого документа 200, включающего часть текстового контента договора аренды между двумя сторонами. Как показано на Фиг. 2А, договор аренды датирован 12 декабря 2010 года и заключен между «John Doe» и «АВС, INC.».

[0035] На Фиг. 2В показан пример похожего документа 220, включающего часть текстового контента для договора аренды с похожей структурой между двумя сторонами, а также разметки, соотнесенные с несколькими фрагментами текста в договоре. Как показано на Фиг. 2В, договор аренды датирован 3 декабря 2010 года и заключен между «JAMES SMITH» и «ANYCORP, INC.». Похожий документ 220 содержит разметки 221-А, 221-В, 221-С и 221-D. Разметка 221-А связана с фрагментом текстового контента, содержащим дату договора аренды с начальной координатой разметки (начало) 222-А и конечной координатой разметки (конец) 223-А. Разметка 221-В связана с фрагментом текстового контента, который содержит наименование одной из сторон договора аренды ("JAMES SMITH") с начальной координатой разметки (начало) 222-В и конечной координатой разметки (конец) 223-В. Разметка 221-С связана с фрагментом текстового контента, который содержит адрес одной из сторон договора аренды с начальной координатой разметки (начало) 222-С и конечной координатой разметки (конец) 223-С. Разметка 221-D связана с фрагментом текстового контента, который содержит часть, относящуюся к штату в адресе одной из сторон договора аренды с начальной координатой разметки (начало) 222-D и конечной координатой разметки (конец) 223-D. Следует отметить, что разметка 221-D связана с фрагментом текста, которая связан с разметкой 221-А (т.е. вложенная разметка).

[0036] Как указано выше со ссылкой на Фиг. 1, модуль проецирования разметки 100 может использовать информацию разметки, хранящуюся с похожим документом 220, для определения координат разметок 221-А, 221-В, 221-С и 221-В (например, информацию о соответствующих координатах начала и конца для каждой разметки). После определения всех этих координат модуль проецирования разметки 100 может использовать координаты разметки в сочетании с точками расхождения между целевым документом 200 и похожим документом 220 (например, координаты, в которых имеются различия между текстом документов) для создания проецируемых разметок для целевого документа 200. Этот процесс более подробно описан ниже со ссылкой на Фиг. 2С.

[0037] На Фиг. 2С показан пример измененного целевого документа, содержащего разметки на основе разметок похожего документа 220 на Фиг. 2В. Проецируемые разметки 231-А, 231-В, 231-С и 231-D могут быть созданы для целевого документа 200 с помощью модуля проецирования разметки 100, как описано выше со ссылкой на Фиг. 1. В некоторых вариантах реализации модуль проецирования разметки 100 может определить точку расхождения между целевым документом 200 и похожим документом 220 на основе различий между текстовым контентом двух документов. Например, как показано выше со ссылкой на Фиг. 2А-2В, текстовый контент двух документов является идентичным во фрагментах текста, содержащих контент «THIS LEASE AGREEMENT is made as of the» (НАСТОЯЩИЙ ДОГОВОР АРЕНДЫ заключен). Первое выявленное отличие между двумя документами (и, следовательно, первая точка расхождения) находится в начале фрагмента текста, который включает дату договора в каждом документе (например, 12, а не 3 декабря).

[0038] Затем модуль проецирования разметки 100 может определить, находится ли точка расхождения между начальной и конечной точкой разметки в похожем документе 220. Если да, то модуль проецирования разметки 100 может задать начальную координату проецируемой разметки в целевом документе 200 в соответствии с конечным положением предыдущего фрагмента текста, который является идентичным для похожего документа 220. Например, как указано выше, первая точка расхождения между целевым документом 200 и похожим документом 220 находится в начальной координате содержащего дату текста. Это расхождение находится между началом 222-А и концом 223-А (координаты начала и конца разметки 221-А). Модуль проецирования разметки 100 может определить, что фрагмент текстового контента в похожем документе 220, предшествующего началу 222-А («ТНК LEASE AGREEMENT is made as of the» (НАСТОЯЩИЙ ДОГОВОР АРЕНДЫ заключен)), соответствует фрагменту текста в целевом документе 200. Затем модуль проецирования разметки 100 может задать начальную координату для проецируемой разметки 231-А в размеченном целевом документе 230 в соответствии с конечной координатой совпадающего фрагмента текста в целевом документе. Таким образом, начало 232-А может быть задано в месте окончания текста «THIS LEASE AGREEMENT is made as of the» (НАСТОЯЩИЙ ДОГОВОР АРЕНДЫ заключен).

[0039] Затем модуль проецирования разметки 100 может определить конечную координату проецируемой разметки 231-А для целевого документа. Модуль проецирования разметки 100 может выполнить такое определение за счет установления фрагмента текстового контента после конечной координаты разметки в похожем документе 220 (координаты конца 223-А разметки 221-А на Фиг. 2В), которое соответствует фрагменту текста в целевом документе 200. Как показано на Фиг. 2А-2В, фрагмент текста «by and between» (между) следует за разметкой 221-А в похожем документе 220 и соответствует фрагменту текста после текста с указанием даты в целевом документе 200. Затем модуль проецирования разметки 100 может задать конечную координату для проецируемой разметки в целевом документе в соответствии с начальной координатой совпадающего фрагмента текста. Таким образом, конец 233-А на Фиг. 2С может быть задан в соответствии с начальным положением текста «by and between» (между).

[0040] Описанный выше процесс может повторяться для каждой разметки 221-В и 221-С похожего документа 220 для создания проецируемых разметок 231-В и 231-С для размеченного целевого документа 230. В некоторых случаях, поскольку проецируемые разметки целевого документа частично основаны на точках расхождения между целевым и похожим документами, начальные или конечные координаты проецируемых разметок могут содержать дополнительный текст в сопоставлении с соответствующей разметкой похожего документа. Такой случай показан в проецируемой разметке 231-В на Фиг. 2С. При анализе разметки 221-В на Фиг. 2В (похожий документ 220) для определения конечной координаты 231-В в целевом документе, показанном на Фиг. 2С, модуль проецирования разметки 100 определяет фрагмент текста в похожем документе 220, который следует за конечной координатой разметки 221-В в похожем документе 220 (конечная координата 223-В на Фиг. 2В) и соответствует фрагменту текста в целевом документе 200. Как показано на Фиг. 2А-2В, фрагмент текста «whose mailing address is» (имеющим почтовый адрес) следует за разметкой 221-В в похожем документе 220 и соответствует фрагменту текста в целевом документе 200. Таким образом, конец 233-В на Фиг. 2С может быть задан в соответствии с начальной координатой текста «whose mailing address is» (имеющим почтовый адрес). Это может привести к тому, что разметка 231-В, связанная с именем одного из участников договора аренды, будет включать текст «а single man» (физическое лицо). Следует отметить, что этот текст включается в разметку для имени, но он может быть дополнительно проанализирован при последующей обработке, когда данные окончательно извлекаются из размеченного целевого документа 230. Таким образом, проецируемые разметки для целевого документа могут создаваться более быстро без дополнительных затрат на последующий анализ.

[0041] В некоторых вариантах реализации в похожих документах может присутствовать вложенная разметка. Например, как показано на Фиг. 2В, координаты разметки 221-D (штат нахождения Арендодателя) вложено в координаты разметки 221-А (полный адрес Арендодателя). В таких случаях модуль проецирования разметки 100 может применять эвристические правила для определения контекста разметки 221-D относительно разметки 221-А для создания соответствующей проецируемой разметки для целевого документа (например, разметка 231-D на Фиг. 2С). В иллюстративном примере модуль проецирования разметки 100 определяет координаты второй разметки 221-D в похожем документе 220, где вторая разметка связана с частью текстового контента похожего документа 220, который расположен между начальной координатой (начало 222-А) и конечной координатой (223-А) разметки 221-А (на Фиг. 2В). Затем модуль проецирования разметки 100 определяет контекст части текста, связанной с разметкой 221-D («СА»), как часть текста в разметке 221-А (весь адрес). Модуль проецирования разметки 100 может выполнить это определение путем применения семантического анализа, синтаксического анализа, сопоставления структуры, сопоставления контекста или любым иным способом.