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

Иллюстрации

Показать все

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

Реферат

Область техники

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

Уровень техники

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

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

Раскрытие изобретения

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

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

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

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

[0008] В некоторых аспектах первое определение элементов пользовательского словаря содержит идентификатор родительского семантического класса, а часть пользовательского текста соответствует семантико-синтаксическим данным из структуры родительского семантического класса, определяемого идентификатором родительского семантического класса. В некоторых аспектах структура родительского семантического класса входит в состав основного семантического словаря. В некоторых аспектах первое определение элементов пользовательского словаря содержит синтаксическую парадигму, соотнесенную с данным элементом пользовательского словаря, семантико-синтаксические данные содержат данную синтаксическую парадигму, а часть пользовательского текста соответствует данной синтаксической парадигме. В некоторых аспектах первое определение элементов пользовательского словаря содержит строку текста на естественном языке, соотнесенную с элементом пользовательского словаря, семантико-синтаксические данные содержат данную строку текста на естественном языке, а часть пользовательского текста соответствует данной строке текста на естественном языке. В некоторых аспектах первая структура семантического словаря является временной пользовательской структурой или структурой пользовательского лексического класса, а создание первого определения элементов пользовательского словаря включает в себя семантико-синтаксический анализ данной строки текста на естественном языке. В некоторых аспектах первое определение элементов пользовательского словаря содержит идентификатор пользовательского онтологического объекта. В некоторых аспектах первое определение элементов пользовательского словаря формируется на основе определения пользовательского онтологического объекта. Некоторые аспекты далее включают получение второго определения элементов пользовательского словаря, соотнесенного с пользовательским онтологическим объектом, а созданный пользовательский семантический словарь включает: вторую структуру семантического словаря, содержащую идентификатор пользовательского онтологического объекта.

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

Краткое описание чертежей

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

[0011] На Фиг. 1А иллюстрируется типовой способ создания и использования пользовательской онтологической модели и пользовательского семантического словаря в соответствии с одним из типовых аспектов изобретения.

[0012] На Фиг. 1В иллюстрируется пример иерархической структуры в основной онтологии в соответствии с одним из типовых аспектов изобретения.

[0013] На Фиг. 1С иллюстрируется процесс компиляции определения пользовательской онтологии в рамках существующей основной онтологической модели для получения пользовательской онтологической модели в соответствии с одним из типовых аспектов изобретения.

[0014] На Фиг. 1D иллюстрируется типичный способ создания пользовательского семантического словаря в соответствии с одним из типовых аспектов изобретения.

[0015] На Фиг. 2 иллюстрируется типовой способ выполнения семантико-синтаксического анализа в соответствии с одним из типовых аспектов изобретения.

[0016] На Фиг. 3 иллюстрируется типовой способ использования пользовательской онтологической модели в соответствии с одним из типовых аспектов изобретения.

[0017] На Фиг. 4 иллюстрируется пример языковых описаний в соответствии с одним из типовых аспектов изобретения.

[0018] На Фиг. 5 иллюстрируется пример морфологических описаний в соответствии с одним из типовых аспектов изобретения.

[0019] На Фиг. 6 иллюстрируется пример синтаксических описаний в соответствии с одним из типовых аспектов изобретения.

[0020] На Фиг. 7 иллюстрируется пример семантических описаний в соответствии с одним из типовых аспектов изобретения.

[0021] На Фиг. 8 иллюстрируется пример лексических описаний в соответствии с одним из типовых аспектов изобретения.

[0022] На Фиг. 9 иллюстрируется типовой способ глубинного анализа предложения в соответствии с одним из типовых аспектов изобретения.

[0023] На Фиг. 10А иллюстрируется семантико-синтаксическая структура предложения, полученная в результате семантико-синтаксического анализа, в соответствии с одним из типовых аспектов изобретения.

[0024] На Фиг. 10В иллюстрируется семантико-синтаксическая структура предложения, полученная в результате семантико-синтаксического анализа, в соответствии с одним из типовых аспектов изобретения.

[0025] На Фиг. 11А, 11В иллюстрируются результаты работы модуля извлечения информации без использования пользовательской онтологической модели и пользовательского семантического словаря на примере предложения «Takayama does а part-time job for IBM».

[0026] На Фиг. 12А, 12В иллюстрируются результаты работы модуля извлечения информации с использованием пользовательской онтологической модели и пользовательского семантического словаря на примере предложения «Takayama does а part-time job for IBM».

