1

Тема: СОДА - семантически организованные данные

Данная тема - дополнение, или продолжение этой http://forum.semanticfuture.net/viewtopic.php?id=75, в которой я пытаюсь дойти до истины в вопросе классов и экземпляров.

Смысл такой, и я уверен что что-то такое уже существует, о чем я просто не знаю: База данных, ориентированная на том, что интересно для бизнеса: товары, недвижимость, компании и люди. Что касается недвижимости, компаний и людей, то в базе большинство из них будут конкретными экземплярами. Товары, в свою очередь, скорее всего в своем большинстве будут выступать как классы, к которым можно будет добавить конкретный экземпляр.

Вот пример применения (из личного опыта):
Я создаю интернет магазин, который работает исключительно на партнерских программах. Я подписываюсь на N партнерских программ и начинаю работать над "движком" магазина. Он берет фиды с данными от каждого продавца, и моя задача - привести их в удобоваримый вид. А проблема с этим такая: каждый продавец один и тот же товар называет по-разному. Названия производителей отличаются. Категории отличаются и т.п. Я пытаюсь свести все эти N фидов, чтобы найти одинаковые товары из всего этого числа, выбрать наиболее релевантные описания, фото и категории из числа схожих товаров, что на самом деле не совсем простая задача.

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

Т.е. в базе мало того, что хранится исчерпывающая информация о товарах, она дополнена данными об этих товарах от продавцов (что схоже с идеей comparison shopping), к примеру их номенклатурные номера, рейтинги, обзоры и рецензии. База также имеет уровень онтологии, которым можно заменить понятия категорий и по меньшей мере пользоваться этим для поиска и группирования товаров, недвижимости и фирм.

Вот, в кратце, суть идеи.

Так вот, вопрос в том, самый главный - нужна ли вообще здесь семантика и онтология? Или они "притянуты за уши"? Я просто думаю о будущем, когда больше и больше пользователей (я не о юзерах, а о платформах), будут использовать семантический слой информации в добавок к обычным данным.

Что скажете?

2

Re: СОДА - семантически организованные данные

