RU2619193C1 - Многоэтапное распознавание именованных сущностей в текстах на естественном языке на основе морфологических и семантических признаков - Google Patents
Многоэтапное распознавание именованных сущностей в текстах на естественном языке на основе морфологических и семантических признаков Download PDFInfo
- Publication number
- RU2619193C1 RU2619193C1 RU2016124139A RU2016124139A RU2619193C1 RU 2619193 C1 RU2619193 C1 RU 2619193C1 RU 2016124139 A RU2016124139 A RU 2016124139A RU 2016124139 A RU2016124139 A RU 2016124139A RU 2619193 C1 RU2619193 C1 RU 2619193C1
- Authority
- RU
- Russia
- Prior art keywords
- natural language
- text
- tokens
- semantic
- token
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/268—Morphological analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
Изобретение относится к области многоэтапного распознавания именованных сущностей на основе морфологических и семантических признаков текстов на естественном языке. Техническим результатом является достижение высокой точности и/или полноты распознавания именованных сущностей в текстах на естественном языке в сочетании с приемлемой скоростью распознавания за счет двухэтапного применения различающихся по глубине методов анализа текста в зависимости от результата предыдущего этапа. Один из примеров способа включает: лексико-морфологический анализ текста на естественном языке, содержащего множество токенов, где каждый токен содержит по крайней мере одно слово естественного языка; определение на основе лексико-морфологического анализа одного или более лексических значений и грамматических значений, связанных с каждым токеном в множестве токенов; вычисление для каждого токена в множестве токенов одной или более функций классификатора с использованием лексических и грамматических значений, ассоциированных с токеном, причем значение каждой функции классификатора указывает на оценку степени ассоциации токена с категорией именованных сущностей; синтактико-семантический анализ по крайней мере части текста на естественном языке для получения множества семантических структур, представляющих часть текста на естественном языке; и интерпретация семантических структур с использованием набора продукционных правил для определения, для одного или более токенов, входящих в часть текста на естественном языке, оценки степени ассоциации токена с категорией именованных сущностей. 3 н. и 17 з.п. ф-лы, 16 ил.
Description
ОБЛАСТЬ ИЗОБРЕТЕНИЯ
[0001] Настоящее изобретение в целом относится к извлечению информации из текстов на естественном языке с помощью вычислительных систем, а точнее - к многоэтапному распознаванию именованных сущностей на основе морфологических и семантических признаков.
УРОВЕНЬ ТЕХНИКИ
[0002] Извлечение информации является одной из важнейших операций автоматизированной обработки текстов на естественном языке. Распознавание именованных сущностей (NER) (также известное под названиями: идентификация сущностей, формирование сущностей и извлечение сущностей) представляет собой задачу по извлечению информации, в ходе выполнения которой производится выделение и классификация токенов в тексте на естественном языке по заранее определенным категориям, таким как персоны, наименования организаций, географические названия, даты, количества, денежные суммы, проценты и т.д.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0003] В соответствии с одним или более аспектами настоящего изобретения пример реализации способа многоэтапного распознавания именованных сущностей в текстах на естественном языке на основе морфологических и семантических признаков может содержать: лексико-морфологический анализ вычислительной системой текста на естественном языке, содержащего множество токенов, где каждый токен содержит по крайней мере одно слово естественного языка; определение на основе лексико-морфологического анализа одного или более лексических значений и грамматических значений, связанных с каждым токеном в множестве токенов; для каждого токена в множестве токенов вычисление одной или более функций классификатора с использованием лексических и грамматических значений, связанных с токеном, отличающихся тем, что значение каждой функции классификатора указывает на оценку степени ассоциации токена с категорией именованных сущностей; синтактико-семантический анализ по меньшей мере части текста на естественном языке для получения множества семантических структур, представляющих часть текста на естественном языке; и интерпретацию семантических структур с использованием набора продукционных правил для определения, для одного или более токенов, содержащихся в этой части текста на естественном языке, оценки степени ассоциации токена с категорией именованных сущностей.
[0004] В соответствии с одним или более аспектами настоящего изобретения пример системы для многоэтапного распознавания именованных сущностей в текстах на естественном языке на основе морфологических и семантических признаков может содержать: память и процессор, работающий с этой памятью и выполненный с возможностью проводить лексико-морфологический анализ текста на естественном языке, содержащего множество токенов, где каждый токен содержит по крайней мере одно слово естественного языка; определять на основе лексико-морфологического анализа одно или более лексических значений и грамматических значений, связанных с каждым токеном в множестве токенов; для каждого токена в множестве токенов вычислять одну или более функций классификатора с использованием лексических и грамматических значений, связанных с токеном, отличающуюся тем, что значение каждой функции классификатора указывает на оценку степени ассоциации токена с категорией именованных сущностей; выполнять синтактико-семантический анализ по крайней мере части текста на естественном языке для получения множества семантических структур, представляющих часть текста на естественном языке; и интерпретировать семантические структуры с использованием набора продукционных правил для определения, для одного или более токенов, входящих в часть текста на естественном языке, оценки степени ассоциации токена с категорией именованных сущностей.
[0005] В соответствии с одним или более аспектами настоящего изобретения пример постоянного машиночитаемого носителя данных может содержать исполняемые команды, которые при выполнении заставляют вычислительную систему: выполнять лексико-морфологический анализ текста на естественном языке, содержащего множество токенов, где каждый токен содержит по крайней мере одно слово естественного языка; определять на основе лексико-морфологического анализа одно или более лексических значений и грамматических значений, связанных с каждым токеном в множестве токенов; для каждого токена в множестве токенов вычислять одну или более функции классификатора с использованием лексических и грамматических значений, ассоциированных с токеном, отличающиеся тем, что значение каждой функции классификатора указывает на оценку степени ассоциации токена с категорией именованных сущностей; выполнять синтактико-семантический анализ по меньшей мере части текста на естественном языке для получения множества семантических структур, представляющих часть текста на естественном языке; и интерпретировать семантические структуры с использованием набора продукционных правил для определения для одного или более токенов, входящих в часть текста на естественном языке, оценки степени ассоциации токена с категорией именованных сущностей.
Технический результат от внедрения изобретения состоит в достижении высокой точности и/или полноты распознавания именованных сущностей в текстах на естественном языке в сочетании с приемлемой скоростью распознавания за счет двухэтапного применения различающихся по глубине методов анализа текста в зависимости от результата предыдущего этапа.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0006] Настоящее изобретение иллюстрируется с помощью примеров, а не способом ограничения, и может быть лучше понято при рассмотрении приведенного ниже описания предпочтительных вариантов реализации в сочетании с чертежами, на которых:
[0007] На Фиг. 1 показана блок-схема примера реализации способа многоэтапного распознавания именованных сущностей в текстах на естественном языке на основе морфологических и семантических признаков в соответствии с одним или более аспектами настоящего изобретения;
[0008] На Фиг. 2 схематически показан пример графического интерфейса пользователя (GUI), который может применяться для получения данных, вводимых пользователем и определяющих категории именованных сущностей для отдельных токенов в представленном фрагменте текста на естественном языке в соответствии с одним или более аспектами настоящего изобретения;
[0009] На Фиг. 3 схематически показан пример размеченного текста на естественном языке, который может использоваться для обучения функции классификатора, вычисляющей оценку степени ассоциации токена из текста на естественном языке с некоторой категорией именованных сущностей в соответствии с одним или более аспектами настоящего изобретения;
[00010] На Фиг. 4 показана блок-схема примера реализации способа определения параметров функции классификатора, вычисляющей оценку степени ассоциации токена из текста на естественном языке с некоторой категорией именованных сущностей в соответствии с одним или более аспектами настоящего изобретения;
[00011] На Фиг. 5 приведена блок-схема иллюстративного примера способа семантико-синтаксического анализа предложения на естественном языке в соответствии с одним или более аспектами настоящего изобретения.
[00012] На Фиг. 6 схематически показан пример лексико-морфологической структуры предложения в соответствии с одним или более аспектами настоящего изобретения;
[00013] На Фиг. 7 схематически показаны языковые описания, представляющие модель естественного языка в соответствии с одним или более аспектами настоящего изобретения;
[00014] На Фиг. 8 схематически иллюстрируются примеры морфологических описаний в соответствии с одним или более аспектами настоящего изобретения;
[00015] На Фиг. 9 схематически иллюстрируются примеры синтаксических описаний в соответствии с одним или более аспектами настоящего изобретения;
[00016] На Фиг. 10 схематически иллюстрируются примеры семантических описаний в соответствии с одним или более аспектами настоящего изобретения;
[00017] На Фиг. 11 схематически иллюстрируются примеры лексических описаний в соответствии с одним или более аспектами настоящего изобретения;
[00018] На Фиг. 12 схематически иллюстрируются примеры структур данных, которые могут быть получены в рамках одного или более способов, реализованных в соответствии с одним или более аспектами настоящего изобретения;
[00019] На Фиг. 13 схематически иллюстрируется пример графа обобщенных составляющих в соответствии с одним или более аспектами настоящего изобретения;
[00020] На Фиг. 14 показан пример синтаксической структуры, соответствующей предложению, приведенному на Фиг. 13;
[00021] На Фиг. 15 приведена семантическая структура, соответствующая синтаксической структуре, показанной на Фиг. 14;
[00022] На Фиг. 16 показана схема примера вычислительной системы, реализующей методы настоящего изобретения.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ РЕАЛИЗАЦИИ
[00023] В данном разделе описаны способы и системы многоэтапного распознавания именованных сущностей в текстах на естественном языке на основе морфологических и семантических признаков. Описанные в настоящем документе системы и способы могут быть использованы в разнообразных приложениях обработки естественного языка, включая машинный перевод, построение семантического индекса, семантический поиск (включая многоязычный семантический поиск), классификацию документов, средства электронного обнаружения и др.
[00024] В настоящем документе термин «вычислительная система» означает устройство обработки данных, оснащенное универсальным процессором, памятью и по меньшей мере одним интерфейсом связи. Примерами вычислительных систем, которые могут использовать описанные в этом документе способы, являются, в частности, настольные компьютеры, ноутбуки, планшетные компьютеры и смартфоны.
[00025] Распознавание именованных сущностей (NER) представляет собой задачу по извлечению информации, в ходе выполнения которой производится выделение токенов в тексте на естественном языке и классификация их по заранее определенным категориям, таким как персоны, названия организаций, географические названия, даты, количества, денежные суммы, проценты и т.д. Эти категории могут быть представлены концептами заранее определенной или динамически выстраиваемой онтологии.
[00026] «Онтология» в настоящем документе означает модель, которая представляет объекты, относящиеся к определенной области знаний (предметной области), и отношения между данными объектами. Онтология может включать определения некого множества классов, где каждый класс соответствует концепту предметной области. Каждое определение класса может включать определения одного или более отнесенных к данному классу объектов. Согласно общепринятой терминологии, класс может также называться концептом онтологии, а принадлежащий классу объект может называться экземпляром данного концепта. Определение информационного объекта может представлять объект реального мира (например, человека или предмет) или определенные характеристики, связанные с одним или более объектами реального мира (например, числовой атрибут или качество). В некоторых реализациях информационный объект может быть ассоциирован с двумя или более классами.
[00027] В некоторых реализациях распознавание именованных сущностей может выполняться на базе синтактико-семантического анализа текста на естественном языке. Однако эти способы отличаются высокой вычислительной сложностью и поэтому не всегда подходят для обработки больших корпусов текстов на естественном языке или в других случаях, когда вычислительная сложность является проблемой.
[00028] Системы и способы, описанные в этом документе, повышают общую эффективность распознавания именованных сущностей при помощи двухэтапного процесса, в ходе которого на первом этапе выполняется распознавание именованных сущностей на базе лексико-морфологического анализа исходного текста на естественном языке, а второй этап включает синтактико-семантический анализ, при необходимости выполняемый по крайней мере для части текста на естественном языке в случаях, когда один или более показателей, отражающих качество выполнения распознавания именованных сущностей, оказываются ниже определенных пороговых значений. Поскольку лексико-морфологический анализ характеризуется низкой вычислительной сложностью по сравнению с синтактико-семантическим анализом, описанный в этом документе двухэтапный процесс распознавания именованных сущностей может быть более эффективным, чем одноэтапный процесс, включающий синтактико-семантический анализ, в частности, потому что на втором этапе процесс выполняется над относительно небольшим подмножеством исходного текста.
[00029] В соответствии с одним или более аспектами настоящего изобретения первый этап распознавания именованных сущностей включает лексико-морфологический анализ исходного текста на естественном языке. Лексико-морфологический анализ может давать для каждого предложения текста на естественном языке лексико-морфологическую структуру, представляющую это предложение. Лексико-морфологическая структура может содержать для каждого слова в предложении одно или более лексических значений и одно или более грамматических значений слова, которые могут быть представлены одной или более парами <лексическое значение - грамматическое значение>. Лексическое значение может включать одну или более соответствующих слову лемм (например, канонических или словарных форм), идентификатор семантического класса, связанного с данным словом, и одну или более классифицирующих или дифференцирующих семантем. Грамматическое значение может быть представлено множеством значений грамматических атрибутов, таких как падеж, род, число, спряжение, вид, время и т.д.
[00030] Полученные в результате анализа лексические и грамматические атрибуты могут использоваться в качестве признаков одного или более классификаторов, применяемых к каждому токену текста на естественном языке. Каждый классификатор может возвращать некоторое значение - оценку степени соотнесения некоторого токена с определенной категорией именованных сущностей, поэтому в дальнейшем будем говорить об одной или более функциях классификатора.
[00031] Затем вычислительная система может проверить предположение о необходимости проведения второго этапа распознавания именованных сущностей. В одном из иллюстративных примеров для просмотра представленного фрагмента текста на естественном языке с выделением токенов, соответствующих распознанным именованным сущностям, может использоваться графический интерфейс пользователя (GUI). Вычислительная система может воспринимать подтверждение или изменение категорий, сделанные пользователем, связанные с отдельными токенами, а также указание на токены и соответствующие категории именованных сущностей, которые не были обнаружены в ходе первой стадии распознавания именованных сущностей. В ответ на подтверждение пользователем, вычислительная система может определять точность и (или) полноту первого этапа распознавания именованных сущностей для представленного фрагмента текста. Значения этих показателей могут использоваться для определения необходимости проведения второго этапа распознавания именованных сущностей, как более подробно описано ниже.
[00032] В некоторых вариантах реализации изобретения может быть выполнен второй этап распознавания именованных сущностей для определенного подмножества исходного текста на естественном языке, например, одного или более предложений, в которых не было обнаружено именованных сущностей или для которых значение показателя качества оказалось ниже порогового значения.
[00033] Второй этап распознавания именованных сущностей может включать синтактико-семантический анализ исходного текста на естественном языке. Затем вычислительная система может использовать набор продукционных правил для интерпретации семантических структур, полученных в ходе синтактико-семантического анализа, с последующей генерацией множества объектов данных, соответствующих обнаруженным именованным сущностям, как более подробно описано ниже. Эта вычислительная система также может быть дополнена рабочей онтологией путем ассоциирования обнаруженных именованных сущностей с классами онтологии, соответствующими категориям именованных сущностей, как более подробно описано ниже.
[00034] Различные аспекты упомянутых выше способов и систем подробно описаны ниже в этом документе с помощью примеров, а не способом ограничения.
[00035] На Фиг. 1 показана блок-схема примера реализации способа многоэтапного распознавания именованных сущностей в текстах на естественном языке на основе морфологических и семантических признаков в соответствии с одним или более аспектами настоящего изобретения. Способ 100 и (или) каждая из его отдельных функций, процедур, подпрограмм или операций может быть реализована с помощью одного или более процессоров вычислительной системы (например, вычислительной системы 100 на Фиг. 1), в которой реализован этот способ. В некоторых вариантах реализации способ 100 может выполняться в одном потоке обработки. При альтернативном подходе способ 100 может быть реализован с использованием двух или более потоков обработки, при этом в каждом потоке реализована одна или более отдельных функций, процедур, подпрограмм или операций этого способа. В иллюстративном примере потоки обработки, в которых реализован способ 100, могут быть синхронизированы (например, с помощью семафоров, критических секций и (или) других механизмов синхронизации потоков). При альтернативном подходе потоки обработки, в которых реализован способ 100, могут выполняться асинхронно по отношению друг к другу. Таким образом, несмотря на то, что Фиг. 1 и соответствующее описание содержат список операций для способа 100 в определенном порядке, в различных вариантах осуществления способа как минимум некоторые из описанных операций могут выполняться параллельно и (или) в случайно выбранном порядке.
[00036] В блоке 110 вычислительная система, реализующая способ 100, может выполнить лексико-морфологический анализ исходного текста 101 на естественном языке, который может быть представлен, например, одним или более исходными документами. Лексико-морфологический анализ может давать для каждого предложения текста на естественном языке лексико-морфологическую структуру 112, представляющую это предложение. Такая лексико-морфологическая структура может содержать для каждого слова в предложении одно или более лексических значений и одно или более грамматических значений слова, которые могут быть представлены одной или более парами <лексическое значение - грамматическое значение>, которые могут быть названы «морфологическими значениями». Лексическое значение может включать одну или более соответствующих слову лемм (например, канонических или словарных форм), идентификатор семантического класса, связанного со словом, и одну или более классифицирующих или дифференцирующих семантем. Грамматическое значение может быть представлено множеством значений грамматических атрибутов, таких как падеж, род, число, спряжение, вид, время и т.д.
[00037] Отсутствующие в словаре слова (например, именованные сущности) могут быть связаны с заранее определенным семантическим классом (например, UNKNOWN). Грамматические значения слова, отсутствующего в словаре, могут быть определены с помощью псевдолемматизации (то есть восстановления возможной канонической формы несловарного слова), анализа контекста (например, двух и более слов, окружающих несловарное слово в предложении), капитализации одной или более букв несловарного слова и т.д.
[00038] Более подробное описание иллюстративного примера способа проведения лексико-морфологического анализа предложения приведено ниже в настоящем документе со ссылкой на Фиг. 6.
[00039] В блоке 115 вычислительная система на основе полученных в результате лексико-морфологического анализа значений атрибутов может сформировать множество значений признаков, используемых для дальнейшей классификации. В одних вариантах реализации для классификации используются признаки, признаются наиболее значимыми. Вычислительная система может формировать множество значимых признаков, исходя из одного или более факторов, включая статистические данные сочетаемости определенных лексем и семантических классов, частоте возникновения указанного лексического значения в корпусе текстов на естественном языке и т.д. В некоторых вариантах реализации изобретения из нескольких пар <лексическое значение - грамматическое значение>, ассоциированных с данным словом, вычислительная система может выбирать пару с максимальным значением оценки. В других вариантах реализации данного изобретения признаки для классификации могут выбираться иным способом, в том числе произвольным образом, например, могут учитываться все полученные значения, для чего может выполняться нормализация и свертка с целью понижения размерности.
[00040] В блоках 120-130 вычислительная система может выполнять итерации по множеству токенов текста на естественном языке. В блоке 120 вычислительная система может выбирать следующий токен из текста на естественном языке. Термин «токен» в этом документе означает одно или более смежных слов в тексте на естественном языке.
[00041] В блоке 125 вычислительная система может вычислять для каждого токена оценку степени соотнесения с одной или более категориями именованных сущностей. Степень соотнесения некоторого токена с данной категорией именованных сущностей может быть представлена в иллюстративном примере в виде действительного числа, выбираемого в интервале [0, 1].
[00042] Для определения оценки степени соотнесения токена из исходного текста на естественном языке с соответствующей категорией именованных сущностей для каждой категории именованных сущностей может быть использован один или более функций классификатора, определенных в гиперпространстве лексических и грамматических признаков. В иллюстративном примере для категории «Персона» могут использоваться следующие функции классификатора: первая функция классификатора для распознавания токенов в текстах на естественном языке, ссылающихся на персоны по фамилии, вторая функция классификатора для распознавания токенов, ссылающихся на персоны по имени и фамилии, и третья функция классификатора для распознавания токенов, ссылающихся на персоны по имени, необязательному отчеству и фамилии в различном порядке. В другом иллюстративном примере для категории «Геолокация» могут использоваться следующие функции классификатора: первая функция классификатора для распознавания токенов в текстах на естественном языке, относящихся к странам, вторая функция классификатора для распознавания токенов, относящихся к городам, и третья функция классификатора для распознавания токенов, относящихся к морям и рекам.
[00043] Построение функций классификатора и корректировка их параметров с помощью методов машинного обучения подробно описаны ниже.
[00044] Для каждого токена в множестве токенов текста на естественном языке вектор значений лексических и грамматических признаков, характеризующих этот токен, может использоваться одной или более функциями классификатора для определения оценки степени ассоциации токена с соответствующими категориями именованных сущностей, завершая первый этап процесса распознавания именованных сущностей.
[00045] При достижении конца текста в блоке 130, обработка может продолжаться в блоке 135, в противном случае способ может возвратиться к блоку 120.
[00046] В блоках 135-140 вычислительная система может проверить предположение о необходимости проведения второй стадии распознавания именованных сущностей на анализируемом фрагменте текста. В некоторых вариантах реализации изобретения вычислительная система может в блоке 135 вычислить один или более показателей качества для данного фрагмента, характеризующих точность и (или) полноту первого этапа распознавания именованных сущностей. Точность распознавания именованных сущностей после первого этапа может быть охарактеризована отношением числа токенов, верно ассоциированных с категориями, к числу токенов, представляющих именованные сущности, которые были идентифицированы в тексте на естественном языке. Полнота распознавания именованных сущностей может быть характеризована отношением числа токенов, верно ассоциированных с категориями после первого этапа распознавания, к общему числу токенов, представляющих именованные сущности в тексте на естественном языке.
[00047] В некоторых вариантах осуществления изобретения точность и (или) полноту первого этапа распознавания именованных сущностей можно оценить, исходя из данных, вводимых пользователем через графический интерфейс пользователя (GUI). В одном из иллюстративных примеров графический интерфейс пользователя (GUI) может использоваться для вывода представленного фрагмента текста на естественном языке с выделением токенов, соответствующих распознанным именованным сущностям, как схематически показано на Фиг. 2. В одном из иллюстративных примеров токены, ассоциированные с каждой из категорий именованных сущностей, могут выделяться определенным цветом. В другом случае категория, ассоциированная с выбранным в данный момент токеном 210, и другая имеющая отношение к делу информация, может быть предоставлена в таблице 220, которая может быть визуально связана с фрагментом текста на естественном языке. Вычислительная система может воспринимать ввод пользователем данных, подтверждающих или изменяющих категории, связанные с отдельными токенами, а также указывающих на токены и соответствующие категории именованных сущностей, которые не были обнаружены в ходе первой стадии распознавания именованных сущностей.
[00048] В некоторых вариантах осуществления изобретения в ответ на получение данных, вводимых пользователем, вычислительная система может определять точность и (или) полноту первого этапа распознавания именованных сущностей для представленного фрагмента текста. Эти показатели качества могут считаться относящимися ко всему анализируемому тексту и использоваться для определения необходимости выполнения второго этапа распознавания именованных сущностей. В одном из иллюстративных примеров в случае обнаружения в блоке 140 того факта, что по крайней мере один показатель качества оказался ниже соответствующего заранее определенного или динамически определяемого порогового значения, обработка должна быть продолжена в блоке 145. В противном случае способ может быть завершен.
[00049] В некоторых вариантах осуществления изобретения второй этап распознавания именованных сущностей может выполняться для определенного подмножества исходного текста на естественном языке, которое может быть определено в блоке 145. В одном из иллюстративных примеров реализации вычислительная система может в блоке 145 идентифицировать одно или более предложений, в которых не были распознаны именованные сущности. В другом иллюстративном примере реализации вычислительная система может в блоке 145 определить одно или более предложений, в которых показатель качества оказался ниже соответствующего заранее определенного или динамически настраиваемого порогового значения. Затем вычислительная система может выполнять второй этап распознавания именованных сущностей в отношении одного или более фрагментов текста, содержащих выбранные предложения. В еще одном иллюстративном примере вычислительная система может в блоке 145 идентифицировать одно или более предложений (например, предложений, содержащих только словарные слова), которые следует исключить из второго этапа анализа.
[00050] В блоке 150 вычислительная система может инициировать второй этап распознавания именованных сущностей, включающий выполнение синтактико-семантического анализа исходного текста 101 на естественном языке. Синтактико-семантический анализ приводит к получению семантических структур 152, представляющих предложения текста на естественном языке в независимых от языка терминах, как будет подробно описано ниже со ссылками на Фиг. 5-15.
[00051] В блоке 155 вычислительная система может интерпретировать множество семантических структур, используя набор продукционных правил для обнаружения объектов, представляющих именованные сущности, которые удалось идентифицировать, как подробно описано ниже.
[00052] В некоторых вариантах осуществления изобретения извлеченные объекты могут быть представлены в виде RDF-графа 157. RDF присваивает уникальный идентификатор каждому информационному объекту и сохраняет информацию о таком объекте в виде триплетов SPO, где S обозначает «субъект» и содержит идентификатор объекта, Р обозначает «предикат» и определяет некоторое свойство этого объекта, а О обозначает «объект» и сохраняет значение этого свойства данного объекта Это значение может быть как примитивным типом данных (строкой, числом, булевым значением), так и идентификатором другого объекта. В одном из иллюстративных примеров триплет SPO может ассоциировать токен из текста на естественном языке с категорией именованных сущностей.
[00053] Продукционные правила, которые используются для интерпретации семантических структур, могут включать правила интерпретации и правила идентификации. Правило интерпретации может содержать левую часть, представленную набором логических выражений, определенных на одном или более шаблонах семантических структур, и правую часть, представленную одним или более утверждениями, относящимися к информационным объектам, которые представляют сущности, ссылающиеся на текст на естественном языке.
[00054] Шаблон семантической структуры может содержать определенные элементы семантической структуры (например, проверку принадлежности к определенным лексическим/семантическим классам, нахождение в определенной поверхностной или глубинной позиции, наличие определенной граммемы или семантемы, и т.д.). Отношения между элементами семантических структур могут задаваться с помощью одного или более логических выражений (конъюнкция, дизъюнкция и отрицание) и (или) операций, характеризующих взаимное расположение узлов в синтактико-семантическом дереве. В качестве иллюстративного примера такая операция может проверять, принадлежит ли узел к поддереву другого узла.
[00055] Совпадение шаблона, определенного левой частью продукционного правила семантической структуры, с семантической структурой, представляющей по крайней мере часть предложения текста на естественном языке, может запускать правую сторону продукционного правила. Правая часть продукционного правила может связывать один или более атрибутов (относящихся к лексическим, синтаксическим и (или) семантическим свойствам слов оригинального предложения) с информационными объектами, представленными вершинами. В одном из иллюстративных примеров правая сторона правила интерпретации может содержать утверждение, связывающее токен из текста на естественном языке с категорией именованных сущностей.
[00056] Правило идентификации может использоваться для связывания пары информационных объектов, которые представляют одну и ту же сущность реального мира. Правило идентификации представляет собой продукционное правило, левая часть которого содержит одно или более логических выражений, относящихся к узлам семантического дерева, соответствующим информационным объектам. Если пара информационных объектов соответствует условию, определенному логическими выражениями, информационные объекты объединяют в один информационный объект.
[00057] Несмотря на то, что в иллюстративном примере на Фиг. 1 второй этап способа распознавания именованных сущностей использует в блоке 155 продукционные правила, в различных альтернативных вариантах реализации изобретения могут использоваться функции классификатора, которые могут, наряду с лексическими и морфологическими признаками, использовать синтаксические и (или) семантические признаки, полученные при лексико-семантическом анализе текста на естественном языке. В некоторых вариантах осуществления изобретения способ распознавания именованных сущностей может использовать сочетание продукционных правил и моделей классификаторов.
[00058] Рассмотрим еще раз Фиг. 1, в блоке 160 вычислительная система может расширять рабочую онтологию 162, связывая идентифицированные именованные сущности с классами онтологии, соответствующими категориям этих именованных сущностей. Рабочая онтология 162 может быть затем использована в разнообразных приложениях обработки естественного языка, включая машинный перевод, построение семантического индекса, семантический поиск (включая многоязычный семантический поиск), классификацию документов, системы электронного обнаружения и др. После завершения операций, указанных в блоке 160, выполнение способа может быть завершено.
[00059] Как указано выше, в некоторых вариантах осуществления изобретения при вычислении приближенной оценки степени соотнесения данного токена естественного языка с некоторой категорией именованных сущностей вычислительная система может использовать функции классификатора. Определенные параметры этих функций классификатора могут корректироваться с помощью методов машинного обучения, которые используют заранее определенные или динамически созданные наборы данных. Набор тестовых данных может содержать один или более текстов на естественном языке, в которых отмечены отдельные именованные сущности и соответствующие им категории. В одном из иллюстративных примеров подобный набор тестовых данных может создаваться или обновляться с помощью GUI, предназначенного для получения данных от пользователя, который выделяет одно или более смежных слов и ассоциирует их с категорией именованных сущностей.
[00060] В некоторых вариантах осуществления изобретения функция классификатора может быть получена методом адаптивного улучшения (AdaBoost) классификатора дерева решений. Алгоритм дерева решений использует дерево решений в качестве прогнозирующей модели для установления соответствия наблюдаемых параметров элемента (например, лексических или грамматических признаков токена естественного языка) с выводами об искомом значении элемента (например, категории именованных сущностей, ассоциированной с токеном естественного языка). Этот способ может использоваться с классифицирующим деревом, в котором каждый внутренний узел помечен входящим признаком (например, лексическими или грамматическими признаками токена естественного языка). Дуги, связанные с узлом, который помечен признаком, помечены возможными значениями входящего признака. Каждый лист дерева помечен идентификатором класса (например, категорией именованных сущностей, которая ассоциирована с токеном естественного языка) или степенью ассоциации с этим классом.
[00061] В некоторых вариантах осуществления изобретения обучающая выборка данных, используемая в методах машинного обучения, может содержать один или более текстов на естественном языке, в которых указаны категории именованных сущностей, ассоциированные с отдельными токенами, как схематически показано на Фиг. 3. В примере на Фиг. 3 открывающие и закрывающие теги <PER> и </PER> используются для определения токенов, которые относятся к персонам, открывающие и закрывающие теги <LOC> и </LOC> используются для определения токенов, которые относятся к геолокации, открывающие и закрывающие теги <EVENT> и </EVENT> используются для указания токенов, относящихся к событиям, а открывающие и закрывающие теги <DAY> и </DAY> используются для определения токенов, которые относятся к календарным датам. Для описания токенов, ссылающихся на объекты, связанные с другими категориями именованных сущностей, могут использоваться другие теги.
[00062] В некоторых вариантах осуществления изобретения для определения подкатегорий именованных сущностей могут использоваться дополнительные квалифицирующие теги. В одном из иллюстративных примеров объект, ссылающийся на тег <EVENT>, может быть дополнительно квалифицирован с помощью дополнительных тегов, таких как: спортивное событие, празднование юбилея, премьера представления, выпуск фильма в прокат, выпуск продукта и т.д. В другом иллюстративном примере объект, ссылающийся на тег <PER>, может быть дополнительно квалифицирован с помощью дополнительных тегов, таких как: политик, знаменитость, писатель, художник и т.д. В еще одном иллюстративном примере объект, ссылающийся на тег <LOC>, может быть дополнительно квалифицирован с помощью дополнительных тегов, таких как: континент, страна, город, столица, улица и т.д.
[00063] На Фиг. 4 показана блок-схема примера способа определения параметров функции классификатора, вычисляющей оценку степени ассоциации токена из текста на естественном языке с определенной категорией именованных сущностей в соответствии с одним или более аспектами настоящего изобретения. Способ 400 и (или) каждая из его отдельных функций, процедур, подпрограмм или операций может быть реализована с помощью одного или более процессоров вычислительной системы (например, вычислительной системы 400 на Фиг. 4), в которой реализован этот способ. В некоторых вариантах реализации способ 400 может выполняться в одном потоке обработки. При альтернативном подходе способ 400 может быть реализован с помощью двух или более потоков обработки, при этом каждый поток выполняет одну или более отдельных функций, стандартных программ, подпрограмм или операций данного способа. В иллюстративном примере потоки обработки, реализующие способ 400, могут быть синхронизированы (например, с помощью семафоров, критических секций и (или) других механизмов синхронизации потоков). В качестве альтернативы, потоки обработки, реализующие способ 400, могут выполняться асинхронно по отношению друг к другу. Поэтому, хотя Фиг. 4 и соответствующие списки содержат операции способа 400 в определенном порядке, различные реализации способа могут выполнять по крайней мере некоторые из перечисленных операций параллельно и (или) в произвольно выбранном порядке.
[00064] В блоке 410 реализующая способ 400 вычислительная система может выполнять лексико-морфологический анализ одного или более текстов на естественном языке, составляющих обучающую выборку. Лексико-морфологический анализ может давать для каждого предложения текста на естественном языке лексико-морфологическую структуру, представляющую это предложение. Также лексико-морфологическая структура может содержать для каждого слова в предложении одно или более лексических значений и одно или более грамматических значений слова, которые могут быть представлены одной или более парами <лексическое значение - грамматическое значение>.
[00065] В блоке 420 вычислительная система на основе полученных в результате лексико-морфологического анализа значений атрибутов может сформировать множество признаков, используемых для классификации. В одних вариантах реализации для классификации выбираются признаки, которые по результатам экспериментов признаются наиболее значимыми для выбранной категории сущностей, т.е. имеют наибольший рейтинг. Вычислительная система может определить значение рейтинга, исходя из одного или более факторов, включая статистические данные сочетаемости лексем и семантических классов, частоте встречаемости указанного лексического значения в корпусе текстов на естественном языке и т.д.
[00066] В некоторых вариантах реализации вычислительная система может разрешать неоднозначность, возникающую в текстах на естественном языке из-за возможной омонимии и (или) совпадающих грамматических форм, соответствующих различным лексическим значениям определенного слова, что часто приводит к тому, что с с одним словом будут ассоциированы две или более пары <лексическое значение - грамматическое значение>. В некоторых вариантах реализации вычислительная система может разрешать неоднозначность для обучающей и тестовой выборки, для этого вычислительная система может сопоставить каждой паре <лексическое значение - грамматическое значение> некоторую оценку, которая может в иллюстративном примере быть выражена действительным числом, выбираемым в интервале [0; 1]. Вычислительная система может определить значение оценки, исходя из одного или более факторов, включая статистические данные сочетаемости лексем и семантических классов, частоте встречаемости указанного лексического значения в корпусе текстов на естественном языке и т.д. В некоторых вариантах реализации изобретения из нескольких пар <лексическое значение - грамматическое значение>, ассоциированных с данным словом, вычислительная система может выбирать пару с максимальным значением оценки.
[00067] В других вариантах реализации данного изобретения признаки для классификации могут выбираться иным способом, в том числе произвольным образом, например, могут учитываться все полученные в результате лексико-морфологического анализа атрибуты, для чего может выполняться нормализация и свертка с целью понижения размерности.
[00068] В блоке 430 вычислительная система может определять значения параметров классификатора, которые оптимизируют выбранную целевую функцию (например, обеспечат максимально возможную точность и (или) полноту распознавания именованных сущностей в обучающей выборке данных при использовании определенных значений параметров классификатора), и выполнение способа может быть завершено.
[00069] На Фиг. 5 приведена блок-схема одного иллюстративного примера реализации способа 200 для выполнения семантико-синтаксического анализа предложения на естественном языке 212 в соответствии с одним или несколькими аспектами настоящего изобретения. Способ 200 может быть применен к одной или более синтаксическим единицам (например, предложениям), включенным в определенный текстовый корпус, для формирования множества семантико-синтаксических деревьев, соответствующих синтаксическим единицам. В различных иллюстративных примерах подлежащие обработке способом 200 предложения на естественном языке могут извлекаться из одного или нескольких электронных документов, которые могут создаваться путем сканирования (или другим способом получения изображений бумажных документов) и оптического распознавания символов (OCR) для получения текстов, соответствующих этим документам. Предложения на естественном языке также могут извлекаться из других различных источников, включая сообщения, отправляемые по электронной почте, тексты из социальных сетей, файлы с цифровым содержимым, обработанные с использованием способов распознавания речи и т.д.
[00070] В блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для установления морфологических значений слов, входящих в состав предложения. В настоящем документе "морфологическое значение" слова означает одну или несколько лемм (т.е. канонических или словарных форм), соответствующих слову, и соответствующий набор значений грамматических признаков, которые определяют грамматическое значение слова. В число таких грамматических признаков могут входить лексическая категория (часть речи) слова и один или более морфологических и грамматических признаков (например, падеж, род, число, спряжение и т.д.). Ввиду омонимии и (или) совпадающих грамматических форм, соответствующих разным лексико-морфологическим значениям определенного слова, для данного слова может быть установлено два или более морфологических значений. Более подробное описание иллюстративного примера проведения лексико-морфологического анализа предложения приведено ниже в настоящем документе со ссылкой на Фиг. 7.
[00071] В блоке 215 вычислительное устройство может проводить грубый синтаксический анализ предложения 212. Грубый синтаксический анализ может включать применение одной или нескольких синтаксических моделей, которые могут быть соотнесены с элементами предложения 212, с последующим установлением поверхностных (т.е. синтаксических) связей в рамках предложения 212 для получения графа обобщенных составляющих. В настоящем документе "составляющая" означает группу соседних слов исходного предложения, функционирующую как одна грамматическая сущность. Составляющая включает в себя ядро в виде одного или более слов и может также включать одну или несколько дочерних составляющих на более низких уровнях. Дочерняя составляющая является зависимой составляющей, которая может быть соотнесена с одной или несколькими родительскими составляющими.
[00072] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев предложения. Среди различных синтаксических деревьев на основе определенной функции оценки с учетом совместимости лексических значений слов исходного предложения, поверхностных отношений, глубинных отношений и т.д. может быть отобрано одно или несколько лучших синтаксических деревьев, соответствующих предложению 212.
[00073] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может включать множество узлов, соответствующих семантическим классам и также может включать множество дуг, соответствующих семантическим отношениям (более подробное описание см. ниже в настоящем документе).
[00074] Фиг. 6 схематически иллюстрирует пример лексико-морфологической структуры предложения в соответствии с одним или более аспектами настоящего изобретения. Пример лексико-морфологической структуры 300 может включать множество пар "лексическое значение - грамматическое значение" для примера предложения. В качестве иллюстративного примера, "ll" может быть соотнесено с лексическим значением "shall" 312 и "will" 314. Грамматическим значением, соотнесенным с лексическим значением 312, является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Composite II>. Грамматическим значением, соотнесенным с лексическим значением 314, является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Irregular, Composite II>.
[00075] Фиг. 7 схематически иллюстрирует используемые языковые описания 210, в том числе морфологические описания 201, лексические описания 203, синтаксические описания 202 и семантические описания 204, а также отношения между ними. Среди них морфологические описания 201, лексические описания 203 и синтаксические описания 202 зависят от языка. Набор языковых описаний 210 представляет собой модель определенного естественного языка.
[00076] В качестве иллюстративного примера определенное лексическое значение в лексических описаниях 203 может быть соотнесено с одной или несколькими поверхностными моделями синтаксических описаний 202, соответствующих данному лексическому значению. Определенная поверхностная модель синтаксических описаний 202 может быть соотнесена с глубинной моделью семантических описаний 204.
[00077] На Фиг. 8 схематически иллюстрируются несколько примеров морфологических описаний. В число компонентов морфологических описаний 201 могут входить: описания словоизменения 310, грамматическая система 320, описания словообразования 330 и другие. Грамматическая система 320 включает набор грамматических категорий, таких как часть речи, падеж, род, число, лицо, возвратность, время, вид и их значения (так называемые "граммемы"), в том числе, например, прилагательное, существительное или глагол; именительный, винительный или родительный падеж; женский, мужской или средний род и т.д. Соответствующие граммемы могут использоваться для составления описания словоизменения 310 и описания словообразования 330.
[00078] Описание словоизменения 310 определяет формы данного слова в зависимости от его грамматических категорий (например, падеж, род, число, время и т.д.) и в широком смысле включает в себя или описывает различные возможные формы слова. Описание словообразования 330 определяет, какие новые слова могут быть образованы от данного слова (например, сложные слова).
[00079] В соответствии с одним из аспектов настоящего изобретения при установлении синтаксических отношений между элементами исходного предложения могут использоваться модели составляющих. Составляющая представляет собой группу соседних слов в предложении, ведущих себя как единое целое. Ядром составляющей является слово, она также может содержать дочерние составляющие более низких уровней. Дочерняя составляющая является зависимой составляющей и может быть прикреплена к другим составляющим (родительским) для построения синтаксических описаний 202 исходного предложения.
[00080] На Фиг. 9 приведены примеры синтаксических описаний. В число компонентов синтаксических описаний 202 могут входить, среди прочего, поверхностные модели 410, описания поверхностных позиций 420, описание референциального и структурного контроля 456, описание управления и согласования 440, описание недревесного синтаксиса 450 и правила анализа 460. Синтаксические описания 202 могут использоваться для построения возможных синтаксических структур исходного предложения на заданном естественном языке с учетом свободного линейного порядка слов, недревесных синтаксических явлений (например, согласование, эллипсис и т.д.), референциальных отношений и других факторов.
[00081] Поверхностные модели 410 могут быть представлены в виде совокупностей одной или нескольких синтаксических форм («синтформ» 412) для описания возможных синтаксических структур предложений, входящих в состав синтаксического описания 202. В целом, лексическое значение слова на естественном языке может быть связано с поверхностными (синтаксическими) моделями 410. Поверхностная модель может представлять собой составляющие, которые возможны, если лексическое значение выступает в роли "ядра". Поверхностная модель может включать набор поверхностных позиций дочерних элементов, описание линейного порядка и (или) диатезу. В настоящем документе "диатеза" означает определенное отношение между поверхностными и глубинными позициями и их семантическими ролями, выражаемыми посредством глубинных позиций. Например, диатеза может быть выражаться залогом глагола: если субъект является агентом действия, глагол в активном залоге, а когда субъект является направлением действия, это выражается пассивным залогом глагола.
[00082] В модели составляющих может использоваться множество поверхностных позиций 415 дочерних составляющих и описаний их линейного порядка 416 для описания грамматических значений 414 возможных заполнителей этих поверхностных позиций. Диатезы 417 представляют собой соответствия между поверхностными позициями 415 и глубинными позициями 514 (как показано на Фиг. 12). Коммуникативные описания 480 описывают коммуникативный порядок в предложении.
[00083] Описание линейного порядка (416) может быть представлено в виде выражений линейного порядка, отражающих последовательность, в которой различные поверхностные позиции (415) могут встречаться в предложении. В число выражений линейного порядка могут входить наименования переменных, имена поверхностных позиций, круглые скобки, граммемы, оператор «or» (или) и т.д. В качестве иллюстративного примера описание линейного порядка простого предложения "Boys play football" можно представить в виде "Subject Core Object_Direct" (Подлежащее - Ядро - Прямое дополнение), где Subject (Подлежащее), Core (Ядро) и Object_Direct (Прямое дополнение) представляют собой имена поверхностных позиций 415, соответствующих порядку слов.
[00084] Коммуникативные описания 480 могут описывать порядок слов в синтформе 412 с точки зрения коммуникативных актов, представленных в виде коммуникативных выражений порядка, которые похожи на выражения линейного порядка. Описания управления и согласования 440 может включать правила и ограничения на грамматические значения присоединяемых составляющих, которые используются во время синтаксического анализа.
[00085] Описания недревесного синтаксиса 450 могут создаваться для отражения различных языковых явлений, таких как эллипсис и согласование, они используются при трансформациях синтаксических структур, которые создаются на различных этапах анализа в различных вариантах реализации изобретения. Описания недревесного синтаксиса 450 могут, среди прочего, включать описание эллипсиса 452, описания согласования 454, а также описания референциального и структурного контроля 430.
[00086] Правила анализа 460 могут описывать свойства конкретного языка и использоваться в рамках семантического анализа. Правила анализа 460 могут включать правила вычисления семантем 462 и правила нормализации 464. Правила нормализации 464 могут использоваться для описания трансформаций семантических структур, которые могут отличаться в разных языках.
[00087] На Фиг. 10 приведен пример семантических описаний. Компоненты семантических описаний 204 не зависят от языка и могут, среди прочего, включать семантическую иерархию 510, описания глубинных позиций 520, систему семантем 530 и прагматические описания 540.
[00088] Ядро семантических описаний может быть представлено семантической иерархией 510, в которую могут входить семантические понятия (семантические сущности), также называемые семантическими классами. Последние могут быть упорядочены в иерархическую структуру, отражающую отношения "родитель-потомок". В целом, дочерний семантический класс может унаследовать одно или более свойств своего прямого родителя и других семантических классов-предков. В качестве иллюстративного примера семантический класс SUBSTANCE (Вещество) является дочерним семантическим классом класса ENTITY (Сущность) и родительским семантическим классом для классов GAS, (Газ), LIQUID (Жидкость), METAL (Металл), WOOD_MATERIAL (Древесина) и т.д.
[00089] Каждый семантический класс в семантической иерархии 510 может сопровождаться глубинной моделью 512. Глубинная модель 512 семантического класса может включать множество глубинных позиций 514, которые могут отражать семантические роли дочерних составляющих в различных предложениях с объектами данного семантического класса в качестве ядра родительской составляющей. Глубинная модель 512 также может включать возможные семантические классы, выступающие в роли заполнителей глубинных позиций. Глубинные позиции (514) могут выражать семантические отношения, в том числе, например, "agent" (агенс), "addressee" (адресат), "instrument" (инструмент), "quantity" (количество) и т.д. Дочерний семантический класс может наследовать и уточнять глубинную модель своего непосредственного родительского семантического класса.
[00090] Описания глубинных позиций 520 отражают семантические роли дочерних составляющих в глубинных моделях 512 и могут использоваться для описания общих свойств глубинных позиций 514. Описания глубинных позиций 520 также могут содержать грамматические и семантические ограничения в отношении заполнителей глубинных позиций 514. Свойства и ограничения, связанные с глубинными позициями 514 и их возможными заполнителями в различных языках, могут быть в значительной степени подобными и зачастую идентичными. Таким образом, глубинные позиции 514 не зависят от языка.
[00091] Система семантем 530 может представлять собой множество семантических категорий и семантем, которые представляют значения семантических категорий. В качестве иллюстративного примера семантическая категория "DegreeOfComparison" (Степень сравнения) может использоваться для описания степени сравнения прилагательных и включать следующие семантемы: "Positive" (Положительная), "ComparativeHigherDegree" (Сравнительная степень сравнения), "SuperlativeHighestDegree" (Превосходная степень сравнения) и другие. В качестве еще одного иллюстративного примера семантическая категория "RelationToReferencePoint" (Отношение к точке) может использоваться для описания порядка (пространственного или временного в широком смысле анализируемых слов), как, например, до или после точки или события, и включать семантемы "Previous" (Предыдущий) и "Subsequent" (Последующий). В качестве еще одного иллюстративного примера семантическая категория "EvaluationObjective" (Оценка) может использоваться для описания объективной оценки, как, например, "Bad" (Плохой), "Good" (Хороший) и т.д.
[00092] Система семантем 530 может включать независимые от языка семантические атрибуты, которые могут выражать не только семантические характеристики, но и стилистические, прагматические и коммуникативные характеристики. Некоторые семантемы могут использоваться для выражения атомарного значения, которое находит регулярное грамматическое и (или) лексическое выражение в естественном языке. По своему целевому назначению и использованию системы семантем могут разделяться на категории, например, грамматические семантемы 532, лексические семантемы 534 и классифицирующие грамматические (дифференцирующие) семантемы 536.
[00093] Грамматические семантемы 532 могут использоваться для описания грамматических свойств составляющих при преобразовании синтаксического дерева в семантическую структуру. Лексические семантемы 534 могут описывать конкретные свойства объектов (например, "being fiat" (быть плоским) или "being liquid" (являться жидкостью)) и использоваться в описаниях глубинных позиций 520 как ограничение заполнителей глубинных позиций (например, для глаголов "face (with)" (облицовывать) и "flood" (заливать), соответственно). Классифицирующие грамматические (дифференцирующие) семантемы 536 могут выражать дифференциальные свойства объектов внутри одного семантического класса. В качестве иллюстративного примера в семантическом классе HAIRDRESSER (ПАРИКМАХЕР) семантема <<RelatedToMen>> (Относится к мужчинам) присваивается лексическому значению "barber" в отличие от других лексических значений, которые также относятся к этому классу, например, «hairdresser», «hairstylist» и т.д. Используя данные независимые от языка семантические свойства, которые могут быть выражены в виде элементов семантического описания, в том числе семантических классов, глубинных позиций и семантем, можно извлекать семантическую информацию в соответствии с одним или более аспектами настоящего изобретения.
[00094] Прагматические описания 540 позволяют назначать определенную тему, стиль или жанр текстам и объектам семантической иерархии 510 (например, «Экономическая политика», «Внешняя политика», «Юриспруденция», «Законодательство», «Торговля», «Финансы» и т.д.). Прагматические свойства также могут выражаться семантемами. В качестве иллюстративного примера прагматический контекст может приниматься во внимание при семантическом анализе.
[00095] На Фиг. 11 приведен пример лексических описаний. Лексические описания (203) представляют собой множество лексических значений 612 конкретного естественного языка. Для каждого лексического значения 612 имеется связь 602 с его независимым от языка семантическим родителем для того, чтобы указать положение какого-либо заданного лексического значения в семантической иерархии 510.
[00096] Лексическое значение 612 в лексико-семантической иерархии 510 может быть соотнесено с поверхностной моделью 410, которая в свою очередь через одну или несколько диатез 417 может быть соотнесена с соответствующей глубинной моделью 512. Лексическое значение 612 может наследовать семантический класс своего родителя и уточнять свою глубинную модель 512.
[00097] Поверхностная модель 410 лексического значения может включать одну или несколько синтаксических форм 412. Синтформа 412 поверхностной модели 410 может включать одну или несколько поверхностных позиций 415, в том числе соответствующие описания их линейного порядка 416, одно или несколько грамматических значений 414, выраженных в виде набора грамматических категорий (граммем), одно или несколько семантических ограничений, соотнесенных с заполнителями поверхностных позиций, и одну или несколько диатез 417. Семантические ограничения, соотнесенные с определенным заполнителем поверхностной позиции, могут быть представлены в виде одного или более семантических классов, объекты которых могут заполнить эту поверхностную позицию.
[00098] На Фиг. 12 схематически иллюстрируются примеры структур данных, которые могут быть использованы в рамках одного или более методов настоящего изобретения. Снова ссылаясь на Фиг. 6, в блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для построения лексико-морфологической структуры 722 согласно Фиг. 13. Лексико-морфологическая структура 722 может включать множество соответствий лексического и грамматического значений для каждой лексической единицы (например, слова) исходного предложения. Фиг. 7 схематически иллюстрирует пример лексико-морфологической структуры.
[00099] Снова возвращаясь к Фиг. 6, в блоке 215 вычислительное устройство может проводить грубый синтаксический анализ исходного предложения 212 для построения графа обобщенных составляющих 732 согласно Фиг. 13. Грубый синтаксический анализ предполагает применение одной или нескольких возможных синтаксических моделей возможных лексических значений к каждому элементу множества элементов лексико-морфологической структуры 722, с тем чтобы установить множество потенциальных синтаксических отношений в составе исходного предложения 212, представленных графом обобщенных составляющих 732.
[000100] Граф обобщенных составляющих 732 может быть представлен ациклическим графом, включающим множество узлов, соответствующих обобщенным составляющим исходного предложения 212 и включающим множество дуг, соответствующих поверхностным (синтаксическим) позициям, которые могут выражать различные типы отношений между обобщенными лексическими значениями. В рамках данного способа может применяться множество потенциально применимых синтаксических моделей для каждого элемента множества элементов лексико-морфологических структур исходного предложения 212 для формирования набора составляющих исходного предложения 212. Затем в рамках способа может рассматриваться множество возможных составляющих исходного предложения 212 для построения графа обобщенных составляющих 732 на основе набора составляющих. Граф обобщенных составляющих 732 на уровне поверхностной модели может отражать множество потенциальных связей между словами исходного предложения 212. Поскольку количество возможных синтаксических структур может быть относительно большим, граф обобщенных составляющих 732 может, в общем случае, включать избыточную информацию, в том числе относительно большое число лексических значений по определенным узлам и (или) поверхностных позиций по определенным дугам графа.
[000101] Граф обобщенных составляющих 732 может изначально строиться в виде дерева, начиная с концевых узлов (листьев) и двигаясь далее к корню, путем добавления дочерних составляющих, заполняющих поверхностные позиции 415 множества родительских составляющих, с тем чтобы были охвачены все лексические единицы исходного предложения 212.
[000102] В некоторых вариантах осуществления корень графа обобщенных составляющих 732 представляет собой предикат. В ходе описанного выше процесса дерево может стать графом, так как определенные составляющие более низкого уровня могут быть включены в одну или несколько составляющих верхнего уровня. Множество составляющих, которые представляют определенные элементы лексико-морфологической структуры, затем может быть обобщено для получения обобщенных составляющих. Составляющие могут быть обобщены на основе их лексических значений или грамматических значений 414, например, на основе частей речи и отношений между ними. На Фиг. 13 схематически иллюстрируется пример графа обобщенных составляющих.
[000103] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев 742 согласно Фиг. 13 на основе графа обобщенных составляющих 732. Для каждого синтаксического дерева вычислительное устройство может определить интегральную оценку на основе априорных и вычисляемых оценок. Дерево с наилучшей оценкой может быть выбрано для построения наилучшей синтаксической структуры 746 исходного предложения 212.
[000104] В ходе построения синтаксической структуры 746 на основе выбранного синтаксического дерева вычислительное устройство может установить одну или несколько недревесных связей (например, путем создания дополнительной связи среди, как минимум, двух узлов графа). Если этот процесс заканчивается неудачей, вычислительное устройство может выбрать синтаксическое дерево с условно оптимальной оценкой, наиболее близкой к оптимальной, и производится попытка установить одну или несколько недревесных связей в дереве. Наконец, в результате точного синтаксического анализа создается синтаксическая структура 746, которая представляет собой лучшую синтаксическую структуру, соответствующую исходному предложению 212. Фактически в результате отбора лучшей синтаксической структуры 746 определяются лучшие лексические значения 240 для элементов исходного предложения 212.
[000105] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может отражать передаваемую исходным предложением семантику в независимых от языка терминах. Семантическая структура 218 может быть представлена в виде ациклического графа (например, дерево, возможно, дополненное одной или более недревесной связью (дугой графа). Слова исходного предложения представлены узлами с соответствующими независимыми от языка семантическими классами семантической иерархии 510. Дуги графа представляют глубинные (семантические) отношения между элементами предложения. Переход к семантической структуре 218 может осуществляться с помощью правил анализа 460 и предполагает соотнесение одного или более атрибутов (отражающих лексические, синтаксические и (или) семантические свойства слов исходного предложения 212) с каждым семантическим классом.
[000106] На Фиг. 14 приводится пример синтаксической структуры предложения, сгенерированной из графа обобщенных составляющих, показанного на Фиг. 14. Узел 901 соответствует лексическому элементу "life" (жизнь) 906. Применяя способ описанного в настоящем документе синтактико-семантического анализа, вычислительное устройство может установить, что лексический элемент "life" (жизнь) 906 представляет одну из форм лексического значения, соотнесенного с семантическим классом "LIVE" (ЖИТЬ) 904 и заполняет поверхностную позицию $Adjunct_Locative 905) в родительской составляющей, представленной управляющим узлом Verb:succeed:succeed:TO_SUCCEED (907).
[000107] На Фиг. 15 приводится семантическая структура, соответствующая синтаксической структуре на Фиг. 15. В отношении вышеупомянутого лексического элемента "life" (жизнь) (906) на Фиг. 15 семантическая структура включает лексический класс 1010 и семантический класс 1030, соответствующие представленным на Фиг. 15, однако вместо поверхностной позиции (905) семантическая структура включает глубинную позицию "Sphere" (сфера_деятельности) 1020.
[000108] Как отмечено выше в настоящем документе, в качестве "онтологии" может выступать модель, которая представляет собой объекты, относящиеся к определенной области знаний (предметной области), и отношения между данными объектами. Таким образом, онтология отличается от семантической иерархии, несмотря на то что она может быть соотнесена с элементами семантической иерархии через определенные отношения (также называемые "якоря"). Онтология может включать определения некого множества классов, где каждый класс соответствует концепту предметной области. Каждое определение класса может включать определения одного или более отнесенных к данному классу объектов. Согласно общепринятой терминологии класс онтологии может также означать концепт, а принадлежащий классу объект может означать экземпляр данного концепта.
[000109] В соответствии с одним или несколькими аспектами настоящего изобретения вычислительное устройство, в котором реализованы описанные в настоящем описании способы, может индексировать один или несколько параметров, полученных в результате семантико-синтаксического анализа. Таким образом, способы настоящего изобретения позволяют рассматривать не только множество слов в составе исходного текстового корпуса, но и множество лексических значений этих слов, сохраняя и индексируя всю синтаксическую и семантическую информацию, полученную в ходе синтаксического и семантического анализа каждого предложения исходного текстового корпуса. Такая информация может дополнительно включать данные, полученные в ходе промежуточных этапов анализа, а также результаты лексического выбора, в том числе результаты, полученные в ходе разрешения неоднозначностей, вызванных омонимией и (или) совпадающими грамматическими формами, соответствующими различным лексико-морфологическим значениям некоторых слов исходного языка.
[000110] Для каждой семантической структуры можно создать один или несколько индексов. Индекс можно представить в виде структуры данных в памяти, например, в виде таблицы, состоящей из нескольких записей. Каждая запись может представлять собой установление соответствия между определенным элементом семантической структуры (например, одно слово или несколько слов, синтаксическое отношение, морфологическое, синтаксическое или семантическое свойство или синтаксическая или семантическая структура) и одним или несколькими идентификаторами (или адресами) случаев употребления данного элемента семантической структуры в исходном тексте.
[000111] В некоторых вариантах осуществления индекс может включать одно или несколько значений морфологических, синтаксических, лексических и (или) семантических параметров. Эти значения могут создаваться в процессе двухэтапного семантического анализа (более подробное описание см. в настоящем документе). Индекс можно использовать для выполнения различных задач обработки естественного языка, в том числе для выполнения семантического поиска.
[000112] Вычислительное устройство, реализующее данный способ, может извлекать широкий спектр лексических, грамматических, синтаксических, прагматических и (или) семантических характеристик в ходе проведения синтактико-семантического анализа и создания семантических структур. В иллюстративном примере система может извлекать и сохранять определенную лексическую информацию, данные о принадлежности определенных лексических единиц семантическим классам, информацию о грамматических формах и линейном порядке, информацию об использовании определенных форм, аспектов, тональности (например, положительной или отрицательной), глубинных позиций, недревесных связей, семантем и т.д.
[000113] Вычислительное устройство, в котором реализованы описанные здесь способы, может производить анализ, используя один или несколько описанных в этом документе способов анализа текста, и индексировать любой один или несколько параметров описаний языка, включая лексические значения, семантические классы, граммемы, семантемы и т.д. Индексацию семантического класса можно использовать в различных задачах обработки естественного языка, включая семантический поиск, классификацию, кластеризацию, фильтрацию текста и т.д.. Индексация лексических значений (вместо индексации слов) позволяет искать не только слова и формы слов, но и лексические значения, т.е. слова, имеющие определенные лексические значения. Вычислительное устройство, реализующее способы настоящего изобретения, также может хранить и индексировать синтаксические и семантические структуры, созданные одним или несколькими описанными в настоящем документе способами анализа текста, для использования данных структур и (или) индексов при проведении семантического поиска, классификации, кластеризации и фильтрации документов.
[000114] На Фиг. 16 показан иллюстративный приме вычислительного устройства (1000), которое может исполнять набор команд, которые вызывают выполнение вычислительным устройством любого отдельно взятого или нескольких способов настоящего изобретения. Вычислительное устройство может подключаться к другому вычислительному устройству по локальной сети, корпоративной сети, сети экстранет или сети Интернет. Вычислительное устройство может работать в качестве сервера или клиентского вычислительного устройства в сетевой среде "клиент/сервер" либо в качестве однорангового вычислительного устройства в одноранговой (или распределенной) сетевой среде. Вычислительное устройство может быть представлено персональным компьютером (ПК), планшетным ПК, телевизионной приставкой (STB), карманным ПК (PDA), сотовым телефоном или любым вычислительным устройством, способным выполнять набор команд (последовательно или иным образом), определяющих операции, которые должны быть выполнены этим вычислительным устройством. Кроме того, в то время как показано только одно вычислительное устройство, следует принять, что термин «вычислительное устройство» также может включать любую совокупность вычислительных устройств, которые отдельно или совместно выполняют набор (или несколько наборов) команд для выполнения одной или нескольких методик, описанных в настоящем документе.
[000115] Пример вычислительного устройства (1000) включает процессор (502), основную память (504) (например, постоянное запоминающее устройство (ПЗУ) или динамическую оперативную память (DRAM)) и устройство хранения данных (518), которые взаимодействуют друг с другом по шине (530).
[000116] Процессор (502) может быть представлен одним или более универсальными вычислительными устройствами, например, микропроцессором, центральным процессором и т.д. В частности, процессор (502) может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с сокращенным набором команд (RISC), микропроцессор с командными словами сверхбольшой длины (VLIW), процессор, реализующий другой набор команд, или процессоры, реализующие комбинацию наборов команд. Процессор (502) также может представлять собой одно или несколько вычислительных устройств специального назначения, например, заказную интегральную микросхему (ASIC), программируемую пользователем вентильную матрицу (FPGA), процессор цифровых сигналов (DSP), сетевой процессор и т.п. Процессор (502) настроен на выполнение команд (526) для осуществления рассмотренных в настоящем документе операций и функций.
[000117] Вычислительное устройство (1000) может дополнительно включать устройство сетевого интерфейса (522), устройство визуального отображения (510), устройство ввода символов (512) (например, клавиатуру), и устройство ввода - сенсорный экран (514).
[000118] Устройство хранения данных (518) может содержать машиночитаемый носитель данных (524), в котором хранится один или более наборов команд (526), и в котором реализован один или более из методов или функций настоящего изобретения. Команды (526) также могут находиться полностью или по меньшей мере частично в основной памяти (504) и/или в процессоре (502) во время выполнения их в вычислительном устройстве (1000), при этом оперативная память (504) и процессор (502) также составляют машиночитаемый носитель данных. Команды (526) дополнительно могут передаваться или приниматься по сети (516) через устройство сетевого интерфейса (522).
[000119] В некоторых вариантах осуществления команды (526) могут включать в себя команды способа (100) классификации текстов на естественном языке yf на основе семантических признаков и/или способа вычисления параметров модели классификации. В то время как машиночитаемый носитель данных (524), показанный на примере на Фиг. 15, является единым носителем, термин «машиночитаемый носитель» должен включать один носитель или несколько носителей (например, централизованную или распределенную базу данных, и/или соответствующие кэши и серверы), в которых хранится один или более наборов команд. Термин "машиночитаемый носитель данных" также следует рассматривать как термин, включающий любой носитель, который способен хранить, кодировать или переносить набор команд для выполнения машиной, который заставляет эту машину выполнять любую одну или несколько из методик, описанных в настоящем раскрытии изобретения. Таким образом, термин «машиночитаемый носитель данных», помимо прочего, также относится к твердотельной памяти и оптическим и магнитным носителям.
[000120] Описанные в документе способы, компоненты и функции могут быть реализованы дискретными аппаратными компонентами, либо они могут быть интегрированы в функции других аппаратных компонентов, таких как ASICS, FPGA, DSP или подобных устройств. Кроме того, способы, компоненты и функции могут быть реализованы с помощью модулей встроенного программного обеспечения или функциональных схем аппаратных устройств. Способы, компоненты и функции также могут быть реализованы с помощью любой комбинации вычислительных средств и программных компонентов, либо исключительно с помощью программного обеспечения.
[000121] В приведенном выше описании изложены многочисленные детали. Однако специалисту в этой области техники благодаря этому описанию очевидно, что настоящее изобретение может быть реализовано на практике без этих конкретных деталей. В некоторых случаях хорошо известные структуры и устройства показаны в виде блок-схемы, а не детально, чтобы не усложнять описание настоящего изобретения.
[000122] Некоторые части описания предпочтительных вариантов реализации представлены в виде алгоритмов и символического представления операций с битами данных в памяти компьютера. Такие описания и представления алгоритмов представляют собой средства, используемые специалистами в области обработки данных, чтобы наиболее эффективно передавать сущность своей работы другим специалистам в данной области. В настоящем документе и в целом алгоритмом называется самосогласованная последовательность операций, приводящих к требуемому результату. Операции требуют физических манипуляций с физическими величинами. Обычно, хотя и не обязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и подвергать другим манипуляциям. Оказалось, что прежде всего для обычного использования удобно описывать эти сигналы в виде битов, значений, элементов, символов, членов, цифр и т.д.
[000123] Однако следует иметь в виду, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами, и что они представляют собой просто удобные метки, применяемые к этим величинам. Если иное специально и недвусмысленно не указано в нижеследующем обсуждении, следует принимать, что везде по тексту такие термины как "определение", "вычисление", "расчет", "вычисление", "получение", "установление", "изменение" и т.п., относятся к действиям и процессам вычислительного устройства или аналогичного электронного вычислительного устройства, которое работает с данными и преобразует данные, представленные в виде физических (например, электронных) величин в регистрах и памяти вычислительного устройства, в другие данные, аналогичным образом представленные в виде физических величин в памяти или регистрах вычислительного устройства, либо других подобных устройствах хранения, передачи или отображения информации.
[000124] Настоящее изобретение также относится к устройству для выполнения операций, описанных в настоящем документе. Такое устройство может быть специально сконструировано для требуемых целей или оно может содержать универсальный компьютер, который избирательно активируется или реконфигурируется с помощью компьютерной программы, хранящейся в компьютере. Такая компьютерная программа может храниться на машиночитаемом носителе данных, таком как, в числе прочих, диск любого рода, в том числе дискеты, оптические диски, компакт-диски, магнитно-оптические диски, постоянные запоминающие устройства (ПЗУ), оперативные запоминающие устройства (ОЗУ), СППЗУ, ЭППЗУ, магнитные или оптические карты и другие виды носителей данных, подходящие для хранения электронных команд.
[000125] Следует понимать, что вышеприведенное описание носит иллюстративный, а не ограничительный характер. Различные другие варианты осуществления станут очевидны специалистам в данной области техники после прочтения и понимания приведенного выше описания. Поэтому объем раскрытия должен определяться со ссылкой на прилагаемую формулу изобретения наряду с полным объемом эквивалентов, на которые такие требования предоставляют право.
Claims (44)
1. Способ распознавания именованных сущностей в текстах на естественном языке, основанный на использовании морфологических и семантических признаков, включающий:
лексико-морфологический анализ с помощью вычислительной системы текста на естественном языке, содержащего множество токенов, где каждый токен содержит по крайней мере одно слово естественного языка;
определение на основе лексико-морфологического анализа одного или более лексических значений и грамматических значений, связанных с каждым токеном в множестве токенов;
вычисление для каждого токена в множестве токенов одной или более функций классификатора с использованием лексических и грамматических значений, ассоциированных с токеном, отличающихся тем, что значение каждой функции классификатора указывает на оценку степени ассоциации токена с категорией именованных сущностей;
синтактико-семантический анализ по крайней мере части текста на естественном языке для получения множества семантических структур, представляющих часть текста на естественном языке; и
интерпретация семантических структур с использованием набора продукционных правил для определения для одного или более токенов, входящих в выбранную часть
текста на естественном языке, оценки степени ассоциации токена с категорией именованных сущностей.
2. Способ по п. 1, отличающийся тем, что синтактико-семантический анализ части текста на естественном языке выполняется в ответ на то, что показатель, указывающий на качество ассоциирования токенов с соответствующими категориями, оказался ниже порогового значения.
3. Способ по п. 1, отличающийся тем, что синтактико-семантический анализ части текста на естественном языке выполняется в ответ на получение данных через интерфейс пользователя.
4. Способ по п. 1, дополнительно включающий:
идентификацию части текста на естественном языке как содержащей по меньшей мере одно предложение, в котором нет токенов, ассоциированных с категориями.
5. Способ по п. 1, дополнительно включающий:
идентификацию части текста на естественном языке как содержащей по меньшей мере одно предложение, в котором показатель, указывающий на качество ассоциирования токенов с соответствующими категориями, оказался ниже порогового значения.
6. Способ по п. 5, отличающийся тем, что показатель представляется в виде отношения числа токенов, верно ассоциированных с категориями, к числу токенов, представляющих именованные сущности, которые были идентифицированы в тексте на естественном языке.
7. Способ по п. 5, отличающийся тем, что показатель представляется в виде отношения числа токенов, верно ассоциированных с категориями, к общему числу токенов, реально представляющих именованные сущности, в тексте на естественном языке.
8. Способ по п. 1, отличающийся тем, что синтактико-семантический анализ части текста на естественном языке выполняется в ответ на получение данных через графический интерфейс пользователя.
9. Способ по п. 1, дополнительно включающий:
определение с использованием обучающей выборки данных по меньшей мере одного параметра функции классификатора, отличающийся тем, что обучающая выборка данных включает текст на естественном языке, содержащий множество токенов, причем каждый токен ассоциирован с определенной категорией.
10. Способ по п. 1, отличающийся тем, что каждая семантическая структура из множества семантических структур представлена графом, включающим множество узлов, соответствующих множеству семантических классов, и множество дуг, соответствующих множеству семантических отношений.
11. Способ по п. 1, отличающийся тем, что продукционное правило включает одно или более логических выражений, определенных в одном или более шаблонах семантических структур.
12. Система распознавания именованных сущностей в текстах на естественном языке, основанный на использовании морфологических и семантических признаков, система, содержащая:
память;
процессор, связанный с данной памятью и выполненный с возможностью:
выполнять лексико-морфологический анализ текста на естественном языке, содержащего множество токенов, где каждый токен содержит по крайней мере одно слово естественного языка;
определять на основе лексико-морфологического анализа одно или более лексических значений и грамматических значений, связанных с каждым токеном в множестве токенов;
вычислять для каждого токена в множестве токенов одну или более функций классификатора с использованием лексических и грамматических значений, ассоциированных с токеном, причем значение каждой функции классификатора указывает на оценку степени ассоциации токена с категорией именованных сущностей;
выполнять синтактико-семантический анализ по крайней мере части текста на естественном языке для получения множества семантических структур, представляющих часть текста на естественном языке; и
интерпретировать семантические структуры с использованием набора продукционных правил для определения, для одного или более токенов, входящих в часть текста на естественном языке, оценки степени ассоциации токена с категорией именованных сущностей.
13. Система по п. 12, отличающаяся тем, что синтактико-семантический анализ части текста на естественном языке выполняется в ответ на то, что показатель, указывающий на качество ассоциирования токенов с соответствующими категориями, оказался ниже порогового значения.
14. Система по п. 12, отличающаяся тем, что синтактико-семантический анализ части текста на естественном языке выполняется в ответ на получение данных через интерфейс пользователя.
15. Система по п. 12, отличающаяся тем, что ее процессор выполнен с возможностью:
идентифицировать часть текста на естественном языке как содержащую по крайней мере одно предложение, в котором нет токенов, ассоциированных с категориями.
16. Система по п. 12, отличающаяся тем, что ее ее процессор выполнен с возможностью:
идентифицировать часть текста на естественном языке как содержащую по меньшей мере одно предложение, в котором показатель, указывающий на качество ассоциирования токенов с соответствующими категориями, оказался ниже порогового значения.
17. Система по п. 16, отличающаяся тем, что показатель представляется в виде отношения числа токенов, верно ассоциированных с категориями, к числу токенов, представляющих именованные сущности, которые были идентифицированы в тексте на естественном языке.
18. Система по п. 16, отличающаяся тем, что показатель представляется в виде отношения числа токенов, верно ассоциированных с категориями, к общему числу токенов, представляющих именованные сущности, в тексте на естественном языке.
19. Система по п. 12, отличающаяся тем, что ее процессор выполнен с возможностью:
определить, с использованием обучающей выборки данных, по меньшей мере один параметр функции классификатора, отличающийся тем, что обучающая выборка данных включает обучающий текст на естественном языке, содержащий множество токенов, причем каждый токен ассоциирован с определенной категорией.
20. Постоянный машиночитаемый носитель данных, содержащий исполняемые команды, которые при выполнении заставляют вычислительную систему:
выполнять лексико-морфологический анализ текста на естественном языке, содержащего множество токенов, где каждый токен содержит по крайней мере одно слово естественного языка;
определять на основе лексико-морфологического анализа одно или более лексических значений и грамматических значений, связанных с каждым токеном в множестве токенов;
вычислять для каждого токена в множестве токенов одну или более функций классификатора с использованием лексических и грамматических значений, ассоциированных с токеном, причем значение каждой функции классификатора указывает на оценку степени ассоциации токена с категорией именованных сущностей;
выполнять синтактико-семантический анализ по крайней мере части текста на естественном языке для получения множества семантических структур, представляющих часть текста на естественном языке; и
интерпретировать семантические структуры с использованием набора продукционных правил для определения, для одного или более токенов, входящих в часть текста на естественном языке, оценки степени ассоциации токена с категорией именованных сущностей.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2016124139A RU2619193C1 (ru) | 2016-06-17 | 2016-06-17 | Многоэтапное распознавание именованных сущностей в текстах на естественном языке на основе морфологических и семантических признаков |
US15/190,605 US10007658B2 (en) | 2016-06-17 | 2016-06-23 | Multi-stage recognition of named entities in natural language text based on morphological and semantic features |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2016124139A RU2619193C1 (ru) | 2016-06-17 | 2016-06-17 | Многоэтапное распознавание именованных сущностей в текстах на естественном языке на основе морфологических и семантических признаков |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2619193C1 true RU2619193C1 (ru) | 2017-05-12 |
Family
ID=58716009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2016124139A RU2619193C1 (ru) | 2016-06-17 | 2016-06-17 | Многоэтапное распознавание именованных сущностей в текстах на естественном языке на основе морфологических и семантических признаков |
Country Status (2)
Country | Link |
---|---|
US (1) | US10007658B2 (ru) |
RU (1) | RU2619193C1 (ru) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109117473A (zh) * | 2017-06-23 | 2019-01-01 | 通用电气公司 | 使用隐含属性使受控的英语建模语言更加自然的方法和*** |
CN111079377A (zh) * | 2019-12-03 | 2020-04-28 | 哈尔滨工程大学 | 一种面向中文医疗文本命名实体识别的方法 |
WO2020091618A1 (ru) * | 2018-10-30 | 2020-05-07 | федеральное государственное автономное образовательное учреждение высшего образования "Московский физико-технический институт (государственный университет)" | Система определения именованных сущностей с динамическими параметрами |
CN111160033A (zh) * | 2019-12-18 | 2020-05-15 | 车智互联(北京)科技有限公司 | 一种基于神经网络的命名实体识别方法、计算设备及存储介质 |
CN111444719A (zh) * | 2020-03-17 | 2020-07-24 | 车智互联(北京)科技有限公司 | 一种实体识别方法、装置和计算设备 |
RU2744493C1 (ru) * | 2020-04-30 | 2021-03-10 | ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "СберМедИИ" | Система автоматической деперсонализации отсканированных рукописных историй болезни |
RU2769427C1 (ru) * | 2021-04-05 | 2022-03-31 | Анатолий Владимирович Буров | Способ автоматизированного анализа текста и подбора релевантных рекомендаций по улучшению его читабельности |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10721509B2 (en) * | 2016-07-27 | 2020-07-21 | Accenture Global Solutions Limited | Complex system architecture for sensatory data based decision-predictive profile construction and analysis |
US11086913B2 (en) * | 2018-01-02 | 2021-08-10 | Freshworks Inc. | Named entity recognition from short unstructured text |
US11636287B2 (en) * | 2018-03-28 | 2023-04-25 | Intuit Inc. | Learning form-based information classification |
RU2697647C1 (ru) * | 2018-10-01 | 2019-08-15 | Общество с ограниченной ответственностью "Аби Продакшн" | Система и метод автоматического создания шаблонов |
JP2020057337A (ja) * | 2018-10-03 | 2020-04-09 | 多一 石川 | 電子文書の閲覧用電子機器、表示方法 |
US11397770B2 (en) * | 2018-11-26 | 2022-07-26 | Sap Se | Query discovery and interpretation |
US20210279603A1 (en) * | 2018-12-13 | 2021-09-09 | SparkCognition, Inc. | Security systems and methods |
WO2020133039A1 (zh) * | 2018-12-27 | 2020-07-02 | 深圳市优必选科技有限公司 | 对话语料中实体的识别方法、装置和计算机设备 |
US11132513B2 (en) | 2019-05-07 | 2021-09-28 | International Business Machines Corporation | Attention-based natural language processing |
US11176333B2 (en) * | 2019-05-07 | 2021-11-16 | International Business Machines Corporation | Generation of sentence representation |
CN111144114B (zh) * | 2019-12-19 | 2023-07-18 | 广联达科技股份有限公司 | 一种文本识别方法及装置 |
CN111597794B (zh) * | 2020-05-11 | 2023-06-06 | 浪潮软件集团有限公司 | 一种基于依存关系的“是”字句关系抽取方法和装置 |
EP3937059A1 (en) * | 2020-07-08 | 2022-01-12 | Avignon Universite | Disambiguation for the classification of lexical items |
CN111898928B (zh) * | 2020-08-18 | 2021-08-31 | 哈尔滨工业大学 | 面向时空界的多方服务价值-质量-能力指标对齐方法 |
CN112380866A (zh) * | 2020-11-25 | 2021-02-19 | 厦门市美亚柏科信息股份有限公司 | 一种文本话题标签生成方法、终端设备及存储介质 |
CN112507715B (zh) * | 2020-11-30 | 2024-01-16 | 北京百度网讯科技有限公司 | 确定实体之间关联关系的方法、装置、设备和存储介质 |
CN113705232B (zh) * | 2021-03-03 | 2024-05-07 | 腾讯科技(深圳)有限公司 | 文本处理方法及装置 |
CN112989796B (zh) * | 2021-03-10 | 2023-09-22 | 北京大学 | 一种基于句法指导的文本命名实体信息识别方法 |
CN113779983B (zh) * | 2021-04-16 | 2022-10-04 | 南京擎盾信息科技有限公司 | 文本数据处理方法以及装置、存储介质、电子装置 |
US20230008868A1 (en) * | 2021-07-08 | 2023-01-12 | Nippon Telegraph And Telephone Corporation | User authentication device, user authentication method, and user authentication computer program |
CN114138945B (zh) * | 2022-01-19 | 2022-06-14 | 支付宝(杭州)信息技术有限公司 | 数据分析中的实体识别方法和装置 |
CN116737924B (zh) * | 2023-04-27 | 2024-06-25 | 百洋智能科技集团股份有限公司 | 一种医疗文本数据处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060047500A1 (en) * | 2004-08-31 | 2006-03-02 | Microsoft Corporation | Named entity recognition using compiler methods |
US20090326923A1 (en) * | 2006-05-15 | 2009-12-31 | Panasonic Corporatioin | Method and apparatus for named entity recognition in natural language |
RU2399959C2 (ru) * | 2008-10-29 | 2010-09-20 | Закрытое акционерное общество "Авикомп Сервисез" | Способ автоматизированной обработки текста на естественном языке путем его семантической индексации, способ автоматизированной обработки коллекции текстов на естественном языке путем их семантической индексации и машиночитаемые носители |
RU2014101126A (ru) * | 2014-01-15 | 2015-07-20 | Общество с ограниченной ответственностью "Аби ИнфоПоиск" | Автоматическое извлечение именованных сущностей из текста |
US20150286629A1 (en) * | 2014-04-08 | 2015-10-08 | Microsoft Corporation | Named entity recognition |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3000956A (en) | 1957-10-28 | 1961-09-19 | Aerojet General Co | Aliphatic nitraza polynitro compounds |
US6052682A (en) | 1997-05-02 | 2000-04-18 | Bbn Corporation | Method of and apparatus for recognizing and labeling instances of name classes in textual environments |
US20070005578A1 (en) | 2004-11-23 | 2007-01-04 | Patman Frankie E D | Filtering extracted personal names |
KR100755678B1 (ko) | 2005-10-28 | 2007-09-05 | 삼성전자주식회사 | 개체명 검출 장치 및 방법 |
US8131756B2 (en) * | 2006-06-21 | 2012-03-06 | Carus Alwin B | Apparatus, system and method for developing tools to process natural language text |
US8195447B2 (en) * | 2006-10-10 | 2012-06-05 | Abbyy Software Ltd. | Translating sentences between languages using language-independent semantic structures and ratings of syntactic constructions |
US9047275B2 (en) * | 2006-10-10 | 2015-06-02 | Abbyy Infopoisk Llc | Methods and systems for alignment of parallel text corpora |
US8706477B1 (en) * | 2008-04-25 | 2014-04-22 | Softwin Srl Romania | Systems and methods for lexical correspondence linguistic knowledge base creation comprising dependency trees with procedural nodes denoting execute code |
US9081765B2 (en) * | 2008-08-12 | 2015-07-14 | Abbyy Infopoisk Llc | Displaying examples from texts in dictionaries |
US8874432B2 (en) | 2010-04-28 | 2014-10-28 | Nec Laboratories America, Inc. | Systems and methods for semi-supervised relationship extraction |
KR101672579B1 (ko) | 2010-11-05 | 2016-11-03 | 라쿠텐 인코포레이티드 | 키워드 추출에 관한 시스템 및 방법 |
US9104766B2 (en) * | 2011-09-08 | 2015-08-11 | Oracle International Corporation | Implicit or explicit subscriptions and automatic user preference profiling in collaboration systems |
US8965889B2 (en) * | 2011-09-08 | 2015-02-24 | Oracle International Corporation | Bi-temporal user profiles for information brokering in collaboration systems |
RU2571378C2 (ru) * | 2013-12-18 | 2015-12-20 | Общество с ограниченной ответственностью "Аби Девелопмент" | Устройство и способ поиска различий в документах |
RU2592395C2 (ru) * | 2013-12-19 | 2016-07-20 | Общество с ограниченной ответственностью "Аби ИнфоПоиск" | Разрешение семантической неоднозначности при помощи статистического анализа |
RU2579699C2 (ru) * | 2013-12-19 | 2016-04-10 | ООО "Аби ИнфоПоиск" | Разрешение семантической неоднозначности при помощи не зависящей от языка семантической структуры |
RU2579873C2 (ru) * | 2013-12-19 | 2016-04-10 | Общество с ограниченной ответственностью "Аби ИнфоПоиск" | Разрешение семантической неоднозначности при помощи семантического классификатора |
US9626358B2 (en) * | 2014-11-26 | 2017-04-18 | Abbyy Infopoisk Llc | Creating ontologies by analyzing natural language texts |
RU2618374C1 (ru) * | 2015-11-05 | 2017-05-03 | Общество с ограниченной ответственностью "Аби ИнфоПоиск" | Выявление словосочетаний в текстах на естественном языке |
RU2626555C2 (ru) * | 2015-12-02 | 2017-07-28 | Общество с ограниченной ответственностью "Аби Продакшн" | Извлечение сущностей из текстов на естественном языке |
RU2628436C1 (ru) * | 2016-04-12 | 2017-08-16 | Общество с ограниченной ответственностью "Аби Продакшн" | Классификация текстов на естественном языке на основе семантических признаков |
RU2628431C1 (ru) * | 2016-04-12 | 2017-08-16 | Общество с ограниченной ответственностью "Аби Продакшн" | Подбор параметров текстового классификатора на основе семантических признаков |
RU2640297C2 (ru) * | 2016-05-17 | 2017-12-27 | Общество с ограниченной ответственностью "Аби Продакшн" | Определение степеней уверенности, связанных со значениями атрибутов информационных объектов |
-
2016
- 2016-06-17 RU RU2016124139A patent/RU2619193C1/ru active
- 2016-06-23 US US15/190,605 patent/US10007658B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060047500A1 (en) * | 2004-08-31 | 2006-03-02 | Microsoft Corporation | Named entity recognition using compiler methods |
US20090326923A1 (en) * | 2006-05-15 | 2009-12-31 | Panasonic Corporatioin | Method and apparatus for named entity recognition in natural language |
RU2399959C2 (ru) * | 2008-10-29 | 2010-09-20 | Закрытое акционерное общество "Авикомп Сервисез" | Способ автоматизированной обработки текста на естественном языке путем его семантической индексации, способ автоматизированной обработки коллекции текстов на естественном языке путем их семантической индексации и машиночитаемые носители |
RU2014101126A (ru) * | 2014-01-15 | 2015-07-20 | Общество с ограниченной ответственностью "Аби ИнфоПоиск" | Автоматическое извлечение именованных сущностей из текста |
US20150286629A1 (en) * | 2014-04-08 | 2015-10-08 | Microsoft Corporation | Named entity recognition |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109117473A (zh) * | 2017-06-23 | 2019-01-01 | 通用电气公司 | 使用隐含属性使受控的英语建模语言更加自然的方法和*** |
WO2020091618A1 (ru) * | 2018-10-30 | 2020-05-07 | федеральное государственное автономное образовательное учреждение высшего образования "Московский физико-технический институт (государственный университет)" | Система определения именованных сущностей с динамическими параметрами |
CN111079377A (zh) * | 2019-12-03 | 2020-04-28 | 哈尔滨工程大学 | 一种面向中文医疗文本命名实体识别的方法 |
CN111079377B (zh) * | 2019-12-03 | 2022-12-13 | 哈尔滨工程大学 | 一种面向中文医疗文本命名实体识别的方法 |
CN111160033A (zh) * | 2019-12-18 | 2020-05-15 | 车智互联(北京)科技有限公司 | 一种基于神经网络的命名实体识别方法、计算设备及存储介质 |
CN111160033B (zh) * | 2019-12-18 | 2024-02-27 | 车智互联(北京)科技有限公司 | 一种基于神经网络的命名实体识别方法、计算设备及存储介质 |
CN111444719A (zh) * | 2020-03-17 | 2020-07-24 | 车智互联(北京)科技有限公司 | 一种实体识别方法、装置和计算设备 |
CN111444719B (zh) * | 2020-03-17 | 2023-10-20 | 车智互联(北京)科技有限公司 | 一种实体识别方法、装置和计算设备 |
RU2744493C1 (ru) * | 2020-04-30 | 2021-03-10 | ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "СберМедИИ" | Система автоматической деперсонализации отсканированных рукописных историй болезни |
RU2769427C1 (ru) * | 2021-04-05 | 2022-03-31 | Анатолий Владимирович Буров | Способ автоматизированного анализа текста и подбора релевантных рекомендаций по улучшению его читабельности |
Also Published As
Publication number | Publication date |
---|---|
US20170364503A1 (en) | 2017-12-21 |
US10007658B2 (en) | 2018-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2619193C1 (ru) | Многоэтапное распознавание именованных сущностей в текстах на естественном языке на основе морфологических и семантических признаков | |
RU2662688C1 (ru) | Извлечение информации из смысловых блоков документов с использованием микромоделей на базе онтологии | |
RU2657173C2 (ru) | Сентиментный анализ на уровне аспектов с использованием методов машинного обучения | |
RU2628431C1 (ru) | Подбор параметров текстового классификатора на основе семантических признаков | |
RU2628436C1 (ru) | Классификация текстов на естественном языке на основе семантических признаков | |
RU2636098C1 (ru) | Использование глубинного семантического анализа текстов на естественном языке для создания обучающих выборок в методах машинного обучения | |
RU2637992C1 (ru) | Способ извлечения фактов из текстов на естественном языке | |
US10691891B2 (en) | Information extraction from natural language texts | |
RU2635257C1 (ru) | Сентиментный анализ на уровне аспектов и создание отчетов с использованием методов машинного обучения | |
RU2646386C1 (ru) | Извлечение информации с использованием альтернативных вариантов семантико-синтаксического разбора | |
RU2686000C1 (ru) | Извлечение информационных объектов с использованием комбинации классификаторов, анализирующих локальные и нелокальные признаки | |
RU2679988C1 (ru) | Извлечение информационных объектов с помощью комбинации классификаторов | |
RU2626555C2 (ru) | Извлечение сущностей из текстов на естественном языке | |
RU2732850C1 (ru) | Классификация документов по уровням конфиденциальности | |
RU2607976C1 (ru) | Извлечение информации из структурированных документов, содержащих текст на естественном языке | |
US9626358B2 (en) | Creating ontologies by analyzing natural language texts | |
RU2618374C1 (ru) | Выявление словосочетаний в текстах на естественном языке | |
RU2697647C1 (ru) | Система и метод автоматического создания шаблонов | |
RU2640297C2 (ru) | Определение степеней уверенности, связанных со значениями атрибутов информационных объектов | |
RU2646380C1 (ru) | Использование верифицированных пользователем данных для обучения моделей уверенности | |
RU2665261C1 (ru) | Восстановление текстовых аннотаций, связанных с информационными объектами | |
RU2640718C1 (ru) | Верификация атрибутов информационных объектов | |
RU2681356C1 (ru) | Обучение классификаторов, используемых для извлечения информации из текстов на естественном языке | |
RU2691855C1 (ru) | Обучение классификаторов, используемых для извлечения информации из текстов на естественном языке | |
RU2606873C2 (ru) | Создание онтологий на основе анализа текстов на естественном языке |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20170907 |
|
QB4A | Licence on use of patent |
Free format text: LICENCE FORMERLY AGREED ON 20201211 Effective date: 20201211 |
|
QC41 | Official registration of the termination of the licence agreement or other agreements on the disposal of an exclusive right |
Free format text: LICENCE FORMERLY AGREED ON 20201211 Effective date: 20220311 |