ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение в общем относится к вычислительным системам, а более конкретно - к системам и способам обработки естественного языка.
УРОВЕНЬ ТЕХНИКИ
[0002] Извлечение информации может включать анализ текста на естественном языке с целью выявления информационных объектов, - к примеру, именованных сущностей, - и отношений между выявленными информационными объектами.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0003] В соответствии с одним или более вариантами реализации настоящего изобретения пример способа извлечения информации из текстов на естественном языке с использованием комбинации классификаторов, анализирующих локальные и нелокальные признаки, может включать: извлечение вычислительной системой из текста на естественном языке множества признаков, ассоциированных с каждым текстовым сегментом из множества текстовых сегментов; ассоциирование одного или более тегов с каждым текстовым сегментом из множества текстовых сегментов путем обработки с использованием классификатора первого этапа извлеченных признаков, связанных с каждым текстовым сегментом;; извлечение, из локального контекста токена-кандидата текстового сегмента из множества текстовых сегментов, множества признаков, связанного с токеном-кандидатом; и обработка, с использованием классификатора второго этапа, комбинации из множества локальных признаков и тегов, ассоциированных с текстовыми сегментами, для определения степени ассоциированности информационного объекта, на который ссылается токен-кандидат, с категорией информационных объектов.
[0004] В соответствии с одним или более вариантами реализации настоящего изобретения пример способа обучения классификаторов, используемых для извлечения информации из текстов на естественном языке, может включать: получение аннотированных текстов на естественном языке с метаданными, определяющими категории объектов, и соответствующими текстовыми аннотациями; разделение аннотированных текстов на естественном языке на множество частей; обучение множества классификаторов первого этапа ассоциированию одного или более тегов с каждым текстовым сегментом из множества текстовых сегментов на естественном языке, где каждый классификатор обучается с использованием соответствующей обучающей выборки данных, содержащей все, кроме одной части из множества частей; генерацию признаков уровня сегмента путем применения каждого из обученных классификаторов первого этапа к части, которая исключена из соответствующей обучающей выборки данных; обучение классификатора второго этапа обработке комбинации локальных признаков и признаков уровня сегмента для определения степени ассоциации текстовых токенов категориям информационных объектов.
[0005] В соответствии с одним или более вариантами реализации настоящего изобретения пример машиночитаемого постоянного носителя данных может содержать исполняемые команды, которые при выполнении вычислительной системой вызывают следующие действия вычислительной системы: извлечение множества признаков, связанных с каждым текстовым сегментом из множества текстовых сегментов на естественном языке; привязка одного или более тегов к каждому текстовому сегменту из множества текстовых сегментов путем обработки, с использованием классификатора первого этапа, извлеченных признаков, связанных с каждым текстовым сегментом; извлечение, из локального контекста токена-кандидата текстового сегмента из множества текстовых сегментов, множества признаков, связанного с токеном-кандидатом; и обработка, с использованием классификатора второго этапа, комбинации из множества локальных признаков и тегов, ассоциированных с текстовыми сегментами, для определения степени связанности информационного объекта, на который ссылается токен-кандидат, с категорией информационных объектов.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0006] Настоящее изобретение иллюстрируется с помощью примеров, а не путем ограничения, его проще понять со ссылкой на приведенное ниже подробное описание при рассмотрении в связи с чертежами, на которых:
[0007] На Фиг. 1 изображена блок-схема примера способа извлечения информации из текстов на естественном языке с использованием комбинации классификаторов, анализирующих локальные и нелокальные признаки, в соответствии с одним или более вариантами реализации настоящего изобретения;
[0008] На Фиг. 2 показана блок-схема описанного в примере способа обучения классификаторов, используемых для извлечения информации из текстов на естественном языке в соответствии с одним или более вариантами реализации настоящего изобретения;
[0009] На Фиг. 3 приведена блок-схема иллюстративного примера способа выполнения семантико-синтаксического анализа предложения на естественном языке в соответствии с одним или более вариантами реализации настоящего изобретения.
[00010] На Фиг. 4 схематически показан пример лексико-морфологической структуры предложения в соответствии с одним или более вариантами реализации настоящего изобретения;
[00011] На Фиг. 5 схематически показаны языковые описания, представляющие модель естественного языка, в соответствии с одним или более вариантами реализации настоящего изобретения;
[00012] На Фиг. 6 схематически показаны примеры морфологических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;
[00013] На Фиг. 7 схематически показаны примеры синтаксических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;
[00014] На Фиг. 8 схематически показаны примеры семантических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;
[00015] На Фиг. 9 схематически показаны примеры лексических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;
[00016] На Фиг. 10 схематически показаны примеры структур данных, которые могут быть использованы в рамках одного или более способов, реализованных в соответствии с одним или более вариантами реализации настоящего изобретения;
[00017] На Фиг. 11 схематически показан пример графа обобщенных составляющих в соответствии с одним или более вариантами реализации настоящего изобретения;
[00018] На Фиг. 12 приводится пример синтаксической структуры, соответствующей предложению, приведенному на Фиг. 11;
[00019] На Фиг. 13 показана семантическая структура, соответствующая синтаксической структуре на Фиг. 12; и
[00020] На Фиг. 14 показана схема примера вычислительной системы, реализующей методы настоящего изобретения.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ РЕАЛИЗАЦИИ
[00021] В настоящем документе описываются способы и системы извлечения информации из текстов на естественном языке с помощью комбинации классификаторов, анализирующих локальные и нелокальные признаки. Классификатор может быть представлен обучаемой моделью нейронной сети, которая возвращает в качестве результата степень связанности информационного объекта, ссылающегося на текстовую аннотацию, с категорией из заранее определенного множества категорий (например, классов онтологии).
[00022] Извлечение информации может включать анализ текста на естественном языке для распознавания информационных объектов (например, именованных сущностей), их атрибутов и их связей. Распознавание именованных сущностей (NER) представляет собой задачу по извлечению информации, в ходе выполнения которой производится определение токенов в тексте на естественном языке и классификация их по заранее определенным категориям, таким как имена людей, названия организаций, географические названия, представление времени, количества, денежные суммы, проценты и т.д. Эти категории могут быть представлены концептами заранее определенной или динамически выстраиваемой онтологии.
[00023] «Онтология» в настоящем документе означает модель, которая представляет объекты, относящиеся к определенной области знаний (предметной области), и отношения между данными объектами. Информационный объект может представлять собой материальный объект реального мира (например, человек или вещь) либо некое понятие, соотнесенное с одним или более объектами реального мира (например, число или слово). Онтология может включать определения некого множества классов, где каждый класс соответствует отдельному понятию, относящемуся к определенной области знаний. Каждое определение класса может включать определения одного или более отнесенных к данному классу объектов. Согласно общепринятой терминологии класс онтологии может также называться «концепт», а принадлежащий классу объект может означать экземпляр данного концепта. Информационный объект может характеризоваться одним или более атрибутами. Атрибут может определять свойство информационного объекта или связь между данным информационным объектом и другим информационным объектом. Таким образом, определение класса онтологии может содержать одно или более определений атрибутов, описывающих типы атрибутов, которые могут быть связаны с объектами данного класса (например, тип связи между объектом данного класса и другими информационными объектами). В качестве иллюстративного примера класс «Person» (человек) может быть связан с одним или более информационными объектами, соответствующими определенным лицам. В другом иллюстративном примере информационный объект «John Smith» (Джон Смит) может иметь атрибут «Smith» (Смит) типа «surname» (фамилия).
[00024] После распознавания именованных сущностей может быть выполнено извлечение информации для установления кореференций и анафорических связей между токенами текста на естественном языке. «Кореференция» в настоящем документе означает конструкцию естественного языка, содержащую два или более токенов естественного языка, которые относятся к одной сущности (например, одному и тому же лицу, вещи, месту или организации). Например, в предложении «После того, как Джон получил диплом MIT, ему предложили работу в Microsoft)) собственное имя «Джон» и притяжательное местоимение «ему» относится к одному человеку. Из двух токенов кореференций тот токен, на который дается ссылка, может обобщенно именоваться антецедентом, а тот, который ссылается на него, - проформой или анафорой. Различные способы установления кореференций могут включать выполнение синтаксического и (или) семантического анализа как минимум части текста на естественном языке.
[00025] После извлечения информационных объектов и установления кореференций может производиться извлечение информации с целью определения отношений между извлеченными информационными объектами. Одно или более отношений между информационным объектом и другими информационными объектами могут задаваться одним или более свойствами информационного объекта, которые отражают один или более атрибутов. Отношение может быть установлено между двумя информационными объектами, между данным информационным объектом и группой информационных объектов или между одной группой информационных объектов и другой группой информационных объектов. Подобные отношения могут быть выражены фрагментами на естественном языке (текстовыми аннотациями), которые могут содержать множество слов из одного или более предложений.
[00026] В иллюстративном примере информационный объект класса «Person» (человек) может иметь следующие атрибуты: имя, дата рождения, адрес проживания и информация о предшествующей трудовой деятельности. Каждый атрибут может быть представлен одной или более текстовыми строками, одним или более числовыми значениями и (или) одним или более значениями определенного типа данных (например, дата). Атрибут может быть представлен сложным атрибутом, ссылающимся на два или более информационных объектов. В иллюстративном примере атрибут «address» (адрес) может ссылаться на информационные объекты, соответствующие номеру дома, улице, городу и штату. В иллюстративном примере атрибут «employment history» (информация о предшествующей трудовой деятельности) может ссылаться на один или более информационных объектов, соответствующих одному или более работодателям, соответствующим должностям и времени работы.
[00027] Определенные отношения между информационными объектами могут также обобщенно называться «фактами». Примерами таких отношений могут быть работа лица X в организации Y, расположение физического объекта X в географическом положении Y, приобретение организации X организацией Y и т.д.; факт может быть связан с одной или более категориями фактов, таких, что категория фактов указывает на тип связи между информационными объектами определенного класса. Например, факт, связанный с лицом, может относиться к дате и месту рождения лица, его образованию, занятости, трудовой деятельности и т.д. В другом примере факт, ассоциативно связанный с коммерческой сделкой, может иметь отношение к типу сделки и к сторонам этой сделки, к обязательствам сторон, дате подписания договора, дате совершения сделки, расчетам по договору и т.д. Извлечение фактов предполагает выявление различных отношений между извлеченными информационными объектами.
[00028] Информационный объект может быть представлен составляющей семантико-синтаксической структуры и подмножеством ее непосредственных дочерних составляющих. Непрерывный фрагмент текста (или «интервал», включающий одно или более слов), соответствующий такому поддереву, представляет собой текстовую аннотацию этого информационного объекта. Эта текстовая аннотация может быть определена ее положением в тексте, включая позицию начала и позицию конца.
[00029] В различных общих реализациях извлечение информации может включать анализ лексических, грамматических, синтаксических и (или) семантических признаков для определения степени связанности токена текста (или составляющей соответствующей семантико-синтаксической структуры) с определенной категорией информационного объекта (например, представленной классом онтологии). Область поиска анализируемых признаков обычно ограничена локальным контекстом токена-кандидата, поэтому количество таких признаков может расти экспоненциально по мере расширения рассматриваемого контекста, это приводит к экспоненциальному росту вычислительной сложности задачи извлечения информации. Однако некоторые тексты могут быть структурированы таким образом, что локальный контекст может не всегда содержать классификационные признаки, которые подходят для извлечения информации. В одном из иллюстративных примеров стороны контракта могут быть определены в преамбуле контракта, после чего на них могут даваться ссылки, часто вместе с различными третьими сторонами, в основном тексте контракта. Этими ссылками могут быть краткие наименования, аббревиатуры и пр., которые могут быть определены в преамбуле контракта, тем самым они отображают локальный контекст текстового сегмента, содержащего полные названия, на основной текст контракта, делая его непригодным для извлечения информации.
[00030] Настоящее изобретение служит для устранения этого и других недостатков различных традиционных вариантов реализации, используя двухэтапную методику классификации, в которой первый этап дает степень связанности каждого текстового сегмента (то есть предложения, или абзаца, или другой идентифицируемой части текста на естественном языке) с одной или более категориями информационных объектов, таким образом ассоциируя соответствующие теги с текстовыми сегментами, а второй этап включает анализ комбинаций этих тегов текстовых сегментов и локального контекста составляющей-кандидата для определения степени соотнесения составляющей-кандидата с определенными категориями информационных объектов.
[00031] Таким образом, настоящее изобретение повышает эффективность и качество извлечения информации, представляя системы и способы классификации, использующие для извлечения информации локальные и нелокальные признаки. Системы и способы, представленные в настоящем документе, могут быть реализованы аппаратно (например, с помощью универсальных и (или) специализированных устройств обработки и (или) иных устройств и соответствующих электронных схем), программно (например, с помощью команд, выполняемых устройством обработки) или сочетанием этих подходов. Различные варианты реализации упомянутых выше способов и систем подробно описаны ниже в этом документе на примерах, без каких бы то ни было ограничений.
[00032] На Фиг. 1 изображена блок-схема примера способа извлечения информации из текстов на естественном языке с использованием комбинации классификаторов, анализирующих локальные и нелокальные признаки, в соответствии с одним или более вариантами реализации настоящего изобретения. Способ 100 и (или) каждая из его отдельных функций, стандартных программ, подпрограмм или операций могут выполняться одним или более процессорами вычислительной системы (например, вычислительная система 1000 на Фиг. 14), реализующей этот способ. В некоторых вариантах осуществления способ 100 может выполняться в одном потоке обработки. При альтернативном подходе способ 100 может осуществляться с использованием двух или более потоков обработки, при этом в каждом потоке реализована одна или более отдельных функций, процедур, подпрограмм или действий этого способа. В одном из иллюстративных примеров потоки обработки, в которых реализован способ 100, могут быть синхронизированы (например, с использованием семафоров, критических секций и (или) других механизмов синхронизации потоков). При альтернативном подходе потоки обработки, в которых реализован способ 100, могут выполняться асинхронно по отношению друг к другу. Таким образом, несмотря на то, что Фиг. 1 и соответствующее описание содержат список операций для способа 100 в определенном порядке, в различных вариантах осуществления способа, как минимум, некоторые из описанных операций могут выполняться параллельно и (или) в случайно выбранном порядке.
[00033] На шаге 110 вычислительная система, осуществляющая способ 100, может получать один или более исходных документов, содержащих текст на естественном языке. В различных иллюстративных примерах текст на естественном языке, подлежащий обработке способом 100, может быть получен путем сканирования или другими способами получения изображений одного или более бумажных документов и выполнения оптического распознавания символов (OCR) для получения соответствующих текстов на естественном языке. Текст на естественном языке также может извлекаться из различных других источников, включая сообщения, отправляемые по электронной почте, тексты из социальных сетей, звуковые файлы, обработанные с использованием способов распознавания речи и т.д.
[00034] На шаге 120 вычислительная система может выявлять множество текстовых сегментов текста на естественном языке. В различных иллюстративных примерах сегменты текста могут быть представлены предложениями, абзацами или другими идентифицируемыми частями текста на естественном языке. При выявлении сегментов вычислительная система может анализировать физическую или логическую разметку документа, включая оглавление, логические или визуальные разделители и пр.
[00035] На шаге 130 вычислительная система может, для каждого выявленного сегмента документа, извлечь множество признаков классификации, ассоциированных с этим сегментом. В иллюстративном примере набор признаков может включать «мешок слов», то есть неупорядоченный или произвольно упорядоченный набор слов, содержащихся в сегменте текста. Таким образом, признаки могут быть представлены в виде вектора, каждый элемент которого является целым числом, отражающим число вхождений в текстовый сегмент слова, определяемого индексом элемента.
[00036] Для снижения уровня шума, который может быть вызван отдельными часто встречающимися словами (например, артиклями, предлогами, вспомогательными словами и т.д.), признаки могут быть представлены вектором значений частоты встречаемости слов - значениями обратной частоты документа (TF-IDF).
[00037] Частота использования слов (TF) представляет собой частоту встречаемости данного слова в документе:
[00038]
где t - идентификатор слова,
d - идентификатор текстового сегмента,
nt - количество появлений слова t в текстовом сегменте d, и
- общее количество слов в тестовом сегменте d.
[00039] Обратная частота документа (IDF, Inverse Document Frequency) определяется как логарифм отношения количества текстов в корпусе к количеству текстов, содержащих данное слово:
[00040]
где D - идентификатор текстового корпуса,
|D| - количество текстов в корпусе, и
- количество текстов в корпусе D, содержащих слово t.
[00041] Таким образом, TF-IDF можно определить как произведение частоты использования слов (TF, Term Frequency) и обратной частоты документа (IDF, Inverse Document Frequency):
[00042] Таким образом, признаки могут быть представлены в виде вектора, каждый элемент которого является целым числом, отражающим значение TF-IDF для слова, определяемого индексом элемента. TF-IDF будет давать большие значения для слов, которые чаще встречаются в одном текстовом сегменте, чем в других текстовых сегментах корпуса.
[00043] В различных альтернативных вариантах реализации изобретения из текстовых сегментов могут извлекаться другие типы признаков, включая морфологические, синтаксические и (или) семантические признаки, которые могут использоваться в дополнение или вместо описанных выше мешка слов или значений TF-IDF.
[00044] На шаге 140 вычислительная система может, для каждого выявленного сегмента документа, обрабатывать извлеченные признаки текстового сегмента, используя один или более классификаторов первого этапа с получением степени ассоциированности текстового сегмента с определенной категорией информационного объекта. Вычислительная система может связывать текстовые сегменты с одним или более тегами, соответствующими категориям информационных объектов, для которых вычисленная с помощью соответствующего классификатора степень ассоциированности превосходит заранее определенное пороговое значение.
[00045] В одном из иллюстративных примеров тег может указывать на наличие в текстовом сегменте ссылки на информационный объект из определенной категории информационных объектов (например, параграф, содержащий как минимум одно слово, указывающее на человека, будет ассоциирован с тегом <P.Person>, где «Р» означает тип текстового сегмента (параграф), a «Person» означает категорию информационного объекта, ссылающийся как минимум на один токен, содержащийся в параграфе). Соответственно, признаки, извлеченные из данного параграфа, могут быть распределены по нескольким классификаторам, так что каждый классификатор соответствует категории информационного объекта, и параграф может быть ассоциирован с одним или более тегами, относящимися к соответствующим категориям информационных объектов.
[00046] Вместо этого могут использоваться другие категории сегментов. В качестве иллюстративного примера категории сегментов могут соответствовать логическим частям документов, например, «Преамбула», «Стороны контракта», «Обязательства сторон», «Условия договора» и (или) другим частям структуры, соответствующей определенному типу документов (например, «Контракт»). Таким образом, в некоторых вариантах реализации операции, описанные на шаге 140, могут рассматриваться как реконструкция логической структуры документа.
[00047] Соответственно, в одном из иллюстративных примеров результат операций на шаге 140 может быть представлен для каждого текстового сегмента одним или более тегами, ассоциированными с текстовым сегментом. В другом иллюстративном примере результат операций на шаге 140 может быть представлен для каждого текстового сегмента одним или более значениями, отражающими степень ассоциации текстового сегмента с соответствующей категорией сегментов.
[00048] В различных иллюстративных примерах классификаторы первого этапа, задействованные в операциях шага 140, могут быть реализованы в виде классификатора градиентного бустинга, классификатора случайного леса, классификатора машины опорных векторов (SVM) и (или) других подходящих способов автоматической классификации. Эти классификаторы могут обучаться на корпусе аннотированных текстов, как более подробно будет описано ниже.
[00049] На шагах 150-160 вычислительная система может выполнять итерации, как минимум, для подмножества токенов-кандидатов текста на естественном языке для выявления категории информационного объекта, на который ссылается каждый токен-кандидат. В частности, на шаге 150 вычислительная система может анализировать текст на естественном языке, чтобы извлекать из локального контекста каждого токена-кандидата множество локальных признаков, ассоциированных с этим токеном-кандидатом. Локальный контекст может включать различные сочетания соседей токенов-кандидатов.
[00050] В различных иллюстративных примерах анализ текста на естественном языке может включать выполнение лексико-морфологического анализа, синтаксического анализа и (или) семантического анализа текстового сегмента для получения одной или более лексико-морфологических, синтаксических и (или) семантико-синтаксических структур и их атрибутов, как более подробно описано ниже в этом документе со ссылками на Фиг. 3-13.
[00051] Извлеченные признаки классификации токена-кандидата могут включать идентификаторы семантических классов, ассоциированных с локальным контекстом токена-кандидата, идентификаторы лексических классов ассоциированных с локальным контекстом токена-кандидата, идентификаторы прагматических классов, ассоциированных с локальным контекстом токена-кандидата, идентификатор синтаксической парадигмы, ассоциированной с локальным контекстом токена-кандидата, идентификаторы граммем, ассоциированных с локальным контекстом токена-кандидата, идентификаторы семантем, ассоциированных с локальным контекстом токена-кандидата, идентификаторы шаблонов капитализации, ассоциированных с локальным контекстом токена-кандидата, идентификаторы глубинных позиций, ассоциированных с локальным контекстом токена-кандидата, идентификаторы левого и (или) правого пунктуатора, ассоциированного с локальным контекстом токена-кандидата и пр. В некоторых вариантах реализации исходный набор признаков классификации может быть обработан для выявления подмножества наиболее информативных признаков, исходя из одного или более статистических критериев, которые оценивают возможность модели классификатора давать большее количество корректных результатов, используя подмножество оцениваемых признаков.
[00052] На шаге 160 вычислительная система может использовать один или более классификаторов второго этапа для обработки комбинации извлеченных локальных признаков и тегов текстовых сегментов, полученных при выполнении операций шага 140 для текстового сегмента, в котором обнаружен токен-кандидат. Каждый классификатор второго этапа может выдавать степень связанности токена-кандидата с определенной категорией информационных объектов. Затем вычислительная система может связывать токен-кандидат с категориями информационных объектов, для которых вычисленная с помощью соответствующего классификатора второго этапа степень связанности превосходит заранее определенное пороговое значение.
[00053] В различных иллюстративных примерах каждый классификатор, используемый в операциях, выполняемых на шаге 160, может быть реализован в виде классификатора градиентного бустинга, классификатора случайного леса, классификатора машины опорных векторов (SVM), нейронной сети и (или) других подходящих способов автоматической классификации. Эти классификаторы могут обучаться на корпусе аннотированных текстов, как более подробно будет описано ниже.
[00054] В некоторых вариантах реализации изобретения вычислительная система может представлять извлеченные информационные объекты и их атрибуты в виде RDF-графа. RDF (Resource Description Framework - среда описания ресурса) присваивает каждому информационному объекту уникальный идентификатор и сохраняет информацию о таком объекте в виде трехэлементных наборов (триплетов) SPO, где S означает «субъект» и содержит идентификатор объекта, Р означает «предикат» и определяет некоторый атрибут этого объекта, а О означает «объект» и хранит в себе значение рассматриваемого атрибута данного объекта. Это значение может быть как примитивным типом данных (строкой, числом, булевым значением) или идентификатором другого объекта. В одном из иллюстративных примеров триплет SPO может связывать фрагмент текста на естественном языке с категорией именованных сущностей.
[00055] В некоторых вариантах реализации вычислительная система может показывать извлеченные информационные объекты в визуальной связи с соответствующими текстовыми аннотациями. Далее вычислительная система может принять вводимые пользователем данные с подтверждением или изменением извлеченных информационных объектов и (или) их атрибутов. В некоторых вариантах реализации вводимые данные пользователя могут быть использованы для обновления обучающей выборки данных, которая используется для настройки параметров классификации.
[00056] На шаге 170 блок-схемы вычислительная система может использовать извлеченные информационные объекты для выполнения самых разных задач обработки текстов на естественном языке - к примеру, задач машинного перевода, семантического поиска, классификации документов, кластеризации, фильтрации текста и т.д. В ответ на выполнение описанных со ссылками на шаг 170 операций способ может завершиться.
[00057] Как было отмечено выше в настоящем документе, значения одного или более параметров классификаторов могут определяться с помощью методов обучения с учителем. Обучение с учителем может включать итеративную модификацию значений параметров на основе обработки обучающей выборки данных, включающей множество аннотированных текстов на естественном языке с целью оптимизации определенной целевой функции. В одном из иллюстративных примеров целевая функция может быть представлена F-мерой, полученной путем оценки информационного объекта, выдаваемого классификатором, который определяется следующим образом:
[00058] Fβ=(1+β2) * (Точность * Полнота) / ((β2 * Точность) + Полнота),
где Точность = tp / (tp+fp) и Полнота = tp / (tp+fn),
tp - это количество истинно положительных результатов (правильно классифицированных извлеченных информационных объектов), fp - количество ложноположительных результатов (информационный объект, который не принадлежит к определенному классу, был классифицирован как принадлежащий к этому классу), a fn - количество ложно отрицательных результатов (информационный объект, который принадлежит к определенному классу, не был классифицирован как принадлежащий к этому классу).
[00059] Обучающая выборка может быть создана из одного или более аннотированных текстов на естественном языке. Аннотированный текст может содержать множество аннотаций, таких, что каждая аннотация представляет собой непрерывный фрагмент текста и типы информационных объектов, представленных фрагментом текста. Обучающие выборки данных могут содержать различные признаки соответствующих составляющих, в том числе идентификаторы семантических классов, идентификаторы лексических классов, идентификаторы прагматических классов, идентификаторы синтаксических парадигм, идентификаторы граммем, идентификаторы семантем, шаблоны капитализации, идентификаторы глубинных позиций, идентификаторы пунктуации слева и (или) справа, наличие специфического контента и т.д. Эти признаки могут быть представлены в виде векторов вида «имя = значение», как подробнее было описано выше.
[00060] В одном из иллюстративных примеров обучающая выборка может включать множество текстов, сопровождаемых метаданными, определяющими информационные объекты, их категории и соответствующие текстовые атрибуты. Классификаторы первого этапа, которые используются, как показано на шаге 140 Фиг. 1, для разметки тегами текстовых сегментов, могут быть обучены реконструировать теги уровня сегментов, то есть текстовые сегменты будут помечены тегами <Р.А>, если они содержат хотя бы одну текстовую аннотацию информационного объекта категории А. В некоторых вариантах реализации текстовые сегменты могут быть снабжены одним или более тегами, соответствующими категориям информационных объектов, для которых вычисленная с помощью соответствующего классификатора степень связанности превосходит заранее определенное пороговое значение. Таким образом, классификатор первого этапа может генерировать для каждого сегмента связанные с ним теги и их степени уверенности (то есть степени ассоциации с соответствующей категорией информационных объектов). Исходные признаки для классификаторов первого этапа могут включать «мешки слов» для каждого текстового сегмента, значения TF-IDF для каждого текстового сегмента и (или) другие признаки, включая морфологические, синтаксические и (или) семантические признаки.
[00061] Классификаторы второго этапа, которые используются, как указано на шаге 170 Фиг. 1, для извлечения информационных объектов и получения текстовых аннотаций, могут быть обучены обрабатывать комбинации локальных признаков и тегов текстовых сегментов, полученных классификаторами первого этапа. Для предотвращения использования возможно слишком близких результатов, полученных классификаторами первого этапа, в процессе обучения классификаторов второго этапа корпус аннотированных текстов, использованный для обучения классификаторов первого этапа, может быть разделен на несколько частей, которые затем могут быть использованы для обучения нескольких классификаторов первого этапа так, что каждый классификатор первого этапа обучается с использованием всех этих частей, кроме одной. Каждый из обученных классификаторов первого этапа затем может быть использован для обработки части, которая была исключена из обучения соответствующего классификатора первого этапа для получения признаков уровня сегмента (например, тегов), ассоциированных с текстовыми сегментами этой части. Таким образом, каждый классификатор первого этапа обучается на всех частях, кроме одной, и затем используется для получения признаков уровня сегмента для оставшейся части. Признаки уровня сегмента, полученные классификаторами первого этапа, затем объединяются с метаданными корпуса аннотированных текстов для обучения классификаторов второго этапа, каждый из которых обрабатывает комбинацию локальных признаков и признаков уровня сегмента (например, тегов, ассоциированных с текстовым сегментом) для определения степени ассоциированности текстового токена-кандидата с определенной категорией информационных объектов.
[00062] На Фиг. 2 показана блок-схема описанного в примере способа обучения классификаторов, используемых для извлечения информации из текстов на естественном языке, в соответствии с одним или более вариантами реализации настоящего изобретения. Способ 200 и (или) каждая из его отдельных функций, программ, подпрограмм или операций могут выполняться одним или более процессорами вычислительной системы (например, вычислительной системы 1000 на Фиг. 13), реализующей этот способ. В некоторых реализациях способ 200 может быть реализован в одном потоке обработки. В качестве альтернативы способ 200 может быть реализован с помощью двух или более потоков обработки, при этом каждый поток выполняет одну или более отдельных функций, стандартных программ, подпрограмм или операций данного способа. В иллюстративном примере реализующие способ 200 потоки обработки могут быть синхронизированы (например, с помощью семафоров, критических секций и (или) других механизмов синхронизации потоков). В качестве альтернативы реализующие способ 200 потоки обработки могут выполняться асинхронно по отношению друг к другу.
[00063] На шаге 210 вычислительная система, реализующая способ, может получать корпус аннотированных текстов, содержащий множество текстов на естественном языке, вместе с метаданными, описывающими информационные объекты и соответствующие признаки текста, как более подробно было описано выше в этом документе.
[00064] На шаге 220 вычислительная система может случайным образом разбивать корпус текстов на множество частей приблизительно равного размера.
[00065] На шагах 230-270 вычислительная система может выполнять итерации на этих частях. В частности, на шаге 230 вычислительная система может инициализировать счетчик частей.
[00066] На шаге 240 вычислительная система может обучать классификатор первого этапа на обучающей выборке данных, которая включает все части, за исключением части, определяемой текущим значением счетчика частей. Классификатор первого этапа может обучаться восстановлению тегов уровня сегмента соответствующих обучающих выборок данных, то есть получению для каждого текстового сегмента ассоциированных с ним тегов и их степеней уверенности. Исходные признаки для классификаторов первого этапа могут включать «мешки слов» для каждого текстового сегмента, значения TF-IDF для каждого текстового сегмента и (или) другие признаки, включая морфологические, синтаксические и (или) семантические признаки, как более подробно было описано выше в этом документе.
[00067] На шаге 250 вычислительная система может использовать каждый из обученных классификаторов первого этапа для обработки части, определяемой текущим значением счетчика частей (то есть части, которая была исключена из обучающей выборки данных, использованной для обучения соответствующего классификатора), таким образом воспроизводя теги уровня сегмента для этой части.
[00068] На шаге 260 вычислительная система может увеличивать счетчик частей.
[00069] В ответ на определение на шаге 270 того факта, что счетчик частей пока меньше общего числа частей, способ может вернуться назад к шагу 240. В ином случае на шаге 280 вычислительная система может объединять признаки уровня сегмента, полученные классификаторами первого этапа, с метаданными корпуса аннотированных текстов для обучения одного или более классификаторов второго этапа, каждый из которых обрабатывает комбинацию локальных признаков и признаков уровня сегмента (например, тегов, ассоциированных с текстовым сегментом) для определения степени связанности текстового токена-кандидата с определенной категорией информационных объектов.
[00070] На шаге 290 вычислительная система может отбрасывать обученные классификаторы первого этапа и обучать новые классификаторы первого этапа, используя весь корпус аннотированных текстов.
[00071] На шаге 295 вычислительная система может использовать обученные классификаторы первого этапа и второго этапа для выполнения различных задач обработки текстов на естественном языке, таких как машинный перевод, семантический поиск, классификация документов, кластеризация, фильтрация текстов и пр. В том случае, если все операции, описанные с отсылкой к шагу 280 блок-схемы, окажутся выполнены, способ может завершиться.
[00072] На Фиг. 3 приведена блок-схема одного иллюстративного примера реализации способа 200 для выполнения семантико-синтаксического анализа предложения на естественном языке 212 в соответствии с одним или несколькими аспектами настоящего изобретения. Способ 200 может быть применен к одной или более синтаксическим единицам (например, предложениям), включенным в определенный текстовый корпус, для формирования множества семантико-синтаксических деревьев, соответствующих синтаксическим единицам. В различных иллюстративных примерах подлежащие обработке способом 200 предложения на естественном языке могут извлекаться из одного или нескольких электронных документов, которые могут создаваться путем сканирования (или другим способом получения изображений бумажных документов) и оптического распознавания символов (OCR) для получения текстов, соответствующих этим документам. Предложения на естественном языке также могут извлекаться из других различных источников, включая сообщения, отправляемые по электронной почте, тексты из социальных сетей, файлы с цифровым содержимым, обработанные с использованием способов распознавания речи и т.д.
[00073] В блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для установления морфологических значений слов, входящих в состав предложения. В настоящем документе "морфологическое значение" слова означает одну или несколько лемм (т.е. канонических или словарных форм), соответствующих слову, и соответствующий набор значений грамматических признаков, которые определяют грамматическое значение слова. В число таких грамматических признаков могут входить лексическая категория (часть речи) слова и один или более морфологических и грамматических признаков (например, падеж, род, число, спряжение и т.д.). Ввиду омонимии и (или) совпадающих грамматических форм, соответствующих разным лексико-морфологическим значениям определенного слова, для данного слова может быть установлено два или более морфологических значений. Более подробное описание иллюстративного примера проведения лексико-морфологического анализа предложения приведено ниже в настоящем документе со ссылкой на Фиг. 4.
[00074] В блоке 215 вычислительное устройство может проводить грубый синтаксический анализ предложения 212. Грубый синтаксический анализ может включать применение одной или нескольких синтаксических моделей, которые могут быть соотнесены с элементами предложения 212, с последующим установлением поверхностных (т.е. синтаксических) связей в рамках предложения 212 для получения графа обобщенных составляющих. В настоящем документе "составляющая" означает группу соседних слов исходного предложения, функционирующую как одна грамматическая сущность. Составляющая включает в себя ядро в виде одного или более слов и может также включать одну или несколько дочерних составляющих на более низких уровнях. Дочерняя составляющая является зависимой составляющей, которая может быть соотнесена с одной или несколькими родительскими составляющими.
[00075] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев предложения. Среди различных синтаксических деревьев на основе определенной функции оценки с учетом совместимости лексических значений слов исходного предложения, поверхностных отношений, глубинных отношений и т.д. может быть отобрано одно или несколько лучших синтаксических деревьев, соответствующих предложению 212.
[00076] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может включать множество узлов, соответствующих семантическим классам и также может включать множество дуг, соответствующих семантическим отношениям (более подробное описание см. ниже в настоящем документе).
[00077] Фиг. 4 схематически иллюстрирует пример лексико-морфологической структуры предложения в соответствии с одним или более аспектами настоящего изобретения. Пример лексико-морфологической структуры 700 может включать множество пар "лексическое значение - грамматическое значение" для примера предложения. В качестве иллюстративного примера, "ll" может быть соотнесено с лексическим значением "shall" и "will". Грамматическим значением, соотнесенным с лексическим значением "shall", является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Composite II>. Грамматическим значением, соотнесенным с лексическим значением "will", является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Irregular, Composite II>.
[00078] Фиг. 5 схематически иллюстрирует используемые языковые описания 210, в том числе морфологические описания 201, лексические описания 203, синтаксические описания 202 и семантические описания 204, а также отношения между ними. Среди них морфологические описания 201, лексические описания 203 и синтаксические описания 202 зависят от языка. Набор языковых описаний 210 представляет собой модель определенного естественного языка.
[00079] В качестве иллюстративного примера определенное лексическое значение в лексических описаниях 203 может быть соотнесено с одной или несколькими поверхностными моделями синтаксических описаний 202, соответствующих данному лексическому значению. Определенная поверхностная модель синтаксических описаний 202 может быть соотнесена с глубинной моделью семантических описаний 204.
[00080] Фиг. 6 схематически иллюстрирует несколько примеров морфологических описаний. В число компонентов морфологических описаний 201 могут входить: описания словоизменения 310, грамматическая система 320, описания словообразования 330 и другие. Грамматическая система 320 включает набор грамматических категорий, таких как часть речи, падеж, род, число, лицо, возвратность, время, вид и их значения (так называемые "граммемы"), в том числе, например, прилагательное, существительное или глагол; именительный, винительный или родительный падеж; женский, мужской или средний род и т.д. Соответствующие граммемы могут использоваться для составления описания словоизменения 310 и описания словообразования 330.
[00081] Описание словоизменения 310 определяет формы данного слова в зависимости от его грамматических категорий (например, падеж, род, число, время и т.д.) и в широком смысле включает в себя или описывает различные возможные формы слова. Описание словообразования 330 определяет, какие новые слова могут быть образованы от данного слова (например, сложные слова).
[00082] В соответствии с одним из аспектов настоящего изобретения при установлении синтаксических отношений между элементами исходного предложения могут использоваться модели составляющих. Составляющая представляет собой группу соседних слов в предложении, ведущих себя как единое целое. Ядром составляющей является слово, она также может содержать дочерние составляющие более низких уровней. Дочерняя составляющая является зависимой составляющей и может быть прикреплена к другим составляющим (родительским) для построения синтаксических описаний 202 исходного предложения.
[00083] На Фиг. 7 приведены примеры синтаксических описаний. В число компонентов синтаксических описаний 202 могут входить, среди прочего, поверхностные модели 410, описания поверхностных позиций 420, описание референциального и структурного контроля 456, описание управления и согласования 440, описание недревесного синтаксиса 450 и правила анализа 460. Синтаксические описания 202 могут использоваться для построения возможных синтаксических структур исходного предложения на заданном естественном языке с учетом свободного линейного порядка слов, недревесных синтаксических явлений (например, согласование, эллипсис и т.д.), референциальных отношений и других факторов.
[00084] Поверхностные модели 410 могут быть представлены в виде совокупностей одной или нескольких синтаксических форм («синтформ» 412) для описания возможных синтаксических структур предложений, входящих в состав синтаксического описания 202. В целом, лексическое значение слова на естественном языке может быть связано с поверхностными (синтаксическими) моделями 410. Поверхностная модель может представлять собой составляющие, которые возможны, если лексическое значение выступает в роли "ядра". Поверхностная модель может включать набор поверхностных позиций дочерних элементов, описание линейного порядка и (или) диатезу. В настоящем документе "диатеза" означает определенное отношение между поверхностными и глубинными позициями и их семантическими ролями, выражаемыми посредством глубинных позиций. Например, диатеза может быть выражаться залогом глагола: если субъект является агентом действия, глагол в активном залоге, а когда субъект является направлением действия, это выражается пассивным залогом глагола.
[00085] Модель составляющих может включать множество поверхностных позиций 415 дочерних составляющих и описаний их линейного порядка 416 для описания грамматических значений 414 возможных заполнителей этих поверхностных позиций. Диатезы 417 представляют собой соответствия между поверхностными позициями 415 и глубинными позициями 514 (как показано на Фиг. 9). Коммуникативные описания 480 описывают коммуникативный порядок в предложении.
[00086] Описание линейного порядка (416) может быть представлено в виде выражений линейного порядка, отражающих последовательность, в которой различные поверхностные позиции (415) могут встречаться в предложении. В число выражений линейного порядка могут входить наименования переменных, имена поверхностных позиций, круглые скобки, граммемы, оператор «or» (или) и т.д. В качестве иллюстративного примера описание линейного порядка простого предложения "Boys play football" можно представить в виде "Subject Core Object_Direct" (Подлежащее - Ядро - Прямое дополнение), где Subject (Подлежащее), Core (Ядро) и Object_Direct (Прямое дополнение) представляют собой имена поверхностных позиций 415, соответствующих порядку слов.
[00087] Коммуникативные описания 480 могут описывать порядок слов в синтформе 412 с точки зрения коммуникативных актов, представленных в виде коммуникативных выражений порядка, которые похожи на выражения линейного порядка. Описания управления и согласования 440 может включать правила и ограничения на грамматические значения присоединяемых составляющих, которые используются во время синтаксического анализа.
[00088] Описания недревесного синтаксиса 450 могут создаваться для отражения различных языковых явлений, таких как эллипсис и согласование, они используются при трансформациях синтаксических структур, которые создаются на различных этапах анализа в различных вариантах реализации изобретения. Описания недревесного синтаксиса 450 могут, среди прочего, включать описание эллипсиса 452, описания согласования 454, а также описания референциального и структурного контроля 430.
[00089] Правила анализа 460 могут описывать свойства конкретного языка и использоваться в рамках семантического анализа. Правила анализа 460 могут включать правила вычисления семантем 462 и правила нормализации 464. Правила нормализации 464 могут использоваться для описания трансформаций семантических структур, которые могут отличаться в разных языках.
[00090] На Фиг. 8 приведен пример семантических описаний. Компоненты семантических описаний 204 не зависят от языка и могут, среди прочего, включать семантическую иерархию 510, описания глубинных позиций 520, систему семантем 530 и прагматические описания 540.
[00091] Ядро семантических описаний может быть представлено семантической иерархией 510, в которую могут входить семантические понятия (семантические сущности), также называемые семантическими классами. Последние могут быть упорядочены в иерархическую структуру, отражающую отношения "родитель-потомок". В целом, дочерний семантический класс может унаследовать одно или более свойств своего прямого родителя и других семантических классов-предков. В качестве иллюстративного примера семантический класс SUBSTANCE (Вещество) является дочерним семантическим классом класса ENTITY (Сущность) и родительским семантическим классом для классов GAS, (Газ), LIQUID (Жидкость), METAL (Металл), WOOD_MATERIAL (Древесина) и т.д.
[00092] Каждый семантический класс в семантической иерархии 510 может сопровождаться глубинной моделью 512. Глубинная модель 512 семантического класса может включать множество глубинных позиций 514, которые могут отражать семантические роли дочерних составляющих в различных предложениях с объектами данного семантического класса в качестве ядра родительской составляющей. Глубинная модель 512 также может включать возможные семантические классы, выступающие в роли заполнителей глубинных позиций. Глубинные позиции (514) могут выражать семантические отношения, в том числе, например, "agent" (агенс), "addressee" (адресат), "instrument" (инструмент), "quantity" (количество) и т.д. Дочерний семантический класс может наследовать и уточнять глубинную модель своего непосредственного родительского семантического класса.
[00093] Описания глубинных позиций 520 отражают семантические роли дочерних составляющих в глубинных моделях 512 и могут использоваться для описания общих свойств глубинных позиций 514. Описания глубинных позиций 520 также могут содержать грамматические и семантические ограничения в отношении заполнителей глубинных позиций 514. Свойства и ограничения, связанные с глубинными позициями 514 и их возможными заполнителями в различных языках, могут быть в значительной степени подобными и зачастую идентичными. Таким образом, глубинные позиции 514 не зависят от языка.
[00094] Система семантем 530 может представлять собой множество семантических категорий и семантем, которые представляют значения семантических категорий. В качестве иллюстративного примера семантическая категория "DegreeOfComparison" (Степень сравнения) может использоваться для описания степени сравнения прилагательных и включать следующие семантемы: "Positive" (Положительная), "ComparativeHigherDegree" (Сравнительная степень сравнения), "SuperlativeHighestDegree" (Превосходная степень сравнения) и другие. В качестве еще одного иллюстративного примера семантическая категория "RelationToReferencePoint" (Отношение к точке) может использоваться для описания порядка (пространственного или временного в широком смысле анализируемых слов), как, например, до или после точки или события, и включать семантемы "Previous" (Предыдущий) и "Subsequent" (Последующий). В качестве еще одного иллюстративного примера семантическая категория "EvaluationObjective" (Оценка) может использоваться для описания объективной оценки, как, например, "Bad" (Плохой), "Good" (Хороший) и т.д.
[00095] Система семантем 530 может включать независимые от языка семантические атрибуты, которые могут выражать не только семантические характеристики, но и стилистические, прагматические и коммуникативные характеристики. Некоторые семантемы могут использоваться для выражения атомарного значения, которое находит регулярное грамматическое и (или) лексическое выражение в естественном языке. По своему целевому назначению и использованию системы семантем могут разделяться на категории, например, грамматические семантемы 532, лексические семантемы 534 и классифицирующие грамматические (дифференцирующие) семантемы 536.
[00096] Грамматические семантемы 532 могут использоваться для описания грамматических свойств составляющих при преобразовании синтаксического дерева в семантическую структуру. Лексические семантемы 534 могут описывать конкретные свойства объектов (например, "being flat" (быть плоским) или "being liquid" (являться жидкостью)) и использоваться в описаниях глубинных позиций 520 как ограничение заполнителей глубинных позиций (например, для глаголов "face (with)" (облицовывать) и "flood" (заливать), соответственно). Классифицирующие грамматические (дифференцирующие) семантемы 536 могут выражать дифференциальные свойства объектов внутри одного семантического класса. В качестве иллюстративного примера в семантическом классе HAIRDRESSER (ПАРИКМАХЕР) семантема <<RelatedToMen>> (Относится к мужчинам) присваивается лексическому значению "barber" в отличие от других лексических значений, которые также относятся к этому классу, например, «hairdresser», «hairstylist» и т.д. Используя данные независимые от языка семантические свойства, которые могут быть выражены в виде элементов семантического описания, в том числе семантических классов, глубинных позиций и семантем, можно извлекать семантическую информацию в соответствии с одним или более аспектами настоящего изобретения.
[00097] Прагматические описания 540 позволяют назначать некоторую тему, стиль или жанр текстам и объектам семантической иерархии 510 (например, «Экономическая политика», «Внешняя политика», «Юриспруденция», «Законодательство», «Торговля», «Финансы» и т.д.). Прагматические свойства также могут выражаться семантемами. В качестве иллюстративного примера прагматический контекст может приниматься во внимание при семантическом анализе.
[00098] На Фиг. 9 приведен пример лексических описаний. Лексические описания (203) представляют собой множество лексических значений 612 конкретного естественного языка. Для каждого лексического значения 612 имеется связь 602 с его независимым от языка семантическим родителем для того, чтобы указать положение какого-либо заданного лексического значения в семантической иерархии 510.
[00099] Лексическое значение 612 в лексико-семантической иерархии 510 может быть соотнесено с поверхностной моделью 410, которая в свою очередь через одну или несколько диатез 417 может быть соотнесена с соответствующей глубинной моделью 512. Лексическое значение 612 может наследовать семантический класс своего родителя и уточнять свою глубинную модель 512.
[000100] Поверхностная модель 410 лексического значения может включать одну или несколько синтаксических форм 412. Синтформа 412 поверхностной модели 410 может включать одну или несколько поверхностных позиций 415, в том числе соответствующие описания их линейного порядка 416, одно или несколько грамматических значений 414, выраженных в виде набора грамматических категорий (граммем), одно или несколько семантических ограничений, соотнесенных с заполнителями поверхностных позиций, и одну или несколько диатез 417. Семантические ограничения, соотнесенные с определенным заполнителем поверхностной позиции, могут быть представлены в виде одного или более семантических классов, объекты которых могут заполнить эту поверхностную позицию.
[000101] Фиг. 10 схематически иллюстрирует примеры структур данных, которые могут строятся в рамках одного или более методов настоящего изобретения. Снова ссылаясь на Фиг. 3, в блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для построения лексико-морфологической структуры 722 согласно Фиг. 10. Лексико-морфологическая структура 722 может включать множество соответствий лексического и грамматического значений для каждой лексической единицы (например, слова) исходного предложения. Фиг. 4 схематически иллюстрирует пример лексико-морфологической структуры.
[000102] Снова возвращаясь к Фиг. 3, в блоке 215 вычислительное устройство может проводить грубый синтаксический анализ исходного предложения 212 для построения графа обобщенных составляющих 732 согласно Фиг. 13. Грубый синтаксический анализ предполагает применение одной или нескольких возможных синтаксических моделей возможных лексических значений к каждому элементу множества элементов лексико-морфологической структуры 722, с тем чтобы установить множество потенциальных синтаксических отношений в составе исходного предложения 212, представленных графом обобщенных составляющих 732.
[000103] Граф обобщенных составляющих 732 может быть представлен ациклическим графом, включающим множество узлов, соответствующих обобщенным составляющим исходного предложения 212 и включающим множество дуг, соответствующих поверхностным (синтаксическим) позициям, которые могут выражать различные типы отношений между обобщенными лексическими значениями. В рамках данного способа может применяться множество потенциально применимых синтаксических моделей для каждого элемента множества элементов лексико-морфологических структур исходного предложения 212 для формирования набора составляющих исходного предложения 212. Затем в рамках способа может рассматриваться множество возможных составляющих исходного предложения 212 для построения графа обобщенных составляющих 732 на основе набора составляющих. Граф обобщенных составляющих 732 на уровне поверхностной модели может отражать множество потенциальных связей между словами исходного предложения 212. Поскольку количество возможных синтаксических структур может быть относительно большим, граф обобщенных составляющих 732 может, в общем случае, включать избыточную информацию, в том числе относительно большое число лексических значений по определенным узлам и (или) поверхностных позиций по определенным дугам графа.
[000104] Граф обобщенных составляющих 732 может изначально строиться в виде дерева, начиная с концевых узлов (листьев) и двигаясь далее к корню, путем добавления дочерних составляющих, заполняющих поверхностные позиции 415 множества родительских составляющих, с тем чтобы были охвачены все лексические единицы исходного предложения 212.
[000105] В некоторых вариантах осуществления корень графа обобщенных составляющих 732 представляет собой предикат. В ходе описанного выше процесса дерево может стать графом, так как определенные составляющие более низкого уровня могут быть включены в одну или несколько составляющих верхнего уровня. Множество составляющих, которые представляют определенные элементы лексико-морфологической структуры, затем может быть обобщено для получения обобщенных составляющих. Составляющие могут быть обобщены на основе их лексических значений или грамматических значений 414, например, на основе частей речи и отношений между ними. Фиг. 11 схематически иллюстрирует пример графа обобщенных составляющих.
[000106] В блоке 216 согласно Фиг. 3 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев 742 согласно Фиг. 10 на основе графа обобщенных составляющих 732. Для каждого синтаксического дерева вычислительное устройство может определить интегральную оценку на основе априорных и вычисляемых оценок. Дерево с наилучшей оценкой может быть выбрано для построения наилучшей синтаксической структуры 746 исходного предложения 212.
[000107] В ходе построения синтаксической структуры 746 на основе выбранного синтаксического дерева вычислительное устройство может установить одну или несколько недревесных связей (например, путем создания дополнительной связи среди, как минимум, двух узлов графа). Если этот процесс заканчивается неудачей, вычислительное устройство может выбрать синтаксическое дерево с условно оптимальной оценкой, наиболее близкой к оптимальной, и производится попытка установить одну или несколько не древесных связей в дереве. Наконец, в результате точного синтаксического анализа создается синтаксическая структура 746, которая представляет собой лучшую синтаксическую структуру, соответствующую исходному предложению 212. Фактически в результате отбора лучшей синтаксической структуры 746 определяются лучшие лексические значения 240 для элементов исходного предложения 212.
[000108] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может отражать передаваемую исходным предложением семантику в независимых от языка терминах. Семантическая структура 218 может быть представлена в виде ациклического графа (например, дерево, возможно, дополненное одной или более недревесной связью (дугой графа). Слова исходного предложения представлены узлами с соответствующими независимыми от языка семантическими классами семантической иерархии 510. Дуги графа представляют глубинные (семантические) отношения между элементами предложения. Переход к семантической структуре 218 может осуществляться с помощью правил анализа 460 и предполагает соотнесение одного или более атрибутов (отражающих лексические, синтаксические и (или) семантические свойства слов исходного предложения 212) с каждым семантическим классом.
[000109] На Фиг. 12 приводится пример синтаксической структуры предложения, сгенерированной из графа обобщенных составляющих, показанного на Фиг. 14. Узел 901 соответствует лексическому элементу "life" (жизнь) 906 в исходном предложении 212. Применяя способ описанного в настоящем документе синтактико-семантического анализа, вычислительное устройство может установить, что лексический элемент "life" (жизнь) 906 представляет одну из форм лексического значения, соотнесенного с семантическим классом "LIVE" (ЖИТЬ) 904 и заполняет поверхностную позицию $Adjunct_Locative 905) в родительской составляющей, представленной управляющим узлом Verb:succeed:succeed:TO_SUCCEED (907).
[000110] На Фиг. 13 приводится семантическая структура, соответствующая синтаксической структуре на Фиг. 12. В отношении вышеупомянутого лексического элемента "life" (жизнь) (906) на Фиг. 12 семантическая структура включает лексический класс 1010 и семантический класс 1030, соответствующие представленным на Фиг. 12, однако вместо поверхностной позиции (905) семантическая структура включает глубинную позицию "Sphere" (сфера_деятельности) 1020.
[000111] В соответствии с одним или несколькими аспектами настоящего изобретения вычислительное устройство, в котором реализованы описанные в настоящем описании способы, может индексировать один или несколько параметров, полученных в результате семантико-синтаксического анализа. Таким образом, способы настоящего изобретения позволяют рассматривать не только множество слов в составе исходного текстового корпуса, но и множество лексических значений этих слов, сохраняя и индексируя всю синтаксическую и семантическую информацию, полученную в ходе синтаксического и семантического анализа каждого предложения исходного текстового корпуса. Такая информация может дополнительно включать данные, полученные в ходе промежуточных этапов анализа, а также результаты лексического выбора, в том числе результаты, полученные в ходе разрешения неоднозначностей, вызванных омонимией и (или) совпадающими грамматическими формами, соответствующими различным лексико-морфологическим значениям некоторых слов исходного языка.
[000112] Для каждой семантической структуры можно создать один или несколько индексов. Индекс можно представить в виде структуры данных в памяти, например, в виде таблицы, состоящей из нескольких записей. Каждая запись может представлять собой установление соответствия между определенным элементом семантической структуры (например, одно слово или несколько слов, синтаксическое отношение, морфологическое, синтаксическое или семантическое свойство или синтаксическая или семантическая структура) и одним или несколькими идентификаторами (или адресами) случаев употребления данного элемента семантической структуры в исходном тексте.
[000113] В некоторых вариантах осуществления индекс может включать одно или несколько значений морфологических, синтаксических, лексических и (или) семантических параметров. Эти значения могут создаваться в процессе двухэтапного семантического анализа (более подробное описание см. в настоящем документе). Индекс можно использовать для выполнения различных задач обработки естественного языка, в том числе для выполнения семантического поиска.
[000114] Вычислительное устройство, реализующее данный способ, может извлекать широкий спектр лексических, грамматических, синтаксических, прагматических и (или) семантических характеристик в ходе проведения синтактико-семантического анализа и создания семантических структур. В иллюстративном примере система может извлекать и сохранять определенную лексическую информацию, данные о принадлежности определенных лексических единиц семантическим классам, информацию о грамматических формах и линейном порядке, информацию об использовании определенных форм, аспектов, тональности (например, положительной или отрицательной), глубинных позиций, недревесных связей, семантем и т.д.
[000115] Вычислительное устройство, в котором реализованы описанные здесь способы, может производить анализ, используя один или несколько описанных в этом документе способов анализа текста, и индексировать любой один или несколько параметров описаний языка, включая лексические значения, семантические классы, граммемы, семантемы и т.д. Индексацию семантического класса можно использовать в различных задачах обработки естественного языка, включая семантический поиск, классификацию, кластеризацию, фильтрацию текста и т.д. Индексация лексических значений (вместо индексации слов) позволяет искать не только слова и формы слов, но и лексические значения, т.е. слова, имеющие определенные лексические значения. Вычислительное устройство, реализующее способы настоящего изобретения, также может хранить и индексировать синтаксические и семантические структуры, созданные одним или несколькими описанными в настоящем документе способами анализа текста, для использования данных структур и (или) индексов при проведении семантического поиска, классификации, кластеризации и фильтрации документов.
[000116] На Фиг. 14 схематически показан иллюстративный пример вычислительного устройства (1000), которое может исполнять набор команд, которые вызывают выполнение вычислительным устройством любого отдельно взятого или нескольких способов настоящего изобретения. Вычислительное устройство может подключаться к другому вычислительному устройству по локальной сети, корпоративной сети, сети экстранет или сети Интернет. Вычислительное устройство может работать в качестве сервера или клиентского вычислительного устройства в сетевой среде "клиент/сервер" либо в качестве однорангового вычислительного устройства в одноранговой (или распределенной) сетевой среде. Вычислительное устройство может быть представлено персональным компьютером (ПК), планшетным ПК, телевизионной приставкой (STB), карманным ПК (PDA), сотовым телефоном или любым вычислительным устройством, способным выполнять набор команд (последовательно или иным образом), определяющих операции, которые должны быть выполнены этим вычислительным устройством. Кроме того, в то время как показано только одно вычислительное устройство, следует принять, что термин «вычислительное устройство» также может включать любую совокупность вычислительных устройств, которые отдельно или совместно выполняют набор (или несколько наборов) команд для выполнения одной или нескольких методик, описанных в настоящем документе.
[000117] Пример вычислительного устройства (1000) включает процессор (502), основную память (504) (например, постоянное запоминающее устройство (ПЗУ) или динамическую оперативную память (DRAM)) и устройство хранения данных (518), которые взаимодействуют друг с другом по шине (530).
[000118] Процессор (502) может быть представлен одним или более универсальными вычислительными устройствами, например, микропроцессором, центральным процессором и т.д. В частности, процессор (502) может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с сокращенным набором команд (RISC), микропроцессор с командными словами сверхбольшой длины (VLIW), процессор, реализующий другой набор команд, или процессоры, реализующие комбинацию наборов команд. Процессор (502) также может представлять собой одно или несколько вычислительных устройств специального назначения, например, заказную интегральную микросхему (ASIC), программируемую пользователем вентильную матрицу (FPGA), процессор цифровых сигналов (DSP), сетевой процессор и т.п. Процессор (502) настроен на выполнение команд (526) для осуществления рассмотренных в настоящем документе операций и функций.
[000119] Вычислительное устройство (1000) может дополнительно включать устройство сетевого интерфейса (522), устройство визуального отображения (510), устройство ввода символов (512) (например, клавиатуру), и устройство ввода - сенсорный экран (514).
[000120] Устройство хранения данных (518) может содержать машиночитаемый носитель данных (524), в котором хранится один или более наборов команд (526), и в котором реализован один или более из методов или функций настоящего изобретения. Команды (526) также могут находиться полностью или по меньшей мере частично в основной памяти (504) и/или в процессоре (502) во время выполнения их в вычислительном устройстве (1000), при этом оперативная память (504) и процессор (502) также составляют машиночитаемый носитель данных. Команды (526) дополнительно могут передаваться или приниматься по сети (516) через устройство сетевого интерфейса (522).
[000121] В некоторых вариантах осуществления команды (526) могут включать в себя команды способа (100) классификации текстов на естественном языке на основе семантических признаков и/или способа вычисления параметров модели классификации. В то время как машиночитаемый носитель данных (524), показанный на примере на Фиг. 14, является единым носителем, термин «машиночитаемый носитель» должен включать один носитель или несколько носителей (например, централизованную или распределенную базу данных, и/или соответствующие кэши и серверы), в которых хранится один или более наборов команд. Термин "машиночитаемый носитель данных" также следует рассматривать как термин, включающий любой носитель, который способен хранить, кодировать или переносить набор команд для выполнения машиной, который заставляет эту машину выполнять любую одну или несколько из методик, описанных в настоящем раскрытии изобретения. Таким образом, термин «машиночитаемый носитель данных», помимо прочего, также относится к твердотельной памяти и оптическим и магнитным носителям.
[000122] Описанные в документе способы, компоненты и функции могут быть реализованы дискретными аппаратными компонентами, либо они могут быть интегрированы в функции других аппаратных компонентов, таких как ASICS, FPGA, DSP или подобных устройств. Кроме того, способы, компоненты и функции могут быть реализованы с помощью модулей встроенного программного обеспечения или функциональных схем аппаратных устройств. Способы, компоненты и функции также могут быть реализованы с помощью любой комбинации вычислительных средств и программных компонентов, либо исключительно с помощью программного обеспечения.
[000123] В приведенном выше описании изложены многочисленные детали. Однако специалисту в этой области техники благодаря этому описанию очевидно, что настоящее изобретение может быть реализовано на практике без этих конкретных деталей. В некоторых случаях хорошо известные структуры и устройства показаны в виде блок-схемы, а не детально, чтобы не усложнять описание настоящего изобретения.
[000124] Некоторые части описания предпочтительных вариантов реализации представлены в виде алгоритмов и символического представления операций с битами данных в памяти компьютера. Такие описания и представления алгоритмов представляют собой средства, используемые специалистами в области обработки данных, чтобы наиболее эффективно передавать сущность своей работы другим специалистам в данной области. В настоящем документе и в целом алгоритмом называется самосогласованная последовательность операций, приводящих к требуемому результату. Операции требуют физических манипуляций с физическими величинами. Обычно, хотя и не обязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и подвергать другим манипуляциям. Оказалось, что прежде всего для обычного использования удобно описывать эти сигналы в виде битов, значений, элементов, символов, членов, цифр и т.д.
[000125] Однако следует иметь в виду, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами, и что они представляют собой просто удобные метки, применяемые к этим величинам. Если иное специально и недвусмысленно не указано в нижеследующем обсуждении, следует принимать, что везде по тексту такие термины как "определение", "вычисление", "расчет", "вычисление", "получение", "установление", "изменение" и т.п., относятся к действиям и процессам вычислительного устройства или аналогичного электронного вычислительного устройства, которое работает с данными и преобразует данные, представленные в виде физических (например, электронных) величин в регистрах и памяти вычислительного устройства, в другие данные, аналогичным образом представленные в виде физических величин в памяти или регистрах вычислительного устройства, либо других подобных устройствах хранения, передачи или отображения информации.
[000126] Настоящее изобретение также относится к устройству для выполнения операций, описанных в настоящем документе. Такое устройство может быть специально сконструировано для требуемых целей, или оно может содержать универсальный компьютер, который избирательно активируется или дополнительно настраивается с помощью компьютерной программы, хранящейся в памяти компьютера. Такая компьютерная программа может храниться на машиночитаемом носителе данных, например, в частности, на диске любого типа, включая дискеты, оптические диски, CD-ROM и магнитно-оптические диски, постоянные запоминающие устройства (ПЗУ), оперативные запоминающие устройства (ОЗУ), СППЗУ, ЭППЗУ, магнитные или оптические карты и носитель любого типа, подходящий для хранения электронной информации.
[000127] Следует понимать, что вышеприведенное описание носит иллюстративный, а не ограничительный характер. Различные другие варианты реализации станут очевидными специалистам в данной области техники после прочтения и понимания приведенного выше описания. Область применения изобретения поэтому должна определяться с учетом прилагаемой формулы изобретения, а также всех областей применения эквивалентных способов, которые покрывает формула изобретения.
название | год | авторы | номер документа |
---|---|---|---|
ВОССТАНОВЛЕНИЕ ТЕКСТОВЫХ АННОТАЦИЙ, СВЯЗАННЫХ С ИНФОРМАЦИОННЫМИ ОБЪЕКТАМИ | 2017 |
|
RU2665261C1 |
МНОГОЭТАПНОЕ РАСПОЗНАВАНИЕ ИМЕНОВАННЫХ СУЩНОСТЕЙ В ТЕКСТАХ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ НА ОСНОВЕ МОРФОЛОГИЧЕСКИХ И СЕМАНТИЧЕСКИХ ПРИЗНАКОВ | 2016 |
|
RU2619193C1 |
ИЗВЛЕЧЕНИЕ ИНФОРМАЦИОННЫХ ОБЪЕКТОВ С ПОМОЩЬЮ КОМБИНАЦИИ КЛАССИФИКАТОРОВ | 2017 |
|
RU2679988C1 |
ИСПОЛЬЗОВАНИЕ ГЛУБИННОГО СЕМАНТИЧЕСКОГО АНАЛИЗА ТЕКСТОВ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ ДЛЯ СОЗДАНИЯ ОБУЧАЮЩИХ ВЫБОРОК В МЕТОДАХ МАШИННОГО ОБУЧЕНИЯ | 2016 |
|
RU2636098C1 |
Автоматическое извлечение именованных сущностей из текста | 2014 |
|
RU2665239C2 |
СПОСОБ ИЗВЛЕЧЕНИЯ ФАКТОВ ИЗ ТЕКСТОВ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ | 2016 |
|
RU2637992C1 |
ОБУЧЕНИЕ КЛАССИФИКАТОРОВ, ИСПОЛЬЗУЕМЫХ ДЛЯ ИЗВЛЕЧЕНИЯ ИНФОРМАЦИИ ИЗ ТЕКСТОВ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ | 2018 |
|
RU2691855C1 |
КЛАССИФИКАЦИЯ ДОКУМЕНТОВ ПО УРОВНЯМ КОНФИДЕНЦИАЛЬНОСТИ | 2019 |
|
RU2732850C1 |
ОБУЧЕНИЕ КЛАССИФИКАТОРОВ, ИСПОЛЬЗУЕМЫХ ДЛЯ ИЗВЛЕЧЕНИЯ ИНФОРМАЦИИ ИЗ ТЕКСТОВ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ | 2018 |
|
RU2681356C1 |
СИСТЕМА И МЕТОД АВТОМАТИЧЕСКОГО СОЗДАНИЯ ШАБЛОНОВ | 2018 |
|
RU2697647C1 |
Изобретение относится к области вычислительных систем, способам обработки естественного языка. Технический результат заключается в повышении эффективности и качества извлечения информации. Технический результат достигается за счет извлечения вычислительной системой из текста на естественном языке множества признаков, ассоциированных с каждым текстовым сегментом из множества текстовых сегментов, ассоциирования одного или более тегов с каждым текстовым сегментом из множества текстовых сегментов путем обработки с использованием классификатора первого этапа извлеченных признаков, извлечения, из локального контекста токена-кандидата текстового сегмента из множества текстовых сегментов, множества признаков, связанного с токеном-кандидатом, обработки, с использованием классификатора второго этапа, комбинации из множества локальных признаков и тегов, ассоциированных с текстовыми сегментами, для определения степени ассоциированности информационного объекта, на который ссылается токен-кандидат, с категорией информационных объектов. 3 н. и 17 з.п. ф-лы, 14 ил.
1. Способ извлечения информационных объектов из текстов на естественном языке с использованием локальных и нелокальных признаков, включающий:
извлечение вычислительной системой из текста на естественном языке множества признаков, ассоциированных с каждым текстовым сегментом из множества текстовых сегментов;
ассоциирование одного или более тегов с каждым текстовым сегментом из множества текстовых сегментов путем обработки с использованием классификатора первого этапа извлеченных признаков, связанных с каждым текстовым сегментом;
извлечение, из локального контекста токена-кандидата текстового сегмента из множества текстовых сегментов, множества признаков, связанного с токеном-кандидатом; и
обработку, с использованием классификатора второго этапа, комбинации из множества локальных признаков и тегов, ассоциированных с текстовыми сегментами, для определения степени ассоциированности информационного объекта, на который ссылается токен-кандидат, с категорией информационных объектов.
2. Способ по п. 1, в котором извлечение множества локальных признаков также включает выполнение по меньшей мере одной из следующих операций: лексического анализа текста на естественном языке или семантико-синтаксического анализа текста на естественном языке.
3. Способ по п. 1, дополнительно включающий:
определение внутри текстового сегмента текстовой аннотации, ассоциированной с информационным объектом.
4. Способ по п. 1, дополнительно включающий:
использование степени связанности информационного объекта с категорией информационных объектов для выполнения задачи обработки естественного языка.
5. Способ по п. 1, дополнительно включающий:
отображение текстовой аннотации информационного объекта в визуальной связи с категорией информационных объектов.
6. Способ по п. 1, в котором множество признаков, ассоциированных с текстовым сегментом, включает по меньшей мере одно из: мешок слов текстового сегмента или вектор значений частоты использования слов - обратной частоты документа (TF-IDF), представляющую сегменты текста.
7. Способ по п. 1, в котором тег, ассоциированный с текстовым сегментом, указывает на наличие в текстовом сегменте ссылки на информационный объект определенной категории информационных объектов.
8. Способ по п. 1, в котором классификатор первого этапа представлен одним из вариантов: классификатор градиентного бустинга, классификатор случайного леса или классификатор машины опорных векторов (SVM).
9. Способ по п. 1, в котором классификатор второго этапа представлен одним из вариантов: классификатор градиентного бустинга, классификатор случайного леса или классификатор машины опорных векторов (SVM) или нейронная сеть.
10. Способ извлечения информационных объектов из текстов на естественном языке с использованием локальных и нелокальных признаков, включающий:
получение вычислительной системой аннотированного текста на естественном языке, сопровождаемого метаданными, определяющими категории информационных объектов, и соответствующих текстовых аннотаций;
разделение аннотированного текста на естественном языке на множество частей;
обучение множества классификаторов первого этапа установлению связи одного или более тегов с каждым текстовым сегментом из множества текстовых сегментов на естественном языке, где каждый классификатор обучается с использованием соответствующей обучающей выборки данных, содержащей все, кроме одной части из множества частей;
генерацию признаков уровня сегмента путем применения каждого из обученных классификаторов первого этапа к части, которая исключена из соответствующей обучающей выборки данных;
обучение классификатора второго этапа обработке комбинации локальных признаков и признаков уровня сегмента для определения степени ассоциации текстовых токенов категориям информационных объектов.
11. Способ по п. 10, дополнительно включающий:
исключение из рассмотрения множества классификаторов первого этапа; и
обучение классификатора первого этапа с использованием множества частей текста на естественном языке.
12. Способ по п. 11, дополнительно включающий:
использование обученного классификатора первого этапа и обученного классификатора второго этапа для выполнения задач обработки естественного языка.
13. Способ по п. 10, в котором классификатор первого этапа представлен одним из вариантов: классификатор градиентного бустинга, классификатор случайного леса или классификатор машины опорных векторов (SVM).
14. Способ по п. 10, в котором классификатор второго этапа представлен одним из вариантов: классификатор градиентного бустинга, классификатор случайного леса или классификатор машины опорных векторов (SVM) или нейронная сеть.
15. Постоянный машиночитаемый носитель данных, содержащий исполняемые команды, которые при выполнении вычислительной системой заставляют вычислительную систему осуществлять:
извлечение множества признаков, ассоциированных с каждым текстовым сегментом из множества текстовых сегментов на естественном языке;
привязку одного или более тегов к каждому текстовому сегменту из множества текстовых сегментов путем обработки, с использованием классификатора первого этапа, извлеченных признаков, связанных с каждым текстовым сегментом;
извлечение из локального контекста токена-кандидата текстового сегмента из множества текстовых сегментов множества признаков, связанного с токеном-кандидатом; и
обработку, с использованием классификатора второго этапа, комбинации из множества локальных признаков и тегов, ассоциированных с текстовыми сегментами, для определения степени связанности информационного объекта, на который ссылается токен-кандидат, с категорией информационных объектов.
16. Постоянный машиночитаемый носитель данных по п. 15, дополнительно включающий исполняемые команды, обеспечивающие вычислительной системе возможность:
определения внутри текстового сегмента текстовой аннотации, ассоциированной с информационным объектом.
17. Постоянный машиночитаемый носитель данных по п. 15, дополнительно включающий исполняемые команды, обеспечивающие вычислительной системе возможность:
использования степени связанности информационного объекта с категорией информационных объектов для выполнения задачи обработки естественного языка.
18. Постоянный машиночитаемый носитель данных по п. 15, дополнительно включающий исполняемые команды, обеспечивающие вычислительной системе возможность:
отображения текстовой аннотации информационного объекта в визуальной связи с категорией информационных объектов.
19. Постоянный машиночитаемый носитель данных по п. 15, в котором множество признаков, ассоциированных с текстовым сегментом, включает по меньшей мере одно из: мешок слов текстового сегмента или вектор значений частоты использования слов - обратной частоты документа (TF-IDF), представляющую сегменты текста.
20. Постоянный машиночитаемый носитель данных по п. 15, в котором тег, ассоциированный с текстовым сегментом, указывает на наличие в текстовом сегменте ссылки на информационный объект определенной категории информационных объектов.
US 6173279 B1, 09.01.2001 | |||
US 5684999 A, 04.11.1997 | |||
US 6601026 B2, 29.07.2003 | |||
US 5890103 A, 30.03.1999 | |||
СПОСОБ ИЗВЛЕЧЕНИЯ ФАКТОВ ИЗ ТЕКСТОВ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ | 2016 |
|
RU2637992C1 |
Авторы
Даты
2019-04-23—Публикация
2018-06-20—Подача