Онтология — старая концепция переживающая ренессанс в эпоху AI
Это то, что разительно уменьшает галлюцинации и за чем стоит успех Google в AI гонке. А еще сложно представить mission-critical систему (напр. медицинскую) без онтологий.
Если вы работаете с LLM, боретесь с галлюцинациями, или думаете о том, как структурировать знания в вашей системе — пост будет вам полезен.
Хотя понятие древнее (восходит к Аристотелю), в контексте computer science онтология — это формальная спецификация концептуализации. Если проще, то это явное определение:
— Какие типы сущностей (entities) существуют в вашем домене
— Какие отношения (relationships) между ними возможны
— Какие правила и ограничения (constraints) должны соблюдаться
Почему онтологии важны для AI?
1. Ограничивают типы сущностей и отношений, которые LLM может извлекать
2. Совместимая структура для извлечения знаний (помним про стандарты, да?)
3. Детерминированный логический вывод (reasoning) по правилам (готовый, развитый аппарат для этого)
4. Борьба с обобщениями, потому что контекст без онтологии ломается (происходит т.н. meaning collapse)
Важные понятия, которые нужно знать
— Триплет — единица знания (Subject, Predicate, Object)
— Класс — тип сущности, например Person, Product
— Свойство/отношение — связь между классами
— Экземпляр (instance) — конкретный объект класса, например компания Google
— Правило (Rule) — логические ограничения
— Вывод (Reasoning) — автоматическая дедукция новых фактов из существующих
Важные стандарты: RDF (триплеты), OWL (хранение и reasoning), SPARQL (язык запросов).
Система знаний (а это чаще всего то, что мы тут делаем с вами в мире AI разработки) сильно выигрывает от внедрения онтологий, и правильная работа с ними — похожа на постройку здания, где фундаментом выступают доменные (отраслевые) онтологии. Примеры готовых доменных онтологий: SNOMED CT (медицина), FHIR (healthcare interoperability), FIBO (финансы), LKIF (legal), Schema.org (веб и не только). Над фундаментом строятся этажи из кастомных онтологий и знаний. Стройка эта не простая, но она дает качественно другой результат и инвестиция в онтологии — это стратегический asset, который растет в ценности.
Чаще всего AI-разработчики слышат про онтологии только в связи с графовыми БД (Neo4j) и GraphRAG. Но тема куда шире и фундаментальнее — это про то, как вы определяете структуру знаний в вашей системе, независимо от того, где и как вы их храните.
Сложно запихнуть в тг пост такую большую тему, но надеюсь хотя бы пробудил интерес и дал направления. Изначально я планировал написать про то, как использую онтологии в file-first подходе к агентам, но понял что нужен этот вводный пост сначала. Если тема зашла — через пару дней выйдет следующий пост.
🔥➕🔁
Добавить комментарий