ОБЛАСТЬ ИЗОБРЕТЕНИЯ
[0001] Настоящее изобретение в целом относится к извлечению информации из текстов на естественных языках с использованием вычислительных систем, а точнее - к сентиментному анализу на уровне аспектов с использованием методов машинного обучения.
УРОВЕНЬ ТЕХНИКИ
[0002] Сентиментный анализ является важной операцией при автоматической обработке текстов на естественных языках и имеет множество применений для решения реальных задач. Сентиментный анализ на уровне аспектов (АВSА) может использоваться для автоматической идентификации в текстах на естественном языке аспектов указанных целевых сущностей и сентиментов, выражаемых по отношению к каждому из аспектов.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0003] В соответствии с одним или несколькими аспектами настоящего изобретения описанный в примере способ сентиментного анализа на уровне аспектов может содержать: выполнение с помощью вычислительной системы семантико-синтаксического анализа по крайней мере части текста на естественном языке для создания множества синтактико-семантических структур, представляющих часть текста на естественном языке; интерпретацию синтактико-семантических структур с помощью набора продукционных правил для обнаружения в части текста на естественном языке по крайней мере одного аспектного термина, представляющего аспект, связанный с целевой сущностью; и оценку, с помощью одной или более характеристик текста, полученных при синтактико-семантическом анализе, функции классификатора для определения тональности, связанной с аспектным термином.
[0004] В соответствии с одним или несколькими аспектами настоящего изобретения описанная в примере система для сентиментного анализа на уровне аспектов может содержать: память и процессор, работающий с этой памятью, причем этот процессор выполнен с возможностью: выполнять с помощью вычислительной системы семантико-синтаксический анализ по крайней мере части текста на естественном языке для создания множества синтактико-семантических структур, представляющих часть текста на естественном языке; интерпретировать синтактико-семантические структуры с помощью набора продукционных правил для обнаружения в части текста на естественном языке по крайней мере одного аспектного термина, представляющего аспект, связанный с целевой сущностью; и оценивать с помощью одной или более характеристик текста, полученных при синтактико-семантическом анализе, функцию-классификатор для определения тональности, связанной с аспектным термином.
[0005] В соответствии с одним или несколькими аспектами настоящего изобретения пример постоянного машиночитаемого носителя данных может включать исполняемые команды, которые при исполнении их вычислительной системой приводят к выполнению вычислительной системой операций, включающих в себя: выполнение с помощью вычислительной системы семантико-синтаксического анализа по крайней мере части текста на естественном языке для создания множества синтактико-семантических структур, представляющих часть текста на естественном языке; интерпретацию синтактико-семантических структур с помощью набора продукционных правил для обнаружения в части текста на естественном языке по крайней мере одного аспектного термина, представляющего аспект, связанный с целевой сущностью; и оценку с помощью одной или более характеристик текста, полученных при синтактико-семантическом анализе, функции классификатора для определения тональности, связанной с аспектным термином.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0006] Настоящее изобретение иллюстрируется с помощью примеров, а не способом ограничения и может быть лучше понято при рассмотрении приведенного ниже описания предпочтительных вариантов реализации в сочетании с чертежами, на которых:
[0007] На Фиг. 1 показана блок-схема описанного в примере способа сентиментного анализа на уровне аспектов в соответствии с одним или несколькими аспектами настоящего изобретения;
[0008] На Фиг. 2 приведен пример текста на естественном языке для использования в примере способа сентиментного анализа на уровне аспектов в соответствии с одним или несколькими аспектами настоящего изобретения;
[0009] На Фиг. 3 приведен пример семантической иерархии, используемой в описанном в примере способе сентиментного анализа на уровне аспектов в соответствии с одним или несколькими аспектами настоящего изобретения;
[00010] На Фиг. 4 схематично показан пример способа интерпретации синтактико-семантических структур с использованием набора продукционных правил в соответствии с одним или несколькими аспектами настоящего изобретения;
[00011] На Фиг. 5 приведены примеры продукционных правил, используемых в примере способа сентиментного анализа на уровне аспектов для обнаружения аспектных терминов в соответствии с одним или несколькими аспектами настоящего изобретения;
[00012] На Фиг. 6 приведены примеры продукционных правил, используемых в примере способа сентиментного анализа на уровне аспектов для определения тональности аспектного термина в соответствии с одним или несколькими аспектами настоящего изобретения;
[00013] На Фиг. 7 показана блок-схема примера способа 700 интерактивного сентиментного анализа на уровне аспектов в тексте на естественном языке в соответствии с одним или более аспектами настоящего изобретения.
[00014] На Фиг. 8 приведен пример текста на естественном языке для использования в способе сентиментного анализа на уровне аспектов в соответствии с одним или несколькими аспектами настоящего изобретения;
[00015] На Фиг. 9 приведены результаты примера разметки текста, приведенного на Фиг. 8 в соответствии с одним или более аспектами настоящего изобретения;
[00016] На Фиг. 10 показана блок-схема примера способа выполнения семантико-синтаксического анализа предложения на естественном языке в соответствии с одним или более аспектами настоящего изобретения;
[00017] На Фиг. 11 схематически показан пример лексико-морфологической структуры предложения в соответствии с одним или более аспектами настоящего изобретения;
[00018] На Фиг. 12 схематически показаны языковые описания, представляющие модель естественного языка в соответствии с одним или более аспектами настоящего изобретения;
[00019] На Фиг. 13 схематически показаны примеры морфологических описаний в соответствии с одним или более аспектами настоящего изобретения;
[00020] На Фиг. 14 схематически показаны примеры синтаксических описаний в соответствии с одним или более аспектами настоящего изобретения;
[00021] На Фиг. 15 схематически показаны примеры семантических описаний в соответствии с одним или более аспектами настоящего изобретения;
[00022] На Фиг. 16 схематически показаны примеры лексических описаний в соответствии с одним или более аспектами настоящего изобретения;
[00023] На Фиг. 17 схематически показаны примеры структур данных, которые могут быть использованы в рамках одного или более способов, реализованных в соответствии с одним или несколькими аспектами настоящего изобретения;
[00024] На Фиг. 18 схематически показан пример графа обобщенных составляющих в соответствии с одним или более аспектами настоящего изобретения;
[00025] На Фиг. 19 показан пример синтаксической структуры, соответствующей предложению, приведенному на Фиг. 18;
[00026] На Фиг. 20 показана семантическая структура, соответствующая синтаксической структуре на Фиг. 19;
[00027] На Фиг. 21 показана схема примера вычислительной системы, реализующей методы настоящего изобретения.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ РЕАЛИЗАЦИИ
[00028] В настоящем документе описываются способы и системы сентиментного анализа на уровне аспектов. Описанные в настоящем документе системы и способы могут быть использованы в разнообразных приложениях обработки естественного языка, включая машинный перевод, семантическую индексацию, семантический поиск (включая многоязычный семантический поиск), классификацию документов, электронные исследования и др.
[00029] В настоящем документе термин «вычислительная система» означает устройство обработки данных, оснащенное универсальным процессором, памятью и по меньшей мере одним коммуникационным интерфейсом. Примерами вычислительных систем, которые могут использовать описанные в этом документе способы, являются, в частности, настольные компьютеры, ноутбуки, планшетные компьютеры и смартфоны.
[00030] Слово «Сентимент» в настоящем документе означает вербальное выражение отношения или эмоций автора к некоторой сущности (например, к объекту реального мира или классу объектов реального мира). Определенный текст на естественном языке может выражать сентименты автора к различным аспектам одной или нескольких сущностей. Слово «Аспект» в настоящем документе означает определенное свойство сущности, описываемой в тексте на естественном языке. В различных иллюстративных примерах аспект может определять характеристику, компонент или функцию соответствующей сущности. Словосочетание «Аспектный термин» в настоящем документе означает одно или несколько слов на естественном языке, относящихся к аспекту определенной сущности. Сентимент может быть охарактеризован тональностью, связанной с соответствующим аспектным термином, например, положительной, нейтральной или отрицательной.
[00031] В иллюстративном примере производитель потребительских товаров или поставщик услуг может интересоваться измерением сентиментов потребителей относительно определенного продукта путем анализа отзывов потребителей в сети, которые могут иметь вид неструктурированных или слабо структурированных текстов. В соответствии с одним или несколькими аспектами настоящего изобретения вычислительная система может анализировать текст на естественном языке, представляющий отзывы потребителей, чтобы выявить аспектные термины, связанные с одной или несколькими целевыми сущностями (например, товарами или услугами), и в дальнейшем найти сентименты, высказанные потребителями относительно каждого из этих аспектов.
[00032] В некоторых вариантах реализации вычислительная система, реализующая способы, описанные в настоящем документе, может выполнять двухэтапный сентиментный анализ на уровне аспектов, в ходе которого на первом этапе производится определение аспектных терминов, а на втором этапе определяется их тональность.
[00033] На первом этапе процесса может анализироваться текст на естественном языке, который может содержать множество отзывов пользователей об одной или нескольких целевых сущностях (например, потребительских товарах или услугах). Этот анализ может включать набор продукционных правил для интерпретации множества синтактико-семантических структур, полученных в результате синтактико-семантического анализа текста на естественном языке. Продукционные правила могут производить множество объектов данных, представляющих выявленные аспекты целевых сущностей, что более подробно описано ниже в этом документе.
[00034] На втором этапе процесса определяется тональность, связанная с каждым выявленным аспектным термином. В некоторых реализациях изобретения второй этап может включать вычисление одной или нескольких функций-классификаторов, возвращающих тональность, связанную с данным аспектным термином. Функция-классификатор может реализовывать различные методы машинного обучения, такие как линейные классификаторы, классификаторы на основе дерева прямых потомков, классификаторы на основе случайного леса, классификаторы на основе условных случайных полей (СRF), классификаторы на основе латентного размещения Дирихле (LDА), классификаторы на основе метода опорных векторов (SVМ) и (или) классификаторы на основе нейронных сетей (например, World2Vес), как более подробно описано ниже в этом документе.
[00035] Дополнительно или в качестве альтернативного варианта тональность, связанная с заданным аспектным термином, может определяться путем применения набора продукционных правил, которые интерпретируют множество семантико-синтаксических структур, получаемых при синтактико-семантическом анализе текста на естественном языке, как более подробно описано ниже в этом документе.
[00036] Различные аспекты упомянутых выше способов и систем подробно описаны ниже в этом документе с помощью примеров, а не способом ограничения.
[00037] На Фиг. 1 показана блок-схема примера способа 100 интерактивного сентиментного анализа на уровне аспектов в тексте на естественном языке в соответствии с одним или более аспектами настоящего изобретения. Способ 100 и (или) каждая из его отдельных функций, процедур, подпрограмм или операций может быть реализована с помощью одного или более процессоров вычислительной системы (например, вычислительной системы 100 на Фиг. 1), в которой реализован этот способ. В некоторых вариантах реализации способ 100 может выполняться в одном потоке обработки. При альтернативном подходе способ 100 может быть реализован с использованием двух или более потоков обработки, при этом в каждом потоке реализована одна или более отдельных функций, процедур, подпрограмм или операций этого способа. В иллюстративном примере потоки обработки, в которых реализован способ 100, могут быть синхронизированы (например, с помощью семафоров, критических секций и (или) других механизмов синхронизации потоков). При альтернативном подходе потоки обработки, в которых реализован способ 100, могут выполняться асинхронно по отношению друг к другу. Таким образом, несмотря на то, что Фиг. 1 и соответствующее описание содержат список операций для способа 100 в определенном порядке, в различных вариантах осуществления способа по крайней мере некоторые из описанных операций могут выполняться параллельно и (или) в случайно выбранном порядке.
[00038] В блоке 110 вычислительная система, реализующая способ 100, может выполнять синтактико-семантический анализ исходного текста 101 на естественном языке, который может быть представлен, например, одним или несколькими отзывами потребителей об одной или нескольких целевых сущностях (например, потребительских товарах или услугах). На Фиг. 2 приведен пример текста 211 на естественном языке, представляющий отзыв потребителя о смартфоне. В различных иллюстративных примерах отзыв потребителя не обязательно включает идентификатор целевой сущности (например, марку и модель определенного устройства), тем не менее, соответствующую связь можно вывести из метаданных, связанных с отзывом потребителя (например, отзыв может быть связан с категорией, имеющей заголовок, который определяет целевую сущность).
[00039] В различных иллюстративных примерах текст на естественном языке может быть представлен неструктурированным (свободное изложение) или слабо структурированным текстом (например, текст, разделенный на несколько разделов, определяемых подзаголовками, такими как «Характеристики продукта», «Преимущества», «Недостатки» и т.д.).
[00040] Синтактико-семантический анализ может давать для каждого предложения в тексте на естественном языке по крайней мере одну не зависящую от языка синтактико-семантическую структуру 102, как описано более подробно ниже со ссылками на Фиг. 5-15. В некоторых вариантах реализации изобретения синтактико-семантический анализ может использовать пользовательский словарь, который может содержать список лексем, которые могут использоваться в анализируемом тексте на естественном языке для ссылки на целевые сущности (например, потребительские товары или услуги). В иллюстративном примере пользовательский словарь может содержать список марок автомобилей, включая возможные разговорные вариации, такие как «Шевроле» и «Шеви».
[00041] В некоторых вариантах реализации изобретения пользовательский словарь может быть представлен семантической иерархией. Как схематично показано на Фиг. 3, пример семантической иерархии 310 может содержать определения множества семантических классов, таких, что каждый класс соответствует концепту предметной области. Каждое определение класса может включать определения одного или более объектов, отнесенных к данному классу, включая зависящие от конкретного языка лексические классы.
[00042] Для облегчения идентификации аспектных терминов в анализируемом тексте на естественном языке семантическая иерархия, которая используется при синтактико-семантическом анализе текста на естественном языке, может быть дополнена путем ассоциирования некоторых лексических классов 315 с пользовательскими прагматическими классами 317, указывающими на то, что лексемы, представленные экземплярами этих лексических классов, могут использоваться в качестве аспектных терминов, указывающих на определенный аспект. В некоторых вариантах реализации изобретения пользовательский прагматический класс может иметь несколько подклассов для дополнительного указания на тип аспекта, с которым связаны экземпляры соответствующего лексического класса. В различных иллюстративных примерах подклассы пользовательского прагматического класса могут указывать на то, что лексема, представленная экземпляром соответствующего лексического класса, представляет характеристику, компонент или функцию соответствующей сущности. В другом иллюстративном примере подкласс пользовательского прагматического класса может указывать на то, что лексема, представленная экземпляром соответствующего лексического класса, представляет характеристику, компонент или функцию соответствующей сущности имплицитно, при этом тональность может подразумеваться самим аспектным термином (например, «высокие обороты (RРМ)»). В противном случае, если тональность не определяется аспектным термином и может быть определена только путем анализа контекста аспектного термина, аспектный термин может называться «эксплицитным».
[00043] В блоке 120 вычислительная система может интерпретировать множество синтактико-семантических структур, используя набор продукционных правил для определения отдельных аспектов целевых сущностей, как подробно описано ниже со ссылкой на Фиг. 4-5.
[00044] В блоке 130 вычислительная система может определять тональности выявленных аспектных терминов. В иллюстративном примере тональность может быть отрицательной (-1), нейтральной (0) или положительной (+1). В различных других иллюстративных примерах могут использоваться другие числовые шкалы и/или вербальные обозначения тональностей.
[00045] В некоторых вариантах реализации изобретения тональность может определяться путем использования набора продукционных правил для интерпретации множества синтактико-семантических структур, полученных в результате синтактико-семантического анализа текста на естественном языке. На Фиг. 6 приведены примеры продукционных правил, которые могут использоваться для определения тональности аспектного термина в соответствии с одним или несколькими аспектами настоящего описания. Дополнительно или в качестве альтернативного варианта тональность может определяться путем вычисления одной или нескольких функций-классификаторов, возвращающих тональность каждого выявленного аспектного термина, как более подробно описано ниже в настоящем документе.
[00046] В блоке 140 вычислительная система может агрегировать извлеченную информацию в форме, подходящей для вывода в графическом интерфейсе пользователя (GUI) и (или) для печати. В иллюстративном примере отчет, созданный системой, может содержать идентификатор целевой сущности (например, электронное устройство) и один или несколько иерархических списков, идентифицирующих компоненты, характеристики и (или) функции целевой сущности. Каждый иерархический список может содержать множество аспектных терминов и соответствующие им тональности. В некоторых вариантах реализации изобретения каждый иерархический список может также содержать количество экземпляров (например, количество отзывов в сети), в которых выявленный аспект характеризуется выявленным аспектным термином и выявленной тональностью. В ответ на завершение описанных со ссылками на блок 140 операций способ может завершиться.
[00047] На Фиг. 4 схематично показан пример способа интерпретации семантических структур с использованием набора продукционных правил в соответствии с одним или несколькими аспектами настоящего изобретения. Способ 400 и (или) каждая из его отдельных функций, процедур, подпрограмм или операций может быть реализована с помощью одного или более процессоров вычислительной системы (например, вычислительной системы 400 на Фиг. 4), в которой реализован этот способ. В некоторых вариантах реализации способ 400 может выполняться в одном потоке обработки. При альтернативном подходе способ 400 может быть реализован с помощью двух или более потоков обработки, при этом каждый поток выполняет одну или более отдельных функций, стандартных программ, подпрограмм или операций данного способа. В иллюстративном примере потоки обработки, реализующие способ 400, могут быть синхронизированы (например, с помощью семафоров, критических секций и/или других механизмов синхронизации потоков). В качестве альтернативы, потоки обработки, реализующие способ 400, могут выполняться асинхронно по отношению друг к другу. Поэтому, хотя Фиг. 4 и соответствующее описание содержат операции способа 400 в определенном порядке, различные варианты реализации способа могут выполнять по крайней мере некоторые из перечисленных операций, параллельно и (или) в произвольно выбранном порядке.
[00048] В некоторых реализациях изобретения объекты данных, представляющие выявленные аспекты целевых сущностей, могут быть представлены графом RDF-графом (Resource Definition Framework). RDF присваивает уникальный идентификатор каждому информационному объекту и сохраняет информацию о таком объекте в виде триплетов SРО, где S обозначает «субъект» и содержит идентификатор объекта, Р обозначает «предикат» и определяет некоторое свойство этого объекта, а О обозначает «объект» и сохраняет значение этого свойства данного объекта. Это значение может быть как примитивным типом данных (строкой, числом, булевым значением), так и идентификатором другого объекта. В одном из иллюстративных примеров триплет SРО может ассоциировать токен из текста на естественном языке с аспектом целевой сущности.
[00049] Продукционные правила, которые используются для интерпретации синтактико-семантических структур, могут включать правила интерпретации и правила идентификации. Правило интерпретации может содержать левую сторону, представленную набором логических выражений, определенных в одном или более шаблонах синтактико-семантических структур, и правую сторону, представленную одним или более утверждениями, относящимися к информационным объектам, представляющим сущности, ссылающиеся на текст на естественном языке.
[00050] Шаблон синтактико-семантической структуры может содержать определенные элементы синтактико-семантической структуры (например, проверка на наличие определенной граммемы или семантемы, принадлежности к определенным лексическим/семантическим классам, нахождение в определенной поверхностной или глубинной позиции и т.д.). Отношения между элементами синтактико-семантических структур могут задаваться с помощью одного или более логических выражений (конъюнкция, дизъюнкция и отрицание) и (или) операций, описывающих взаимное расположение узлов в синтактико-семантическом дереве. В качестве иллюстративного примера такая операция может проверять, принадлежит ли узел к поддереву другого узла.
[00051] Совпадение шаблона, определенного левой частью продукционного правила синтактико-семантической структуры, с синтактико-семантической структурой, представляющей по крайней мере часть предложения текста на естественном языке, может запускать правую сторону продукционного правила. Правая сторона продукционного правила может связывать один или более признаков (относящихся к лексическим, синтаксическим и (или) семантическим свойствам слов оригинального предложения) с информационными объектами, представленными вершинами. В одном из иллюстративных примеров правая сторона правила интерпретации может содержать утверждение, связывающее токен из текста на естественном языке с аспектом целевой сущности.
[00052] Правило идентификации может использоваться для определения связи для пары информационных объектов, которые представляют одну и ту же сущность из реального мира. Правило идентификации представляет собой продукционное правило, левая часть которого содержит одно или более логических выражений, относящихся к узлам семантического дерева, соответствующим информационным объектам. Если пара информационных объектов соответствует условию, определенному логическими выражениями, информационные объекты объединяют в один информационный объект.
[00053] На Фиг. 4 в блоке 410 вычислительная система, реализующая способ 400, может получать множество синтактико-семантических структур, представляющих анализируемые предложения из текста на естественном языке.
[00054] В блоке 420 вычислительная система может выявлять множество синтактико-семантических подструктур, соответствующих шаблонам, определенным в левой стороне правил интерпретации, используемых для анализа текста на естественном языке.
[00055] В блоках 430-450 вычислительная система может выполнять итерации над выявленными совпадающими экземплярами, которые могут быть организованы в очередь и связаны с классом приоритета (например, на основе класса приоритета, ассоциированного с правилами интерпретации, которые запускают соответствующие совпадающие экземпляры). В блоке 430 вычислительная система может проверить предположение о том, что очередь совпадающих экземпляров пуста, если это так, способ может перейти к блоку 470, в противном случае в блоке 440, вычислительная система может возвратить из очереди совпадающий экземпляр с самым высоким рейтингом.
[00056] В блоке 450 вычислительная система может создать одно или несколько логических выражений, определенных в правой части правил интерпретации, которые переключат совпадающий экземпляр с наивысшим приоритетом, выявленный в блоке 340.
[00057] В блоке 460 вычислительная система может добавить логическое выражение в мешок утверждений, ассоциированных с анализируемым текстом на естественном языке. Термин «Мешок утверждений» в настоящем документе означает набор не противоречащих друг другу логических выражений, характеризующих извлеченные информационные объекты и их свойства. Поэтому попытка добавления в мешок утверждений нового утверждения, противоречащего по крайней мере одному утверждению, уже находящемуся в «мешке утверждений», будет неудачной.
[00058] После определения в блоке 470 неудачи попытки добавления в «мешок утверждений», связанных с анализируемым текстом на естественном языке, логического выражения, полученного в блоке 450, способ может вернуться к блоку 430; в противном случае способ может вернуться к блоку 420.
[00059] В блоке 480,после обнаружения, что очередь совпадающих экземпляров пуста, способ может прекратить работу, объявив мешок утверждений заполненным. Мешок утверждений может определить RDF-граф, представляющий выявленные аспектные термины. В некоторых вариантах реализации вычислительная система может объединить некоторые выявленные аспекты, для обозначения которых в исходном тексте на естественном языке используются различные синонимические конструкции.
[00060] На Фиг. 5 приведены примеры продукционных правил, которые могут использоваться для выявления аспектных терминов в соответствии с одним или несколькими аспектами настоящего изобретения. Правило 510 может использоваться для выявления имплицитного аспекта. Правило 520 может использоваться для выявления имплицитного аспекта. Правило 530 может использоваться для слияния эксплицитных аспектов. Правило 540 может использоваться для выявления имплицитного аспекта, отражающего указание потребителя на то, что использование продукта вызывает боль в спине. Правило 550 может использоваться для выявления имплицитного аспекта, отражающего указание потребителя на то, что необходимо заменить часть продукта.
[00061] На Фиг. 6 приведены некоторые примеры продукционных правил, которые могут использоваться для определения тональности аспектного термина в соответствии с одним или несколькими аспектами настоящего изобретения. Правило 610 может использоваться для выявления тональностей, связанных с некоторыми аспектами, относящимися к пассажирским автомобилям.
[00062] Как отмечено выше в настоящем документе, дополнительно или в качестве альтернативы использованию продукционных правил тональность аспектного термина может быть определена путем оценки одной или нескольких функций-классификаторов. Область определения функции-классификатора может быть представлена вектором значений грамматических, синтаксических и (или) семантических признаков, характеризующих аспектный термин. В качестве базовой составляющей синтактико-семантической структуры, представляющей аспектный термин, может быть выбрана максимальная составляющая синтактико-семантической структуры, ядро которой содержит аспектный термин. Контекст выявленной базовой составляющей может быть представлен родительскими, дочерними и одноуровневыми составляющими.
[00063] В различных иллюстративных примерах признаки, представляющие область определения функции-классификатора, могут включать:
[00064] - семантический класс, связанный с выявленной базовой составляющей, представляющей аспектный термин (например, HUMAN, BE, EMOTINOS_AND_TH EMOTIONAL_ATTITUDE, INSIDE_PART);
[00065] - прагматический класс, связанный с выявленной базовой составляющей, представляющей аспектный термин (например, DigitalNumbers, Person, Positive, NormalPolarityDependence);
[00066] - не зависящую от языка глубинную позицию, связанную с выявленной базовой составляющей, представляющей аспектный термин;
[00067] - зависимую от языка поверхностную позицию, связанную с выявленной базовой составляющей, представляющей аспектный термин;
[00068] - синтаксическую парадигму, связанную с выявленной базовой составляющей, представляющей аспектный термин, например множество поверхностных структур, связанных с определенными лексическими значениями (например, частями речи);
[00069] - семантема, связанная с аспектным термином (например, PolarityPlus, NonPolarityMinus);
[00070] - шаблон капитализации, определяющий использование прописных букв в аспектном термине (например, АаАаА, АААА); и (или)
[00071] - положение выявленной базовой составляющей в синтактико-семантическом дереве (например, является ли базовая составляющая корнем коллокации или ведет происхождение от определенной вершины семантического дерева).
[00072] В некоторых реализациях изобретения значения признаков до использования в функции-классификаторе могут быть бинаризованы. В иллюстративном примере процедура бинаризации включает представление N значений заданного признака в виде N бинарных признаков. В некоторых вариантах осуществления полученные бинарные признаки можно фильтровать (например, с помощью точного критерия Фишера или используя энтропию Шеннона), чтобы выбрать наименьшее число из наиболее статистически значимых признаков.
[00073] Определенные параметры этих функций классификатора могут корректироваться с помощью методов машинного обучения, которые используют заранее определенные или динамически созданные наборы данных. Набор подтверждающих данных может содержать один или более текстов на естественном языке, в которых отмечены отдельные аспекты и соответствующие им тональности. В одном из иллюстративных примеров подобный набор подтверждающих данных может создаваться или обновляться с помощью GUI, предназначенного для получения данных от пользователя, который выделяет одно или более смежных слов и ассоциирует их с категорией и тональностью аспектных терминов.
[00074] В некоторых вариантах реализации функции-классификаторы могут быть реализованы с помощью классификаторов случайного леса. Классификатор случайного леса создает во время обучения множество деревьев решений и генерирует класс, который является модусом классов предсказания среднего для отдельных деревьев.
[00075] В альтернативном варианте реализации функции-классификаторы могут реализовывать различные методы машинного обучения, такие как линейные классификаторы, классификаторы на основе дерева прямых потомков, классификаторы на основе случайного леса, классификаторы на основе условных случайных полей (СRF), классификаторы на основе латентного размещения Дирихле (LDА), классификаторы на основе метода опорных векторов (SVМ) и (или) классификаторы на основе нейронных сетей (например, World2Vес). В одном из иллюстративных примеров классификатор SVМ может создавать одну или несколько разделительных гиперплоскостей в многомерном пространстве. Для определения значений параметров гиперплоскости используется обучающая выборка, так чтобы полученная гиперплоскость имела максимальное удаление от ближайшей точки данных обучения.
[00076] В различных иллюстративных примерах для оценки качества функции-классификатора могут использоваться одна или несколько метрик качества. Эти метрики качества могут быть представлены точностью (положительное прогностическое значение), полнотой (чувствительностью) или F-мерой.
[00077] В некоторых вариантах реализации сентиментный анализ на уровне аспектов, выполняемый в соответствии с одним или несколькими аспектами настоящего изобретения, может быть реализован в виде интерактивного процесса, в ходе которого вводимая пользователем информация используется для предоставления пользовательского словаря различных терминов, связанных с целевыми сущностями (например, товарами и услугами) и для оценки результатов различных операций способа, как более подробно описано ниже со ссылками на Фиг. 7.
[00078] На Фиг. 7 показана блок-схема примера способа 700 интерактивного сентиментного анализа на уровне аспектов в тексте на естественном языке в соответствии с одним или более аспектами настоящего изобретения. Способ 700 и (или) каждая из его отдельных функций, стандартных программ, подпрограмм или операций могут выполняться одним или несколькими процессорами вычислительной системы (например, вычислительная система 700 на Фиг. 7), реализующей этот способ. В некоторых реализациях способ 700 может быть реализован в одном потоке обработки. При альтернативном подходе способ 700 может быть реализован двумя или более потоками обработки, при этом в каждом потоке реализована одна или несколько отдельных функций, процедур, подпрограмм или операций этого способа. В иллюстративном примере потоки обработки, реализующие способ 700, могут быть синхронизированы (например, с помощью семафоров, критических секций и/или других механизмов синхронизации потоков). Кроме того, потоки обработки, реализующие способ 700, могут выполняться асинхронно друг относительно друга. Таким образом, несмотря на то что Фиг. 7 и соответствующее описание содержат список операций для способа 700 в определенном порядке, в различных вариантах осуществления способа по крайней мере некоторые из описанных операций могут выполняться параллельно и (или) в случайно выбранном порядке.
[00079] В блоке 710 вычислительная система, реализующая способ 700, может получать исходные данные, определяющие одну или несколько лексем, которые могут использоваться в анализируемом тексте на естественном языке по отношению к целевым сущностям (например, потребительским товарам или услугам). В одном из иллюстративных примеров пользовательский словарь может включать список терминов, которые могут использоваться по отношению к конкретной марке или модели определенного устройства (например, «iРhone 6», «iРhone шестого поколения», «iРhone последней модели» и т.д.). Дополнительно или в качестве альтернативного варианта вводимые пользователем данные могут определять одну или несколько лексем, которые могут использоваться в анализируемом тексте на естественном языке для ссылки на аспекты целевых сущностей. Вычислительная система может использовать пользовательский словарь для расширения семантической иерархии, используемой для синтактико-семантического анализа текста на естественном языке, как более подробно описано выше со ссылками на Фиг. 1.
[00080] В блоке 720 вычислительная система может получать текст на естественном языке, который может представлять, например, один или несколько отзывов потребителей на целевые сущности (например, потребительские товары или услуги).
[00081] В блоке 730 вычислительное устройство может произвести синтактико-семантический анализ полученного текста на естественном языке. Синтактико-семантический анализ может давать для каждого предложения в тексте на естественном языке по крайней мере одну не зависящую от языка семантическую структуру, как описано более подробно ниже со ссылками на Фиг. 5-15.
[00082] В блоке 740 вычислительная система может интерпретировать множество синтактико-семантических структур, используя набор продукционных правил для определения отдельных аспектов целевых сущностей, как подробно описано ниже со ссылкой на Фиг. 4-5.
[00083] В блоке 750 вычислительная система может получать вводимые пользователем данные, изменяющие набор выявленных аспектов. В одном из иллюстративных примеров вводимые пользователем данные могут удалять отдельные аспектные термины, которые не интересуют пользователя, и (или) отдельные некорректно выявленные аспектные термины. В одном из иллюстративных примеров вводимые пользователем данные могут добавлять отдельные аспектные термины, которые не были выявлены, однако интересуют пользователя. В другом иллюстративном примере вводимые пользователем данные могут объединить некоторые выявленные аспекты, для обозначения которых в исходном тексте на естественном языке используются различные синонимические конструкции. В другом иллюстративном примере вводимые пользователем данные могут изменить иерархические отношения между выявленными аспектами (например, термин «время работы от аккумулятора» может быть связан с аккумулятором, а не с самим смартфоном). В другом иллюстративном примере вводимые пользователем данные могут изменить лексемы, которые могут использоваться в анализируемом тексте на естественном языке для ссылки на целевые сущности и (или) их аспекты (например, пользователь может определить «тормоза» как связанные с «тормозными колодками» и «тормозными цилиндрами»). В некоторых вариантах реализации в ответ на получение данных от пользователя способ может вернуться к блоку 730, как схематично показано пунктирной линией.
[00084] В блоке 760 вычислительная система может определять тональности выявленных аспектных терминов. В одном из иллюстрационных примеров тональность может определяться путем применения набора продукционных правил для интерпретации множества синтактико-семантических структур, полученных в результате синтактико-семантического анализа текста на естественном языке. Дополнительно или в качестве альтернативного варианта тональность может определяться путем вычисления одной или нескольких функций-классификаторов, возвращающих тональность каждого выявленного аспектного термина, как более подробно описано ниже в настоящем документе.
[00085] В блоке 770 вычислительная система может получать вводимые пользователем данные, изменяющие выявленные тональности аспектных терминов. В одном из иллюстрационных примеров пользовательский ввод может изменять иерархические отношения между выявленными аспектами и их тональностями (например, пользовательский ввод может связывать термин «слишком дорогой» с ценой целевого устройства, а не с самим целевым устройством). В другом иллюстрационном примере пользовательский ввод может изменять неправильно выявленную тональность (например, слово «непредсказуемый» может отражать положительный сентимент для кинокартины и в то же время отрицательный сентимент для автомобиля). В другом иллюстрационном примере пользовательский ввод может определять дополнительный аспектный термин и (или) соответствующие ему тональности (например, пользовательский ввод может связывать термин «плавный ход» с характеристикой «удобство вождения»). В некоторых вариантах реализации в ответ на получение данных от пользователя способ может вернуться к блоку 730, как схематично показано пунктирной линией.
[00086] В блоке 780 вычислительная система может агрегировать извлеченную информацию в форме, подходящей для вывода в графическом интерфейсе пользователя (GUI) и (или) для печати. В иллюстративном примере отчет, созданный системой, может содержать идентификатор целевой сущности (например, электронное устройство) и один или несколько иерархических списков, идентифицирующих компоненты, характеристики и (или) функции целевой сущности. Каждый иерархический список может содержать множество аспектных терминов и соответствующие им тональности. В некоторых вариантах реализации изобретения каждый иерархический список может также содержать количество экземпляров (например, количество отзывов в сети), в которых выявленный аспект характеризуется выявленным аспектным термином и выявленной тональностью.
[00087] В ответ на получение в блоке 790 пользовательского ввода с одобрением созданного отчета способ может прекратить работу в блоке 795. В противном случае вычислительная система может принимать пользовательский ввод, изменяющий пользовательский словарь, и способ может вернуться к блоку 720.
[00088] В некоторых вариантах реализации один и тот же пользовательский словарь может использоваться для анализа текста на естественном языке, связанного с различными целевыми сущностями, которые имеют одни и те же характеристики (например, потребительские продукты или услуги, относящиеся к одной функциональной категории, такие как смартфоны, автомобили, банковские услуги и т.д.). В одном из иллюстративных примеров система может использовать один и тот же пользовательский словарь для оценки и сравнения двух различных марок/моделей определенного потребительского продукта (например, смартфона).
[00089] На Фиг. 8 приведен пример текста на естественном языке для использования в способе сентиментного анализа на уровне аспектов в соответствии с одним или несколькими аспектами настоящего изобретения. Текст на естественном языке представляет отзыв потребителя о недавно приобретенном автомобиле.
[00090] На Фиг. 9 приведены результаты примера разметки текста, приведенного на Фиг. 8 в соответствии с одним или более аспектами настоящего изобретения. Пример разметки представляет аспекты (например, общие, управляемость, удобство, цена и т.д.), соответствующие аспектные термины и их положение в тексте, выявленные тональности (например, негативную, нейтральную, положительную) и выявленные типы аспектов (например, эксплицитный, фактический, имплицитный).
[00091] На Фиг. 10 приведена блок-схема одного иллюстративного примера реализации способа 200 для выполнения семантико-синтаксического анализа предложения на естественном языке 212 в соответствии с одним или несколькими аспектами настоящего изобретения. Способ 200 может быть применен к одной или более синтаксическим единицам (например, предложениям), включенным в определенный текстовый корпус, для формирования множества семантико-синтаксических деревьев, соответствующих синтаксическим единицам. В различных иллюстративных примерах подлежащие обработке способом 200 предложения на естественном языке могут извлекаться из одного или нескольких электронных документов, которые могут создаваться путем сканирования (или другим способом получения изображений бумажных документов) и оптического распознавания символов (ОСR) для получения текстов, соответствующих этим документам. Предложения на естественном языке также могут извлекаться из других различных источников, включая сообщения, отправляемые по электронной почте, тексты из социальных сетей, файлы с цифровым содержимым, обработанные с использованием способов распознавания речи и т.д.
[00092] В блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для установления морфологических значений слов, входящих в состав предложения. В настоящем документе "морфологическое значение" слова означает одну или несколько лемм (т.е. канонических или словарных форм), соответствующих слову, и соответствующий набор значений грамматических признаков, которые определяют грамматическое значение слова. В число таких грамматических признаков могут входить лексическая категория (часть речи) слова и один или более морфологических и грамматических признаков (например, падеж, род, число, спряжение и т.д.). Ввиду омонимии и (или) совпадающих грамматических форм, соответствующих разным лексико-морфологическим значениям определенного слова, для данного слова может быть установлено два или более морфологических значений. Более подробное описание иллюстративного примера проведения лексико-морфологического анализа предложения приведено ниже в настоящем документе со ссылкой на Фиг. 11.
[00093] В блоке 215 вычислительное устройство может проводить грубый синтаксический анализ предложения 212. Грубый синтаксический анализ может включать применение одной или нескольких синтаксических моделей, которые могут быть соотнесены с элементами предложения 212, с последующим установлением поверхностных (т.е. синтаксических) связей в рамках предложения 212 для получения графа обобщенных составляющих. В настоящем документе "составляющая" означает группу соседних слов исходного предложения, функционирующую как одна грамматическая сущность. Составляющая включает в себя ядро в виде одного или более слов и может также включать одну или несколько дочерних составляющих на более низких уровнях. Дочерняя составляющая является зависимой составляющей, которая может быть соотнесена с одной или несколькими родительскими составляющими.
[00094] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев предложения. Среди различных синтаксических деревьев на основе определенной функции оценки с учетом совместимости лексических значений слов исходного предложения, поверхностных отношений, глубинных отношений и т.д. может быть отобрано одно или несколько лучших синтаксических деревьев, соответствующих предложению 212.
[00095] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может включать множество узлов, соответствующих семантическим классам и также может включать множество дуг, соответствующих семантическим отношениям (более подробное описание см. ниже в настоящем документе).
[00096] Фиг. 11 схематически иллюстрирует пример лексико-морфологической структуры предложения в соответствии с одним или более аспектами настоящего изобретения. Пример лексико-морфологической структуры 300 может включать множество пар "лексическое значение - грамматическое значение" для примера предложения. В качестве иллюстративного примера, "И" может быть соотнесено с лексическим значением "shall" 312 и "will" 314. Грамматическим значением, соотнесенным с лексическим значением 312, является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Composite II>. Грамматическим значением, соотнесенным с лексическим значением 314, является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Irregular, Composite II>.
[00097] Фиг. 12 схематически иллюстрирует используемые языковые описания 210, в том числе морфологические описания 201, лексические описания 203, синтаксические описания 202 и семантические описания 204, а также отношения между ними. Среди них морфологические описания 201, лексические описания 203 и синтаксические описания 202 зависят от языка. Набор языковых описаний 210 представляет собой модель определенного естественного языка.
[00098] В качестве иллюстративного примера определенное лексическое значение в лексических описаниях 203 может быть соотнесено с одной или несколькими поверхностными моделями синтаксических описаний 202, соответствующих данному лексическому значению. Определенная поверхностная модель синтаксических описаний 202 может быть соотнесена с глубинной моделью семантических описаний 204.
[00099] На Фиг. 13 схематически иллюстрируются несколько примеров морфологических описаний. В число компонентов морфологических описаний 201 могут входить: описания словоизменения 310, грамматическая система 320, описания словообразования 330 и другие. Грамматическая система 320 включает набор грамматических категорий, таких как часть речи, падеж, род, число, лицо, возвратность, время, вид и их значения (так называемые "граммемы"), в том числе, например, прилагательное, существительное или глагол; именительный, винительный или родительный падеж; женский, мужской или средний род и т.д. Соответствующие граммемы могут использоваться для составления описания словоизменения 310 и описания словообразования 330.
[000100] Описание словоизменения 310 определяет формы данного слова в зависимости от его грамматических категорий (например, падеж, род, число, время и т.д.) и в широком смысле включает в себя или описывает различные возможные формы слова. Описание словообразования 330 определяет, какие новые слова могут быть образованы от данного слова (например, сложные слова).
[000101] В соответствии с одним из аспектов настоящего изобретения при установлении синтаксических отношений между элементами исходного предложения могут использоваться модели составляющих. Составляющая представляет собой группу соседних слов в предложении, ведущих себя как единое целое. Ядром составляющей является слово, она также может содержать дочерние составляющие более низких уровней. Дочерняя составляющая является зависимой составляющей и может быть прикреплена к другим составляющим (родительским) для построения синтаксических описаний 202 исходного предложения.
[000102] На Фиг. 14 приведены примеры синтаксических описаний. В число компонентов синтаксических описаний 202 могут входить, среди прочего, поверхностные модели 410, описания поверхностных позиций 420, описание референциального и структурного контроля 456, описание управления и согласования 440, описание недревесного синтаксиса 450 и правила анализа 460. Синтаксические описания 202 могут использоваться для построения возможных синтаксических структур исходного предложения на заданном естественном языке с учетом свободного линейного порядка слов, недревесных синтаксических явлений (например, согласование, эллипсис и т.д.), референциальных отношений и других факторов.
[000103] Поверхностные модели 410 могут быть представлены в виде совокупностей одной или нескольких синтаксических форм («синтформ» 412) для описания возможных синтаксических структур предложений, входящих в состав синтаксического описания 202. В целом, лексическое значение слова на естественном языке может быть связано с поверхностными (синтаксическими) моделями 410. Поверхностная модель может представлять собой составляющие, которые возможны, если лексическое значение выступает в роли "ядра". Поверхностная модель может включать набор поверхностных позиций дочерних элементов, описание линейного порядка и (или) диатезу. В настоящем документе "диатеза" означает определенное отношение между поверхностными и глубинными позициями и их семантическими ролями, выражаемыми посредством глубинных позиций. Например, диатеза может быть выражаться залогом глагола: если субъект является агентом действия, глагол в активном залоге, а когда субъект является направлением действия, это выражается пассивным залогом глагола.
[000104] В модели составляющих может использоваться множество поверхностных позиций 415 дочерних составляющих и описаний их линейного порядка 416 для описания грамматических значений 414 возможных заполнителей этих поверхностных позиций. Диатезы 417 представляют собой соответствия между поверхностными позициями 415 и глубинными позициями 514 (как показано на Фиг. 16). Коммуникативные описания 480 описывают коммуникативный порядок в предложении.
[000105] Описание линейного порядка (416) может быть представлено в виде выражений линейного порядка, отражающих последовательность, в которой различные поверхностные позиции (415) могут встречаться в предложении. В число выражений линейного порядка могут входить наименования переменных, имена поверхностных позиций, круглые скобки, граммемы, оператор «оr» (или) и т.д. В качестве иллюстративного примера описание линейного порядка простого предложения "Boys play football" можно представить в виде "Subject Core Object_Direct" (Подлежащее - Ядро - Прямое дополнение), где Subject (Подлежащее), Core (Ядро) и Object_Direct (Прямое дополнение) представляют собой имена поверхностных позиций 415, соответствующих порядку слов.
[000106] Коммуникативные описания 480 могут описывать порядок слов в синтформе 412 с точки зрения коммуникативных актов, представленных в виде коммуникативных выражений порядка, которые похожи на выражения линейного порядка. Описания управления и согласования 440 может включать правила и ограничения на грамматические значения присоединяемых составляющих, которые используются во время синтаксического анализа.
[000107] Описания недревесного синтаксиса 450 могут создаваться для отражения различных языковых явлений, таких как эллипсис и согласование, они используются при трансформациях синтаксических структур, которые создаются на различных этапах анализа в различных вариантах реализации изобретения. Описания недревесного синтаксиса 450 могут, среди прочего, включать описание эллипсиса 452, описания согласования 454, а также описания референциального и структурного контроля 430.
[000108] Правила анализа 460 могут описывать свойства конкретного языка и использоваться в рамках семантического анализа. Правила анализа 460 могут включать правила вычисления семантем 462 и правила нормализации 464. Правила нормализации 464 могут использоваться для описания трансформаций семантических структур, которые могут отличаться в разных языках.
[000109] На Фиг. 15 приведен пример семантических описаний. Компоненты семантических описаний 204 не зависят от языка и могут, среди прочего, включать семантическую иерархию 510, описания глубинных позиций 520, систему семантем 530 и прагматические описания 540.
[000110] Ядро семантических описаний может быть представлено семантической иерархией 510, в которую могут входить семантические понятия (семантические сущности), также называемые семантическими классами. Последние могут быть упорядочены в иерархическую структуру, отражающую отношения "родитель-потомок". В целом, дочерний семантический класс может унаследовать одно или более свойств своего прямого родителя и других семантических классов-предков. В качестве иллюстративного примера семантический класс SUBSTANCE (Вещество) является дочерним семантическим классом класса ENTITY (Сущность) и родительским семантическим классом для классов GAS, (Газ), LIQUID (Жидкость), METAL (Металл), WOOD_MATERIAL (Древесина) и т.д.
[000111] Каждый семантический класс в семантической иерархии 510 может сопровождаться глубинной моделью 512. Глубинная модель 512 семантического класса может включать множество глубинных позиций 514, которые могут отражать семантические роли дочерних составляющих в различных предложениях с объектами данного семантического класса в качестве ядра родительской составляющей. Глубинная модель 512 также может включать возможные семантические классы, выступающие в роли заполнителей глубинных позиций. Глубинные позиции (514) могут выражать семантические отношения, в том числе, например, "agent" (агенс), "addressee" (адресат), "instrument" (инструмент), "quantity" (количество) и т.д. Дочерний семантический класс может наследовать и уточнять глубинную модель своего непосредственного родительского семантического класса.
[000112] Описания глубинных позиций 520 отражают семантические роли дочерних составляющих в глубинных моделях 512 и могут использоваться для описания общих свойств глубинных позиций 514. Описания глубинных позиций 520 также могут содержать грамматические и семантические ограничения в отношении заполнителей глубинных позиций 514. Свойства и ограничения, связанные с глубинными позициями 514 и их возможными заполнителями в различных языках, могут быть в значительной степени подобными и зачастую идентичными. Таким образом, глубинные позиции 514 не зависят от языка.
[000113] Система семантем 530 может представлять собой множество семантических категорий и семантем, которые представляют значения семантических категорий. В качестве иллюстративного примера семантическая категория "DegreeOfComparison" (Степень сравнения) может использоваться для описания степени сравнения прилагательных и включать следующие семантемы: "Positive" (Положительная), "ComparativeHigherDegree" (Сравнительная степень сравнения), "SuperlativeHighestDegree" (Превосходная степень сравнения) и другие. В качестве еще одного иллюстративного примера семантическая категория "RelationToReferencePoint" (Отношение к точке) может использоваться для описания порядка (пространственного или временного в широком смысле анализируемых слов), как, например, до или после точки или события, и включать семантемы "Previous" (Предыдущий) и "Subsequent" (Последующий). В качестве еще одного иллюстративного примера семантическая категория "EvaluationObjective" (Оценка) может использоваться для описания объективной оценки, как, например, "Bad" (Плохой), "Good" (Хороший) и т.д.
[000114] Система семантем 530 может включать независимые от языка семантические признакы, которые могут выражать не только семантические характеристики, но и стилистические, прагматические и коммуникативные характеристики. Некоторые семантемы могут использоваться для выражения атомарного значения, которое находит регулярное грамматическое и (или) лексическое выражение в естественном языке. По своему целевому назначению и использованию системы семантем могут разделяться на категории, например, грамматические семантемы 532, лексические семантемы 534 и классифицирующие грамматические (дифференцирующие) семантемы 536.
[000115] Грамматические семантемы 532 могут использоваться для описания грамматических свойств составляющих при преобразовании синтаксического дерева в семантическую структуру. Лексические семантемы 534 могут описывать конкретные свойства объектов (например, "being flat" (быть плоским) или "being liquid" (являться жидкостью)) и использоваться в описаниях глубинных позиций 520 как ограничение заполнителей глубинных позиций (например, для глаголов "face (with)" (облицовывать) и "flood" (заливать), соответственно). Классифицирующие грамматические (дифференцирующие) семантемы 536 могут выражать дифференциальные свойства объектов внутри одного семантического класса. В качестве иллюстративного примера в семантическом классе HAIRDRESSER (ПАРИКМАХЕР) семантема <<RelatedToMen>> (Относится к мужчинам) присваивается лексическому значению "barber" в отличие от других лексических значений, которые также относятся к этому классу, например, «hairdresser», «hairstylist» и т.д. Используя данные независимые от языка семантические свойства, которые могут быть выражены в виде элементов семантического описания, в том числе семантических классов, глубинных позиций и семантем, можно извлекать семантическую информацию в соответствии с одним или более аспектами настоящего изобретения.
[000116] Прагматические описания 540 позволяют назначать определенную тему, стиль или жанр текстам и объектам семантической иерархии 510 (например, «Экономическая политика», «Внешняя политика», «Юриспруденция», «Законодательство», «Торговля», «Финансы» и т.д.). Прагматические свойства также могут выражаться семантемами. В качестве иллюстративного примера прагматический контекст может приниматься во внимание при семантическом анализе.
[000117] На Фиг. 16 приведен пример лексических описаний. Лексические описания (203) представляют собой множество лексических значений 612 конкретного естественного языка. Для каждого лексического значения 612 имеется связь 602 с его независимым от языка семантическим родителем для того, чтобы указать положение какого-либо заданного лексического значения в семантической иерархии 510.
[000118] Лексическое значение 612 в лексико-семантической иерархии 510 может быть соотнесено с поверхностной моделью 410, которая в свою очередь через одну или несколько диатез 417 может быть соотнесена с соответствующей глубинной моделью 512. Лексическое значение 612 может наследовать семантический класс своего родителя и уточнять свою глубинную модель 512.
[000119] Поверхностная модель 410 лексического значения может включать одну или несколько синтаксических форм 412. Синтформа 412 поверхностной модели 410 может включать одну или несколько поверхностных позиций 415, в том числе соответствующие описания их линейного порядка 416, одно или несколько грамматических значений 414, выраженных в виде набора грамматических категорий (граммем), одно или несколько семантических ограничений, соотнесенных с заполнителями поверхностных позиций, и одну или несколько диатез 417. Семантические ограничения, соотнесенные с определенным заполнителем поверхностной позиции, могут быть представлены в виде одного или более семантических классов, объекты которых могут заполнить эту поверхностную позицию.
[000120] На Фиг. 17 схематически иллюстрируются примеры структур данных, которые могут быть использованы в рамках одного или более методов настоящего изобретения. Снова ссылаясь на Фиг. 10, в блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для построения лексико-морфологической структуры 722 согласно Фиг. 17. Лексико-морфологическая структура 722 может включать множество соответствий лексического и грамматического значений для каждой лексической единицы (например, слова) исходного предложения. Фиг. 11 схематически иллюстрирует пример лексико-морфологической структуры.
[000121] Снова возвращаясь к Фиг. 10, в блоке 215 вычислительное устройство может проводить грубый синтаксический анализ исходного предложения 212 для построения графа обобщенных составляющих 732 согласно Фиг. 17. Грубый синтаксический анализ предполагает применение одной или нескольких возможных синтаксических моделей возможных лексических значений к каждому элементу множества элементов лексико-морфологической структуры 722, с тем чтобы установить множество потенциальных синтаксических отношений в составе исходного предложения 212, представленных графом обобщенных составляющих 732.
[000122] Граф обобщенных составляющих 732 может быть представлен ациклическим графом, включающим множество узлов, соответствующих обобщенным составляющим исходного предложения 212 и включающим множество дуг, соответствующих поверхностным (синтаксическим) позициям, которые могут выражать различные типы отношений между обобщенными лексическими значениями. В рамках данного способа может применяться множество потенциально применимых синтаксических моделей для каждого элемента множества элементов лексико-морфологических структур исходного предложения 212 для формирования набора составляющих исходного предложения 212. Затем в рамках способа может рассматриваться множество возможных составляющих исходного предложения 212 для построения графа обобщенных составляющих 732 на основе набора составляющих. Граф обобщенных составляющих 732 на уровне поверхностной модели может отражать множество потенциальных связей между словами исходного предложения 212. Поскольку количество возможных синтаксических структур может быть относительно большим, граф обобщенных составляющих 732 может, в общем случае, включать избыточную информацию, в том числе относительно большое число лексических значений по определенным узлам и (или) поверхностных позиций по определенным дугам графа.
[000123] Граф обобщенных составляющих 732 может изначально строиться в виде дерева, начиная с концевых узлов (листьев) и двигаясь далее к корню, путем добавления дочерних составляющих, заполняющих поверхностные позиции 415 множества родительских составляющих, с тем чтобы были охвачены все лексические единицы исходного предложения 212.
[000124] В некоторых вариантах осуществления корень графа обобщенных составляющих 732 представляет собой предикат. В ходе описанного выше процесса дерево может стать графом, так как определенные составляющие более низкого уровня могут быть включены в одну или несколько составляющих верхнего уровня. Множество составляющих, которые представляют определенные элементы лексико-морфологической структуры, затем может быть обобщено для получения обобщенных составляющих. Составляющие могут быть обобщены на основе их лексических значений или грамматических значений 414, например, на основе частей речи и отношений между ними. На Фиг. 18 схематически иллюстрируется пример графа обобщенных составляющих.
[000125] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев 742 согласно Фиг. 17 на основе графа обобщенных составляющих 732. Для каждого синтаксического дерева вычислительное устройство может определить интегральную оценку на основе априорных и вычисляемых оценок. Дерево с наилучшей оценкой может быть выбрано для построения наилучшей синтаксической структуры 746 исходного предложения 212.
[000126] В ходе построения синтаксической структуры 746 на основе выбранного синтаксического дерева вычислительное устройство может установить одну или несколько недревесных связей (например, путем создания дополнительной связи среди, по крайней мере, двух узлов графа). Если этот процесс заканчивается неудачей, вычислительное устройство может выбрать синтаксическое дерево с условно оптимальной оценкой, наиболее близкой к оптимальной, и производится попытка установить одну или несколько недревесных связей в дереве. Наконец, в результате точного синтаксического анализа создается синтаксическая структура 746, которая представляет собой лучшую синтаксическую структуру, соответствующую исходному предложению 212. Фактически в результате отбора лучшей синтаксической структуры 746 определяются лучшие лексические значения 240 для элементов исходного предложения 212.
[000127] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может отражать передаваемую исходным предложением семантику в независимых от языка терминах. Семантическая структура 218 может быть представлена в виде ациклического графа (например, дерево, возможно, дополненное одной или более недревесной связью (дугой графа). Слова исходного предложения представлены узлами с соответствующими независимыми от языка семантическими классами семантической иерархии 510. Дуги графа представляют глубинные (семантические) отношения между элементами предложения. Переход к семантической структуре 218 может осуществляться с помощью правил анализа 460 и предполагает соотнесение одного или более признаков (отражающих лексические, синтаксические и (или) семантические свойства слов исходного предложения 212) с каждым семантическим классом.
[000128] На Фиг. 19 приводится пример синтаксической структуры предложения, сгенерированной из графа обобщенных составляющих, показанного на Фиг. 18. Узел 901 соответствует лексическому элементу "life" (жизнь) 906. Применяя способ описанного в настоящем документе синтактико-семантического анализа, вычислительное устройство может установить, что лексический элемент "life" (жизнь) 906 представляет одну из форм лексического значения, соотнесенного с семантическим классом "LIFE" (ЖИТЬ) 904 и заполняет поверхностную позицию $Adjunct_Locative 905) в родительской составляющей, представленной управляющим узлом Verb:succeed:succeed:TO_SUCCEED (907).
[000129] На Фиг. 20 приводится семантическая структура, соответствующая синтаксической структуре на Фиг. 19. В отношении вышеупомянутого лексического элемента "life" (жизнь) (906) на Фиг. 19 семантическая структура включает лексический класс 1010 и семантический класс 1030, соответствующие представленным на Фиг. 19, однако вместо поверхностной позиции (905) семантическая структура включает глубинную позицию "Sphere" (сфера_деятельности) 1020.
[000130] В соответствии с одним или несколькими аспектами настоящего изобретения вычислительное устройство, в котором реализованы описанные в настоящем описании способы, может индексировать один или несколько параметров, полученных в результате семантико-синтаксического анализа. Таким образом, способы настоящего изобретения позволяют рассматривать не только множество слов в составе исходного текстового корпуса, но и множество лексических значений этих слов, сохраняя и индексируя всю синтаксическую и семантическую информацию, полученную в ходе синтаксического и семантического анализа каждого предложения исходного текстового корпуса. Такая информация может дополнительно включать данные, полученные в ходе промежуточных этапов анализа, а также результаты лексического выбора, в том числе результаты, полученные в ходе разрешения неоднозначностей, вызванных омонимией и (или) совпадающими грамматическими формами, соответствующими различным лексико-морфологическим значениям некоторых слов исходного языка.
[000131] Для каждой семантической структуры можно создать один или несколько индексов. Индекс можно представить в виде структуры данных в памяти, например, в виде таблицы, состоящей из нескольких записей. Каждая запись может представлять собой установление соответствия между определенным элементом семантической структуры (например, одно слово или несколько слов, синтаксическое отношение, морфологическое, синтаксическое или семантическое свойство или синтаксическая или семантическая структура) и одним или несколькими идентификаторами (или адресами) случаев употребления данного элемента семантической структуры в исходном тексте.
[000132] В некоторых вариантах осуществления индекс может включать одно или несколько значений морфологических, синтаксических, лексических и (или) семантических параметров. Эти значения могут создаваться в процессе двухэтапного семантического анализа (более подробное описание см. в настоящем документе). Индекс можно использовать для выполнения различных задач обработки естественного языка, в том числе для выполнения семантического поиска.
[000133] Вычислительное устройство, реализующее данный способ, может извлекать широкий спектр лексических, грамматических, синтаксических, прагматических и (или) семантических характеристик в ходе проведения синтактико-семантического анализа и создания семантических структур. В иллюстративном примере система может извлекать и сохранять определенную лексическую информацию, данные о принадлежности определенных лексических единиц семантическим классам, информацию о грамматических формах и линейном порядке, информацию об использовании определенных форм, аспектов, тональности (например, положительной или отрицательной), глубинных позиций, недревесных связей, семантем и т.д.
[000134] Вычислительное устройство, в котором реализованы описанные здесь способы, может производить анализ, используя один или несколько описанных в этом документе способов анализа текста, и индексировать любой один или несколько параметров описаний языка, включая лексические значения, семантические классы, граммемы, семантемы и т.д. Индексацию семантического класса можно использовать в различных задачах обработки естественного языка, включая семантический поиск, классификацию, кластеризацию, фильтрацию текста и т.д. Индексация лексических значений (вместо индексации слов) позволяет искать не только слова и формы слов, но и лексические значения, т.е. слова, имеющие определенные лексические значения. Вычислительное устройство, реализующее способы настоящего изобретения, также может хранить и индексировать синтаксические и семантические структуры, созданные одним или несколькими описанными в настоящем документе способами анализа текста, для использования данных структур и (или) индексов при проведении семантического поиска, классификации, кластеризации и фильтрации документов.
[000135] На Фиг. 21 показан иллюстративный приме вычислительного устройства (1000), которое может исполнять набор команд, которые вызывают выполнение вычислительным устройством любого отдельно взятого или нескольких способов настоящего изобретения. Вычислительное устройство может подключаться к другому вычислительному устройству по локальной сети, корпоративной сети, сети экстранет или сети Интернет. Вычислительное устройство может работать в качестве сервера или клиентского вычислительного устройства в сетевой среде "клиент/сервер" либо в качестве однорангового вычислительного устройства в одноранговой (или распределенной) сетевой среде. Вычислительное устройство может быть представлено персональным компьютером (ПК), планшетным ПК, телевизионной приставкой (SТВ), карманным ПК (РDА), сотовым телефоном или любым вычислительным устройством, способным выполнять набор команд (последовательно или иным образом), определяющих операции, которые должны быть выполнены этим вычислительным устройством. Кроме того, в то время как показано только одно вычислительное устройство, следует принять, что термин «вычислительное устройство» также может включать любую совокупность вычислительных устройств, которые отдельно или совместно выполняют набор (или несколько наборов) команд для выполнения одной или нескольких методик, описанных в настоящем документе.
[000136] Пример вычислительного устройства (1000) включает процессор (502), основную память (504) (например, постоянное запоминающее устройство (ПЗУ) или динамическую оперативную память (DRAM)) и устройство хранения данных (518), которые взаимодействуют друг с другом по шине (530).
[000137] Процессор (502) может быть представлен одним или более универсальными вычислительными устройствами, например, микропроцессором, центральным процессором и т.д. В частности, процессор (502) может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с сокращенным набором команд (RISC), микропроцессор с командными словами сверхбольшой длины (VLIW), процессор, реализующий другой набор команд, или процессоры, реализующие комбинацию наборов команд. Процессор (502) также может представлять собой одно или несколько вычислительных устройств специального назначения, например, заказную интегральную микросхему (ASIC), программируемую пользователем вентильную матрицу (FPGA), процессор цифровых сигналов (DSP), сетевой процессор и т.п. Процессор (502) настроен на выполнение команд (526) для осуществления рассмотренных в настоящем документе операций и функций.
[000138] Вычислительное устройство (1000) может дополнительно включать устройство сетевого интерфейса (522), устройство визуального отображения (510), устройство ввода символов (512) (например, клавиатуру), и устройство ввода - сенсорный экран (514).
[000139] Устройство хранения данных (518) может содержать машиночитаемый носитель данных (524), в котором хранится один или более наборов команд (526), и в котором реализован один или более из методов или функций настоящего изобретения. Команды (526) также могут находиться полностью или по меньшей мере частично в основной памяти (504) и/или в процессоре (502) во время выполнения их в вычислительном устройстве (1000), при этом оперативная память (504) и процессор (502) также составляют машиночитаемый носитель данных. Команды (526) дополнительно могут передаваться или приниматься по сети (516) через устройство сетевого интерфейса (522).
[000140] В некоторых вариантах осуществления команды (526) могут включать в себя команды способа (100) классификации текстов на естественном языке уf на основе семантических признаков и/или способа вычисления параметров модели классификации. В то время как машиночитаемый носитель данных (524), показанный на примере на Фиг. 21, является единым носителем, термин «машиночитаемый носитель» должен включать один носитель или несколько носителей (например, централизованную или распределенную базу данных, и/или соответствующие кэши и серверы), в которых хранится один или более наборов команд. Термин "машиночитаемый носитель данных" также следует рассматривать как термин, включающий любой носитель, который способен хранить, кодировать или переносить набор команд для выполнения машиной, который заставляет эту машину выполнять любую одну или несколько из методик, описанных в настоящем раскрытии изобретения. Таким образом, термин «машиночитаемый носитель данных», помимо прочего, также относится к твердотельной памяти и оптическим и магнитным носителям.
[000141] Описанные в документе способы, компоненты и функции могут быть реализованы дискретными аппаратными компонентами, либо они могут быть интегрированы в функции других аппаратных компонентов, таких как ASICS, FPGA, DSP или подобных устройств. Кроме того, способы, компоненты и функции могут быть реализованы с помощью модулей встроенного программного обеспечения или функциональных схем аппаратных устройств. Способы, компоненты и функции также могут быть реализованы с помощью любой комбинации вычислительных средств и программных компонентов, либо исключительно с помощью программного обеспечения.
[000142] В приведенном выше описании изложены многочисленные детали. Однако специалисту в этой области техники благодаря этому описанию очевидно, что настоящее изобретение может быть реализовано на практике без этих конкретных деталей. В некоторых случаях хорошо известные структуры и устройства показаны в виде блок-схемы, а не детально, чтобы не усложнять описание настоящего изобретения.
[000143] Некоторые части описания предпочтительных вариантов реализации представлены в виде алгоритмов и символического представления операций с битами данных в памяти компьютера. Такие описания и представления алгоритмов представляют собой средства, используемые специалистами в области обработки данных, чтобы наиболее эффективно передавать сущность своей работы другим специалистам в данной области. В настоящем документе и в целом алгоритмом называется самосогласованная последовательность операций, приводящих к требуемому результату. Операции требуют физических манипуляций с физическими величинами. Обычно, хотя и не обязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и подвергать другим манипуляциям. Оказалось, что прежде всего для обычного использования удобно описывать эти сигналы в виде битов, значений, элементов, символов, членов, цифр и т.д.
[000144] Однако следует иметь в виду, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами, и что они представляют собой просто удобные метки, применяемые к этим величинам. Если иное специально и недвусмысленно не указано в нижеследующем обсуждении, следует принимать, что везде по тексту такие термины как "определение", "вычисление", "расчет", "вычисление", "получение", "установление", "изменение" и т.п., относятся к действиям и процессам вычислительного устройства или аналогичного электронного вычислительного устройства, которое работает с данными и преобразует данные, представленные в виде физических (например, электронных) величин в регистрах и памяти вычислительного устройства, в другие данные, аналогичным образом представленные в виде физических величин в памяти или регистрах вычислительного устройства, либо других подобных устройствах хранения, передачи или отображения информации.
[000145] Настоящее изобретение также относится к устройству для выполнения операций, описанных в настоящем документе. Такое устройство может быть специально сконструировано для требуемых целей или оно может содержать универсальный компьютер, который избирательно активируется или реконфигурируется с помощью компьютерной программы, хранящейся в компьютере. Такая компьютерная программа может храниться на машиночитаемом носителе данных, таком как, в числе прочих, диск любого рода, в том числе дискеты, оптические диски, компакт-диски, магнитно-оптические диски, постоянные запоминающие устройства (ПЗУ), оперативные запоминающие устройства (ОЗУ), СППЗУ, ЭППЗУ, магнитные или оптические карты и другие виды носителей данных, подходящие для хранения электронных команд.
[000146] Следует понимать, что вышеприведенное описание носит иллюстративный, а не ограничительный характер. Различные другие варианты осуществления станут очевидны специалистам в данной области техники после прочтения и понимания приведенного выше описания. Поэтому объем раскрытия должен определяться со ссылкой на прилагаемую формулу изобретения наряду с полным объемом эквивалентов, на которые такие требования предоставляют право.
Изобретение относится к извлечению информации из текстов на естественных языках. Техническим результатом является повышение точности сентиментного анализа текстов на естественном языке, осуществляемого на уровне аспектов текстов. В способе сентиментного анализа текстов на естественном языке выполняют синтактико-семантический анализ части текста на естественном языке для получения множества синтактико-семантических структур. Выполняют интерпретацию синтактико-семантических структур с помощью набора продукционных правил для обнаружения в части текста на естественном языке аспектного термина, представляющего аспект, связанный с целевой сущностью. Вычисляют с помощью характеристик текста, полученных при синтактико-семантическом анализе, значение функции классификатора для определения тональности, связанной с аспектным термином. Создают отчет, содержащий иерархический список аспектных терминов, включающих выявленные аспекты и тональности выявленных аспектов. Определяют с использованием обучающей выборки данных и подтверждающей выборки данных параметр функции классификатора, причем обучающая выборка данных включает обучающий текст на естественном языке, содержащий множество аспектных терминов. 3 н. и 11 з.п. ф-лы, 21 ил.
1. Способ сентиментного анализа текстов на естественном языке, включающий:
выполнение с помощью вычислительной системы синтактико-семантического анализа по меньшей мере части текста на естественном языке для получения множества синтактико-семантических характеристик, представляющих часть текста на естественном языке;
идентификация в части текста на естественном языке по меньшей мере одного аспектного термина, представляющего аспект, связанный с целевой сущностью, и по меньшей мере одной синтактико-семантической характеристики, ассоциированной с указанным по меньшей мере одним аспектным термином;
вычисление с помощью одной или более характеристик текста, полученных при синтактико-семантическом анализе, значения функции классификатора для определения тональности, связанной с аспектным термином;
создание отчета, содержащего один или несколько иерархических списков аспектных терминов, включающих выявленные аспекты и тональности выявленных аспектов; и
определение, с использованием обучающей выборки данных и подтверждающей выборки данных, по меньшей мере одного параметра функции классификатора, в котором обучающая выборка данных включает обучающий текст на естественном языке, содержащий множество аспектных терминов.
2. Способ по п. 1, отличающийся тем, что текст на естественном языке представляет собой множество отзывов потребителей о целевой сущности.
3. Способ по п. 1, отличающийся тем, что целевая сущность представлена, по меньшей мере, потребительским продуктом или услугой.
4. Способ по п. 1, отличающийся тем, что аспект представлен, по меньшей мере, характеристикой, или функцией, или компонентом целевой сущности.
5. Способ по п. 1, отличающийся тем, что аспектный термин содержит одно или несколько слов.
6. Способ по п. 1, отличающийся тем, что тональность, связанная с аспектом, принимает одно из следующих значений: негативная тональность, нейтральная тональность или положительная тональность.
7. Способ по п. 1, отличающийся тем, что функция классификатора представлена одним из следующих вариантов: линейный классификатор, классификатор на основе дерева прямых потомков, классификатор на основе случайного леса, классификатор на основе условных случайных полей (CRF), классификатор на основе латентного размещения Дирихле (LDA), классификаторы на основе метода опорных векторов (SVM) или классификатор на основе нейронных сетей.
8. Способ по п. 1, отличающийся тем, что область определения функции-классификатора содержит один из следующих вариантов: значение грамматического признака, характеризующего аспектный термин, значение синтаксического признака, характеризующего аспектный термин или значение семантического признака, характеризующего аспектный термин, где значение получается путем синтактико-семантического анализа.
9. Система сентиментного анализа текстов на естественном языке, содержащая: память; и
процессор, связанный с данной памятью, выполненный с возможностью:
выполнять синтактико-семантический анализ по меньшей мере части текста на естественном языке для получения множества синтактико-семантических структур, представляющих часть текста на естественном языке;
идентифицировать в части текста на естественном языке по меньшей мере один аспектный термин, относящийся к аспекту, связанному с целевой сущностью, и по меньшей мере одну синтактико-семантическую характеристику, ассоциированную с указанным по меньшей одним аспектным термином;
вычислять с помощью одной или более характеристик текста, полученных при синтактико-семантическом анализе, по меньшей мере одно значение функции классификатора для определения тональности, связанной с аспектным термином;
создавать отчет, содержащий один или несколько иерархических списков аспектных терминов, включающих выявленные аспекты и тональности выявленных аспектов; и
определять, с использованием обучающей выборки данных и подтверждающей выборки данных, по меньшей мере один параметр функции классификатора, где обучающая выборка данных включает обучающий текст на естественном языке, содержащий множество аспектных терминов.
10. Система по п. 9, отличающаяся тем, что аспект относится, по меньшей мере, к характеристике, или функции, или компоненту целевой сущности.
11. Система по п. 9, отличающаяся тем, что тональность, связанная с аспектным термином, может быть представлена одним из следующих значений: негативная тональность, нейтральная тональность или положительная тональность.
12. Система по п. 9, отличающаяся тем, что функция-классификатор представлена классификатором на основе метода опорных векторов (SVM).
13. Система по п. 9, отличающаяся тем, что процессор дополнительно имеет возможность:
определять с использованием обучающей выборки данных по меньшей мере один параметр функции классификатора, причем обучающая выборка данных включает обучающий текст на естественном языке, содержащий множество значений аспекта.
14. Постоянный машиночитаемый носитель данных, содержащий исполняемые команды, которые при выполнении вычислительной системой сентиментного анализа текстов на естественном языке побуждают вычислительную систему:
выполнять синтактико-семантический анализ по меньшей мере части текста на естественном языке для получения множества синтактико-семантических структур, представляющих часть текста на естественном языке;
идентифицировать в части текста на естественном языке по меньшей мере один аспектный термин, относящийся к аспекту, связанному с целевой сущностью, и по меньшей мере одну синтактико-семантическую характеристику, ассоциированную с указанным по меньшей мере одним аспектным термином;
вычислять с помощью одной или более характеристик текста, полученных при синтактико-семантическом анализе, значение функции классификатора для определения тональности, связанной с аспектным термином;
создавать отчет, содержащий один или несколько иерархических списков аспектных терминов, включающих выявленные аспекты и тональности выявленных аспектов; и
определять, с использованием обучающей выборки данных и подтверждающей выборки данных, по меньшей мере один параметр функции классификатора, где обучающая выборка данных включает обучающий текст на естественном языке, содержащий множество аспектных терминов.
МЕТОД АНАЛИЗА ТОНАЛЬНОСТИ ТЕКСТОВЫХ ДАННЫХ | 2014 |
|
RU2571373C2 |
Колосоуборка | 1923 |
|
SU2009A1 |
Многоступенчатая активно-реактивная турбина | 1924 |
|
SU2013A1 |
Способ приготовления лака | 1924 |
|
SU2011A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса | 1924 |
|
SU2015A1 |
Авторы
Даты
2018-06-08—Публикация
2016-07-28—Подача