Разработка для семантической сети

Опубликовано: 2022-03-10
Краткое резюме ↬ Мечта о машиночитаемом Интернете так же стара, как и сам Интернет, но только в последние годы она действительно казалась возможной. По мере того, как крупные веб-сайты делают все возможное для обработки данных своего контента, сейчас самое подходящее время, чтобы запрыгнуть на подножку.

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

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

Преимущества разработки для Semantic Web не всегда очевидны или очевидны, но каждый сайт, который это делает, укрепляет основы открытого, прозрачного, децентрализованного Интернета.

Семантическая сеть

Что такое семантическая паутина? Это машиночитаемая сеть, обеспечивающая через метаданные «общую структуру, которая позволяет совместно использовать данные и повторно использовать их между приложениями, предприятиями и сообществами».

Идея так же стара, как и сама Всемирная паутина. На самом деле старше. Это было центральным пунктом предложения Тима Бернерса-Ли 1989 года. Как он отметил, не только документы должны образовывать сети, но и данные внутри них должны также:

Диаграмма из предложения Тима Бернерса-Ли World Wide Web в ЦЕРН
Диаграмма из оригинального предложения сэра Тима Бернерса-Ли для World Wide Web. (Большой превью)

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

Еще после прыжка! Продолжить чтение ниже ↓

Как резюмирует W3C, это «расширение существующей сети, в которой информации придается четко определенное значение, что позволяет компьютерам и людям лучше работать вместе».

Аарон Шварц выступает перед толпой
Аарон Шварц выступает в 2012 году. Фотография Дэниела Дж. Сирадски. (Большой превью)

Эта идея нашла немало сторонников. Интернет-хактивист Аарон Шварц написал рукопись книги о семантической сети под названием «Программируемая сеть ». В нем он написал:

«Документы нельзя объединять, интегрировать и запрашивать; они служат в основном как отдельные экземпляры, которые нужно просматривать и анализировать. Но данные разнообразны и могут принимать любую форму, которая лучше всего соответствует вашим потребностям».

По целому ряду причин Семантическая паутина не достигла такого же успеха, как Сеть, хотя и наверстывает упущенное. На протяжении многих лет некоторые разметки пытались захватить мантию — RDFa, OWL и Schema, и это лишь некоторые из них, — хотя ни одна из них не стала стандартной, как, скажем, HTML или CSS. Порог входа был слишком высок.

Тем не менее, мечта о семантической паутине не сбылась, и по мере того, как все больше и больше сайтов включают ее в свои проекты, появляется все больше причин присоединиться к этой вечеринке. Чем больше сайтов попадает на борт, тем сильнее становится семантическая паутина.

Дальнейшее чтение

  • Интеллектуальные данные
  • Семантическая сеть , статья Тима Бернерса-Ли, Джеймса Хенсли и Оры Лассила, 2001 г.
  • Надежная группа веб-сообщества в W3C

Знание без границ

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

Есть несколько причин, по которым Semantic Web продолжает поддерживаться теми, кто заботится о свободном и открытом Интернете. Понимание этих причин имеет важное значение для процесса внедрения. Это не должно быть случаем «ешьте свои овощи, используйте семантическую разметку». Семантическая паутина — это то, во что нужно верить и частью чего следует быть.

Преимущества семантического веба включают в себя:

  • Более богатые и сложные веб-интерфейсы
  • Обход хранилищ контента и интернет-монополий
  • Улучшена читаемость и ранжирование в поисковых системах.
  • Демократизация информации

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

Гистограмма, сравнивающая языки, на которых говорят в Интернете и в реальной жизни
Доля языков, используемых в Интернете, не соответствует количеству языков, используемых в реальном мире. (Большой превью)

Безграничная утопия Интернета не так близка, как может показаться тем из нас, кто находится внутри англоязычного пузыря. За это кого-то можно наказать? Не обязательно, но с этим нужно смириться. Это подчеркивает важность разметки, которая устраняет эти пробелы. Обогащая данные сети, мы снимаем нагрузку с ее языков.

