патент
№ RU 2637992
МПК G06F17/27

СПОСОБ ИЗВЛЕЧЕНИЯ ФАКТОВ ИЗ ТЕКСТОВ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ

Авторы:
Джумаев Станислав Сергеевич
Номер заявки
2016134711
Дата подачи заявки
25.08.2016
Опубликовано
08.12.2017
Страна
RU
Как управлять
интеллектуальной собственностью
Реферат

[153]

Изобретение относится к системам и способам обработки естественного языка. Техническим результатом является обеспечение возможности конечному пользователю извлекать информацию – сущности и факты и создавать онтологии в автоматическом режиме. В способе извлечения фактов из текстов на естественном языке получают идентификатор первого токена, содержащегося в тексте и включающего слово естественного языка, ссылающееся на первый информационный объект, представленный первой именованной сущностью. Получают идентификаторы первого множества слов, представляющего первый факт определенной категории фактов, связанный с первым информационным объектом некоторой категории информационных объектов. Определяют в тексте второе множество слов, включающее второй токен, ссылающийся на второй информационный объект, ассоциирующийся с указанной категорией информационных объектов. В ответ на получение подтверждения того, что второе множество слов представляет второй факт, связанный со вторым информационным объектом той же категории информационных объектов, извлекают второй факт и сохраняют его в форме RDF-графа. Изменяют параметр функции классификатора, которая дает значение, отражающее степень ассоциации данной семантической структуры с фактом из определенной категории фактов. 3 н. и 17 з.п. ф-лы, 27 ил.

Формула изобретения

1. Способ извлечения фактов из текстов на естественном языке, включающий:

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

получение идентификаторов первого множества слов, представляющего первый факт определенной категории фактов, при этом первый факт связан с первым информационным объектом некоторой категории информационных объектов;

определение в тексте на естественном языке второго множества слов, включающего второй токен, ссылающийся на второй информационный объект, ассоциирующийся с указанной категорией информационных объектов;

в ответ на получение подтверждения того, что второе множество слов представляет второй факт, связанный со вторым информационным объектом той же категории информационных объектов, извлечение второго факта;

сохранение второго факта в форме RDF-графа; и

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

2. Способ по п. 1, отличающийся тем, что определение второго множества слов дополнительно включает:

выполнение семантико-синтаксического анализа исходного текста на естественном языке для получения первого множества семантических структур;

определение второго множества семантических структур, причем каждая семантическая структура из второго множества семантических структур, представляющих предложения, содержит одно или более слов из первого множества слов;

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

определение в первом множестве семантических структур второй семантической структуры, содержащей элемент, представляющий второй токен, и схожей с первой семантической структурой из второго множества семантических структур для определенной метрики сходства; и

определение второго множества слов как соответствующего второй семантической структуре.

3. Способ по п. 2, отличающийся тем, что определение второго токена, ссылающегося на второй информационный объект, ассоциирующийся с указанной категорией информационных объектов, дополнительно включает:

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

4. Способ по п. 2, отличающийся тем, что определение второго токена, ссылающегося на второй информационный объект, ассоциирующийся с указанной категорией информационных объектов, дополнительно включает:

определение степени ассоциации второго токена с определенной категорией информационных объектов путем вычисления второй функции классификатора с использованием одного или более атрибутов второго токена.

5. Способ по п. 1, дополнительно включающий:

использование функции классификатора для выполнения операции обработки естественного языка.

6. Способ по п. 1, отличающийся тем, что получение идентификатора токена производится с использованием графического интерфейса пользователя.

7. Способ по п. 1, отличающийся тем, что получение идентификатора первого множества слов производится с использованием графического интерфейса пользователя.

8. Способ по п. 1, дополнительно включающий: предварительную обработку текста на естественном языке для получения вспомогательной онтологии, отражающей структуру документа, связанную с текстом на естественном языке.

9. Способ по п. 1, дополнительно включающий:

получение второго текста на естественном языке;

выполнение семантико-синтаксического анализа второго текста на естественном языке для получения третьего множества семантических структур;

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

определение, среди семантических структур третьего множества семантических структур, одной или более семантических структур, содержащих элемент, соответствующий третьему токену; и

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

10. Способ по п. 9, отличающийся тем, что определение третьей семантической структуры дополнительно включает:

определение множества значений, сгенерированных функцией классификатора;

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

определение третьей семантической структуры как семантической структуры, соответствующей выбранному оптимальному значению.

11. Способ по п. 9, отличающийся тем, что первая именованная сущность представлена первым информационным объектом, а вторая именованная сущность представлена вторым информационным объектом.

12. Система извлечения фактов из текстов на естественном языке, содержащая: память;

процессор, связанный с данной памятью, причем этот процессор настроен на:

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

получение идентификаторов первого множества слов, представляющего первый факт определенной категории фактов, при этом первый факт связан с первым информационным объектом некоторой категории информационных объектов;

определение в тексте на естественном языке второго множества слов, включающего второй токен, ссылающийся на второй информационный объект, ассоциирующийся с указанной категорией информационных объектов;

