История отечественной вычислительной техники

История разработки системы речевого управления интеллектуальным роботом

Аннотация. Описываются основные этапы и результаты проекта, направленного на создание системы речевого управления интеллектуальным роботом. В этом проекте, выполнявшемся в 1997–1999 гг., участвовали Институт систем информатики им. А.П. Ершова СО РАН (ИСИ СО РАН, Новосибирск), Российский НИИ искусственного интеллекта (РосНИИ ИИ, Москва – Новосибирск) и германский Институт прикладных систем обработки знаний (FAW, Ulm). В докладе представлена архитектура системы речевого управления интеллектуальным роботом и схема ее функционирования. Система состоит из следующих компонентов: подсистемы речевого ввода, лингвистического процессора, транслирующего команды на английском языке в формальное представление, робота и синтезатора речи, озвучивающего его сообщения. Подсистема речевого ввода построена на основе промышленного программного пакета распознавания речи IBM ViaVoice. Для синтеза речи использована стандартная программная компонента Microsoft Concatenated Text-to-Speech Engine. Лингвистический процессор построен с помощью инструментальной системы Lingua-F. В экспериментах, проводимых в российских институтах, робот моделировался симулятором, реализованным средствами интегрированной программной среды Semp-TAO.

Ключевые слова: интеллектуальный робот, система речевого управления, команды на естественном языке, анализ речи, синтез речи, лингвистический процессор, симулятор робота.

Введение

В декабре 1997 г. Российский институт искусственного интеллекта (РосНИИ ИИ) и лаборатория искусственного интеллекта Института систем информатики им. А.П. Ершова СО РАН (ЛИИ ИСИ) начали работу над проектом, одна из целей которого – разработка прототипа системы речевого управления интеллектуальным роботом. Коллективы РосНИИ ИИ и ЛИИ ИСИ имели достаточный опыт в понимании запросов на естественном языке и моделировании поведения технических устройств, но приступить к решению проблемы речевого управления роботом они смогли только в конце 90-х годов прошлого века, когда появились промышленные системы распознавания речи и партнер – германский Институт прикладных систем обработки знаний (FAW, Ulm), заинтересованный в решении этой проблемы и готовый предоставить приемлемое финансирование.

Следует напомнить, что разработка технологии автоматического понимания естественного языка традиционно являлась одним из главных направлений исследований ЛИИ ИСИ и РосНИИ ИИ. К этому времени широкую известность и признание в области автоматической обработки естественного языка получили разработанные в этих коллективах технологии и системы РИТА [1], СТЕНД [2], ЗАПСИБ [3, 4], InterBASE [5], LinguaF [6], Snoop [7] , Aura [8] и др., созданные в русле этого направления. Речевой ввод сообщений, который в те годы становился элементом пользовательского рынка, придал новый импульс работам по созданию естественно-языковых (ЕЯ) интерфейсов. С одной стороны, использование микрофона вместо клавиатуры делало естественный язык действительно естественным средством общения и значительно повышало шансы ЕЯ-интерфейсов войти в разряд продуктов программного рынка. С другой стороны, качество и надежность распознавания речи весьма существенно зависели от вовлечения в этот процесс лингвистического, семантического, прагматического и других уровней обработки пользовательского сообщения. Таким образом, многочисленные наработки коллективов РосНИИ ИИ и ЛИИ ИСИ стали востребованными в указанном контексте.

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

