КЛАССИФИКАЦИЯ ДОКУМЕНТОВ ПО УРОВНЯМ КОНФИДЕНЦИАЛЬНОСТИ
CLASSIFICATION OF DOCUMENTS BY LEVELS OF CONFIDENTIALITY

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение в целом относится к вычислительным системам, а более конкретно - к системам и способам классификации документов по уровням конфиденциальности.
УРОВЕНЬ ТЕХНИКИ
[0002] Электронные или бумажные документы могут содержать различную информацию, не подлежащую разглашению, например, служебную, доверительную, конфиденциальную или другую информацию, которая считается не предназначенной для посторонних лиц. Такая не подлежащая разглашению информация может включать, например, производственные тайны, коммерческие тайны, персональные данные, в т.ч. сведения, идентифицирующие личность, и т.д.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[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 приводится пример синтаксической структуры, соответствующей предложению, приведенному на Фиг. 11;
[00019] На Фиг. 13 показана семантическая структура, соответствующая синтаксической структуре на Фиг. 12; и
[00020] На Фиг. 14 представлена схема примера вычислительной системы, реализующей описанные в этом документе способы.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ РЕАЛИЗАЦИИ ИЗОБРЕТЕНИЯ
[00021] В настоящем документе описываются способы и системы классификации документов по уровням конфиденциальности.
[00022] Не подлежащая разглашению или в иной форме не предназначенная для сведения посторонних лиц информация может иметь различный вид и храниться на носителях разного типа, например, бумажных документах; электронных документах, которые могут храниться в информационных системах, базах данных, файловых системах и др., с использованием различных носителей (например, дисков, карт памяти и др.); сообщений электронной почты, аудио и видеозаписей и др.
[00023] Классификация документов по конфиденциальности может включать назначение каждому документу, на основании содержимого документа и (или) метаданных, ассоциативно связанных с этим документом, определенного уровня конфиденциальности из предварительно определенного набора категорий. В иллюстративном примере набор категорий может включать следующие уровни конфиденциальности: конфиденциально (наивысший уровень конфиденциальности), для ограниченного пользования (средний уровень конфиденциальности), для внутреннего пользования (низкий уровень конфиденциальности) и общедоступные сведения (самый низкий уровень конфиденциальности). В различных других реализациях могут использоваться другие наборы уровней конфиденциальности.
[00024] В отдельных вариантах реализации классификация конфиденциальности документов может выполняться на базе настраиваемого набора правил. В иллюстративном примере пользователь может определить одну или более категорий информационных объектов и соответствующие уровни конфиденциальности, такие, что, если в данном документе имеется по меньшей мере один информационный объект из указанной категории информационных объектов, уровень конфиденциальности документа повышается до уровня конфиденциальности, ассоциативно связанного по соответствующему правилу с этой категорией информационных объектов. Другими словами, документ получает наиболее высокий (то есть, максимально ограничивающий) уровень конфиденциальности, выбранный из уровней конфиденциальности, ассоциативно связанных с информационными объектами, содержащимися в документе.
[00025] В другом иллюстративном примере пользователь может определить один или более типов документов (например, паспорт, водительские права, платежная квитанция и т.д.) и соответствующие им уровни конфиденциальности, так, что, если данный документ классифицирован как принадлежащий к определенному типу документов, уровень конфиденциальности документа повышается до уровня конфиденциальности, ассоциативно связанного соответствующим правилом с этим типом документов. Другими словами, документ получает наиболее высокий уровень конфиденциальности, выбранный из уровней конфиденциальности, ассоциативно связанных с типом документа и информационными объектами, содержащимися в документе.
[00026] Таким образом, выполнение классификации конфиденциальности документов в соответствии с одним или более вариантами реализации настоящего изобретения может включать определение типа и (или) структуры документа, распознавание текста на естественном языке, содержащегося как минимум в некоторых частях этого документа (например, путем оптического распознавания символов (OCR)), анализ текста на естественном языке для распознавания информационных объектов (например, именованных сущностей), и применение правил классификации конфиденциальности документа к извлеченным информационным объектам.
[00027] Как более подробно рассматривается ниже в данном документе, информационный объект может быть представлен как составляющая семантико-синтаксической структуры и подмножество ее непосредственных дочерних составляющих. Таким образом, извлечение информации может включать выполнение лексико-морфологического анализа, синтаксического анализа и (или) семантического анализа текста на естественном языке и анализ лексических, грамматических, синтаксических и (или) семантических свойств, полученных при таком анализе для определения степени связанности информационного объекта с определенной категорией информационных объектов (например, представленной классом онтологии). В подобных реализациях изобретения извлеченные информационные объекты представляют именованные сущности, такие как имена людей, названия организаций, места, выражение времени, количества, денежные суммы, проценты и т.д. Эти категории могут быть представлены концептами заранее определенной или динамически выстраиваемой онтологии.
[00028] Под «онтологией» в этом документе следует понимать модель, которая представляет объекты, относящиеся к определенной области знаний (предметной области) и отношения между этими объектами. Информационный объект может представлять собой материальный объект реального мира (например, человек или вещь) либо некое понятие, соотнесенное с одним или более объектами реального мира (например, число или слово). Онтология может включать определения некого множества классов, где каждый класс соответствует отдельному понятию, относящемуся к определенной области знаний. Каждое определение класса может включать определения одного или более отнесенных к данному классу объектов. Согласно общепринятой терминологии класс онтологии может также называться «концепт», а принадлежащий классу объект может означать экземпляр данного концепта. Информационный объект может характеризоваться одним или более атрибутами. Атрибут может определять свойство информационного объекта или связь между данным информационным объектом и другим информационным объектом. Таким образом, определение класса онтологии может содержать одно или более определений атрибутов, описывающих типы атрибутов, которые могут быть ассоциативно связаны с объектами данного класса (например, тип связи между объектом данного класса и другими информационными объектами). В качестве иллюстративного примера класс «Person» (человек) может быть ассоциативно связан с одним или более информационными объектами, соответствующими определенным лицам. В другом иллюстративном примере информационный объект «John Smith» (Джон Смит) может иметь атрибут «Smith» (Смит) типа «surname» (фамилия).
[00029] После распознавания именованных сущностей может быть выполнен процесс извлечения информации для разрешения кореференций и анафорических связей между токенами естественного текста. «Кореференция» в настоящем документе означает конструкцию естественного языка, содержащую два или более токенов естественного языка, которые относятся к одной сущности (например, одному и тому же лицу, вещи, месту или организации). Например, в предложении «После того, как Джон получил диплом MIT, ему предложили работу в Microsoft)) собственное имя «Джон» и притяжательное местоимение «ему» относится к одному человеку. Из двух токенов кореференций тот токен, на который дается ссылка, может обобщенно именоваться антецедентом, а тот, который ссылается на него, - проформой или анафорой. Различные способы установления кореференций могут включать выполнение синтаксического и (или) семантического анализа как минимум части текста на естественном языке.
[00030] После извлечения информационных объектов и установления кореференций может быть выполнен процесс извлечения информации с целью определения отношений между извлеченными информационными объектами. Одно или более отношений между информационным объектом и другими информационными объектами могут задаваться одним или более свойствами информационного объекта, которые отражают один или более атрибутов. Отношение может быть установлено между двумя информационными объектами, между данным информационным объектом и группой информационных объектов или между одной группой информационных объектов и другой группой информационных объектов. Подобные отношения могут быть выражены фрагментами на естественном языке (текстовыми аннотациями), которые могут содержать множество слов из одного или более предложений.
[00031] В иллюстративном примере информационный объект класса «Person» (человек) может иметь следующие атрибуты: имя, дата рождения, адрес проживания и информация о предшествующей трудовой деятельности. Каждый атрибут может быть представлен одной или более текстовыми строками, одним или более числовыми значениями и (или) одним или более значениями определенного типа данных (например, дата). Атрибут может быть представлен сложным атрибутом, ссылающимся на два или более информационных объектов. В иллюстративном примере атрибут «address» (адрес) может ссылаться на информационные объекты, соответствующие нумерованному дому, улице, городу и штату. В иллюстративном примере атрибут «employment history» (информация о предшествующей трудовой деятельности) может ссылаться на один или более информационных объектов, соответствующих одному или более работодателям и соответствующим должностям и времени работы.
[00032] Определенные отношения между информационными объектами могут также обобщенно называться «фактами». Примерами таких отношений могут быть работа лица X в организации Y, расположение физического объекта X в географическом положении Y, приобретение организации X организацией Y и т.д.; факт может быть ассоциативно связан с одной или более категориями фактов, таких, что категория фактов указывает на тип связи между информационными объектами определенного класса. Например, факт, ассоциативно связанный с лицом, может относиться к месту и дате рождения лица, его образованию, занятости, трудовой деятельности и т.д. В другом примере факт, ассоциативно связанный с коммерческой сделкой, может иметь отношение к типу сделки и к сторонам этой сделки, к обязательствам сторон, дате подписания договора, дате совершения сделки, расчетам по договору и т.д. Извлечение фактов предполагает определение различных отношений между извлеченными информационными объектами.
[00033] В иллюстративном примере извлечение информации может включать применение одного или более наборов продукционных правил для интерпретации семантических структур, полученных в ходе семантико-синтаксического анализа, с целью получения информационных объектов, представляющих выявленные именованные сущности. В другом иллюстративном примере извлечение информации может включать применение одного или более классификаторов машинного обучения, таких, что каждый классификатор может выдавать степень связанности данного информационного объекта с определенной категорией именованных сущностей.
[00034] После того, как процесс извлечения информации для данного документа будет завершен, к извлеченным информационным объектам, их атрибутам и отношениям могут быть применены правила классификации конфиденциальности документа с целью определения назначаемого документу уровня конфиденциальности документа. В различных иллюстративных примерах уровень конфиденциальности документа может использоваться для пометки документов и работы с ними. Пометка документов может включать привязку, для каждого электронного документа, элемента метаданных, указывающего уровень конфиденциальности документа. Работа с документом может включать перемещение документа в защищенное хранилище документов в соответствии с уровнем конфиденциальности документа, создание и контроль за выполнением политик доступа в соответствии с уровнем конфиденциальности документа, реализация журнализации доступа в соответствии с уровнем конфиденциальности документа и т.д. В некоторых вариантах осуществления работа с документом может включать редактирование выявленной конфиденциальной информации (например, путем замены выявленных вхождений элементов конфиденциальной информации на заранее определенную или динамически настраиваемую замещающую строку, например, пробелы, черные прямоугольники и (или) другие значки) или замены выявленной конфиденциальной информации на фиктивные данные (например, для создания обучающих выборок данных для обучения классификатора машинного обучения), как более подробно будет описано ниже.
[00035] Таким образом, настоящее изобретение повышает эффективность и качество классификации конфиденциальности документов путем предоставления систем и способов классификации, которые включают извлечение информационных объектов из текста на естественном языке и применение правил классификации конфиденциальных документов к извлеченным информационным объектам. Описанные в этом документе способы могут эффективно применяться для обработки больших документов (корпусов).
[00036] Системы и способы, представленные в настоящем документе, могут быть реализованы аппаратно (например, с помощью универсальных и (или) специализированных устройств обработки и (или) иных устройств и соответствующих электронных схем), программно {например, с помощью команд, выполняемых устройством обработки) или сочетанием этих подходов. Различные варианты реализации упомянутых выше способов и систем подробно описаны ниже в этом документе на примерах, без каких бы то ни было ограничений.
[00037] Фиг. 1 схематично иллюстрирует блок-схему примера способа классификации документа по уровням конфиденциальности в соответствии с одним или более вариантами реализации настоящего изобретения. Способ 100 и (или) каждая из его отдельных функций, процедур, подпроцедур или операций могут выполняться на одном или более процессорах вычислительной системы (например, вычислительной системы 1000 на Фиг. 14), реализующей этот способ.
[00038] В настоящем документе термин «вычислительная система» означает устройство обработки данных, оснащенное одним или более универсальными процессорами, памятью и по меньшей мере одним интерфейсом связи. Примерами вычислительных систем, которые могут использовать описанные в этом документе способы, являются, помимо прочего, настольные компьютеры, портативные компьютеры, планшетные компьютеры, смартфоны и различные другие мобильные и стационарные вычислительные системы.
[00039] В некоторых реализациях способ 100 может быть реализован в одном потоке обработки. При альтернативном подходе способ 100 может осуществляться с использованием двух или более потоков обработки, при этом в каждом потоке реализована одна или более отдельных функций, процедур, подпрограмм или действий этого способа. В одном из иллюстративных примеров потоки обработки, в которых реализован способ 100, могут быть синхронизированы {например, с использованием семафоров, критических секций и (или) других механизмов синхронизации потоков). При альтернативном подходе потоки обработки, в которых реализован способ 100, могут выполняться асинхронно по отношению друг к другу. Таким образом, несмотря на то, что Фиг. 1 и соответствующее описание содержат список операций для способа 100 в определенном порядке, в различных вариантах осуществления способа, как минимум, некоторые из описанных операций могут выполняться параллельно и (или) в случайно выбранном порядке.
[00040] На шаге 110 вычислительная система, реализующая способ 100, может получать один или более исходный документ. Исходные документы могут поступать в различных форматах и видах, в том числе в виде изображений бумажных документов, текстовых файлов, аудио и (или) видеофайлов, сообщений электронной почты и др.
[00041] На шаге 120 вычислительная система может извлекать текст на естественном языке из исходного документа. В различных иллюстративных примерах этот текст на естественном языке может быть получен путем выполнения оптического распознавания символов (OCR) изображений бумажного документа, выполнения распознавания речи аудиозаписей, извлечения текста на естественном языке из веб-страниц, сообщений электронной почты и др.
[00042] На шаге 130 вычислительная система может дополнительно выполнять одну или более операций предварительной обработки документа. В некоторых вариантах реализации эти операции предварительной обработки могут включать распознавание типа документа. В иллюстративном примере тип документа может определяться на основе метаданных документа. В другом иллюстративном примере тип документа может определяться путем сравнения изображения и (или) структуры документа с одним или более шаблонами документов так, что каждый из шаблонов ассоциативно связан с известным типом документов. В еще одном иллюстративном примере тип документа может определяться путем применения одного или более классификаторов машинного обучения, таких, что каждый классификатор может выдавать степень связанности данного документа с известным типом документа.
[00043] В некоторых вариантах реализации операции предварительной обработки могут включать распознавание структуры документа. В одном из иллюстративных примеров структура документа может включать многоуровневую иерархическую структуру, в которой разделы документов разделены заголовками и подзаголовками. В другом иллюстративном примере структура документа может включать одну или более таблиц, содержащих множество строк и столбцов, как минимум некоторые из которых могут быть связаны с заголовками, которые, в свою очередь, могут быть организованы в соответствии с многоуровневой иерархией. В еще одном иллюстративном примере структура документа может включать табличную структуру, содержащую верхний колонтитул страницы, тело страницы и нижний колонтитул страницы. В еще одном иллюстративном примере структура документа может включать отдельные текстовые поля, связанные с определенными заранее типами информации, такие как поле подписи, поле даты, поле адреса, поле имени и др. Вычислительная система может интерпретировать структуру документа, порождая определенную информацию о структуре документа, которая может использоваться для дополнения текстовой информации, содержащейся в документе. В отдельных вариантах реализации в анализируемых структурированных документах вычислительная система может использовать различные вспомогательные онтологии, содержащие классы и концепции, отражающие определенную структуру документа. Классы вспомогательной онтологии могут быть ассоциативно связаны с определенными продукционными правилами и (или) функциями классификатора, которые могут быть применены к нескольким семантическим структурам, полученным при семантико-синтаксическом анализе соответствующего документа для внесения в результирующее множество семантических структур определенной информации, передаваемой структурой этого документа.
[00044] На шаге 140 вычислительная система может получать метаданные документа, ассоциативно связанные с исходными документами. В качестве иллюстративного примера метаданные документа могут включать различные атрибуты файла (например, тип файла, его размер, дату создания или изменения, автора, владельца и т.д.). В другом иллюстративном примере метаданные документа могут включать различные атрибуты документа, которые могут отражать тип документа, его структуру, язык, кодировку и т.д. В различных иллюстративных примерах атрибуты документа могут быть представлены в виде алфавитно-цифровых строк или пар <имя=значение>. В некоторых вариантах реализации метаданные документа могут извлекаются из файла, в котором хранится документ. В других случаях метаданные документа могут быть получены из файловой системы, базы данных, облачной системы хранения или любой другой системы хранения файла.
[00045] На шаге 150 вычислительная система может выполнять извлечение информации из текста на естественном языке, содержащегося в документе. В одном из иллюстративных примеров вычислительная система может выполнять лексико-морфологический анализ текста на естественном языке. Лексико-морфологический анализ может давать для каждого предложения текста на естественном языке соответствующую лексико-морфологическую структуру. Такая лексико-морфологическая структура может содержать для каждого слова в предложении одно или более лексических значений и одно или более грамматических значений слова, которые могут быть представлены одной или более парами<лексическое значение - грамматическое значение>, которые могут быть названы «морфологическими значениями». Более подробное описание иллюстративного примера способа проведения лексико-морфологического анализа предложения приведено ниже в настоящем документе со ссылкой на Фиг. 4.
[00046] Дополнительно или в качестве альтернативного варианта для выполнения лексико-морфологического анализа вычислительная система может выполнять семантико-синтаксический анализ текста на естественном языке. Семантико-синтаксический анализ может привести к получению независимых от языка семантических структур, представляющих предложения текста на естественном языке, как будет подробно описано ниже со ссылками на Фиг. 3-13. Независимость семантических структур от языка позволяет выполнять независимую от языка классификацию текста (например, классификация текстов, представленных на нескольких естественных языках). Вычислительная система может выполнить интерпретацию семантико-синтаксических структур с использованием набора продукционных правил для извлечения для извлечения множества информационных объектов (к примеру, именованных сущностей), как более подробно будет написано ниже.
[00047] На шаге 160 вычислительная система может интерпретировать извлеченную информацию и метаданные документа для определения уровня конфиденциальности, назначаемого исходному документу. В некоторых вариантах реализации интерпретация извлеченной информации может включать применение набора правил, который может включать одно или более настраиваемых пользователем правил.
[00048] В иллюстративном примере пользователь может определить (например, через графический интерфейс пользователя (GUI) как будет подробно описано ниже со ссылками на Фиг. 2) одну или более категорий информационных объектов и соответствующие им уровни конфиденциальности, такие, что если в данном документе имеется по меньшей мере один информационный объект из указанной категории информационных объектов, уровень конфиденциальности документа повышается до уровня конфиденциальности, ассоциативно связанного по соответствующему правилу с этой категорией информационных объектов. Другими словами, документ получает наиболее высокий уровень конфиденциальности, выбранный из уровней конфиденциальности, ассоциативно связанных с информационными объектами, содержащимися в документе. В другом иллюстративном примере правило конфиденциальности может определять сочетание типов информационных объектов, наличие которых в документе увеличивает уровень конфиденциальности документа до определенного уровня конфиденциальности, который жестче, чем любой из уровней конфиденциальности, ассоциативно связанных с отдельными категориями информационных объектов, входящих в это сочетание.
[00049] В различных иллюстративных примерах категории информационных объектов, ассоциативно связанные с повышенными уровнями конфиденциальности, могут включать личные имена, адреса, номера телефонов, номера кредитных карт, номер банковских счетов, номера удостоверений личности, названия подразделений организаций, названия проектов, наименование продукции и т.д.
[00050] В некоторых вариантах реализации пользователь может указывать один или более значения наименований метаданных (например, организации или подразделения организации) и соответствующие уровни конфиденциальности таким образом, что, если одно или более элементов метаданных встречаются в документе метаданных, уровень конфиденциальности документа повышается до уровня конфиденциальности, который соответствующим правилом ассоциативно связан со значением элемента метаданных.
[00051] В другом иллюстративном примере пользователь может определить один или более типов документов (например, паспорт, водительские права, платежная квитанция и т.д.) и соответствующие им уровни конфиденциальности, так, что, если данный документ классифицирован как принадлежащий к определенному типу документов, уровень конфиденциальности документа повышается до уровня конфиденциальности, ассоциативно связанного соответствующим правилом с этим типом документов. Другими словами, документ получает наиболее высокий уровень конфиденциальности, выбранный из уровней конфиденциальности, ассоциативно связанных с типом документа и индивидуальными информационными объектами и (или) их сочетанием, содержащимися в документе.
[00052] На шаге 170 вычислительная система иногда может ассоциировать с электронным документом элемент метаданных, который указывает на уровень конфиденциальности обрабатываемого документа. Элемент метаданных может использоваться разными системами и приложениями для обработки документа согласно присвоенного ему уровня конфиденциальности. В некоторых вариантах реализации метаданные документа могут храниться в файле, в котором хранится документ. В других случаях метаданные документа могут храниться в файловой системе, базе данных, облачной системе хранения или любой другой системы хранения файла.
[00053] На шаге 180 вычислительная система может дополнительно выполнять одну или более задач по обработке документов согласно уровню конфиденциальности вычисляемого документа. В разных иллюстративных примерах вычислительная система может перемещать документ в защищенное хранилище документов в соответствии с уровнем конфиденциальности документа, создавать и контролировать выполнение политик доступа в соответствии с уровнем конфиденциальности документа, применять политику хранения документа согласно уровню конфиденциальности документа и т.д.
[00054] В некоторых вариантах реализации вычислительная система может редактировать указанный уровень конфиденциальности. Для каждого идентифицированного информационного объекта, который ассоциативно связан с внутренним уровнем конфиденциальности, вычислительная система может идентифицировать соответствующую текстовую аннотацию на естественном языке, содержащимся в документе. В этом случае «тестовая аннотация» будет означать смежный фрагмент текста (или «интервала», включающего одно или более слов), соответствующий корневой составляющей семантико-синтаксической структуры (и/или подмножеству ее дочерних структур), которая представляет идентифицированный информационный объект. Текстовая аннотация может быть охарактеризована ее положением в тексте, включая позицию начала и позицию конца. Как отмечено выше в настоящем документе, текстовые аннотации, соответствующие идентифицированным информационным объектам, которые передают конфиденциальную информацию, могут быть удалены или заменены на заранее определенную или динамически настраиваемую замещающую строку, например, пробелы, черные прямоугольники и (или) цифры или символы. При альтернативном подходе текстовые аннотации, соответствующие идентифицированным информационным объектам, которые передают конфиденциальную информацию, могут быть заменены на фиктивные данные (например, произвольно сгенерированные строки символов или строки символов, извлеченные из словаря элементов фиктивных данных). Документы, в которых конфиденциальная информация была заменена на фиктивные данные, можно использовать для формирования наборов данных для машинного обучения классификаторов, после этого их можно использовать для классификации конфиденциальности документов, при этом набор данных для обучения формируется множеством текстов на естественном языке с известной классификацией конфиденциальности.
[00055] На Фиг. 2 схематично показан пример графического интерфейса пользователя (GUI) для определения правил классификации конфиденциальности документов в соответствии с одним или более вариантами реализации настоящего изобретения. В разных вариантах реализации систем и способов, описанных в этом документе, можно использовать другие графические интерфейсы пользователя (GUI) и/или другие интерфейсы для определения правил классификации конфиденциальности документа.
[00056] На Фиг. 2 схематично показано, что GUI 200 может включать многочисленные вкладки 210A-210N. Одна или более вкладок, таких как 210A-210D, могут соответствовать определенным элементам документа метаданных, например, тип контента, тип файла, дата создания файла и т.д. При выборе любой вкладки из 210A-210D можно открыть соответствующую дисплейную панель (которые показаны на Фиг. 2), на которой пользователь может определить значения соответствующих элементов метаданных и соответствующие им уровни конфиденциальности, которые будут инициированы, если метаданные документа соответствуют определенным значениям. При выборе вкладки личных данных 210Е можно открыть соответствующую дисплейную панель 220, которая отображает список категорий документов и (или) категорий информационных объектов таким образом, что каждое наименование списка ассоциативно связано с одним или несколькими флажками. Выбор флажка указывает, что соответствующие категории документов и (или) категории информационных объектов активируют повышенный (внутренний) уровень конфиденциальности для документа, который ассоциативно связан с выбранным типом документа и (или) содержит как минимум один информационный объект из выбранной категории информационных объектов.
[00057] Как отмечалось выше, процесс извлечения информации может включать проведение лексико-морфологического анализа для каждого предложения и соответствующей лексико-морфологической структуры. Дополнительно или альтернативно, процесс извлечения информации может включать проведение семантико-синтаксического анализа, который позволяет получить множества независимых от языка семантических структур, представляющих предложения текста на естественном языке. Семантико-синтаксические структуры могут интерпретироваться в соответствии с набором правил при помощи с наборов продукционных правил, обеспечивающие определения множества информационных объектов (таких как именованные сущности), представленных тестом на естественном языке.
[00058] Продукционные правила, используемые для интерпретации семантических структур, могут представлять собой правила интерпретации и правила идентификации. Правило интерпретации может содержать левую часть, представленную набором логических выражений, определенных на одном или более шаблонах семантической структуры, и правую часть, представленную одним или более утверждениями относительно информационных объектов, представляющих сущности, на которые имеется ссылка в тексте на естественном языке.
[00059] Шаблон семантической структуры может содержать некоторые элементы семантической структуры (например, принадлежность к определенному лексическому/семантическому классу, нахождение в некоторой поверхностной или глубинной позиции, наличие определенной граммемы или семантемы и т.д.). Отношения между элементами семантических структур могут задаваться с помощью одного или более логических выражений (конъюнкция, дизъюнкция и отрицание) и (или) операций, характеризующих взаимное расположение узлов на семантико-синтаксическом дереве. В одном из иллюстративных примеров такая операция может проверять один из узлов на принадлежность к поддереву другого узла.
[00060] В результате наложения шаблона, определяемого левой частью продукционного правила, на семантическую структуру, представляющую, по меньшей мере, часть предложения в тексте на естественном языке, может быть приведена в действие правая часть продукционного правила. Правая часть продукционного правила может устанавливать ассоциативную связь между одним или более атрибутами (отражающими лексические, синтаксические и (или) семантические свойства слов из первоначального предложения) и информационными объектами, представленными узлами. В одном из иллюстративных примеров правая часть правила интерпретации может представлять собой утверждение, устанавливающее ассоциативную связь между токеном из текста на естественном языке и категорией именованных сущностей.
[00061] Правило идентификации может использоваться для установления ассоциативной связи для пары информационных объектов, которые представляют одну и ту же сущность из реального мира. Правило идентификации - это продукционное правило, левая часть которого содержит одно или более логических выражений, указывающих на узлы семантического дерева, соответствующие информационным объектам. Если указанная пара информационных объектов удовлетворяет условиям, заданным логическими выражениями, то происходит слияние информационных объектов в один информационный объект.
[00062] В разных альтернативных вариантах реализации могут использоваться функции классификатора вместо продукционных правил. В функциях классификатора вместе с лексическими и морфологическими признаками могут использоваться синтаксические и (или) семантические признаки, полученные в результате семантико-синтаксического анализа текста на естественном языке. В некоторых вариантах реализации всевозможные лексические, грамматические и (или) семантические атрибуты токена естественного языка могут использоваться в составе одной или более функций классификатора. Каждая функция классификатора может определять для токена естественного языка степень ассоциативной связи с определенной категорией информационных объектов. В различных иллюстративных примерах каждый из классификаторов может быть реализован в виде классификатора градиентного бустинга, классификатора случайного леса, классификатора машины опорных векторов (SVM), нейронной сети или других подходящих способов автоматической классификации. В некоторых вариантах реализации способ извлечения информационных объектов может предусматривать использование продукционных правил в сочетании с моделями классификаторов.
[00063] В некоторых вариантах реализации изобретения вычислительная система после извлечения информационных объектов может разрешать кореференциальные и анафорические ссылки между токенами текста на естественном языке, которые были ассоциативно связаны с извлеченными информационными объектами. «Кореференция» в настоящем документе означает конструкцию естественного языка, содержащую два или более токенов естественного языка, которые относятся к одной сущности (например, одному и тому же лицу, вещи, месту или организации).
[00064] После завершения извлечения информационных объектов вычислительная система может выполнить один или более способов извлечения фактов в пределах текста на естественном языке или одного или более фактов, которые ассоциативно связаны с определенными информационными объектами. Термин «факт» в контексте настоящего документа означает отношение между информационными объектами, на которые имеется ссылка в тексте на естественном языке. Примерами таких отношений могут быть работа лица X по найму в организационном подразделении Y, расположение объекта X в географической точке Y, приобретение организационной единицы X организационной единицей Y и т.д. Таким образом, факт может быть ассоциативно связан с одной или более категориями фактов. К примеру, факт, ассоциативно связанный с неким лицом, может иметь отношение к дате его рождения, образованию, роду занятий, месту работы и т.д. В другом примере факт, ассоциативно связанный с коммерческой сделкой, может иметь отношение к типу сделки и к сторонам этой сделки, к обязательствам сторон, дате подписания договора, дате совершения сделки, расчетам по договору и т.д. Извлечение фактов предполагает определение различных отношений между извлеченными информационными объектами.
[00065] В некоторых вариантах реализации изобретения извлечение фактов может предусматривать интерпретацию множества семантических структур с использованием набора продукционных правил, в том числе правил интерпретации и (или) правил идентификации, как подробнее описано ниже в настоящем документе. В дополнение к этому или в качестве альтернативы извлечение фактов может предусматривать использование одной или более функций классификатора для обработки всевозможных лексических, грамматических и (или) семантических атрибутов предложения на естественном языке. Каждая функция классификатора может определять степень ассоциативной связи по меньшей мере части предложения на естественном языке с определенной категорией фактов.
[00066] В некоторых вариантах реализации изобретения вычислительная система может представлять извлеченные информационные объекты и их отношения в виде графа RDF. RDF (Resource Definition Framework - среда определения ресурса) присваивает каждому информационному объекту уникальный идентификатор и сохраняет информацию о таком объекте в виде наборов из трех элементов (триплетов) SPO, где S означает «субъект» и содержит идентификатор объекта, Р означает «предикат» и определяет некоторое свойство этого объекта, а О означает «объект» и хранит в себе значение рассматриваемого свойства данного объекта. Это значение может быть либо примитивным типом данных (примеры - строка, число, булево (логическое) значение), либо идентификатором другого объекта. В одном из иллюстративных примеров триплет SPO может ассоциировать токен из текста на естественном языке с категорией именованных сущностей.
[00067] На Фиг. 3 приведена блок-схема одного иллюстративного примера реализации способа 200 для выполнения семантико-синтаксического анализа предложения на естественном языке 212 в соответствии с одним или несколькими аспектами настоящего изобретения. Способ 200 может быть применен к одной или более синтаксическим единицам {например, предложениям), включенным в определенный текстовый корпус, для формирования множества семантико-синтаксических деревьев, соответствующих синтаксическим единицам. В различных иллюстративных примерах подлежащие обработке способом 200 предложения на естественном языке могут извлекаться из одного или нескольких электронных документов, которые могут создаваться путем сканирования (или другим способом получения изображений бумажных документов) и оптического распознавания символов (OCR) для получения текстов, соответствующих этим документам. Предложения на естественном языке также могут извлекаться из других различных источников, включая сообщения, отправляемые по электронной почте, тексты из социальных сетей, файлы с цифровым содержимым, обработанные с использованием способов распознавания речи и т.д.
[00068] В блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для установления морфологических значений слов, входящих в состав предложения. В настоящем документе "морфологическое значение" слова означает одну или несколько лемм (т.е. канонических или словарных форм), соответствующих слову, и соответствующий набор значений грамматических признаков, которые определяют грамматическое значение слова. В число таких грамматических признаков могут входить лексическая категория (часть речи) слова и один или более морфологических и грамматических признаков (например, падеж, род, число, спряжение и т.д.). Ввиду омонимии и (или) совпадающих грамматических форм, соответствующих разным лексико-морфологическим значениям определенного слова, для данного слова может быть установлено два или более морфологических значений. Более подробное описание иллюстративного примера проведения лексико-морфологического анализа предложения приведено ниже в настоящем документе со ссылкой на Фиг. 4.
[00069] В блоке 215 вычислительное устройство может проводить грубый синтаксический анализ предложения 212. Грубый синтаксический анализ может включать применение одной или нескольких синтаксических моделей, которые могут быть соотнесены с элементами предложения 212, с последующим установлением поверхностных (т.е. синтаксических) связей в рамках предложения 212 для получения графа обобщенных составляющих. В настоящем документе "составляющая" означает группу соседних слов исходного предложения, функционирующую как одна грамматическая сущность. Составляющая включает в себя ядро в виде одного или более слов и может также включать одну или несколько дочерних составляющих на более низких уровнях. Дочерняя составляющая является зависимой составляющей, которая может быть соотнесена с одной или несколькими родительскими составляющими.
[00070] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев предложения. Среди различных синтаксических деревьев на основе определенной функции оценки с учетом совместимости лексических значений слов исходного предложения, поверхностных отношений, глубинных отношений и т.д. может быть отобрано одно или несколько лучших синтаксических деревьев, соответствующих предложению 212.
[00071] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может включать множество узлов, соответствующих семантическим классам и также может включать множество дуг, соответствующих семантическим отношениям (более подробное описание см. ниже в настоящем документе).
[00072] Фиг. 4 схематически иллюстрирует пример лексико-морфологической структуры предложения в соответствии с одним или более аспектами настоящего изобретения. Пример лексико-морфологической структуры 700 может включать множество пар "лексическое значение - грамматическое значение" для примера предложения. В качестве иллюстративного примера, "ll" может быть соотнесено с лексическим значением "shall" и "will". Грамматическим значением, соотнесенным с лексическим значением "shall", является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Composite II>. Грамматическим значением, соотнесенным с лексическим значением "will", является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Irregular, Composite II>.
[00073] Фиг. 5 схематически иллюстрирует используемые языковые описания 210, в том числе морфологические описания 201, лексические описания 203, синтаксические описания 202 и семантические описания 204, а также отношения между ними. Среди них морфологические описания 201, лексические описания 203 и синтаксические описания 202 зависят от языка. Набор языковых описаний 210 представляет собой модель определенного естественного языка.
[00074] В качестве иллюстративного примера определенное лексическое значение в лексических описаниях 203 может быть соотнесено с одной или несколькими поверхностными моделями синтаксических описаний 202, соответствующих данному лексическому значению. Определенная поверхностная модель синтаксических описаний 202 может быть соотнесена с глубинной моделью семантических описаний 204.
[00075] Фиг. 6 схематически иллюстрирует несколько примеров морфологических описаний. В число компонентов морфологических описаний 201 могут входить: описания словоизменения 310, грамматическая система 320, описания словообразования 330 и другие. Грамматическая система 320 включает набор грамматических категорий, таких как часть речи, падеж, род, число, лицо, возвратность, время, вид и их значения (так называемые "граммемы"), в том числе, например, прилагательное, существительное или глагол; именительный, винительный или родительный падеж; женский, мужской или средний род и т.д. Соответствующие граммемы могут использоваться для составления описания словоизменения 310 и описания словообразования 330.
[00076] Описание словоизменения 310 определяет формы данного слова в зависимости от его грамматических категорий (например, падеж, род, число, время и т.д.) и в широком смысле включает в себя или описывает различные возможные формы слова. Описание словообразования 330 определяет, какие новые слова могут быть образованы от данного слова {например, сложные слова).
[00077] В соответствии с одним из аспектов настоящего изобретения при установлении синтаксических отношений между элементами исходного предложения могут использоваться модели составляющих. Составляющая представляет собой группу соседних слов в предложении, ведущих себя как единое целое. Ядром составляющей является слово, она также может содержать дочерние составляющие более низких уровней. Дочерняя составляющая является зависимой составляющей и может быть прикреплена к другим составляющим (родительским) для построения синтаксических описаний 202 исходного предложения.
[00078] На Фиг. 7 приведены примеры синтаксических описаний. В число компонентов синтаксических описаний 202 могут входить, среди прочего, поверхностные модели 410, описания поверхностных позиций 420, описание референциального и структурного контроля 456, описание управления и согласования 440, описание недревесного синтаксиса 450 и правила анализа 460. Синтаксические описания 202 могут использоваться для построения возможных синтаксических структур исходного предложения на заданном естественном языке с учетом свободного линейного порядка слов, недревесных синтаксических явлений (например, согласование, эллипсис и т.д.), референциальных отношений и других факторов.
[00079] Поверхностные модели 410 могут быть представлены в виде совокупностей одной или нескольких синтаксических форм («синтформ» 412) для описания возможных синтаксических структур предложений, входящих в состав синтаксического описания 202. В целом, лексическое значение слова на естественном языке может быть связано с поверхностными (синтаксическими) моделями 410. Поверхностная модель может представлять собой составляющие, которые возможны, если лексическое значение выступает в роли "ядра". Поверхностная модель может включать набор поверхностных позиций дочерних элементов, описание линейного порядка и (или) диатезу. В настоящем документе "диатеза" означает определенное отношение между поверхностными и глубинными позициями и их семантическими ролями, выражаемыми посредством глубинных позиций. Например, диатеза может быть выражаться залогом глагола: если субъект является агентом действия, глагол в активном залоге, а когда субъект является направлением действия, это выражается пассивным залогом глагола.
[00080] Модель составляющих может включать множество поверхностных позиций 415 дочерних составляющих и описаний их линейного порядка 416 для описания грамматических значений 414 возможных заполнителей этих поверхностных позиций. Диатезы 417 представляют собой соответствия между поверхностными позициями 415 и глубинными позициями 514 (как показано на Фиг. 9). Коммуникативные описания 480 описывают коммуникативный порядок в предложении.
[00081] Описание линейного порядка (416) может быть представлено в виде выражений линейного порядка, отражающих последовательность, в которой различные поверхностные позиции (415) могут встречаться в предложении. В число выражений линейного порядка могут входить наименования переменных, имена поверхностных позиций, круглые скобки, граммемы, оператор «or» (или) и т.д. В качестве иллюстративного примера описание линейного порядка простого предложения "Boys play football" можно представить в виде "Subject Core Object_Direct" (Подлежащее - Ядро - Прямое дополнение), где Subject (Подлежащее), Core (Ядро) и Object_Direct (Прямое дополнение) представляют собой имена поверхностных позиций 415, соответствующих порядку слов.
[00082] Коммуникативные описания 480 могут описывать порядок слов в синтформе 412 с точки зрения коммуникативных актов, представленных в виде коммуникативных выражений порядка, которые похожи на выражения линейного порядка. Описания управления и согласования 440 может включать правила и ограничения на грамматические значения присоединяемых составляющих, которые используются во время синтаксического анализа.
[00083] Описания недревесного синтаксиса 450 могут создаваться для отражения различных языковых явлений, таких как эллипсис и согласование, они используются при трансформациях синтаксических структур, которые создаются на различных этапах анализа в различных вариантах реализации изобретения. Описания недревесного синтаксиса 450 могут, среди прочего, включать описание эллипсиса 452, описания согласования 454, а также описания референциального и структурного контроля 430.
[00084] Правила анализа 460 могут описывать свойства конкретного языка и использоваться в рамках семантического анализа. Правила анализа 460 могут включать правила вычисления семантем 462 и правила нормализации 464. Правила нормализации 464 могут использоваться для описания трансформаций семантических структур, которые могут отличаться в разных языках.
[00085] На Фиг. 8 приведен пример семантических описаний. Компоненты семантических описаний 204 не зависят от языка и могут, среди прочего, включать семантическую иерархию 510, описания глубинных позиций 520, систему семантем 530 и прагматические описания 540.
[00086] Ядро семантических описаний может быть представлено семантической иерархией 510, в которую могут входить семантические понятия (семантические сущности), также называемые семантическими классами. Последние могут быть упорядочены в иерархическую структуру, отражающую отношения "родитель-потомок". В целом, дочерний семантический класс может унаследовать одно или более свойств своего прямого родителя и других семантических классов-предков. В качестве иллюстративного примера семантический класс SUBSTANCE (Вещество) является дочерним семантическим классом класса ENTITY (Сущность) и родительским семантическим классом для классов GAS, (Газ), LIQUID (Жидкость), METAL (Металл), WOOD_MATERIAL (Древесина) и т.д.
[00087] Каждый семантический класс в семантической иерархии 510 может сопровождаться глубинной моделью 512. Глубинная модель 512 семантического класса может включать множество глубинных позиций 514, которые могут отражать семантические роли дочерних составляющих в различных предложениях с объектами данного семантического класса в качестве ядра родительской составляющей. Глубинная модель 512 также может включать возможные семантические классы, выступающие в роли заполнителей глубинных позиций. Глубинные позиции (514) могут выражать семантические отношения, в том числе, например, "agent" (агенс), "addressee" (адресат), "instrument" (инструмент), "quantity" (количество) и т.д. Дочерний семантический класс может наследовать и уточнять глубинную модель своего непосредственного родительского семантического класса.
[00088] Описания глубинных позиций 520 отражают семантические роли дочерних составляющих в глубинных моделях 512 и могут использоваться для описания общих свойств глубинных позиций 514. Описания глубинных позиций 520 также могут содержать грамматические и семантические ограничения в отношении заполнителей глубинных позиций 514. Свойства и ограничения, связанные с глубинными позициями 514 и их возможными заполнителями в различных языках, могут быть в значительной степени подобными и зачастую идентичными. Таким образом, глубинные позиции 514 не зависят от языка.
[00089] Система семантем 530 может представлять собой множество семантических категорий и семантем, которые представляют значения семантических категорий. В качестве иллюстративного примера семантическая категория "DegreeOfComparison" (Степень сравнения) может использоваться для описания степени сравнения прилагательных и включать следующие семантемы: "Positive" (Положительная), "ComparativeHigherDegree" (Сравнительная степень сравнения), "SuperlativeHighestDegree" (Превосходная степень сравнения) и другие. В качестве еще одного иллюстративного примера семантическая категория "RelationToReferencePoint" (Отношение к точке) может использоваться для описания порядка (пространственного или временного в широком смысле анализируемых слов), как, например, до или после точки или события, и включать семантемы "Previous" (Предыдущий) и "Subsequent" (Последующий). В качестве еще одного иллюстративного примера семантическая категория "EvaluationObjective" (Оценка) может использоваться для описания объективной оценки, как, например, "Bad" (Плохой), "Good" (Хороший) и т.д.
[00090] Система семантем 530 может включать независимые от языка семантические атрибуты, которые могут выражать не только семантические характеристики, но и стилистические, прагматические и коммуникативные характеристики. Некоторые семантемы могут использоваться для выражения атомарного значения, которое находит регулярное грамматическое и (или) лексическое выражение в естественном языке. По своему целевому назначению и использованию системы семантем могут разделяться на категории, например, грамматические семантемы 532, лексические семантемы 534 и классифицирующие грамматические (дифференцирующие) семантемы 536.
[00091] Грамматические семантемы 532 могут использоваться для описания грамматических свойств составляющих при преобразовании синтаксического дерева в семантическую структуру. Лексические семантемы 534 могут описывать конкретные свойства объектов (например, "being flat" (быть плоским) или "being liquid" (являться жидкостью)) и использоваться в описаниях глубинных позиций 520 как ограничение заполнителей глубинных позиций (например, для глаголов "face (with)" (облицовывать) и "flood" (заливать), соответственно). Классифицирующие грамматические (дифференцирующие) семантемы 536 могут выражать дифференциальные свойства объектов внутри одного семантического класса. В качестве иллюстративного примера в семантическом классе HAIRDRESSER (ПАРИКМАХЕР) семантема <<RelatedToMen>> (Относится к мужчинам) присваивается лексическому значению "barber" в отличие от других лексических значений, которые также относятся к этому классу, например, «hairdresser», «hairstylist» и т.д. Используя данные независимые от языка семантические свойства, которые могут быть выражены в виде элементов семантического описания, в том числе семантических классов, глубинных позиций и семантем, можно извлекать семантическую информацию в соответствии с одним или более аспектами настоящего изобретения.
[00092] Прагматические описания 540 позволяют назначать некоторую тему, стиль или жанр текстам и объектам семантической иерархии 510 (например, «Экономическая политика», «Внешняя политика», «Юриспруденция», «Законодательство», «Торговля», «Финансы» и т.д.). Прагматические свойства также могут выражаться семантемами. В качестве иллюстративного примера прагматический контекст может приниматься во внимание при семантическом анализе.
[00093] На Фиг. 9 приведен пример лексических описаний. Лексические описания (203) представляют собой множество лексических значений 612 конкретного естественного языка. Для каждого лексического значения 612 имеется связь 602 с его независимым от языка семантическим родителем для того, чтобы указать положение какого-либо заданного лексического значения в семантической иерархии 510.
[00094] Лексическое значение 612 в лексико-семантической иерархии 510 может быть соотнесено с поверхностной моделью 410, которая в свою очередь через одну или несколько диатез 417 может быть соотнесена с соответствующей глубинной моделью 512. Лексическое значение 612 может наследовать семантический класс своего родителя и уточнять свою глубинную модель 512.
[00095] Поверхностная модель 410 лексического значения может включать одну или несколько синтаксических форм 412. Синтформа 412 поверхностной модели 410 может включать одну или несколько поверхностных позиций 415, в том числе соответствующие описания их линейного порядка 416, одно или несколько грамматических значений 414, выраженных в виде набора грамматических категорий (граммем), одно или несколько семантических ограничений, соотнесенных с заполнителями поверхностных позиций, и одну или несколько диатез 417. Семантические ограничения, соотнесенные с определенным заполнителем поверхностной позиции, могут быть представлены в виде одного или более семантических классов, объекты которых могут заполнить эту поверхностную позицию.
[00096] Фиг. 10 схематически иллюстрирует примеры структур данных, которые могут строятся в рамках одного или более методов настоящего изобретения. Снова ссылаясь на Фиг. 3, в блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для построения лексико-морфологической структуры 722 согласно Фиг. 10. Лексико-морфологическая структура 722 может включать множество соответствий лексического и грамматического значений для каждой лексической единицы (например, слова) исходного предложения. Фиг. 4 схематически иллюстрирует пример лексико-морфологической структуры.
[00097] Снова возвращаясь к Фиг. 3, в блоке 215 вычислительное устройство может проводить грубый синтаксический анализ исходного предложения 212 для построения графа обобщенных составляющих 732 согласно Фиг. 13. Грубый синтаксический анализ предполагает применение одной или нескольких возможных синтаксических моделей возможных лексических значений к каждому элементу множества элементов лексико-морфологической структуры 722, с тем чтобы установить множество потенциальных синтаксических отношений в составе исходного предложения 212, представленных графом обобщенных составляющих 732.
[00098] Граф обобщенных составляющих 732 может быть представлен ациклическим графом, включающим множество узлов, соответствующих обобщенным составляющим исходного предложения 212 и включающим множество дуг, соответствующих поверхностным (синтаксическим) позициям, которые могут выражать различные типы отношений между обобщенными лексическими значениями. В рамках данного способа может применяться множество потенциально применимых синтаксических моделей для каждого элемента множества элементов лексико-морфологических структур исходного предложения 212 для формирования набора составляющих исходного предложения 212. Затем в рамках способа может рассматриваться множество возможных составляющих исходного предложения 212 для построения графа обобщенных составляющих 732 на основе набора составляющих. Граф обобщенных составляющих 732 на уровне поверхностной модели может отражать множество потенциальных связей между словами исходного предложения 212. Поскольку количество возможных синтаксических структур может быть относительно большим, граф обобщенных составляющих 732 может, в общем случае, включать избыточную информацию, в том числе относительно большое число лексических значений по определенным узлам и (или) поверхностных позиций по определенным дугам графа.
[00099] Граф обобщенных составляющих 732 может изначально строиться в виде дерева, начиная с концевых узлов (листьев) и двигаясь далее к корню, путем добавления дочерних составляющих, заполняющих поверхностные позиции 415 множества родительских составляющих, с тем чтобы были охвачены все лексические единицы исходного предложения 212.
[000100] В некоторых вариантах осуществления корень графа обобщенных составляющих 732 представляет собой предикат. В ходе описанного выше процесса дерево может стать графом, так как определенные составляющие более низкого уровня могут быть включены в одну или несколько составляющих верхнего уровня. Множество составляющих, которые представляют определенные элементы лексико-морфологической структуры, затем может быть обобщено для получения обобщенных составляющих. Составляющие могут быть обобщены на основе их лексических значений или грамматических значений 414, например, на основе частей речи и отношений между ними. Фиг. 11 схематически иллюстрирует пример графа обобщенных составляющих.
[000101] В блоке 216 согласно Фиг. 3 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев 742 согласно Фиг. 10 на основе графа обобщенных составляющих 732. Для каждого синтаксического дерева вычислительное устройство может определить интегральную оценку на основе априорных и вычисляемых оценок. Дерево с наилучшей оценкой может быть выбрано для построения наилучшей синтаксической структуры 746 исходного предложения 212.
[000102] В ходе построения синтаксической структуры 746 на основе выбранного синтаксического дерева вычислительное устройство может установить одну или несколько недревесных связей (например, путем создания дополнительной связи среди, как минимум, двух узлов графа). Если этот процесс заканчивается неудачей, вычислительное устройство может выбрать синтаксическое дерево с условно оптимальной оценкой, наиболее близкой к оптимальной, и производится попытка установить одну или несколько недревесных связей в дереве. Наконец, в результате точного синтаксического анализа создается синтаксическая структура 746, которая представляет собой лучшую синтаксическую структуру, соответствующую исходному предложению 212. Фактически в результате отбора лучшей синтаксической структуры 746 определяются лучшие лексические значения 240 для элементов исходного предложения 212.
[000103] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может отражать передаваемую исходным предложением семантику в независимых от языка терминах. Семантическая структура 218 может быть представлена в виде ациклического графа (например, дерево, возможно, дополненное одной или более недревесной связью (дугой графа). Слова исходного предложения представлены узлами с соответствующими независимыми от языка семантическими классами семантической иерархии 510. Дуги графа представляют глубинные (семантические) отношения между элементами предложения. Переход к семантической структуре 218 может осуществляться с помощью правил анализа 460 и предполагает соотнесение одного или более атрибутов (отражающих лексические, синтаксические и (или) семантические свойства слов исходного предложения 212) с каждым семантическим классом.
[000104] На Фиг. 12 приводится пример синтаксической структуры предложения, сгенерированной из графа обобщенных составляющих, показанного на Фиг. 14. Узел 901 соответствует лексическому элементу "life" (жизнь) 906 в исходном предложении 212. Применяя способ описанного в настоящем документе синтактико-семантического анализа, вычислительное устройство может установить, что лексический элемент "life" (жизнь) 906 представляет одну из форм лексического значения, соотнесенного с семантическим классом "LIVE" (ЖИТЬ) 904 и заполняет поверхностную позицию $Adjunct_Locative 905) в родительской составляющей, представленной управляющим узлом Verb:succeed:succeed:TO_SUCCEED (907).
[000105] На Фиг. 13 приводится семантическая структура, соответствующая синтаксической структуре на Фиг. 12. В отношении вышеупомянутого лексического элемента "life" (жизнь) (906) на Фиг. 12 семантическая структура включает лексический класс 1010 и семантический класс 1030, соответствующие представленным на Фиг. 12, однако вместо поверхностной позиции (905) семантическая структура включает глубинную позицию "Sphere" (сфера_деятельности) 1020.
[000106] В соответствии с одним или несколькими аспектами настоящего изобретения вычислительное устройство, в котором реализованы описанные в настоящем описании способы, может индексировать один или несколько параметров, полученных в результате семантико-синтаксического анализа. Таким образом, способы настоящего изобретения позволяют рассматривать не только множество слов в составе исходного текстового корпуса, но и множество лексических значений этих слов, сохраняя и индексируя всю синтаксическую и семантическую информацию, полученную в ходе синтаксического и семантического анализа каждого предложения исходного текстового корпуса. Такая информация может дополнительно включать данные, полученные в ходе промежуточных этапов анализа, а также результаты лексического выбора, в том числе результаты, полученные в ходе разрешения неоднозначностей, вызванных омонимией и (или) совпадающими грамматическими формами, соответствующими различным лексико-морфологическим значениям некоторых слов исходного языка.
[000107] Для каждой семантической структуры можно создать один или несколько индексов. Индекс можно представить в виде структуры данных в памяти, например, в виде таблицы, состоящей из нескольких записей. Каждая запись может представлять собой установление соответствия между определенным элементом семантической структуры (например, одно слово или несколько слов, синтаксическое отношение, морфологическое, синтаксическое или семантическое свойство или синтаксическая или семантическая структура) и одним или несколькими идентификаторами (или адресами) случаев употребления данного элемента семантической структуры в исходном тексте.
[000108] В некоторых вариантах осуществления индекс может включать одно или несколько значений морфологических, синтаксических, лексических и (или) семантических параметров. Эти значения могут создаваться в процессе двухэтапного семантического анализа (более подробное описание см. в настоящем документе). Индекс можно использовать для выполнения различных задач обработки естественного языка, в том числе для выполнения семантического поиска.
[000109] Вычислительное устройство, реализующее данный способ, может извлекать широкий спектр лексических, грамматических, синтаксических, прагматических и (или) семантических характеристик в ходе проведения синтактико-семантического анализа и создания семантических структур. В иллюстративном примере система может извлекать и сохранять определенную лексическую информацию, данные о принадлежности определенных лексических единиц семантическим классам, информацию о грамматических формах и линейном порядке, информацию об использовании определенных форм, аспектов, тональности (например, положительной или отрицательной), глубинных позиций, недревесных связей, семантем и т.д.
[000110] Вычислительное устройство, в котором реализованы описанные здесь способы, может производить анализ, используя один или несколько описанных в этом документе способов анализа текста, и индексировать любой один или несколько параметров описаний языка, включая лексические значения, семантические классы, граммемы, семантемы и т.д. Индексацию семантического класса можно использовать в различных задачах обработки естественного языка, включая семантический поиск, классификацию, кластеризацию, фильтрацию текста и т.д.. Индексация лексических значений (вместо индексации слов) позволяет искать не только слова и формы слов, но и лексические значения, т.е. слова, имеющие определенные лексические значения. Вычислительное устройство, реализующее способы настоящего изобретения, также может хранить и индексировать синтаксические и семантические структуры, созданные одним или несколькими описанными в настоящем документе способами анализа текста, для использования данных структур и (или) индексов при проведении семантического поиска, классификации, кластеризации и фильтрации документов.
[000111] На Фиг. 14 схематически показан иллюстративный пример вычислительного устройства (1000), которое может исполнять набор команд, которые вызывают выполнение вычислительным устройством любого отдельно взятого или нескольких способов настоящего изобретения. Вычислительное устройство может подключаться к другому вычислительному устройству по локальной сети, корпоративной сети, сети экстранет или сети Интернет. Вычислительное устройство может работать в качестве сервера или клиентского вычислительного устройства в сетевой среде "клиент/сервер" либо в качестве однорангового вычислительного устройства в одноранговой (или распределенной) сетевой среде. Вычислительное устройство может быть представлено персональным компьютером (ПК), планшетным ПК, телевизионной приставкой (STB), карманным ПК (PDA), сотовым телефоном или любым вычислительным устройством, способным выполнять набор команд (последовательно или иным образом), определяющих операции, которые должны быть выполнены этим вычислительным устройством. Кроме того, в то время как показано только одно вычислительное устройство, следует принять, что термин «вычислительное устройство» также может включать любую совокупность вычислительных устройств, которые отдельно или совместно выполняют набор (или несколько наборов) команд для выполнения одной или нескольких методик, описанных в настоящем документе.
[000112] Пример вычислительного устройства (1000) включает процессор (502), основную память (504) (например, постоянное запоминающее устройство (ПЗУ) или динамическую оперативную память (DRAM)) и устройство хранения данных (518), которые взаимодействуют друг с другом по шине (530).
[000113] Процессор (502) может быть представлен одним или более универсальными вычислительными устройствами, например, микропроцессором, центральным процессором и т.д. В частности, процессор (502) может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с сокращенным набором команд (RISC), микропроцессор с командными словами сверхбольшой длины (VLIW), процессор, реализующий другой набор команд, или процессоры, реализующие комбинацию наборов команд. Процессор (502) также может представлять собой одно или несколько вычислительных устройств специального назначения, например, заказную интегральную микросхему (ASIC), программируемую пользователем вентильную матрицу (FPGA), процессор цифровых сигналов (DSP), сетевой процессор и т.п. Процессор (502) настроен на выполнение команд (526) для осуществления рассмотренных в настоящем документе операций и функций.
[000114] Вычислительное устройство (1000) может дополнительно включать устройство сетевого интерфейса (522), устройство визуального отображения (510), устройство ввода символов (512) {например, клавиатуру), и устройство ввода - сенсорный экран (514).
[000115] Устройство хранения данных (518) может содержать машиночитаемый носитель данных (524), в котором хранится один или более наборов команд (526), и в котором реализован один или более из методов или функций настоящего изобретения. Команды (526) также могут находиться полностью или по меньшей мере частично в основной памяти (504) и/или в процессоре (502) во время выполнения их в вычислительном устройстве (1000), при этом оперативная память (504) и процессор (502) также составляют машиночитаемый носитель данных. Команды (526) дополнительно могут передаваться или приниматься по сети (516) через устройство сетевого интерфейса (522).
[000116] В некоторых вариантах осуществления команды (526) могут включать в себя команды способа (100) классификации текстов на естественном языке на основе семантических признаков и/или способа вычисления параметров модели классификации. В то время как машиночитаемый носитель данных (524), показанный на примере на Фиг. 14, является единым носителем, термин «машиночитаемый носитель» должен включать один носитель или несколько носителей (например, централизованную или распределенную базу данных, и/или соответствующие кэши и серверы), в которых хранится один или более наборов команд. Термин "машиночитаемый носитель данных" также следует рассматривать как термин, включающий любой носитель, который способен хранить, кодировать или переносить набор команд для выполнения машиной, который заставляет эту машину выполнять любую одну или несколько из методик, описанных в настоящем раскрытии изобретения. Таким образом, термин «машиночитаемый носитель данных», помимо прочего, также относится к твердотельной памяти и оптическим и магнитным носителям.
[000117] Описанные в документе способы, компоненты и функции могут быть реализованы дискретными аппаратными компонентами, либо они могут быть интегрированы в функции других аппаратных компонентов, таких как ASICS, FPGA, DSP или подобных устройств. Кроме того, способы, компоненты и функции могут быть реализованы с помощью модулей встроенного программного обеспечения или функциональных схем аппаратных устройств. Способы, компоненты и функции также могут быть реализованы с помощью любой комбинации вычислительных средств и программных компонентов, либо исключительно с помощью программного обеспечения.
[000118] В приведенном выше описании изложены многочисленные детали. Однако специалисту в этой области техники благодаря этому описанию очевидно, что настоящее изобретение может быть реализовано на практике без этих конкретных деталей. В некоторых случаях хорошо известные структуры и устройства показаны в виде блок-схемы, а не детально, чтобы не усложнять описание настоящего изобретения.
[000119] Некоторые части описания предпочтительных вариантов реализации представлены в виде алгоритмов и символического представления операций с битами данных в памяти компьютера. Такие описания и представления алгоритмов представляют собой средства, используемые специалистами в области обработки данных, чтобы наиболее эффективно передавать сущность своей работы другим специалистам в данной области. В настоящем документе и в целом алгоритмом называется самосогласованная последовательность операций, приводящих к требуемому результату. Операции требуют физических манипуляций с физическими величинами. Обычно, хотя и не обязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и подвергать другим манипуляциям. Оказалось, что прежде всего для обычного использования удобно описывать эти сигналы в виде битов, значений, элементов, символов, членов, цифр и т.д.
[000120] Однако следует иметь в виду, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами, и что они представляют собой просто удобные метки, применяемые к этим величинам. Если иное специально и недвусмысленно не указано в нижеследующем обсуждении, следует принимать, что везде по тексту такие термины как "определение", "вычисление", "расчет", "вычисление", "получение", "установление", "изменение" и т.п., относятся к действиям и процессам вычислительного устройства или аналогичного электронного вычислительного устройства, которое работает с данными и преобразует данные, представленные в виде физических (например, электронных) величин в регистрах и памяти вычислительного устройства, в другие данные, аналогичным образом представленные в виде физических величин в памяти или регистрах вычислительного устройства, либо других подобных устройствах хранения, передачи или отображения информации.
[000121] Настоящее изобретение также относится к устройству для выполнения операций, описанных в настоящем документе. Такое устройство может быть специально сконструировано для требуемых целей, или оно может содержать универсальный компьютер, который избирательно активируется или дополнительно настраивается с помощью компьютерной программы, хранящейся в памяти компьютера. Такая компьютерная программа может храниться на машиночитаемом носителе данных, например, в частности, на диске любого типа, включая дискеты, оптические диски, CD-ROM и магнитно-оптические диски, постоянные запоминающие устройства (ПЗУ), оперативные запоминающие устройства (ОЗУ), СППЗУ, ЭППЗУ, магнитные или оптические карты и носитель любого типа, подходящий для хранения электронной информации.
[000122] Следует понимать, что вышеприведенное описание носит иллюстративный, а не ограничительный характер. Различные другие варианты реализации станут очевидными специалистам в данной области техники после прочтения и понимания приведенного выше описания. Область применения изобретения поэтому должна определяться с учетом прилагаемой формулы изобретения, а также всех областей применения эквивалентных способов, которые покрывает формула изобретения.