в ответ на получение подтверждения того, что второе множество слов представляет второй факт, связанный со вторым информационным объектом той же категории информационных объектов, извлечение второго факта, сохранение второго факта в форме RDF-графа; и

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

13. Система по п. 12, отличающаяся тем, что определение второго множества слов дополнительно включает:

выполнение семантико-синтаксического анализа исходного текста на естественном языке для получения первого множества семантических структур;

определение второго множества семантических структур, причем каждая семантическая структура из второго множества семантических структур, представляющих предложения, содержит одно или более слов из первого множества слов;

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

определение в первом множестве семантических структур второй семантической структуры, содержащей элемент, представляющий второй токен, и схожей с первой семантической структурой из второго множества семантических структур для определенной метрики сходства; и

определение второго множества слов как соответствующего второй семантической структуре.

14. Система по п. 13, отличающаяся тем, что определение второго токена, ссылающегося на второй информационный объект, ассоциирующийся с указанной категорией информационных объектов, дополнительно включает:

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

15. Система по п. 13, отличающаяся тем, что определение второго токена, ссылающегося на второй информационный объект, ассоциирующийся с указанной категорией информационных объектов, дополнительно включает:

определение степени ассоциации второго токена с определенной категорией информационных объектов путем вычисления второй функции классификатора с использованием одного или более атрибутов второго токена.

16. Система по п. 12, отличающаяся тем, что получение идентификатора токена производится с использованием графического интерфейса пользователя.

17. Система по п. 12, отличающаяся тем, что процессор выполнен с возможностью: получения второго текста на естественном языке;

выполнения семантико-синтаксического анализа второго текста на естественном языке для получения третьего множества семантических структур;

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

определения среди семантических структур третьего множества семантических структур одной или более семантических структур, содержащих элемент, соответствующий третьему токену; и

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

18. Энергонезависимый машиночитаемый носитель данных, содержащий исполняемые команды, которые при выполнении в вычислительном устройстве побуждают вычислительное устройство выполнять извлечение фактов из текстов на естественном языке, включающее:

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

получение идентификаторов первого множества слов, представляющего первый факт определенной категории фактов, при этом первый факт связан с первым информационным объектом некоторой категории информационных объектов;

определение в тексте на естественном языке второго множества слов, включающего второй токен, ссылающийся на второй информационный объект, ассоциирующийся с указанной категорией информационных объектов;

в ответ на получение подтверждения того, что второе множество слов представляет второй факт, связанный со вторым информационным объектом той же категории информационных объектов, извлечение второго факта;

сохранение второго факта в форме RDF-графа; и

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

19. Энергонезависимый машиночитаемый носитель данных по п. 18, отличающийся тем, что определение второго множества слов также включает:

выполнение семантико-синтаксического анализа исходного текста на естественном языке для получения первого множества семантических структур;

определение второго множества семантических структур, причем каждая семантическая структура из второго множества семантических структур, представляющих предложения, содержит одно или более слов из первого множества слов;

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

определение в первом множестве семантических структур второй семантической структуры, содержащей элемент, представляющий второй токен, и схожей с первой семантической структурой из второго множества семантических структур для определенной метрики сходства; и

определение второго множества слов как соответствующего второй семантической структуре.

20. Энергонезависимый машиночитаемый носитель данных по п. 18, дополнительно содержащий исполняемые команды для устройства обработки, обеспечивающие возможность:

получения второго текста на естественном языке;

выполнения семантико-синтаксического анализа второго текста на естественном языке для получения третьего множества семантических структур;

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

определения среди семантических структур третьего множества семантических структур одной или более семантических структур, содержащих элемент, соответствующий третьему токену; и

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

Описание

[1]

ОБЛАСТЬ ТЕХНИКИ

[2]

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

[3]

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

[4]

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

[5]

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

[6]

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

[7]

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

[8]

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

[9]

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

[10]

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

[11]

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

[12]

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

[13]

[0009] На Фиг. 3А-3С приведен пример экрана графического интерфейса пользователя (GUI) для отображения текстов на естественном языке, в котором объекты, связанные с определенными концептами онтологии, визуально выделены в соответствии с одним или более аспектами настоящего изобретения;

[14]

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

[15]

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

[16]

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

[17]

[00013] На Фиг. 7А-7С схематически показаны фрагменты семантической структуры, соответствующей этому примеру предложения;

[18]

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

[19]

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

[20]

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

[21]

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

[22]

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

[23]

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

[24]

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

[25]

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

[26]

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

[27]

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

[28]

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

[29]

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

[30]

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

[31]

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

[32]

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

[33]

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

[34]

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

[35]

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

[36]

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

[37]

[00032] После распознавания именованных сущностей может быть применено извлечение информации для разрешения кореференций и анафорических связей между токенами текста (каждый токен может содержать одно или более слов). «Кореференция» в настоящем документе означает конструкцию естественного языка, содержащую два или более токенов естественного языка, которые относятся к одной сущности (например, одному и тому же лицу, вещи, месту или организации). Например, в предложении «После того, как Джон получил диплом MIT, ему предложили работу в Microsoft» собственное имя «Джон» и местоимение «ему» относится к одному человеку. Из двух токенов кореференций тот токен, на который дается ссылка, может обобщенно именоваться антецедентом, а тот, который ссылается на него - проформой или анафорой.