Значительной поддержкой данного проекта явился контракт, заключенный РосНИИ ИИ с Германским Исследовательским институтом прикладных систем обработки знаний (FAW, г. Ульм). Контекстом контракта стал исследовательский проект, выполняемый рядом организаций Германии по гранту Национального научного фонда Германии. Важнейшим компонентом проекта было создание в FAW комплексной демонстрационной системы на основе реального технического устройства – SMART Demonstrator (http://www.uniulm.de/SMART/ Demonstrator/). Выбор английского языка для экспериментов диктовался, прежде всего, наличием надежных средств распознавания английской речи. Используемая в проекте технология обработки текстовых сообщений гарантировала, что в дальнейшем работы по данному проекту могли быть спроецированы на русский язык, что позволяло надеяться на перспективу отечественных внедрений.

В докладе представлена архитектура системы речевого управления интеллектуальным роботом и схема ее функционирования. Дается подробное описание мира, в котором действует робот, способностей робота и языка управления им. Приводятся характеристики реализации основных компонентов системы.

1. Архитектура и функционирование системы

Задача управления роботом при помощи устных команд на естественном языке распадается на следующие подзадачи:

  • распознавание речи,
  • естественно-языковую обработку текста команды,
  • выполнение команды и соответствующую модификацию мира робота,
  • визуализацию результатов выполнения команды,
  • генерацию ответа робота и преобразование его в речевое сообщение.

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

Кроме разработки и настройки отдельных модулей, каждый из которых отвечает за решение своей подзадачи, необходимо также связать их в единую систему, обеспечив их взаимодействие друг с другом. Основная сложность заключается в том, что такая система должна действовать по замкнутому циклу: прием команды, ее анализ и исполнение, а затем переход к режиму приема новой команды.

Для того, чтобы обеспечить выполнение перечисленных выше требований, разработанная система речевого управления интеллектуальным роботом включает следующие компоненты:

  • подсистему речевого ввода, состоящую из микрофона, звуковой платы и программного распознавателя речи;
  • лингвистический процессор, получающий от распознавателя речи текст команды, выраженной на естественном (английском) языке и переводящий ее в формальное представление;
  • исполнитель команд (робота);
  • синтезатор речи, озвучивающий сообщения робота.

Подсистема речевого ввода была построена на основе промышленной программной системы IBM ViaVoice (http://www.software.ibm.com/is/voicetype/), которая после необходимой настройки дала вполне удовлетворительные результаты. Для синтеза речи использовалась стандартная программная компонента Microsoft Concatenated Text-to-Speech Engine (http://www.research.microsoft.com/research/srg/). Поскольку эти системы не поддерживают русский язык, то общение с роботом проходило на английском языке. Лингвистический процессор построен с помощью инструментальной системы Lingua-F [6], в которой использован предложенный А.С. Нариньяни семантически-ориентированный подход к анализу текстов на естественном языке [3, 10]. В настоящей версии подсистема исполнения команд и среда для эмуляции мира робота были реализованы средствами интегрированной программной среды представления и обработки знаний SemP-TAO [11, 12].

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

Рис. 1. Функциональная схема системы

Рис. 1. Функциональная схема системы

2. Интеллектуальный робот и управление им

Рассмотрим характеристики и способности робота, являющегося объектом управления, «мир» робота, а также язык управления им.

2.1 Мир робота и его способности

Предполагается, что мир робота включает несколько комнат, в которых могут находиться различные объекты. Сам робот в этом мире также является объектом.

В мире робота выделяются такие классы объектов, как мебель и оборудование.

Мебель – это объекты, имеющие форму параллелепипеда или цилиндра. Они характеризуются координатами центра, размерами, цветом, весом, мобильностью и др. В этом классе выделяются еще три подкласса: столы, стулья, кресла.

Оборудование кроме тех свойств, которыми обладает мебель, имеет свои особенные свойства: подключено/не подключено, марка устройства и т.п

Робот в модели мира рассматривается не только как объект, но и как субъект. Как объект робот характеризуется теми же свойствами, что и оборудование. Как субъект, он обладает некоторыми способностями, о которых будет сказано ниже.

Отношения служат в основном для задания взаимного расположения объектов, например: слева, справа, снизу, сверху, внутри и т.д.

Робот действует в окружающем мире, который находится в определенном состоянии. В состоянии мира можно выделить такие части как каркас, состояния объектов и отношения между объектами. Каркас образуют неперемещаемые объекты (комнаты) и отношения между ними. Состояние объекта – это конкретный набор значений его характеристик. Объекты также могут находиться в каких-либо отношениях между собой. Таким образом, каркас – это неизменяемая часть мира, а состояния объектов и отношения между ними – та часть мира, которую робот может изменять.

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

Этим функциям соответствует набор операторов. Выделяется два уровня операторов. Первый уровень образуют операторы, доступные пользователю. Именно их он использует для формирования задания роботу. Второй уровень составляют операторы, реализующие операторы первого уровня.

Операторами первого уровня являются: Принеси, Отнеси, Перемести, Перейди, Где_находится, Что_находится. Второй уровень образуют следующие операторы: Найди, Возьми, Освободи, Поставь, Сообщи.

Для каждого оператора имеется своя операторная схема, которая определяет условия, порядок и результаты выполнения оператора.

2.2 Формальный язык управления роботом

На основе описанных выше операторных схем разработан формальный язык управления роботом, получивший название FOROL (FOrmal RObot Language). Он включает операторы WhereIs, GO и MOVE. Аргументами этих операторов могут быть объекты и комнаты.

Описание объекта в языке имеет вид:

OBJECT(name: <name of object>, color: <color of object>), где <name of object> – название объекта, <color of object> – цвет объекта (может быть не задан).

Описание комнаты в языке FOROL имеет вид:

ROOM( number: <number of room>), где <number of room> – целое число, обозначающее номер комнаты.

Рассмотрим синтаксис и семантику основных операторов языка.

Оператор WhereIs имеет вид:

WhereIs(what: object, where: room), здесь object – описание объекта, местоположение которого необходимо установить или подтвердить, а room – описание комнаты.

В операторе WhereIs один или оба аргумента могут быть неопределенными. В связи с этим семантика оператора WhereIs зависит от того, какие аргументы заданы, а какие нет. Рассмотрим каждый случай отдельно.

Если задан только первый аргумент, то выполнение оператора WhereIs состоит в поиске объекта object с указанными характеристиками и выдаче сообщения о том, где он находится. В случае неудачи выдается соответствующее сообщение.

Если задан только второй аргумент, то выдаются характеристики всех объектов, находящихся в комнате room.

В случае, если не заданы оба параметра, выдаются характеристики всех объектов, находящихся в той же комнате, что и робот.

Оператор GO имеет вид:

GO( to: room), где room – описание комнаты, в которую роботу нужно переместиться.

Оператор MOVE имеет следующий синтаксис:

MOVE( what: object, from: room1, to: room2), где object – описание предмета, который необходимо переместить из комнаты room1 в комнату room2.

В операторе MOVE обязательным является только первый аргумент. Любой из остальных аргументов может отсутствовать. Заметим также, что в качестве названия предмета в аргументе what не должно использоваться значение Robot.

Семантика оператора MOVE, как и WhereIs, зависит от того, какие аргументы заданы. Так, если заданы все три аргумента, предмет object перемещается из комнаты room1 в комнату room2. В случае, когда заданы только аргументы what и from, предмет object перемещается из комнаты room1 в комнату, в которой находится в данный момент робот. Когда заданы только аргументы what и to, предмет object должен быть найден и перемещен в комнату room2. Если задан только аргумент what, предмет object должен быть найден и перемещен в комнату, в которой находится робот.

Во всех вариантах оператора MOVE в случае его неудачного выполнения выдается соответствующее сообщение. Например: "The green chair is not found", "There is no room 20", "The computer is already in room 5!" и т.д.

2.3 Получение формального представления команды

В описываемой системе перевод команды оператора в формальное представление на языке управления роботом FOROL осуществляет лингвистический процессор (ЛП). ЛП представляет состоит из двух компонентов: словаря и продукционного компонента, который переводит поступающую ему на вход естественно-языковую фразу в заданное выходное представление.

Существует два типа обращений к роботу: директива и вопрос. При анализе фразы слова, входящие в нее, подразделяются на значимые, т.е. оставляющие след в формальном представлении, и незначимые, игнорируемые при разборе.

Значимой лексикой в обращениях к роботу являются глаголы, задающие перемещения предметов и обозначающие передвижения робота, глаголы и вопросительные слова, задающие поиск объекта, существительные, обозначающие объекты, числительные, задающие номера комнат, прилагательные, обозначающие свойства объектов, а также некоторые предлоги.

Семантика естественно-языковых обращений полностью определяется семантикой формального языка управления роботом. Например, с помощью слов указанных типов можно составлять команды, имеющие следующую структуру: «Идти в ...», «Перенести что-то из ... в ...», а также задавать вопросы «Где, в какой комнате находится ..». и пр. Порядок и количество компонентов команды, а также слов в рамках каждой компоненты не являются строго фиксированными. Правила анализа и синтеза текста составлены таким образом, чтобы оператор практически не ощущал языковых ограничений при подаче команд.

Приведем примеры различных запросв и соответствующих им формальных представлений.

Сначала рассмотрим директивы, которые по глаголу, входящему в них, делятся на типы MOVE и GO:

а) В директиве типа MOVE "Transport the blue armchair from the first room to room number 4!" допустима перестановка локативных компонентов: "... to room number 4 from the first room".

Кроме того, эта директива будет разобрана правильно, если ее сформулировать с эллипсисом, т.е. пропуском слов "room number": "Transport the blue armchair from the first room to 4!". Во всех случаях ей соответствует следующее формальное представление:

MOVE (what: OBJECT (name: armchair, color: blue), from: ROOM (number: 1), to: ROOM (number: 4));

б) Совершенно прозрачный перевод имеет директива типа GO, например "Go to the second room!": GO (to: ROOM (number: 2)).

