Вместо введения

Как обычно говорят на встречах не совсем анонимных разработчиков, меня зовут Александр Ткачук, и я уже более 20 лет тружусь на благо компании ЭНИМЦ "Моделирующие Системы", разрабатывая программное обеспечение. Открою небольшой секрет, наша компания занимается не только тренажёрами и ядерными реакторами. Мы также занимаемся исследованиями и разработками в смежных областях, включая разработку информационных систем, систем поддержки принятия решений, программного обеспечения для проектирования, моделирования и анализа данных, о которых мы постараемся рассказать в нашем блоге на Хабре.

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

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

Откуда растут руки

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

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

  1. спросить гадалку или прорицателя (оценки и ответы на основе случайного выбора никто не отменял);

  2. попросить аналитиков подготовить информацию по интересующим вопросам (хорошо если есть аналитики, которые могут это сделать быстро и качественно);

  3. собрать экспертов и устроить мозговой штурм (хорошо если есть эксперты, которые могут эффективно работать вместе);

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

  5. создать искусственный интеллект и задать ему интересующие вопросы (на данном уровне технического развития искусственный интеллект справится с такой задачей не многим лучше гадалки или прорицателя).

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

  • задавать алгоритм получения, обработки и анализа данных;

  • комбинировать тексты из различных источников (поисковые системы, социальные сети, локальные файлы);

  • используя синтаксический и семантический анализ текстов, формировать сетевые данные, характеризующие понятия и взаимосвязи между ними (как связаны ядерные реакторы и технологии очистки воды);

  • фильтровать данные по семантической близости полученных понятий к интересующим;

  • анализируя сетевые данные, искать общности или различия между информацией из различных источников;

  • визуально анализировать полученные промежуточные и итоговые результаты.

Но мы столкнулись с несколькими проблемами, затрудняющими работу подобных инструментов:

  1. наличие качественных языковых моделей для разных языков и тематик (включая семантические и/или онтологические модели);

  2. возможности современных средств синтаксического и семантического анализа;

  3. качество некоторых открытых источников текстовой информации и предоставляемых ими текстов (публикации в новостях и блогах);

  4. проблемы обработки и анализа форматирования и структуры документов (разделы, таблицы, изображения);

  5. проблема отсутствия необходимой информации в явном виде в анализируемых текстах.

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

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

  • комментарии к вашим задачам (возможно вам нужны не бургеры, а картофельные котлеты),

  • возможные решения ваших задач (возможно с указанием рецептов и ингредиентов),

  • оценки и комментарии к решениям (возможно раскрывающие их сильные и слабые стороны).

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

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

Кому это нужно

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

Назовем таких пользователей "пчеловодами", пчеловодов могут интересовать ответы на самые разные вопросы: какие технологии или материалы стоит использовать, а каких лучше избежать, какие технологии и материалы наиболее интересны для определённой категории задач, как связаны между собой определённые технологии или материалы с точки зрения их использования, какие решения наиболее интересны для определённой категории задач и т.д.

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

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

Кроме рабочих пчёл, есть пчёлы-администраторы, в задачи которых входит: поддерживать порядок в тематических группах, в которых публикуются задачи и решения; управлять ролями пользователей в группах; модерировать публикуемые задачи, решения, оценки и комментарии и т.д.

Тематические группы по следам Винни Пуха и его друзей
Тематические группы по следам Винни Пуха и его друзей
Роли пользователей одной из этих групп. Пользователь может быть "участником" или "руководителем" группы. В первом случае он может ставить и решать задачи, во втором случае он также может управлять данной группой, ролями пользователей в ней, модерировать публикуемые задачи и решения и т.д. Забегая вперёд, скажу что мы пока не занимались UX/UI дизайном Клуба, пока мы сосредоточились только на его функционале используя Bootstrap с немного доработанными стилями и скриптами
Роли пользователей одной из этих групп. Пользователь может быть "участником" или "руководителем" группы. В первом случае он может ставить и решать задачи, во втором случае он также может управлять данной группой, ролями пользователей в ней, модерировать публикуемые задачи и решения и т.д. Забегая вперёд, скажу что мы пока не занимались UX/UI дизайном Клуба, пока мы сосредоточились только на его функционале используя Bootstrap с немного доработанными стилями и скриптами

