Архивы: по дате | по разделам | по авторам

Идеальные программы

АрхивОфисные приложения (архив)
автор : Юлий Феодоритов   30.01.2001

Как добиться совершенства или нужен ли разум текстовому редактору?

Программисты в массе своей - люди особого сорта, перфекционисты. Они одержимы манией совершенства. Примечателен контраст - снаружи программист может выглядеть лохматым, небритым и с натруженными руками в мозолях от пивных кружек, но внутри каждого из них скрывается ангелоподобное существо, напоминающее "Кружевницу" с картины В.А. Тропинина, - вот так же оно нанизывает кружева операторов, чтобы явить миру чудо красоты своих программ. Иначе зачем, скажите на милость, создаются все новые и новые версии freeware-продуктов, причем автор иногда спрашивает на весь Интернет - присвоить ли очередной версии номер 1.52бис или сразу замахнуться на 2.0?

Манию совершенства можно реализовать двумя путями - добавляя все новые и новые функции к уже созданному продукту (это магистральная исхоженная дорога), либо подтягивая программу к предельно совершенному образцу - идеалу. Именно на втором пути встает вопрос об идеальной программе.

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

В чем здесь дело?

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

Сыроежин разработал метод предельной мобилизации ресурсов, который назвал несколько необычно: "От ПИРа к РЕКОРДу" (по свидетельству лидера фирмы ТРИЗ-ШАНС И.Л. Викентьева, похожая идея для технических систем была предложена еще в 20-30-х годах авиаконструктором Р. Бартини, а в 50-х - отцом ТРИЗ Г.С. Альтшуллером).

Вот схема этого метода: 1) рассматриваются абсолютные (лучшие из известных) ограничения по каждому из факторов; 2) на их основе вырабатывается ПИР - практически идеальное решение; 3) по каждому из факторов устанавливается предел достижения при полной концентрации имеющихся и привлеченных ресурсов только на нем; 4) наиболее близкий к ПИР предел выбирается за основу первого РИР-1 - работоспособного идеального решения; 5) для РИР-1 рассчитываются потребные ресурсы, оценивается превышение потребности над наличием; 6) вносятся коррективы в решения по каждому из факторов с учетом ограниченности ресурсов и синтезируется РИР-2, снова производится суммарная оценка ресурсов и т.д., пока не будет найдено такое распределение ресурсов, при котором все они будут применены с пользой, а общее отступление от ПИР будет минимально; 7) полученное в итоге решение оформляется как РЕКОРД - рекомендуемая организация дела.

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

Попробуем применить этот метод к текстовым редакторам. В настоящее время насчитывается около 100 программ, предназначенных для ввода и обработки текстов. Эти программы группируются в три весовых категории - 1) редакторы-гиганты и издательские системы, наподобие Word-2000, Page Maker или Лексикон 5.0 XL, 2) реакторы попроще - WordPad, Hieroglyph Морозова, Crypt Edit Ульянова, Squall Pro Гондарева, "Эверест" Люлина и др., 3) самые простые и легкие, но давно превзошедшие стандартный NotePad от Микрософта - Aditor Pro Кижнермана, Rpad32 Рябова, bred2 Егорова, Baikal Азаргаева и др.

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

Такое эволюционное развитие текстовых редакторов привело к появлению разрывов между современными методами осмысления и синтеза текстов и теми инструментальными возможностями, которые предлагают даже самые большие программные комплексы. Современные программы ориентированы на оформление текстов, приведение их в соответствие с нормами языка и полиграфическими требованиями, а не на содействие человеку, размышляющему над текстами. Если взять Word, то там есть два исключения, впрочем, только подтверждающие убогость общей картины - Word может предлагать синонимические подстановки слов и работать с электронной структурой документа. Но кто пользуется этими функциями? - Да никто!