В этом суть недавно анонсированной Абстрактной Википедии, которая попытается отделить статьи от языка, на котором они написаны. Исполнительный директор Викимедиа Кэтрин Махер пишет: «Используя код, добровольцы смогут переводить эти абстрактные «статьи» на их собственные языки. В случае успеха это может в конечном итоге позволить каждому читать любую тему в Викиданных на своем родном языке».

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

«Независимо от того, на каком языке вы публикуете свой контент, вы упустите возможность включить подавляющее большинство людей в мире. Интернет дал нам прекрасную возможность глобального охвата, но, полагаясь на один язык или небольшой набор языков, мы упускаем эту возможность. Хотя наиболее важной целью является создание хорошего контента, вы привлекаете больше людей к участию в разработке лучшего контента, будучи независимым от языка. Это помогает вам снизить барьеры для вклада и потребления и позволяет гораздо большему количеству людей извлечь выгоду из этих усилий».

— Денни Врандечич, создатель Абстрактной Википедии.

Своевременным примером этого стала визуализация данных во время пандемии COVID-19. Вирус вызвал невыразимый хаос во всем мире, но он также стал ярким моментом для открытых сетей передачи данных, позволив превосходным веб-приложениям, отчетам и многому другому стать обычным явлением в Интернете.

Домашняя страница ncovid2019.live
Информационная панель ncovid2019.live была создана американским старшеклассником Ави Шиффманом и использует данные ВОЗ, CDC и COV19. (Большой превью)

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

Аналогичным образом, проверка себя в хранилищах контента — отличительная черта современного веб-опыта — лишает власти веб-монополии, такие как Google, Facebook и Twitter. Мы настолько привыкли к сторонним платформам, которые расшифровывают и представляют информацию, что забываем, что они не являются строго необходимыми.

«Если бы у нас были общие форматы, общие протоколы, некоторые провайдеры все еще могли бы играть большую роль на определенных рынках — вспомните Gmail для электронной почты, — но каждый волен перейти к другому провайдеру, и рынок остается конкурентным».

— Денни Врандечич, создатель Абстрактной Википедии.

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

Онлайн-контент для обработки данных

Проектирование для семантического веба сводится к анализу данных онлайн-контента — просмотру вашего контента и определению того, что можно (и нужно) абстрагировать. Что это означает в практическом плане, помимо смутного согласия, что это стоит делать? Это зависит:

  1. Если вы начинаете проект с нуля, учитывайте особенности семантического веба в том, что вы делаете. По мере того, как веб-сайт обретает форму, вплетайте семантическую разметку в его ДНК.
  2. Если вы обновляете или перестраиваете проект, оцените, что можно вплести в Semantic Web, чего в настоящее время нет, а затем внедрите.

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

Абстрагирование информации

Проектирование и разработка для семантической паутины означает просмотр онлайн-контента с вашей шляпой данных. Большинство из нас воспринимают Интернет как серию связанных документов или страниц; что вы хотите сделать с Semantic Web, так это соединить информацию. Это означает оценку вашего контента для точек данных, а затем корректировку дизайна на основе того, что вы найдете.

Сторонник Semantic Web Джеймс Хендлер особенно хорошо описывает этот процесс в своем духе DIVE. ( ПОГРУЖАЙТЕСЬ в данные, а? А?). Он распадается следующим образом:

  • Обнаружить
    Найдите наборы данных и/или контент (в том числе за пределами вашей организации).
  • Интегрировать
    Свяжите отношения, используя значащие метки.
  • Подтвердить
    Предоставлять входные данные для систем моделирования и симуляции.
  • Проводить исследования
    Разработайте подходы к превращению данных в практические знания.

Разработка для Semantic Web в значительной степени заключается в том, чтобы иметь представление о вещах, которые вы делаете, с высоты птичьего полета, и о том, как это потенциально может быть использовано для бесконечно более богатого веб-опыта. Как говорит Хендлер, практическое знание — это цель.

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

Однако с помощью семантической разметки блог можно превратить в машиночитаемый набор данных рецептов. Синтаксис существует для абстрагирования кулинарных терминов. Например, схема, которая может работать вместе с микроданными, RDFa или JSON-LD, имеет разметку, включающую:

  • время подготовки
  • время приготовления
  • рецептВыход
  • рецептингредиент
  • Ориентировочная стоимость
  • питание с разбивкой на калории и жирыСодержание
  • подходит для диеты.

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