[

sasha пишет:

Так вот, вопрос в том, самый главный - нужна ли вообще здесь семантика и онтология? Или они "притянуты за уши"? Я просто думаю о будущем, когда больше и больше пользователей (я не о юзерах, а о платформах), будут использовать семантический слой информации в добавок к обычным данным.

Что скажете?

Зайду с такой стороны. Давайте не будем так сразу строить насыщенные экземплярами онтологии, в которых каждому экземпляру будет соответствовать какой-то товар. Почему бы не рассматривать онтологии здесь как слой-посредник между ресурсами разных владельцев? Тогда можно использовать три типа онтологий: первый - онтология для ресурса конкретного владельца; второй - онтология общая для всех, если угодно, онтология домена "продажи"; третий - онтологии-отображения концептов онтологий первого типа во второй (маппинги, задекларированные как онтологии). Тогда онтологии первого типа не будут насыщенными экземплярами, а будут соответствовать структуре того источника, откуда берутся данные. И данные можно будет получать запросами, от SQL до чего-то, возвращающего RDF.

Thumbs up Thumbs down

3

Re: СОДА - семантически организованные данные

KeNGa пишет:

маппинги, задекларированные как онтологии

Спасибо за ответ.
Я знаком с понятием маппинга, и что с помощью "карты" можно увязать классы N онтологий, но не понимаю как маппинг можно задекларировать как онтологию.

4

Re: СОДА - семантически организованные данные

Поддерживаю идею kenga - модульная иерархическая онтология как промежуточный слой хорошее решение.  я думаю декларировать можно через семантическое взаимодействие на sparql.
как делают - реализуют  модель онтологии и sparql точку доступа.  и у вас результат - расширяемая онтология и семантическое взаимодействие через sparql посредством sparql протокола
PS маппинг - это  не что и не иное как реализация модели онтологии

Отредактировано Ganimede (2010-04-27 07:47:16)

5

Re: СОДА - семантически организованные данные

sasha пишет:
KeNGa пишет:

маппинги, задекларированные как онтологии

Спасибо за ответ.
Я знаком с понятием маппинга, и что с помощью "карты" можно увязать классы N онтологий, но не понимаю как маппинг можно задекларировать как онтологию.

Как это можно сделать: создается некая пустая онтология М, в которую импортируется общая онтология домена ДОбщ и (можно - по одной, можно - все вместе, можно - по какому-то признаку) онтологии отдельных поставщиков ресурсов ДРесурс_i. Может быть так, что "своих" концептов в М не будет, а будут только утверждения вида

ДОбщ.КонцептХ \eq ДРесурс_i.КонцептА
или
ДРесурс_i.КонцептА \sub ДОбщ.КонцептХ
или
ДРесурс_i.КонцептА \sub (ДОбщ.КонцептХ \and ДОбщ.КонцептY)

и т.д., что и составит маппинг.

И ответ Ganimede  - просто более технически сложный - сопоставлять ДОбщ.КонцептХ SPARQL запросы из ресурсов, собирающие экземпляры - тоже хорош.

Тут есть такие направления, куда идти дальше.

  • первое - работать на уровне онтологий/маппингов, и почитать соответствующую теорию про modular ontologies, distributed ontologies

  • второе - почитать Sergey Melnik http://sergey.melnix.com/publications, потому как он долго занимался именно маппингами всевозможных схем (РДБ2РДБ, РДБ2XML)

Thumbs up Thumbs down

6

Re: СОДА - семантически организованные данные

Ganimede пишет:

Поддерживаю идею kenga - модульная иерархическая онтология как промежуточный слой

Идея не моя - этим уже давно занимаются smile

Thumbs up Thumbs down

7

Re: СОДА - семантически организованные данные

Пишу с телефона, поэтому буду краток. Идеи работы через некие движки типа Sparql рассматриваются только в том случае, если они не медленнее обычных РДБ. В другой ветке я писал, что на мой взгляд лучше пожертвовать возможностью сложного ризонинга в пользу простоты и скорости.

8

Re: СОДА - семантически организованные данные

sasha пишет:

лучше пожертвовать возможностью сложного ризонинга в пользу простоты и скорости.

можно в маппинге держать только Концепт \eq Концепт или Концепт \sub Концепт, т.е. минимально - иерархия концептов

Thumbs up Thumbs down

9

Re: СОДА - семантически организованные данные

KeNGa пишет:

можно в маппинге держать только Концепт eq Концепт или Концепт sub Концепт, т.е. минимально - иерархия концептов

Логично. Если бы еще и всё остальное можно было так просто прописать.

10

Re: СОДА - семантически организованные данные

KeNGa пишет:

Тут есть такие направления, куда идти дальше.

  • первое - работать на уровне онтологий/маппингов, и почитать соответствующую теорию про modular ontologies, distributed ontologies

  • второе - почитать Sergey Melnik http://sergey.melnix.com/publications, потому как он долго занимался именно маппингами всевозможных схем (РДБ2РДБ, РДБ2XML)

Спасибо, читаю.

11

Re: СОДА - семантически организованные данные

Кстати, а зачем вообще связываться с мапингами. Поставили опенсорсный виртуозо и вперед, резонинг не очень выразительный, но быстрый. Блок мидлваре прийдется самому конечно написать для интеграции с разными магазинами, но и здесь думаю, что-то поискать. Я кстати тоже делаю эл магазин на семантической основе. правда до интеграции с другими еще пока далеко. я за основу пытаюсь взять OWL онтологию

12

Re: СОДА - семантически организованные данные

Ganimede пишет:

Кстати, а зачем вообще связываться с мапингами.

Это зависит от способов получения информации. Если читать фиды, то можно и так и сяк. Если при каждом запросе надо лезть в чужую базу за актуальными данными, то выбор сужается --- только SPARQL поверх RDB2RDF. Разумеется, в этом месте я изображаю улыбчиваю физиономию коммивояжёра и начинаю вопить Virtuoso! Virtuoso! и неофициально намекать, что коммерческую версию можно вместе с поддержкой покупать не за кэш, а за дольку в стартапе.

13

Re: СОДА - семантически организованные данные

iv_an_ru пишет:
Ganimede пишет:

Кстати, а зачем вообще связываться с мапингами.

Это зависит от способов получения информации. Если читать фиды, то можно и так и сяк. Если при каждом запросе надо лезть в чужую базу за актуальными данными, то выбор сужается --- только SPARQL поверх RDB2RDF

Кстати, да, если иерархии товаров с описаниями и каким-то минимальным набором свойств типа

Thumbs up Thumbs down

14

Re: СОДА - семантически организованные данные

Свежайшая ссылка

http://www.heppnetz.de/projects/goodrelations/

Похоже, в GoodRelations уже все нужные маппинги определились. Можно только расширять в сторону веденяи субъективных оценок/мнений покупателей о продуктах...

Отредактировано KeNGa (2010-04-30 13:53:04)

Thumbs up +1 Thumbs down

15

Re: СОДА - семантически организованные данные

Спасибо, Kenga. То что надо ))