Распознаются также вопросы о месте расположения различных предметов, либо о наличии предметов в указанном месте:

а) Вопрос к системе "Where is the robot?" человеку, для которого робот является одушевлённым предметом и, более того, партнёром общения, естественно задать в форме "Where are you?". Его формальный вид будет:

WhereIs (what: OBJECT (name: robot));

б) Наряду с вопросом о роботе, можно спросить о любом предмете "Whereistheredbox?" или "Whatplaceistheredboxlocatedin?".

Директива "Find/Searchtheredbox!" трактуется как косвенный вопрос о месте расположения предмета: WhereIs (what: OBJECT (name: box, color: red));

в) Вопросы о наличии предметов в комнате, где находится робот "What is (located) here / there / in this room?" переводятся в:

WhereIs (what: ?, where: ? );

г) Вопросы о наличии каких-либо предметов в указанном месте "Issomethinginroom 5?", "Whatislocated / situatedinroom 5?" имеют следующее формальное представление: WhereIs (what: ?, where: ROOM(number: 5) );

д) Альтернативный вопрос "Is the computer in room number 2?" переводится в: WhereIs (what: OBJECT (name: computer), where: ROOM(number: 2) ).

3. Моделирование робота

В экспериментах по отладке системы речевого управления вместо робота использовался его симулятор, реализованный с помощью интегрированной программной среды Semp-TAO [11, 12]. Эта среда предназначена для разработки интеллектуальных систем, в том числе требующих описания сложных по структуре и семантике предметных областей и сочетания логического вывода и вычислений над неточно заданными значениями. Все понятия предметной области, правила вывода и визуализатор состояний написаны на объектноориентированном языке представления и обработки знаний этой среды.

