14P by neo 28일전 | favorite | 댓글 4개
  • 시맨틱 웹은 예전의 Web 3.0임. "Web 3.0"이 "크립토 같은 것들"을 의미하기 전까지는 "머신-리더블(Machine-Readable) 웹사이트"를 의미했음
  • 시맨틱 웹 개념이 더 이상 사용되지 않는다고 생각했는데, 알고 보니 시맨틱 웹은 이제 매우 널리 채택되어 이미 웹 3.0을 사용하고 있다고 해도 과언이 아닐 정도
  • 웹 3.0이 이미 존재한다면 어디에 있을까? 대부분 마크업에 숨겨져 있음

JSON-LD를 이용한 블로그 포스팅

  • HTML 페이지의 <head> <script type="application/ld+json"> 요소를 추가하여 JSON-LD 메타데이터를 포함 가능
  • JSON-LD는 시맨틱 웹 메타데이터를 인코딩하는 주요 형식임
  • 예: BlogPosting 타입을 사용한 설명
{  
  "@context": "https://schema.org";,  
  "@type": "BlogPosting",  
  "headline": "From Shell to Excel - with a little bit of HTTPS",  
  "url": "https://csvbase.com/blog/10";,  
  "description": "Write once, read everywhere",  
  "author": {  
    "@type": "Person",  
    "name": "Cal Paterson",  
    "email": "cal@calpaterson.com",  
    "url": "https://calpaterson.com/about.html";  
  },  
  "image": "https://csvbase.com/blog-static/excel.png";,  
  "datePublished": "2024-08-12",  
  "dateCreated": "2024-08-12",  
  "dateModified": "2024-08-12"  
}  
  • @로 시작하는 키는 메타데이터(메타-메타데이터?)임
    • @context는 네임스페이스를, @type은 클래스 타입을 나타냄
    • 나머지 키는 BlogPosting 타입에서 허용되는 항목들임
  • 키의 값은 다른 유형일 수 있음 (author 키의 Person 처럼)

이게 나한테 무슨 이득이 있을까?

  • 누가 이걸 읽지? 많은 봇이 JSON-LD 메타데이터를 파싱함
  • 시맨틱 웹 메타데이터가 포함된 블로그 게시물은 소셜 미디어 사이트에서 링크 미리보기가 표시되거나 하여 클릭률을 높임
  • 검색 엔진 크롤러가 이 메타데이터를 사용하여 검색 결과에 더 많은 정보를 표시함
  • 자동화된 링크 어그리게이터 들이 이 데이터를 이용하여 포스트를 사용자에게 보여줌(안드로이드가 뉴스화면에 여러 사이트를 보여주는 것 처럼)
  • 시맨틱 웹 메타데이터는 권한이 필요 없고 벤더 중립적임

이건 어려울까 ?

  • 아님, JSON-LD 는 매우 간단함
    • JSON-LD는 페이지에 이미 있는 정보를 컴퓨터가 읽을 수 있도록 배열한 것임
  • 프론트엔드 앱을 작성할 수 있다면 JSON-LD도 쉽게 이해할 수 있음

JSON-LD의 다른 유형

  • BlogPosting 외에도 Event, LocalBusiness, JobPosting, Product, Recipe 등의 타입이 있음
  • csvbase는 Dataset 타입을 사용하여 테이블 데이터를 설명함.
{  
  "@context": ["https://schema.org";, {"csvw": "https://www.w3.org/ns/csvw#";}],  
  "@type": "Dataset",  
  "name": "stock-exchanges",  
  "url": "https://csvbase.com/meripaterson/stock-exchanges";,  
  "isAccessibleForFree": true,  
  "distribution": [  
    {  
      "@type": "DataDownload",  
      "contentUrl": "https://csvbase.com/meripaterson/stock-exchanges.csv";,  
      "encodingFormat": "text/csv",  
      "contentSize": "16222"  
    },  
    {  
      "@type": "DataDownload",  
      "contentUrl": "https://csvbase.com/meripaterson/stock-exchanges.parquet";,  
      "encodingFormat": "application/parquet",  
      "contentSize": "10751"  
    },  
    {  
      "@type": "DataDownload",  
      "contentUrl": "https://csvbase.com/meripaterson/stock-exchanges.xlsx";,  
      "encodingFormat": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",  
      "contentSize": "15500"  
    },  
    {  
      "@type": "DataDownload",  
      "contentUrl": "https://csvbase.com/meripaterson/stock-exchanges.jsonl";,  
      "encodingFormat": "application/x-jsonlines",  
      "contentSize": "38627"  
    }  
  ],  
  "dateCreated": "2022-04-25T13:43:24.746075+01:00",  
  "dateModified": "2023-04-02T20:27:33.255648+01:00",  
  "maintainer": {  
    "@type": "Person",  
    "name": "meripaterson",  
    "url": "https://csvbase.com/meripaterson";  
  },  
  "description": "The world's stock exchanges...",  
  "mainEntity": {  
    "@type": "csvw:Table",  
    "csvw:tableSchema": {  
      "csvw:columns": [  
        {"csvw:name": "csvbase_row_id", "csvw:datatype": "integer"},  
        {"csvw:name": "Continent", "csvw:datatype": "string"},  
        {"csvw:name": "Country", "csvw:datatype": "string"},  
        {"csvw:name": "Name", "csvw:datatype": "string"},  
        {"csvw:name": "MIC", "csvw:datatype": "string"},  
        {"csvw:name": "Last changed", "csvw:datatype": "date"}  
      ]  
    }  
  }  
}  

