Давайте рассмотрим три варианта классификации индивида Жучка:
- Животное – собака – лайка – Жучка.
- Служебная – ездовая – Жучка.
- Псарня – упряжка собак – Жучка.
Первую последовательность соподчиненных сущностей однозначно принято описывать через задание классов и подклассов: Жучка является индивидом класса «лайка», класс «лайка» – подклассом собак, а тот подклассом класса «животное». При этом класс «животные» трактуется как множество всех животных, а класс «лайки», как подмножество множества «собаки». Однако, такое описание, несмотря на то, что оно достаточно наглядно, содержательно является тавтологичным, самореферентным: индивида Жучку мы называем лайкой, если она входит в множество лаек, а само множество лаек определяем как совокупность всех индивидов лаек – то есть включение в множество содержательно дублирует поименование. К тому же описание класса-множества полностью исчерпывается описанием индивида, подпадающего под задающее класс понятие. Также следует отметить, что оперирование подобными классами-множествами не зависит от количества элементов в них: лайка Жучка будет лайкой даже тогда, когда она останется единственной, последней лайкой на Земле. Более того, оперировать такими классами-множествами мы можем даже при отсутствии индивидов в них: можно построить онтологию уже вымерших динозавров, помыслить класс, в который только в будущем войдет проектируемое уникальное устройство или построить модель предметной области мифических животных, героев сказок, хотя при этом мощность всех классов-множеств будет равна нулю.
Итак, если говорить о содержательной стороне анализируемой классификации (животное – собака – лайка – Жучка), то она (содержательная сторона) никак не может быть выражена через отношение множеств и подмножеств. В данном случае мы имеем дело с концептуализацией – выделением понятий и установлением родо-видовых отношений между ними. При этом фактическое число элементов концептуального класса, то есть объем понятия, не фигурирует при его определении и упоминается (да и то не содержательно) только, когда одно понятие («лайка») подпадает под другое («собака»), то есть когда выступает как вид рода. Да, мы можем констатировать, что объем понятия «собака» больше, чем объем понятия «лайка», но реальное числовое соотношение этих множеств не имеет никакого онтологического смысла. Превышение объемом класса объема подкласса при родо-видовых отношениях отражает лишь то, что по определению рода в него должно входить несколько видов – в противном случае эта классификация становится бессмысленной. То есть в родо-видовой концептуальной классификации нас интересует именно содержание понятий – чем вид «собака» отличается от вида «кот» (которое также подпадает под родовое для них понятие «животное»), а не то, как соотносятся объемы множеств рода и вида и тем более объемы видовых понятий («собака» и «кошка»). И чтобы отличать концептуальные классы от действительно счетных множеств, правильнее было бы говорить о подпадании индивида под понятие, а не о включении его в класс/множество. Ясно, что в формальной записи утверждения «подпадает под понятие Х» и «является элементом класса Х» могут выглядеть одинаково, но непонимание существенной разницы между двумя этими описаниями может привести к серьезным ошибкам в построении онтологии.
Во втором варианте (служебная – ездовая – Жучка) нас также не интересует сопоставление понятию «ездовая» какого-либо множества: смысловое содержание утверждения «Жучка – ездовая» не зависит от того, является ли она единственной ездовой или таковых много. Казалось бы, мы и здесь имеем дело с родо-видовыми отношениями: понятие «ездовая» можно рассматривать как видовое относительно родового понятия «служебная». Но связь индивида «Жучка» с понятием «ездовая» существенно отличается от связи с понятием «лайка»: второе, концептуальное, понятие имманентно и неизменно присуще индивиду, а первое отражает локальную во времени специализацию. Жучка не родилась ездовой и возможно с возрастом может перестать быть ею и перейти в разряд сторожевых, а под старость вообще потерять всякую «профессию». То есть, говоря о специализации, мы всегда можем выделить события приобретения и утраты связи с тем или иным понятием. К примеру, Жучка могла быть признана абсолютным чемпионом породы, а потом утерять это звание, что принципиально невозможно с концептуальными понятиями: Жучка от рождения и до смерти, то есть на всем временном отрезке своего существования как индивида, является собакой и лайкой. Так и человек остается концептом «человек» всю жизнь, но ситуационно (от события до события) может подпадать под специализирующие понятия «школьник», «студент», «врач», «муж» и пр. И как уже отмечалось, связь с этими понятиями ничуть не означает включение в некоторое множество (хотя это и может так выглядеть) – приписывание специализирующего понятия всегда есть результат конкретного отношения индивида с другими индивидами: поступление в школу, ВУЗ, получение диплома, регистрация брака и пр. Поэтому специализирующие понятия можно назвать еще реляционными. Из приведенных примеров следует еще одно существенное отличие концептуальной классификации от специализации: индивид может обладать несколькими специализациями (Жучка являться ездовой и чемпионом породы, человек студентом и мужем), но не может одновременно входить более чем в одну концептуальную иерархию (Жучка не может быть и собакой, и кошкой).
И только в третьем варианте описания Жучки – как принадлежащей к некоторой псарне и как члена конкретной упряжки, тянущей нарты по тундре – просто необходимо упоминание множества. Только в этом случае мы имеем право говорить, что индивид является элементом конкретного множества со счетным количеством элементов, а не подпадает под понятие, которое может быть представлено как абстрактное множество, условно фиксирующее объем этого понятия. И здесь принципиально, что индивид является частью другого индивида, исходно определяемого как множество: псарня и упряжка – это обязательно непустое множество собак, и количество элементов этого множества непременно входит в их определения как индивидов. То есть в данном случае следует говорить об отношении часть-целое: Жучка является частью псарни и частью упряжки. Более того, вхождение или невхождение Жучки в конкретную упряжку меняет ее (упряжки) содержание: если у нас была упряжка-двойка, то после изъятия Жучки, упряжка превращается в одинарную. В таких случаях мы имеем дело не просто со счетным множеством (собаки в псарне), а с индивидом, сущность которого меняется при изменении состава его элементов, определяется этим составом, то есть с системой. Если псарня – это просто индивид-группа, описываемый через множество входящих в него элементов, то упряжка – это система, сущность которой зависит от числа и специфики ее частей.
Следовательно, при построении онтологии предметной области можно выделить действительные объекты-множества, определяемые именно как совокупность некоторого числа индивидов. Таковы: класс в школе, товары в ящике на складе, детали блока электронного устройства и пр. И эти множества могут быть подмножествами других реальных счетных множеств: всех учеников школы, всех товаров на складе, всех деталей устройства. При выделении этих множеств существенно то, что они (эти множества) выступают как самостоятельные индивиды (коллектив, партия товара, комплект деталей), основным атрибутом которых является именно число входящих в них элементов. Причем изменение этого атрибута может привести к смене статуса объекта, скажем, при росте количества элементов превратить квартет в квинтет или полк в бригаду. Важно также, что описание этих объектов-множеств, сложных объектов не сводится к описанию входящих в них индивидов, хотя может включать указание на допустимый тип последних (струнный квартет, упряжка лошадей). И такие отношения – не между абстрактными множествами, а между множествами, являющимися индивидами, сложными объектами – точнее описывать как отношения часть-целое, а не класс-подкласс.
Итак, традиционная классификация индивидов через приписывание их к тем или иным классам-множествам не может считаться однородной. Следует различать (1) включение индивидов как частей в сложный объект (целое), семантическая специфичность которого не сводится к описанию его элементов. При этом (1.1.) объект-целое может рассматриваться лишь как поименованное множество индивидов (детали в упаковке, коллекция картин), для которой, по сути, важно лишь количество частей. Такие объекты возможно называть группами (или коллекциями). Также (1.2.) объект-целое может содержательно (а не только количественно) определяться своими частями и, как следствие, обладать атрибутами, которыми не обладают части. Такие целостности традиционно называют системами, а части систем – элементами. Вторым вариантом описания объектов через приписывание их к классам-подклассам является (2) подпадание индивидов под понятие, что лишь формально, тавтологично может быть описано как включение индивидов в множество мощность которого равна мощности понятия. Понятийное описание индивидов в свою очередь можно классифицировать на (2.1) концептуальное, глобально фиксирующее тип индивида, и (2.2) специализирующее (реляционное), локально во времени и пространстве (событийно) связывающее индивид с другими объектами.
Приведенные рассуждения, прежде всего, ставят вопрос о достаточности, адекватности традиционного подхода к описанию предметной области с использованием классификации, основанной на теории множеств. И предлагается вывод: для фиксации в онтологиях всего разнообразия связей объектов нужны более дифференцированные инструменты классификации (группы, системы, концептуальные и специализирующие понятия). Формализм теории множеств может использоваться только как локальное упрощение для нужд логического вывода, а не как основной метод описания.
Продолжение: Концептуальное описание индивидов
Комментарии (111)
Ares_ekb
25.01.2016 19:20+2Очень интересная тема, я в своё время сломал об неё мозг.
2-ой вариант про роли. Вот, пара статей на эту тему:
ceur-ws.org/Vol-179/eon2006kozakietal.pdf
mp.binaervarianz.de/ijeis2010.pdf
Авторы достаточно глубоко рассматривают роли, варианты их представления в моделях, виды и т.п. Японцы в статье ссылаются на свой инструмент для создания онтологий, ориентированных на роли. Они разделяют просто роли (role concept) и носителей ролей (role-holder). Например, есть сущность «Человек». Человек может играть роль учителя. Причём, «учитель Иванов» — это role-holder, а просто «учитель» — это role concept. Такое разделение важно, потому что role concept могут существовать и без носителей, например, в штатном расписании может быть просто должность учителя или может быть вакансия на учителя (без привязки к конкретному человеку).
А 3-ий вариант — это ещё большая тема, которая является предметом мереологии. Вот, несколько статей:
www.conradbock.org/compkind.html
www.inf.ufes.br/~gguizzardi/CAISE2011-CR.pdf
plato.stanford.edu/entries/mereology
Там рассматривается множество различных видов и классификаций отношений часть-целое. Приведу несколько примеров мереологических отношений:
1) Сотрудник — отдел
2) Палец — рука
3) Город — страна
4) Порция воды в стакане — вся вода в этом стакане
5) Акт — пьеса
Всё это отношения «часть-целое», но они обладают разными свойствами. Например, я — сотрудник (часть) отдела, отдел — часть организации, следовательно, я — часть организации. В данном случае отношение «часть-целое» является транзитивным. Но с другой стороны, мой палец — часть меня, я — часть организации, но это не значит, что мой палец — это часть организации. Т.е. мереологические отношения могут быть разными.
Оба этих вопроса (про роли и мереологические отношения) сейчас открыты. Есть разные работы на эту тему, какой-то единственно правильной классификации ролевых или мереологических отношений лично я не нашёл.?boldachev
25.01.2016 19:57Спасибо за ссылки — посмотрю.
2-ой вариант про роли.
Я как раз умышленно не стал использовать понятие «роль», хотя во многих случаях специализационные (реляционные) отношения сводятся именно к ролям. (Про role concept и role-holder не думаю, что это точное решение — ведь роль может быть только у индивида, и вакансия — это тоже индивид — тут отношения сложнее… позже попытаюсь расписать.) Меня интересовал общий случай.
А 3-ий вариант — это ещё большая тема, которая является предметом мереологии.
В этом тексте (на начальном уровне описания) я прежде всего хотел показать отличие множества, как объем понятия, и множества, как группы индивидов в составе сложного индивида. Остальные проблемы — позже.
какой-то единственно правильной классификации ролевых или мереологических отношений лично я не нашёл.?
Да и я не нашел удобоваримого решения. Вот пытаюсь подобраться к этой проблеме со стороны субъектно-событийного подхода (см. предыдущие статьи).Ares_ekb
25.01.2016 20:37Насчет отношений тоже интересная тема… Роли можно представлять в моделях разными способами. Например, человек может играть роль водителя транспортного средства. Мы можем в модели описать две сущности: человек и транспортное средство. И можем создать между ними отношение «водитель — управляемое ТС». Т.е. моделируем роль в виде отношения. А можем моделировать роль как самостоятельную сущность «Водитель», у которого могут быть какие-то свои атрибуты (стаж вождения, категория), отношения с другими сущностями (водительское удостоверение).
Т.е. получается, что одно и то же понятие «Водитель» можно описать либо как отношение, либо как сущность. Для подавляющего большинства людей такая неоднозначность — это норма и они вообще не увидят тут проблемы. Но такая неоднозначность — это явный признак того, что с языком моделирования что-то не так. И потенциально это может привести к усложнению модели, к её переделке по каждому чиху. Например, я ввожу правило, что если у роли нет никаких свойств и отношений с другими сущностями, то моделирую её как отношение, иначе — как сущность. Но, что если сейчас у роли нет никаких свойств, а завтра вдруг окажется, что какие-то свойства всё-таки нужны. В этом случае придётся переделывать модель: отношение превращать в сущность. Или обратная ситуация: были свойства, а потом они стали не актуальны.
Для многих всё это звучит как какие-то абстрактные теоретизирования. Но когда модель утверждается, например, на межгосударственном уровне. Под эту модель делается реализация стоимостью с 9 нулями. И ты вдруг говоришь, ой, водитель должен быть не отношением, а сущностью, давайте всё переделаем, то все эти вопросы становятся совершенно конкретными.
Кстати другие подобные примеры «неоднозначности» описываются в книге www.brunel.ac.uk/~cssrcsp/BusObj.pdf (там пример на тему наследования) — я думаю, книга маст рид для всех кто занимается моделированием.
Или то же «транспортное средство» — это класс или роль? С одной стороны, это, очевидно, роль. Например, автомобиль может играть роль транспортного средства, товара (при купле-продаже), продукции (при производстве), музейного экспоната, орудия убийства и т.п. Но во всех этих ролях автомобиль остается автомобилем, это его неизменная сущность. Другие примеры сущностей, которые могут играть роль транспортного средства — самолет, линия электропередач, трубопровод и т.п. Иными словами, транспортное средство — это роль. Но, блин, когда начинаешь рассказывать предметным специалистам или даже ИТшникам про то, что транспортное средство — это не суперкласс автомобиля, а его роль, то на тебя смотрят как на сумасшедшего )
Поэтому лично я пока забили на все эти роли, мереологию, 4D-онтологии и т.п. Пусть модель будет неправильная, примитивная, но зато понятная людям. Хотя в подсознании конечно все эти идеи сидят, может получится когда-нибудь применить.
Ещё одна ссылка про роли — объектно-ролевое моделирование.boldachev
25.01.2016 20:55Спасибо. Вы высказали именно те соображения-опасения-проблемы-тупики, которыми я сейчас и озабочен. И даже из этого вашего текста можно вынести основные требования к формализму описания: во-первых, это должно быть понятно специалистам (надо иметь внутренний-системый и внешний-интерфейсный словари), во-вторых, для разных специалистов должны быть разные описания (но состыкованные на нижнем уровне — именно для того, чтобы для одного нечто был ролью, а для другого классом), и в-третьих, разные уровни описания. Поэтому я и не спешу с рассуждениями о мереологии и ролях — пока пытаюсь выдержать разговор на самом общем уровне. (Еще раз спасибо за ссылки — полезные.)
dmagin
26.01.2016 09:51Прикольно, что когда я ломал себе мозг подобными вопросами, то среди прочих рассматривал и примеры, которые вы здесь привели — кто такие «Водители», что такое «Транспорт». Ну плюсом также — что такое «Товар», кто такие «Контрагенты», что такое «Банки». И еще именно термином «роль» мучил себя и окружающих.
Для себя я нашел ответы, которые меня устроили. Но в целом согласен, что для практики в 90% ситуаций достаточно примитивных моделей.
SergeIndex
26.01.2016 13:00У Джона Sowa есть такая классификация способов группировки:
— Коллекция: составной объект, включающий разнородные, не обязательно исчисляемые, не обязательно четко разделяемые части. Пример: куриный суп с клецками.
— Множество: совокупность однородных, исчисляемых объектов.
— Тип: произвольная группа объектов, которую аналитик счел нужным выделить по какому-либо основанию.
— Категории: типы, используемые с целью классификации.
Мутно у него написано про категории, а в остальном — классификация полезная.
Если говорить о типах, как раз становится понятна та мысль, которую доносит автор поста. Выделяя тип, мы подразумеваем некую идею — это интенсионал; те объекты, которые соответствуют этой идее — экстенсионал.
Понятно, что экстенсионал одного и того же типа может быть различным для разных субъектов.
Интенсионалу мы присваиваем знак — например, слово «собака». Также понятно, что в разных контекстах интенсионал одного и того же знака может быть разным.
На мой взгляд, это ставит все на свои места.
В том числе, из этого следует, что задачи типизации, классификации, категорирования никогда не должны решаться вне практического контекста.boldachev
26.01.2016 15:09Спасибо. У вас же и читал про классификацию Sowa )). Мне она не нравится. Не понятно, почему коллекция должна содержать разнородные объекты — я не вижу существенной онтологической разницы между коллекцией картин и коллекцией утвари дворянской усадьбы. И как может быть коллекция неисчесляемой? А множество, наоборот, обязательно исчисляемо? Почему тип — это множество? Да, можно создать множество однотипных объектов, но сам тип никак не множество. А про категории и говорить нечего — какая-то откровенная нелепица. Ведь все, что введено в онтологию используется с целью классификации. Да еще налицо тавтология: тип — это множество (то есть уже некая классификация), а категория — тип, используемый для классификации. Вообщем туши свет.
Понятно, что экстенсионал одного и того же типа может быть различным для разных субъектов
Для этого любое выделение объекта должно приписываться конкретному субъекту. Вообще онтлогии могут быть только субъектными, конечно, с фиксацией, некоторой «объективной» (для данного множества субъектов) онтлогии, понимаемой как пересечение субъектных онтологий. Если субъекта выделить нельзя, то надо вводить что-то типа «абсолютного субъекта».
Также понятно, что в разных контекстах интенсионал одного и того же знака может быть разным.
Для этого онтология должна быть исключительно темпоральной — с привязкой утверждений/фактов к событиям конкретного действия (контекста). В этом случае один и тот же объект может подпадать под разные понятия или «играть» разные роли без возникновения противоречий.SergeIndex
26.01.2016 15:18Тут с вами соглашусь по всем пунктам. Особенно про субъекта — этим соображением мы напрямую руководствуемся в моделировании.
Delphinum
25.01.2016 19:51Как википедию прочитал. Брр…
Формализм теории множеств может использоваться только как локальное упрощение для нужд логического вывода, а не как основной метод описания
Так UML же. И не придется ограничиваться одним лишь включением подмножеств во множества. Я частенько дополняю UML оговоренными компонентами, что позволяет не только описать разлиные типы отношений (наследование, агрегация, композиция), но и определить дополнительные характеристики предметной области.boldachev
25.01.2016 20:04И не придется ограничиваться одним лишь включением подмножеств во множества.
Тут проблема на самом верхнем теоретическом уровне: есть сторонники так называемого логического подхода, предлагающие все мыслимые отношения и атрибуты (включая численные) описывать на языке теории множеств. С ними и полемика.
И по поводу UML: да, дополнить можно. Но проблема не в подгонке модели к конкретной задаче, а о создании универсальной онтологии верхнего уровня. Существующие меня принципиально не устраивают. Вот и приходится начинать практически с нуля.Delphinum
25.01.2016 20:09создании универсальной онтологии верхнего уровня
Приведете пример?boldachev
25.01.2016 20:21+1Cyc (OpenCyc, ResearchCyc), BFO (Basic Formal Ontology), GFO (General Formal Ontology), SUMO (Suggested Upper Merged Ontology), DOLCE (Descriptive Ontology for Linguistic and Cognitive Engineering), онтология Джона Сова (Sowa’s
ontology).
Просто поищите по «онтологии верхнего уровня» или Top-Level Ontology, Upper Ontology.
Ares_ekb
25.01.2016 21:08Я тоже пытался сделать онтологию верхнего уровня, не совсем универсальную, а под конкретный проект. Хотя, всё-таки, с замашкой на универсальность. Кстати, тоже выделял события, роли и т.п. Потому, что существующие онтологии были или слишком узкоспецилизированные, или наоборот слишком философские (со всякими endurant, perdurant), или вроде бы нормальные, но слишком сложные (типа ISO 15926).
Но, во-первых, я столкнулся с противоречиями, на разрешение, которых просто не хватило времени. Например, с одной стороны, я делил сущности на объекты, субъекты, роли, события,… С другой стороны, есть единичные сущности, коллекции (некоторое количество сущностей) и классы (для которых количество не имеет смысла). Две ортогональные классификации. Но ещё я планировал, что все сущности будут упорядочены в иерархию. При этом не понятно куда в иерархию поместить какое-нибудь множество субъектов или какой-нибудь класс объектов.
А, во-вторых, даже если бы я разрешил все эти противоречия, всё-равно вряд ли бы кто-то стал этим пользоваться, потому что слишком сложно.boldachev
25.01.2016 22:45+1Чисто философская у меня получилась такая habrahabr.ru/post/256331 Да и то, как-то вышел на меня сугубо программист с расспросами, как эту схемку для семантической БД использовать.
Про «во-первых»: непротиворечивой, на мой философский взгляд, не получится, поэтому и стремится не надо. Желать можно только локальной непротиворечивости — в рамках одной деятельной проекции на фиксированный уровне субъектов. А другого и не надо — нет задачи пересчитать все песчинке в мире и учесть все причины. И строиться онтология верхнего уровня должна не от верха, а от середины (как мы и мыслим) — только так можно добиться локальной сводимости. А универсальности я пытаюсь добиться вводя сугубо событийную онтологию — все можно описать через поток событий: любой факт — это событие.
Про «во-вторых»: сложно должно быть на периферии (сверху и снизу — для обобщений и реализации), а на уровне пользователя должно быть элементарное условное описание событий меняющих систему.
michael_vostrikov
25.01.2016 22:09индивида Жучку мы называем лайкой, если она входит в множество лаек, а само множество лаек определяем как совокупность всех индивидов лаек
Я не специалист в теориях, возможно где-то и рассматривается принадлежность ко множеству как единственный вариант связи. Но в обычном бытовом смысле мы Жучку называем лайкой, если она соответствует общепринятым признакам лайки. У вас это называется «подпадание индивида под понятие». Только не очень понятно, зачем вы посвятили этому 3 абзаца. Выглядит так, как будто вы придумали проблему с неправильным определением понятий и потом доказали, что неправильные определения это неправильно.
связь индивида «Жучка» с понятием «ездовая» существенно отличается от связи с понятием «лайка»…
Неа. Здесь тоже идет соответствие признакам. К примеру, абсолютным чемпионом можно назвать победителя последней мировой выставки. Одна собака может несколько раз побеждать в выставках и соответствовать этим признакам, потом победит другая, и этим признакам будет соответствовать уже она.
К примеру, Жучка могла быть признана абсолютным чемпионом породы, а потом утерять это звание, что принципиально невозможно с концептуальными понятиями
Аналогично Жучка может перестать соответствовать признакам лайки, если набор признаков лайки поменяется, например, в результате какой-нибудь всемирной конференции биологов. Другой пример, можно считать банан деревом, а потом окажется, что это трава.
Жучка не может быть и собакой, и кошкой
Потому что в наборах признаков собаки и кошки есть взаимоисключающие признаки, в данном случае связанные с генетикой.
Жучка является частью псарни и частью упряжки
Тут, конечно, есть отношение «часть-целое», но если рассмотреть это с другой стороны, то все снова сводится к набору признаков. У нас есть некоторое представление о том, что такое упряжка собак, и один из признаков — это некоторое множество собак. На привале собак можно распрячь и отпустить, тогда можно будет сказать, что у нас пустая упряжка.
То есть, все 3 случая — это соответствие определенному набору признаков. Может в теории традиционным является выделение множеств, но на практике выделение признаков давно уже применяется в программировании и проектировании предметной области приложения. Правда, там есть свои технические сложности касательно задания и определения соответствия, но это уже другой вопрос.boldachev
25.01.2016 23:00Вы, наверное, не подозревая сами, выделили самую суть проблемы — одно и тоже семантическое содержание можно описать неконечным числом способов: через принадлежность к классам-множествам, концептуально — через подпадание под понятия, через отношения между объектами, через наборы признаков. И ни один из них не является единственно правильным. По поводу применимости каждого из подходов можно произнести ваше «но если рассмотреть это с другой стороны».
Если попытаетесь разобраться с проблемами использования ООП для описания сложных предметных областей, то как раз узнаете о неадекватности использования набора признаков (классов ООП).
ivanbolhovitinov
25.01.2016 23:03Все эти Жучки стоя пирамидкой не могут построить систему, потому что система вскрывается во взаимодействии с другими объектами.
Информационные системы всегда являются частными ролевыми. Не общими.
Поэтому любые классификации, выходящие за рамки конкретной ролевой модели считаются несущественными.
То есть организация Жучек в кучки, их цветность и породистость, признание лидера стаи и всякое такое не важно, если у вас определённая характеристика любой Жучки не влияет на связанные действия.
Порода и цвет не влияет на норму амортизации и инвентарный учет в бухгалтерии. А значит их учитывать не следует. Зато влияет назначенная роль (приплод в питомнике, служебные собаки в таможне, ...).
Инвентарный номер — обязательно, балансовая стоимость — самое главное, кличка — желательно, но можно и обойтись.
Если вы отдельной Жучке написали инвентарный номер на ошейнике, уж не перепутаете с другими Жучками. Это и есть её главное онтологическое свойство.
Нет никаких неизменных сущностей. В рамках конкретного учета собака приравнивается машине, несмотря на всю онтологическую философскую метафизику.
Иначе наши Жучки будут стремиться обладать бесконечным набором классификаций
(Жучки спящие на правом боку, Жучки со звёздочкой на лбу, Жучки родившиеся в первую четверть луны, Жучки весящие ровно 10 кг итд итп)boldachev
25.01.2016 23:35То есть организация Жучек в кучки, их цветность и породистость, признание лидера стаи и всякое такое не важно, если у вас определённая характеристика любой Жучки не влияет на связанные действия.
Спасибо. Очень мудрая мысль: если что не влияет, то неважно, а если влияет, то важно)))
SergeIndex
26.01.2016 13:41Золотые слова!
Как я не раз писал,
— само выделение типа «Собака» зависит от контекста (фарфоровая собака — это Собака? в одном контексте — да, в другом — нет),
— границы объекта зависят от контекста (на собаке, правда, это сложно показать),
— интенсионал, соответствующий знаку «Собака», в разных контекстах и для разных субъектов разный,
— набор конкретных объектов, являющихся Собаками, может отличаться для разных субъектов даже в пределах одного контекста и интенсионала,
— говорить о классификации Собак имеет смысл только с оглядкой на конкретную задачу, которую мы хотим решить,
— не всякий признак Собаки есть основание для классификации (на каком боку она спит — точно не основание).
Есть, конечно, техника безатрибутного моделирования, когда наличие любого признака, любое утверждение об объекте выражается классификацией. Но с практической точки зрения очень неудобно получается.
Куда удобнее, когда классификация выражает утверждения о самом объекте как таковом, а атрибуты — утверждения о его положении в мире, связях, структуре и т.д.boldachev
26.01.2016 14:41Золотые слова!
Смысл этих «золотых слов» заключается в простой мудрости: собака есть то, что я назвал собакой (или точнее, то что попало под мое понятие «собака»). И атрибуты тут вторичны, производны от понятия (далее должны идти рассуждения о прототипах).
Гораздо более золотой была бы методология/нотация, в которой эти золотые слова можно было бы не только произнести, но и формально зафиксировать (над чем и работаю))))SergeIndex
26.01.2016 14:55Скромно добавлю, что с технической точки зрения тут нет особой проблемы. Никто мне не мешает в онтологии выразить сведения о том, что такой-то объект является тем-то с такой-то точки зрения. Мы это делаем на практике, например, создавая утверждения о том, что предприятие X с точки зрения закона ФЗ-123 — это опасный производственный объект, а с точки зрения пользователя, глядящего на карту такого-то масштаба, оно же является пространственным объектом, имеющим площадь. Из первого следуют определенные регламенты, применимые к этому предприятию, из второго — то, что мы его можем на карте нарисовать в виде многоугольника. При этом «точка зрения» явно указывается в определении классов, и используется при работе с моделью в информационной системе.
Тут главное смотреть на технологию как на технологию, а не догму.
А вот стройная методология, в которой все это можно описывать до внесения в ИТ-систему, очень бы не помешала. Как средство организации умов аналитиков.boldachev
26.01.2016 15:14А вот стройная методология, в которой все это можно описывать до внесения в ИТ-систему, очень бы не помешала.
Некоторые моменты я попытался зафиксировать в своем комментарии по поводу классификации. Какие-то общие соображения есть в моих предыдущих публикация по субъектно-событийному подходу. Постараюсь развить эту тему в последующих текстах.
Cybersoph
26.01.2016 12:25+1Уважаемый автор и уважаемые комментаторы!
В очередной раз читаю о разработках в области так называемой «Онтологии». Огромное количество трудозатрат уходит на выявление «связей и отношений» какой-либо «Жучки» с какими-нибудь «дедушками и бабушками». Может ли кто-то объяснить, что это даёт исследователям и разработчикам? Станут ли от этого машины умнее? Смогут ли они понимать тексты на естественных языках, как это умеет делать человек? Научатся ли компьютеры оперировать Знаниями, а не только Данными, как это имеет место быть сейчас?
Зачем, вообще, нужны все эти онтологии?
Был бы очень благодарен за откровенный и обстоятельный ответ.SergeIndex
26.01.2016 12:49+1Не сочтите за PR, но какое-то количество ответов на эти вопросы можно найти здесь: trinidata.ru/files/SemanticIntro.pdf
PavelSandovin
26.01.2016 12:56Спасибо за ссылку! Скажите, в этой книге материалы чисто теоретического плана или выросшие из практики? Вы реально применяете изложенное в каких-либо проектах?
SergeIndex
26.01.2016 13:01Выросшие из практики — все применяем. Немного о проектах сказано на сайте trinidata.ru, больше могу рассказать в личку.
Cybersoph
26.01.2016 13:08Вы пишите на сайте, что Ваши разработки могут «управлять знаниями» и приводите такие определения, как «базы знаний».
Неужели Вам удалось научить машину оперировать Знаниями? Или всё же речь идёт о чём-то другом?SergeIndex
26.01.2016 13:21Есть конкретные технологии, которые позволяют представлять концептуальные модели в электронной форме и оперировать ими. Чтобы понять, как это выглядит на практике — нужно углубляться в детали, которые в книжке описаны. Тогда станет понятно, что машина может на этих технологиях делать, а что — не может.
Например, машина может делать логические выводы в духе «Все люди смертны, Иван — человек, значит — Иван смертен» (уровень сложности как условий, так и получаемых результатов практически не ограничен).
Следовательно, я могу известные мне факты (мои знания) записать в электронной форме в виде вот таких аксиом, и машина за меня сделает выводы. Это одна из граней управления знаниями.
Для того, чтобы такие вещи работали, крайне важно построить такую концептуальную модель, логические вычисления на которой будут давать осмысленные выводы. Для этого нужны методики моделирования, в которых важную роль играют вопросы группировки объектов. Пост посвящен возникающим при этом проблемам, то есть это теоретическое рассуждение, имеющее конкретные практические применения.
Cybersoph
26.01.2016 13:28Хорошо. Тогда могли бы Вы привести пример формата записи любой части текста и сказать, вот это и есть Знание и оно понятно машине, которая распоЗНАёт его именно как Знание?
Ares_ekb
26.01.2016 14:00Может быть вам будет интересна эта статья: habrahabr.ru/company/abbyy/blog/269191
SergeIndex
26.01.2016 14:11Распознавание смысла текста — отдельная задача. Ее вполне сносно решает, например, продукт ABBYY Compreno, который позволяет получить из текста онтологию.
Если говорить о тех технологиях, с которыми мы работаем, то внутренним представлением знаний является граф, а не текст. Его можно построить руками, можно распознать из текста, а можно, наоборот, построить текст на его основе. Для работы с графом есть набор программных инструментов.
Один из таких инструментов — наша Система управления знаниями, которая позволяет строить запросы к базе знаний. Одним из способов построения запросов в ней является контролируемый естественный язык. Слово «контролируемый» значит, что можно написать не любую фразу, а только такую, какая дозволена правилами.
У нас есть мини демо-версия (см. trinidata.ru/asuz_demo.htm), которая позволяет построить, например, такой запрос:
Курорт, такой (-ая), что Находится в стране Россия и Имеет климат Средиземноморский.
Если ввести эту фразу в обычном поисковике, он найдет страницы, в которых указанные слова встречаются в определенных сочетаниях и с некоторой частотой. Смысл слов он при этом не анализирует. Выданные результаты будут достоверными лишь в каком-то приближении.
Наша система «знает» термины Курорт, Страна, Климат, Находится, Имеет. Запрос будет преобразован в шаблон поиска, который будет применен к графу. Результатом запроса будет 100% точный, логически обоснованный (с позиций фактов, имеющихся в системе) ответ на заданный вопрос.
Это очень простой пример, зато его можно привести в рамках комментария.
Более полную информацию, повторю, можно найти в книжке.
boldachev
26.01.2016 13:10Это вы меня извините, что не указал ваше методическое пособие как один из материалов, которым непосредственно пользовался при написании этого текста.
У вас там предложены решения возникающих проблем с использованием классов-множеств в рамках изначально заявленной вами парадигмы. Моя же цель, показать, что эта методология изначально неудовлетворительна, что возможны другие подходы, не требующих заплат для решения некоторых проблем.SergeIndex
26.01.2016 13:32Кстати, пособие я обновил пару недель назад, если не видели этой версии — гляньте, там добавлено немало материала. В т.ч. о способах группировки.
В целом же, если под «нашей» парадигмой понимать RDF/OWL, то нужно разделить вопросы концептуального моделирования и ИТ. Первоначально кажется (и мне самому казалось), что OWL задает некую парадигму моделирования уже тем, что использует понятия «класс», «индивид», «свойство», использует инструментарий теории множеств. Сейчас я пришел к выводу, что никто не заставляет нас так думать.
Иными словами, на уровне концептуальной модели мы можем мыслить так, как нам удобно.
Можем думать о типах, имеющих интенсионал (подразумеваемое значение) и экстенсионал (набор объектов, которые ему соответствуют).
Можем думать о множествах.
Можем думать о коллекциях.
И на этом уровне совершенно «не париться» за то, как это будет выражено средствами ИТ.
Далее, когда доходит дело до представления модели, начинаем смотреть на возможности OWL — действительно весьма ограниченные (хотя, с другой стороны, и в таком объеме до сих пор мало используемые). И тут нам приходится выбрать способ технического представления тех или иных наших измышлений. Пару рецептов на эту тему я описывал.
Но, самое главное — от того, что и тип, и множество превратились в owl:Class, в концептуальной модели ничего не изменилось. Мы можем с этим owl:Class'ом оперировать как с типом, а можем — как с множеством. Можем подразумевать у него интенсионал, а можем и не подразумевать, а просто механически объединить какие-то объекты.
boldachev
26.01.2016 15:27+1Кстати, пособие я обновил пару недель назад
Спасибо. Смотрел и последнюю версию.
Иными словами, на уровне концептуальной модели мы можем мыслить так, как нам удобно
Это понятно. Но хотелось бы приблизить формальный язык (нотацию) к мыслимой модели. Хотя потом при машинной интерпретации все в конечном может свестись к тем же owl:Class. О чем я написал в последнем предложении текста: "Формализм теории множеств может использоваться только как локальное упрощение для нужд логического вывода, а не как основной метод описания."
Можно задачу поставить так: нужен язык высокого уровня (с концептами, ролями, коллекциями, системами и пр.) для описания предметной области и его компилятор для перевода написанной онтологии на язык, скажем, логики первого порядка, тот же OLW — для логического вывода.
lair
26.01.2016 12:51Зачем, вообще, нужны все эти онтологии?
Чтобы строить модель предметной области.Cybersoph
26.01.2016 13:04Ну хорошо, эксперты — живые люди построили эти «модели предметной области» (МПО). Модель, как я понимаю, это набор взаимоувязанных каким-то образом Данных. И что? А где Знания? Разве «МПО» это Знания?
Можно ли с помощью МПО извлекать из текстов Знания? Вроде, нет. Тогда зачем всё это, когда есть сообщество экспертов, которые делают работу вместо машин?lair
26.01.2016 13:06Разве «МПО» это Знания?
Да, модель предметной области — это выраженные нужным образом знания о предметной области.
Можно ли с помощью МПО извлекать из текстов Знания?
В определенных случаях — да.
Тогда зачем всё это, когда есть сообщество экспертов, которые делают работу вместо машин?
Затем, что построив модель предметной области для конкретной задачи, можно приступать к автоматизации этой задачи, переложив ее с людей на машины.Cybersoph
26.01.2016 13:24lair, Спасибо, что отвечаете!
Однако, мне не стало легче. Камень преткновения здесь понятие «Знание». Возможно мы по разному понимаем этот термин. На мой взгляд, в онтологиях нет никаких Знаний. А понимание — это есть установление Знаний или как-то так. Разве можно извлечь Знания из текста без «знаниевой» технологии?
Возможно, что здесь просто какие-то ухищрения, не совсем приемлемые. Но ИМХО, онтологии это не те технологии, чтобы машина научилась оперировать со Знаниями. Не так ли?lair
26.01.2016 13:31Камень преткновения здесь понятие «Знание».
Если у вас свое понимание термина «знание», я не могу ответить на ваши вопросы, не зная, что вы вкладываете в это понятие.
Но ИМХО, онтологии это не те технологии, чтобы машина научилась оперировать со Знаниями. Не так ли?
Во-первых, не так. А во-вторых, оперирование «знаниями» — далеко не единственная задача, которую решают разработчики программного обеспечения, поэтому просто бессмысленно все сводить к этому вопросу.Cybersoph
26.01.2016 14:16Хорошо, постараюсь объяснить, что такое Знание.
Вот, например, кто-то говорит или написано в тексте: «Петя пошёл». С точки зрения лингвистики, это есть некое предикатное исчисление. С позиции онтологии — это связи и отношения. А вот, наше мышление реагирует на это с иной позиции. У нас в Сознании возникает некий Образ /Петя/, который куда-то двигался пешком. Фактически, получается, что выражение «Петя пошёл» есть некий КОД, а наше соЗНАние дешифровало его с помощью Знания, представляя себя, как кто-то, которого зовут /Петя/ куда-то идёт.
Так вот, если человек умеет расшифровывать Мысль, закодированную в языковом выражении с помощью Знаний, то как это может делать машина с помошью онтологий?lair
26.01.2016 14:25Так вот, если человек умеет расшифровывать Мысль, закодированную в языковом выражении с помощью Знаний, то как это может делать машина с помошью онтологий?
habrahabr.ru/company/abbyy/blog/269191Cybersoph
26.01.2016 14:37-2Технология «Компрено», на которую Вы ссылаетесь, есть модифицированная технология «Семантической Сети» Ёлкина С.В., которая была создана ещё 15 лет назад и от которой автор отказался примерно тогда же.
Компрено ИМПОТЕНТНА в отношении извлечения Смысла или каких-либо Знаний из текстов. Максимум, что она может делать, это находить некоторые слова по заданным для них в словаре маркерам.
По связям и отношениям между словами в предложении машина никогда не сможет представить себе её СМЫСЛОВУЮ модель.lair
26.01.2016 14:40Об этом побеседуйте с автором той статьи, а не со мной.
Я, со своей стороны, сказал, что онтологии полезны для построения модели предметной области. «Знания» сюда зачем-то приплели вы.Cybersoph
26.01.2016 14:59Модели предметно области полезны ровно в той степени, в какой полезны записи в бухгалтерской книге, в которых кроме автора мало кто разбирается.
Я действительно «приплёл» понятие «Знание», поскольку технологии обработки Данных сейчас на пике своих возможностей и мир ждёт технологии обработки Знаний. А мы занимаемся чепухой, составляем записи бухучёта…lair
26.01.2016 15:03Модели предметно области полезны ровно в той степени, в какой полезны записи в бухгалтерской книге, в которых кроме автора мало кто разбирается.
А как вы предлагаете разрабатывать программное обеспечение для сложной предметной области, не имея ее — области — модели?
поскольку технологии обработки Данных сейчас на пике своих возможностей
Что, правда? А почему тогда столько проблем в типовых, казалось бы, задачах?
А мы занимаемся чепухой, составляем записи бухучёта…
Я не знаю, кто эти «мы», которые занимаются чепухой — а вот программисты, которых я знаю, или которых я читаю, в основном занимаются вполне полезными вещами, решая конкретные проблемы конкретных людей и организаций.
Прямо скажем, если бы не эта «чепуха», мы бы сейчас с вами здесь не переписывались.Cybersoph
26.01.2016 15:12-1//А как вы предлагаете разрабатывать программное обеспечение для сложной предметной области, не имея ее — области — модели?//
Очень просто. Сначала надо разработать машинный формат Знаний. Чтобы это сделать, надо понимать, что есть на самом деле Знания?
Даю наводку. ЗНАНИЯ это есть ОТВЕТ на познавательный вопрос, записанный в памяти человека.
Если Вы сумеете записать Знание как Ответ на вопрос в памяти машины, значит Вы решили проблему!!!
Вот, собственно, чем надо заниматься.lair
26.01.2016 15:14+1Очень просто. Сначала надо разработать машинный формат Знаний.
… и это никак не решит поставленную выше задачу. При этом намного более «простые» методологии успешно ее решают.
Вот, собственно, чем надо заниматься.
И оставить тех людей, которые сейчас получают пользу от того, что я сейчас делаю, без этой пользы? Спасибо, но нет.
lair
26.01.2016 15:18Если Вы сумеете записать Знание как Ответ на вопрос в памяти машины, значит Вы решили проблему!!!
BTW, в такой формулировке это решенная задача. Но проблему бизнеса она все еще не решила.
PavelSandovin
26.01.2016 15:41Этим должны заниматься теоретики. Но они этим могут заниматься еще очень долго. Что делать в это время практикам?
Cybersoph
26.01.2016 15:48Павел, согласен с Вами! Действительно, разработкой «знаниевых» технологий должны заниматься специалисты в этой области. Однако, и программисты не должны стоять в стороне.
SergeIndex
26.01.2016 15:03+3Самое печальное в таких рассуждениях состоит в том, что они являются основанием для возврата к экселю.
Аргумент звучит так: если невозможно полностью воспроизвести человеческое мышление в ЭВМ — то не стоит пытаться использовать частичные решения, позволяющие к этому приблизиться.
Легко прийти к выводу, что нужно сидеть и ждать, пока кто-то создаст настоящий электронный мозг, а до тех пор можно со спокойной душой работать в электронных таблицах.
Конечно, ЭВМ не способна создать мысленный образ Пети, который куда-то идет. Но если в тексте сказано, что Петя пошел в школу, то благодаря онтологиям ЭВМ способна сделать вывод, что Петя — школьник. Точно таким же образом, каким сделает этот вывод человек.
Точнее, в онтологии заложен продукт человеческого знания, заключающийся в том, что если кто-то ходит в школу, то он является школьником. Машина просто применит его в конкретной ситуации.
Главное же состоит в том, что из такого способа получения выводов можно извлечь реальную пользу, и не стоит от нее отказываться потому, что это не полная эмуляция процессов, происходящих в голове.
p.s. посмотрите еще на IBM Watson. Интересная вещь.Cybersoph
26.01.2016 16:04-1//Аргумент звучит так: если невозможно полностью воспроизвести человеческое мышление в ЭВМ — то не стоит пытаться использовать частичные решения, позволяющие к этому приблизиться.//
В том то и дело, что обработка Данных, какой бы она изощрённой не была, она так и останется обработкой Данных.
Никакая онтология, нейросемантическая сеть и тому подобные вещи по определению не приведут к искомым результатам.
//Петя пошел в школу, то благодаря онтологиям ЭВМ способна сделать вывод, что Петя — школьник//
Вот здесь и кроется главный недостаток всяких онтологий. С какого перепугу онтология должна выдать, что «Петя это школьник»? А может, это мать школьника говорит про своего мужа, который пошёл на классное собрание, или петух по имени Петя забрёл во двор школы. Мы не знаем контекста, который может давать массу вариантов.
Если сказать: «кирпич, камень, вода, песок, цемент» — что именно выдаст Ваша онтология? Это есть Стена, Забор, Фундамент, Перекрытие и так далее?
Айбиэм Ватсон, Аскнет и прочие так называемые «вопросно-ответные системы» являются поисковиками по ключевым словам, в которых ответы заранее вбиты на вопросы.
Никакая Прога пока не может понять смысл вопроса или фразы.boldachev
26.01.2016 16:13+1Никакая Прога пока не может понять смысл вопроса или фразы.
И? Какой вывод? Все дружно форматируем свои винчестеры? Ведь ни одна программа на вашем компьютере не может понять смысл вашего вопроса. А заодно не забудьте выкинуть свой калькулятор он тоже не может.
Вы вообще о чем? Вам кто-то обещал, что онтологии предметных областей будут понимать смысл? Если не обещал, то к чему ваши требования? У каждой вещи, каждой программы, каждой технологии свои задачи, с которыми они более или менее успешно справляются. Не решают семантические технологии ваши задачи? Так и не обязаны. В чем суть ваших претензий?
lair
26.01.2016 16:50Айбиэм Ватсон, Аскнет и прочие так называемые «вопросно-ответные системы» являются поисковиками по ключевым словам, в которых ответы заранее вбиты на вопросы.
А вы откуда знаете? Вы на реализацию смотрели?Cybersoph
26.01.2016 18:27-1Да и с разработчиками знаком.
lair
26.01.2016 18:31Можете, в таком случае, указать конкретный участок реализации Watson, который подтверждает, что это «поисковик по ключевым словам»?
Cybersoph
26.01.2016 20:04-11. Ищет всё то, что есть в Базе.
2. В Базе связки Вопрос-Ответ.
3. Если запрос совпадает со связкой ключевых слов в вопросе, то Ватсон находит связанный с ним ответ.
4. Такая технология более менее приемлема для аналитических языков, к коим относится английский язык. Для русского языка процент попаданий будет намного хуже.lair
26.01.2016 20:36Я просил конкретный участок реализации, а не ваши предположения. Вот, скажем, конкретная структура хранилища подойдет.
Ares_ekb
26.01.2016 14:16Онтологии используются не только для машинной обработки знаний. Их можно использовать просто для построения концептуальных моделей. Причём как строить, так и использовать эти модели будут люди. Это нужно, например, при разработке различных интеграционных шин.
Представьте несколько информационных систем, с какими-то своими базами данных. Допустим нам нужно наладить информационный обмен между этими системами. Для этого мы анализируем все эти базы данных и строим единую модель в виде онтологии. Например, в одной базе данных есть сущность «Товар», в другой — «Продукция». Мы понимаем, что в действительности речь идёт об одной и той же сущности, просто они называются по-разному в разных базах. И в онтологии мы всё это дело унифицируем, создаём одну сущность, которую договариваемся назвать, допустим, просто «Товар».
Или обратная ситуация. Допустим мы не интегрируем существующие ИС, а разрабатываем новую. Но хотим, чтобы в нашей ИС была правильная терминология, были правильно выделены сущности и т.п. В этом случае мы можем взять онтологию например из ISO 15926. И если мы будем проектировать ИС в соответствии с ней, то наша ИС будет гарантированно совместима на терминологическом, концептуальном уровне с другими ИС, которые также основаны на этой онтологии.Cybersoph
26.01.2016 14:47//Онтологии используются не только для машинной обработки знаний. //
Не могли бы Вы привести хотя бы один единственный пример, когда онтологии достигли успеха в «машинной обработке знаний»?Ares_ekb
26.01.2016 16:55Я, в общем-то, с вами согласен. В моём понимании онтология — это просто навороченный словарь или справочник. К машинному понимаю чего-то или ИИ всё это имеет очень косвенное отношение. Я думаю, что онтологии делаются, главным образом, людьми для людей.
Cybersoph
26.01.2016 18:04//онтологии делаются, главным образом, людьми для людей.//
Ну, вот, наконец-то, правдивая и точная формулировка — «делается людьми для людей»! Спасибо Вам за это, а то сам никак не мог сформулировать.
Чем ПРИНЦИПИАЛЬНО онтологии отличаются, например от словаря Ожегова? Да ни чем. Это такой же инструментальный справочник, как и другие средства подобного рода. Меняются или обновляются лишь способы использования таких инструментов. Так зачем из этого делать фетишь? Нужно искать выходы на новый уровень обработки информации, на новый технологический уклад — к знаниевым технологиям — а не заниматься бесконечным усовершенствованием справочников и словарей, называя их «онтологиями».
PavelSandovin
26.01.2016 15:46Как вы понимаете «правильность» терминологии? Как соответствие какому-то стандарту?
Ares_ekb
26.01.2016 16:52Как соответствие её онтологии. В меня конечно сейчас полетят камни, но, если очень грубо, то онтология — это просто навороченный словарь. Например, создатели ISO 15926 в своей онтологии зафиксировали, что есть классы, события, роли, свойства,… дали определения этим понятиям, зафиксировали в онтологии как они между собой связаны. Теперь все разработчики ИС, которые опираются на онтологию из ISO 15926 будут создавать свои модели в одних и тех же терминах, будут понимать под ними одно и то же.
SergeIndex
26.01.2016 14:21+1Я разницу между Данными и Знаниями определяю так.
Данные требуют интерпретации человеком. Excel может просуммировать столбец с суммой продаж, но это механическая операция — он ничего не «знает» о продажах. То есть, человек дважды совершает преобразование: первый раз — когда вносит знания в ЭВМ, превращая их в данные, и второй раз — когда смотрит на обработанные данные, и делает на основании столбца цифр какие-то выводы о продажах (получает новые знания).
Онтологии позволяют перенести в ЭВМ и сам процесс получения выводов. Кроме того, они позволяют вносить информацию в ЭВМ, используя именно те понятия, которые мы используем в мышлении, и воспринимать результат, представленный в тех же понятиях. В этом смысле онтологии, безусловно, являются способом машинного представления и обработки знаний.
Если же говорить о процессе человеческого мышления в целом, то понятно, что никто доподлинно не знает, что представляют собой наши «знания», как именно происходит процесс мышления (логика — это некая модель одного из аспектов мышления, не претендующая на описание того, как работает голова у человека). В этом смысле обработкой знаний сможет заниматься только такая система, которая будет воспроизводить человеческий мозг.
Однако, не стоит проявлять максимализм и говорить, что пока такая система не создана — об обработке знаний нет и речи.
Главный критерий — это практика. Если онтологии позволяют имитировать процесс принятия решения человеком в определенных ситуациях (а они позволяют), дают возможность представить знания с большим богатством структуры, с меньшей потерей информации, чем, скажем, реляционные СУБД (а они дают) — стоит использовать эти возможности.
Cybersoph
26.01.2016 15:05//Данные требуют интерпретации человеком.//
Верно! Человек всё интерпретирует и делает он это с помощью Знаний. Причём интерпретирует не только Данные, но и информацию, содержащую в зашифрованном виде Знания!
Онтологии, как и записи бухучёта, тоже требуют интерпретации и тоже с помощью Знаний. А поскольку онтологии не являются Знаниями, то с помощью онтологий НЕЛЬЗЯ ничего интерпретировать.SergeIndex
26.01.2016 15:16+3Интерпретации-то они требуют, но это интерпретация другого уровня. Поскольку в онтологии информация представлена при помощи понятий, которыми оперирует человек, и выражена в виде фактов. Это представление намного ближе к нашему сознанию, чем колонка цифр.
Повторю, если придерживаться вашей точки зрения — то Знаниями является только то, что у человека в голове. Из этого априори следует, что не может быть способа работы с ними в ЭВМ, то есть разговор получается ни о чем.
Приведу аналогию. Человек с древних времен мечтал летать по воздуху, как птица. Проводились многочисленные эксперименты с самодельными крыльями и колокольнями, а потом наконец практические умы догадались не закицливаться на птицах и их способе полета. Появились воздушные шары, аэропланы, реактивные самолеты, ракеты… Человек до сих пор не летает, как птица, однако практической пользы получено огромное количество.
Со знаниями то же самое. Не нужно зацикливаться на воспроизведении человеческого мозга в электронной форме. Пользу можно получить и без этого.Cybersoph
26.01.2016 15:45-2//в онтологии информация представлена при помощи понятий, которыми оперирует человек, и выражена в виде фактов//
1. Огромная просьба к Вам, как к специалисту в онтологиях, могли бы Вы показать мне ровно один пример «понятия» и ровно один пример «факта», которые может распознать машина?
На мой взгляд сегодня машина умеет распознать только Пиксель, а точнее его координату и цветовое значение.
Ничего более компьютер не умеет делать.
//Повторю, если придерживаться вашей точки зрения — то Знаниями является только то, что у человека в голове. Из этого априори следует, что не может быть способа работы с ними в ЭВМ, то есть разговор получается ни о чем.///
2. Действительно, Знания пока хранятся в Сознании человека, а где располагается Сознание — в голове или вне его — ещё тот вопрос.
Поэтому тот, кто придумает не биологический, а машинный формат хранения Знаний, тот сможет научить машину оперировать этими форматами.
//Человек до сих пор не летает, как птица, однако практической пользы получено огромное количество.//
3. Человек самостоятельно и не будет летать в условиях земли. Но человек умеет разрабатывать инструменты для переноса себя в воздушном и безвоздушном или водном пространстве. Единственный инструмент, который ему осталось разработать — это автоматизированный обработчик Знаний.
Эта задача обязательно будет решена, но не с помощью ухищрений типа «онтологии» или «компрено», а с помощью действительно мощного инструмента, способного дешифровать мысли, закодированные естественным языковым средством.Ares_ekb
26.01.2016 17:06Ну, тот же агрегатор новостей Яндекс по ключевым словам определяет тематику новостей (политика, культура, экономика, ...), группирует новости про одно и то же, но размещённые на разных сайтах.
Т.е. он каким-то образом устанавливает факт принадлежности новости к той или иной категории, устанавливает факт того, что две новости про одно и то же.Cybersoph
26.01.2016 18:25Понимает ли агрегатор новостей, что он делает? Или же ему задали какой-то алгоритм, который он выполняет?
Каково количество новостей, имеющих ту же тематику, но написанные в ином контексте (иными ключевыми словами) не попадают под агрегацию?
Есть много вещей, от тезауруса до конкорданса, от статистики до стохастики, при помощи которых можно агрегировать массивы информации по ключевым словам, имеющим семантисы с иерархической атрибутивностью.Ares_ekb
26.01.2016 20:06Понимает ли что-то агрегатор новостей или понимает ли что-то человек — это философские вопросы. Честно говоря, в последнее время я думаю, что разница между мышлением человека и «мышлением» агрегатора новостей всего лишь количественная. У агрегатора очень простые входные стимулы, очень простые алгоритмы и очень ограниченный набор реакций. Ему скормили кучу новостей, он их обработал и для каждой новости выдал категорию.
А чем принципиально от агрегатора отличается мышление человека? По-моему только более сложными входными стимулами, алгоритмами и реакциями. Человек с рождения учится произносить звуки, слова, реагировать на слова как это делают окружающие, учится ходить как окружающие, одевается как окружающие, ходит в школу, в вуз, на работу, потому что так делают окружающие его люди. Пишет комментарии на форумах, потому что научился этому у других людей. Есть вообще хоть что-нибудь, что человек делает основываясь на каком-то своём личном понимании?
Всю свою жизнь человек программируется обществом на выполнение определенной программы, его жизнь полностью детерминирована. Точно также как «жизнь» агрегатора новостей. Да, она разнообразней, но качественной разницы нет.
Человек, который никогда раньше не видел телевизор или компьютер, будет воспринимать их как живые организмы. Он будет думать, что в телевизоре сидят какие-нибудь гномы и т.п. Равно как и нам окружающие люди и мы сами кажемся «живыми», обладающими разумом, самосознанием и т.п. только потому что мы не понимаем как устроен человеческий разум. Т.е. «разум» агрегатора новостей и разум человека в действительности принципиально не отличаются. Это мы их воспринимаем такими разными потому что 1-ый для нас понятен, а 2-ой — нет.Ares_ekb
26.01.2016 20:34Наверное агрегатор новостей не смог бы написать подобный комментарий. А раз я смог, значит, обладаю каким-то типа разумом. Но, в действительности, всё очень просто
1) я смотрел как другие люди пользуются интернетом и стал тоже им пользоваться по аналогии
2) смотрел как люди пишут комментарии и тоже по аналогии научился их писать
3) наслушался от других людей идей о том, что в пробках стоять очень фигово, что это трата времени
4) услышал от кого-то, что жизнь одна, не надо тратить время в пустую
5) услышал, что во всём можно найти свои плюсы, что если не можешь изменить ситуацию (и тебе приходится ездить на работу и стоять в пробках), то измени отношение к пробкам, найди в них плюсы
6) узнал от других людей, что существую аудиокниги, что люди их слушают
7) узнал, что есть клевый писатель Виктор Пелевин, что другие люди его слушают
8) скомбинировал все эти факты и стал в пробках слушать Пелевина
9) Пелевин в S.N.U.F.F., в смотрителе, бэтмане аполло и других книгах задаёт читателю вопросы: что такое человеческое сознание, отличается оно чем-то от сознания «машины» или животного
10) а мне остаётся просто тупо задавать те же самые вопросы окружающим на форуме
Где во всём этом пресловутый человеческий разум? Я просто смотрю, что делают другие люди, как-то комбинирую это и делаю практически то же самое, что и остальные. Просто копирую их поведение, а не создаю что-то принципиально новое усилием мысли, воли, сознания или чего бы то ни было!boldachev
26.01.2016 20:48-1не создаю что-то принципиально новое усилием мысли, воли, сознания или чего бы то ни было!
Вот тут и принято проводить границу между рассудком, с одной стороны, и разумом/интеллектом с другой: рассудок только воспроизводит, не способен на создание нового (и таково — рассудочно — практически все население планеты), и лишь малый процент людей творит, то есть обладает разумом/интеллектом. Рассудочная деятельность вполне поддается рациональному моделированию — калькулятор считает куда быстрее нас. А творческая разумная/интеллектуальная деятельность принципиально иррациональна.Ares_ekb
26.01.2016 21:12Иррациональна — это не то же самое, что случайна, стохастична, хаотична? Картина ниже — это рассудочная или разумная деятельность? Человека в костюме рисовали и до Магритта, яблоко тоже рисовали до него. Он тупо скомбинировал человека и яблоко. Что он создал? Изобразительное искусство, люди в костюмах, яблоки, комбинирование разных вещей — всё это было до него. Он просто повторяет вещи, которые делают окружающие люди, общество его запрограммировало на рисование таких картин.
Он мог бы нарисовать женщину-грушу или жирафа-апельсин. И создаётся иллюзия, что он что-то творит, осуществляет осознанный, разумный, творческий или какой ещё выбор. Но в действительности он просто берёт известные вещи и случайным образом их комбинирует.
boldachev
26.01.2016 21:22Иррациональна — это не то же самое, что случайна, стохастична, хаотична?
Нет.
он просто берёт известные вещи и случайным образом их комбинирует.
Попробуйте сами скомбинировать что-нибудь.
(Это уже оффтоп, поэтому предлагаю на этой оптимистичной ноте и завершить ветку и пойти комбинировать.)
Cybersoph
26.01.2016 15:17+1Между Данными и Знаниями существует такая же разница и такая же схожесть, как между Элементом и Системой или как между Органом и Организмом.
Данное это Элемент Системы, именуемой Знание.
Данное это как Слово в языковой системе.
Машина умеет оперировать Элементами, но не умеет пока оперировать Системами.PavelSandovin
26.01.2016 18:30Не все так плохо. Мы принципиально не объясним полупроводниковому роботу что такое «первая любовь», просто потому что у робота нет и не будет мозгов, половых органов и др. чисто биологических атрибутов.
Но его вполне можно научить таким понятиям, как:
— скорость движения;
— качество покрытия дороги;
— направление движения;
— наличие препятствий.
— мотивация к действию (как значение некоторой функции)
Дополнив эту модель концептом «поиск другого робота с комплиментарным форм-фактором разъема передачи данных», уже можно говорить о машине в некотором смысле понимающей, что такое «одиночество», «грусть», «поиск половинки», «пропасть, разделяющая нас двоих» и т.д.
PavelSandovin
26.01.2016 13:05Хороший вопрос.
Допустим, мы хотим построить модель предприятия с целью автоматизации бизнес-процессов.
Я уверен, что если дать задание трем разным аналитикам построить модель 1 предприятия, в результате моделирования будут получены 3 разные модели.
И сразу возникают вопросы:
— Почему мы описывали 1 предприятие, а получили 3 разных модели?
— Какая из трех моделей «правильная»?
— Что означает «правильная» модель?
Этими вопросами, на мой взгляд, и должна заниматься онтология. В идеале хотелось бы иметь метод построения «правильных» моделей.lair
26.01.2016 13:07+1Правильная модель — это такая модель, применение которой позволяет решить задачу, под которую модель строилась.
boldachev
26.01.2016 13:54Давайте перенаправим ваш вопрос к науке: зачем нужны «науки», зачем описывать взаимодействия, силы, поля, заряды? разве мы сможем с помощью этого создать новый мир? Ответ простой: нет — не сможет. Но использовать в своих целях сможем.
Так и с онтологиями: согласитесь, лучше иметь формальное описание того, чем ты занимаешься, чем не иметь. Онтология — это и есть опись всего, что есть в предметной области с фиксацией отношений между этим «всем». Знания это? Конечно, знания. Помогают они человеку? Ну, настолько, насколько он сам сумеет этими знаниями воспользоваться. Вот проблема оперирования этими знаниями для генерации нового знания самим компьютером, конечно, еще далека до человеческого уровня. А вот на уровне поиска, систематизации, фиксации корреляций между элементами онтологии компьютер уже давно обошел по скорости человека (как и калькулятор по скорости счета).Cybersoph
26.01.2016 14:28Наука нужна для установления ЗАКОНОМЕРНОСТЕЙ в Мироздании и получения НОВЫХ Знаний.
Всё это прекрасно описывается в учебниках по научным дисциплинам, да так здорово и понятно, что большего и не надо.
Затем придумывают новое описание — онтологии, которое не имеет никаких преимуществ по сравнению с учебниками, физики или математики. Поэтому вопрос — ЗАЧЕМ?
Некоторые отвечают, что учебники машина не понимает и не может оттуда извлекать Знания. Нужно как-то структурировать, как-то формализовать, как-то описать Знания, чтобы машина могла с этим работать.
Ладно, допустим, что препарированный текст каким-то образом обрабатывается компьютером. Но тогда опять новый вопрос: «Если человек понимает Знания с помощью имеющихся в его Сознании Знаний, то как машина с помощью онтологий, не являющихся Знаниями, может распознать Знания в текстах?
Ответ — НИКАК!
boldachev
26.01.2016 15:56+1Наука нужна для установления ЗАКОНОМЕРНОСТЕЙ в Мироздании и получения НОВЫХ Знаний.
Онтология (модель предметной области) нужна для установления ЗАКОНОМЕРНОСТЕЙ в предметной области и получения НОВЫХ Знаний об этой предметной области.
Вы тут затеяли сугубо терминологический спор — в каком значении использовать слово «знание». Если знанием называть любые факты о предметной области (или Мироздании), то модель предметной области в той же степени. что и любая научная теория дает нам новые знания. Так же, как с помощью научной теории я могу получить выводы о траектории полета какого-то тела, так и при логическом выводе из онтологии мы получим новые суждения о предметной области (изначально в не заложенные в онтологию).
Если же вы под Знаниями (с большой буквы) вы понимаете только и исключительно вновь выведенные законы мироздания, то таковые вы не получите ни из научной теории ни в модели предметной области. Они исключительно продукт человеческого творчества не формализуемый ни в науке, ни в любых других сферах.
Итак, если вам кто-то скажет, что современные семантические технологии позволяют решать творческие задачи, открывать законы, ставить новые проблемы, то не верьте ему. Не могут. Формализованные модели предметных областей как и любые научные теории могут обеспечить только и исключительно логический вывод из исходных данных (ну еще статистическую обработку). И ничего более. Но и не менее.
Если для вас этого мало, то это ваши проблемы. Это как предъявлять претензии к автомобилю, что он не летает. Да, не летает. Но со своей задачей ездить успешно справляется.Cybersoph
26.01.2016 16:09-1//Онтология (модель предметной области) нужна для установления ЗАКОНОМЕРНОСТЕЙ в предметной области и получения НОВЫХ Знаний об этой предметной области.//
Кто или что устанавливает Закономерность? Пока что только человек!
Возьмите журнал лаборанта и обработайте его с помощью Ваших онтологий. Интересно, какую закономерность они Вам выдадут.
boldachev
26.01.2016 16:20+1обработайте его с помощью Ваших онтологий
Вы скорее всего, вообще не понимаете о чем спрашиваете. С помощью онтологий нельзя ничего обработать (как и с помощью научных теорий).
Я предлагаю вам прекратить множить шум на этой странице. Все уже поняли, что для вас обсуждаемая область бесполезна. В этом нет ничего странного. Мало ли кто в чем не видит пользы. Просто смиритесь с этим и не мешайте другим.
Успехов
Cybersoph
26.01.2016 16:11// так и при логическом выводе из онтологии мы получим новые суждения о предметной области (изначально в не заложенные в онтологию).//
Вы могли бы привести один единственный пример того, как онтологии «получают суждения о предметной области»?
Cybersoph
26.01.2016 16:16//если вам кто-то скажет, что современные семантические технологии позволяют решать творческие задачи, открывать законы, ставить новые проблемы, то не верьте ему. Не могут. //
С чего Вы этот посыл адресуете мне? Может это следует сказать компании Абби с их Компрено?
Я, собственно, как раз и утверждаю, что ни псевдосемагнтические, ни онтологические, ни стохастические, ни миварные, ни другие известные технологии не способны работать со Знаниями. Все они оперируют Данными! Следовательно, они не способны синтезировать Знания.boldachev
26.01.2016 16:26Я, собственно, как раз и утверждаю, что ни псевдосемагнтические, ни онтологические, ни стохастические, ни миварные, ни другие известные технологии не способны работать со Знаниями. Все они оперируют Данными! Следовательно, они не способны синтезировать Знания.
Повторю вам — это же сугубо терминологическая проблема. Вы тут спорите о словах. Если под знаниями понимать, то что вы, то следует признать, что ни одна научная теория неспособна синтезировать Знания. Почему вы не предъявляете претензии к научным теориям?Cybersoph
26.01.2016 18:19//Почему вы не предъявляете претензии к научным теориям?//
Во-первых, научные теории не являются ТЕХНОЛОГИЯМИ, к которым Вы относите онтологии. Научные теории являются лишь инструментом, то есть, одной из двух компонент, которые определяют любую технологию.
Методология и инструментарий в совокупности даёт технологию. Функция методологии, как набора способов, это использовать инструменты, как наборы средств, в заданном алгоритме.
Во-вторых, есть такое понятие как ПРЕСУППОЗИЦИЯ, которым Вы воспользовались. Я никому и ничему не предъявлял никаких претензий. Я искал ответы на свои вопросы и в большинстве случаев их не получил.
В-третьих, синтезом Знаний всегда занимался пока исключительно человек! Ни книга сама по себе, ни теория, пусть и научная, сама по себе, ни Интернет сам по себе не синтезирует Знания.boldachev
26.01.2016 19:22+1Во-первых, научные теории не являются ТЕХНОЛОГИЯМИ, к которым Вы относите онтологии.
Есть семантические технологии при помощи которых создаются онтлогии предметных областей, которые есть ни что иное как теории/модели этой предметной области. Научная теория некоторого предмета и онтология предметной области — это модели, построенные по определенным технологиям. И у этих моделей одинаковый статус относительно знания: ни одни, ни другие не предназначены для синтеза Знаний (с большой буквы).
Вся проблема (в ваших вопросах) заключается в том, что кто-то вам сказал, что модели предметной области синтезируют Знания (с большой буквы). Таки и нет — такого вам не скажет ни один разумный человек. Никакая рациональная модель/теория предметной области/предмета для этого не предназначена. Синтезом Знаний (с большой буквы) занимается только человек.
Хотя есть и другая сторона этой проблемы — терминологическая: слово «знание» используется в нескольких значениях. Если вы результат расчета поведения предмета, сделанный с помощью научной теории этого предмета, назовете словом «знание» (с маленькой буквы), то совершенно аналогично в результате логического вывода в модели предметной области может быть получено новое знание (с маленькой буквы) — новые факты.
Итого, надо всегда интересоваться значением используемых терминов — не все люди используют их также как и вы.
PavelSandovin
26.01.2016 12:54+1Приведенные рассуждения, прежде всего, ставят вопрос о достаточности, адекватности традиционного подхода к описанию предметной области с использованием классификации, основанной на теории множеств.
Не совсем понимаю, почему классификация, основанная на теории множеств стала традиционным подходом? Когда? В какой традиции?
Классификации строил еще еще Аристотель, когда теории множеств и в проекте не было. К XVIII веку научились классифицировать растения, животных и минералы уже совершенно ясно осознавая принципы, по которым должны строиться классификации. А теории множеств все еще не было.
Так при чем здесь теория множеств?boldachev
26.01.2016 15:59+1Не совсем понимаю, почему классификация, основанная на теории множеств стала традиционным подходом?
В современном стандарте semantic web (описание моделей предметной области) — RDF/OWL.
unbalanced
01.02.2016 11:41Еле продрался сквозь текст. Мессадж интересен, форма подачи — ужасает (меня, по крайней мере).
boldachev
01.02.2016 12:02Спасибо. Читайте продолжение (ссылку добавил в конец текста).
С формой подачи бывают и промахи. Буду надеяться, что те немногие, кому это действительно важно — продеруться.
semenyakinVS
Никогда не смотрел на классы, объекты и прочие подобные штуки как на множества и не слышал чтобы кто-то смотрел. В программировании объекты скорее как словари рассматриваются, стандарт содержимого которых определяется классами-фабриками. Словари это, конечно, тоже множества «ключ-значение», где ключ это имя метода или переменной объекта, а значение, соответственно, метод или переменная объекта… Но в статье — как мне показалось, немного путаной — речь о другом:
Вы вели спор с самим собой или с кем-то ещё (если второе — ссылку хотя бы одну на источники)? Интересно ещё для чего была написана статья. Просто поделиться своим взглядом на мир и обсудить философию программирования?
boldachev
semenyakinVS
Ну… Я читал потому, что не разбирался в таком разделении наук и до конца ожидал что будет что-то про программирование. Поэтому и озадачился, собственно.
boldachev
Да, это стандартная ситуация — программиста читая «класс» сразу думают про ООП и словари, а в семантике Class и SubClass это совсем про другое.
FiresShadow
А также на то, что речь идёт про программирование и ООП намекает то, что используется термин предметная область (часть реального мира, рассматриваемая в пределах данного контекста) и указан хаб «Анализ и проектирование систем». Предметная область — это описание мира глазами пользователя. С точки зрения ветеринара, корова — это биологическая система с её историей, а с точки зрения мясника — кусок мяса определенного качества и веса. Соответственно, похудевшая корова будет эквивалентна самой себе в предметной области ветеринара, и не будет эквивалентна самой себе в предметной области мясника (извиняюсь за жестокий пример). Анализ и проектирование систем — этап разработки программного обеспечения, начинающийся с понимания предметной области пользователя. Наиболее распространенный способ описания предметной области в рамках программы — ООП. Чтобы быть уверенным (а большинству — просто чтобы допустить, ведь это программисткий сайт), что статья не имеет никакого отношения к ООП, нужно быть телепатом. Я бы на вашем месте добавил пометку о том, что речь не идёт о ООП, во избежание недопонимания.
boldachev
Зачем телепатом? Можно просто уметь читать, например, название первого хаба «Семантика», а так же тэги «онтологии, моделирование предметной области, классификация, системный анализ». Встретить в тексте термины «онтология», «родо-видовые отношения», «часть-целое».
Да, сайт преимущественно программистский, но на нем есть люди читающие и пишущие в хабе «Семантика» о проблемах построения онтологий предметной области. Большинство комментариев подтверждают это.
Но если кто и ошибется — так не беда: проблемная ситуация помогает быстрее ощутить новое. Спасибо за совет.
Ares_ekb
На счёт множеств поддерживаю. Ещё лет 100 назад Бертран Рассел показал, что с множествами не всё в порядке. И древние греки тоже приводили какие-то примеры про Сократа и смерть.
И вообще сейчас в моде всякие 4D-онтологии, ISO 15926, теория категорий и т.п.
www.brunel.ac.uk/~cssrcsp/BusObj.pdf
boldachev
vvagr
Нет конечно, не та же самая. В рамках 4D подхода решение Ваших «проблем» 2 и 3 описаны в методологии и изначально не могут стать предметом путаницы или каких-то ошибок.
Решение всех возможных противоречий по «проблеме» 1 предполагает тоже ряд онтологических выборов (well-founded sets, экстенсиональный или интенсиональный подход), и если их честно и явно сделать — тоже нет никаких проблем работать далее в выбранных для себя рамках.
boldachev
Спасибо.
Я, конечно, знаю, что в рамках RDF/OWL и особенно ISO 15926 есть ряд решений, которые позволяют (хотя порой и на уровне заплат) решать возможные проблемы — «если их честно и явно сделать». Но мне эти решения не кажутся лучшими. Вот и появляется текст, в котором пока только задаются вопросы: а возможно ли на изначальном уровне учесть все варианты?
Кстати, под цифрами в списке перечислены не проблемы, в лишь варианты отношений Жучки и множеств, в которые она входит. И нигде не утверждалось, что в существующих семантических подходах нет методологии их описания. Проблема видятся в том, что аналитики не всегда отдают себе отчет в неоднозначности отношений множество-подмножество.
vvagr
Уж к RDF/OWL сказанноем мной не имеет никакого отношения.
В 15926 же на изначальном уровне учтено — в каких вариантах из этих трёх какое отношение использовать.
boldachev