Многоэтапное распознавание именованных сущностей в текстах на естественном языке на основе морфологических и семантических признаков

Иллюстрации

Показать все

Изобретение относится к области многоэтапного распознавания именованных сущностей на основе морфологических и семантических признаков текстов на естественном языке. Техническим результатом является достижение высокой точности и/или полноты распознавания именованных сущностей в текстах на естественном языке в сочетании с приемлемой скоростью распознавания за счет двухэтапного применения различающихся по глубине методов анализа текста в зависимости от результата предыдущего этапа. Один из примеров способа включает: лексико-морфологический анализ текста на естественном языке, содержащего множество токенов, где каждый токен содержит по крайней мере одно слово естественного языка; определение на основе лексико-морфологического анализа одного или более лексических значений и грамматических значений, связанных с каждым токеном в множестве токенов; вычисление для каждого токена в множестве токенов одной или более функций классификатора с использованием лексических и грамматических значений, ассоциированных с токеном, причем значение каждой функции классификатора указывает на оценку степени ассоциации токена с категорией именованных сущностей; синтактико-семантический анализ по крайней мере части текста на естественном языке для получения множества семантических структур, представляющих часть текста на естественном языке; и интерпретация семантических структур с использованием набора продукционных правил для определения, для одного или более токенов, входящих в часть текста на естественном языке, оценки степени ассоциации токена с категорией именованных сущностей. 3 н. и 17 з.п. ф-лы, 16 ил.

Реферат

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

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

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

[0002] Извлечение информации является одной из важнейших операций автоматизированной обработки текстов на естественном языке. Распознавание именованных сущностей (NER) (также известное под названиями: идентификация сущностей, формирование сущностей и извлечение сущностей) представляет собой задачу по извлечению информации, в ходе выполнения которой производится выделение и классификация токенов в тексте на естественном языке по заранее определенным категориям, таким как персоны, наименования организаций, географические названия, даты, количества, денежные суммы, проценты и т.д.

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

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

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

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

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

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

[0006] Настоящее изобретение иллюстрируется с помощью примеров, а не способом ограничения, и может быть лучше понято при рассмотрении приведенного ниже описания предпочтительных вариантов реализации в сочетании с чертежами, на которых:

[0007] На Фиг. 1 показана блок-схема примера реализации способа многоэтапного распознавания именованных сущностей в текстах на естественном языке на основе морфологических и семантических признаков в соответствии с одним или более аспектами настоящего изобретения;

[0008] На Фиг. 2 схематически показан пример графического интерфейса пользователя (GUI), который может применяться для получения данных, вводимых пользователем и определяющих категории именованных сущностей для отдельных токенов в представленном фрагменте текста на естественном языке в соответствии с одним или более аспектами настоящего изобретения;

[0009] На Фиг. 3 схематически показан пример размеченного текста на естественном языке, который может использоваться для обучения функции классификатора, вычисляющей оценку степени ассоциации токена из текста на естественном языке с некоторой категорией именованных сущностей в соответствии с одним или более аспектами настоящего изобретения;

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

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

[00012] На Фиг. 6 схематически показан пример лексико-морфологической структуры предложения в соответствии с одним или более аспектами настоящего изобретения;

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

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

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

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

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

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

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

[00020] На Фиг. 14 показан пример синтаксической структуры, соответствующей предложению, приведенному на Фиг. 13;

[00021] На Фиг. 15 приведена семантическая структура, соответствующая синтаксической структуре, показанной на Фиг. 14;

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

ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ РЕАЛИЗАЦИИ

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

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

[00025] Распознавание именованных сущностей (NER) представляет собой задачу по извлечению информации, в ходе выполнения которой производится выделение токенов в тексте на естественном языке и классификация их по заранее определенным категориям, таким как персоны, названия организаций, географические названия, даты, количества, денежные суммы, проценты и т.д. Эти категории могут быть представлены концептами заранее определенной или динамически выстраиваемой онтологии.

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

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

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

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

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

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

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

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

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

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

[00036] В блоке 110 вычислительная система, реализующая способ 100, может выполнить лексико-морфологический анализ исходного текста 101 на естественном языке, который может быть представлен, например, одним или более исходными документами. Лексико-морфологический анализ может давать для каждого предложения текста на естественном языке лексико-морфологическую структуру 112, представляющую это предложение. Такая лексико-морфологическая структура может содержать для каждого слова в предложении одно или более лексических значений и одно или более грамматических значений слова, которые могут быть представлены одной или более парами <лексическое значение - грамматическое значение>, которые могут быть названы «морфологическими значениями». Лексическое значение может включать одну или более соответствующих слову лемм (например, канонических или словарных форм), идентификатор семантического класса, связанного со словом, и одну или более классифицирующих или дифференцирующих семантем. Грамматическое значение может быть представлено множеством значений грамматических атрибутов, таких как падеж, род, число, спряжение, вид, время и т.д.

[00037] Отсутствующие в словаре слова (например, именованные сущности) могут быть связаны с заранее определенным семантическим классом (например, UNKNOWN). Грамматические значения слова, отсутствующего в словаре, могут быть определены с помощью псевдолемматизации (то есть восстановления возможной канонической формы несловарного слова), анализа контекста (например, двух и более слов, окружающих несловарное слово в предложении), капитализации одной или более букв несловарного слова и т.д.

[00038] Более подробное описание иллюстративного примера способа проведения лексико-морфологического анализа предложения приведено ниже в настоящем документе со ссылкой на Фиг. 6.

