Semantic Web

GY·2021년 11월 29일
1

Basic CS

목록 보기
10/28
post-thumbnail

이전에 semantic tag에 대해서 간단하게만 알아보았는데, 이번에는 조금 더 큰 범위에서 semantic web에 대해서도 알아보았다.


🕹 semantic

의미를 담은
검색엔진이 HTML 코드 만으로 그것이 어떤 역할과 기능을 수행하는지, 어떤 목적으로 작성되었는지를 이해할 수 있도록 의미를 담은 것

예를 들어, HTML태그 중 div만으로는 이 태그가 단순히 구획을 나누거나 다른 요소를 감싸기 위한 태그인지, 검색에 중요한 정보를 담은 제목을 포함하고 있는지, 혹은 핵심 메뉴들을 담은 네비게이션 바를 포함한 태그인지 알기 어렵다.
이 때 특별한 의미 없이 범용적으로 쓰이는 div 대신 <nav>header과 같은 태그를 사용한다면 이 태그는 nav bar구나, 이 태그는 header구나 라는 것을 인지하고 검색엔진이 정보를 잘 수집하여 구분할 수 있게 된다.
혹은 단순히 <p>태그를 사용하는 대신 h1태그를 사용하면 검색엔진이 '아, 이건 이 웹사이트의 중요한 제목이구나!'라고 인식하고 인덱스에 포함시킬 수 있다.


검색엔진?

지난 포스팅에서 시멘틱 태그를 이용하는 목적은 크게 3가지라는 것을 배웠다.

  1. SEO (검색 엔진 최적화)
  2. Accessability (스크린 리더와 키보드 만으로 접속하기 용이함)
  3. Maintainability (웹사이트의 구조를 파악하기 용이함)

이 중 검색엔진 최적화에 대해 조금 더 자세히 알아보자.


검색엔진이 하는 일

검색 엔진은 매일 전세계의 웹사이트를 크롤링해 정보를 수집한다. 그리고 검색 키워드를 예상해 사용자가 특정 단어를 검색하면 그 단어를 포함하거나 특정 내용을 포함하는 관련 웹사이트를 검색결과로 보여줄 수 있도록 목록을 만들어둔다. 이것을 검색 키워드에 대응하는 인덱스를 만들어 둔다고 해 인덱싱이라고 한다.

그렇다면 이 검색엔진이 정보를 수집해 인덱스를 생성할 때, 이것이 본문인지, 제목인지, 다른 무엇인지 잘 구분해야 우리가 의도한 대로 사용자가 검색했을 떄 우리가 만든 웹사이트가 잘 도달할 수 있게 할 수 있다.


🕹 semantic web

위에서 semantic의 의미와 그것을 왜 알아야 하고 사용해야 하는지에 대해 배웠다.
그렇다면 semantic web이 무엇인지 유추하는 것이 크게 어렵지 않다.

의미론적인 웹
문서/앱의 '의미'에 맞게 구성된 웹

이렇게 의미를 담은 웹은 어떤 장점이 있을까? 무엇을 할 수 있을까?

시멘틱 웹이 무엇인지는 대충 알겠는데, 앞에서 말한 시멘틱 웹의 3가지 장점은 추상적이라 잘 와닿지 않는다.

조금 더 깊게 들어가 시멘틱 웹의 정의를 다시 살펴보자.

시맨틱 웹(Semantic Web)은 현재의 인터넷과 같은 분산환경에서 
리소스(웹 문서, 각종 화일, 서비스 등)에 대한 정보와 자원 사이의 관계-의미 정보(Semanteme)를 
기계(컴퓨터)가 처리할 수 있는 온톨로지형태로 표현하고, 
이를 자동화된 기계(컴퓨터)가 처리하도록 하는 프레임워크이자 기술이다. 
웹의 창시자인 팀 버너스 리가 1998년 제안했고 현재W3C에 의해 표준화 작업이 진행중이다.

출처: https://linuxism.ustd.ip.or.kr/626 [linuxism]

시멘틱 웹의 이상향

현재는 사람이 직접 검색 키워드로 정보를 찾고 해석하고 있다.
시멘틱 웹의 궁극적인 목적은 자동화된 기계가 웹에 퍼져있는 정보를 사람대신 해석하고 처리할 수 있는 것이다.
예를 들어, 사람이 질문을 하면 컴퓨터가 자동으로 정보를 탐색하고 그 의미를 추론하여 사람이 원하는 결과를 가져와 보여주는 것이다.
사람이 쉽게 찾아 볼 수 없는 것을 찾아서 볼 수 있는 구조를 제공해 지금 우리가 사용하고 있는 검색기능과 찾은 문서들의 질을 높이고자 하는 목적 또한 가지고 있다.


컴퓨터가 정보의 의미를 파악한다는 것은 어떤 의미일까?

시멘틱 웹을 구성하는 기술중 하나는 온톨로지이다.
온톨로지: 데이터의 의미와 관계정보를 체계적으로 표현하는 지식 표현 기술


*아직 웹 표준과 웹접근성에 대해서는 잘 알지 못하지만, 추후에 더 공부하기로 하고 지금은 시멘틱 웹의 목적과 의미에 관련된 궁금한 부분까지만 공부하기로 했다.

예를 들어, 관공서 온톨로지에 개의 사체는 음식물 폐기물로 분류되어 쓰레기 봉투에 넣어야 하는 폐기대상으로 정보가 해석되고 처리될 수 있다. 반대로, 동물병원 온톨로지에는 똑같은 개의 사체도 동물 전용 화장터로 보내서 화장을 해야 하는 대상으로 분류될 수 있다.


🕹 semantic tag

시멘틱 태그에 대해서는 아래 포스팅에 정리해두었다.



아직 정확히는 모르겠지만, 이렇게 똑같은 정보도 그 문맥과 상황에 따라 정보가 가지는 의미가 달라지기 때문에 이것을 사람이 아닌 기계도 해석하고 처리할 수 있도록 하는 것이 시멘틱 웹의 궁극적인 목적이라고 이해했다.

그렇다면, 시멘틱 웹을 잘 구성해 접근성과, 유지보수의 용이성, 검색엔진 최적화가 잘 되어있도록 신경쓰는 것이 왜 중요한지는 이해가 된다.

시멘틱 웹을 어떻게 구현할 수 있는지도 궁금해서 찾아보았는데 (단순히 HTML코드를 시멘틱 태그를 이용해 작성하는 것이 전부는 아닐것이 분명하므로) 그 내용이 방대할 뿐더러 지금 공부할 필요가 있는 내용은 아니기 때문에 생략했다.

지금 공부하는 시점에서는 시멘틱 웹을 잘 구성할 수 있도록 시멘틱 태그의 중요성을 잘 알고 코드를 작성하는 것이 아닐까 생각한다.



Reference

profile
Why?에서 시작해 How를 찾는 과정을 좋아합니다. 그 고민과 성장의 과정을 꾸준히 기록하고자 합니다.

1개의 댓글

comment-user-thumbnail
2021년 12월 1일

Semantic Web의 바이블 입니다 여러분

답글 달기