[0027] На Фиг. 13 иллюстрируется пример компьютерной системы, такой как сервер или персональный компьютер, подходящей для осуществления систем и способов настоящего изобретения, в соответствии с типовыми аспектами изобретения.

[0028] На Фиг. 14 иллюстрируется схема типовой системы для создания и использования пользовательской онтологической модели и пользовательского семантического словаря для обработки предоставленного пользователем текста на естественном языке.

[0029] На Фиг. 15 показан типовой способ создания и использования пользовательской онтологической модели и пользовательского семантического словаря для обработки предоставленного пользователем текста на естественном языке.

[0030] На Фиг. 16 иллюстрируется схема потоков данных по типовому способу создания и использования пользовательской онтологической модели для обработки предоставленного пользователем текста на естественном языке.

[0031] На Фиг. 17 иллюстрируется схема потоков данных по типовому способу создания и использования пользовательского семантического словаря для обработки предоставленного пользователем текста на естественном языке.

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

Описание предпочтительных вариантов реализации

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

[0034] Онтология представляет собой формальное явное описание некой предметной области. Основными компонентами онтологии являются концепты (или другими словами, классы), экземпляры, отношения, атрибуты. Концепты онтологии представляют собой формально описанное номинативное множество экземпляров, обобщенных по какому-либо признаку. Примером концепта является множество персон, входящих в концепт «Person» («Персона»). Концепты в онтологии объединены в таксономию, т.е. в иерархическую структуру. Экземпляр представляет собой конкретный объект или явление предметной области, которое входит в концепт. Например, экземпляр Yury_Gagarin («Юрий Гагарин») входит в концепт «Person» («Персона»). Отношения - это формальные описания между концептами, которые обуславливают то, какие связи могут быть установлены между экземплярами данных концептов. Помимо этого экземпляры имеют функции или свойства.

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

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

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

[0038] Целью создания пользовательских онтологий (которые затем компилируются в пользовательские онтологические модели) является пополнение основных онтологий (которые компилируются в основные онтологические модели) пользовательскими концептами и экземплярами, отсутствующими в основных онтологиях. Это связано с тем, что пользовательские онтологические объекты (а именно пользовательские концепты и экземпляры) зачастую уникальны и специфичны для конкретной области знаний и, следовательно, могут быть недоступны через открытые источники информации. Примерами пользовательских онтологических объектов являются названия компаний в некой области, имена сотрудников некой компании, названия продуктов, выпускаемой данной компанией и т.д. В результате, уникальные и специфичные онтологические объекты могут отсутствовать в основных онтологиях, и, если данная информация не будет предоставлена непосредственно конечным пользователем, данные концепты и экземпляры не могут быть включены в основные онтологии. Однако, несмотря на эти недостатки, зачастую возникает необходимость обработки текстовых данных, содержащих информацию о вышеупомянутых объектах. Поэтому создание способа, позволяющего любому пользователю создавать пользовательскую онтологическую модель в зависимости от поставленных перед ним задач, является важным аспектом в области обработки неструктурированной текстовой информации.

[0039] Создание пользовательской онтологической модели способствует повышению точности обработки текстовых данных на естественном языке, а именно повышению точности семантико-синтаксического анализа текста и работы алгоритма и системы для извлечения информации (фактов, сущностей).

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

[0041] Основные принципы семантико-синтаксического анализа на базе лингвистических описаний приведены в патенте США №8,078,450, и данные принципы лежат в основе данного изобретения и полностью включены в настоящее описание изобретения посредством ссылки. Так как такой анализ основан на использовании независимых от языка семантических единиц, настоящий типовой аспект также не зависит от языка и применим к одному или нескольким естественным языкам.

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

[0043] На Фиг. 1А иллюстрируется типовой способ создания пользовательской онтологической модели в соответствии с одним из типовых аспектов изобретения. Данный способ представляет собой превентивное использование. Превентивное использование в данном контексте означает, что пользователь может заранее знать, какая информация может содержаться в текстовых данных и, следовательно, знать, какие информационные объекты могут быть извлечены из этих текстовых данных 109 (коллекций/корпусов текстов) в процессе глубинного семантико-синтаксического анализа 111 и в процессе извлечения информации 113, которые будут более подробно описаны ниже. Информацией в данном контексте могут быть сущности и явления реального мира, а именно персоны, организации, местоположения и т.д., а также связанные с ними факты.

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