Скриншот рецепта домашнего пирога BBC
Преобразовывая редакционный контент в данные, рецепты BBC значительно повышают свою потенциальную полезность. (Нажмите для просмотра в большом размере)

Например, все, что выделено синим в рецепте BBC выше, также получило семантическую разметку — от времени приготовления до содержания питательных веществ. Вы можете увидеть, что происходит под капотом, введя URL-адрес рецепта в Google Rich Results Test. Обратите внимание на функцию «Добавить в список покупок» — пример подключения, которое стало возможным благодаря реализации Semantic Web. Хороший контент становится полезными данными.

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

Спектр возможностей действительно граничит с безграничностью. Как сказал Шварц, данные многообразны. Как только он у вас появится, вы сможете использовать его самыми странными и замечательными способами. Эта статья не столько об этих странных и чудесных способах, сколько о том, как сделать их возможными. Проектирование для Semantic Web делает последующий дизайн бесконечно богаче.

Вот более личный пример, чтобы показать, что я имею в виду. Мы с парой друзей в качестве хобби ведем небольшой музыкальный веб-журнал. Хотя мы публикуем редкие статьи или интервью, «главным событием» являются наши еженедельные рецензии на альбомы, в которых мы втроем присваиваем баллы, выбираем любимые треки и пишем резюме. Мы работаем уже более пяти лет, а это значит, что у нас около 250 отзывов, а это означает очень много потенциальных данных. Мы не осознавали, насколько, пока не начали редизайн сайта.

Я коснулся этого в статье о внедрении структурированных данных в процесс проектирования. Анализируя наши обзоры, мы поняли, что они битком набиты информацией, которой можно дать семантическую разметку. Исполнители, названия альбомов, обложки, дата выпуска, индивидуальные оценки, общие оценки, тип выпуска и многое другое. Более того — и это действительно интересно — мы поняли, что можем подключиться к существующей базе данных: MusicBrainz.

Этот двусторонний подход является сутью Semantic Web. Когда наш музыкальный веб-сайт перезапустится, он станет собственным открытым источником данных с тысячами уникальных точек данных. Подключение к существующей музыкальной базе данных даст нашим собственным данным больше контекста и потенциала. Тысячи точек данных становятся десятками тысяч точек данных, а может и больше.

Диаграмма, показывающая, как семантическая разметка связана с рецензией на альбом
С помощью простой семантической разметки, казалось бы, безобидные веб-страницы могут стать центром огромной информационной сети. (Большой превью)

График выше лишь поверхностно показывает, сколько информации будет связано со страницами отзывов. Контент такой же, как и раньше, только теперь он подключен к экосистеме метаданных — Giant Global Graph, как однажды назвал ее Бернерс-Ли.

Разработка для Semantic Web означает идентификацию ваших собственных данных, их разметку, а затем выяснение того, как они связаны с другими данными. Потому что это так. Это всегда так. И этот процесс таков, как это…

Иллюстрация, показывающая, как семантические данные соединяются между веб-страницами
(Большой превью)

…со временем становится этим…

Связанное облако открытых данных
Связанное облако открытых данных, постоянно обновляемая визуализация состояния связанных данных в Интернете. (Большой превью)

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

Полезные семантические веб-ресурсы

  • RDF на w3schools.com
  • Валидатор RDF от W3C
  • «Семантическая паутина стала проще» от W3C
  • «Что случилось с семантической паутиной?» по двухбитной истории
  • Генератор JSON-LD
  • Помощник по разметке структурированных данных Google

Подключение

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

Вот лишь несколько ресурсов данных:

  • ДПпедия
  • MusicBrainz
  • WorldCat
  • ISBNdb

Действительно, там, где существуют такие базы данных, я бы даже сказал, что правильно было бы обновить их там, где им не хватает информации. Зачем держать это в себе? Станьте участником, сторонником Semantic Web.

Реализация

Что касается встраивания Semantic Webness в ваши сайты, я, конечно же, не выступаю за ручную разметку doc-by-doc. У кого есть на это время? Чаще всего решение заключается в стандартизации формата и шаблонов для него.

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