3.1 Описание модели мира робота

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

Для описания таких геометрических объектов вводится наиболее общее понятие фигура, которому в языке Semp-TAO соответствует класс SHAPE:

class SHAPE
  x, y : integer;
  left, right, top, bottom: integer;
end;

Здесь x, y – координаты центра фигуры, а left, right, top, bottom – координаты ее границ.

На основе класса SHAPE строятся классы CIRCLE и RECTANGLE. Например, описание класса RECTANGLE имеет вид:

class RECTANGLE( SHAPE )
  length, width: integer;
constraints
  length = bottom - top;
  width = right - left;
  left = x - width/2;
  right = x + width/2;
  top = y - length/2;
  bottom = y + length/2;
end;

Класс RECTANGLE имеет два дополнительных параметра length и width (длина и ширина) и множество ограничений, связывающих значения этих параметров с координатами центра и границ прямоугольника.

На основе класса RECTANGLE строится класс ROOM:

class ROOM( RECTANGLE )
  number: integer;
  door : atom(Open,Close):=Open;
  locs: tuple of OBJECT;
end;

Класс ROOM служит для описания комнаты. У комнаты есть номер (number) и дверь (door). Для простоты визуализации объектов, находящихся внутри комнаты, она разбивается на так называемые «локи» (locs) – геометрические места, в которых могут располагаться объекты.