Ещё одной категорией пользователей являются "селекционеры", которых интересуют наиболее успешные рабочие пчёлы с целью предложения им работы, пчёлы активно участвующие в определённых тематических группах с целью предложения им обучения, пчёлы интересующиеся "запретными" темами с целью личного обсуждения с ними вопросов мироздания и т.д. Благодаря таким пользователям реализуется второй механизм мотивации рабочих пчёл, а именно бонусы для наиболее успешных и активных пользователей за пределами Клуба.

Продолжая тему пчеловодства можно сравнить Клуб инновационных решений с "пасекой", тематические группы с "ульями", в которых суетятся "пчёлы". За пределами пасеки и ульев трудятся "пчеловоды", которых интересует "мёд", и "селекционеры", которых интересуют "пчёлы".

Можно провести ещё одну параллель, совокупность деятельности наших пчёл по производству меда по своей сути является управлением знаниями. Ставя и решая задачи, обсуждая и оценивая решения, пользователи демонстрируют свои компетенции; взаимосвязи между задачами, решениями, технологиями и материалами, показывают где и как их можно использовать и т.д.

Как это работает

Рассмотрим последовательно как пчёлы делают мед, то есть как решаются задачи, и тем самым ищется и формируется информация. Предположим, что некоторый Иван Иванович строит в своем сарае "звезду смерти", и ему нужно определиться с источником энергии для нее. Предположим, что из статьи на Хабре он узнает о нашем Клубе инноваций и решает попробовать его. Он регистрируется в Клубе, находит тематические группы с близкими его интересам задачами и решениями, становится участником этих групп, и начинает участвовать в решении задач других пользователей, тем самым зарабатывая баллы, необходимые для того, чтобы в один прекрасный момент поставить свою задачу.

Пока такой момент не наступил, Иван Иванович работает над своей задачей:

  1. подбирает нужные слова для её описания;

  2. загружает файлы с дополнительной информацией (чертежи звезды смерти);

  3. выбирает подходящие теги технологий и материалов;

  4. выбирает связанные задачи и решения других пользователей;

  5. задаёт критерии для оценки предлагаемых пользователями решений (стоимость, производительность, безопасность, надежность и т.д.);

  6. задаёт суммы баллов для поощрения лучших решений, оценок и комментариев (должны быть больше минимального порога).

Как только заработана необходимое количество баллов, Иван Иванович публикует свою задачу, делая её доступной для других пользователей и запуская процесс её коллективного решения.

Задачи Винни Пуха, подготовленные для публикации в группе "инновационная пасека"
Задачи Винни Пуха, подготовленные для публикации в группе "инновационная пасека"
Одна из этих задач в режиме редактирования. Пользователь может работать над своей задачей, сколь угодно долго редактируя её черновик. После публикации задача становится доступна другим пользователям для решения, в данном случае она становится доступна участникам группы "инновационная пасека"
Одна из этих задач в режиме редактирования. Пользователь может работать над своей задачей, сколь угодно долго редактируя её черновик. После публикации задача становится доступна другим пользователям для решения, в данном случае она становится доступна участникам группы "инновационная пасека"

После этого, некоторые Пётр Петрович и Фёдор Фёдорович тратят своё время, ищут информацию (за пределами Клуба), прорабатывают и предлагают свои решения, каждое из которых включает:

  • текстовое описание;

  • файлы приложений;

  • теги технологий и материалов;

  • связанные задачи и решения.

А некоторый Семён Семёнович не тратит своё время и предлагает повторно использовать решение, опубликованное Михаилом Михайловичем некоторое время назад.

