5.3.6.7. Искусственный интеллект и задача поиска в Интернете
Тематики исследований в двух крупных направлениях информатики - области искусственного интеллекта и Интернете - сближаются. Методы искусственного интеллекта все в большей степени ориентируются на задачи практического применения, а Интернет стремится к более сложным приложениям, требующим интеллектуального поведения.
Многие методы и приемы искусственного интеллекта нашли применение в конкретных проблемных областях. Перечислим лишь некоторые направления, которые могут с успехом применяться для разработки Интернет-приложений.
Обработка естественного языка.
Извлечение информации из баз данных.
Экспертные консультирующие системы.
Понятие онтология было введено в искусственный интеллект Томом Грубером [Gruber 1993], как спецификация концептуализации. Подобно формальным спецификациям программных продуктов, онтология - это описание концептов и связей между ними. Предполагалось, что онтологии будут использованы исключительно для облегчения взаимодействия интеллектуальных агентов. Затем понятие онтологии было расширено. В частности, иерархическая структура классов в объектно-ориентированном программировании представляет собой онтологию.
Большую роль в сборе информации о существующих ресурсах Интернета играют сетевые роботы, являющиеся интеллектуальными агентами. Они, начиная с некоторого множества ссылок на страницы в сети Интернет, рекурсивно обходят ресурсы, извлекая ссылки на новые ресурсы из полученных документов, до тех пор, пока не будет выполнено некоторое условие остановки. Уточним понятия агента и интеллектуального агента.
Агент - сущность, находящаяся в некоторой среде, от которой она получает данные, отражающие происходящие в этой среде события. Агент интерпретирует данные и исполняет команды, которые воздействуют на среду.
Интеллектуальный агент - программно или аппаратно реализованная система, обладающая следующими свойствами:
автономность - способность функционировать без вмешательства человека;
общественное поведение - способность функционировать в сообществе с другими агентами;
реактивность - способность своевременно отвечать на изменения окружающей среды;
проактивность - способность агента брать на себя инициативу.
В настоящее время исследование применимости идей искусственного интеллекта к среде Интернет ведется в различных направлениях [Mahalingam, Huhns 1997].
Обработка поисковыми машинами запросов на естественном языке. Система получает запрос на естественном языке, с помощью грамматических и лингвистических правил сопоставляет запрос с информацией в Интернете. Удачным примером такой системы является Япс1ех (http://www.yandex.ru/). В ней независимо от того, в какой форме употреблено в запросе слово, поиск учитывает все его формы по правилам русского языка.
Продукционно-эвристическое распознавание естественного языка. Системы, развивающиеся в этом направлении, как правило, являются узкопрофильными и предназначены для выполнения очень узко сформированных целей или обработки ограниченных областей данных. Пример системы - FAQFinder (http://www.infolab.nwu.edu/faqfinder/).
Автоматическое наполнение базы знаний. Это и следующее направления используют агентную технологию. Данное направление реализовано в интеллектуальном браузере WebWatcher (http://www.cs.cmu.edu/afs/cs.cmu.edu/project/theo-6/web-agent/www/project-home.html).
Использование эвристических правил для установки приоритета. Это направление реализовано в другом интеллектуальном браузере - Letizia (http://lcs.www.media.mit.edu/people/lieber/Lieberary/Letizia/Letizia-Intro.html).
Направление нейронных сетей. Основой здесь являются сети искусственных нейронов и других аналогичных конструкций, присущих нервной системе человека, в которых протекают психические процессы, опирающиеся на физиологический и биохимический уровни. Пример реализации этого направления - система работы со знаниями - Autonomy (http://www.autonomy.com/).
Принцип разделяемых знаний. Реализуется в виртуальных группах, т. е. организациях и рабочих коллективах людей, которые работают и общаются между собой в интерактивном режиме. Знакомство с такого рода системами можно начать с AJMS (http://aims.parl.com/About-AIMS.html).
Экспериментальные системы интеллектуального поиска используют одновременно мощь существующих поисковых систем и элементы искусственного интеллекта для отбора и анализа извлеченной из Интернета информации [Холчева 1999]. Поисковая система по запросу пользователя обращается на крупнейшие поисковые серверы. Полученные ссылки сортируются. Анализируются html-файлы, расположенные по этим адресам. Пользователю предлагаются выдержки из текста документов, отражающие результаты поиска.
Каждый пользовательский запрос, прежде всего, преобразуется в дизъюнктивную форму со строго определенным порядком следования логических операций. Приоритеты операций расставлены следующим образом (табл. 5.1).
Таблица 5.1. Приоритеты логических операций
Приоритет | Обозначение | Назначение |
0 | "" | Поиск по точному соответствию |
1 | ! | Исключение лексемы |
2 | & | Логическое И |
| | | Логическое ИЛИ |
Текстовый редактор предполагает возможность фильтрации и сортировки логических абзацев. Сортировка может производиться по следующим принципам:
по релевантности логических абзацев;
по приоритету документов;
по рассматриваемым поисковым серверам;
по частоте появления документа на серверах;
по заголовкам документов.
Таким образом, на вход генератора итогового документа подается набор логических абзацев со списками атрибутов. Синтезировать отчет можно в нескольких формах, различающихся порядком следования логических абзацев, с предоставлением пользователю возможности переключаться из одного режима в другой.
- 5. Системы программирования
- 5.1. Введение в системы программирования
- 5.1.1. Основные понятия и определения
- 5.1.2. История и эволюция
- 5.1.2.1. Некоторые важные даты
- 5.1.2.2. Основные этапы в формировании состава систем программирования
- 5.1.2.3. История развития системы программирования компании Borland Inc. На базе языка Pascal
- 5.1.3. Классификация
- 5.1.3.1. Классификация по ориентации на поддержку процессов
- 5.1.3.2. Функциональная классификация
- 5.1.3.3. Классификация по категориям
- 5.1.3.4. Классификация по предоставляемому интерфейсу
- 5.1.4. Проблемы и перспективы развития
- 5.1.5. Рекомендации по литературе
- 5.2. Процесс-ориентированный инструментарий
- 5.2.1. Возникновение и исследование идеи
- 5.2.2. Управление
- 5.2.2.1. Системы управления проектами
- 5.2.2.2. Организационные средства
- 5.2.2.3. Средства оценки качества
- 5.2.3. Анализ требований и проектирование
- 5.2.3.1. Системы на основе структурной методологии
- 5.2.3.2. Системы на основе объектно-ориентированной методологии
- 5.2.4. Программирование (реализация)
- 5.2.4.1. Трансляторы
- 5.2.4.2. Компиляторы
- 5.2.4.3. Системы генерации трансляторов
- 5.2.4.4. Системы анализа корректности программного кода
- 5.2.4.5. Интерпретаторы
- 5.2.4.6. Декомпиляторы
- 5.2.4.7. Усложнители декомпиляции (шифраторы, обфускаторы)
- 5.2.4.8. Системы управления компиляцией и построением программ
- 5.2.5. Тестирование и отладка
- 5.2.5.1. Тестовые мониторы
- 5.2.5.2. Средства отслеживания тестового покрытия
- 5.2.5.3. Средства динамического построения профиля программы
- 5.2.5.4. Системы построения срезов программы
- 5.2.5.5. Отладчики
- 5.2.5.6. Системы отслеживания проблем (ошибок)
- 5.2.6. Ввод в действие
- 5.2.7. Сопровождение
- 5.2.8. Завершение эксплуатации
- 5.3. Универсальный инструментарий
- 5.3.1. Инструменты работы с текстом
- 5.3.1.1. Средства, базирующиеся на регулярных выражениях
- 5.3.1.2. Средства поиска различий
- 5.3.1.3. Средства поиска на основе шаблонов
- 5.3.1.4. Обозреватели и базы данных программ
- 5.3.1.5. Средства обнаружения плагиата
- 5.3.1.6. Текстовые редакторы
- 5.3.1.7. Синтаксически-ориентированные редакторы
- 5.3.1.8. Гипертекстовые средства
- 5.3.2. Системы документирования
- 5.3.3. Системы разработки интерфейсов
- 5.3.4. Системы управления базами данных
- 5.3.5. Системы управления базами знаний и экспертные системы
- 5.3.5.1. Системы искусственного интеллекта
- 5.3.5.2. Механизмы выводов на знаниях
- 5.3.5.3. Неточный вывод на знаниях
- 5.3.6. Электронные библиотеки и инструментарий Интернета
- 5.3.6.1. Парадигма усиления информации
- 5.3.6.2. Профессиональный поиск информации
- 5.3.6.3. Проблемы работы с информационными ресурсами Интернета
- 5.3.6.4. Коллекции информационных ресурсов в Интернете
- 5.3.6.5. Базы данных в Интернете
- 5.3.6.6. Краткая история поисковых средств Интернета
- 5.3.6.7. Искусственный интеллект и задача поиска в Интернете
- 5.4. Инструментарий поддержки процессов некоторых технологических подходов
- 5.4.1. Системы формального преобразования и верификации программ
- 5.4.2. Средства сборочного программирования
- 5.5. Инструментальные системы
- 5.5.1. Инструментальные среды программирования
- 5.5.2. Средства автоматизации разработки программ (case-средства)
- 5.5.3. Интегрированные среды
- 5.5.4. Репозитории проекта
- 5.6. Средства поддержки коллективной разработки
- 5.6.1. Системы разделения файлов
- 5.6.1.1. Система управления версиями файлов
- 5.6.1.2. Система управления пространствами
- 5.6.1.3. Система синхронизации удаленных пространств
- 5.6.2. Системы поддержки работы виртуальных групп
- 5.7. Естественно-языковый интерфейс
- 5.7.1. Диалоговые системы
- 5.7.2. Вопросно-ответные системы
- 5.7.3. Автоматизированные обучающие системы и системы контроля знаний
- 5.7.4. Системы искусственного интеллекта