Возьмем, к примеру, генератор статических сайтов, такой как Eleventy, который в последнее время пользуется некоторой любовью со стороны сообщества разработчиков. Вы пишете сообщение, прогоняете его по шаблону, и вы на золоте. Так почему бы не включить семантическую разметку в сам шаблон?

Как и Eleventy, новая версия нашего музыкального интернет-журнала использует Markdown для своих сообщений. Хотя у нас есть те же старые текстовые сообщения, что и всегда, каждый обзор теперь также включает следующие входные метаданные, которые затем загружаются в шаблон:

Ввод метаданных в документе Markdown
Включение входных данных метаданных в шаблоны позволяет преобразовывать контент в данные и в лучшем случае добавляет пару минут к любой публикации. (Большой превью)

Вместе с информацией об авторе в теле поста и некоторой общей информацией о веб-сайте это преобразуется в следующую семантическую разметку:

 <script type="application/ld+json"> { "@context": "https://schema.org/", "@type": "Review", "reviewBody": "One of the definitive albums released by, quite possibly, the greatest singer-songwriter we've ever seen. To those looking to probe Young's daunting discography: start here.", "datePublished": "2020-08-14", "author": [{ "@type": "Person", "name": "Andre Dack" }, { "@type": "Person", "name": "Frederick O'Brien" }, { "@type": "Person", "name": "Marcus Lawrence" }], "itemReviewed": { "@type": "MusicAlbum", "name": "After the Gold Rush", "@id": "https://musicbrainz.org/release-group/b6a3952b-9977-351c-a80a-73e023143858", "image": "https://audioxide.com/images/album-artwork/after-the-gold-rush-neil-young.jpg", "albumProductionType": "https://schema.org/StudioAlbum", "albumReleaseType": "https://schema.org/AlbumRelease", "byArtist": { "@type": "MusicGroup", "name": "Neil Young", "@id": "https://musicbrainz.org/artist/75167b8b-44e4-407b-9d35-effe87b223cf" } }, "reviewRating": { "@type": "Rating", "ratingValue": 27, "worstRating": 0, "bestRating": 30 }, "publisher": { "@type": "Organization", "name": "Audioxide", "description": "Independent music webzine founded in 2015. Publishes reviews, articles, interviews, and other oddities.", "url": "https://audioxide.com", "logo": "https://audioxide.com/logo-location.jpg", "sameAs" : [ "https://facebook.com/audioxide", "https://twitter.com/audioxide", "https://instagram.com/audioxidecom" ] } } </script>

Там, где раньше был только текст, на каждой отдельной странице обзора теперь также будут машиночитаемые версии того, что читатели видят, когда посещают сайт. Все слова остались на месте, содержание практически не изменилось — оно просто было дополнено данными. От расширенных результатов поиска до интерактивных страниц со статистикой отзывов — это значительно расширяет возможности. Дорога впереди широкая и открытая. Это также дает нам долю в будущем MusicBrainz. Соединяя их данные с нашими собственными данными, мы, в свою очередь, хотим, чтобы все работало хорошо, и сделаем все возможное, чтобы это произошло.

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

За гранью воображения

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

Аарон Шварц завершил свою рукопись призывом к надежде:

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

Абстрактная Википедия Денни Врандечич вторит этим настроениям сегодня, говоря:

«Необходима веб-инфраструктура, которая облегчит взаимодействие между сервисами, что требует общего набора стандартов для представления данных и общих протоколов для всех поставщиков».

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

Будьте лучше, требуйте лучшего

Как сказал Тим Бернерс-Ли, Semantic Web — это не только техническое препятствие, но и культура. В 2009 году на TED Talk он прекрасно подытожил: делайте связанные данные, требуйте связанных данных . Это вернее сейчас, чем когда-либо. Всемирная паутина открыта, взаимосвязана и хороша настолько, насколько мы ее заставляем. Всякий раз, когда вы делаете что-то онлайн, спросите себя: «Как это может подключиться к Semantic Web?» Ответы добавят новые измерения к вещам, которые мы создаем, и создадут невообразимо прекрасные новые возможности на долгие годы.