Есть ли способ получить доступ к определенной концепции c в конкретном узле онтологии, используя owlready? - PullRequest
0 голосов
/ 23 февраля 2020

Я выполняю классификацию текста на основе онтологий. Моя онтология - это простая иерархия понятий, где каждое подконцепт является результатом высшего понятия. В методе классификации текста я вычисляю косинусное сходство между тестовым образцом текста и каждым узлом онтологии, где в качестве метки для документа назначается узел с наибольшим сходством. Сходство в каждом узле является нормализованным средним значением сходств всех узлов ниже указанного узла c в онтологии. Я сталкиваюсь с трудностями при доступе к узлам (понятиям / классам) онтологии, чтобы вычислить сходство. Я прочитал документацию Owlready2, но не смог найти решение. Я загрузил онтологию в формате .owl. Поскольку я новичок в этой топике c, было бы замечательно, если бы кто-то мог дать мне начальное руководство или указание, чтобы я мог продолжить это сам.

Другой вопрос: я загрузил онтологию, используя этот код .

onto = get_ontology("C:/fahad/Revision 1/EnvironmentalHazards.owl").load()

когда я печатаю класс / концепцию, используя следующий код.

print(onto.Scouring)

Он печатает следующее.

 EnvironmentalHazards.Scouring

Однако я хочу в результате получаю только "Scouring", чтобы я мог вычислить его косинусное сходство с образцом текста. Кроме того, есть ли способ напечатать иерархию понятий, так как список (on.classes ()) печатает только полные понятия в онтологии и игнорирует иерархию.

Заранее спасибо.

...