Страница уведомлений пользователя Братец Кролик с информацией о новых задачах опубликованных в группе "инновационная пасека" (в которой он является участником), а также одна из задач в режиме просмотра
Страница уведомлений пользователя Братец Кролик с информацией о новых задачах опубликованных в группе "инновационная пасека" (в которой он является участником), а также одна из задач в режиме просмотра
Если пользователя не устраивают предлагаемые суммы вознаграждения за решение задачи, оценку или обсуждение решений, то он может предложить их изменить
Если пользователя не устраивают предлагаемые суммы вознаграждения за решение задачи, оценку или обсуждение решений, то он может предложить их изменить
Страница решений задачи "чем кормить пчёл" с предлагаемыми решениями, их оценками и обсуждением
Страница решений задачи "чем кормить пчёл" с предлагаемыми решениями, их оценками и обсуждением
Одно из решений в режиме просмотра
Одно из решений в режиме просмотра

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

Страница решений задачи "чем кормить пчел" с оценками решения "конечно морковью"
Страница решений задачи "чем кормить пчел" с оценками решения "конечно морковью"
Одна из оценок в режиме просмотра
Одна из оценок в режиме просмотра

Иван Иванович как автор задачи выбора источника энергии для звезды смерти следит за тем, как его задача обрастает возможными решениями, оценками и комментариями. Как только по его мнению получены подходящие решений, он завершает процесс решения задачи, выбирая наилучшие решения, оценки и комментарии. Пётр Петрович, Фёдор Фёдорович и другие пользователи, чьи решения, оценки или комментарии были выбраны, получают вознаграждение в виде баллов, которые могут быть потрачены на решение их собственных задач.

Страница задачи "чем кормить пчёл" с предлагаемыми решениями и выбранными для вознаграждения решениями, оценками и комментариями
Страница задачи "чем кормить пчёл" с предлагаемыми решениями и выбранными для вознаграждения решениями, оценками и комментариями
Страница кошелька Винни Пуха с информацией по выплате вознаграждения Пятачку и Кролику за лучшие (выбранные) решения, оценки и комментарии
Страница кошелька Винни Пуха с информацией по выплате вознаграждения Пятачку и Кролику за лучшие (выбранные) решения, оценки и комментарии

Итак, Иван Иванович выбрал источник энергии для звезды смерти и продолжил работу над ней в своём сарае, что же осталось от него в Клубе:

  • задача и решения с оценками и комментариями, которые могут быть повторно использованы для решения других задач;

  • информация о том, что Иван Иванович и некоторые другие пользователи интересуются звёздными войнами;

  • оценки результативности деятельности Ивана Ивановича и некоторых других пользователей;

  • информация о взаимосвязях между задачей выбора источника энергии для звезды смерти, с другими задачами и решениями, предлагаемыми технологиями, материалами, рассматриваемыми тематиками;

  • информация о взаимосвязях между технологиями, материалами и тематиками и т.д.

Как это не работает

Временно опустим тот факт что наш Клуб пока находится на стадии прототипа, и как следствие далеко не всё в нём работает как следует. Обсудим принципиальные моменты его использования.

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

Другими словами наш клуб это не очередная Quora, Facebook (ещё раз, который запрещен в РФ), LinkedIn (заблокирован, но не запрещён), Stack Overflow, ВКонтакте, Ответы Mail.ru, Одноклассники, Яндекс.Кью и даже не новый Хабр, это инструмент для относительно узкой аудитории специалистов (заинтересованных лиц), готовых прорабатывать и предлагать качественные задачи и решения в определённой области или отрасли. К вышеупомянутым социальным сетям и сервисам мы вернёмся немного позже.

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

Стоит на минуту вернуться к мотивации участников Клуба, как уже упоминалось, пользователи решают задачи и оценивают решения других пользователей чтобы заработать баллы, необходимые на постановку и решение собственных задач; пользователи с хорошими результатами (в том числе с точки зрения зарабатывания баллов) или с интересными задачами и решениями могут получить предложения от "селекционеров", занятых подбором специалистов.

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

* Термин серый шум относится к шумовому сигналу, который имеет одинаковую субъективную громкость для человеческого слуха на всём диапазоне воспринимаемых частот.

На чём это работает