Для представления всех объектов мира вводится абстрактный класс OBJECT:

class OBJECT
  name: atom;
  color: Object_Color;
  bmp : TImage;
  loc: RECTANGLE;
end;

Класс OBJECT имеет общие для всех объектов характеристики, такие как: имя (name), цвет (color) и размер (size). Для задания геометрических характеристик объекта и указания его местоположения в пространстве вводится специальный параметр loc, значением которого является прямоугольник, в который вписан объект. Кроме того, с каждым объектом связывается его графический образ (bmp), в виде которого объект будет отображаться на экране.

Кроме объектов вводится отношение INSIDE, указывающее, что некоторый объект находится в определенной комнате. Заметим, что это декларативное отношение также имеет и вычислительную интерпретацию, т.е. включает набор ограничений, связывающих пространственные характеристики двух объектов, один из которых находится в другом:

relation INSIDE( what: OBJECT; into: SHAPE )
  antiref, antisym;
constraints
  what.loc.left >= into.left;
  what.loc.right <= into.right;
  what.loc.top >= into.top;
  what.loc.bottom <= into.bottom;
end;

Вводится также отношение NEXT, которое задает порядок обхода комнат роботом:

relation NEXT( from: ROOM, to: ROOM );

В частности, это отношение говорит о том, что после осмотра комнаты, указанной в качестве первого аргумента, нужно перейти в комнату, на которую указывает второй аргумент.

3.2 Симуляция действий робота

Для симуляции действий робота служит система правил-продукций, которые реализуют операторные схемы робота. Эта система правил-продукций обрабатывает команды, поступающие на вход симулятора, редактирует и отображает на экране монитора план-схему (см. Рис.2) и выдает соответствующие сообщения.

Интерфейс с пользователем

Рис. 2. Интерфейс с пользователем

Все множество правил разбито на шесть групп, каждая из которых отвечает за определенный вид или этап обработки задания. Первая группа правил ($Do) распознает тип команды и подготавливает ее исполнение. Каждая из остальных групп правил соответствует одной или нескольким близким по семантике операторным схемам. Так, вторая группа правил ($Where) обеспечивает выдачу ответов на вопросы типа "Где находится компьютер?". Третья группа ($Go) выполняет перемещение робота, четвертая ($Move) – перемещение объекта. Пятая группа ($Find) осуществляет поиск нужного объекта. Шестая группа ($Draw) автоматически размещает объекты внутри комнаты и рисует план-схему на экране.

Во время исполнения некоторых групп правил могут вызываться другие группы. Так, группа правил $Where во время своей работы всегда вызывает группу правил $Find для нахождения необходимого объекта. Последняя, в свою очередь, может вызвать группу $Go. При работе группы правил $Move также могут инициализироваться вызовы групп правил $Find и $Go.

Чтобы дать представление о том, как работает система правил-продукций, рассмотрим несколько правил из группы $Find.

Первое из них имеет вид:

rule GoIni
exist
  $find: FIND( what: OBJECT(name: $name, color: $color), where: ? ),
  $last: LAST( where: $room1 ),
  NEXT( from: $room1, to: $room2 )
not
  WAS( where: $room2 )
=>
  delete $last;
  new GO ( to: $room2);
  call $Go;
end;

Это правило инициализирует перемещение робота в комнату ($room2), в которой он еще не был (на это указывает подобразец not WAS( where: $room2 )), в случае неудачного поиска в текущей комнате ($room1). Это осуществляется путем генерации команды GO(to:$room2) и вызовом соответствующей группы правил (call $Go).

Второе правило:

rule NotFound
exist
  $find: FIND( what: OBJECT(name: $name, color: $color), where: ? ),
  $last: LAST( where: $room1 ),
  NEXT( from: $room1, to: $room2 ),
  WAS( where: $room2 )
=>
  Say( "The " + $color + " " + $name + " is not found!");
  delete $last;
end;

соответствует ситуации, когда искомый объект не обнаружен ни в одной из комнат. (В комнате $room1 объекта нет, а в $room2 и во всех остальных комнатах робот уже был, о чем говорит наличие в сети объекта WAS( where: $room2)). Сообщение о том, что объект не обнаружен, озвучивается синтезатором речи, который вызывается с помощью функции Say.

