Что такое онтология (база данных?)?

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

Итак, я попытался погуглить о базах данных и онтологиях и наткнулся на довольно много pdf-файлов 2006 года, которые полны непонятного содержания (на мой взгляд). Я прочитал несколько из них и до сих пор совершенно не понимаю, о чем они говорят.

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


person Robert Gould    schedule 25.03.2010    source источник
comment
Мне тоже интересно об этом услышать.   -  person Tomislav Nakic-Alfirevic    schedule 25.03.2010


Ответы (9)


Каруссел уже предоставил определение из Википедии:

«формальное представление знаний набором понятий в предметной области и отношениями между этими понятиями».

Для реализации такого представления было разработано несколько языков. В настоящее время наибольшее внимание, вероятно, привлекает язык веб-онтологий (OWL).

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

Для своей магистерской работы я работал с онтологиями OWL, но это было частью довольно академического исследования. Я не знаю, используется ли какая-либо из этих технологий в настоящее время на практике, но я уверен, что потенциал есть.

Обновление: пример

Пример «значения» и рассуждений об онтологиях: скажем, вы определяете в своей онтологии класс Pizza и класс Vegetarian Pizza, который является Pizza, не имеющим Ingredients, принадлежащих классу Meat. Если теперь вы создадите какой-нибудь экземпляр Pizza, в котором просто нет мясных ингредиентов, система может автоматически сделать вывод, что ваша пицца также является Vegetarian Pizza, даже если вы не указали это явно.

person Daan    schedule 25.03.2010
comment
Хорошо, это все еще не совсем ясно, но я думаю, что понимаю, что вы имеете в виду. Это своего рода база данных снежинок, в которой хранятся все метаданные вместе с данными (?) Звучит разумно, если у вас есть специализированное программное обеспечение вместо базы данных на основе SQL. Это кажется сложным для оптимизации, но со всем NoSQL в наши дни это может иметь какое-то применение. - person Robert Gould; 25.03.2010
comment
Да, я знаю, основа не очень сложна, но сначала трудно разобраться. Если вы действительно хотите почувствовать это, я предлагаю вам скачать редактор OWL, такой как Protégé, и поискать учебник (я помню, как работал с учебником, который моделирует многое о пицце, попробуйте поискать его). Это даст вам лучшее представление о том, что означают «отношения» и «значение» в данном контексте. - person Daan; 25.03.2010
comment
@RobertGould Daan, кажется, сосредоточился на некоторых интересных математических множествах членов онтологии; что действительно круто. Тем не менее, для некоторых людей подход, основанный на отношениях, немного легче понять на начальном этапе. У меня есть традиционный ответ в виде генеалогического древа, в котором основное внимание уделяется тому, как вы можете хранить отношения; но он использует очень примитивные онтологические признаки (для иллюстрации). Мне нравится думать об онтологиях как о графовых базах данных, к узлам которых применяется заданная математика. Они полностью гибкие, что приводит к проблеме беспорядочных идей, создающих беспорядочный код. - person Edwin Buck; 24.08.2020

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

Одна аналогия с диаграммами классов UML, но онтологии имеют формальную семантику, поэтому могут быть интерпретированы машиной, а не просто диаграммами для человеческого восприятия.

Пример:

Классы: Project, Person, ProjectManager. ProjectManager является подклассом Person (очевидно). Люди и проекты не пересекаются

Отношения: работает, управляет. Manages — это подсвойство workOn.

Ограничения: люди работают над проектами, а не наоборот. Только руководители проектов могут управлять проектами.

Этот простой пример позволяет делать машинные выводы, например. если X управляет Y, то мы можем сделать вывод, что Y — это проект, а X — менеджер проекта и, следовательно, человек.

person DNA    schedule 07.05.2011
comment
+1 Отличный и классифицированный пример! И действительно хорошая аналогия с UML. Это прояснило мне всю концепцию онтологии :) - person JosephConrad; 10.06.2013

