(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
ARCHICAD 21, локальная лицензия на 12 месяцев
SAP Crystal Server 2011 WIN INTL 5 CAL License
IBM Domino Messaging Server Processor Value Unit (PVU) License + SW Subscription & Support 12 Months
VMware Workstation 14 Pro for Linux and Windows, ESD
Microsoft 365 Business Standard (corporate)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
CASE-технологии
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
СУБД Oracle "с нуля"
eManual - электронные книги и техническая документация
Утиль - лучший бесплатный софт для Windows
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Игровые автоматы на настоящие деньги (4)
Только играя в интернет-заведении с лицензией...
 
Сервисный центр (1)
Здравствуйте. Я решил купить себе смарт часы и смартфон фирмы Apple, но два года часы...
 
Где отремонтировать Макбук (1)
Всем привет! У сына сломался макбук и я решил поискать специалистов по ремонту фирменной...
 
Смарт часы (1)
Добрый день. У меня поломались почти новые смарт часы и я не знал, где их ремонтируют. Решил...
 
Написание программ для микроконтроллеров AVR, PIC, ARM, STM32 (28)
Напишу любую программу на любом искусственном языке. Профессиональный программист. Основная...
 
 
 



    
rambler's top100 Rambler's Top100