Способ и система синтеза текста на основе извлеченной информации в виде rdf-графа с использованием шаблонов
Иллюстрации
Показать всеИзобретение относится к области автоматической обработки текстовых данных, представленных на естественных языках. Техническим результатом является повышение точности синтезирования текста на основе извлеченных данных - информационных объектов - из текста. В способе синтеза текста на естественном языке получают информационные объекта и производят выбор среди полученных информационных объектов информационных объектов и ассоциированных шаблонов синтеза в библиотеке шаблонов. При этом каждый шаблон синтеза включает семантико-синтаксическое дерево шаблона. Создают для каждого выбранного информационного объекта семантико-синтаксическое дерево синтеза на основе семантико-синтаксического дерева шаблона. Создают текст на естественном языке на основе каждого созданного семантико-синтаксического дерева. 3 н. и 15 з.п. ф-лы, 19 ил.
Реферат
ОБЛАСТЬ ИЗОБРЕТЕНИЯ
[0001] Настоящее изобретение относится к устройствам, системам, способам и компьютерным программам в области автоматической обработки текстовых данных, представленных на естественных языках (Natural Language Processing).
УРОВЕНЬ ТЕХНИКИ
[0002] В настоящее время в области автоматической обработки текстовой информации, представленной на естественных языках, одной из важных задач является синтез текста на основе извлеченных из текстовых данных информационных объектов. Одной из прикладных задач синтеза текста на основе извлеченной информации является автоматическое аннотирование текста.
[0003] Автоматическое аннотирование - это процедура обработки текстовых данных для последующего извлечения из них основной информации и ее дальнейшей обработки. На сегодняшний день существующие методы автоматического аннотирования можно разделить на два типа. Отличительным признаком аннотирования первого типа является то, что текст аннотации состоит из предложений исходного текста, это так называемый метод «extraction-based summarization)). Методы аннотирования второго типа «abstraction-based summarization)) - представляют текст аннотации, который синтезируется на основе содержания исходного текста. Ввиду технической сложности реализации автоматического синтеза текста и извлечения информации из него, основными методами аннотирования являются методы типа «extraction-based summarization)). Примерами автоматического аннотирования типа «extraction-based summarization)) являются методы: TextRank, метод аннотирования на основе терминологии и семантики, метод аннотирования на основе латентного семантического анализа.
[0004] Метод аннотирования TextRank является простейшим алгоритмом автоматического аннотирования, который представляет исходный текст в виде графа, вершинами которого являются предложения, а ребрами - "связь" между двумя предложениями. Связь определяется по числу одинаковых слов в данных предложениях. В графе у каждого ребра имеется вес. Каждой вершине же сопоставляется рейтинг, высчитанный на основе 2-х критериев:
- Количество ребер, которые идут из других вершин,
- Рейтинг этих ребер.
[0005] Вершины с наибольшим рейтингом содержат предложения, которые будут использоваться в тексте аннотации. Основным минусом данного метода аннотирования является то, что он практически не учитывает семантику текста, в результате чего аннотация не всегда точна и верна.
[0006] Алгоритм аннотирования на основе терминологии и семантики ранжирует предложения исходного текста, используя метрики, основанные на извлеченных из текста терминах. С помощью онтологии устанавливается корреляция каждого термина из текста с терминами из заголовка, на основе чего вычисляется вес каждого термина. Вес предложения вычисляется как сумма весов всех терминов, употребляющихся в нем.
[0007] Метод на основе латентного семантического анализа тоже основан на ранжировании предложений с помощью терминов. В основе метода лежит принцип выбора предложений, чья важность по какой-либо теме максимальна. Однако и у данного метода существуют недостатки. Поскольку предложения выбираются по принципу, согласно которому важность предложения хотя бы по одной теме максимальна, это приводит к тому, что предложение, чья важность хороша по всем темам, но не максимальна ни по одному, не попадет в аннотацию. Помимо этого не фильтруются маловажные темы, из-за чего размер аннотации может быть больше, чем нужно.
[0008] В описании предлагаемого изобретения представлен метод автоматического аннотирования текстовых данных типа «abstraction-based summarization)), который покрывает недостатки существующих методов и позволяет с высокой точностью синтезировать текст на основе извлеченных данных - информационных объектов - из текста.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0009] В настоящем описании представлены системы, методы и компьютерные программы для синтеза текста на естественном языке.
[0010] В одном из аспектов типовой способ синтеза текста на естественном языке включает: получение аппаратным процессором множества полученных информационных объектов; выбор аппаратным процессором среди множества полученных информационных объектов по крайней мере одного выбранного информационного объекта и, для каждого выбранного информационного объекта ассоциированный шаблон синтеза в библиотеке шаблонов, при этом библиотека включает по крайне мере один шаблон синтеза, и при этом каждый шаблон синтеза включает семантико-синтаксическое дерево шаблона; создание аппаратным процессором для каждого выбранного информационного объекта семантико-синтаксическое дерева синтеза на основе семантико-синтаксического дерева шаблона ассоциированного шаблона синтеза, выбранного для выбранного информационного объекта; и создание аппаратным процессором текста на естественном языке на основе каждого созданного семантико-синтаксического дерева.
[0011] В другом аспекте типовая система синтеза текста на естественном языке включает: модуль получения информационных объектов, настроенный на получение множества полученных информационных объектов; модуль выбора информационного объекта, настроенный на выбор среди множества полученных информационных объектов по крайней мере одного выбранного информационного объекта и, для каждого выбранного информационного объекта ассоциированный шаблон синтеза в библиотеке шаблонов, при этом библиотека включает по крайне мере один шаблон синтеза, и при этом каждый шаблон синтеза включает семантико-синтаксическое дерево шаблона; модуль создания семантико-синтаксического дерева синтеза, настроенный на создание для каждого выбранного информационного объекта семантико-синтаксическое дерева синтеза на основе семантико-синтаксического дерева шаблона ассоциированного шаблона синтеза, выбранного для выбранного информационного объекта; и модуль создания текста на естественном языке, настроенный на создание текста на естественном языке на основе каждого созданного семантико-синтаксического дерева.
[0012] Еще в одном аспекте типовой программный продукт, который хранится в памяти постоянного машиночитаемого носителя данных, содержит исполняемые компьютером команды на синтеза текста на естественном языке, в том числе команды на: получение аппаратным процессором множества полученных информационных объектов; выбор аппаратным процессором среди множества полученных информационных объектов по крайней мере одного выбранного информационного объекта и, для каждого выбранного информационного объекта ассоциированный шаблон синтеза в библиотеке шаблонов, при этом библиотека включает по крайне мере один шаблон синтеза, и при этом каждый шаблон синтеза включает семантико-синтаксическое дерево шаблона; создание аппаратным процессором для каждого выбранного информационного объекта семантико-синтаксическое дерева синтеза на основе семантико-синтаксического дерева шаблона ассоциированного шаблона синтеза, выбранного для выбранного информационного объекта; и создание аппаратным процессором текста на естественном языке на основе каждого созданного семантико-синтаксического дерева.
[0013] В некоторых аспектах что каждый полученный информационный объект ассоциирован с онтологическим объектом и имеет множество заполненных свойств, каждое заполненное свойство имеет значение; каждый шаблон синтеза ассоциирован с онтологическим объектом, при этом каждый шаблон синтеза включает множество необходимых свойств; каждый шаблон синтеза включает множество необязательных свойств; каждый шаблон синтеза включает скрипт-валидатор; выбор по крайней мере одного информационного объекта и ассоциированного шаблона синтеза включает, для каждого полученного информационного объекта, выбор шаблонов синтеза в библиотеке шаблонов, ассоциированных с тем же онтологическим объектом, что и полученный информационный объект; далее, если выбран шаблон синтеза, выбор среди выбранных шаблонов синтеза тех шаблонов синтеза, для каждого из которых множество необходимых свойств содержится во множестве заполненных свойств полученного информационного объекта; далее, если выбран шаблон синтеза, выбор среди выбранных шаблонов синтеза шаблонов синтеза с наибольшим множеством необходимых свойств; далее, если выбран шаблон синтеза, выбор среди выбранных шаблонов синтеза тех шаблонов синтеза, для каждого из которых скрипт-валидатор проверяет полученный информационный объект; далее, если выбран шаблон синтеза, выбор среди выбранных шаблонов синтеза шаблонов синтеза с наибольшим пересечением множества необязательных свойств со множеством заполненных свойств полученного информационного объекта; и далее, если выбран шаблон синтеза, выбор полученного информационного объекта и нахождение соответствия одного из выбранных шаблонов синтеза с выбранным информационным объектом. В некоторых аспектах выбранный информационный объект имеет множество заполненных свойств, каждое заполненное свойство, имеющее строковое значение на естественном языке; каждое семантико-синтаксическое дерево шаблона включает узлы шаблона; каждый шаблон синтеза включает для каждого из по крайней мере некоторых узлов шаблона, образующие множество замен узлов, соответствующее заполненное свойство; создание для каждого выбранного информационного объекта семантико-синтаксического дерева синтеза включает, для каждого узла шаблона ассоциированного шаблона синтеза, начиная с корневого узла семантико-синтаксического дерева шаблона: если узел шаблона не входит в множество замен узлов, создание в семантико-синтаксическом дереве идентичного узла; если узел шаблона входит в множество замен узлов и если свойство, соответствующее узлу шаблона, является заполненным свойством выбранного информационного объекта, создание в семантико-синтаксическом дереве синтеза узла или поддерева на основе анализа строкового значения на естественном языке заполненного свойства выбранного информационного объекта, соответствующего узлу шаблона; и повторение предыдущих двух шагов для каждого дочернего узла семантико-синтаксического дерева шаблона. В некоторых аспектах создание для каждого выбранного информационного объекта семантико-синтаксического дерева синтеза дополнительно включает, если узел шаблона находится в множестве замен узлов, если свойство, соответствующее узлу шаблона, является заполненным свойством выбранного информационного объекта, и если заполненное свойство выбранного информационного объекта имеет более чем одно строковое значение на естественном языке, для каждого строкового значения на естественном языке, создание в семантико-синтаксическом дереве синтеза узла или поддерева на основе строкового значения на естественном языке соответствующего узлу шаблона; и связывание созданных узлов сочинительной связью. В некоторых аспектах множество полученных информационных объектов формирует RDF граф. В некоторых аспектах формирование по крайней мере одной группы выбранных информационных объектов, ассоциированных с тем же шаблоном синтеза; и создание для по крайней мере одной группы семантико-синтаксического дерева синтеза на основе семантико-синтаксического дерева шаблона ассоциированного шаблона синтеза. [0014] Вышеприведенные упрощенное раскрытие типовых аспектов изобретения дает базовое представление о настоящем изобретении. Настоящее раскрытие изобретения не является широким обзором всех подразумеваемых аспектов изобретения и не предназначено ни для определения ключевых или критических элементов всех аспектов, ни для общего описания объема всех или некоторых аспектов настоящего изобретения. Его единственная цель заключается в том, чтобы описать один или более аспектов в упрощенной форме в качестве вводной части к более подробному описанию настоящего изобретения, представленному ниже. Для выполнения вышеуказанных задач один или несколько аспектов настоящего изобретения включают характеристики, описанные и особенным образом отмеченные в пунктах формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0015] Фиг. 1 иллюстрирует последовательность шагов в соответствие с иллюстративным примером.
[0016] Фиг. 1А иллюстрирует блок-схему иллюстративного примера.
[0017] Фиг. 1В иллюстрирует блок-схему альтернативного ого иллюстративного примера.
[0018] Фиг. 1С иллюстрирует последовательность шагов в соответствие с альтернативным иллюстративным примером.
[0019] Фиг. 2 иллюстрирует последовательность шагов семантико-синтаксического анализа в соответствие с иллюстративным примером.
[0020] Фиг. 3 иллюстрирует последовательность шагов метода извлечения информации в соответствие с иллюстративным примером.
[0021] Фиг. 4А иллюстрирует последовательность выбора шаблона в соответствие с одной из реализаций в описании.
[0022] Фиг. 4В иллюстрирует интерфейс для создания шаблона в соответствие с альтернативным иллюстративным примером.
[0023] Фиг. 4С иллюстрирует семантико-синтаксическое дерево иллюстративного предложения из шаблона.
[0024] Фиг. 5А иллюстрирует процедуру компиляции шаблона.
[0025] Фиг. 5В иллюстрирует последовательность метода заполнения глубинной структуры предложения для синтеза в соответствие с иллюстративным примером.
[0026] Фиг. 6А иллюстрирует дерево для случая, когда узла нет в списке замен, в соответствие с иллюстративным примером.
[0027] Фиг. 6В иллюстрирует дерево для случая, когда узел есть в списке замен, однако нет свойства для соответствующего узла в соответствие с иллюстративным примером.
[0028] Фиг. 6C-6D иллюстрируют деревья для случая, когда узел есть в списке и у него два значения свойства, в соответствие с иллюстративным примером.
[0029] Фиг. 7А-Е иллюстрирует деревья предложений шаблонов, на основе которых воссоздаются соответствующие деревья синтеза.
[0030] Фиг. 8 иллюстрирует последовательность шагов при синтезе однородных фактов в соответствие с иллюстративным примером.
[0031] Фиг. 9 иллюстрирует пример схемы аппаратного обеспечения, которое может быть использовано в соответствие с иллюстративным примером.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0032] Типовые аспекты описываются в настоящем раскрытии в контексте системы, способа и компьютерной программы для синтеза текста на основе RDF графа с использованием шаблонов. Однако специалисты в этой области техники поймут, что нижеследующее описание носит исключительно иллюстративный, а не ограничивающий в каком-либо отношении характер. Другие аспекты настоящего раскрытия будут очевидны для специалистов в данной области на основании настоящего раскрытия. Далее будут подробно описаны варианты осуществления типовых аспектов, проиллюстрированных на приложенных чертежах. При упоминании в чертежах и нижеследующем описании тех же или аналогичных объектов будут по мере возможности использованы те же исходные индикаторы.
[0033] Настоящее описание представляет способ и систему, позволяющие осуществлять синтез текста на основе RDF графа с использованием шаблонов. Предлагаемый способ синтеза текста позволяет создавать аннотации, которые включают в себя краткое информацию о наиболее важных фактах, упомянутых в тексте. Однако синтез текста на основе RDF графа с использованием шаблонов не ограничивается применением только в области аннотирования.
[0034] Фиг. 1 иллюстрирует схему последовательности шагов в соответствии с типовым аспектом. Фиг. 1А иллюстрирует систему в соответствии с типовым аспектом.
[0035] На этапе 110 на вход системе подаются текстовые данные от модуля ввода тестовых данных 10. Данные текстовые данные могут быть как заранее подготовлены, т.е. размечены, так и не подготовлены (не размечены). Далее текстовые данные на этапе 120 подвергаются семантико-синтаксическому анализу модулем семантико-синтаксического анализа 20. Основные принципы семантико-синтаксического анализа на базе лингвистических описаний описаны в патенте США 8,078,450, и данные принципы лежат в основе данного изобретения. Так как семантико-синтаксический анализ основан на использовании независимых от языка смысловых единиц, то данное изобретение также не зависит от языка и позволяет работать с одним или несколькими естественными языками.
[0036] Семантико-синтаксический анализатор текста - модуль, позволяющий проанализировать текстовые данные: отдельное предложение, текст или набор текстов; и получить для текстовых данных лес семантико-синтаксических структур, каждая из которых представляет собой граф, в частности дерево. Узлы и ребра графа дополняются грамматической и семантической информацией, используемой впоследствии для выделения объектов, их свойств и отношений, а также для синтеза предложений.
Семантико-синтаксический анализ:
[0037] Фиг. 2 иллюстрирует общую схему метода глубинного синтаксического и семантического анализа 120, основанного на лингвистических описаниях текстовых данных, представленных на естественных языках 110. Метод подробно представлен в патенте США 8,078,450. Метод использует широкий спектр лингвистических описаний, как универсальных семантических механизмов. Данные способы анализа основаны на принципах целостного и целенаправленного распознавания, т.е. гипотезы о структуре части предложения верифицируются в рамках проверки гипотезы о структуре всего предложения. Это позволяет избежать анализа большого количества вариантов.
[0038] Глубинный анализ включает лексико-морфологический, синтаксический и семантический анализ каждого предложения текста (корпуса текстов), в результате которого строятся семантические структуры для предложений, независимые от языка (language-independent semantic structures), в которых каждому слову сопоставляется соответствующий лексический и/или семантический класс (СК) из универсальной Семантической Иерархии (СИ).
[0039] Семантическая иерархия (СИ) представляет собой лексико-семантический словарь, в котором содержится вся лексика языка, необходимая для анализа и синтеза текста. Семантическая Иерархия организована в виде дерева родо-видовых отношений, в узлах которого находятся Семантические Классы (СК) - универсальные (единые для всех языков), отражающие некоторое понятийное содержание; и лексические классы (ЛК) - конкретноязыковые, являющиеся потомками некоторого семантического класса. Совокупность лексических классов одного Семантического Класса определяет семантическое поле - лексическое выражение понятийного содержания Семантического Класса. Наиболее распространенные понятия находятся на верхних уровнях иерархии.
[0040] Дочерний семантический класс в Семантической Иерархии наследует большинство свойств своего прямого родителя и всех семантических классов - предков. Например, семантический класс SUBSTANCE (Вещество) является дочерним семантическим классом класса ENTITY (Сущность) и материнским семантическим классом для классов GAS (Газ), LIQUID (Жидкость), METAL (Металл), WOOD_MATERIAL (Древесина) и т.д.
[0041] Вернемся к Фиг. 2. Исходные предложения в тексте/коллекции текстов (110) подвергаются семантико-синтаксическому анализу 205 с использованием лингвистических описаний, как исходного языка, так и универсальных семантических описаний, что позволяет анализировать не только поверхностную синтаксическую структуру, но и распознавать глубинную, семантическую структуру, выражающую смысл высказывания, содержащегося в каждом предложении, а также связи между предложениями или фрагментами текста. Лингвистические описания могут включать лексические описания 203, морфологические описания 201, синтаксические описания 202 и семантические описания 204. Анализ 205 включает синтаксический анализ, реализованный в виде двухэтапного алгоритма (грубого синтаксического анализа и точного синтаксического анализа), использующий лингвистические модели и информацию различных уровней для вычисления вероятностей и генерации множества синтаксических структур. В результате чего строится на этапе 206 семантико-синтаксическая структура (207), или другими словами семантико-синтаксическое дерево, которое по некоторой используемой в процессе анализа системе оценок, является лучшей семантико-синтаксической структурой из множества семантико-синтаксических структур.
[0042] Морфологическая модель семантико-синтаксического анализатора существует вне семантической иерархии. Для каждого языка существует список лексем и их парадигмы. Внутри семантической иерархии каждая лексема может прикрепляться к одному или нескольким лексическим классам. Лексический класс обычно связывает вместе несколько лексем.
[0043] Каждый узел полученного семантико-синтаксического дерева прикрепляется к какому-то лексическому классу семантической иерархии, что подразумевает устранение двузначности слов в процессе анализа. Каждый узел также хранит в себе грамматическую и семантическую информацию, которая определяет его роль в тексте, а именно набор граммем и семантем.
[0044] Каждая дуга семантико-синтаксического дерева хранит поверхностную позицию (т.е. синтаксическую функцию зависимого узла, например, $Subject или $Object_Direct) и глубинную позицию (т.е. семантическую роль зависимого узла, например, Agent или Experiencer). Набор глубинных позиций универсален и не зависит от языка, в отличие от набора поверхностных позиций, который отличается от языка к языку.
[0045] В представленном изобретении семантико-синтаксический анализатор используется как для глубинного анализа предложений в тексте, предоставленном системе, например, пользователем, так и в процессе создания шаблонов, по которым потом будет происходить синтез текста. Данная процедура будет описана ниже.
Извлечение информации:
[0046] Вернемся к Фиг. 1. После того текстовые данные, предоставленные пользователем, прошли этап глубинного семантико-синтаксического анализа 120, в результате чего был получен лес семантико-синтаксических деревьев для каждого предложения в тексте, запускается процесс извлечения информации 130, который осуществляется модулем извлечения информации 30. Модуль извлечения информации использует полученные на предыдущем этапе семантико-синтаксические деревья.
[0047] Процесс извлечения информации управляется системой продукционных правил. Существует два типа продукционных правил: правила интерпретации фрагментов семантико-синтаксических деревьев и правила идентификации информационных объектов.
[0048] Правила интерпретации позволяют описывать фрагменты семантико-синтаксических деревьев, при обнаружении которых вступают в силу определенные наборы логических утверждений. Одно правило представляет собой продукцию, левой частью которой является эталонный фрагмент семантико-синтаксического дерева, а правой - набор выражений, описывающих логические утверждения.
[0049] Эталон семантико-синтаксического дерева (или древесные эталон) представляют собой формулу, атомарными элементами которой являются проверки различных свойств узлов семантико-синтаксических деревьев (наличия той или иной граммемы/семантемы, принадлежности к лексическому/семантическому классу, нахождения в некоторой поверхностной/глубинной позиции и многое другое).
[0050] Правила идентификации применяются в тех ситуациях, когда требуется сливать (объединять) уже извлеченные информационные объекты. Правило идентификации представляет собой продукцию, в левой части которой описываются накладываемые на два информационных объекта ограничения, при выполнении которых информационные объекты считаются совпадающими. Правая часть всех правил идентификации считается одинаковой (это одно утверждение об идентичности двух объектов) и не записывается.
[0051] Способ извлечения информации с использованием продукционных правил проиллюстрирован на Фиг. 3. Как уже было упомянуто выше, на вход модулю извлечения информации поступают семантико-синтаксические деревья для каждого предложения, анализируемого системой текста, предоставленного пользователем. На шаге 302 детектируются все сопоставления для правил интерпретации без объектных условий (условий, накладываемых на информационные объекты). Здесь термин сопоставление означает сопоставление древесного эталона правила интерпретации с фрагментом семантико-синтаксического дерева. Далее найденные сопоставления добавляются 304 в сортированную очередь сопоставлений. На этапе 306 проверяется, пуста ли очередь сопоставлений. Если очередь сопоставлений пуста 307, то работа завершается (320). Если очередь не пустая, то из очереди выбирается 308 наиболее приоритетное сопоставление. Далее формируется 310 набор логических утверждений по правой части соответствующего правила. Далее сформированный набор логических утверждений добавляется в «мешок утверждений» 312. «Мешком утверждений» называется множество не противоречащих друг другу логических утверждений об информационных объектах и их свойствах. Логические утверждения не произвольны. Существует ограниченное число типов логических утверждений. В случае неудачи, сопоставление объявляется неверным 314, после чего снова проверяется очередь сопоставления на пустоту. Иначе в случае успеха, производится поиск новых сопоставлений 316. Новые сопоставления, если они найдены, добавляются в очередь. Далее снова переходим к шагу 306. Таким образом, происходит формирование (320) «Мешка утверждений», который представлен в некотором внутреннем формате. Далее формируется RDF граф.
[0052] В соответствии с концепцией RDF (Resource Definition Framework), которая является моделью представления данных, каждому информационному объекту, извлеченному из текстовых данных в процессе извлечения информации, описанном выше, приписывается уникальный идентификатор. А именно, вся извлеченная информация представляется в виде множества триплетов <s,p,o>, где s - идентификатор информационного объекта, р - идентификатор его свойства (предикат), о - значение данного свойства.
[0053] Пример реального RDF графа выглядит следующим образом:
Онтология
[0054] Все извлеченные из текстов RDF данные согласованы с моделью предметной области (онтологией), в рамках которой функционирует модуль извлечения информации. В рамках онтологии специфицируется то, какими свойствами (атрибутами) могут обладать информационные объекты, и то, какие объектные связи могут существовать между ними. Онтология представляет собой формальное явное описание некой предметной области. Основными компонентами онтологии являются концепты (или другими словами, классы), экземпляры, отношения, атрибуты. Концепты онтологии представляют собой формально описанное именованное множество экземпляров, обобщенных по какому-либо признаку. Примером концепта может быть множество всех людей, объединенных в концепт «Person» («Персона»). Концепты в онтологии объединены в таксономию, т.е. в иерархическую структуру. Экземпляр представляет собой конкретный объект или явление предметной области, которое входит в концепт. Например, экземпляр Yury Gagarin («Юрий Гагарин») входит в концепт «Person» («Персона»). Отношения - это формальные описания между концептами, которые фиксируют, какие связи могут быть установлены между экземплярами данных концептов.
[0055] Согласованность данных, порождаемых модулем извлечения информации, с моделью предметной области обеспечивается автоматически. С одной стороны, этому способствует синтаксис языка правил извлечения информации. С другой стороны, в систему встроены специальные механизмы валидации, не допускающие появления онтологически некорректных данных.
[0056] Кроме самого RDF-графа, согласованного с OWL-онтологией, сохраняется информация о связи выделенных информационных объектов с исходным текстом (аннотации или "подсветка" объектов). RDF-граф вместе с информацией об аннотациях информационных объектов мы будем в дальнейшем называть аннотированным RDF-графом.
[0057] Вернемся к Фиг. 1. После того, как RDF граф получен, запускается процесс синтеза текста. Можно отметить, что RDF граф может быть получен любым другим способом, отличным от описанного выше. Для полученного RDF графа генерируется текст, передающий смысл, заложенный в выделенных в процессе работы модуля извлечения информации фактах.
Структура модуля синтеза:
[0058] За создание текста на основе извлеченной информации, представленной в виде RDF графов, ответственен модуль синтеза текста.
[0059] Архитектура модуля синтеза текста позволяет использовать его универсально. А именно в модуле не кодируется явная зависимость от какого-либо естественного языка или факта, что позволяет при расширении онтологии, например, путем добавления пользовательской онтологии, или добавлении нового языка синтезировать текст без модификаций самого модуля синтеза текста.
[0060] Более того в модуль синтеза текста встроен фильтр синтезируемых фактов, что позволяет не синтезировать текст по некоторым извлеченным фактам, например, по некачественно извлеченным фактам. Кроме этого в модуле осуществляется ранжирование выдачи, благодаря которой более важные сгенерированные факты располагаются выше, а менее важные - ниже.
[0061] Для этого используемые онтологии пополняются для каждого информационного объекта (факта), по которому необходимо получить синтезированное предложение, новыми онтологическими объектами - шаблонами синтеза 145 (Фиг. 1). Шаблоны синтеза создаются заранее, до этапа анализа входных текстовых данных, предоставленных пользователем. Шаблоны создаются вручную для каждого типа информационных объектов (в рамках данного описания для каждого типа фактов, которые могут быть обнаружены в текстовых данных, предоставленных пользователем). Подробное описание создания шаблонов приведено ниже.
Создание шаблона
[0062] Синтез текста на основе извлеченных на этапе 130 информационных объектов (в конкретном примере, именно на основе извлеченных фактов) производится с использованием шаблонов 145. Шаблоны создаются вручную для каждого типа факта. Причем для каждого факта можно создать несколько шаблонов. Ниже приведено иллюстративное описание шаблона. Приведенное ниже иллюстративное описание шаблона не ограничивает область применения раскрываемого изобретения. [0063] В одной из реализаций описываемого изобретения шаблон включает в себя следующие компоненты:
- предложение на одном из естественных языков;
- указание на язык, на котором написано данное предложение;
- список замен, который имеет вид «часть предложения (в описываемом изобретении частью является слово предложения) из шаблона» - соответствующее ей «свойство». Чем больше список замен, тем более точным является шаблон.
- список необходимых свойств информационного объекта (согласно реализации описываемого изобретения - факта);
- скрипт-валидатор;
- указание на библиотеку, в которой хранится данный шаблон;
[0064] Предложение (далее, «предложение шаблона») на одном из естественных языков является основой шаблона. Именно на предложение шаблона ссылается список замен. Предложение шаблона далее используется при построении дерева синтеза текста.
[0065] Рассмотрим факт "Occupation" («Занятость»), который был извлечен из текста при помощи модуля извлечении информации. Данный факт отвечает за род занятий. В большинстве случаев факт "Occupation" («Занятость») можно формулировать в общем случае как: «Кто-то работает где-то кем-то». Например, предложением шаблоном для факта "Occupation" («Занятость») может служить предложение "Alexander works as а programmer at ABBYY" («Александр работает программистом в ABBYY»). Список замен для данного шаблона следующий:
- "Alexander" («Александр») - employee (работник);
- "programmer" («программистом») - position (должность);
- «ABBYY» - employer (работодатель),
где "Alexander" («Александр»), "programmer" («программистом»), «ABBYY» являются словами из предложения шаблона; «employee» (работник), «position» (должность), «employer» (работодатель) - соответствующие им свойства. Список замен для шаблона создается пользователем вручную. Чем больше список замен, тем точнее шаблон.
[0066] Помимо этого в шаблоне должны быть указаны те свойства из списка замен, которые являются необходимыми для заполнения извлеченного информационного объекта. Необходимые свойства накладывают следующее условие на использование шаблона: если одно из обязательных свойств шаблона не будет заполнено для извлеченного информационного объекта (факта), то данный шаблон использоваться при синтезе текста не будет. В список необходимых свойств шаблона из вышеупомянутого примера входят два свойства из трех возможных, а именно свойства «position» и «employee». Данные свойства должны быть заполнены у извлеченного факта, для того чтобы использовать вышеупомянутый шаблон "Alexander works as a programmer at ABBYY" («Александр работает программистом в ABBYY»). Необязательное свойство у извлеченного факта может оставаться незаполненным, при этом шаблон использоваться будет. Например, если в извлеченном факте не будет заполнено свойство «работодатель» (это свойство не входит в список обязательных свойств вышеупомянутого примера), то этот шаблон по-прежнему может быть использован при синтезе текста.
[0067] Скрипт-валидатор накладывает определенные ограничения, которые служат проверкой свойств у извлеченных фактов. Скрипт-валидатор в некой степени участвует в фильтрации фактов, на основе которых может производиться синтез. В качестве скрипта-валидатора здесь может быть использован скрипт (условия) проверки того, что свойство «employee» (работник) у извлеченного факта является именованным, т.е. именем собственным. Это позволяет фильтровать «мусорные» (ошибочно выделенные из текста) факты. Например, если скрипт-валидатором не будет наложено условие, что свойство «employee» (работник) у извлеченного факта является именованным, то при синтезе текста может быть получено следующее предложение - "Programmer works as a programmer", («Программист работает программистом»), которое является бессмысленным.
Компиляция шаблона:
[0068] Для того чтобы в качестве шаблона использовать предложение на естественном языке запускается процесс компиляции шаблона. Фиг. 5А иллюстрирует процедуру компиляции шаблона. Частью компиляции шаблона является семантико-синтаксический анализ 5010, в результате которого создается семантико-синтаксическое дерево 5015, на основе которого будет проводиться в дальнейшем синтез текста. Семантико-синтаксический анализ описан на Фиг. 2. Узлами семантико-синтаксического дерева являются слова из предложения, узлы привязаны к некоторому лексическому классу из Семантической Иерархии (СИ). Помимо этого узлы содержат грамматическую и семантическую информацию о языке (наборы граммем и семантем), характеризующую конкретное употребление соответствующего слова в контексте предложения. Дуги семантико-синтаксических деревьев отражают глубинные позиции (т.е. семантической роли зависимого слова, например Agent) и поверхностные позиции (т.е. синтаксической функции зависимого слова, например $Subject). На Фиг. 4А_ проиллюстрировано семантико-синтаксическое дерево предложения шаблона "Alexander works as a programmer at ABBYY" («Александр работает программистом в ABBYY»). Узлами дерева являются слова из предложения.
[0069] После того как семантико-синтаксическое дерево для предложения из шаблона построено, происходит сопоставление узлам семантико-синтаксического дерева свойств из списка замен шаблона 5020. Сопоставление происходит автоматически. В семантико-синтаксическом дереве ищутся составляющие (узлы), соответствующие словам, указанным в списке замен для шаблона. К данным составляющим (узлам) семантико-синтаксического дерева привязываются указанные в списке замен свойства. Например, узлу Alexander («Александр») в семантико-синтаксическом дереве на Фиг. 4А привязывается свойство «employee» (работник), узлу "programmer" («программистом») - свойство «position» (должность), узлу «ABBYY» - свойство «employer» (работодатель). Формат списка замен теперь изменяется, свойства привязываются не к словам из предложения шаблона, а к месту в глубинной структуре (к узлу семантико-синтаксического дерева) данного предложения. Формат списка замен теперь имеет вид: «место в глубинной структуре» предложения шаблона - соответствующее ему «свойство» 5025.
[0070] Результаты компиляции созданного шаблона, а именно семантико-си