Использование онтологии для вывода меток для модели процесса - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь реализовать конкретный тип интеллектуального анализа процессов, который был представлен в этой диссертации [ссылка] . Он основан на HMM и генерирует модель процесса в форме ориентированного графа, где:

  • Узлы называются намерениями и соответствуют скрытым состояниям
  • Края называются стратегиями и состоят из различных действий
  • Эти виды деятельности соответствуют наблюдаемым выбросам HMM
  • Намерения могут быть выполнены с использованием различных стратегий

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

process model visualization

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

Моя идея - использовать онтологию для получения этих меток. После некоторых исследований я понял, что мне, вероятно, нужно сделать что-то, что обычно называют «обучением онтологии». Для этого мне нужно создать некоторые аксиомы в формате RDF / OWL, а затем использовать их в качестве входных данных для рассуждения, который выведет онтологию.

Является ли этот подход правильным и разумным для достижения моей цели?

Если это так, мне понадобится какой-нибудь инструмент для автоматической генерации аксиом. До сих пор я не мог найти какой-либо инструмент, который сделал бы это полностью из коробки. Основываясь на том, что я видел до сих пор, я пришел к выводу, что мне нужно определить какое-то отображение между исходными данными и желаемыми аксиомами. Я посмотрел поближе на протеже, который предлагает плагин для электронных таблиц. Кажется, он основан на проекте MappingMasterDSL [ссылка] .

Я также нашел интересную статью [ссылка] об обучении онтологии, где основанная на RNN модель обучается сквозным образом для перевода определенных предложений в формулы OWL. НО: Мои данные журнала событий пользователя не содержат естественных предложений. Его действия определяются токенами, полученными из элементов HTML пользовательского интерфейса. Поэтому подход, основанный на RNN, здесь, похоже, неприменим. (Для заинтересованных читателей, соответствующий проект можно найти здесь [ссылка] )

Неужели нет более простого способа, чем создание схемы аксиом (та) вручную?

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

"У меня есть стратегия с ID=3, эту стратегию можно выполнить с помощью действия a, b и c, дайте мне все сущности онтологии, которые иметь эти действия в качестве значения свойства и показать и дать мне все связанные ярлыки для этих лиц "

Но откуда на самом деле берутся данные для меток?

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

Также мне интересно, есть ли способ включить неотъемлемое знание топологии модели процесса в мою онтологию.

...