Заключение

Представленная в докладе система речевого управления роботом была реализована в полном объеме и прошла тестирование, показавшее ее устойчивую работу на большом количестве тестовых команд. Отметим, однако, что подсистема распознавания речи, являлась довольно чувствительной к аппаратуре и требовала тщательной настройки на предметную область и конкретного пользователя.

Использование интегрированной объектно-ориентированной среды SemP-TAO позволило естественным образом представить в системе мир робота, специфицировать и реализовать расширяемый формальный язык управления роботом, а также обеспечить визуализацию состояний мира и удобный пользовательский интерфейс. Семантически-ориентированный подход и развитые средства обработки естественно-языковых текстов инструментальной системы Lingua-F обеспечили быструю разработку надежного лингвистического процессора, выполняющего в системе функцию перевода команд робота в формальное представление.

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

Список литературы

  1. Ершов А.П., Мельчук И.А., Нариньяни А.С. РИТА – экспериментальная система взаимодействия с ЭВМ на естественном языке // Тр. 4-й Междунар. объедин. конф. по искусств. интеллекту. Т. 6. Общение с ЭВМ на естественном языке, Тбилиси, 3–8 сент. 1974 г. – М.: ВИНИТИ, 1975. – С. 6.10–6.19.
  2. Левин Д.Я. СТЕНД - комплекс для конструирования и адаптации лингвистических процессоров. // Вопросы разработки прикладных систем. -Новосибирск, 1979. -С.78-92.
  3. Нариньяни А.С. Лингвистические процессоры ЗАПСИБ. Часть I – задачи проекта. – Новосибирск, 1979. – (Препринт / ВЦ СОАН СССР, № 199.)
  4. Нариньяни А.С. Лингвистические процессоры ЗАПСИБ. Часть II – общие схемы и основные модули. – Новосибирск, 1979. – (Препринт / ВЦ СОАН СССР, № 202.)
  5. Диненберг Ф.Г., Кучин С.И., Трапезников С.П. INTERBASE- система конструирования ЕЯ-интерфейса к dBASE III PLUS// Искусственный интеллект-90: Труды 2-й Всесоюзной конференции: секционные и стендовые доклады. - Минск, 1990. - Т.2. - С. 161-163.
  6. Диненберг Ф.Г., Трапезников С.П. Система технологической поддержки конструирования естественно-языковых интерфейсов // Тез. докл. I Всесоюзн. конф. по искус. интел. -Переславль-Залесский, 1988.- Т. 3.- С. 194-199.
  7. Sharoff S. A System for Development of Linguistic Processors. SNOOP. In Proc. of EWAIC-93, Moscow, 1993, pp. 184-188.
  8. Kononenko I., Sharoff S. Understanding Short Texts with Integration of Knowledge Representation Methods // Perspectives of System Informatics (Proc. of Andrei Ershov Second Intern. Conf. PSI'96). –Novosibirsk, June 25–28, 1996. – P.43–47.
  9. Narin'yani A.S. Intelligent Software Technology for the New Decade // Communs of the ACM. – Vol. 34, Iss. 6, – P.60–67 (1991).
  10. Левин Д.Я., Нариньяни А.С. Экспериментальный минипроцессор: семантически-ориентированный анализ // Взаимодействие с ЭВМ на естественном языке. – Новосибирск, 1978. – С.223–233.
  11. Загорулько Ю.А., Попов И.Г., Щипунов В.В. Интегрированная технологическая среда для создания систем обработки знаний // РАН. Известия Академии наук. Теория и системы управления. – 1995. – № 5. – С.210–213.
  12. Загорулько Ю.А., Попов И.Г. Представление знаний в интегрированной технологической среде Semp-TAO // Проблемы представления и обработки не полностью определенных знаний. – Москва-Новосибирск, 1996. – С.59–74.

Об авторе: Институт систем информатики им. А.П. Ершова СО РАН, Новосибирск
zagor@iis.nsk.su

Материалы международной конференции SORUCOM 2011 (12–16 сентября 2011 года)
Статья помещена в музей 09.10.2012 с разрешения автора