Люди с искусственным интеллектом в какой-то момент подумали, что если мы хотим построить систему, чтобы иметь возможность каким-то образом думать, мы должны позволить системе каким-то образом узнать то, что мы знаем о мире. Другими словами, они хотели навязать компьютерам наше собственное понимание этого слова, создав базу данных, которая почти содержит информацию и краткие определения известных нам понятий и сущностей. Такие базы данных были построены с использованием различных алгоритмов, но в конце концов они не очень точны. Вам лучше взглянуть на базу данных, которая, как известно, является одной из лучших под названием CYC. http://sw.opencyc.org/ отметьте несколько слов в поле и посмотрите, что вы получите в качестве возврата . С наилучшими пожеланиями

person Ramin    schedule 18.07.2012
comment
Ссылка не работает. - person banan3'14; 11.08.2018

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

Мое текущее понимание состоит в том, что это идея слов в естественном языке (или «сущностей»), связанных друг с другом различными отношениями. Затем мы распространяем эту идею на любые объекты БД. И, по сути, мы не получаем ничего интересного и полезного языка запросов.

Я могу ошибаться.

person agsamek    schedule 25.03.2010
comment
РЖУ НЕ МОГУ! Хорошо, это был отличный ответ на мой третий абзац :) - person Robert Gould; 25.03.2010
comment
Если вам нужен язык запросов для семантической сети (онтологии), то их несколько. Попробуйте SPARQL, например: (w3.org/TR/rdf-sparql-query< /а>) - person DNA; 08.05.2011

А как насчет википедии?

онтология - это формальное представление знаний набором понятий в предметной области и отношениями между этими понятиями.

См. «Онтологии предметной области» и это и что для более подробной информации.

person Karussell    schedule 25.03.2010

Давным-давно я использовал базу данных онтологий, разработанную в Стэнфорде (Protege).

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

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

База данных онтологий предоставила превосходный способ моделирования данных. Но использовать его было другое дело. На извлечение частей ссылки из базы данных ушло больше времени, чем на копирование полной информации о цитатах и ​​ссылках из документа Word.

Все, что нужно, чтобы сделать что-то подобное действительно полезным, — это интеграция в текстовый процессор. (В идеале, вы бы добавили ссылки более или менее нормально, но затем сохранили бы их для последующего повторного использования вместе со ссылкой на место, где вы использовали! :__)

person Eric Armstrong    schedule 10.02.2021

Я полный непрофессионал, но мне кажется, что исследования искусственного интеллекта имеют 50-летнюю историю что идет по кругу циклами.

  1. Экстравагантные предсказания ученых.
  2. Щедрое финансирование со стороны правительства.
  3. Получены скромные результаты.
  4. Финансирование урезано жестоко.
  5. Время проходит. Предыдущий цикл забыт. Вернитесь к шагу 1.

Мы прошли цикл дважды. Возможно, на этот раз все будет по-другому...?

person MarkJ    schedule 17.05.2010

Некоторые комментарии выше кажутся несколько пренебрежительными. Я использовал базу данных онтологий в реальном продукте, и это был единственный способ решить проблему. Онтологию можно использовать для создания базы данных, которая гораздо лучше охватывает сложности реального мира, чем что-то вроде реляционной базы данных. Больше «информации», чем «данных». Это особенно хорошо, когда отношения сложные, а набор информации большой и неполный. Особенно аккуратен механизм запросов в хорошей базе данных онтологий — он разумно использует схему/онтологию (например, любые иерархии классов) для возврата ответов, которые иначе не были бы найдены.

person Stephen Enginr    schedule 17.03.2018

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

формальное представление знаний набором понятий в предметной области и отношениями между этими понятиями

  • Представление знания или модель
  • Домен или тема
  • Набор понятий или вещей в предметной области
  • Набор отношений между понятиями

Итак, с точки зрения информатики, это граф, в котором узлы соответствуют вещам, которые являются частью одной и той же темы, аннотированы данными, относящимися к теме, и связаны с другими узлами ребрами, аннотированными отношениями.

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

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

Например, в базе данных генеалогического древа на основе онтологий

  • Домен — это одно семейное дерево
  • Модель - это люди и их отношения в генеалогическом древе.
  • Понятия - это люди в семье.
  • Отношения были бы ребрами, указывающими на мать, отца, докучницу, сестру и т. д.

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

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

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

person Edwin Buck    schedule 24.08.2020