이하, 본 발명에 따른 인터넷 자원의 도메인화와 확장 사이트맵을 이용한 정보검색 및 브라우징방법의 바람직한 실시예를 첨부한 도면을 참조하여 설명하면 다음과 같다.
도 1은 본 발명에 적용되는 인터넷에서의 검색 및 브라우징의 개략적인 시스템의 구성도이다.
도 1에 도시된 바와 같이, 사용자(클라이언트)-인터넷 브라우저(10)와, 사용자가 확장도메인의 웹페이지에 접속하고자할 때, 그 웹페이지로 곧바로 가고자 하는 경우 확장도메인의 관련 매핑(mapping) 정보를 제공해주는 확장도메인 서비스 서버(20)와, 확장도메인을 자동으로 웹페이지 상에서 구축해서 데이터베이스화 시키는 컴퓨터이며 이 데이터베이스를 이용해서 도메인 서비스와 검색브라우징 서비스를 실행하는 확장도메인 구축 서버(30)와, 사용자가 확장도메인으로 유사페이지에 대한 검색이나 브라우징 요청을 처리하는 확장도메인 검색 및 브라우징 서버(40)로 구성된다.
이와 같이 구성된 인터넷에서의 검색 및 브라우징의 시스템은, 인터넷의 서버에 웹사이트가 있고 웹사이트에는 1개 이상의 웹페이지가 링크되어 있다. 또한, 각 웹페이지는 자연어로 표현된 자연어 확장 도메인을 가지고 있다.
즉, 기존의 영문 도메인이 "jumbyul.com" 이나 한글 도메인이 "점별.회사.한국"외에도 점별사이트내 각각의 웹페이지에 다음과 같은 이름이 부여될 수 있으며, 이것을 인터넷 웹브라우저의 주소창에서 입력하면 곧바로 찾아가는데 사용될 수 있다.
예를들어, 시스템 사용설명.점별, 고객서비스.점별, 프로그램다운.점별, system manual.jumbyul, customer service.jumbyul등과 같이 확장이름이 사이트의 이름으로 하고 앞부분을 세부페이지의 이름으로 표시하는 방식, 혹은 점별시스템사용설명, 고객서비스, 점별프로그램 다운받기, system manual for jumbyu service, customer service등과 같이 확장자가 없을 수도 있다.
따라서, 세부 웹페이지에 자연어 도메인(natural language domain names : 기존의 도메인이 영자로 되어있거나 한글로 되어 있기도 하지만, 자연어의 완전한 표현은 지원이 되지 않는다. 이에 반하여, 자연어 도메인은 자연어의 모든 형식 즉, 띄어쓰기와 기도등을 허용한다.)을 부여하는 것이 확장 도메인이라고 할 수 있으며, 그 이름 부여 방법은 확장자 사용여부와 같이 다양할 수 있다.
상기 자연어 확장 도메인(expanded domain names : 기존에는 사이트 혹은 사이트내 주요 서비스에 대해서만 이름을 붙이는 개념이였으나, 확장 도메인에서는 사이트 내의 모든 페이지에 이름을 붙이는 걸 가정한 것이다. 자연어 확장 도메인은 자연어 표현이 다 지원되는 확장 도메인을 지칭한다.)은 특정 도메인 서버에 각 확장 도메인에 대해서 입력된 해당 IP 주소 혹은 기타 도메인 주소를 관리하며, 특정 확장도메인의 검색요청에 한해서 해당 주소 정보를 통보해주는 기능을 한다. 따라서, 사용자들은 그 특정 도메인 서버를 자신의 컴퓨터에서 접근 할 수 있도록 프로그램 설치를 하면 인터넷 브라우저 창에서 일반 도메인처럼 사용할 수 있다.
특히, 본 발명의 결과인 새로운 인터넷 검색 서버는 인터넷상의 각 웹페이지에 대해서 자연어 확장 도메인을 부여하고 다음과 같은 정보를 관리한다.
예를들어, 페이지제목(웹페이지 자연어 확장 도메인으로 사용), 키워드리스트(1개이상의 주요단어 및 가중치), 요약문(해당 웹페이지를 요약한 텍스트), 이전링크(backward link: 현재 페이지를 호출하는 링크들의 웹주소)리스트, 이후링크(forward link: 현재 페이지가 호출하는 링크들의 웹주소 리스트), 페이지깊이값(사이트내의 위치에 따른 가중치), 페이지유사값(주변 사이트와의 호응도를 반영하는 값), 물리적 주소나 도메인 네임이다.
도 2는 본 발명에 적용되는 확장 도메인 구축 절차를 나타낸 흐름도이다.
도 2에 도시된 바와 같이, 특정 웹사이트 주소(IP혹은 도메인 네임)가 주어지면, 해당 사이트에 접속하여 링크되어 있는 페이지들을 전부 읽어 들여 오면서 물리적 주소도 같이 찾아낸다(S101).
이어, 읽어 들여온 웹페이지의 HTML이나 XML 태그를 제거하면서 이전링크 및 이후 링크정보, 그리고 웹페이지 제목, 웹페이지 본문, 강조된 텍스트등을 파악하여 저장한다(S103).
그리고, 텍스트 정보를 대상으로 자연언어 처리기술인 형태소 해석기와 자동 태거를 실행하여 문장을 형태소 단위로 분석해 낸다(S105).
이어서, 상기 형태소 단위의 결과물을 단어, 문장의 가중치를 계산하는 요약프로그램을 이용해서, 각 웹페이지의 제목(자연어 확장 도메인), 키워드 리스트, 요약문등을 추출한다(S107).
그런후에, 상기 사이트의 홈페이지를 기준으로 각각의 페이지의 깊이에 따라 혹은 앞뒤 링크 페이지와 유사도에 따라 페이지 깊이값과 유사값을 계산한다(S109).
상기 확장 도메인 구축 절차는 고유하지만, 각각의 세부 계산은 매우 다양한 방법으로 가능하다.
상기 각각의 세부 단계별 확장 도메인 구축방법을 설명하면 다음과 같다.
먼저, S101의 단계: 확장 도메인 구축 서버는 URL 주소 jumbyul.com을 이용해서 해당 사이트에 접속해서 다음과 같은 페이지를 가져온다.
--------------------------------------------------------------------
HTML source의 예
html>
<head>
<title>한 템포 빠른 인터넷 "점별"<title>
<STYLE type="text/css">
--------------------------------------------------------------------
html소스에서 다음과 같은 표현은 링크를 의미한다.
<a href=jeilfire.html class=wow>
jumbyul.com으로 직간접적으로 연결된 모든 웹페이지를 다 가져오지만, 그 영역은 jumbyul.com사이트 내로만 제한할 수도 있고, 그밖의 몇단계 링크로까지 제한할 수 있다.
위의 페이지의경우 jumbyul.com의 첫번째 페이지이기 때문에 jumbyul.com이라는 주소를 가지고 있지만, 링크된 세부 페이지는
http://www.jumbyul.com/about_jumbyul.html와 같은 디렉토리정보를 담은 주소형태를 가지게된다. 상기 S101의 단계에서는, 위에서 보여주는 html 문서의 내용과 그 문서의 주소값을 같이 가져오는 것이다.
--------------------------------------------------------------------
상기 S103의 단계: 여기에서는 태그정보를 제거하고, 각 웹문서의 이전, 이후 링크를 찾아 내고, 강조된 텍스트, 그 페이지를 링크하는 페이지에서 사용한 제목, 일반 텍스트등으로 처리하는 과정이다. 강조된 텍스트는 텍스트의 폰트 크기, 색깔의 변화로 감지해 낸다. 그리고 제목은 그 페이지를 링크로 연결하는 페이지에서 사용한 텍스트 내용을 지칭하며, 그림으로 대체하기도 하기 때문에 항상 얻어지는 것이 아니다.
다음은 jumbyul.com의 첫페이지를 처리한 결과의 일부를 보여준다.
--------------------------------------------------------------------
HTML 태그를 제거하고, 이전, 이후 링크정보를 모으고, 텍스트의 강조된 형태에 따라, 두가지로 텍스트를 구분해 놓은 결과
--------------------------------------------------------------------
<PageBegin>
<URL>
www.jumbyul.com
<Forward> //이후링크
www.jumbyul.com/domain_regist.html
www.jumbyul.com/dongbufire.html
www.jumbyul.com/dongser.html
www.jumbyul.com/download_link.html
www.jumbyul.com/english.html
<Backward> //이전링크
www.jumbyul.com/servlet/myExDomainLogin
www.jumbyul.com/servlet/mydomaintCheck
www.jumbyul.com/use_help.html
www.jumbyul.com/welcome.html
www.jumbyul.com/youngphoong.html
www.jumbyul.com/domain_regist.html
<WeightedText> //강조문 시작
점별 프로그램 다운로드
<NormalText> //보통문 시작
프로그램을 설치하시면 주소창에서 점별 주소를 사용하여 인터넷 자원을 검색 하실 수 있습니다.
왼쪽 테이블 끝
매달 mp3 플레이어가 10대
점별 이벤트
점별 플러그인 v 1.6
업그레이드
광고 테이블 끝 --검색창 테이블 시작
<PageEnd> //문서 끝
--------------------------------------------------------------------
상기 S105의 단계:여기서는 상기 S103의 단계의 결과물에서 텍스트영역에 대해서만 처리를 하는 것으로, 형태소분석을 통해서 가능한 모든 단어추출 결과를 만들어 내고, 태거를 통해서 최적의 결과를 고르는 것인데, 보통 이런 시스템은 두 과정을 한꺼번에 한다.
상기 형태소해석 및 자동태깅 결과는 다음과 같다.
입력문: 프로그램을 설치하시면 주소창에서 인터넷 자원검색을 할 수 있습니다.
프로그램 nc 0.000741을 jc 0.355216
설치 nca 0.000996 하 xpv 0.768383 시 efp 0.026432 면 ecs 0.091920
주소창 nn 0.000000 에서 jca 0.103791
인터넷 Un 0.000000
자원 nca 0.000041 을 jc 0.355216
검색 nca 0.000122
하 pv 0.107453 시 efp 0.026432 ㄹ exm 0.164484
수 nb 0.176458
있 pa 0.240992 습니다 ef 0.045474
태깅결과는 [형태소 품사 확률값]으로 출력이 되는 것을 보여주고 있다.
--------------------------------------------------------------------
상기 S107의 단계:여기서는 자동태깅까지 된 텍스트를 입력으로 해서, 주요단어, 제목선정, 주요문장 선정등의 작업을 한다. 이 과정에서, 태거가 제시한 언어적인 확률값, 문서내에서 사용된 각 단어의 빈도, 각 문장의 문서내 위치정보 등을 활용하여 각 단어의 가중치를 구하고 각 문장의 가중치를 구한다. 이 과정을 보통 요약이라고 하는 연구분야에서 오랜 기간 동안 다루어 온 주제이며, 여기서는 그 한 방법을 이용하여 구현한 예를 보여준다.
<TextArea>
<Title>
점별가족
<KeyWords>
등록 0.153846
가족 0.179487
점별 1.000000
주소 0.487179
테이블 0.153846
<Summary>
점별채널
새로운 점별 친구 신규 등록된 점별주소
나의 점별주소 알림마당 나만의 점별 주소를 자랑하세요
<PagEnd>
--------------------------------------------------------------------
상기 S109의 단계:여기서는 각 웹문서가 갖는 사이트내 깊은 정보와, 주변 웹페이지와의 유사도를 계산한다. 사이트내 깊이 정보는 S101의 단계에서 사이트를 탐색하는 과정에서 쉽게 구해 질 수 있다.
그 값은 0, 1, 2.....등의 자연수 값을 갖는다.
각 웹페이지는 S107의 단계의 결과로 키워드를 갖게 되는데 이 키워드와 요약문에서 추가로 추출한 명사를 이용해서 웹페이지간의 거리를 계산한다. 이것은 두 백터간의 유사도를 계산하는 것이며, 그 방법도 여러가지가 있으나 대표적으로 cosine 거리계산 공식이 잘 쓰인다. 값은 0부터 1사이의 값을 갖는다.
--------------------------------------------------------------------
이와 같이 구축된 자연어 확장 도메인 데이터베이스를 이용하여 본 발명에서 발명하는 검색과 브라우징을 구현한다.
도 3은 본 발명에 따른 인터넷 자원의 도메인화와 확장 사이트맵을 이용한 정보검색방법을 나타낸 흐름도이다.
도 3에 도시된 바와 같이, 먼저, 웹페이지의 도메인화 및 사이트단위의 검색을 위하여 각 사이트의 정보를 습득하는 웹로봇과, 습득된 각 웹페이지 별로 제목을 추출하고 이를 도메인으로서 혹은 키워드로서 검색이 가능하도록 소속 웹 사이트의 자연어 이름과 함께 데이터베이스에 관리하는 정보검색 서버와, 검색서버와 접속할 수 있는 프로그램을 구비한 클라이언트 컴퓨터와, 이들 컴퓨터 등이 통신할 수 있는 인터넷 네트워크 상의 환경을 구비하여, 이용자가 웹브라우저의 주소창을 통해서 혹은 본 검색 서버 사이트의 검색입력창에 원하는 웹페이지에 대한 키워드 혹은 자연어 확장 도메인 이름을 입력하고 이때 이용자는 특정사이트내 검색여부를 지정한다(S201).
여기서, 상기 정보 검색서버는, 각 사이트의 정보를 습득하고 페이지 단위로 제목을 추출하여 도메인으로서 혹은 키워드로서 검색이 가능하도록 데이터베이스에 해당 사이트의 자연어 이름과 함께 저장하여 서비스를 실시한다.이어서, 검색서버가 질의어를 분석하여 색인표현으로 만들고 전체 혹은 특정 사이트내의 등록된 자연어 확장 도메인을 대상으로 유사 웹페이지를 찾아 내고 랭킹과정(가중치 계산)을 통해서 유사 웹페이지를 정렬한다(S203)(S205)(S207)(S209).
상기 검색된 웹페이지를 자연어 확장 도메인 이름, 요약문, 링크페이지 검색 버튼등과 함께 도 4에 도시된 바와 같이, 자연어 확장 도메인 정보가 사용자의 웹브라우저에 출력한다(S211).
상기 사용자의 웹브라우저는
---------------------------------------------------------------
[자연어 확장 도메인 네임] ← → [클릭]
웹페이지 요약문
---------------------------------------------------------------
상기 ← 와 →의 표시는 브라우징을 위한 것으로 해당웹페이지에 이전링크 혹은 이후링크가 있는 경우에 각각 표시된다.
상기 출력 내용에 키워드 리스트는 포함되어 있지 않으나, 내부적으로는 키워드가 저장되어 있어서 상기 [클릭]을 누르게 되면 2차 검색을 위한 입력창에 해당 키워드 들이 자동으로 표시된다.
이어서, 상기 S211의 단계인 1차 검색결과에 대해서 이용자가 추가로 검색을 실시하고자 하는 경우, 이용자가 웹브라우저의 주소입력창 혹은 검색결과창의 입력창에 추가적으로 검색 질의문을 입력하거나 검색된 웹페이지 리스트중에서 마음에 드는 것을 클릭함으로써 입력창에 해당 웹페이지의 키워드를 자동으로 입력한다(S213).여기서, 상기 입력된 질의문은 다음과 같은 형태를 가진다."웹페이지의 이름.사이트이름"따라서, 질의문에서 자연어로 표현된 사이트의 이름을 알 수 있고, 그로부터 해당 데이터베이스에서 정보페이지의 이름을 찾는다.또한 질의문에 기재된 그대로의 제목을 가진 웹페이지가 있는지를 먼저 검색하는데, 이 부분이 바로 입력 질의문을 1:1 매핑 즉 도메인으로 기능하도록 한다.여기서, 만약 100% 일치하는 표현이 발견되지 않는다면, 입력 질의문의 "웹페이지의 이름" 부분을 키워드 열로 해석을 하여 1:N 매핑을 시도하여 유사한 페이지들을 검색하여 제시하게 된다.
한편, 상기 검색의 영역을 선택된 웹페이지들이 속한 사이트로만 국한 할 것인지, 아니면 전체 사이트를 대상으로 할 것인지를 사용자가 추가적으로 선택한다(S215).
그런후에, 검색서버가 사용자의 요구에 따라 특정 사이트의 확장 도메인만을 대상으로 혹은 전체 사이트의 확장 도메인들을 대상으로 2차 검색 요청으로 입력된 키워드와 검색 대상의 도메인들의 키워드를 비교해서 가장 유사도가 높은 것을 계산한다(S217).
상기 유사도에 따라 검색된 확장 도메인리스트를 사용자의 웹브라우저에 상기 1차 검색의 경우와 같이 출력한다(S219).
도 5는 본 발명에 따른 인터넷 자원의 도메인화와 확장 사이트맵을 이용한 브라우징방법을 나타낸 흐름도이다.
도 5에 도시된 바와 같이, 이용자가 1차 혹은 2차 검색결과에 대해서 특정 웹페이지(혹은 확장 도메인 네임)와 앞뒤로 링크되어 있는 주변 웹페이지를 브라우징하기로 결정하고 이전(←) 혹은 이후(→) 버튼을 클릭한다(S301).
이어서, 브라우징 검색서버가 선택된 웹페이지의 레코드에 저장된 이전, 이후 링크를 찾아낸다(S303).
그런후에, 이용자 브라우저에 보통의 검색 페이지와 같은 형식으로 이전 혹은 이후 링크페이지들의 정보를 리스트하여 이용자의 웹브라우저에 출력한다(S305).
그리고, 이용자는 다시 브라우징을 할 수 도 있고, 혹은 2차 검색을 실시할 것인지를 판단하여 2차 검색을 실시하고자 하면 2차 검색을 실시한다(S307)(S309).