[38]

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

[39]

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

[40]

[00035] Факты, связанные с одной категорией, могут выражаться различными языковыми конструкциями, имеющими различные морфологические, лексические и синтаксические атрибуты. Например, следующие фразы отражают факт трудовой деятельности лица X в организационной единице Y: Джон трудится в IBM. Пол работал в Microsoft более пяти лет. Джордж - начальник отдела в Hewlett Packard. Алексей Венедиктов, главный редактор "Эха Москвы ".

[41]

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

[42]

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

[43]

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

[44]

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

[45]

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

[46]

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

[47]

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

[48]

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

[49]

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

[50]

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

[51]

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

[52]

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

[53]

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

[54]

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

[55]

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

[56]

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

[57]

[00052] Операции, относящиеся к блокам 115-120, могут повторяться два или более раз, таким образом идентифицируя в тексте на естественном языке несколько образцов фактов, связанных с примерами информационных объектов одной или более категорий информационных объектов.

[58]

[00053] В блоке 125 вычислительное устройство может произвести семантико-синтаксический анализ текста на естественном языке. При синтаксическом и семантическом анализе может быть получено множество семантических структур, каждая из которых представляет соответствующее предложение на естественном языке. Каждая семантическая структура может быть представлена ациклическим графом, который включает множество узлов, соответствующих семантическим классам, и множество дуг, соответствующих семантическим отношениям, что описано более подробно ниже со ссылкой на Фиг. 19. Для упрощения любое подмножество семантической структуры в этом документе мы будем называть «структурой» (а не «подструктурой»), если только не рассматривается отношение типа «родитель-потомок» между двумя семантическими структурами.

[59]

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

[60]

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

[61]

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

[62]

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

[63]

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

[64]

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

[65]

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

[66]

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

[67]

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

[68]

[00063] Рассматривая еще раз Фиг. 1, в блоке 140 вычислительное устройство может определить среди множества семантических структур, полученных при синтактико - семантическом анализе текста на естественном языке, семантическую структуру-кандидат, которая содержит элемент, соответствующий токену, определенному в блоке 135 (то есть токену, представляющему информационный объект некоторой категории именованных сущностей), подобную по одной из метрик подобия, как минимум, одной из семантических структур, определенных в блоке 130 (то есть, семантической структуре, которая соответствует предложению, содержащему одно из множеств слов, определенных в блоке 120 как соответствующие экземпляру факта, связанному с примером информационного объекта). Определенная семантическая структура - кандидат предварительно описывает факт, связанный с экземпляром некоторой категории фактов.

[69]

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

[70]

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

[71]

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

[72]

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

[73]

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

[74]

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

[75]

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

[76]

[00071] Возвратимся к Фиг. 1: в блоке 150 вычислительное устройство может отображать через GUI выявленные группы слов. Для каждой отображаемой группы слов вычислительное устройство может предложить пользователю подтвердить группу слов, которая на самом деле представляет объект, ассоциированный с первоначально выбранным концептом онтологии.

[77]

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

[78]

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

[79]

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

[80]

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

[81]

[00076] В блоке 175 вычислительное устройство может произвести семантико-синтаксический анализ полученного текста на естественном языке. При синтаксическом и семантическом анализах может быть получено множество семантических структур, представляющих каждое предложение на естественном языке; подробнее это описано ниже со ссылкой на Фиг. 10.

[82]

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

[83]

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

[84]

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

[85]

[00080] Операции способа 200, описанные выше в этом документе со ссылкой на блоки 180-190, могут повторяться два или более раз, таким образом идентифицируя в тексте на естественном языке несколько фактов, связанных с информационными объектами одной или нескольких категорий информационных объектов.

[86]

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

[87]

[00082] Как отмечалось выше в этом описании, вычислительное устройство, в котором реализованы способы 100 и 200, может предоставлять один или более экранов GUI, которые включают различные элементы управления для выбора идентификатора концепта онтологии и для выделения в тексте на естественном языке, который отображается на экране графического интерфейса пользователя, одного или более слов или групп слов, представляющих образцы объектов, связанных с выбранным концептом онтологии. На Фиг. 3А-3С приведен пример экрана графического интерфейса пользователя (GUI) для отображения текстов на естественном языке, в котором визуально выделены объекты, связанные с определенными концептами онтологии.

[88]

[00083] На Фиг. 3А показан экран с графическим интерфейсом пользователя, содержащим текст на естественном языке, в котором выделены объекты, ассоциированные с концептом «Person» (Персона). Графический интерфейс пользователя, реализованный с помощью устройства обработки, может включать текстовое окно 210, в котором пользователь может выделять слова и словосочетания, представляющие примеры объектов, ассоциированные с выбранным концептом онтологии («Person» (Персона)). Этот графический интерфейс пользователя может дополнительно содержать таблицу 220, представляющую, по меньшей мере, часть онтологии, ассоциированной с выбранным концептом онтологии. Как схематично показано на Фиг. 3А, онтология может сохранить значения нескольких атрибутов для каждого объекта класса «Person» (Персона), включая атрибуты «firstname» (имя), «middlename» (отчество) и «surname» (фамилия).

