языке Лисп написаны многие ЭС (Mycin, Internist, Kee), системы естественно-языкового общения (Margie, Shrdlu, Дилос), интеллектуальные ОС (Flex).
Популярность Лиспа объясняется тем, что он с помощью довольно простых конструкций позволяет писать сложные и изящные системы обработки символьной информации. Правда все Лисп-системы имеют низкую вычислительную эффективность.
Существенной особенностью языка Лисп является то, что здесь "данные" и "программы" внешне ничем не отличаются друг от друга. Это дает возможность писать на Лиспе программы, манипулирующие не только "данными", но и "программами". Именно данное свойство позволяет Лиспу стать изящным средством программирования систем ИИ.
Язык программирования FRL (Frame Representation Language).
Относится к классу фрейм-ориентированных языков. Фрейм в FRL - это совокупность поименованных, ассоциативных списков, содержащая до пяти уровней подструктур. Подструктурами фреймов могут быть слоты, аспекты, данные, комментарии и сообщения.
Важным свойством FRL является наличие в нем встроенного механизма "наследования свойств". Т.е. все понятия предметной области в БЗ организовываются в виде иерархической классификационной системы, где каждое общее (родовое) понятие связывается с более конкретным (видом). Применяется механизм наследования свойств. На сегодняшний день большинство FRL-систем написаны на Лиспе.
Язык программирования Пролог.
Наиболее известные Пролог - системы: MProlog,CProlog, Prolog-2, Arity Prolog, Turbo Prolog, Strawberry Prolog. Пролог все чаще в последнее время стал привлекаться к разработке ЭС. Математической основой этого языка являются
исчисление предикатов преимущественно первого порядка, метод резолюций Робинсона, теория рекурсивных функций. За счет наличия большого набора встроенных предикатов язык Пролог можно отнести к универсальным языкам программирования и даже к языкам системного программирования. Важнейшей особенностью языка является наличие реляционной базы данных.
Язык программирования OPS.
Язык относится к числу продукционных. Являясь универсальным языком, он, в первую очередь, предназначен для разработки систем ИИ, и, в частности экспертных систем. Архитектура языка OPS типична для продукционных систем: база правил, рабочая память и механизм вывода. Отличительные черты семейства языков OPS: программное управление стратегией вывода решений, развитая структура данных и принципиальная эффективность реализации.
Язык программирования Рефал (рекурсивных функций алгоритмический язык).
Это машинно-независимый алгоритмический язык, ориентированный на так называемые "символьные преобразования": перевод с одного языка на другой, алгебраические выкладки и т.п. Рефал - универсальный метаязык для преобразования объектов языковой природы. Важнейшим приложением Рефала является его использование в качестве метаязыка для построения системных макрокоманд и специализированных языков. В качестве конкретных областей применения Рефала следует отметить, в частности, создание специализированных языков общения с ЭВМ, автоматическую генерацию программ, перенос программ на языки высокого уровня и их адаптацию при переходе от одного типа ЭВМ к другому.
Проблема выбора программных инструментальных средств вызывает бурные дискуссии между сторонниками специализированных языков ИИ и традиционных языков высокого уровня. Над решением данной проблемы работает целый ряд компаний, специализирующихся на ИИ и коммерческих ЭС, а также большинство крупных фирм по производству ЭВМ.
Системы речевого общения
В системах ЕЯ-общения обычно предполагается, что в качестве средства общения используется текст или письменная речь. Поэтому в системах ЕЯ-общения под текстом понимается орфографический текст (как пишется), а в системах речевого общения (СРО) используется фонемный текст (как слышится). В СРО решаются задачи преобразования «текст - речевой сигнал» (синтезатор речи) и «речевой сигнал - текст» (анализатор речи). Синтез речи - это возможность обработки текстовой или числовой информации, согласно установленным правилам произношения для конкретного языка, и преобразование ее в синтезированный голос, по восприятию близкий к человеческому. Анализ речи - это распознавание отдельных слов или слитной человеческой речи, с последующим ее преобразованием в текст либо последовательность команд.
В настоящее время появляется много интересных разработок в области СРО. Одна из таких разработок - системы синтеза речи Sakrament text-to-speech engine компании «Сакрамент» (Mинск, Беларусь, http://www.sakrament.com), созданные с использованием собственных уникальных алгоритмов обработки звука, что позволило добиться высокого качества звучания синтезируемой речи и максимально приблизить компьютерную речь к человеческой. Эти системы синтеза речи ориентированы на применение в качестве голосовых информаторов в онлайновых телефонных информационных и справочных службах, всевозможных программных приложениях, Интернет-сервисах, бытовых и промышленных приборах и т.д. Система распознавания речи Sakrament Speech Recognition Engine выделяется хорошим качеством распознавания речи, низкой себестоимостью, а также возможностью дальнейшей модификации и настройки. Основная область применения - создание программ, управляющих действиями компьютера или другого электронного устройства с помощью голосовых команд, а также при организации телефонных справочных и информационных служб.
В целом вопросом синтеза речи занимается в настоящее время большое число исследовательских групп, каждая из которых создает в конечном итоге свой программный продукт. «Клуб голосовых технологий» МГУ и фирма ПРОМТ создали «Magic Goody», компания Microsoft - Speech SDK, AT&T Германского исследовательского центра искусственного интеллекта - Verbmobil. Ведутся разработки также в Бийском технологическом институте совместно с Томским университетом систем радиоуправления и радиоэлектроники; в «Центре речевых технологий» г.С-Петербург; в компании «Истра-софт» г.Истра и других коллективах и компаниях
Системы машинного перевода
TRANSLATION MEMORY (ТM)
ТМ – это база данных, где хранятся выполненные переводы. Технология ТМ работает по принципу накопления: в процессе перевода в ТМ сохраняется исходный сегмент (предложение) и его перевод. При обработке нового текста, поступившего на перевод, система сравнивает каждое его предложение с сохраненными в базе сегментами. Если идентичный или подобный исходному сегмент найден, то перевод этого сегмента отображается вместе с переводом и указанием совпадения в процентах. Слова и фразы, которые отличаются от сохраненного текста, выделяются подсветкой. Таким образом, переводчику остается перевести только новые сегменты и отредактировать частично совпадающие. Каждое изменение или новый перевод сохраняются в ТМ. А в результате нет необходимости дважды переводить одно и то же предложение.
С другой стороны, при работе с крупными проектами переводчик сталкивается с проблемой согласованного применения терминологического глоссария в ходе длительного проекта или быстрого повторного использования ранее переведенного текста. По своей природе подобные рутинные задачи сравнительно легко (в отличие от машинного перевода) формализуются и программируются.
Каждая запись базы данных ТМ представляет собой единицу (предложение или абзац) параллельных текстов (как правило, на двух языках). Такая база данных хранит предыдущие переводы с целью их возможного повторного использования и решения задач быстрого поиска по содержимому. Несмотря на то что программы, оснащенные памятью перевода, называются системами автоматизированного перевода (CAT, computer-aided/assisted translation), их не следует путать с программами машинного перевода (machine translation) – память перевода ничего не переводит сама по себе, в то время как машинный перевод основан на генерации переводов по результатам грамматического разбора исходного текста.
Как правило, запись памяти перевода состоит из двух сегментов: на исходном (source) и конечном (target) языках. Если идентичный (или похожий) сегмент на исходном языке встречается в тексте, сегмент на конечном языке будет найден в памяти перевода и предложен переводчику в качестве основы для нового перевода. Автоматически найденный текст может быть задействован как есть, отредактирован или полностью отвергнут. Большинство программ используют алгоритм нечеткого соответствия (fuzzy matching), существенно улучшающий их функциональные возможности, поскольку в этом случае можно находить предложения, лишь отдаленно напоминающие искомые фразы, но, тем не менее, пригодные для последующего редактирования.
Преимущества от использования такого программного обеспечения поначалу могут быть неочевидны – однако по мере наполнения базы данных результаты автоматической подстановки основ для перевода будут становиться все более точными и регулярными.
Архитектура автоматизированной системы и ее функциональные возможности могут различаться. Средства поиска могут работать как с целыми сегментами, так и с отдельными словами или фразами, позволяя переводчику выполнять терминологический поиск. В систему также включают отдельную программу для работы с глоссарием, содержащим утвержденные для применения в проекте термины. Некоторые системы работают с программами машинного перевода. Основной рабочий интерфейс либо встраивается непосредственно в имеющийся текстовый процессор, такой как Word, либо представляет собой отдельный редактор. В состав системы обязательно включают фильтры для импорта-экспорта файлов различных форматов. Кроме того, многие системы, если не все, имеют средство для добавления в память перевода сегментов из, как правило, имеющихся у переводчика старых переведенных файлов.
То, что применимо к понятию «обучение языку», применимо и к «Translation Memories».
• «Пустая» система запоминает термины и предложения.