(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Базовая самоформирующаяся онтология

Семантический Паук - собиратель информации из Всемирной Паутины.

Найти и классифицировать

Когда-нибудь, когда он вырастет, наш Паучок будет бегать по Паутине, читать информацию, написанную людьми и для людей и выделять из нее данные, пригодные для машин. Потом уже большие Машины начнут пользоваться этой информацией и вот тут-то и наступит время Терминаторов, но до этого еще далеко. А пока Семантический Паук делает первые шаги.

Зачем это нужно? 

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

Постановка задачи

Есть набор страниц из интернет, есть онтология некой предметной области (Tbox в owl). Необходимо в автоматическом режиме выделить на рассматриваемых страницах объекты онтологии и дополнить онтологию (Abox).

Метод решения

Язык программирования - java, основа краулера - проект crawler4j, первая онтология - онтология работы над проектами (MoWoP).

 

Проект "Базовая самоформирующаяся онтология"

ToDo:

  1. Составить базовую онтологию
  2. Выбрать модель хранения ont в памяти, научиться считывать онтологию в память
  3. Составить список базовых сайтов
  4. Настроить crawler4j на обход п.3
  5. Сделать алгоритм "разумного" пополнения данных. Например, как написано ниже.

Тестовый запуск: человек + фирма. Ч.1

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

Итак, эксперимент №1
Имеется набор данных ("триплетов", "троек") по а) человеку и б) организации. Представим этот набор данных следующим образом:
Человек

  • Фамилия
  • Имя
  • Отчество
  • Дата рождения
  • ИНН

Организация

  • Название
  • Организационно-правовая форма
  • Дата регистрации
  • ИНН

Данные связаны следующим образом:

Субъект Связь Объект Примечание
Человек имеет_имя Имя  
Человек имеет_фамилию Фамилия  
Человек имеет_отчество Отчество  
Человек родился Дата_рождения  
Человек имеет_инн ИНН_человека  
Человек владелец Организация  
Организация имеет_название Название  
Организация зарегистрирована_как Орг_прав_форма  
Организация зарегистрирована_когда Дата_регистрации  
Организация имеет_инн ИНН_организации  

Весь этот набор данных представляется собой мини-онтологию. Ну хорошо, конечно не онтологию, но основные принципы соблюдены и ничто не мешает дальнейшему маштабированию схемы.

Задача семантического паука - на основе имеющихся данных (онтология частично заполнена, т.е. присутствует A-Box и частично Е-box) и массива данных постараться заполнить остальные поля.
В случае спорных моментов данные должны предоставляться человеку-эксперту. ​Алгоритм работы семанического паука должен быть в разумных пределах общим, однако это не должно мешать заложить разумные подсказки типа использования соцсетей и реестров налоговых служб.

Для начала предположим, что нам известны ФИО человека и название компании, далее в схему должны быть добавлены шаблоны, потом - словари синонимов и т.д.

Вопрос 1: По каким страницам искать.
Очевидно, что на данном этапе выпускать маленького и неокрепшего паучка на просторы интернета глупо и бессмысленно. Да и задача такая, что можно не задумываясь выделить несколько ресурсов (сайтов), которые в первую очередь необходимо изучить. Итак, решение первое: жестко ограничим набор целевых сайтов:

  • facebook.com
  • vk.com
  • odnoklassniki.ru
  • реестры налоговой и регистрации юр.лиц

Вопрос 2: хранение "онтологии" и найденных данных
Очевидно, что с точки зрения дальнейшей совместимости не стоит пренебрегать стандартами. Следовательно, и А-box, и начальные, и получаемые данные следует хранить в owl-файле.

Вопрос 3: алгоримт перебора страниц и выделения релевантных данных
Самый сложный вопрос, но, так как сравнивать все равно не с чем, пусть будет такой алгоритм:

  1. Берем первый сайт из списка
  2. Делаем поиск по этому сайту первой тройки из онтологии (возможно, стоит ввести поисковые коэффициенты-веса??)
  3. на первых n страницах из выдачи ищем все оставшиеся тройки
  4. В случае обнаружения данных дописываем их в онтологию
  5. В случае подозрения на обнаружение данных выводим запрос эксперту
  6. Переходим к следующему сайту и пункту 2.

Тестовый запуск: человек + фирма. Ч.2

Мини-онтология, несмотря на то, что она мини, будет у нас носить все черты полноценной предметной онтологии - т.е. разрабатываться в protege, храниться в owl-файле и обрабатываться по правилам и логике "больших" баз знаний.
В первом приближении выглядит это так:

Ссылки по теме


 Распечатать »
 Правила публикации »
  Обсудить материал в конференции Дискуссии и обсуждения общего плана »
Написать редактору 
 Рекомендовать » Дата публикации: 25.02.2014 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
SAP Crystal Reports XI R2 Dev 2006 INTL WIN NUL License (Version 11)
Nero 2018 Platinum ESD
erwin Data Modeler Standard Edition r9.7 - Product plus 1 Year Enterprise Maintenance Commercial
Антивирус ESET NOD32 Antivirus Business Edition newsale for 5 user, лицензия на 1 год
ESET Secure Authentication newsale for 5 user, лицензия на 1 год
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
CASE-технологии
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
Программирование в AutoCAD
СУБД Oracle "с нуля"
Утиль - лучший бесплатный софт для Windows
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Слот Биг Бэнг (6)
Большой взрыв как правящая теория сотворения мира. Теперь вы можете поиграть слот Big Bang в...
 
Отличается ли ДрифтКазино от беттинга? (57)
Друзья, давно заметил, что на Дрифте уже несколько месяцев во всю рекламируется и предлагается...
 
Подскажите лучшее онлайн казино (8)
Вот нашёл интересную игровую площадку, и это онлайн казино Вавада. Может кто что подсказать по...
 
Помощь по MS Access (345)
Доброе время суток. Случайно оказался на этом сайте, искал статьи по OLAP. Вижу, что...
 
Требуется Краснодар: Java -разрабочик (2)
Обязанности: Разработка корпоративных backend-приложений для автоматизации розничных продаж...
 
 
 



    
rambler's top100 Rambler's Top100