[89]

[00084] На Фиг. 3В показан экран с графическим интерфейсом пользователя, содержащим текст на естественном языке, в котором выделены объекты, ассоциированные с концептом «Country» (Страна). Графический интерфейс пользователя, реализованный с помощью устройства обработки, может включать текстовое окно 230, в котором пользователь может выделять слова и словосочетания, представляющие примеры объектов, ассоциированные с выбранным концептом онтологии («Country»). Этот графический интерфейс пользователя может дополнительно содержать таблицу 240, представляющую, по меньшей мере, часть онтологии, ассоциированной с выбранным концептом онтологии. Как схематично показано на Фиг. 3В, онтология может сохранить одно или более значений атрибута «label» (ярлык) для каждого объекта класса «Country».

[90]

[00085] На Фиг. 3С показан экран с графическим интерфейсом пользователя, содержащим текст на естественном языке, в котором выделены объекты, ассоциированные с концептом «Occupation» (Профессия). Графический интерфейс пользователя, реализованный с помощью устройства обработки, может включать текстовое окно 250, в котором пользователь может выделять слова и словосочетания, представляющие примеры объектов, ассоциированные с выбранным концептом онтологии «Occupation». Графический интерфейс может дополнительно содержать таблицу 260, представляющую, по меньшей мере, часть онтологии, связанной с выбранным концептом онтологии. Как схематично показано на Фиг. 3С, эта онтология отражает отношения «employer-employee» (работодатель-работник), а также определяет атрибут «position» (положение), связанный с объектом класса «employee» (работник).

[91]

[00086] В вычислительном устройстве, в котором реализован способ 100, может быть реализован интерфейс для визуального представления онтологии, полученной в результате анализа множества текстов на естественном языке в соответствии с одним или более аспектами настоящего изобретения, что схематически показано на Фиг. 4А-4В. На Фиг. 4А показан экран GUI, включающий текстовое окно 310, в котором можно помечать слова и (или) словосочетания, которые представляют собой различные объекты, определенные устройством обработки и ассоциированные с определенными концептами онтологии. Экран графического интерфейса пользователя может дополнительно содержать таблицу 320, представляющую, по меньшей мере, некоторые объекты онтологии, связанной с выбранными концептами онтологии. На Фиг. 4 В приведен экран GUI, отображающий, по меньшей мере, часть графа 350, который содержит множество узлов, соответствующих объектам онтологии и множество дуг, соответствующих семантическим взаимоотношениям между узлами.

[92]

[00087] На Фиг. 5 схематически изображена семантическая структура 501, отображающая пример предложения «Serving in the House of Representatives since 1990, Republican John Boehner was elected Speaker of the House of Representatives in November 2010.» (Член Палаты Представителей с 1990, республиканец Джон Бонер избран спикером Падаты Представителей в ноябре 2010 года.)

[93]

[00088] На Фиг. 6 схематически показаны информационные объекты (представленные именованными сущностями) и факты, извлеченные из примера предложения с помощью систем и способов, в соответствии с одним или более аспектами настоящего изобретения. Как показано на Фиг. 6, факт из категории Employment (Трудовая деятельность) связан с именованными сущностями из категорий Person (Персона) и Organization (Организация).

[94]

[00089] На Фиг. 7А-7С схематично показаны фрагменты 701, 702 и 703 семантической структуры 501, отображающей предложение, к которому применены продукционные правила с целью извлечения именованных сущностей и фактов.

[95]

