На главную

Библиотека Интернет Индустрии I2R.ru

Rambler's Top100

Малобюджетные сайты...

Продвижение веб-сайта...

Контент и авторское право...

Забобрить эту страницу! Забобрить! Блог Библиотека Сайтостроительства на toodoo
  Поиск:   
Рассылки для занятых...»
I2R » И2Р Программы » Программирование » Общее в программировании

ХОЧУ!

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

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

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

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

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

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

Будь другом...

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

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

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

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

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

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

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

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

Видал?

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

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

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

Александр Бакулин
Софтерра

Другие разделы
C, C++
Java
PHP
VBasic, VBS
Delphi и Pascal
Новое в разделе
Базы данных
Общие вопросы
Теория программирования и алгоритмы
JavaScript и DHTML
Perl
Python
Active Server Pages
Программирование под Windows
I2R-Журналы
I2R Business
I2R Web Creation
I2R Computer
рассылки библиотеки +
И2Р Программы
Всё о Windows
Программирование
Софт
Мир Linux
Галерея Попова
Каталог I2R
Партнеры
Amicus Studio
NunDesign
Горящие путевки, идеи путешествийMegaTIS.Ru

2000-2008 г.   
Все авторские права соблюдены.
Rambler's Top100