16

Re: СОДА - семантически организованные данные

KeNGa пишет:

Свежайшая ссылка

http://www.heppnetz.de/projects/goodrelations/

Похоже, в GoodRelations уже все нужные маппинги определились. Можно только расширять в сторону веденяи субъективных оценок/мнений покупателей о продуктах...

Смотрю их презентацию - да, ссылка в тему. С родни к тому, о чем я говорю.

17

Re: СОДА - семантически организованные данные

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

18

Re: СОДА - семантически организованные данные

sasha пишет:

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

Да, там придумано хорошее деление на классы и конкретные товары. И при этом надо давать себе отчёт в том, что у eCl@ss - всё-таки европейские корни и первоначальное распространение. Наверняка в Северной Америке своя классификация товаров, в Латинской - своя. Погуглить по "product classification systems" не помешает.

Thumbs up Thumbs down

19

Re: СОДА - семантически организованные данные

KeNGa пишет:

Да, там придумано хорошее деление на классы и конкретные товары. И при этом надо давать себе отчёт в том, что у eCl@ss - всё-таки европейские корни и первоначальное распространение. Наверняка в Северной Америке своя классификация товаров, в Латинской - своя. Погуглить по "product classification systems" не помешает.

Но к примеру товары то одни и те же. В этом то и одна из проблем, как мне кажется. Вы вот говорите о разнице между классификациями в ЕС, Сев. Америке, Латинской Америке и т.п. Я же сталкиваюсь с тем, что у онлайн магазинов своя классификация, у Амазона одна, на Buy.com другая, в нашем - третья. Этого и хочется избежать используя некий стандарт, сродни UPC / ISBN. Только не у всех товаров есть UPC, к примеру. Обмен данными между магазинами о товарах без некого уникального идентификатора, классификация этих товаров - не простые задачи, особенно когда речь идет о десятках тысяч товаров.
Я конечно понимаю, что скажем в разных регионах свои классификации имеют смысл, но что-то помимо ontology mapping должно их объединять.

20

Re: СОДА - семантически организованные данные

sasha пишет:

Обмен данными между магазинами о товарах без некого уникального идентификатора, классификация этих товаров - не простые задачи, особенно когда речь идет о десятках тысяч товаров.
Я конечно понимаю, что скажем в разных регионах свои классификации имеют смысл, но что-то помимо ontology mapping должно их объединять.

Ага, проблема возникает не на уровне маппинга классификаторов, а на уровне экземпляров, отнесённых к классам товаров, но обозначенных по-разному --- Instance mapping.
А как сейчас - у вас там свой внутренний классификатор стоит и маппинг из Амазона/... в него?

Thumbs up Thumbs down

21

Re: СОДА - семантически организованные данные

sasha пишет:

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

Тип штрих-кода + значение штрих-кода = то, что надо. Правда, сначала приходится водить штрих-коды типа "залипуха" для товаров, не имеющих правильных известных кодов, и в любом случае массово лепить sameAs.

Это всё мелочи по сравнению с китайскими заводами, которые иногда даже не в состоянии сформулировать, что именно они могут поставить. Заводу заказали узел, не объяснив, что это и для чего, оснастка осталась --- и он ставит этот узел в прайс с фотками и размерами, но не то что без рубрикации --- без названия. Есть достаточно много и достаточно прибыльных бизнесов по переводу китайских прайсов во вменяемый вид и продаже этих данных интернет-магазинам.

Отредактировано iv_an_ru (2010-05-03 05:33:41)

22