Программной реализации Клуба будет посвящена отдельная статья, пока скажем, что функциональный прототипа ПО Клуб инновационных решений реализован в виде монолитного веб-приложения на основе и с использованием только опенсорсных программных компонент и средств, включая: OpenJDK, Spring, Apache Tomcat, PostgreSQL, Apache Maven, Apache NetBeans. И развёрнут на нашем сервере на базе Ubuntu Linux посредством Docker, где он крутится по сей день, периодически посещаемый экспертами и обновляемый  разработчиками.

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

CytoScape с импортированными сетевыми данными по группам, пользователям, задачам, решениям, оценкам, комментариям и другими информационными объектами
CytoScape с импортированными сетевыми данными по группам, пользователям, задачам, решениям, оценкам, комментариям и другими информационными объектами
Объекты, непосредственно связанные с задачей "чем кормить пчел"
Объекты, непосредственно связанные с задачей "чем кормить пчел"

И входит, и выходит

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

Тестирование Клуба старшеклассниками попало на начало пандемии коронавируса и связанных с ней ограничений в 2020 г. Как следствие, школьники тренировались на задачах по переходу к дистанционному формату занятий. После этого за Клуб снова взялись эксперты, на этот раз сфокусировавшись на технических и философских задачах энергетики.

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

На других посмотреть

Немного отвлечемся от Клуба инновационных решений как средства поиска и формирования информации, и поговорим о Клубе как средстве решения задач. Идея использования краудсоринга для решения проблем далеко не нова: в 1714 году Британское правительство предложило вознаграждение за способ точного вычислению долготы корабля в море, среди авторов решений были известные часовые мастера того времени, а также такие известные учёные как Леонард Эйлер и Тобиас Майлер; в 1783 французский король Луи XVI и французская академия наук предложили вознаграждение за способ получения щёлочи из морской соли, известный французский врач и химик Николас Леблан как автор решения (процесс Леблана) так и не получил своего вознаграждение из-за французской революции. Это всего лишь два примера из большого списка краудсорсингового решения научных и технических задач.

С приходом 21 века краудсорсинг получил новый толчок: появилась Wikipedia, вышла книга The Wisdom of Crowds, вышла статья The Rise of Crowdsourcing, появился InnoCentive, Quora, любимый разработчиками StackOverflow и многие другие известные интернет-ресурсы для краудсорсингового решения задач.

В сети можно найти довольно хорошие статьи истории краудсоринга, включая The Long History of Crowdsourcing - and Why You're Just Now Hearing About It и Crowdsourcing from its beginnings to the present, которые в том числе были использованы при подготовке данного раздела.

Однако через некоторое время после этого толчка пришло понимание что краудсорсинг это не панацея, что у краудсорсинга есть свои особенности и довольно существенные ограничения. Многие из созданных компаний и ресурсов перестали существовать, начали появляться такие статьи как Why Crowdsourcing Often Leads to Bad Ideas, критически рассматривающие краудсорсинг и его возможности.

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

Говоря про толпу (crowd) не стоит забывать про социальные сети Facebook (опять же, который запрещен в РФ), ВКонтакте, Одноклассники, и совсем не стоит забывать про LinkedIn (заблокирована в РФ) и ResearchGate. Можно было бы сказать что современные социальные сети созданы для краудсорсинга решений, позволяя искать или создавать группы по интересам, задавать вопросы, получать и обсуждать ответы, и даже поощрять авторов наилучших ответов и комментариев. Но процесс краудсорсинга в большинстве из них плохо формализован, зачастую нет инструментов для постановки задач и оценки решений, нет входного контроля участников процесса решения, нет повторного использования задач и решений, нет возможности детального анализа совокупности тем, задач, решений, оценок, комментариев и пользователей.

Наш Клуб инновационных решений не претендует на место уже существующих сетей, упомянутых выше. Мы не хотим с низкого старта влететь в мир высоконагруженных систем, способных обрабатывать запросы десятков и сотен тысяч пользователей. Мы хотим создать корпоративный или отраслевой инструмент для решения определённых категорий задач, и как следствие поиска и формирования определённой информации.

Вместо заключения

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

Комментарии (0)