ИЗВЛЕЧЕНИЕ ИНФОРМАЦИОННЫХ ОБЪЕКТОВ С ПОМОЩЬЮ КОМБИНАЦИИ КЛАССИФИКАТОРОВ
EXTRACTING INFORMATION OBJECTS WITH THE HELP OF A CLASSIFIER COMBINATION

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