Чтобы сформулировать представление об идеальном текстовом редакторе, нам придется обратиться к моделям языкового мышления.

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

  1. Всякий текст имеет два плана - план содержания (смысловая модель) и план выражения (модель оформления смысла в системе знаков). Идеальный текстовый редактор должен давать пользователю оперировать и тем, и другим планом в их взаимосвязи. Нетрудно заметить, что нынешние программы оперируют только с планом выражения. Практикуемые иногда гипертекстовые оглавления, размещаемые сразу под заголовком, - первый робкий шажок в этом направлении.
  2. Информация, передаваемая текстом, предполагает наличие у читателя каких-то изначальных знаний, обращаясь к которым автор конструирует смысловые модели. Соответственно, в плане содержания различают тему (то, что заранее известно участникам коммуникации) и рему (то новое, что автор текста вносит в тему). Важно, что автор текста стремится минимизировать изложение темы, чтобы не повторять уже известное читателям. Иногда он ограничивается упоминанием темы в заголовке, а весь текст посвящает реме. В популярных текстах, ориентированных на несведущую аудиторию, тема излагается достаточно подробно. Но идеальный текстовый редактор не должен ориентировать автора на занижение интеллектуального уровня и профессиональной компетенции читательской аудитории, а, напротив, на повышение этого уровня. Это значит, что редактор должен быть оснащен справочным аппаратом, в который автор может прятать знания по теме, и из которого читатель при необходимости мог бы восполнять знания, которых ему недостает для понимания ремы. Пока лишь мы можем, подражая печатной литературе, давать сноски к примечаниям внизу страницы или в конце текста, но это же позапрошлый век! Сейчас, когда многотомную энциклопедию можно многократно разместить на HDD, - где справочные модули по тематике, подключаемые к текстовому редактору, где библиотеки таких модулей, доступные для каждого читателя в Интернете? Ничего этого пока нет.
  3. План выражения обладает собственной гармоничной завершенностью, которая описывается понятием "стиль". Стиль отражает особенности словарного запаса автора, привычные ему обороты и даже ограничения объема смысловой модели, которую автор способен изложить без повторов. Статобработкой текста как системы знаков можно установить авторскую принадлежность текста, степень подобия стилям других авторов и даже культурный уровень и мировоззренческую ориентацию автора. Но еще важнее другое - для различных проблемных ситуаций есть свои уместные стили коммуникаций, позволяющие эти ситуации разрешать. О.Розеншток-Хюсси, исходя из самых общих отношений "прошлое-будущее" и "внутреннее-внешнее", различал 4 обобщенных типа кризисов. Отношению "внутрь-вовне" соответствует пара бедствий "анархия-война", отношению "прошлое-будущее" - пара "упадок- революция ". Стили, позволяющие разрешать эти кризисы, - соответственно, лирический, логический, драматический, эпический. Идеальный текстовый редактор должен быть способен автоматически проводить статобработку текстов и распознавать соотношение хотя бы этих четырех базовых стилей, с тем чтобы автор мог оценивать стиль своего изложения на предмет его соответствия рассматриваемой проблемной ситуации. Если взглянуть, что в этой области делается, то можно отметить ЛингвоАнализатор Хмелева, способный при наличии достаточной статистической базы устанавливать авторство текстов, и систему поиска по триадам Геллера, который построил типологию предикативных определений (комбинации существительного, прилагательного и глагола в предложении) в связи с мировоззренческой ориентацией автора. Эти проекты можно расценить лишь как первые подступы к статистическому анализу стиля текста.
  4. В отдельный принцип необходимо вынести положение, прямо не вытекающее из моделей языкового мышления, но отражающее общую тенденцию развития интерфейсов любых программ. Бесспорно, что каждое новое поколение программных комплексов (типа MS Office) все более и более насыщается интеллектуальными функциями. Это утверждение может быть воспринято как банальность - вот, редакторы стали проверять орфографию, потом грамматику, потом предлагать синонимы и т.п. Но с позиций идеала предельно заострим постановку вопроса. Речь идет об оснащении интерфейсов программ, редакторов в том числе, функциями усиления интеллекта пользователей. Это увеличение объема оперативной памяти человека за счет размещения на экране большого числа смысловых единиц и их образного оформления. Это ускорение смысловой обработки текстов путем автоматизации ряда операций - от калькулятора до автоматического реферирования. Это переход от шаблонов текстов к эвристикам - эффективным методам синтеза текстов общего и специального профиля. Данный перечень функций отнюдь не является исчерпывающим и служит иллюстрации положения, что интеллект можно так же усиливать, как рычаг увеличивает прилагаемую силу. Эти функции пока отсутствуют в текстовых редакторах. Только наиболее продвинутые авторы программ включают в редактор калькулятор. Но есть несколько интеллектуальных утилит, которые восполняют вакуум в этой области. Это TheBrain (редактор ассоциативных пространств), TextAnalyst (статтезаурус и смысловые срезы)  [1], Фильтратор и BibleQuote (смысловые срезы), эвристические программы фирмы ТРИЗ-ШАНС (приемы синтеза текстов).