[00090] На Фиг. 8А-8С схематично показаны продукционные правила, применяемые к фрагментам семантической структуры, соответствующей примеру предложения на Фиг. 5, для извлечения информационных объектов и фактов. Правила 801-803 применяются к семантической структуре 701. Правило 801 извлекает именованную сущность категории Person (Персона). Правило 802 по меньшей мере частично разрешает кореференцию, связанную с извлеченной именованной сущностью. Правило 803 связывает извлеченные именованные сущности (Person (Персона) и Employer (Работодатель) отношением, указывающим на то, что экземпляр сущности Персона работает у Работодателя. Правила 804-805 применяются к семантической структуре 701. Правило 804 создает факт категории Occupation (Занятость), связывающий извлеченные именованные сущности. Правило 805 связывает атрибут Employer (Работодатель) созданного факта с извлеченной именованной сущностью категории Organization (Организация). Правила 806 и 805 применяются к семантической структуре 703. Правило 806 создает факт категории Occupation (Занятость), связывающий извлеченные именованные сущности.

[96]

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

[97]

[00092] В блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для установления морфологических значений слов, входящих в состав предложения. В настоящем документе "морфологическое значение" слова означает одну или несколько лемм (т.е. канонических или словарных форм), соответствующих слову, и соответствующий набор значений грамматических признаков, которые определяют грамматическое значение слова. В число таких грамматических признаков могут входить лексическая категория (часть речи) слова и один или более морфологических и грамматических признаков (например, падеж, род, число, спряжение и т.д.). Ввиду омонимии и (или) совпадающих грамматических форм, соответствующих разным лексико-морфологическим значениям определенного слова, для данного слова может быть установлено два или более морфологических значений. Иллюстрация результата лексико-морфологического анализа предложения приведено ниже в настоящем документе со ссылкой на Фиг. 10.

[98]

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

[99]

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

[100]

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

[101]

[00096] Фиг. 10 схематически иллюстрирует пример лексико-морфологической структуры предложения в соответствии с одним или более аспектами настоящего изобретения. Пример лексико-морфологической структуры 500 может включать множество пар "лексическое значение - грамматическое значение" для примера предложения. В качестве иллюстративного примера, "ll" может быть соотнесено с лексическим значением "shall" 512 и "will" 514. Грамматическим значением, соотнесенным с лексическим значением 512, является <Verb, GTVerbModal, Zero Type, Present, Nonnegative, Composite II>. Грамматическим значением, соотнесенным с лексическим значением 314, является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Irregular, Composite II>.

[102]

[00097] Фиг. 11 схематически иллюстрирует используемые языковые описания 610, в том числе морфологические описания 201, лексические описания 203, синтаксические описания 202 и семантические описания 204, а также отношения между ними. Среди них морфологические описания 201, лексические описания 203 и синтаксические описания 202 зависят от языка. Набор языковых описаний 210 представляет собой модель определенного естественного языка.

[103]

[00098] В качестве иллюстративного примера определенное лексическое значение в лексических описаниях 203 может быть соотнесено с одной или несколькими поверхностными моделями синтаксических описаний 202, соответствующих данному лексическому значению. Определенная поверхностная модель синтаксических описаний 202 может быть соотнесена с глубинной моделью семантических описаний 204.

[104]

[00099] На Фиг. 12 схематически иллюстрируются несколько примеров морфологических описаний. В число компонентов морфологических описаний 201 могут входить: описания словоизменения 710, грамматическая система 720, описания словообразования 730 и другие. Грамматическая система 720 включает набор грамматических категорий, таких как часть речи, падеж, род, число, лицо, возвратность, время, вид и их значения (так называемые "граммемы"), в том числе, например, прилагательное, существительное или глагол; именительный, винительный или родительный падеж; женский, мужской или средний род и т.д. Соответствующие граммемы могут использоваться для составления описания словоизменения 710 и описания словообразования 730.

[105]

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

[106]

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

[107]

[000102] На Фиг. 13 приведены примеры синтаксических описаний. В число компонентов синтаксических описаний 202 могут входить, среди прочего, поверхностные модели 410, описания поверхностных позиций 420, описание референциального и структурного контроля 456, описание управления и согласования 440, описание недревесного синтаксиса 450 и правила анализа 460. Синтаксические описания 202 могут использоваться для построения возможных синтаксических структур исходного предложения на заданном естественном языке с учетом свободного линейного порядка слов, недревесных синтаксических явлений (например, согласование, эллипсис и т.д.), референциальных отношений и других факторов.

[108]

[000103] Поверхностные модели 410 могут быть представлены в виде совокупностей одной или нескольких синтаксических форм («синтформ» 412) для описания возможных синтаксических структур предложений, входящих в состав синтаксического описания 202. В целом, лексическое значение слова на естественном языке может быть связано с поверхностными (синтаксическими) моделями 410. Поверхностная модель может представлять собой составляющие, которые возможны, если лексическое значение выступает в роли "ядра". Поверхностная модель может включать набор поверхностных позиций дочерних элементов, описание линейного порядка и (или) диатезу. В настоящем документе "диатеза" означает определенное отношение между поверхностными и глубинными позициями и их семантическими ролями, выражаемыми посредством глубинных позиций. Например, диатеза может быть выражаться залогом глагола: если субъект является агентом действия, глагол в активном залоге, а когда субъект является направлением действия, это выражается пассивным залогом глагола.

[109]

[000104] В модели составляющих может использоваться множество поверхностных позиций 415 дочерних составляющих и описаний их линейного порядка 416 для описания грамматических значений 414 возможных заполнителей этих поверхностных позиций. Диатезы 417 представляют собой соответствия между поверхностными позициями 415 и глубинными позициями 514 (как показано на Фиг. 12). Коммуникативные описания 480 описывают коммуникативный порядок в предложении.

[110]

[000105] Описание линейного порядка (416) может быть представлено в виде выражений линейного порядка, отражающих последовательность, в которой различные поверхностные позиции (415) могут встречаться в предложении. В число выражений линейного порядка могут входить наименования переменных, имена поверхностных позиций, круглые скобки, граммемы, оператор «or» (или) и т.д. В качестве иллюстративного примера описание линейного порядка простого предложения "Boys play football" можно представить в виде "Subject Core Object_Direct" (Подлежащее - Ядро - Прямое дополнение), где Subject (Подлежащее), Core (Ядро) и Object_Direct (Прямое дополнение) представляют собой имена поверхностных позиций 415, соответствующих порядку слов.

[111]

[000106] Коммуникативные описания 480 могут описывать порядок слов в синтформе 412 с точки зрения коммуникативных актов, представленных в виде коммуникативных выражений порядка, которые похожи на выражения линейного порядка. Описания управления и согласования 440 может включать правила и ограничения на грамматические значения присоединяемых составляющих, которые используются во время синтаксического анализа.

[112]

[000107] Описания недревесного синтаксиса 450 могут создаваться для отражения различных языковых явлений, таких как эллипсис и согласование, они используются при трансформациях синтаксических структур, которые создаются на различных этапах анализа в различных вариантах реализации изобретения. Описания недревесного синтаксиса 450 могут, среди прочего, включать описание эллипсиса 452, описания согласования 454, а также описания референциального и структурного контроля 430.

[113]

[000108] Правила анализа 460 могут описывать свойства конкретного языка и использоваться в рамках семантического анализа. Правила анализа 460 могут включать правила вычисления семантем 462 и правила нормализации 464. Правила нормализации 464 могут использоваться для описания трансформаций семантических структур, которые могут отличаться в разных языках.

[114]

[000109] На Фиг. 14 приведен пример семантических описаний. Компоненты семантических описаний 204 не зависят от языка и могут, среди прочего, включать семантическую иерархию 510, описания глубинных позиций 520, систему семантем 530 и прагматические описания 540.

[115]

[000110] Ядро семантических описаний может быть представлено семантической иерархией 510, в которую могут входить семантические понятия (семантические сущности), также называемые семантическими классами. Последние могут быть упорядочены в иерархическую структуру, отражающую отношения "родитель-потомок". В целом, дочерний семантический класс может унаследовать одно или более свойств своего прямого родителя и других семантических классов-предков. В качестве иллюстративного примера семантический класс SUBSTANCE (Вещество) является дочерним семантическим классом класса ENTITY (Сущность) и родительским семантическим классом для классов GAS, (Газ), LIQUID (Жидкость), METAL (Металл), WOOD_MATERIAL (Древесина) и т.д.

[116]

[000111] Каждый семантический класс в семантической иерархии 510 может сопровождаться глубинной моделью 512. Глубинная модель 512 семантического класса может включать множество глубинных позиций 514, которые могут отражать семантические роли дочерних составляющих в различных предложениях с объектами данного семантического класса в качестве ядра родительской составляющей. Глубинная модель 512 также может включать возможные семантические классы, выступающие в роли заполнителей глубинных позиций. Глубинные позиции (514) могут выражать семантические отношения, в том числе, например, "agent" (агенс), "addressee" (адресат), "instrument" (инструмент), "quantity" (количество) и т.д. Дочерний семантический класс может наследовать и уточнять глубинную модель своего непосредственного родительского семантического класса.

[117]

[000112] Описания глубинных позиций 520 отражают семантические роли дочерних составляющих в глубинных моделях 512 и могут использоваться для описания общих свойств глубинных позиций 514. Описания глубинных позиций 520 также могут содержать грамматические и семантические ограничения в отношении заполнителей глубинных позиций 514. Свойства и ограничения, связанные с глубинными позициями 514 и их возможными заполнителями в различных языках, могут быть в значительной степени подобными и зачастую идентичными. Таким образом, глубинные позиции 514 не зависят от языка.

[118]

[000113] Система семантем 530 может представлять собой множество семантических категорий и семантем, которые представляют значения семантических категорий. В качестве иллюстративного примера семантическая категория "DegreeOfComparison" (Степень сравнения) может использоваться для описания степени сравнения прилагательных и включать следующие семантемы: "Positive" (Положительная), "ComparativeHigherDegree" (Сравнительная степень сравнения), "SuperlativeHighestDegree" (Превосходная степень сравнения) и другие. В качестве еще одного иллюстративного примера семантическая категория "RelationToReferencePoint" (Отношение к точке) может использоваться для описания порядка (пространственного или временного в широком смысле анализируемых слов), как, например, до или после точки или события, и включать семантемы "Previous" (Предыдущий) и "Subsequent" (Последующий). В качестве еще одного иллюстративного примера семантическая категория "EvaluationObjective" (Оценка) может использоваться для описания объективной оценки, как, например, "Bad" (Плохой), "Good" (Хороший) и т.д.

[119]

[000114] Система семантем 530 может включать независимые от языка семантические атрибуты, которые могут выражать не только семантические характеристики, но и стилистические, прагматические и коммуникативные характеристики. Некоторые семантемы могут использоваться для выражения атомарного значения, которое находит регулярное грамматическое и (или) лексическое выражение в естественном языке. По своему целевому назначению и использованию системы семантем могут разделяться на категории, например, грамматические семантемы 532, лексические семантемы 534 и классифицирующие грамматические (дифференцирующие) семантемы 536.

[120]

[000115] Грамматические семантемы 532 могут использоваться для описания грамматических свойств составляющих при преобразовании синтаксического дерева в семантическую структуру. Лексические семантемы 534 могут описывать конкретные свойства объектов (например, "being flat" (быть плоским) или "being liquid" (являться жидкостью)) и использоваться в описаниях глубинных позиций 520 как ограничение заполнителей глубинных позиций (например, для глаголов "face (with)" (облицовывать) и "flood" (заливать), соответственно). Классифицирующие грамматические (дифференцирующие) семантемы 536 могут выражать дифференциальные свойства объектов внутри одного семантического класса. В качестве иллюстративного примера в семантическом классе HAIRDRESSER (ПАРИКМАХЕР) семантема «RelatedToMen» (Относится к мужчинам) присваивается лексическому значению "barber" в отличие от других лексических значений, которые также относятся к этому классу, например, «hairdresser», «hairstylist» и т.д. Используя данные независимые от языка семантические свойства, которые могут быть выражены в виде элементов семантического описания, в том числе семантических классов, глубинных позиций и семантем, можно извлекать семантическую информацию в соответствии с одним или более аспектами настоящего изобретения.

[121]

[000116] Прагматические описания 540 позволяют назначать определенную тему, стиль или жанр текстам и объектам семантической иерархии 510 (например, «Экономическая политика», «Внешняя политика», «Юриспруденция», «Законодательство», «Торговля», «Финансы» и т.д.). Прагматические свойства также могут выражаться семантемами. В качестве иллюстративного примера прагматический контекст может приниматься во внимание при семантическом анализе.

[122]

[000117] На Фиг. 15 приведен пример лексических описаний. Лексические описания (203) представляют собой множество лексических значений 612 конкретного естественного языка. Для каждого лексического значения 612 имеется связь 602 с его независимым от языка семантическим родителем для того, чтобы указать положение какого-либо заданного лексического значения в семантической иерархии 510.

[123]

[000118] Лексическое значение 612 в лексико-семантической иерархии 510 может быть соотнесено с поверхностной моделью 410, которая в свою очередь через одну или несколько диатез 417 может быть соотнесена с соответствующей глубинной моделью 512. Лексическое значение 612 может наследовать семантический класс своего родителя и уточнять свою глубинную модель 512.

[124]

[000119] Поверхностная модель 410 лексического значения может включать одну или несколько синтаксических форм 412. Синтформа 412 поверхностной модели 410 может включать одну или несколько поверхностных позиций 415, в том числе соответствующие описания их линейного порядка 416, одно или несколько грамматических значений 414, выраженных в виде набора грамматических категорий (граммем), одно или несколько семантических ограничений, соотнесенных с заполнителями поверхностных позиций, и одну или несколько диатез 417. Семантические ограничения, соотнесенные с определенным заполнителем поверхностной позиции, могут быть представлены в виде одного или более семантических классов, объекты которых могут заполнить эту поверхностную позицию.

[125]

[000120] На Фиг. 16 схематически иллюстрируются примеры структур данных, которые могут быть использованы в рамках одного или более методов настоящего изобретения. Снова ссылаясь на Фиг. 6, в блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для построения лексико-морфологической структуры 722 согласно Фиг. 16. Лексико-морфологическая структура 722 может включать множество соответствий лексического и грамматического значений для каждой лексической единицы (например, слова) исходного предложения. Фиг. 10 схематически иллюстрирует пример лексико-морфологической структуры.

[126]

[000121] Снова возвращаясь к Фиг. 9, в блоке 215 вычислительное устройство может проводить грубый синтаксический анализ исходного предложения 212 для построения графа обобщенных составляющих 732 согласно Фиг. 13. Грубый синтаксический анализ предполагает применение одной или нескольких возможных синтаксических моделей возможных лексических значений к каждому элементу множества элементов лексико-морфологической структуры 722, с тем чтобы установить множество потенциальных синтаксических отношений в составе исходного предложения 212, представленных графом обобщенных составляющих 732.

[127]

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

[128]

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

[129]

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

[130]

[000125] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев 742 согласно Фиг. 16 на основе графа обобщенных составляющих 732. Для каждого синтаксического дерева вычислительное устройство может определить интегральную оценку на основе априорных и вычисляемых оценок. Дерево с наилучшей оценкой может быть выбрано для построения наилучшей синтаксической структуры 746 исходного предложения 212.

[131]

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

[132]

[000127] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может отражать передаваемую исходным предложением семантику в независимых от языка терминах. Семантическая структура 218 может быть представлена в виде ациклического графа (например, дерево, возможно, дополненное одной или более недревесной связью (дугой графа). Слова исходного предложения представлены узлами с соответствующими независимыми от языка семантическими классами семантической иерархии 510. Дуги графа представляют глубинные (семантические) отношения между элементами предложения. Переход к семантической структуре 218 может осуществляться с помощью правил анализа 460 и предполагает соотнесение одного или более атрибутов (отражающих лексические, синтаксические и (или) семантические свойства слов исходного предложения 212) с каждым семантическим классом.

[133]

[000128] На Фиг. 18 приводится пример синтаксической структуры предложения, сгенерированной из графа обобщенных составляющих, показанного на Фиг. 17. Узел 901 соответствует лексическому элементу "life" (жизнь) 906. Применяя способ описанного в настоящем документе синтактико-семантического анализа, вычислительное устройство может установить, что лексический элемент "life" (жизнь) 906 представляет одну из форм лексического значения, соотнесенного с семантическим классом "LIVE" (ЖИТЬ) 904 и заполняет поверхностную позицию $Adjunct_Locative 905) в родительской составляющей, представленной управляющим узлом Verb:succeed:succeed:TO_SUCCEED (907).

[134]

[000129] На Фиг. 19 приводится семантическая структура, соответствующая синтаксической структуре на Фиг. 18. В отношении вышеупомянутого лексического элемента "life" (жизнь) (906) на Фиг. 18 семантическая структура включает лексический класс 1010 и семантический класс 1030, соответствующие представленным на Фиг. 15, однако вместо поверхностной позиции (905) семантическая структура включает глубинную позицию "Sphere" (сфера_деятельности) 1020.

[135]

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

[136]

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

[137]

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

[138]

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

[139]

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

[140]

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

[141]

[000136] На Фиг. 20 показан иллюстративный приме вычислительного устройства (1000), которое может исполнять набор команд, которые вызывают выполнение вычислительным устройством любого отдельно взятого или нескольких способов настоящего изобретения. Вычислительное устройство может подключаться к другому вычислительному устройству по локальной сети, корпоративной сети, сети экстранет или сети Интернет. Вычислительное устройство может работать в качестве сервера или клиентского вычислительного устройства в сетевой среде "клиент/сервер" либо в качестве однорангового вычислительного устройства в одноранговой (или распределенной) сетевой среде. Вычислительное устройство может быть представлено персональным компьютером (ПК), планшетным ПК, телевизионной приставкой (STB), карманным ПК (PDA), сотовым телефоном или любым вычислительным устройством, способным выполнять набор команд (последовательно или иным образом), определяющих операции, которые должны быть выполнены этим вычислительным устройством. Кроме того, в то время как показано только одно вычислительное устройство, следует принять, что термин «вычислительное устройство» также может включать любую совокупность вычислительных устройств, которые отдельно или совместно выполняют набор (или несколько наборов) команд для выполнения одной или нескольких методик, описанных в настоящем документе.

[142]

[000137] Пример вычислительного устройства (1000) включает процессор (502), основную память (504) (например, постоянное запоминающее устройство (ПЗУ) или динамическую оперативную память (DRAM)) и устройство хранения данных (518), которые взаимодействуют друг с другом по шине (530).

[143]

[000138] Процессор (502) может быть представлен одним или более универсальными вычислительными устройствами, например, микропроцессором, центральным процессором и т.д. В частности, процессор (502) может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с сокращенным набором команд (RISC), микропроцессор с командными словами сверхбольшой длины (VLIW), процессор, реализующий другой набор команд, или процессоры, реализующие комбинацию наборов команд. Процессор (502) также может представлять собой одно или несколько вычислительных устройств специального назначения, например, заказную интегральную микросхему (ASIC), программируемую пользователем вентильную матрицу (FPGA), процессор цифровых сигналов (DSP), сетевой процессор и т.п. Процессор (502) настроен на выполнение команд (526) для осуществления рассмотренных в настоящем документе операций и функций.

[144]

[000139] Вычислительное устройство (1000) может дополнительно включать устройство сетевого интерфейса (522), устройство визуального отображения (510), устройство ввода символов (512) (например, клавиатуру), и устройство ввода - сенсорный экран (514).

[145]

[000140] Устройство хранения данных (518) может содержать машиночитаемый носитель данных (524), в котором хранится один или более наборов команд (526), и в котором реализован один или более из методов или функций настоящего изобретения. Команды (526) также могут находиться полностью или по меньшей мере частично в основной памяти (504) и/или в процессоре (502) во время выполнения их в вычислительном устройстве (1000), при этом оперативная память (504) и процессор (502) также составляют машиночитаемый носитель данных. Команды (526) дополнительно могут передаваться или приниматься по сети (516) через устройство сетевого интерфейса (522).

[146]

[000141] В некоторых вариантах осуществления команды (526) могут включать в себя команды способа (100) классификации текстов на естественном языке yf на основе семантических признаков и/или способа вычисления параметров модели классификации. В то время как машиночитаемый носитель данных (524), показанный на примере на Фиг. 15, является единым носителем, термин «машиночитаемый носитель» должен включать один носитель или несколько носителей (например, централизованную или распределенную базу данных, и/или соответствующие кэши и серверы), в которых хранится один или более наборов команд. Термин "машиночитаемый носитель данных" также следует рассматривать как термин, включающий любой носитель, который способен хранить, кодировать или переносить набор команд для выполнения машиной, который заставляет эту машину выполнять любую одну или несколько из методик, описанных в настоящем раскрытии изобретения. Таким образом, термин «машиночитаемый носитель данных», помимо прочего, также относится к твердотельной памяти и оптическим и магнитным носителям.

[147]

[000142] Описанные в документе способы, компоненты и функции могут быть реализованы дискретными аппаратными компонентами, либо они могут быть интегрированы в функции других аппаратных компонентов, таких как ASICS, FPGA, DSP или подобных устройств. Кроме того, способы, компоненты и функции могут быть реализованы с помощью модулей встроенного программного обеспечения или функциональных схем аппаратных устройств. Способы, компоненты и функции также могут быть реализованы с помощью любой комбинации вычислительных средств и программных компонентов, либо исключительно с помощью программного обеспечения.

[148]

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

[149]

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

[150]

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

[151]

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

[152]

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

Как компенсировать расходы
на инновационную разработку
Похожие патенты