Re: СОДА - семантически организованные данные

KeNGa пишет:

А как сейчас - у вас там свой внутренний классификатор стоит и маппинг из Амазона/... в него?

Мы с Амазоном не работаем. Есть полторы дюжины специализированных продавцов, у которых мы берём фиды.
В итоге что я пока сделал - дерево наших категорий и набор ключевых слов, по которым товары раскидываются по нашим категориям. А сами ключевые слова / фразы я ищу по названию товара и категориям + ключевым словам продавцов. Никаких онтологий здесь нет. Онтологии и т.п. касаются другого проекта, которым я пытаюсь заниматься.

23

Re: СОДА - семантически организованные данные

sasha пишет:

Есть полторы дюжины специализированных продавцов, у которых мы берём фиды.
В итоге что я пока сделал - дерево наших категорий и набор ключевых слов, по которым товары раскидываются по нашим категориям. А сами ключевые слова / фразы я ищу по названию товара и категориям + ключевым словам продавцов. Никаких онтологий здесь нет.

Хорошо, тогда ИМХО: если есть возможность договориться с поставщиками фидов перейти на стандартные схемы описания товаров (какой-то классификатор+goodRelations) - выходим на схему со стабильным маппингом их схем в нашу и храним маппинги в онтологии маппинов. Для экземпляров - используем instance mapping ontology-based techniques (http://eprints.aktors.org/480/01/f50-lei-new.pdf, но это не единственная): то, что сейчас работает на уровне алгоритмов разбора ключевых слов и разбрасывания экземпляров по категориям нашего класификатора будет работать на декларативном уровне - то есть тот самый легкий ризонинг, который можно делать триплстором (запросы на поиск ключевых слов и т.п.).
Если возможности договориться нет - Ваше решение работает - значит оно хорошее smile

Thumbs up +1 Thumbs down

24

Re: СОДА - семантически организованные данные

sasha пишет:

Есть полторы дюжины специализированных продавцов, у которых мы берём фиды.
В итоге что я пока сделал - дерево наших категорий и набор ключевых слов, по которым товары раскидываются по нашим категориям. А сами ключевые слова / фразы я ищу по названию товара и категориям + ключевым словам продавцов. Никаких онтологий здесь нет.

Хорошо, тогда ИМХО: если есть возможность договориться с поставщиками фидов перейти на стандартные схемы описания товаров (какой-то классификатор+goodRelations) - выходим на схему со стабильным маппингом их схем в нашу и храним маппинги в онтологии маппинов. Для экземпляров - используем instance mapping ontology-based techniques (http://eprints.aktors.org/480/01/f50-lei-new.pdf, но это не единственная): то, что сейчас работает на уровне алгоритмов разбора ключевых слов и разбрасывания экземпляров по категориям нашего класификатора будет работать на декларативном уровне - то есть тот самый легкий ризонинг, который можно делать триплстором (запросы на поиск ключевых слов и т.п.).
Если возможности договориться нет - Ваше решение работает - значит оно хорошее smile

Thumbs up Thumbs down

25

Re: СОДА - семантически организованные данные

sasha пишет:

Есть полторы дюжины специализированных продавцов, у которых мы берём фиды.
В итоге что я пока сделал - дерево наших категорий и набор ключевых слов, по которым товары раскидываются по нашим категориям. А сами ключевые слова / фразы я ищу по названию товара и категориям + ключевым словам продавцов. Никаких онтологий здесь нет.

Хорошо, тогда ИМХО: если есть возможность договориться с поставщиками фидов перейти на стандартные схемы описания товаров (какой-то классификатор+goodRelations) - выходим на схему со стабильным маппингом их схем в нашу и храним маппинги в онтологии маппинов. Для экземпляров - используем instance mapping ontology-based techniques (http://eprints.aktors.org/480/01/f50-lei-new.pdf, но это не единственная): то, что сейчас работает на уровне алгоритмов разбора ключевых слов и разбрасывания экземпляров по категориям нашего класификатора будет работать на декларативном уровне - то есть тот самый легкий ризонинг, который можно делать триплстором (запросы на поиск ключевых слов и т.п.).
Если возможности договориться нет - Ваше решение работает - значит оно хорошее smile

Thumbs up Thumbs down