Semantic Web, рассуждения, алгоритмы и переспективы.

В России на удивление малое число публично доступных материалов по  анализу и обработке текстов, работе с метаданными и  распознаванию и выявлению фактов.

Далее некоторые мои рассуждения, на уровне фиксации личного понимания этой темы.

Неполный список компаний о которых я знаю что так или иначе затрагивают эту тему — это: Яндекс, Ашманов и К., Metric (в части продуктов RCO) и несколько менее известных. Но, при этом и они публично размещают лишь очень малое число материалов так как они являются их коммерческой составляющей.

В итоге оказывается что чуть ли не все наиболее интересные публичные работы в областях — Semantic Web, IRR и построение онтологических моделей идут в США, Японии и Германии.

Но обо всём по порядку.

В спорах вокруг Semantic Web, что же это такое и с чем едят, модно с уверенностью говорить о том что главной характеристикой является построение единой модели отношений разрозненных фактов. При этом эта модель отношений базируется на так называемых онтологических моделях — структурных описаний взаимосвязей объектов в определённых выбранных тематических областях. Всё это базируется на таких технологиях как RDF или OWL для описания этих самых отношений.

Некоторые ключевые части:

1. Формирование и гармонизация предметных онтологий в единую семантическую сеть.

А то есть у нас не просто есть онтология научных открытий и онтология семейных древ, но взаимосвязи в них когда объекты людей из семейных древ могут быть связаны с научными открытиями.  Фактически это огромная работа у которой нет конца, но есть некие пороговые пределы по которым можно определить достаточность структуризации для тех или иных целей.

2.  Базы структуририванных данных.

Почему когда говорят о Semantic Web всегда вспоминают ВикиПедию? В первую очередь по той причине что ВикиПедия, за счёт правил наполнения, шаблонов данных, огромного числа участников и постоянной работы по викификации — на сегодняшний день является самым большим источником полу-структурированных данных. Полу-, поскольку многие статьи всё ещё представляют собой текстовые описания, но, их формат и взаимосвязи позволяют разворачивать опубликованные статьи в  многомерную систему отношений.

Но Википедия — это фактологическая база данных с моделью диктатуры публичной ментократии (ключевые решения принимаются ограниченным числом участников чьи ошибки или потенциально неверные действия регулируются полной публичностью всех изменений). А кроме Википедии есть также значительные информационные массивы: WordNet, US Census,  Flickr, Freshmeat, US Spending и множество других.

Инициатива в виде  Linked Data, рекомендаций по  публикации подобных открытых баз в сети, они из той же области — создание среды интеграции информационных массивов.

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

И именно поэтому большое значение приобретают поддерживающие алгоритмы и сервисы и на которые и взваливается вся основная работы по обработке и структуризации неструктурированных данных. Например, такие проекты как Powerset — это не семантический веб, это один из сервисов и технологий которые могут стать одной из их частей. Точно также и сервис  OpenCalais разработанный ClearForest и купленный Reuters — это часть решения, но не оно само.

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

1. Автоматическая рубрикация (Automatic Classification)

Это поиск определённых смысловых шаблонов в тексте или ином информационном объекте (изображение, аудиозапись, видео) и по факту их нахождения назначение связанных с данным шаблонов атрибутов всему информационному объекту. В качестве примера могу привести автоматическую классификацию закупок в Еноте Поискуне, где по определённым смысловым шаблонам (их более 450) всей закупке присваиваются тематические категории.

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

2. Распознавание шаблонов и фактов (Fact and Pattern Recogniton)

Это то что используется в OpenCalais или в RCO Fact Extraction когда в анализируемом тексте по находятся участки соответствующие шаблонам и, в отличии от авторубрикации, не всему тексту назначаются классификационные метки, а данный участок извлекается и сам является носителем информации.

3. Извлечение особенностей (Feature Extraction)

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

4. Извлечение содержимого (Content Extraction)

Это зонирование для полу-структурированных текстов или же смешанного содержимого. Например, при анализе PDF документов выделение таблиц, изображений, колонок текста или химических формул.  «Обдирание экрана» (Screen Scraping) — это технология из этой же области. Ограничения подобных алгоритмов в их неуниверсальности.

5. Обработка естественного языка (Natural Language Processing)

Фактически — это лингвистический анализ текста. Например, в Powerset  — эта технология используется для распознавания структуры поискового запроса. Тем самым поиск осуществляется не просто по тексту запроса, но и по связанным с ним лингвистическим метаданным к аналогичным метаданным информационного массива.

6. Семантический поиск (Semantic Search)

Многие в семантический поиск вкладывают самое разное значение. В данном случае я упоминаю его как поиск по смыслу поискового запроса. Смысл в том что у очень многих поисковых запросов есть возможность их 100% соотношения с тем что же ищется.

Например, поиск по ключевым словам «Нижний Новгород», однозначно идентифицирует город Нижний Новгород и в поисковой системе нового поколения может отображаться как вкладки:

— статьей о городе в ВикиПедии (или уже в едином проекте на базе Linked Data)

— картой города

— основных связанных с городом понятий: регион — Нижегородская область,  глава города, ключевые достопримечательности и так далее.

— основная статистическая и справочная по городу

И, в отдельной вкладке, результаты поиска по веб’у.

Фактически семантический поиск — это разделение всей информации на доверенные/структурированные источники и всему остальному массиву недоверенных источников.

7. Семантическое внедрение (Semantic Embedding) 

Это не совсем алгоритм, а точнее это бизнес альтернатива алгоритмам распознавания и выявления шаблонов. Он заключается в поиске ответа на вопрос: Как обеспечить структуризацию данных когда пользователи ленятся или нехотят делать это сами?

Ответ в том что между потребителями структурированной информации в большинстве своём являются информационные и медиа компании (Google, Yahoo, Yandex, News Corp. и так далее) и между рядовыми пользователями сети есть значительная прослойка разработчиков систем и сервисов. Популяризуя SIOC, FOAF, AML, OPML и другие технологии среди них, а также спонсируя их поддержку в их продуктов формируется рынок информации на котором, конечно, будут и новые игроки стартапы, но основной выигрышь смогут извлечь компании уже обладающие организационной и технической инфраструктурой. Так распространение RSS уже привело к появлению сервисов blogsearch.google.com и blogs.yandex.ru, а популяризация других форматов приведёт и появлению других.

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

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

—-

Красной строкой по Semantic Web необходимость работы с коллосальным объёмом метаданных. По моим оценкам, на килобайт текста, может приходится до 2-3 килобайтов связанных с ним метаданных, выявленных фактов и скрытой информации. Hadoop + HBase и Hypertable  — это одно из возможных решений. Amazon SimpleDB — другое.

—-

About This Author

Яндекс.Метрика