Pull to refresh

Несовершенство обычного текста как носителя информации

Reading time10 min
Views1.3K
Речь, какой мы её знаем, безусловно необходима, более того — она видится наилучшим на данном этапе развития средством обмена информацией между людьми. Лучше неё может быть только телепатический обмен мыслями, которым мы пока не владеем (хотя некоторые говорят, что уже не владеем). Однако с развитием IT, появлением компьютеров и интернета у нас появились гораздо большие возможности по организации нашего общения. Но мы по-прежнему продолжаем использовать старый добрый текст (как и я сейчас), либо речь (skype). Принципиально нового ничего не появилось, а если и появилось, то используется в каких-то отдельных организациях и обособленными группами людей, широкие же массы почему-то делают это по-старинке. Это проблема номер один.

Вторая проблема, о которой хочу поведать, это проблема сохранения, систематизации и удобного доступа к полученной в интернете информации. Не знаю как лично вы, хабровчане, но я много времени провожу в интернете, часы ежедневно. Я выиискиваю где намеренно, где случайно огромное количество полезной и потенциально полезной для меня информации. И если в первом случае предпринимаю ряд шагов для сохранения этой информации, то во втором мне зачастую просто лень заниматься этим занятием и мне приходится надеяться, что мозг сохранит эту инф-ию и так. В моём распоряжении есть программа иерархического сохранения информации (на самом деле десятки их, но я предпочёл одну бесплатную) — CherryTree. В этой программе строю деревья, например: software->OS->Linux->useful_commands и в листе этого дерева «копипастом» сохраняю то что меня интересует. Однако это для текста, обычные же ссылки просто кидаю в «закладки» Firefox'а. До переезда на Linux, под Windows, я ко всему прочему использовал ещё и CyberArticle — платную прогу для сохранения частей web-страниц (с картинками и прочим).
Этот подход неудобен (поиск информации среди нескольких программам медленнее, чем в одной), не гибок, не оптимален да и не особо эффективен, но лучшего я не нашёл. И именно эта тупиковая ситуация сподвигла меня на данные измышления, представленные выше и ниже.

Я задумался, по сути из знакомых мне методов удобного сохранения и упорядочивания информации можно отметить лишь таблицы и иерархические структуры. Замечу, что под «информацией» я понимаю: текст(1..N символов, с поддержкой разметки при отображении) либо ссылки на любые файлы лежащие где-то на диске. Для меня важно, чтобы автоматически сохранялась статистическая информация: откуда и когда взята та или иная «копипаста»/картинка, кто её автор, в каком контексте она присутствовала изначально и прочее. К сожалению ни одна из найденных мною программ полностью функциями в требуемом объёме не располагает. С этого момента уже начинает вырисоваться образ программы, которая бы заполнила эту нишу: иерархическая структура, удобное сохранение частей веб-страниц, поддержка упорядочивания и систематизации (древовидная иерархия+теги, лучшего придумать пока не могу), автоматическое сохранение статистической информации, удобный «умный» поиск.

Именно такие мысли у меня были вплоть до осознания существования первой проблемы (напомню, что только что мы говорили о второй). Первая проблема заключается в несовершенстве текста как средства обмена информации между людьми в интернете. А именно: каждый из нас, изучая какую-то предметную область, какое-либо знание по особому укладывает информацию в своей голове. О работе мозга я знаю мало, но из того, что представляю о нём: каждый новый осознанный объект/факт мозг пытается увязать с тем, что ему уже известно. Уместить нечто абсолютно новое вот прямо так без связи с остальным невозможно. Связь должна быть. Наверняка мозг разбивает объект на основные составляющие: форму, цвет (информация от глаз), издаваемый объектом звук (информация от ушей), запах, фактуру, температуру и пр. поступившее ему от органов чувств. Каждый из этих признаков укладывается в соответствующую зону мозга, между ними возникают связи, говорящие о том, что это единый объект, прокидывается дополнительная ссылка на место в памяти, которое позволяет понять, когда именно мы с этим встречались, также каждый из признаков привязывается к уже ранее существовавшим признакам других объектов, так что мы легко можем назвать все известные нам предметы красного цвета, либо холодные по температуре, так как придя в соотв. область мозга («красный цвет» либо «холодный на ощупь») по ссылкам оттуда быстро найдём все необходимое.

Почему бы такой же подход не реализовать в программе для хранения информации? Простейший вариант такой сети — двумерный, в плоскости, и ссылками и элементами одного типа уже реализован в программах типа Диаграмма связей (mind map). Но такие софтины расчитаны больше на накидывание простеньких диаграмм для легкого изучения какой-либо области и упрощения запоминания. Хочется приспособить их для полноценного хранения многих мегабайт разнообразной текстовой информации, что, безусловно, налагает на реализацию подобных программ определённые требования.

