ИЗВЛЕЧЕНИЕ ИНФОРМАЦИИ ИЗ СМЫСЛОВЫХ БЛОКОВ ДОКУМЕНТОВ С ИСПОЛЬЗОВАНИЕМ МИКРОМОДЕЛЕЙ НА БАЗЕ ОНТОЛОГИИ
EXTRACTION OF INFORMATION FROM SANITARY BLOCKS OF DOCUMENTS USING MICROMODELS ON BASIS OF ONTOLOGY

ОБЛАСТЬ ИЗОБРЕТЕНИЯ
[0001] Настоящее изобретение в целом относится к обработке текстов на естественном языке, а в частности - к извлечению информации из смысловых блоков документов с использованием микромоделей на базе онтологии.
УРОВЕНЬ ТЕХНИКИ
[0002] Извлечение информации может предусматривать анализ текста на естественном языке с целью выявления информационных объектов, - к примеру, именованных сущностей, - и отношений между выявленными именованными сущностями и другими информационными объектами.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0003] В соответствии с одним или более вариантами реализации настоящего изобретения, пример способа извлечения информации из смысловых блоков документов с использованием микромоделей на базе онтологии может включать: идентификацию в тексте на естественном языке смыслового блока, относящегося к заданной категории; выполнение лексического анализа множества слов смыслового блока текста на естественном языке с целью построения множества лексических структур, содержащих информацию о лексических значениях слов и соответствующих семантических классах, представляющих смысловой блок текста на естественном языке; идентификацию микромодели для извлечения информации, относящейся к заданной категории, при этом микромодель для извлечения информации включает множество продукционных правил, связанных с онтологией; а также применение продукционных правил идентифицированной микромодели с целью извлечения информационных объектов, каждый из которых связан с соответствующим семантическим классом, соответствующим концепту онтологии.
[0004] В соответствии с одним или более вариантами реализации настоящего изобретения, пример системы для извлечения информации из смысловых блоков документов с использованием микромоделей на базе онтологии может включать память и процессор, соединенный с памятью, настроенный на выполнение следующих операций: идентификацию в тексте на естественном языке смыслового блока, относящегося к заданной категории; выполнение лексического анализа множества слов смыслового блока текста на естественном языке с целью построения множества лексических структур, содержащих информацию о лексических значениях слов и соответствующих этим словам семантических классах, представляющих смысловой блок текста на естественном языке; идентификацию микромодели для извлечения информации, относящейся к заданной категории, при этом микромодель для извлечения информации включает множество продукционных правил, связанных с онтологией; а также применение продукционных правил идентифицированной микромодели с целью извлечения информационных объектов, каждый из которых связан с соответствующим семантическим классом, соответствующим концепту онтологии.
[0005] В соответствии с одним или более вариантами реализации настоящего изобретения, пример постоянного машиночитаемого носителя данных может включать исполняемые команды, обеспечивающие выполнение вычислительной системой следующих операций: идентификацию в тексте на естественном языке смыслового блока, относящегося к заданной категории; выполнение лексического анализа множества слов смыслового блока текста на естественном языке с целью создания множества лексических структур, содержащих информацию о лексических значениях слов и соответствующих этим словам семантических классах, представляющих смысловой блок текста на естественном языке; идентификацию микромодели для извлечения информации, относящейся к заданной категории, при этом микромодель для извлечения информации включает множество продукционных правил, связанных с онтологией; а также применение продукционных правил идентифицированной микромодели с целью извлечения информационных объектов, каждый из которых связан с соответствующим семантическим классом, соответствующим концепту онтологии.
[0006] Технический результат от внедрения изобретения состоит в повышении скорости и качества извлечения информации за счет использования микромоделей онтологии для отдельных частей документа.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0007] Настоящее изобретение иллюстрируется с помощью примеров, а не методом ограничения, его можно лучше понять при рассмотрении приведенного ниже подробного описания в сочетании с чертежами, на которых:
[0008] На Фиг. 1 изображена блок-схема взятого в качестве примера способа извлечения информации из смысловых блоков документа с использованием микромоделей на базе онтологии в соответствии с одним или более вариантами реализации настоящего изобретения;
[0009] На Фиг. 2 приведена блок-схема одного описанного в иллюстративном примере способа выполнения семантико-синтаксического анализа предложения на естественном языке в соответствии с одним или более вариантами реализации настоящего изобретения.
[00010] На Фиг. 3 схематически показан пример лексико-морфологической структуры предложения в соответствии с одним или более вариантами реализации настоящего изобретения.
[00011] На Фиг. 4 схематически показаны языковые описания, представляющие модель естественного языка в соответствии с одним или более вариантами реализации настоящего изобретения.
[00012] На Фиг. 5 схематически показаны примеры морфологических описаний в соответствии с одним или более вариантами реализации настоящего изобретения.
[00013] На Фиг. 6 схематически показаны примеры синтаксических описаний в соответствии с одним или более вариантами реализации настоящего изобретения.
[00014] На Фиг. 7 схематически показаны примеры семантических описаний в соответствии с одним или более вариантами реализации настоящего изобретения.
[00015] На Фиг. 8 схематически показаны примеры лексических описаний в соответствии с одним или более вариантами реализации настоящего изобретения.
[00016] На Фиг. 9 схематически показаны примеры структур данных, которые могут использоваться на практике при воплощении одного или более способов в соответствии с одним или более вариантами реализации настоящего изобретения.
[00017] На Фиг. 10 схематически показан пример графа обобщенных составляющих в соответствии с одним или более вариантами реализации настоящего изобретения.
[00018] На Фиг. 11 дан пример синтаксической структуры, соответствующей предложению, приведенному в качестве примера на Фиг. 10.
[00019] На Фиг. 12 изображена одна из семантических структур, соответствующих синтаксической структуре, представленной на Фиг. 11.
[00020] На Фиг. 13 изображена схема описанной в примере вычислительной системы, в которой реализованы способы, изложенные в настоящем описании изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
[00021] В настоящем документе описываются способы и системы для извлечения информации из смысловых блоков документа с использованием микромоделей на базе онтологии. «Смысловыми блоками» в настоящем изобретении называются части документа, относящиеся к определенной теме и/или описывающие определенные вопросы или проблемы, и/или имеющие определенные семантические связи между информационными объектами таких частей документа. Описанные в настоящем документе системы и способы могут быть использованы в разнообразных приложениях обработки естественного языка, включая информационный поиск, извлечение информации, машинный перевод, семантическую индексацию, семантический поиск (включая многоязычный семантический поиск), классификацию или кластеризацию документов, фильтрацию текстов, электронные исследования и др.
[00022] Примеры извлечения информации включают извлечение сущностей и извлечение фактов. Распознавание именованных сущностей (NER) представляет собой задачу по извлечению информации, в ходе выполнения которой производится определение токенов в тексте на естественном языке и классификация их по заранее определенным категориям, таким как имена людей, названия организаций, географические названия, представление времени, количества, денежные суммы, проценты и т.д. «Извлечение фактов» представляет собой задачу извлечения информации, с помощью которой выявляются связи между извлеченными информационными объектами (сущностями). Примерами таких связей могут быть работа лица X в организации Y, расположение объекта А в географической точке В, приобретение организацией N организации М и т.д.
[00023] Информационный объект может представлять собой объект реального мира (к примеру, лицо или предмет) и/или определенную характеристику, связанную с одним или более объектами реального мира (к примеру, измеримый атрибут или качественную характеристику). Извлеченные именованные сущности, иные информационные объекты и их связи могут быть представлены концептами заданной или динамически выстраиваемой онтологии. В контексте настоящего изобретения «онтология» - это иерархическая модель, представляющая концепты (например, классы информационных объектов), относящиеся к определенной области знаний (теме) и связи между такими концептами и/или связанными информационными объектами. Онтология также может уточнять некоторые атрибуты, связанные с каждым концептом соответствующих информационных объектов.
[00024] В некоторых вариантах реализации при выполнении задач извлечения информации может применяться множество продукционных правил, связанных с определенной онтологией. Продукционные правила могут интерпретировать лексические и/или семантические структуры, представляющие текст на естественном языке, и давать в результате определения информационных объектов и их связей, что описано более подробно ниже в настоящем документе. Множество продукционных правил и связанная онтология в настоящем документе называются «модель извлечения информации на базе онтологии».
[00025] Эффективность процесса извлечения может быть повышена за счет применения моделей извлечения информации на базе онтологии, учитывающих классификацию и структуру документа. По результатам классификации документ может быть отнесен к одной или более категорий с учетом содержимого и/или структуры документа. Структура документа может определять части документа, их порядок, внутреннюю структуру и т.д. В иллюстративном примере все документы, относящиеся к категории «договоры», будут включать определения сторон по договору, даты вступления договора в силу, существенных условий, применимого законодательства и юрисдикции.
[00026] В соответствии с одним или более вариантами реализации настоящего изобретения, извлечению информации может способствовать применение моделей, специфичных для конкретной части документа, или микромоделей. Такая микромодель может включать в себя онтологию и множество продукционных правил, специально предназначенных для обработки определенного смыслового блока документа на естественном языке, что описано более подробно ниже в настоящем документе. Технический результат от внедрения изобретения состоит в повышении скорости и качества извлечения информации за счет использования микромоделей онтологии для отдельных частей документа.
[00027] Системы и способы, представленные в настоящем документе, могут быть реализованы аппаратно (например, с помощью универсальных и/или специализированных устройств обработки и/или иных устройств и соответствующих электронных схем), программно (например, с помощью команд, выполняемых устройством обработки) или сочетанием этих подходов. Различные варианты реализации упомянутых выше способов и систем подробно описаны ниже в этом документе на примерах, без каких бы то ни было ограничений.
[00028] На Фиг. 1 изображена блок-схема взятого в качестве примера способа извлечения информации из смысловых блоков документа с использованием микромоделей на базе онтологии в соответствии с одним или более вариантами реализации настоящего изобретения. Метод 100 и/или каждая из его отдельных функций, процедур, подпрограмм или операций может быть реализована с помощью одного или более процессоров вычислительной системы (например, вычислительной системы 100 на Фиг. 1), в которой реализован этот способ. В некоторых вариантах реализации способ 100 может осуществляться в одном потоке обработки. При альтернативном подходе способ 100 может осуществляться с использованием двух или более потоков обработки, при этом в каждом потоке реализована одна или несколько отдельных функций, процедур, подпрограмм или действий этого способа. В одном из иллюстративных примеров потоки обработки, в которых реализован способ 100, могут быть синхронизированы (например, с использованием семафоров, критических секций и/или других механизмов синхронизации потоков). При альтернативном подходе потоки обработки, в которых реализован способ 100, могут выполняться асинхронно по отношению друг к другу. Таким образом, несмотря на то, что Фиг. 1 и соответствующее описание содержат список операций для способа 100 в определенном порядке, в различных вариантах осуществления способа, как минимум, некоторые из описанных операций могут выполняться параллельно и/или в случайно выбранном порядке.
[00029] На шаге 110 вычислительная система, осуществляющая способ 100, может получать один или более исходных документов, содержащих текст на естественном языке 101. В различных иллюстративных примерах текст на естественном языке, подлежащий обработке способом 100, может извлекаться из одного или более электронных документов, которые могут создаваться путем сканирования (или другим способом получения изображений бумажных документов) и оптического распознавания символов (OCR), для формирования текстов на естественном языке. Текст на естественном языке также может извлекаться из других различных источников, включая сообщения, отправляемые по электронной почте, тексты из социальных сетей, файлы с цифровым содержимым, обработанные с использованием способов распознавания речи и т.д.
[00030] На шаге 120 вычислительная система может выявить один или более смысловых блоков в каждом из одного или более исходных документов на естественном языке. Смысловой блок может содержать одно или более семантически связанных слов и/или предложений на естественном языке, которые, как вариант, могут быть отделены от другого смыслового блока определенными элементами форматирования. Термин «смысловой» в настоящем документе используется для подчеркивания того факта, что используемое в настоящем изобретении понятие части документа не обязательно может опираться на физическую структуру документа, форматирование и т.д., и может основываться только на определенных семантических связях подчиненных информационных объектов. В различных иллюстративных примерах смысловой блок может быть представлен «шапкой» документа, сторонами договора, существенными условиями договора, применимым законодательством и юрисдикцией, обязательной статьей об арбитраже, датой вступления в силу и подписями сторон.
[00031] В иллюстративном примере один или более смысловых блоков документа могут быть идентифицированы за счет идентификации в документе одного или более заданных слов, пунктуаторов, предложений или групп предложений, особенностей форматирования (например, размер шрифта, верхний или нижний колонтитул документа, визуальный разделитель, разрыв страницы и т.д.), и/или их сочетания. В другом иллюстративном примере идентификацию одного или более смысловых блоков может выполнять пользователь через графический интерфейс пользователя (GUI). В другом иллюстративном примере вводимые пользователем через графический интерфейс пользователя данные могут быть применены для валидации автоматически выполняемой идентификации смысловых блоков исходного документа.
[00032] В некоторых вариантах реализации один или более смысловых блоков документа могут быть идентифицированы с помощью модели классификатора, основанной на оценке множества признаков каждого блока документа (например, частотность определенных слов,, пунктуаторов, предложений, особенностей форматирования и/или их сочетание). Такая модель классификатора может быть создана методами машинного обучения, которые могут подразумевать установление значений определенных параметров модели классификатора, исходя из существовавшего ранее или динамически создаваемого набора данных, сопоставляющего определенные признаки смысловых блоков документа с соответствующими категориями. Такие методы могут включать методы дифференциальной эволюции, генетические алгоритмы, наивный классификатор Байеса, методы случайного леса, нейросети и т.д.
[00033] На шаге 130 вычислительная система может идентифицировать микромодель извлечения информации на базе онтологии, соответствующую одному или более смысловым блоками исходного документа. Микромодель может включать в себя множество связанных с онтологией продукционных правил. Продукционные правила могут быть специально предназначены для обработки определенного смыслового блока документа на естественном языке с целью извлечения информационных объектов и их связей, и для связи каждого извлеченного информационного объекта с семантическими классами, соответствующими концепту онтологии. В иллюстративном примере две или более микромоделей для обработки различных смысловых блоков документов на естественном языке могут использовать одну онтологию. Как вариант, каждая микромодель может основываться на отдельной онтологии.
[00034] В некоторых реализациях продукционные правила могут работать на лексических структурах, представляющих слова анализируемого блока документа. Поэтому на шаге 140 вычислительная система может выполнить лексический анализ идентифицированных смысловых блоков исходного документа, который может включать выполнение для каждого предложения на естественном языке лексико-морфологического анализа, более подробно описанного ниже со ссылкой на Фиг. 3. В ходе лексико-морфологический анализа может создаваться множество лексических структур, таким образом, что каждая лексическая структура представляет слово, анализируемого блока документа. Каждая лексическая структура может идентифицировать лексическое значение и семантический класс, связанный со словом представленным данной лексической структуры.
[00035] В альтернативном методе реализации, продукционные правила могут работать на семантико-синтаксических структурах, представляющих анализируемый блок документа. Таким образом, с помощью вычислительной системы, на шаге 150, опционально (соответсвтенно отмечено пунктиром) может быть выполнен семантико-синтаксический анализ идентифицированного блока обрабатываемого документа. Семантико-синтаксический анализ может включать выполнение для каждого предложения на естественном языке лексико-морфологического анализа, а затем грубого синтаксического анализа и обработку полученных синтаксических деревьев с целью получения семантико-синтаксической структуры, соответствующей предложению, как подробнее описано ниже в настоящем документе со ссылкой на Фиг. 2-12. Каждая семантико-синтаксическая структура, полученная в результате семантико-синтаксического анализа, может быть представлена ациклическим графом, который включает множество узлов, соответствующих семантическим классам, и множество ребер, соответствующих семантическим отношениям.
[00036] На шаге 1560 вычислительная система может выполнить интерпретацию лексических и/или семантико-синтаксических структур с использованием множества продукционных правил и/или онтологии определенной микромодели. Продукционные правила могут включать правила интерпретации и правила идентификации. Правило интерпретации может содержать левую часть, представленную набором логических выражений, определенных на одном или более шаблонах лексической или семантической структуры, и правую часть, представленную одним или более утверждениями относительно информационных объектов, представляющих сущности, на которые имеется ссылка в тексте на естественном языке.
[00037] Шаблон лексической структуры может содержать несколько лексических элементов (например, наличие определенной графемы или семантемы и т.д.). Шаблон семантической структуры может содержать некоторые элементы семантической структуры (например, принадлежность к связанному с микромоделью концепту онтологии, нахождение в некоторой поверхностной или глубинной позиции, наличие определенной граммемы или семантемы и т.д.). Отношения между элементами лексических или семантических структур могут задаваться с помощью одного или более логических выражений (конъюнкция, дизъюнкция и отрицание) и/или операций, характеризующих взаимное расположение узлов в семантико-синтаксическом дереве. В одном из иллюстративных примеров такая операция может проверять один из узлов на принадлежность к поддереву другого узла.
[00038] В результате наложения шаблона, определяемого левой частью продукционного правила, на лексическую или семантическую структуру, представляющую, по меньшей мере, часть предложения в тексте на естественном языке, может быть приведена в действие правая часть продукционного правила. Правая часть продукционного правила может устанавливать ассоциативную связь между одним или более атрибутами (отражающими лексические, синтаксические и/или семантические свойства слов из первоначального предложения) и информационными объектами, представленными узлами. В одном из иллюстративных примеров правая часть правила интерпретации может содержать утверждение, связывающее токен из текста на естественном языке со связанным с микромоделью концептом онтологии.
[00039] Правило идентификации может использоваться для установления ассоциативной связи для пары информационных объектов, которые представляют одну и ту же сущность из реального мира. Левая часть правила идентификации включает одно или более логических выражений, ссылающихся на узлы семантического дерева, соответствующие информационным объектам. Если указанная пара информационных объектов удовлетворяет условиям, заданным логическими выражениями, то происходит слияние информационных объектов в один информационный объект.
[00040] Таким образом, интерпретация лексических или семантико-синтаксических структур с использованием множества продукционных правил может дать множество информационных объектов и их связей. В некоторых вариантах реализации изобретения вычислительная система может представлять информационные объекты и их отношения в виде графа RDF (Resource Definition Framework - среда определения ресурса). В среде RDF каждому информационному объекту присваивается уникальный идентификатор и информация о таком объекте сохраняется в виде наборов из трех элементов (триплетов) SPO, где S означает «субъект» и содержит идентификатор объекта, Р означает «предикат» и определяет некоторое свойство этого объекта, а О означает «объект» и хранит в себе значение рассматриваемого свойства данного объекта. Это значение может быть либо примитивным типом данных (примеры - строка, число, булево (логическое) значение), либо идентификатором другого объекта. В одном из иллюстративных примеров триплет SPO может задавать ассоциативную связь между токеном из текста на естественном языке и категорией именованных сущностей.
[00041] На шаге 170, который в некоторых вариантах реализации способа может быть опущен, (соответственно отмечено пунктиром), вычислительная система может отобразить извлеченные информационные объекты и их связи блоком текста на естественном языке, из которого были извлечены информационные объекты. Далее вычислительная система может принять вводимые пользователем данные с подтверждением или изменением извлеченных информационных объектов и/или их связей. В определенных вариантах реализации вводимые пользователем данные могут использоваться для обновления обучающей выборки данных, применяющейся для изменения параметров модели классификатора, используемых для классификации смысловых блоков документа; вводимые пользователем данные также могут использоваться для изменения связанной микромодели.
[00042] На шаге 180 блок-схемы вычислительная система может использовать извлеченные информационные объекты и факты для выполнения самых разных задач обработки текстов на естественном языке - к примеру, задач машинного перевода, семантического поиска, классификации документов, кластеризации, фильтрации текста и т.д. После выполнения описанных со ссылками на шаг 180 операций выполнение способа может завершиться.
[00043] На Фиг. 2 приведена блок-схема одного иллюстративного примера способа 200 проведения семантико-синтаксического анализа предложения на естественном языке 212, в соответствии с одним или более вариантами реализации настоящего изобретения. Способ 200 может быть применен к одной или более синтаксическим единицам (например, предложениям), включенным в определенный текстовый корпус, для формирования множества семантико-синтаксических деревьев, соответствующих синтаксическим единицам. В различных иллюстративных примерах предложения на естественном языке, подлежащие обработке способом 200, могут извлекаться из одного или нескольких электронных документов, которые могут создаваться путем сканирования (или другим способом получения изображений бумажных документов) и оптического распознавания символов (OCR), для формирования текстов, соотнесенных с данными документами. Предложения на естественном языке также могут извлекаться из других различных источников, включая сообщения, отправляемые по электронной почте, тексты из социальных сетей, файлы с цифровым содержимым, обработанные с использованием способов распознавания речи и т.д.
[00044] На шаге 214 вычислительная система, реализующая данный способ, может проводить лексико-морфологический анализ предложения 212 для установления морфологических значений слов, входящих в состав предложения. В настоящем документе «морфологическое значение» слова означает одну или более лемм (т.е. канонических или словарных форм), соответствующих слову, и соответствующий набор значений грамматических признаков, которые определяют грамматическое значение слова. В число таких грамматических признаков могут входить лексическая категория слова и один или более морфологических признаков (например, падеж, род, число, спряжение и т.д.). Ввиду омонимии и/или совпадающих грамматических форм, соответствующих разным лексико-морфологическим значениям определенного слова, для данного слова может быть установлено два или более морфологических значений. Более подробное описание иллюстративного примера проведения лексико-морфологического анализа предложения приведено ниже в настоящем документе со ссылкой на Фиг. 3.
[00045] На шаге 215 вычислительное устройство может проводить грубый синтаксический анализ предложения 212. Грубый синтаксический анализ может включать применение одной или нескольких синтаксических моделей, которые могут быть соотнесены с элементами предложения 212, с последующим установлением поверхностных (т.е. синтаксических) связей в рамках предложения 212 для получения графа обобщенных составляющих. В настоящем документе "составляющая" означает группу соседних слов исходного предложения, функционирующую как одна грамматическая сущность. Составляющая включает в себя ядро в виде одного или более слов и может также включать одну или несколько дочерних составляющих на более низких уровнях. Дочерняя составляющая является зависимой составляющей, которая может быть соотнесена с одной или несколькими родительскими составляющими.
[00046] На шаге 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев предложения. Среди различных синтаксических деревьев на основе определенной функции оценки с учетом совместимости лексических значений слов исходного предложения, поверхностных отношений, глубинных отношений и т.д. может быть отобрано одно или несколько лучших синтаксических деревьев, соответствующих предложению 212.
[00047] На шаге 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может включать множество узлов, соответствующих семантическим классам и также может включать множество дуг, соответствующих семантическим отношениям (более подробное описание см. ниже в настоящем документе).
[00048] Фиг. 3 схематически иллюстрирует пример лексико-морфологической структуры предложения в соответствии с одним или более аспектами настоящего изобретения. Пример лексико-морфологической структуры 300 может включать множество пар "лексическое значение - грамматическое значение" для примера предложения. В качестве иллюстративного примера, "11" может быть соотнесено с лексическим значением "shall" 312 и "will" 314. Грамматическим значением, соотнесенным с лексическим значением 312, является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Composite II>. Грамматическим значением, соотнесенным с лексическим значением 314, является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Irregular, Composite II>.
[00049] Фиг. 4 схематически иллюстрирует используемые языковые описания 210, в том числе морфологические описания 201, лексические описания 203, синтаксические описания 202 и семантические описания 204, а также отношения между ними. Среди них морфологические описания 201, лексические описания 203 и синтаксические описания 202 зависят от языка. Набор языковых описаний 210 представляет собой модель определенного естественного языка.
[00050] В качестве иллюстративного примера определенное лексическое значение в лексических описаниях 203 может быть соотнесено с одной или несколькими поверхностными моделями синтаксических описаний 202, соответствующих данному лексическому значению. Определенная поверхностная модель синтаксических описаний 202 может быть соотнесена с глубинной моделью семантических описаний 204.
[00051] Фиг. 5 схематически иллюстрирует несколько примеров морфологических описаний. В число компонентов морфологических описаний 201 могут входить: описания словоизменения 310, грамматическая система 320, описания словообразования 330 и другие. Грамматическая система 320 включает набор грамматических категорий, таких как часть речи, падеж, род, число, лицо, возвратность, время, вид и их значения (так называемые "граммемы"), в том числе, например, прилагательное, существительное или глагол; именительный, винительный или родительный падеж; женский, мужской или средний род и т.д. Соответствующие граммемы могут использоваться для составления описания словоизменения 310 и описания словообразования 330.
[00052] Описание словоизменения 310 определяет формы данного слова в зависимости от его грамматических категорий (например, падеж, род, число, время и т.д.) и в широком смысле включает в себя или описывает различные возможные формы слова. Описание словообразования 330 определяет, какие новые слова могут быть образованы от данного слова (например, сложные слова).
[00053] В соответствии с одним из аспектов настоящего изобретения при установлении синтаксических отношений между элементами исходного предложения могут использоваться модели составляющих. Составляющая представляет собой группу соседних слов в предложении, ведущих себя как единое целое. Ядром составляющей является слово, она также может содержать дочерние составляющие более низких уровней. Дочерняя составляющая является зависимой составляющей и может быть прикреплена к другим составляющим (родительским) для построения синтаксических описаний 202 исходного предложения.
[00054] На Фиг. 6 приведены примеры синтаксических описаний. В число компонентов синтаксических описаний 202 могут входить, среди прочего, поверхностные модели 410, описания поверхностных позиций 420, описание референциального и структурного контроля 456, описание управления и согласования 440, описание недревесного синтаксиса 450 и правила анализа 460. Синтаксические описания 202 могут использоваться для построения возможных синтаксических структур исходного предложения на заданном естественном языке с учетом свободного линейного порядка слов, недревесных синтаксических явлений (например, согласование, эллипсис и т.д.), референциальных отношений и других факторов.
[00055] Поверхностные модели 410 могут быть представлены в виде совокупностей одной или нескольких синтаксических форм («синтформ» 412) для описания возможных синтаксических структур предложений, входящих в состав синтаксического описания 202. В целом, лексическое значение слова на естественном языке может быть связано с поверхностными (синтаксическими) моделями 410. Поверхностная модель может представлять собой составляющие, которые возможны, если лексическое значение выступает в роли "ядра". Поверхностная модель может включать набор поверхностных позиций дочерних элементов, описание линейного порядка и (или) диатезу. В настоящем документе "диатеза" означает определенное отношение между поверхностными и глубинными позициями и их семантическими ролями, выражаемыми посредством глубинных позиций. Например, диатеза может быть выражаться залогом глагола: если субъект является агентом действия, глагол в активном залоге, а когда субъект является направлением действия, это выражается пассивным залогом глагола.
[00056] В модели составляющих может использоваться множество поверхностных позиций 415 дочерних составляющих и описаний их линейного порядка 416 для описания грамматических значений 414 возможных заполнителей этих поверхностных позиций. Диатезы 417 представляют собой соответствия между поверхностными позициями 415 и глубинными позициями 514 (как показано на Фиг. 8). Коммуникативные описания 480 описывают коммуникативный порядок в предложении.
[00057] Описание линейного порядка (416) может быть представлено в виде выражений линейного порядка, отражающих последовательность, в которой различные поверхностные позиции (415) могут встречаться в предложении. В число выражений линейного порядка могут входить наименования переменных, имена поверхностных позиций, круглые скобки, граммемы, оператор «or» (или) и т.д. В качестве иллюстративного примера описание линейного порядка простого предложения "Boys play football" можно представить в виде "Subject Core Object_Direct" (Подлежащее - Ядро - Прямое дополнение), где Subject (Подлежащее), Core (Ядро) и Object_Direct (Прямое дополнение) представляют собой имена поверхностных позиций 415, соответствующих порядку слов.
[00058] Коммуникативные описания 480 могут описывать порядок слов в синтформе 412 с точки зрения коммуникативных актов, представленных в виде коммуникативных выражений порядка, которые похожи на выражения линейного порядка. Описания управления и согласования 440 может включать правила и ограничения на грамматические значения присоединяемых составляющих, которые используются во время синтаксического анализа.
[00059] Описания не древесного синтаксиса 450 могут создаваться для отражения различных языковых явлений, таких как эллипсис и согласование, они используются при трансформациях синтаксических структур, которые создаются на различных этапах анализа в различных вариантах реализации изобретения. Описания недревесного синтаксиса 450 могут, среди прочего, включать описание эллипсиса 452, описания согласования 454, а также описания референциального и структурного контроля 430.
[00060] Правила анализа 460 могут описывать свойства конкретного языка и использоваться в рамках семантического анализа. Правила анализа 460 могут включать правила вычисления семантем 462 и правила нормализации 464. Правила нормализации 464 могут использоваться для описания трансформаций семантических структур, которые могут отличаться в разных языках.
[00061] На Фиг. 7 приведен пример семантических описаний. Компоненты семантических описаний 204 не зависят от языка и могут, среди прочего, включать семантическую иерархию 510, описания глубинных позиций 520, систему семантем 530 и прагматические описания 540.
[00062] Ядро семантических описаний может быть представлено семантической иерархией 510, в которую могут входить семантические понятия (семантические сущности), также называемые семантическими классами. Последние могут быть упорядочены в иерархическую структуру, отражающую отношения "родитель-потомок". В целом, дочерний семантический класс может унаследовать одно или более свойств своего прямого родителя и других семантических классов-предков. В качестве иллюстративного примера семантический класс SUBSTANCE (Вещество) является дочерним семантическим классом класса ENTITY (Сущность) и родительским семантическим классом для классов GAS, (Газ), LIQUID (Жидкость), METAL (Металл), WOOD_MATERIAL (Древесина) и т.д.
[00063] Каждый семантический класс в семантической иерархии 510 может сопровождаться глубинной моделью 512. Глубинная модель 512 семантического класса может включать множество глубинных позиций 514, которые могут отражать семантические роли дочерних составляющих в различных предложениях с объектами данного семантического класса в качестве ядра родительской составляющей. Глубинная модель 512 также может включать возможные семантические классы, выступающие в роли заполнителей глубинных позиций. Глубинные позиции (514) могут выражать семантические отношения, в том числе, например, "agent" (агенс), "addressee" (адресат), "instrument" (инструмент), "quantity" (количество) и т.д. Дочерний семантический класс может наследовать и уточнять глубинную модель своего непосредственного родительского семантического класса.
[00064] Описания глубинных позиций 520 отражают семантические роли дочерних составляющих в глубинных моделях 512 и могут использоваться для описания общих свойств глубинных позиций 514. Описания глубинных позиций 520 также могут содержать грамматические и семантические ограничения в отношении заполнителей глубинных позиций 514. Свойства и ограничения, связанные с глубинными позициями 514 и их возможными заполнителями в различных языках, могут быть в значительной степени подобными и зачастую идентичными. Таким образом, глубинные позиции 514 не зависят от языка.
[00065] Система семантем 530 может представлять собой множество семантических категорий и семантем, которые представляют значения семантических категорий. В качестве иллюстративного примера семантическая категория "DegreeOfComparison" (Степень сравнения) может использоваться для описания степени сравнения прилагательных и включать следующие семантемы: "Positive" (Положительная), "ComparativeHigherDegree" (Сравнительная степень сравнения), "SuperlativeHighestDegree" (Превосходная степень сравнения) и другие. В качестве еще одного иллюстративного примера семантическая категория "RelationToReferencePoint" (Отношение к точке) может использоваться для описания порядка (пространственного или временного в широком смысле анализируемых слов), как, например, до или после точки или события, и включать семантемы "Previous" (Предыдущий) и "Subsequent" (Последующий). В качестве еще одного иллюстративного примера семантическая категория "EvaluationObjective" (Оценка) может использоваться для описания объективной оценки, как, например, "Bad" (Плохой), "Good" (Хороший) и т.д.
[00066] Система семантем 530 может включать независимые от языка семантические атрибуты, которые могут выражать не только семантические характеристики, но и стилистические, прагматические и коммуникативные характеристики. Некоторые семантемы могут использоваться для выражения атомарного значения, которое находит регулярное грамматическое и (или) лексическое выражение в естественном языке. По своему целевому назначению и использованию системы семантем могут разделяться на категории, например, грамматические семантемы 532, лексические семантемы 534 и классифицирующие грамматические (дифференцирующие) семантемы 536.
[00067] Грамматические семантемы 532 могут использоваться для описания грамматических свойств составляющих при преобразовании синтаксического дерева в семантическую структуру. Лексические семантемы 534 могут описывать конкретные свойства объектов (например, "being flat" (быть плоским) или "being liquid" (являться жидкостью)) и использоваться в описаниях глубинных позиций 520 как ограничение заполнителей глубинных позиций (например, для глаголов "face (with)" (облицовывать) и "flood" (заливать), соответственно). Классифицирующие грамматические (дифференцирующие) семантемы 536 могут выражать дифференциальные свойства объектов внутри одного семантического класса. В качестве иллюстративного примера в семантическом классе HAIRDRESSER (ПАРИКМАХЕР) семантема «RelatedToMen» (Относится к мужчинам) присваивается лексическому значению "barber" в отличие от других лексических значений, которые также относятся к этому классу, например, «hairdresser», «hairstylist» и т.д. Используя данные независимые от языка семантические свойства, которые могут быть выражены в виде элементов семантического описания, в том числе семантических классов, глубинных позиций и семантем, можно извлекать семантическую информацию в соответствии с одним или более аспектами настоящего изобретения.
[00068] Прагматические описания 540 позволяют назначать определенную тему, стиль или жанр текстам и объектам семантической иерархии 510 (например, «Экономическая политика», «Внешняя политика», «Юриспруденция», «Законодательство», «Торговля», «Финансы» и т.д.). Прагматические свойства также могут выражаться семантемами. В качестве иллюстративного примера прагматический контекст может приниматься во внимание при семантическом анализе.
[00069] На Фиг. 8 приведен пример лексических описаний. Лексические описания (203) представляют собой множество лексических значений 612 конкретного естественного языка. Для каждого лексического значения 612 имеется связь 602 с его независимым от языка семантическим родителем для того, чтобы указать положение какого-либо заданного лексического значения в семантической иерархии 510.
[00070] Лексическое значение 612 в лексико-семантической иерархии 510 может быть соотнесено с поверхностной моделью 410, которая в свою очередь через одну или несколько диатез 417 может быть соотнесена с соответствующей глубинной моделью 512. Лексическое значение 612 может наследовать семантический класс своего родителя и уточнять свою глубинную модель 512.
[00071] Поверхностная модель 410 лексического значения может включать одну или несколько синтаксических форм 412. Синтформа 412 поверхностной модели 410 может включать одну или несколько поверхностных позиций 415, в том числе соответствующие описания их линейного порядка 416, одно или несколько грамматических значений 414, выраженных в виде набора грамматических категорий (граммем), одно или несколько семантических ограничений, соотнесенных с заполнителями поверхностных позиций, и одну или несколько диатез 417. Семантические ограничения, соотнесенные с определенным заполнителем поверхностной позиции, могут быть представлены в виде одного или более семантических классов, объекты которых могут заполнить эту поверхностную позицию.
[00072] Фиг. 9 схематически иллюстрирует примеры структур данных, которые могут быть использованы в рамках одного или более методов настоящего изобретения. Снова ссылаясь на Фиг. 2, в блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для построения лексико-морфологической структуры 722 согласно Фиг. 9. Лексико-морфологическая структура 722 может включать множество соответствий лексического и грамматического значений для каждой лексической единицы (например, слова) исходного предложения. Фиг. 3 схематически иллюстрирует пример лексико-морфологической структуры.
[00073] Снова возвращаясь к Фиг. 2, в блоке 215 вычислительное устройство может проводить грубый синтаксический анализ исходного предложения 212 для построения графа обобщенных составляющих 732 согласно Фиг. 12. Грубый синтаксический анализ предполагает применение одной или нескольких возможных синтаксических моделей возможных лексических значений к каждому элементу множества элементов лексико-морфологической структуры 722, с тем чтобы установить множество потенциальных синтаксических отношений в составе исходного предложения 212, представленных графом обобщенных составляющих 732.
[00074] Граф обобщенных составляющих 732 может быть представлен ациклическим графом, включающим множество узлов, соответствующих обобщенным составляющим исходного предложения 212 и включающим множество дуг, соответствующих поверхностным (синтаксическим) позициям, которые могут выражать различные типы отношений между обобщенными лексическими значениями. В рамках данного способа может применяться множество потенциально применимых синтаксических моделей для каждого элемента множества элементов лексико-морфологических структур исходного предложения 212 для формирования набора составляющих исходного предложения 212. Затем в рамках способа может рассматриваться множество возможных составляющих исходного предложения 212 для построения графа обобщенных составляющих 732 на основе набора составляющих. Граф обобщенных составляющих 732 на уровне поверхностной модели может отражать множество потенциальных связей между словами исходного предложения 212. Поскольку количество возможных синтаксических структур может быть относительно большим, граф обобщенных составляющих 732 может, в общем случае, включать избыточную информацию, в том числе относительно большое число лексических значений по определенным узлам и (или) поверхностных позиций по определенным дугам графа.
[00075] Граф обобщенных составляющих 732 может изначально строиться в виде дерева, начиная с концевых узлов (листьев) и двигаясь далее к корню, путем добавления дочерних составляющих, заполняющих поверхностные позиции 415 множества родительских составляющих, с тем чтобы были охвачены все лексические единицы исходного предложения 212.
[00076] В некоторых вариантах осуществления корень графа обобщенных составляющих 732 представляет собой предикат. В ходе описанного выше процесса дерево может стать графом, так как определенные составляющие более низкого уровня могут быть включены в одну или несколько составляющих верхнего уровня. Множество составляющих, которые представляют определенные элементы лексико-морфологической структуры, затем может быть обобщено для получения обобщенных составляющих. Составляющие могут быть обобщены на основе их лексических значений или грамматических значений 414, например, на основе частей речи и отношений между ними. Фиг. 10 схематически иллюстрирует пример графа обобщенных составляющих.
[00077] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев 742 согласно Фиг. 9 на основе графа обобщенных составляющих 732. Для каждого синтаксического дерева вычислительное устройство может определить интегральную оценку на основе априорных и вычисляемых оценок. Дерево с наилучшей оценкой может быть выбрано для построения наилучшей синтаксической структуры 746 исходного предложения 212.
[00078] В ходе построения синтаксической структуры 746 на основе выбранного синтаксического дерева вычислительное устройство может установить одну или несколько недревесных связей (например, путем создания дополнительной связи среди, как минимум, двух узлов графа). Если этот процесс заканчивается неудачей, вычислительное устройство может выбрать синтаксическое дерево с условно оптимальной оценкой, наиболее близкой к оптимальной, и производится попытка установить одну или несколько недревесных связей в дереве. Наконец, в результате точного синтаксического анализа создается синтаксическая структура 746, которая представляет собой лучшую синтаксическую структуру, соответствующую исходному предложению 212. Фактически в результате отбора лучшей синтаксической структуры 746 определяются лучшие лексические значения 240 для элементов исходного предложения 212.
[00079] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может отражать передаваемую исходным предложением семантику в независимых от языка терминах. Семантическая структура 218 может быть представлена в виде ациклического графа (например, дерево, возможно, дополненное одной или более недревесной связью (дугой графа). Слова исходного предложения представлены узлами с соответствующими независимыми от языка семантическими классами семантической иерархии 510. Дуги графа представляют глубинные (семантические) отношения между элементами предложения. Переход к семантической структуре 218 может осуществляться с помощью правил анализа 460 и предполагает соотнесение одного или более атрибутов (отражающих лексические, синтаксические и (или) семантические свойства слов исходного предложения 212) с каждым семантическим классом.
[00080] На Фиг. 11 приводится пример синтаксической структуры предложения, сгенерированной из графа обобщенных составляющих, показанного на Фиг. 10 Узел 901 соответствует лексическому элементу "life" (жизнь) 906. Применяя способ описанного в настоящем документе синтактико-семантического анализа, вычислительное устройство может установить, что лексический элемент "life" (жизнь) 906 представляет одну из форм лексического значения, соотнесенного с семантическим классом "LIVE" (ЖИТЬ) 904 и заполняет поверхностную позицию $Adjunct_Locative 905) в родительской составляющей, представленной управляющим узлом Verb:succeed:succeed:TO_SUCCEED (907).
[00081] На Фиг. 12 приводится семантическая структура, соответствующая синтаксической структуре на Фиг. 11. В отношении вышеупомянутого лексического элемента "life" (жизнь) (906) на Фиг. 12 семантическая структура включает лексический класс 1010 и семантический класс 1030, соответствующие представленным на Фиг. 11, однако вместо поверхностной позиции (905) семантическая структура включает глубинную позицию "Sphere" (сфера_деятельности) 1020.
[00082] Как отмечено выше в настоящем документе, в качестве "онтологии" может выступать модель, которая представляет собой объекты, относящиеся к определенной области знаний (предметной области), и отношения между данными объектами. Таким образом, онтология отличается от семантической иерархии, несмотря на то что она может быть соотнесена с элементами семантической иерархии через определенные отношения (также называемые "якоря"). Онтология может включать определения некого множества классов, где каждый класс соответствует концепту предметной области. Каждое определение класса может включать определения одного или более отнесенных к данному классу объектов. Согласно общепринятой терминологии класс онтологии может также означать концепт, а принадлежащий классу объект может означать экземпляр данного концепта.
[00083] В соответствии с одним или несколькими аспектами настоящего изобретения вычислительное устройство, в котором реализованы описанные в настоящем описании способы, может индексировать один или несколько параметров, полученных в результате семантико-синтаксического анализа. Таким образом, способы настоящего изобретения позволяют рассматривать не только множество слов в составе исходного текстового корпуса, но и множество лексических значений этих слов, сохраняя и индексируя всю синтаксическую и семантическую информацию, полученную в ходе синтаксического и семантического анализа каждого предложения исходного текстового корпуса. Такая информация может дополнительно включать данные, полученные в ходе промежуточных этапов анализа, а также результаты лексического выбора, в том числе результаты, полученные в ходе разрешения неоднозначностей, вызванных омонимией и (или) совпадающими грамматическими формами, соответствующими различным лексико-морфологическим значениям некоторых слов исходного языка.
[00084] Для каждой семантической структуры можно создать один или несколько индексов. Индекс можно представить в виде структуры данных в памяти, например, в виде таблицы, состоящей из нескольких записей. Каждая запись может представлять собой установление соответствия между определенным элементом семантической структуры (например, одно слово или несколько слов, синтаксическое отношение, морфологическое, синтаксическое или семантическое свойство или синтаксическая или семантическая структура) и одним или несколькими идентификаторами (или адресами) случаев употребления данного элемента семантической структуры в исходном тексте.
[00085] В некоторых вариантах осуществления индекс может включать одно или несколько значений морфологических, синтаксических, лексических и (или) семантических параметров. Эти значения могут создаваться в процессе двухэтапного семантического анализа (более подробное описание см. в настоящем документе). Индекс можно использовать для выполнения различных задач обработки естественного языка, в том числе для выполнения семантического поиска.
[00086] Вычислительное устройство, реализующее данный способ, может извлекать широкий спектр лексических, грамматических, синтаксических, прагматических и (или) семантических характеристик в ходе проведения синтактико-семантического анализа и создания семантических структур. В иллюстративном примере система может извлекать и сохранять определенную лексическую информацию, данные о принадлежности определенных лексических единиц семантическим классам, информацию о грамматических формах и линейном порядке, информацию об использовании определенных форм, аспектов, тональности {например, положительной или отрицательной), глубинных позиций, недревесных связей, семантем и т.д.
[00087] Вычислительное устройство, в котором реализованы описанные здесь способы, может производить анализ, используя один или несколько описанных в этом документе способов анализа текста, и индексировать любой один или несколько параметров описаний языка, включая лексические значения, семантические классы, граммемы, семантемы и т.д. Индексацию семантического класса можно использовать в различных задачах обработки естественного языка, включая семантический поиск, классификацию, кластеризацию, фильтрацию текста и т.д.. Индексация лексических значений (вместо индексации слов) позволяет искать не только слова и формы слов, но и лексические значения, т.е. слова, имеющие определенные лексические значения. Вычислительное устройство, реализующее способы настоящего изобретения, также может хранить и индексировать синтаксические и семантические структуры, созданные одним или несколькими описанными в настоящем документе способами анализа текста, для использования данных структур и (или) индексов при проведении семантического поиска, классификации, кластеризации и фильтрации документов.
[00088] На Фиг. 13 схематически показан иллюстративный пример вычислительного устройства (1000), которое может исполнять набор команд, которые вызывают выполнение вычислительным устройством любого отдельно взятого или нескольких способов настоящего изобретения. Вычислительное устройство может подключаться к другому вычислительному устройству по локальной сети, корпоративной сети, сети экстранет или сети Интернет. Вычислительное устройство может работать в качестве сервера или клиентского вычислительного устройства в сетевой среде "клиент/сервер" либо в качестве однорангового вычислительного устройства в одноранговой (или распределенной) сетевой среде. Вычислительное устройство может быть представлено персональным компьютером (ПК), планшетным ПК, телевизионной приставкой (STB), карманным ПК (PDA), сотовым телефоном или любым вычислительным устройством, способным выполнять набор команд (последовательно или иным образом), определяющих операции, которые должны быть выполнены этим вычислительным устройством. Кроме того, в то время как показано только одно вычислительное устройство, следует принять, что термин «вычислительное устройство» также может включать любую совокупность вычислительных устройств, которые отдельно или совместно выполняют набор (или несколько наборов) команд для выполнения одной или нескольких методик, описанных в настоящем документе.
[00089] Пример вычислительного устройства (1000) включает процессор (502), основную память (504) {например, постоянное запоминающее устройство (ПЗУ) или динамическую оперативную память (DRAM)) и устройство хранения данных (518), которые взаимодействуют друг с другом по шине (530).
[00090] Процессор 502 может быть представлен одной или более универсальными вычислительными системами, например, микропроцессором, центральным процессором и т.д. В частности, процессор 502 может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с сокращенным набором команд (RISC), микропроцессор с командными словами сверхбольшой длины (VLIW), процессор, реализующий другой набор команд или процессоры, реализующие комбинацию наборов команд. Процессор 502 также может представлять собой одну или более вычислительных систем специального назначения, например, заказную интегральную микросхему (ASIC), программируемую пользователем вентильную матрицу (FPGA), процессор цифровых сигналов (DSP), сетевой процессор и т.п.Процессор 502 настроен на выполнение команд 526 для осуществления рассмотренных в настоящем документе операций и функций.
[00091] Вычислительная система 1000 может дополнительно включать устройство сетевого интерфейса 522, устройство визуального отображения 510, устройство ввода символов 512 (например, клавиатуру), и устройство ввода в виде сенсорного экрана 514.
[00092] Устройство хранения данных 518 может содержать машиночитаемый носитель данных 524, в котором хранится один или более набор команд 526 и в котором реализованы одна или более методика или функция, рассмотренная в настоящем документе. Команды 526 также могут находиться полностью или по меньшей мере частично в основной памяти 504 и/или в процессоре 502 во время выполнения их в вычислительной системе 1000, при этом оперативная память 504 и процессор 502 также представляют собой машиночитаемый носитель данных. Команды 526 также могут передаваться или приниматься по сети 516 через устройство сетевого интерфейса 522.
[00093] В некоторых вариантах реализации изобретения набор команд 526 может содержать команды способа 100 извлечения информации с использованием альтернативных вариантов семантико-синтаксического разбора в соответствии с одним или более вариантами реализации настоящего изобретения. Хотя машиночитаемый носитель данных 524 показан в примере на Фиг. 13 в виде одного носителя, термин «машиночитаемый носитель» следует понимать в широком смысле, подразумевающем один носитель или более носителей (к примеру, централизованную или распределенную базу данных и (или) соответствующие кэши и серверы), в которых хранится один или более наборов команд. Кроме того, термин «машиночитаемый носитель данных» следует понимать в широком смысле, подразумевающем любой носитель, способный хранить, кодировать или переносить набор команд для выполнения вычислительной машиной и обеспечивающий реализацию на вычислительной машине любой одной или более методик настоящего изобретения. Поэтому термин «машиночитаемый носитель данных» относится, помимо прочего, к твердотельной памяти, а также к оптическим и магнитным носителям.
[00094] Способы, компоненты и функции, описанные в этом документе, могут быть реализованы с помощью дискретных компонентов оборудования либо они могут быть встроены в функции других компонентов оборудования - к примеру, ASICS (специализированная заказная интегральная схема), FPGA (программируемая логическая интегральная схема), DSP (цифровой сигнальный процессор) или аналогичных устройств. Кроме того, способы, компоненты и функции могут быть реализованы с помощью модулей встроенного программного обеспечения или функциональных схем аппаратного обеспечения. Способы, компоненты и функции также могут быть реализованы с помощью любой комбинации аппаратного обеспечения и программных компонентов либо исключительно с помощью программного обеспечения.
[00095] В приведенном выше описании изложены многочисленные детали. Однако любому специалисту в этой области техники, ознакомившемуся с этим описанием, должно быть очевидно, что настоящее изобретение может быть осуществлено на практике без этих конкретных деталей. В некоторых случаях хорошо известные структуры и устройства показаны в виде блок-схем, без детализации, чтобы не усложнять описание настоящего изобретения.
[00096] Некоторые части описания предпочтительных вариантов реализации изобретения представлены в виде алгоритмов и символического представления операций с битами данных в памяти компьютера. Такие описания и представления алгоритмов представляют собой средства, используемые специалистами в области обработки данных, что обеспечивает наиболее эффективную передачу сути работы другим специалистам в данной области. В контексте настоящего описания, как это и принято, алгоритмом называется логически непротиворечивая последовательность операций, приводящих к желаемому результату. Операции подразумевают действия, требующие физических манипуляций с физическими величинами. Обычно, хотя и не обязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и выполнять другие манипуляции. Иногда удобно, прежде всего для обычного использования, описывать эти сигналы в виде битов, значений, элементов, символов, терминов, цифр и т.д.
[00097] Однако следует иметь в виду, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами и что они являются лишь удобными обозначениями, применяемыми к этим величинам. Если не указано дополнительно, принимается, что в последующем описании термины «определение», «вычисление», «расчет», «получение», «установление», «выявление», «изменение» и т.п. относятся к действиям и процессам вычислительной системы или аналогичной электронной вычислительной системы, которая использует и преобразует данные, представленные в виде физических (например, электронных) величин в реестрах и устройствах памяти вычислительной системы, в другие данные, также представленные в виде физических величин в устройствах памяти или реестрах вычислительной системы или иных устройствах хранения, передачи или отображения такой информации.
[00098] Настоящее изобретение также относится к устройству для выполнения операций, описанных в настоящем документе. Такое устройство может быть специально сконструировано для требуемых целей, либо может представлять собой универсальный компьютер, который избирательно приводится в действие или дополнительно настраивается с помощью программы, хранящейся в памяти компьютера. Такая компьютерная программа может храниться на машиночитаемом носителе данных, например, помимо всего прочего, на диске любого типа, включая дискеты, оптические диски, CD-ROM и магнитно-оптические диски, постоянные запоминающие устройства (ПЗУ), оперативные запоминающие устройства (ОЗУ), СППЗУ, ЭППЗУ, магнитные или оптические карты и носители любого типа, подходящие для хранения электронной информации.
[00099] Следует понимать, что приведенное выше описание призвано иллюстрировать, а не ограничивать сущность изобретения. Специалистам в данной области техники после прочтения и уяснения приведенного выше описания станут очевидны и различные другие варианты реализации изобретения. Исходя из этого, область применения изобретения должна определяться с учетом прилагаемой формулы изобретения, а также всех областей применения эквивалентных способов, на которые в равной степени распространяется формула изобретения.