This is an old revision of the document!
Table of Contents
Коллективный разум для OLPC - свалка
Упорядочить!
Набросок
Цель приложения
- Формализовать знания коллектива об изучаемой предметной области, представив их понятным образом.
- Дать членам коллектива возможность взаимодействия и обмена знаниями об области
Как мы видим итоговое приложение
Вариант 1. Приложение, помогающее выработать общее видение предметной области
- Пользователи приложения - члены какой-либо группы, способные обмениваться данными по сети. Их цель - создать представление
группы о каком-либо предмете, то есть создать модель предметной области - Существует модель предметной области, построенная каким-либо членом коллектива. Назовём её виденьем предметной области этого члена.
- Каждый член коллектива может редактировать свое видение предметной области
- Каждый член коллектива имеет доступ к видению предметной области других участников
- “Видения” разных участников можно складывать.
- Каждый участник имеет доступ к сумме видений всего коллектива
- существует и поддается редактированию общая модель предметной области, одобренная каждым участником коллектива. Её назначение:
- с ней удобно работать руководителю группы (если такой есть)
- каждый член группы всегда может посмотреть общую картину
- каждый член группы, а также вновь пришедший в группу должен принять общую модель или предложить свои улучшения.
- Способы принятия общей модели:
- голосование
- модерирование
- висящие в воздухе идеи:
- Привязка к узлу не просто картинки, а вызов звукозаписи/ видеозаписи, фотоаппарарата (программа соответствующая точно есть)
Аналоги
Что похожее существует на данный момент
Сетевых программ схожего назначения пока не найдено. Однопользовательские приложения разделим на классы по типу представления знаний:
- редакторы онтологий
- mindmap - редакторы (также посмотреть тут )
- редакторы семантических сетей
- редакторы моделей, удобных для последующего проектирования программ (например, объектных, функциональных моделей)
Процесс
- Предполагаемый процесс - что будет заимствовано из UP
===== Программирование ==Описываются продукты деятельности участников процесса
- Mindmap, интеллект-карта - один из видов семантической сети, адаптированный под наилучшее восприятие человеком. Mindmap составляется Мыслителем. Виды Mindmap:
- Group Mindmap - mindmap, созданная модератором группы на основе интеллект-карт мыслителей-членов группы
- Single Mindmap - mindmap, построенная каким-либо членом коллектива и представляющая знания этого члена.
- Final Mindmap - mindmap, построенная Руководителем на основе mindmap'ов, полученных от Модераторов
- создание обёртки чтобы превратить не-python приложение в activity
Ссылки
раздел обязателен к пополнению
Основные понятия
- Излагаются в книжках Тони Бьюзена . Главным образом, в “Супермышлении”
Mindmap-редакторы
- Обзор четырех редакторов - Vym, FreeMind, Compendium, ThinkGraph
- страница загрузки mindmap-редакторов (в том числе и платных)
- Concept draw - нечто более странное, чем просто mindmap
Процесс
Наверное, тут стОит писать то, чем мы сейчас занимаемся. Хотя бы для того, чтобы мы этим Занимались.
Понять решаемую задачуВсе потенциальные участники представляют итоговую программу примерно одинаково. Для чего она будет служить - тоже.- Сформировать у всех одинаковый язык. В нашем случае: каждый приобретает понимание слов “знание”, “модель предметной области”, “онтология”, “семантическая сеть (network, а не web!)”, “mindmap” … TODO дополнять список/
- Сделать так, чтобы все узнали об уже готовых приложениях, решающих схожую с нашей задачу. Научиться с ними работать. Понять, почему они хуже чем то, что сделаем мы (опять-таки, в рамках решаемой задачи).
- Расковырять ноутбук и вики OLPC. Понять, какие требования предъявляются к:
- системным требования программы
- средствам разработки (сюда же и язык разработки) - разбирается ceg. В процессе дополняем странички раздела “Программирование”
Чтобы чувствовать, что мы и правда чем-то занимаемся предлагается устраивать маленькие встречи, где желающий будет рассказывать, что он изучил
Ближайшие планы
Доклады
Знания
kuv - доклад о Protege и представление знаний в виде онтологии - четверг 28.02редактор Protege - итоги доклада
kin - представление знаний в виде mindmap. Чем различаются разные редакторы mindmap? План доклада вторник, 4.03kin - фреймовая модель представления знаний. + редакторы фреймовых моделей (тут же замешан и Protege) ? а надо липо основам фреймовой модели достаточно почитать вот это руководство- kuv - представление знаний в виде семантической сети. ? а надо ли
- kuv- средства коллективного проектирования. Сюда же - Collaborative Protege
OLPC
- ceg - требования к инструментарию, создание типового приложения с оберткой.
Практика
— Yuri V Katkov 2008/03/21 13:32 : думаю, что с подготовкой мы практически закончили. Всем бы советовал дополничельно прочитать книжку Тони Бьюзена “Супермышление”. В ближайшее время хотелось бы, чтобы все собрались и попробовали на листке А3 призвести ту деятельность, которую наши маленькие негритята будут производить на зелёных ХО.
Самостоятельное изучение
Дома обязательно нужно выполнить эти задания. Основания - понимание проблемы, подготовка к программированию приложения. Каждое задание выполняется после чтения соответствующего доклада. наверное, надо приносить сделанные задания и показывать их друг другу.
Знания
Зачем изучать? Чтобы понять, что именно делают люди, связанные с инженерией знаний. Чтобы понять, чего не хватает в существующих приложениях (осознать требования)
- скачать любой mindmap-редактор и нарисовать в нем карту. Если не получается придумать тему карты, рисуем карту занятий какого-нибудь насыщенного дня. Или карту какого-либо учебного предмета.
- написать в любом редакторе онтологии какую-либо простую онтологию предметной области. Задание смотрим здесь
- обязательно создать семантическую сеть в соответствующем редакторе.
OLPC
Зачем изучать? чтобы заниматься программированием и не задавать лишних глупых вопросов товарищу ceg
- установить себе эмулятор XO или каким-либо другим образом запустить оболочку Sugar на домашней машине.
- написать приложение сложности hello world и сделать ему обертку на Python. Результат запускается на XO.
Еще RUP
- http://www.ts.mah.se/RUP/RationalUnifiedProcess/ - здесь берём шаблоны
- книжки: RUP For Small Teams(это просто библия), Applying UML 2.0 and Design Patterns
Еще знания
* в википедии страницы: Представление знаний - плохонькая стать, но большой портал. Также английская версия хороша * http://www.makhfi.com/KCM_intro.htm * http://www.visual-literacy.org/pages/documents.htm - много и по делу * дружественная нам вики проекта Онтолинж-КАОН и её ссылки c подборкой материалов по визуализации (в основном онтологий) * Выбираем модель представления знаний. Отсюда я выудил, что бывают:
- Сетевая модель - думаю, что выберу её по причине простоты перехода к понрятному представлению для юзера
- классифицирующие сети
- функциональные сети
- сценарии
- Логическая модель - мы видели её в Прологе
- Продукционная модель
- Фреймовая модель - нечто, похожее на классы
Мысли
- Совсем не понятно, какова первоначальная задача системы. Варианты:
- Помоги нам эффективнее общаться
- Помоги мне думать
Подумай за меня
Третье, вроде как, отметается. Какие вещи помогают думать и не требуют значительных ограничений на формат ввода Мыслей?
- Начитавшись Бузана, сразу вспомнил об ассоциациях.
- Есть сайт Yahoo!, в котором поисковый сервис “угадывает” твои мысли и предлагает варианты. Нужно посмотреть, делается ли это по статистике поиска, или это то самое место, где они используют онтологию.
- Явно по статистике работает гугловская строчка ввода.
- Зная склонения и спряжения, додумывает запрос словарь Abbyy Lingvo и (хило) Stardict
- Идейка - программа собирает статистку и предлагает ассоциации, которые мы использовали в прошлый раз/которые сейчас возникли у партнёра по обмену знаниями
- Вообще, мы минимизируем функцию Обрабатываемость_машиной(Понятность_человеком). Как же, интересно, выглядит её график?
- Раз за разом прихожу к выводу, что общая рисовальная доска для рисования с уклоном в майндмап и рюшечками типа подсказок, адаптивного интерфейса, чата и прочего - это то, чем мне будет интересно заниматься. Никаких идей по интеллектуализации.
- Еще идея: посмотреть старые языки экспертных систем и инженерии знаний - Д.Уотермен “Руководство по ЭС”, стр 114. AL/X, KAS, EMYCIN, ROSIE(написано, что он естественный, правила), SRL (хвалит за гибкость, фреймы). Там же на странице 103 - классификация методов: Основанный на правилах/фреймах, ориентированный на процедуры/логику/объекты/доступ
- На первый взгляд, не очень напрягает Модальная логика . Но можно ли по модальным утверждениям делать логический вывод? Есть также нечеткая логика (с выводом, сильно корявым на длинных деревьях), вероятностная(тот же недостаток - большие неопределённости при большом количестве факторов) и темпоральная логика (не копал).
- Старые штуковины - программы для наполнения базы знаний, ориентированные на эксперта. Примеры: ROGET, SEEK.