Свежий номер №25 (402)  / Хочу!
 
Дата публикации: 03.07.2001

Александр Бакулин, virtcomm@au.ru

Вы можете ответить, чем обычный пользователь отличается от продвинутого? А продвинутый пользователь от программиста? Начинающий юзер просто не знает, чего ждать от «этого телевизора». Продвинутый уже подозревает обо всех проблемах, с ним связанных, а программист знает эти проблемы изнутри. В результате получается, что начинающий юзер компьютер обожествляет, продвинутый пользователь его очеловечивает, а программист видит в нем кучу железа.

При этом для всех трех категорий программы разрабатывает программист, вкладывая в них свое видение предмета или решение проблемы своими, удобными программисту методами. В то время как пользователю по мере роста его продвинутости все больше хочется других решений и других методов. Одни из этих продвинутых пользователей кричат «Windows must die!», другие становятся программистами, но… Став программистами и изучив API, они перестают быть пользователями - замкнутый круг.

Как его разорвать? Убить в себе программиста и стать юзером. А это, поверьте, не всегда просто, потому как мирно спящий в глубине души каждого программиста пользователь, просыпаясь, начинает неустанно орать: «Хочу!»

Каждый раз, открывая ссылку в новом окне Internet Explorer, мне приходится делать одно и то же действие - разворачивать новое окно на весь экран. Казалось бы, простое действие - почему бы системе не выучить его и остальные мои привычки, подобные этой? Хочу!

В организации, где я работаю, не прижилась привычка давать файлам понятные имена. И найти документ месячной давности - довольно трудная задача. Почему бы Word‘у не проиндексировать все созданные файлы и при открытии файла не предложить мне контекстный поиск? Хочу!

Я думаю, что продолжить вы можете сами…

Будь другом…

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

Мне хочется, чтобы программа ненавязчиво подсказывала мне, что я могу сделать в данной ситуации. Только не надо говорить мне про помощника-скрепку из «Офиса»! Даже в Редмонде признали, что эта «выскочка» никуда не годится, а тем более - не может давать нужных в данный момент советов.

Чтобы осуществлять такие подсказки, программа должна знать, что в ней происходит - не только на уровне внутренних механизмов, но и на уровне объектов, с которыми работает пользователь. Как это реализовать? Нужно встроить в операционную систему базу знаний. Эта база, скорее всего, будет представлять собой граф, в вершинах которого будут находиться некие понятия. В эти понятия будет входить их краткое описание, указываться, в каком контексте эти понятия употребляются, как могут пониматься в зависимости от обстановки, и другие подобные характеристики (возможно, на различных языках, что поможет сделать более осмысленную локализацию системы). Матрица связности такого графа тоже усложнится и будет состоять не из нулей и единиц, а из достаточно сложных структур, указывающих на контекстные и причинно-следственные связи. База не должна быть всеобъемлющей, ей достаточно включать в себя информацию об основах работы с компьютером и функциях операционной системы, а также необходимые знания о межличностном общении и упрощенной картине внешнего мира. Разумеется, база должна иметь открытую спецификацию и возможность расширения.

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

Что естественно, то не безобразно

Однако разве это естественно для человека - набирать текст, стуча по клавишам? Конечно, нет. Хочу говорить с этим телевизором на привычном языке. Хочу!

Как раз в этом случае компьютерная индустрия уже почти может нас порадовать. Чего стоит один Dragon Dictate 1. Говорят, что и в грядущий «Офис» должны встроить поддержку голосовых технологий, и тут наша гипотетическая база знаний придется как нельзя более кстати. Ведь от понимания контекста разговора точность распознавания увеличится, а поиск адекватного ответа упростится. Да и воспринимать человеческую речь тоже, как правило, приятнее, чем текст на экране. Правда, я так и не нашел ни одного приличного синтезатора речи, способного прочитать детскую сказку так, чтобы ребенку всю ночь не снились кошмары, - но это вопрос уже гораздо менее сложный технически.

Еще одной текущей проблемой является ввод нетекстовой информации: например, математических или химических формул. Приходится либо использовать сложную систему меню и панелей, либо набирать все по-старому в текстовой строке и долго-долго пытаться объяснить дуре-машине, как это все отформатировать. Таким образом, между ученым мужем (особенно преклонного возраста) и компьютером зачастую встает непреодолимый барьер. А ведь согласитесь, что для забивания гвоздя не нужно изучать процесс производства стали, внутреннее строение древесины и технологию производства молотка, - достаточно воспользоваться оным молотком, представляющим собою инструмент для решения определенного класса задач. Так почему же специалист, чтобы воспользоваться инструментом - в данном случае компьютером, - должен знать множество вещей, к конкретной задаче относящихся весьма опосредованно?

Видал?

Отдельная тема для разговора - распознавание визуальных образов. Несомненно, приятнее общаться с компьютером, если он понимает выражение твоего лица и в соответствии с этим воспринимает голосовые команды, определяя, шутка это или деловой тон 2.

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

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

[i40234]


1 (обратно к тексту) - Я не говорю здесь про «Горыныча». Эта система построена на старом ядре Dragon Dictate и должна понимать русский язык. Но после трех дней усиленного натаскивания смогла «понимать» только с десяток слов…
2 (обратно к тексту) - Эдак прийти к кому-нибудь в гости и пошутить: «А отформатируй-ка ты мне диск С:, дорогой!»


Александр Бакулин
virtcomm@au.ru
 


<<  И ты, root?
Все материалы номера
Валентин Турчин: "Проплыть между Сциллой и Харибдой"  >>