1632
правки
Изменения
м
rollbackEdits.php mass rollback
|definition='''Онтология (в информатике)''' {{---}} формализация знаний, включающая в себя представление, формальное именование и определение категорий, свойств и отношений между понятиями, данными и сущностями некоторой области знаний.
}}
Термин «онтология» применительно к графам знаний это, прежде всего, способ моделирования и формального представления схемы данных, обеспечивающий гораздо большие возможности, чем традиционные базы данных или объектно-ориентированный подход.
Согласно общепринятому определению в компьютерных науках, онтология {{---}} это способ формализации знаний, абстрактных или специфических, в какой-либо предметной области, реализованный на основе формального описания объектов, фактов и отношений между ними.
===Формализация===
|-
| style="background:#eaecf0;" | '''Правила'''
| Высказывания в форме предложения if-then "Если ..., то ..." (антецедент-консеквент), описывающие логические выводы, которые могут быть сделаны из утверждения в определенной форме.
| Если <tex>X</tex> смертен, то <tex>X</tex> умрёт.
|-
| style="background:#eaecf0;" | '''Аксиомы'''
| Утверждения (включая правила) в логической форме, которые вместе составляют общую теорию, которую онтология описывает описываемую онтологией в своей её области применения. Это определение отличается от определения "аксиом" в [[Исчисление_высказываний|формальной логике]]. В этой дисциплине ней аксиомы включают только утверждения, утверждаемые как априорное знание. Здесь же "аксиомы" также включают в себя теорию, полученную из аксиоматических утверждений.
| Человек смертен. Сократ {{---}} человек.
|-
[[Файл:Ontology-learning-layer-cake.png|400px|thumb|Рис. 3. Слоеный пирог обучения онтологий]]
Процесс получения онтологий начинается с вынесения множества терминов термов из текста и получения их синонимов. Далее они преобразуются во множество концептов. После чего выявляются связи между концептами, и в итоге формируются схемы аксиом и извлекаются аксиомы. Данный процесс называют '''слоеным пирогом обучения онтологии''' (рис. 3).
Алгоритмы, используемые в разных слоях при построении онтологии разбивают на 3 основные группы:
Статистические методы также используют для выявления связей. Распространёнными техниками являются:
* Категоризация термов (англ. ''Term subsumption'') находит связи между термами при помощи [[:Условная_вероятность|условной вероятности]]. Этот алгоритм ищет термы, являющиеся наиболее общими. Терм <math>t</math> считается более общим, чем терм <math>x</math> если <math>P(t\; |\; x) > P(x\; |\; t)</math>, где <math>P(t\; |\; x)</math> обозначает вероятность встречи терма <math>t</math> при наличии терма <math>x</math>.
* Анализ формальных понятий (англ. ''Formal Concept Analysis, FCA'')<ref>[https://wikipedia.org/wiki/Formal_concept_analysis#:~:text=Formal%20concept%20analysis%20(FCA)%20is,of%20objects%20and%20their%20properties. Wikipedia {{---}} Formal concept analysis]</ref> основан на том, что объекты могут иметь схожие атрибуты. Алгоритм на вход принимает матрицу связей объектов и атрибутов и находит в ней все естественные кластеры, что позволяет построить иерархию концептов и атрибутов.
Эта оценка использует источники знаний конкретной области, чтобы определить степень покрытия этой области обучаемой онтологией. Главным преимуществом данной оценки является возможность сравнивать одну или несколько целевых онтологий с конкретными данными. Однако возникает проблема нахождения подходящего источника знаний (как и в оценке золотым стандартом).
==Особенности применения онтологии для конкретных задач==
===Cистема автоматической обработки текста===
Лингвистическая онтология является одним из ключевых элементов в системе обработки текста и ее построение необходимо для решения задачи.
Как описано выше — для построения современных онтологий всегда является актуальным извлечение термов и концептов, в данном случае семантически связанных слов из текста на естественном языке.
Однако общим недостатком таких онтологий является отсутствие специализированных терминов, специфичных для данной предметной области. В следствие этого появляется проблема дополнения существующей онтологии, а именно семантической сети узлами и связями из внешних источников. И так как имеется множество публичных ресурсов для дополнения новых узлов и связей, то выделяют следующие задачи:
* Автоматизированный поиск новых узлов, связанных семантическими отношениями.
* Добавление новых узлов и связей в онтологию при обнаружении сущностей, признаки которых удовлетворяют заданным критериям.
Для решения данных задач существует множество способов анализа текстовой информации для извлечения из нее семантических отношений:
* Методы извлечения связей, основанные на шаблонах такие как "Top down" и "Bottom up"<ref>[https://www.math.spbu.ru/user/tseytin/butdu.html Bottom-up and Top-down Approaches to Text Analysis]</ref>.
* Группа методов, основанная на форматировании или на DOM<ref>[https://ru.wikipedia.org/wiki/Document_Object_Model Wikipedia {{---}} Document Object Model]</ref>.
* Методы, основанные на машинном обучении. Одним из самых явных примеров реализации является [[:Векторное_представление_слов#word2vec|word2vec]], основанный на нейронных сетях.
Последняя группа методов является наиболее современной и показывает наилучшую точность, но не позволяет достичь приемлимой точности и полноты в общем случае, так как данные методы используются для конкретной предметной области. Таким образом поиск наиболее подходящих признаков для обучения нейронных сетей необходим для применения лингвистической онтологии в данной задаче.
====Обработка текста на русском языке====
Чтобы применить онтологию для автоматической обработки текстов, необходимо понятиям онтологии сопоставить набор языковых выражений (слов и словосочетаний), которыми понятия могут выражаться в тексте. Для русского языка, как и для многих других языков, содержащие многозначные понятия, имеется ряд проблем.
Хоть понятие, лексическое значение относятся к категориям мышления, при этом между ними есть существенные различия.
Значение включает в себя помимо понятийного содержания (сигнификативно-денотативного<ref>[https://ru.wikipedia.org/wiki/Сигнификат Wikipedia {{---}} Сигнификат]</ref><ref>[https://ru.wikipedia.org/wiki/Денотат Wikipedia {{---}} Денонат]</ref> компонента значения), такие компоненты как оценочный, стилистический, сочетаемостный.
Также значение включает лишь различительные черты объектов, иногда относительно поверхностные, а понятия охватывают их наиболее глубокие существенные свойства.
Поэтому описать значения многих слов как совокупности общих и одновременно существенных признаков может быть очень трудно.
В целом, считается, что значение и понятие совпадают лишь в сфере терминологии.
Многие понятия в русском языке сложно представить в виде формальной системы, пригодной для логического вывода, например, описать таксономические связи, по следующим причинам:
* Из-за их нечеткости, расплывчатости.
* Контекстной зависимости, когда реализация некоторых компонентов значения существенно зависит от контекста.
* Существования значительных рядов синонимов, отличающихся оттенками значений, что затрудняет разбиение таких рядов на совокупность взаимосвязанных понятийных единиц. Например, сколько понятий онтологии оптимально (и на основе каких принципов) сопоставить следующему ряду слов со значением ''ОШИБКА'': ''ошибка, погрешность, недосмотр, просмотр, ляп, промах, оплошность, осечка, прокол, упущение, недочет'', а также'' ослышка, описка, опечатка, оговорка''. Таким словам обычно трудно найти точные слова-соответствия в других языках, то есть слова, имеющие такой же оттенок значения и такие же особенности употребления.
Несмотря на описанные проблемы, разработка моделей представления знаний о мире и о языке в рамках онтологий имеет смысл. Так например появился РуТез<ref>[https://www.labinform.ru/pub/ruthes/ О лингвистической онтологии "Тезаурус РуТез"]</ref> — онтология для автоматической обработки текста на русском языке, которая представила свое решение<ref>[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.671.6887&rep=rep1&type=pdf RuThes Linguistic Ontology vs. Russian Wordnets]</ref> для данных проблем.
==См. также==