[0045] Согласно Фиг. 1А, на этапе 101 пользователь может предоставить описание (описания) пользовательской онтологии, которое включает в себя информацию, которая по мнению пользователя может содержаться в коллекции (корпусе) текстов 109 и которая после глубинного семантико-синтаксического анализа (111) может быть извлечена из данной коллекции (корпуса) текстов 109 с помощью модуля извлечения информации 113. В число извлеченных информационных объектов (115), таких как извлеченные по онтологическим правилам (правилам извлечения) сущности и факты, входят информационные объекты, основанные на онтологических объектах, определенных пользователем при создании пользовательской онтологии (101). Данные информационные объекты не были бы извлечены из текстов 109, если бы не использовались пользовательские онтологические модели, так как соответствующий класс (семантический класс, лексический класс или термин) отсутствовал бы в семантическом словаре и правила извлечения не позволили бы установить, какой класс следует использовать. Так, в предложении "Takayama does a part-time job for IBM" система может не дать определение слову "Takayama" (без пользовательского семантического словаря и пользовательской онтологической модели) ввиду его уникальности либо, в ином случае, может отнести его либо к персонам, либо к организациям, при этом правила извлечения не позволят определить, что имеется в виду, если такая информация не будет предоставлена пользователю через пользовательские онтологические определения.

[0046] Как было упомянуто выше, определение пользовательской онтологии 101 может включать информацию следующего содержания: списки городов определенного региона, списки сотрудников определенной компании и так далее. Определение пользовательской онтологии может вноситься в виде подготовленного пользователем файла предустановленного формата (например, файл в формате .txt) либо создаваться автоматически на основе данных, собранных из различных источников и (или) введенных пользователем через программу с пользовательским интерфейсом. Определение пользовательской онтологии (101) может содержать определение пользовательского онтологического экземпляра (-ров) или пользовательского онтологического концепта (-ов). Данный файл с определением пользовательской онтологии (101) вводится в компилятор (103). Формат представления информации пользователем в определении пользовательской онтологии 101 дает возможность расширять уже существующие в системе основные онтологии и добавлять в основные онтологии пользовательские концепты и экземпляры. Структура основных онтологий будет представлена ниже.

[0047] Основные онтологии (Фиг. 1С 1200, Фиг. 1В, 1200) вместе с онтологическими правилами (131, Фиг. 1С) формируют основную онтологическую модель 108, которая является формализованным представлением определенной предметной области. В рамках настоящего раскрытия изобретения термин "онтологическая модель" означает сочетание онтологии и онтологических правил. Онтология включает формальное описание элементарных (неделимых) единиц предметной области (экземпляров), формальное описание различных объединений (концептов/классов) экземпляров и формальное описание отношений между экземплярами. Согласно предлагаемым типовым аспектам основные онтологии объединяются в иерархическую систему онтологий. Так, на Фиг. 1В иллюстрируются основные онтологии Basic Entity (Основная Сущность) (121), Basic Fact (Основной факт) (122), Economic Crisis (Экономический Кризис) (123), Economics (Экономика) (124), Finance (Финансы) (125), Geo (География) (126), Jurisprudence (Юриспруденция) (127), Military (Армия) (128), Org (Организация) (129) и т.д., которые наследуются от онтологии Basic (Основная) (120). Приведенный перечень существующих базовых онтологий не является исчерпывающим. Данный перечень основных онтологий носит иллюстративный характер и не ограничивает область данных типовых аспектов. При наследовании концепты, экземпляры и отношения, принадлежащие родительской онтологии Basic (Основная) (120), также принадлежат и онтологиям-потомкам.

[0048] Концепт (другими словами, класс) является элементом онтологии, который отражает то или иное понятие предметной области. Множество экземпляров (элементы онтологии нижнего уровня) объединяется в один концепт. Например, все экземпляры, соответствующие персонам, объединяются в концепт «Person» («Персона»). Каждому концепту в онтологии соответствует группа отношений, областью которых является данный концепт. Эта группа отношений определяет то, какие связи может иметь экземпляр данного концепта. Кроме того, с этим концептом связывается группа простых ограничений и группа родительских концептов. Все это также определяет, какими могут быть экземпляры данного концепта.

[0049] Все концепты в онтологии могут быть представлены в виде древовидной структуры, в которой более «толстые ветки» представляют общие понятия, а более «тонкие» - узкие понятия. Например, толстая ветвь "Организации" ("Organizations") разделяется на более тонкие: "Коммерческие организации" ("Commercial organizations"), "Правительственные организации" ("Governmental organizations ") и т.д. Помимо этого в описываемой структуре концептов может допускаться множественное наследование. Например, «Коммерческие организации» ("Commercial organizations") являются подконцептом концепта «Организации» и подконцептом концепта «Объекты купли-продажи» одновременно. Концепты могут образовывать не древовидную структуру, а граф более общего вида, в котором может быть несколько корневых вершин, что означает, что граф не обязательно является связным, т.е. является ориентированным ациклическим графом.