Обсуждение статьи - в форуме "Обсудим "СофтТерру"


[1] - Эти программы были подробно описаны здесь (прим.ред.)
[обратно к тексту]

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

На этом можно было бы закончить настоящую заметку, но чтобы не выглядеть безответственным резонером, выдвигающим непомерные требования к работягам-программерам (в своем почтении к ним я уже объяснялся), обозначу возможные способы подтягивания современного уровня программ к идеалу и сопоставлю им уже имеющиеся прецеденты.

Работа со "смысловыми срезами"

Дайте пользователю возможность производить накопительную загрузку файлов. В этом режиме меню "Открыть" мы можем путешествовать по директориям и выбирать файлы, текст которых добавляется в накопительное окно (фактически, создается новый файл, с которым работает редактор).

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

Подступы к работе со смысловыми срезами можно посмотреть на следующих примерах: BibleQuote4.0, Фильтратор, TextAnalyst.

Работа с "картой смыслов"

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

Что это дает? ГИГАНТСКИЕ возможности. Первое - восполнение смыслов. Если образ правильно составлен, и текст правильно размечен, то на карте вы видите не только все содержание текста, но и потенциально возможное, но нереализованное поле смыслов (на этом зиждется эвристический эффект морфологической таблицы). Второе - включение образного мышления при работе с текстами. Хочу подчеркнуть: "карта смыслов" - это не иллюстрация, а полноценный партнер текста. Автор ли при написании, читатель ли при проработке текста - и тот, и другой получают дополнительный инструмент фиксации и развития мысли.

Единственный пример, который удалось найти в этой области (ау, кто еще знает?) - Локатор в программе Лоцман 3.0. Но есть очень удачные редакторы блок-схем, только пока, к сожалению, чисто оформительские - без гиперссылок на тексты (см. RFFlow).

Работа с "конфигуратором"

Текстовый файл при работе в режиме "конфигуратора" (термин, введенный В.А.Лефевром в конце 60-х годов) представляет собой многооконный документ, в котором смысловые единицы в различных окнах связаны между собой гипертекстовыми ссылками. При этом желательно, чтобы пользователь мог открывать на экране одновременно несколько окон, и при помещении курсора в помеченный абзац (либо при выделении метки, если в данном окне открыта схема или рисунок) на всех открытых окнах появлялись абзацы, связанные гиперссылками с помеченным, либо подсвечивались метки, к которым ведут гиперссылки от абзаца.

Режим конфигуратора позволяет реализовать массу интереснейших методик. 1. Мы получаем возможность работать над текстом в режиме диалога с самим собой или даже полилога, что существенно усиливает творческие способности. 2. Читатель может концентрировать содержание сразу по нескольким задачам, разводить хвалебные и ругательные реплики, не теряя при этом связи с контекстом. 3. Загрузив в окна несколько источников и устанавливая смысловые связи между фрагментами текстов, мы получаем инструмент соотнесения семантических пространств для синтеза интегральных смыслов. При этом в некоторых окнах могут находиться "карты смысла", что облегчает синтез. 4. Конфигуратор дает пользователю виртуальную среду, в которой тот сможет разместить свои абстрактные идеи и идеальные образы, чтобы затем насыщать их конкретным материалом. Метод предельной концентрации ресурсов И.М.Сыроежина или знаменитый в философии со времен Гегеля метод восхождения от абстрактного к конкретному - песни из этого концерта.

Единственный пример, который удалось найти в этой области (кто-нибудь знает другие?) - опять же Лоцман 3.0. В этой программе смысловой единице можно присваивать несколько "статусов", каждый из которых обеспечивает жизнь этой единице в соответствующем смысловом поле.

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

Обсуждение статьи - в форуме "Обсудим "СофтТерру"

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.