[00039] В блоке 115 вычислительная система на основе полученных в результате лексико-морфологического анализа значений атрибутов может сформировать множество значений признаков, используемых для дальнейшей классификации. В одних вариантах реализации для классификации используются признаки, признаются наиболее значимыми. Вычислительная система может формировать множество значимых признаков, исходя из одного или более факторов, включая статистические данные сочетаемости определенных лексем и семантических классов, частоте возникновения указанного лексического значения в корпусе текстов на естественном языке и т.д. В некоторых вариантах реализации изобретения из нескольких пар <лексическое значение - грамматическое значение>, ассоциированных с данным словом, вычислительная система может выбирать пару с максимальным значением оценки. В других вариантах реализации данного изобретения признаки для классификации могут выбираться иным способом, в том числе произвольным образом, например, могут учитываться все полученные значения, для чего может выполняться нормализация и свертка с целью понижения размерности.

[00040] В блоках 120-130 вычислительная система может выполнять итерации по множеству токенов текста на естественном языке. В блоке 120 вычислительная система может выбирать следующий токен из текста на естественном языке. Термин «токен» в этом документе означает одно или более смежных слов в тексте на естественном языке.

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

[00042] Для определения оценки степени соотнесения токена из исходного текста на естественном языке с соответствующей категорией именованных сущностей для каждой категории именованных сущностей может быть использован один или более функций классификатора, определенных в гиперпространстве лексических и грамматических признаков. В иллюстративном примере для категории «Персона» могут использоваться следующие функции классификатора: первая функция классификатора для распознавания токенов в текстах на естественном языке, ссылающихся на персоны по фамилии, вторая функция классификатора для распознавания токенов, ссылающихся на персоны по имени и фамилии, и третья функция классификатора для распознавания токенов, ссылающихся на персоны по имени, необязательному отчеству и фамилии в различном порядке. В другом иллюстративном примере для категории «Геолокация» могут использоваться следующие функции классификатора: первая функция классификатора для распознавания токенов в текстах на естественном языке, относящихся к странам, вторая функция классификатора для распознавания токенов, относящихся к городам, и третья функция классификатора для распознавания токенов, относящихся к морям и рекам.

[00043] Построение функций классификатора и корректировка их параметров с помощью методов машинного обучения подробно описаны ниже.

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

[00045] При достижении конца текста в блоке 130, обработка может продолжаться в блоке 135, в противном случае способ может возвратиться к блоку 120.

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

[00047] В некоторых вариантах осуществления изобретения точность и (или) полноту первого этапа распознавания именованных сущностей можно оценить, исходя из данных, вводимых пользователем через графический интерфейс пользователя (GUI). В одном из иллюстративных примеров графический интерфейс пользователя (GUI) может использоваться для вывода представленного фрагмента текста на естественном языке с выделением токенов, соответствующих распознанным именованным сущностям, как схематически показано на Фиг. 2. В одном из иллюстративных примеров токены, ассоциированные с каждой из категорий именованных сущностей, могут выделяться определенным цветом. В другом случае категория, ассоциированная с выбранным в данный момент токеном 210, и другая имеющая отношение к делу информация, может быть предоставлена в таблице 220, которая может быть визуально связана с фрагментом текста на естественном языке. Вычислительная система может воспринимать ввод пользователем данных, подтверждающих или изменяющих категории, связанные с отдельными токенами, а также указывающих на токены и соответствующие категории именованных сущностей, которые не были обнаружены в ходе первой стадии распознавания именованных сущностей.

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

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

[00050] В блоке 150 вычислительная система может инициировать второй этап распознавания именованных сущностей, включающий выполнение синтактико-семантического анализа исходного текста 101 на естественном языке. Синтактико-семантический анализ приводит к получению семантических структур 152, представляющих предложения текста на естественном языке в независимых от языка терминах, как будет подробно описано ниже со ссылками на Фиг. 5-15.

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

[00052] В некоторых вариантах осуществления изобретения извлеченные объекты могут быть представлены в виде RDF-графа 157. RDF присваивает уникальный идентификатор каждому информационному объекту и сохраняет информацию о таком объекте в виде триплетов SPO, где S обозначает «субъект» и содержит идентификатор объекта, Р обозначает «предикат» и определяет некоторое свойство этого объекта, а О обозначает «объект» и сохраняет значение этого свойства данного объекта Это значение может быть как примитивным типом данных (строкой, числом, булевым значением), так и идентификатором другого объекта. В одном из иллюстративных примеров триплет SPO может ассоциировать токен из текста на естественном языке с категорией именованных сущностей.

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

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

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

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

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

[00058] Рассмотрим еще раз Фиг. 1, в блоке 160 вычислительная система может расширять рабочую онтологию 162, связывая идентифицированные именованные сущности с классами онтологии, соответствующими категориям этих именованных сущностей. Рабочая онтология 162 может быть затем использована в разнообразных приложениях обработки естественного языка, включая машинный перевод, построение семантического индекса, семантический поиск (включая многоязычный семантический поиск), классификацию документов, системы электронного обнаружения и др. После завершения операций, указанных в блоке 160, выполнение способа может быть завершено.

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

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

[00061] В некоторых вариантах осуществления изобретения обучающая выборка данных, используемая в методах машинного обучения, может содержать один или более текстов на естественном языке, в которых указаны категории именованных сущностей, ассоциированные с отдельными токенами, как схематически показано на Фиг. 3. В примере на Фиг. 3 открывающие и закрывающие теги <PER> и </PER> используются для определения токенов, которые относятся к персонам, открывающие и закрывающие теги <LOC> и </LOC> используются для определения токенов, которые относятся к геолокации, открывающие и закрывающие теги <EVENT> и </EVENT> используются для указания токенов, относящихся к событиям, а открывающие и закрывающие теги <DAY> и </DAY> используются для определения токенов, которые относятся к календарным датам. Для описания токенов, ссылающихся на объекты, связанные с другими категориями именованных сущностей, могут использоваться другие теги.

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