Изобретение велосипедов — это не самая большая беда. Изобрести велосипед заново иногда проще, чем найти описание его конструкции в архиве. Проблема в том, что ученые, занимающиеся как будто бы одной проблемой, вдруг обнаруживают, что не понимают друг друга, потому что выросли в разных научных школах.
Можно предположить, что у науки слабая "информационная поддержка" или "недостаток интегрированности". Но это не так.
С момента возникновения Интернет процесс "электронизации" знаний идет и набирает ход [3,4], проводятся Интернет-конференции, создаются международные архивы научных работ. Научно-образовательная деятельность, так или иначе, стала занимать свою нишу в WWW (например, xxx.lanl.gov, www.citeseer.com, www.nature.ru, www.mccme.ru). И не смотря на это, проблема целостности науки по-прежнему стоит достаточно остро.
Дело в том, что информационные потоки в науке велики и постоянно растут. Не каждый учёный способен полноценно усваивать то, что делается даже в той, отдельной области науки, которой он занимается. Создается впечатление, что некоторые "науки" уже достигли ситуации "мегабитовой бомбы" или "информационного барьера". Эти термины, введенные Станиславом Лемом, обозначают ситуацию, когда научное сообщество не может справиться с лавиной информации, которую само же создаёт.
Если вспомнить историю науки, то можно обнаружить, что развитие научных теорий (а иногда и рождение) всегда было связано с эволюцией языка. Такова, например, алгебра, которая зародилась оттого, что люди научились кратко и в общем виде записывать уравнения. До возникновения алгебры все уравнения описывались на естественном языке при помощи бытовых или геометрических аналогий. Сегодня математическая теория групп не содержит, пожалуй, и одного процента естественного языка. В этом её удивительная сила и сложность. Сегодня понятие языка является ключевым во многих областях науках. Проблема формализации знаний, использования компьютера для работы со знаниями и их анализа активно порождала новые задачи и проблемы. Формула
Настал момент серьезно поговорить о создании языка и технологии для объединения всех научных знаний.
Проект KML взял на себя задачу разработку спецификации этого языка, а также различного инструментария для работы со знаниями. Инструментарий — это программы
KML является XML языком, и, кроме того, он содержит в себе возможность включения объектов других XML языков. KML предназначен для формализации структуры знаний, он, в некотором смысле, язык — каркас для объединения в единую сеть знаний, написанных на различных языках.
Эта расширяемость KML позволяет ему эволюционировать, что является неотъемлемым свойством языка знаний, а стандартизация есть обязательное условие построения единой глобальной базы знаний.
Каждый UNIT помещается в общую базу знаний, и при этом он содержит 1) ссылки на базовые знания, то есть на фундаментальные работы, в которых даны определения ключевых терминов и основы теории, 2) ссылки на близкие по содержанию знания, 3) ссылки на следующий и предыдущий UNIT'ы знаний, 4) информацию о научной специализации, к которой он относится, а также много другой метаинформации. Полезность содержания единицы знаний определяется не только тем, из чего она состоит, но и тем, как она размещена в общей Базе Знаний, то есть метаинформацией, связанной с этой единицей. Чрезвычайно важно, чтобы каждый UNIT был помещён в адекватный его содержанию "контекст" базы знаний, или, другими словами, чтобы информация, содержащаяся в UNIT'е, извлекалась только при тех запросах к базе знаний, которые релевантны его содержанию.
Содержание UNIT'а должно быть построено таким образом, чтобы он был маленькой, но все-таки самостоятельной единицей знания, и мог читаться в отрыве от контекста научной работы, в рамках которой создавался.
Конечно, любые изначальные рамки и рафинирование "губят" мысль. Но, возможно, иначе нельзя. Эти рамки должны поощрять процесс формирования ключевых, универсальных, связанных друг с другом идей, представляющих фундамент науки.
Конечно, "писать знания = программировать знания" не может быть полной аналогией, потому что большая часть знаний программиста остается все-таки в его голове и не попадает в код программы, так как программа — это машинные знания. Программист формализует знания не для остальных людей, а для машины. Чтобы код был понятен остальным, программисту надо писать к нему комментарии. Возьмём теперь экспертные системы. В их создании участвуют три постоянных роли: специалист предметной области, инженер по знаниям и программист. Первый из них — это носитель знаний (человеческих знаний), второй осуществляет формализацию знаний для занесения их в программу, при этом процесс выглядит как "допрос" эксперта предметной области, "вытягивание" из него знаний. Третий должен запрограммировать результат, проделать конечный этап переработки человеческих знаний в машинные. Технология KML предполагает совмещение в лице писателя знаний сразу трёх ролей. Конечно, это тяжело, но здесь в помощь приходят разрабатываемые инструменты для Визуального Программирования Знаний.
Таким образом, ещё одна цель KML — это создание простого и понятного языка формализации знаний и инструментов, которые бы позволили специалистам и экспертам в предметной области не прибегать к услугам инженера по знаниям и программиста, а самостоятельно "программировать" свои знания. Следующая важная параллель программирования для машин и формализации знаний для людей — это повторное использование: мы достигнем большего, если будем стартовать с плечей гигантов. При разработках программных систем особое внимание уделяется возможности повторного использования и доработки. Повторное использование может относиться практически к любым аспектам программирования (структуры данных, модели поведения, протоколы и т.п.) и заметно удешевляет и ускоряет процесс разработки. Почему бы ни использовать эту технологию создания программ для построения структуры человеческих знаний? Чтобы знания, как программный компонент, можно было использовать повторно, их форма должна удовлетворять определенным условиям "стыковки". Эти условия и диктует KML, позволяя тем самым создавать хорошо оформленные строительные блоки знаний.
Итак, 1) KML претендует на решение проблемы чистоты содержания знаний (отсутствие "воды"), и 2) KML предоставляет стандарт для объединения накопленной человечеством информации в единой распределённой Базе Знаний.
Каждый человек, публикующий документы в формате KML, должен помнить три повелительных глагола:
[2] Станислав Лем, Сумма технологий, Stanislaw Lem, Summa Technologiae, Krakow, Wydawnictwo literackie, 1967.
[3] Ronald Brachman and James Schmolze. An overview of the kl-one knowledge representation system. Computational Intelligence, 9(2):171-216, 1985.
[4] S. Decker, D. Fensel, F. van Harmelen, I. Horrocks, S. Melnik, M. Klein, and J. Broekstra. Knowledge representation on the web. In Proceedings of the 2000 International Workshop on Description Logics (DL2000), Aachen, Germany, 2000. http://citeseer.nj.nec.com/decker00knowledge.html
[5] T. Bray, E. Maler, J. Paoli, and C. M. Sperberg-McQueen, Extensible Markup Language (XML), w3c recommendation, October 2000. http://www.xml.org
[6] O. Lassila and R. R. Swick. Resource Description Framework (RDF) model and syntax specification. W3C Working Draft WD-rdf-syntax-19981008. See http://www.w3.org/RDF/, http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/.
[7] T. Finin, R. Fritzson, D. McKay, and R. McEntire, KQML as an Agent Communication Language, Proceedings of the Third International Conference on Information and Knowledge Management, ACM Press, November 1994. http://citeseer.nj.nec.com/finin94kqml.html
[8] J. Mayfield, Y. Labrou, and T. Finin, Evaluation of KQML as an agent communication language. In Intelligent Agents II: Agent Theories, Architectures, and Languages, pages 347--360. Berlin: Springer, 1996. http://citeseer.nj.nec.com/mayfield96evaluation.html
[9] OWL Web Ontology Language. W3C Working Draft 29 July 2002. Latest version is available at http://www.w3.org/2001/sw/WebOnt/.
[10] Semantic Web, Representation of data on the World Wide Web, based on the RDF standards, http://www.w3.org/2001/sw/
[11] A. Farquhar, R. Fikes, and J. Rice. The Ontolingua server: A tool for collaborative ontology construction. Technical report, Stanford KSL 96-26, 1996. http://citeseer.nj.nec.com/farquhar96ontolingua.html.
[12] Кузнецов Н.А., Полонников Р.И., Юсупов Р.М. Состояние, перспективы и проблемы развития информатики. В кн. Теоретические основы и прикладные задачи интеллектуальных информационных технологий. Изд. СПИИРАН, СПб, 1998 г.