Выявление словосочетаний в текстах на естественном языке

Иллюстрации

Показать все

Изобретение относится к средствам обработки естественного языка. Технический результат заключается в повышении эффективности решения задач обработки текстов на естественном языке. Указанный результат достигается за счет выполнения этапов способа выявления словосочетаний в текстах на естественном языке. При этом используют вычислительное устройство, с помощью которого выполняют семантико-синтаксический анализ текста на естественном языке для получения множества семантических структур. Далее формируют исходный список сочетаний слов с учетом отношений, определенных семантическими структурами. Составляют список словосочетаний путем применения эвристического фильтра к исходному списку сочетаний слов, где применение эвристического фильтра основано на использовании метрики качества, представляющей функцию от частот семантических классов и частоты отношений между словами в составе словосочетания. Используют список словосочетаний для выполнения операции обработки естественного языка. 3 н. и 22 з.п. ф-лы, 15 ил.

Реферат

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

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

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

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

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

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

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

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

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

[0009] На Фиг. 2 приведена блок-схема описанного в примере способа получения «исходного» списка сочетаний слов для данного текстового корпуса в соответствии с одним или несколькими аспектами настоящего изобретения;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[00031] В блоке 130 вычислительное устройство может создавать для каждого предложения исходного текста «сырой» исходный список сочетаний слов, при этом каждое такое сочетание включает два или более слова, которые связаны грамматически и (или) семантически, что более подробно описано ниже. Создание «сырого» списка сочетаний слов более подробно описано ниже со ссылками на Фиг. 2.

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

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

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

[00035] Некоторые операции способа 100 раскрываются ниже в настоящем описании более подробно со ссылками на Фиг. 2-14.

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

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

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

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

[00040] В блоках 230-260 вычислительное устройство может обходить каждое семантическое дерево из множества семантических деревьев, построенных для текстового корпуса. В некоторых вариантах реализации изобретения каждое семантическое дерево может быть пройдено в направлении снизу-вверх, то есть, от конечных узлов (которые также называют «листьями») к корню.

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

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

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

[00044] В ответ на завершение описанных в настоящем документе операций со ссылками на блок 240 способ может завершиться. Результаты применения способа 200 могут включать «сырой» исходный список сочетаний слов 290, сопровождаемый различными статистиками 295.

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

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

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

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

[00049] В блоке 320 вычислительное устройство может заменять некоторые сочетания слов в списке, полученном предыдущей операции фильтрации, их обобщенными словосочетаниями. В иллюстративном примере сочетания слов «city of Moscow», «city of New York», и «City of Paris» могут быть заменены их обобщенным словосочетанием «city CITY_BY_NAME». Обобщенное словосочетание может включать одно или несколько слов (например, «city» в приведенном выше примере) и (или) одно или несколько идентификаторов семантических классов (например, CITY_BY_NAME в приведенном выше примере). Если обобщенное словосочетание затем используется для анализа произвольного текста, то все словосочетания, которые имеют те же самые элементы, встречающиеся в том же порядке, будут рассматриваться как подходящее словосочетание. Обозначения семантических классов используемые при создании словосочетаний, могут быть взяты из заранее определенной иерархии семантических классов, что позволяет не включать в список обобщенные версии некоторых конкретных сочетаний слов (например, «George Washington Bridge» не будет преобразовываться в вид «FORMER_PRESIDENT_BY_NAME bridge»).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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