[0050] Экземпляр является компонентом онтологии нижнего уровня, членом группы конкретных представителей концепта. Так, например, концепт "Season" ("Сезон") имеет 4 экземпляра: "Spring" ("Весна"), "Summer" ("Лето"), "Autumn" ("Осень") и "Winter" (Зима"). Экземпляры создаются для пополнения базы знаний о предметной области. Каждый экземпляр относится к одному единственному концепту. Каждый экземпляр соотносится с группой связей. Согласно предлагаемым типовым аспектам в онтологии может храниться следующая информация об экземпляре: идентификатор онтологии, к которой относится экземпляр, уникальный идентификатор внутри онтологии, имя (на различных языках), список концептов, к которым относится экземпляр, именованные связи с другими экземплярами и свойства (значения строковых свойств могут быть представлены на различных естественных языках). Вышеупомянутое описание организации онтологии распространяется как на основные онтологии, так и на пользовательские онтологии, которые будут включаться в состав существующих основных онтологий.

[0051] На Фиг. 1С более детально иллюстрируется процесс компиляции описания пользовательской онтологии (101). Как уже было упомянуто выше, существуют основные онтологии (Basic Entity (Основная Сущность) (121), Basic Fact (Основной факт) (122), Economic Crisis (Экономический Кризис) (123), Economics (Экономика) (124), Finance (Финансы) (125), Geo (Гео) (126), Jurisprudence (Юриспруденция) (127), Military (Армия) (128), Org (Организация) (129), и т.д.), которые объединены в иерархическую структуру. Данные онтологии совместно с определенными онтологическими правилами (131) составляют основную онтологическую модель (108), которая используются в работе модуля извлечения информации (113). Основная онтологическая модель (108) создается путем компиляции основных онтологии (1200) с библиотеками онтологических правил (131). Далее в рамках скомпилированной основной онтологической модели (108) происходит компиляция (103) описания пользовательской онтологии (101). В результате создается пользовательская онтологическая модель (107), которая наряду с основной онтологической моделью может использоваться модулем извлечения информации. Скомпилированная пользовательская онтологическая модель может включать структуры пользовательских экземпляров и структуры пользовательских концептов, которые хранятся в памяти и дают информацию о созданных пользовательских экземплярах и пользовательских концептах. Структура пользовательского экземпляра и структура пользовательского концепта создаются на основе определения пользовательской онтологии (101). Каждый из созданных пользовательских экземпляров и пользовательских концептов может иметь уникальные идентификаторы. Скомпилированной пользовательской онтологической модели (107) может быть присвоено имя, с помощью которого может осуществляться обращение к данной онтологической модели. В одном из аспектов основная и пользовательская онтологические модели формируют расширенную онтологическую модель, однако основная онтологическая модель может использоваться независимо от пользовательской онтологической модели.

[0052] Вернемся к Фиг. 1А и 1В, на которых демонстрируется компиляция описания пользовательской онтологии (101). Формат представления информации пользователем в определении пользовательской онтологии 101 позволяет при введении нового пользовательского онтологического объекта (который в зависимости от целей пользователя может быть как пользовательским экземпляром, так и пользовательским концептом) указать, к какому уже существующему концепту основной или пользовательской онтологии (1200) будет отнесен новый онтологический объект, имя данного пользовательского онтологического объекта, а также текстовую строку, из которой данный объект может быть извлечен.

[0053] Ниже представлен один из возможных примеров такого формата. Примеры формата внесения информации в определение пользовательской онтологии (101) носят демонстративный характер и не ограничивают область возможных аспектов. Так, например, запись

Geo: InhabitedLocality, northern_Kachin_IndividualName, northern Kachin

Указывает на то, что необходимо создать пользовательский экземпляр с именем northern_Kachin_IndividualName (северный_Качин_ИндивидуальноеИмя), который является потомком существующего концепта InhabitedLocality (НаселенныйПункт) в рамках основной онтологии Geo (География) (126, Фиг. 1В), где InhabitedLocality - это название концепта в основной онтологии Geo, который включает в себя населенные пункты: города, деревни, поселки, станицы, хутора и т.д. Помимо этого, строка на естественном языке указывает на словосочетание, из которого должен извлекаться пользовательский экземпляр: northern_Kachin_IndividualName - "northern Kachin (северный Качин)". После компиляции (103) данной записи в описании пользовательской онтологии (101), в результате чего создается пользовательский экземпляр northern_Kachin_IndividualName, который является потомком существующего концепта InhabitedLocality в основной онтологии Geo, в тексте «John works in northern Kachin» (Джон работает в северном Качине), объект northern_Kachin_IndividualName на этапе 113 будет извлечен в качестве местоположения.

[0054] Например, пользователь хочет извлечь из текста организацию, известную под названием "Bloomberg", упоминание которой встречается в предложении: "Bloomberg, the global business and financial information and news leader, gives influential decision makers a critical edge by connecting them to a dynamic network of information, people and ideas" (Bloomberg, глобальная организация и лидер в области финансовой информации и новостей, обеспечивает влиятельных лиц, принимающих решения, критической линией, связывающей их в динамическую сеть информации, людей и идей.). Для этого запись в файле, содержащая определение пользовательской онтологии, может быть следующей:

Org: Organization, Bloomberg_IndividualName, "Bloomberg"

Данная запись указывает на то, что необходимо создать пользовательский экземпляр Bloomberg_IndividualName, который должен быть подключен в основную онтологию Org (129, Фиг. 1В), хранящую в себе информацию о всех видах организации, в качестве потомка концепта Organization (Организация), где Organization - это название концепта в основной онтологии Org, который включает в себя долговременные структурированные объединения людей. Строкой на естественном языке, указывающей на текстовое словосочетание, из которого должен извлекаться пользовательский экземпляр, является: "Bloomberg". После компиляции (103) данной записи в определении пользовательской онтологии (101), в исходном предложении объект Bloomberg_IndividualName на этапе 113 будет извлечен в качестве организации.

[0055] В случае если одно и то же наименование может относиться к различным объектам (например, и к персоне и к географическому объекту), необходимо внести в определение пользовательской онтологии (101) все возможные варианты, указав, каким существующим концептам основной онтологии (-ий) принадлежат данные пользовательские экземпляры. Например, пользователь хочет извлечь из текста персону "Takayama". Упоминание персоны "Takayama" встречается в английском предложении "Takayama is a Japanese professional boxer who is the current mini flyweight champion." (Такаяма - японский боксер-профессионал, являющийся действующим чемпионом в минимальной весовой категории.). Соответственно запись в txt-файле может быть следующей:

Be: Person, Takayama_IndividualName, "Takayama"

Данная запись указывает на то, что необходимо создать пользовательский экземпляр с именем Takayama_IndividualName (Такаяма_ИндивидуальноеИмя), который должен быть подключен в основную онтологию Basic Entity (Основная Сущность) (121, Фиг. 1В), хранящую в себе информацию об основных сущностях, в качестве потомка концепта Person (Персона) (который включает в себя персоны) в основной онтологии BasicEntity (ОсновнаяСущность). Строкой на естественном языке, указывающей на текстовое словосочетание, из которого должен извлекаться данный пользовательский объект, является: "Takayama". После компиляции (103) данной записи в определении пользовательской модели (101), в предложении на этапе 113 информационный объект Takayama_IndividualName будет извлечен в качестве персоны.

[0056] Возможна ситуация, в которой помимо персоны, пользователь хочет выделять местоположение "Takayama". Упоминание местоположения "Takayama" встречается в английском предложении "Takayama is a city located in Gifu Prefecture, Japan."(Такаяма - город в Японии, находящийся в префектуре Гифу). Запись в файле описания пользовательской онтологии может быть следующей:

Geo: InhabitedLocality, Takayama_IndividualName, 'Takayama"

Данная запись указывает на то, что необходимо создать пользовательский экземпляр с именем Takayama_IndividualName (Такаяма_ИндивидуальноеИмя) который должен быть включен в основную онтологию Geo Фиг. 1В) в качестве потомка концепта InhabitedLocality (НаселенныйПункт). Строкой на естественном языке, указывающей на текстовое словосочетание, из которого должен извлекаться пользовательский, является: "Takayama". После компиляции (103) данной записи в определении пользовательской модели (101) в предложении объект Takayama_IndividualName на этапе 113 будет извлекаться в качестве местоположения (локации).

[0057] Помимо создания пользовательских экземпляров, которые являются наследниками концептов основной онтологии (1200, Фиг. 1С), пользователь имеет возможность создавать пользовательские концепты, которые являются наследник