이게 다 정말 필요한가? AI가 다 해결해주지 않을까 ?

  • 대형 언어 모델(LLM)은 종종 오류를 범함
  • 메타데이터를 제공하여 정확성을 보장하는 것이 중요함
  • LLM을 사용하면 비용이 많이 들고, 웹 페이지를 읽기 위해 GPU가 필요함

대체제들

  • Open Graph Protocol: Facebook에서 만든 표준으로, 주로 콘텐츠를 설명함
  • Microdata: 간단하지만 파싱하기 어려움
  • Twitter Cards: 트위터에서 콘텐츠를 어떻게 표시할지 설명함
  • XML 기반의 이전 표준들: 도서관 및 아카이브 시스템에서 깊이 지원됨

지루한 기술(Boring technology)

  • 시맨틱 웹이 이정도로 Low-Key라는 것은 매우 놀라움. 수많은 사이트가 이런 메타데이터를 이미 세팅하고 있음
  • "시맨틱 웹은 이미 널리 퍼져 있으며, 단지 승리의 순간이 없었을 뿐"

GN⁺의 정리

  • 시맨틱 웹은 기계가 읽을 수 있는 웹사이트를 만드는 기술로, 이미 널리 사용되고 있음.
  • JSON-LD는 시맨틱 웹 메타데이터를 인코딩하는 주요 형식으로, 블로그 포스팅, 이벤트, 제품 등 다양한 타입을 지원함.
  • 시맨틱 웹 메타데이터는 소셜 미디어와 검색 엔진에서 링크 미리보기와 검색 결과 향상에 도움을 줌.
  • AI를 사용하여 메타데이터를 자동으로 추출하는 것은 비용이 많이 들고 정확하지 않을 수 있음.
  • Open Graph Protocol, Microdata, Twitter Cards 등 다양한 대안이 존재함.

JSON-LD가 시맨틱 웹의 코어라거나 핵심 기술이라고 생각하지는 않지만, "시맨틱 웹은 이미 널리 퍼져 있으며, 단지 승리의 순간이 없었을 뿐"이라는 말은 많이 공감가는 내용이네요..!

시맨틱웹의 역사와 오늘날의 위상에 대해 궁금하신 분들에겐 이 에세이를 추천합니다.

https://lespetitescases.net/why-I-dont-use-semantic-web-technologies-a…

암호화폐가 낀 이후로는 폰지인터넷 개념이 된 Web 3.0 ㅋㅋ

Hacker News 의견
  • Semantic 웹 표준의 문제점

    • 수십 년 동안 킬러 애플리케이션이 부족함
    • 웹의 질이 나빠졌고, 위키피디아 같은 사건이 없었음
    • 비전의 불완전성: SPARQL 쿼리와 reasoners는 유용하지만, 평균 사용자에게는 인지 비용이 높음
    • 더 나은 웹을 위해서는 여전히 Semantic 웹 방향이 필요함
  • 시도 실패 경험

    • 시도한 사이트에 "Poem" 카테고리가 없었음
    • 9년 전부터 요청되었지만 해결되지 않음
  • JSON-LD와 RSS 비교

    • "Googlers, JSON-LD가 RSS만큼 인지도를 가질 수 있음"
    • 앱이나 서비스를 출시하고 종료하면 좋겠다는 의견
  • LLM과 Semantic 웹의 의미

    • 의미는 출판자가 정의해서는 안 됨
    • 평균 출판자가 LLM보다 정확하게 분류할 수 있는지 의문
    • SEO 해킹과 블로그 스팸은 출판자가 유일한 진리의 원천이었기 때문
    • 의미를 정의하는 문제를 해결해야 함
  • Semantic 웹의 현재 상태

    • Facebook과의 통합으로 승리를 선언하는 것은 Semantic 웹의 죽음을 의미함
    • OWL과 다른 표준은 페이지 내용을 주석 처리하는 것이 목적이었음
    • 저자, 제목, 사진, 출판 날짜 정보는 거의 무의미함
  • 중요 개념 누락

    • 링크 데이터, RDF, 연합 및 웹 쿼리 언급 없음
    • JSON-LD는 단지 직렬화 형식일 뿐
    • 링크 데이터 기술은 데이터의 상호 운용성과 재사용성을 높임
    • LLM과 링크 데이터는 상호 보완적임
  • PDF의 메타데이터

    • PDF의 메타데이터도 Semantic 웹 표준을 기반으로 함
    • JSON-LD 대신 RDF를 XML로 작성함
  • HTML의 중요성

    • HTML이 어려워서 회피하는 것 같음
    • 의미는 마크업에 숨겨져 있는 것이 아니라 마크업 자체임
  • AI와 메타데이터

    • AI가 메타데이터를 대체하지 못하는 이유 두 가지
      • LLM이 자주 틀림
      • GPU 시간이 비쌈
    • LLM은 이미 99% 정확도를 보임
    • 미래에는 텍스트를 LLM에 통과시키는 것이 큰 문제가 되지 않을 것임
  • JSON-LD와 SEO

    • Google은 JSON-LD를 SEO 개선을 위해 5년 이상 추진해옴
    • Open Graph 프로토콜로 대부분의 관련 페이지 메타데이터가 이미 캡처됨
    • 추가 작업을 통해 JSON-LD를 생성할 필요가 없음