Однако у подобного подхода мне видится ещё одно потенциальное преимущество. Представьте, что один человек владеет какой-либо предметной областью, например хорошо разбирается в Linux/*BSD или освоил Adobe Premiere и умеет монтировать ролики (для простоты затрагиваю лишь околокомпьютерные темы). Сейчас этот человек, если он желает поделиться знаниями, пишет статьи, уроки, примеры, руководства на форуме/в блоге. И это хорошо, что пишет. Но проблема в том, что написание текста требует от человека известных мыслительных затрат и усилий. Выражение своих мыслей в текстовой форме даётся всем по-разному и для некоторых представляет собой долгий мучительный процесс. Также возникает проблема отсутствия стандартов на размещение подобной информации и тут уж кто во что горазд… Вдобавок ко всему отнюдь не каждый заморачивается приятным и удобным дизайном сайта и на просторах интернета можно встретить всякое (да, сейчас уже реже, нежели годами ранее)…
Одним словом: сплошные проблемы как для желающего поделиться информацией, так и для желающего её воспринять. Я достаточно любознателен и в своей время интересовался многими темами, от захвата видео с аналоговой камеры и видеомонтажа до программирования, так что со всем этим знаком не понаслышке.
Очевидно, что именно старый добрый обмен информацией через текст становится бутылочным горлышком современного информационного обмена.

А представьте теперь ситуацию с использованием программы для предложенного выше подхода к организации инф-ии. Знающий предметную область человек (назовём его автор) уже изначально, для себя любимого, организует свои данные в виде этой… сети (на язык так и просится «нейронной сети», но это название уже занято за классом алгоритмов искусственного интеллекта) и пользуется ей самостоятельно долго и счастливо. Но если наступает момент, когда он хочется поделиться знанием (поделись ты знанием своим… и оно к тебе не раз ещё вернётся), он не рожает в мучениях сайт с гайдами, он «лёгким движением курсора» просто открывает доступ к своей сети (а точнее к её части) и любой желающий получить эту информацию (назовём его подписчик), просто загружает эту ветвь к себе и интегрирует в свою сеть с последующей синхронизацией и обновлением меняющихся узлов и связей. Разумеется всё это — максимально просто и одновременно прозрачно для пользователя, не сложнее, чем пользоваться современной социальной сетью.

Решаются проблемы:
  • Самое главное: подписчик получает доступ не к определенной части представленной в текстовом виде информации, которая никогда не бывает на 100% отображающей изначальный объём знаний автора: так как автор не может взглянуть на собственное руководство глазами человека, не знакомого с предметной областью, ему просто неведомо, что он что-то важное случайно не договорил и не пояснил. Можно привести пример с покраской забора вторым слоем краски: будучи красильщиком трудно понять покрасил ли ты вновь вот это самое место или ещё нет. Подписчик же получает доступ к сети автора и это для него практически то же самое, что и получить доступ к авторскому мозгу! Он формирует запросы к этой сети и извлекает срезы информации в любой интересующей его форме. Если ему надо по-быстрому сделать что-то, он запрашивает самый короткий пошаговый гайд, минимальный набор действий, которые надо выполнить для достижения желаемого результата. Если он хочет разобраться подробнее — запрашивает всё во всех подробностях и в удобной лично для своего восприятия форме.
  • Подписчик получает информацию, представленную в виде, который зависит только от настроек его программы. Цвет, шрифт, фон — всё задаёт он сам и в итоге любые знания из любых источников выглядят одинаково и привычно.
  • Информация обладает 100% актуальностью (за исключением нескольких секунд на синхронизацию). Все эти авторские «на выходных освобожусь и выложу информацию на сайт» уходят в прошлое.
  • Легко и интуитивно подписчику править и дополнять полученную информацию (так как дело по сути происходит в его собственной сети), а также, в свою очередь, самому становиться автором для других
  • Можно решить проблему языкового барьера! Действительно переводить отдельные узлы сети (которые представляют собой атомарные слова или фразы) гораздо проще, нежели компьютером парсить «полноценный» текст. Также при переводе для повышения его качества можно анализировать связи между элементами сети.

Таким образом решаются обе заявленные в начале сего трактата проблемы. Я уже вижу интернет, в котором подобные сети распространены среди обычных людей также, как сейчас популярны сети социальные. Хорошо это или плохо, но в основном уйдут в прошлое сайты с руководствами по той или иной тематике, сайты уникальные, но запутанные, своеобразные, в которых сразу и не разберёшься. Уйдут форумы (часто администраторы налагают на движки форумов не только функции общения между людьми — для чего форумы и были созданы, — но также и сборники гайдов, сборники новичку непонятные, размазанные по разделам, заполненные темами с заголовками «ЧИТАТЬ ПЕРЕД ПОСТИНГОМ!», закрытые с единственным сообщениям. Уйдут в прошлое негатив админов, модераторов и просто старожил, которые гнобят новичков, которые с наскока не разобрались в хитросплетениях исторически наслоившихся, дублирующих друг друга и противоречащих один другому разделов, тем, комментариев, рейтингов и прочего прочего...)

Вероятно такие сайты внешне освободятся от нагромождений руководств и инструкций, они скроются из глаз, растворятся в сетях. Сайт ближайшего будущего будет сплошь целиком и полностью заполнен лишь общением людей между собой, аналогом современных форумов или блогов. Наверху у каждого сайта, как сейчас узнаваем значок RSS, будет виднеться знак «сети». У каждого пользователя, как сейчас стоит ссылка на ICQ или соц. сеть будет ссылка на свою сеть…

С точки зрения реализации представляются следующие особенности и моменты:
  • Проблема: синхронизация узлов при соединении двух сетей (или их частей). В идеале предполагается, что узел «компьютер» одного человека будет соответствовать узлу «компьютер» другого человека и просто сольётся с ним в единое целое. Однако это слово может быть написано на другом языке, может быть написано с ошибкой, записано сленгом или аббревиатурой.
    Вероятно стоит ввести некий коэффициент схожести, выражаемый в процентах и сливать узлы при достижении некоторого процента (70%-80% ?). Однако это не спасёт от полностью различных по написанию слов.
    Выход 1: распознавать реальный смысл слова. Но эта давняя проблема и она достойна отдельной статьи.
    Выход 2: сделать нечто подобное тому, как оно /по моему обывательскому представлению/ реализовано в мозге человека. А именно для каждого слова, для каждого узла ввести список уточняющих узлов, с которыми он будет связан. Когда человек слышит слово «компьютер» в его голове проносятся определения «металлический корпус» «светящийся экран», «серый цвет», «быстро работает», «дорогой, зараза», в общем у кого как. В идеале каждому понятию будет соответствовать весь возможный ряд ассоциаций (который будет запрашиваться из единой базы данных, об этом ниже), пользователи, владеющие частью из них, будут распознаваться программой (как подмножество множества ассоциаций) и их узлы будут успешно взаимо-интегрироваться.
    В одной плоскости разместить их все не получится, так что придётся вводить некие… слои или эшелоны. Слой «визуальный», слой «аудиальный», слой «кинетический», «обонятельный»..., в общем соответствующие основным органам чувств человека. Однако во-первых и тут не решается проблема описания синонимами одного и того же понятия разными людьми, а во-вторых заставлять вводить всё это человека — слишком жестоко. Люди такой программой пользоваться не будут. Достоинством этой программы, за что её полюбят, должно стать удобство и очень быстрое добавление и редактирование узлов. Так что поиск и добавление уточняющих узлов всё-таки будет на совести компьютера. Вероятно в первое время, пока не будут изобретены полноценные средства распознавания текста, придётся возводить сеть серверов, к которым клиенты пользователей будут подключаться и запрашивать разрешённые к вводу слова. Что-то наподобие современного гугловского «может быть вы имели в виду компьютер, а не компютер?»
  • Очевидно, что программа должна представлять различный доступ к информации. Например быть многомерной, если рассматривать какую-то предметную область (часть сети) с точки зрения многомерного куба (извлечения информации из него — соответственно являются разрезами). С точки зрения сети, разных типов могут быть как узлы, так и связи между ними (братство, подчинение и унижение, порождение, ...).
  • Что и насколько делить. Цитаты, «копипасты» и целые литературные произведения, которые пока не представляется полноценно разобрать на составляющие предполагается хранить целым текстом. Может быть их как и картинки или двоичные файлы хранить отдельно в файловой системе, а в базе сохранять лишь ссылки на них. Всё остальное, что может быть разбито, различные знания, которые достаточно компактны для того, чтобы быть проанализированными вычислительной системой в конечное время необходимо разбивать и сохранять.
  • Не ясно, какие требования будут предъявляться к ресурсам компьютера для работы этой программы. Даже если и хватит процессора и оперативной памяти, база в теории может разрастись на жёстком диске на многие десятки и сотни мегабайт, что затруднит пользователям проведение резервного копирования. Кстати о бекапах. Я сразу беру за аксиому, что вопрос сохранения информации в базе каждого конкретного пользователя очень важен и об этом нужно подумать отдельно. Люди испытывают большие проблемы даже просто теряя доступ к родной «аське» или электронной почте с набранной за годы тонной контактов, а что если в результате выхода из строя жесткого диска они в один момент потеряют всю базу, в которой хранят все свои полученные «через компьютер» знания, свою историю, логи переписки, которые людям дороги как память, и всё прочее ценное?..
    Впрочем радикальным решением видится изначальное построение этой программы на базе облаков (и это будет их рассвет, наконец-то их старт снимется с пробуксовки!). Причём это решение позволит радикально сохранить память жестких дисков, если исключить множественные повторения одних и тех же узлов и совместить сети всех пользователей в одну большую сеть, помня для каждого узла и для каждой связи, кому они принадлежат.
  • Интерфейс должен быть наглядным и интуитивно понятным (графическим, трёхмерным, меняющимся по мере изменения параметров запроса), но при этом, если необходимо, предоставлять всё богатство настроек для сохранения, редактирования и поиска информации.

В целом это лишь основные моменты, которые я описал чтобы попытаться вызвать у вас тот же образ, что возник у меня. Пожалуйста представьте его, поразмыслите, оцените возможность реализации такой идеи и её перспективность с вашей субъективной точки зрения.
Tags:
Hubs:
Total votes 11: ↑6 and ↓5+1
Comments8

Articles