KR101180371B1 - 폭소노미 기반 개인화 웹 검색 방법 및 이를 수행하는 시스템 - Google Patents

폭소노미 기반 개인화 웹 검색 방법 및 이를 수행하는 시스템 Download PDF

Info

Publication number
KR101180371B1
KR101180371B1 KR1020100084231A KR20100084231A KR101180371B1 KR 101180371 B1 KR101180371 B1 KR 101180371B1 KR 1020100084231 A KR1020100084231 A KR 1020100084231A KR 20100084231 A KR20100084231 A KR 20100084231A KR 101180371 B1 KR101180371 B1 KR 101180371B1
Authority
KR
South Korea
Prior art keywords
user
url
cluster
server
search
Prior art date
Application number
KR1020100084231A
Other languages
English (en)
Other versions
KR20120020558A (ko
Inventor
김한준
이병정
강수용
김동욱
Original Assignee
서울시립대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울시립대학교 산학협력단 filed Critical 서울시립대학교 산학협력단
Priority to KR1020100084231A priority Critical patent/KR101180371B1/ko
Publication of KR20120020558A publication Critical patent/KR20120020558A/ko
Application granted granted Critical
Publication of KR101180371B1 publication Critical patent/KR101180371B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Abstract

개인화 검색을 위해 폭소노미를 기반으로 사용자에게 적합한 질의어를 추천해 주는 폭소노미 기반 개인화 웹 검색 방법 및 이를 수행하는 시스템이 개시된다. 폭소노미 기반 개인화 웹 검색 방법은, 서버가 인터넷상의 태그 데이터를 수집하고 수집된 태그 데이터에 대해 폭소노미 분석을 행하여 URL 번호와 URL을 포함하는 클러스터링 정보를 저장하는 단계와, 클라이언트에서 사용자가 북마킹한 URL을 서버에 전송하면, 서버로부터 전송받은 데이터를 가지고 클러스터내 태그 정보와 사용자 프로파일을 생성하여 저장하는 단계와 서버의 검색엔진에 해당 질의어와 질의어에 대한 사용자 프로파일 정보를 전송하는 단계와, 서버는 사용자 프로파일 정보를 분석하여 사용자에게 알맞은 연관 검색어를 보여주는 단계를 포함한다. 이에 따라, 개인화된 검색이 가능하고 프라이버시 문제를 해결하며, 검색엔진 서비스 업체에서는 사용자의 프로파일 정보를 활용 가능한 효율적인 시스템 아키텍터를 제공할 수 있다.

Description

폭소노미 기반 개인화 웹 검색 방법 및 이를 수행하는 시스템{FOLKSONOMY-BASED PERSONALIZED WEB SEARCH METHOD AND SYSTEM FOR PERFORMING THE METHOD}
본 발명은 폭소노미 기반 개인화 웹 검색 방법 및 이를 수행하는 시스템에 관한 것으로, 보다 상세하게는 개인화 검색을 위해 폭소노미를 기반으로 사용자에게 적합한 질의어를 추천해 주는 폭소노미 기반 개인화 웹 검색 방법 및 이를 수행하는 시스템에 관한 것이다.
인터넷상에서 검색을 위해, 다양한 검색엔진(예를들어, 구글(Google), 야후(Yahoo), 빙(Bing))에 질의어를 전송하여 수많은 웹 문서 중에서 원하는 문서를 검색한다.
이러한 검색엔진을 사용하는 사용자들은 원하는 정보가 포함된 문서를 얻기 위해서 키워드(또는 질의어)를 선택한다. 이때, 사용자들에 의해 선택되는 키워드들은 대부분 짧고 불분명한 의미가 많다.
또한, 검색시스템은 불분명한 의미의 질의어에 대해 정확히 사용자가 원하는 정보가 포함된 문서만을 선택하여 보여주기 어렵다. 예를 들어, 생물학에 관심이 많은 사용자가 생물학적 바이러스의 의미를 가진 문서를 검색하기 위해 바이러스(Virus)라는 키워드를 질의어로 전송할 때, 검색시스템은 해당 질의어가 생물학적 바이러스인지, 컴퓨터 바이러스인지 짧은 질의어만을 가지고 판단하기 어렵다. 이러한 문제는 사용자가 직접 연관된 키워드를 추가적으로 선택하고 처음 선정했던 키워드를 포함하여 질의어를 재전송하는 방법과 검색시스템에서 자동으로 사용자 프로파일의 정보를 바탕으로 개인화된 검색 결과를 보여주는 방법으로 해결할 수 있다.
사용자가 수동적으로 질의어를 재전송하는 경우, 사용자의 의도를 정확히 반영할 수 있지만, 여전히 키워드 선택의 어려움이 존재하고 다시 전송해야 하는 불편함이 있다.
이러한 단점을 극복하기 위해, 검색시스템은 사용자 질의어 기록(log)을 바탕으로 연관된 질의어를 추천한다. 이러한 연관 질의어 추천은 사용자가 원하는 정보를 쉽고 편리하게 찾는데 도움을 주지만, 해당 질의어의 모호성을 구분해서 질의어를 추천하지는 못한다. 시스템적으로 자동화되어 개인화된 결과를 보여주는 방법으로는 검색결과를 사용자 개개인에 맞춰 재순위화(Re-ranking)하여 보여주는 방법과 처음 입력한 질의어를 사용자의 프로파일에 맞추어 확장하는 방법이 있다.
두 방법 모두 한 번의 키워드 전송으로 사용자가 정확히 원하는 결과를 얻을 수 있어 정확도와 편리성을 증대시킬 수 있지만, 사용자에 맞춰 개인화된 결과가 오히려 사용자에게 혼란을 주게 될 수도 있다. 예를 들어, 검색시스템은 특정 사용자의 선호도 정보가 생물학적 바이러스라서 「생물학적 바이러스」에 관한 문서의 결과를 상위에 보여주거나 생물학적 바이러스와 연관된 질의어로 확장을 했지만 사용자는 컴퓨터의 바이러스 감염으로 인해 「컴퓨터 바이러스」와 관련된 문서를 찾으려고 검색한 경우에는 오히려 혼란을 주게 된다.
이러한 개인화된 검색 결과를 보여주기 위해서는 검색엔진을 이용하는 각각의 사용자 개인정보가 서버에 저장되어야 한다. 하지만, 이러한 검색시스템은 개인의 프라이버시가 침해될 수 있는 위험성이 증가된다.
이에 본 발명의 기술적 과제는 이러한 종래의 문제점을 해결하기 위한 것으로, 본 발명의 목적은 개인화 검색을 위해 폭소노미를 기반으로 사용자에게 적합한 질의어를 추천해 주기 위해 개인화된 검색 결과 제공시 프라이버시 침해 위험성이 제거된 폭소노미 기반 개인화 웹 검색 방법을 제공하는 것이다.
또한, 본 발명의 다른 목적은 상기한 폭소노미 기반 개인화 웹 검색 방법을 수행하는 시스템을 제공하는 것이다.
상기한 본 발명의 목적을 실현하기 위하여 일실시예에 따른 폭소노미 기반 개인화 웹 검색 방법은, 서버가 인터넷상의 태그 데이터를 수집하고 수집된 태그 데이터에 대해 폭소노미 분석을 행하여 URL 번호와 URL을 포함하는 클러스터링 정보를 저장하는 단계와, 클라이언트에서 사용자가 북마킹한 URL을 상기 서버에 전송하면, 상기 서버로부터 전송받은 데이터를 가지고 클러스터내 태그 정보와 사용자 프로파일을 생성하여 저장하는 단계와, 상기 서버의 검색엔진에 해당 질의어와 상기 질의어에 대한 사용자 프로파일 정보를 전송하는 단계와, 상기 서버는 사용자 프로파일 정보를 분석하여 사용자에게 알맞은 연관 검색어를 보여주는 단계를 포함한다.
본 실시예에서, 상기 폭소노미 분석에서, URL과 태그의 연관된 정도를 나타내는 연관도 값은 TF-IDF 가중치를 활용하여 아래의 수학식,
Figure 112010056091950-pat00001
에 의해 계산될 수 있다.
본 실시예에서, 상기 클러스터링 정보를 저장하기 위해, 코사인 유사도 공식을 통해 URL간의 유사도를 계산하고, 상기 유사도를 기반으로 계층적 클러스터링 알고리즘을 사용하여 URL들을 클러스터링할 수 있다.
본 실시예에서, 상기 사용자 프로파일 정보를 분석하여 사용자에게 알맞은 연관 검색어를 보여주는 단계는, 클러스터 내에서 모든 태그들의 연관도 값이 URL의 북마킹 횟수와 무관하게 일정 값을 갖도록 상기 연관도 값을 평준화하여 평준화 값을 산출하고, 해당 클러스터에서 가장 중요한 태그의 연관도 값을 높이기 위해 클러스터 내에서 해당 태그를 포함하는 URL의 비율을 상기 평준화 값에 곱해주고, 사용자가 북마킹한 URL이 많은 클러스터 순으로 추천해 주기 위해 사용자가 클러스터 내에 북마킹한 횟수의 값을 상기 URL의 비율이 상기 평준화 값에 곱해진 값에 곱하여 산출된 값이 높은 태그들 중 상위 일정 수의 태그들을 상기 연관 검색어로서 추천할 수 있다.
본 실시예에서, 상기 사용자가 북마킹한 URL 정보는 딜리셔스 사이트 또는 사용자의 로컬 컴퓨터에서 북마킹한 URL 주소를 포함하고, 서버로부터 전송받은 데이터는 해당 URL이 포함된 클러스터 번호, URL의 클러스터 내 번호, 해당 클러스터의 태그 리스트를 포함할 수 있다.
본 실시예에서, 상기 사용자 프로파일 정보는 클러스터 번호 및 상기 클러스터 내 북마킹한 URL 번호를 포함할 수 있다.
상기한 본 발명의 목적을 실현하기 위하여 일실시예에 따른 폭소노미 기반 개인화 웹 검색 시스템은 서버와 클라이언트를 포함한다. 상기 서버는 인터넷상의 태그 데이터를 수집하고 수집된 태그 데이터에 대한 폭소노미 분석을 행하여 URL 번호와 URL을 포함하는 클러스터링 정보를 저장한다. 상기 클라이언트는 사용자가 북마킹한 URL을 상기 서버에 전송하고, 그의 응답에 따라 전송받은 데이터를 가지고 클러스터내 태그 정보와 사용자 프로파일을 생성하여 저장하고, 사용자가 질의어를 입력함에 따라 해당 질의어와 상기 질의어에 대한 사용자 프로파일 정보를 상기 서버의 검색엔진에 전송하며, 상기 서버에 의해 분석된 사용자 프로파일 정보를 근거로 사용자에게 알맞은 연관 검색어를 제공받아 표시한다.
본 실시예에서, 상기 서버는, 상기 폭소노미 분석시, URL과 태그의 연관된 정도를 나타내는 연관도 값을 TF-IDF 가중치를 활용하여 아래의 수학식,
Figure 112010056091950-pat00002
에 의해 계산할 수 있다.
본 실시예에서, 상기 서버는, 상기 클러스터링 정보를 저장하기 위해, 코사인 유사도 공식을 통해 URL간의 유사도를 계산하고, 상기 유사도를 기반으로 계층적 클러스터링 알고리즘을 사용하여 URL들을 클러스터링할 수 있다.
삭제
본 실시예에서, 상기 서버는 상기 사용자 프로파일 정보를 분석하여 사용자에게 알맞은 연관 검색어를 보여주기 위해, 클러스터 내에서 모든 태그들의 연관도 값이 URL의 북마킹 횟수와 무관하게 일정 값을 갖도록 상기 연관도 값을 평준화하여 평준화 값을 산출하고, 해당 클러스터에서 가장 중요한 태그의 연관도 값을 높이기 위해 클러스터 내에서 해당 태그를 포함하는 URL의 비율을 상기 평준화 값에 곱해주고, 사용자가 북마킹한 URL이 많은 클러스터 순으로 추천해 주기 위해 사용자가 클러스터 내에 북마킹한 횟수의 값을 상기 URL의 비율이 상기 평준화 값에 곱해진 값에 곱하여 산출된 값이 높은 태그들 중 상위 일정 수의 태그들을 상기 연관 검색어로서 추천할 수 있다.
본 실시예에서, 상기 서버는 사용자ID 필드를 제외하여 상기 클러스터링 정보를 저장할 수 있다.
본 실시예에서, 상기 사용자가 북마킹한 URL 정보는 딜리셔스 사이트 또는 사용자의 로컬 컴퓨터에서 북마킹한 URL 주소를 포함하고, 상기 서버로부터 전송받은 데이터는 해당 URL이 포함된 클러스터 번호, URL의 클러스터 내 번호, 해당 클러스터의 태그 리스트를 포함할 수 있다.
본 실시예에서, 상기 사용자 프로파일 정보는 클러스터 번호 및 상기 클러스터 내 북마킹한 URL 번호를 포함할 수 있다.
이러한 폭소노미 기반 개인화 웹 검색 방법 및 이를 수행하는 시스템에 의하면, 개인화된 검색이 가능하고 프라이버시 문제를 해결하며, 검색엔진 서비스 업체에서는 사용자의 프로파일 정보를 활용 가능한 효율적인 시스템 아키텍터를 제공할 수 있다. 또한, 개인화된 검색을 위해 폭소노미 서비스를 제공하는 딜리셔스 사이트의 데이터를 활용하여 질의어를 추천해주는 시스템을 구현할 수 있다.
도 1a 내지 도 1c는 사용자 모델 컴포넌트가 검색시스템에 끼치는 영향을 설명하기 위한 개념도이다.
도 2는 북마킹한 사용자의 수와 URL 수간의 관계를 설명하는 그래프이다.
도 3은 딜리셔스 사이트 사용자의 태그 사용 횟수를 나타내는 그래프이다.
도 4는 본 발명에 따른 개인화된 검색 서비스 절차를 설명하는 블럭도이다.
도 5는 본 발명에 따른 폭소노미 기반 개인화 웹 검색방법을 설명하기 위한 흐름도이다.
이하, 첨부한 도면들을 참조하여, 본 발명을 보다 상세하게 설명하고자 한다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
그러면, 본 발명과 관련된 벡터공간모델, 폭소노미(Folksonomy) 및 개인화 검색에 대해서 간략히 설명한다.
벡터공간모델
벡터공간모델은 텍스트 문서를 색인 단어(index term)들의 벡터로 나타내는 대수적(algebraic) 모델이다. 벡터공간모델을 잘 활용하기 위하여 다양한 방법론들의 활용과 실제 적용 결과에 대한 연구들이 진행되어 왔으며, 다양한 방법들 중 본 발명에서도 활용한 방법은 다음과 같다.
두 문서간의 유사도를 판단하기 위한 방법으로 두 문서(d1, d2)내 색인 단어들의 벡터(
Figure 112010056091950-pat00003
,
Figure 112010056091950-pat00004
) 사이의 코사인 각도를 아래의 수학식 1을 이용한다.
[수학식 1]
Figure 112010056091950-pat00005
여기서, 가중치(
Figure 112010056091950-pat00006
)는 간단히 문서에 색인 단어가 포함되었는지의 유무로도 판단할 수 있다. 하지만, 보다 정확한 유사도 판단을 위해 문서에 포함된 어떤 단어가 문서 내에서 얼마나 중요한 정도를 나타내는 TF-IDF 가중치를 사용하였다. 상기한 TF-IDF 가중치는 정보 검색과 텍스트 마이닝에서 이용하는 가중치로서, 여러 문서들로 이루어진 문서군이 있을 때, 어떤 단어가 특정 문서내에서 얼마나 중요한 것인지를 나타내는 통계적 수치이다. 상기한 TF-IDF 가중치는 문서의 핵심어를 추출하거나, 검색엔진에서 검색 결과의 순위를 결정하거나, 문서들 사이의 비슷한 정도를 구하는 등의 용도로 사용할 수 있다. 상대적으로 큰 TF-IDF 가중치를 갖는 단어는 더 중요하다고 볼 수 있다. 문서 d에서 등장한 단어 i의 TF-IDF 가중치는 아래의 수학식 2에 의해 산출된다.
[수학식 2]
Figure 112010056091950-pat00007
여기서, tfi는 TF(Term Frequency)에 해당하며, 해당 문서에서 특정 단어의 빈도수를 뜻한다. TF의 의미는 해당 문서에 많이 나온 단어가 문서내에서 중요하다는 것을 나타낸다. 또한,
Figure 112010056091950-pat00008
는 IDF(Inverse Document Frequency)에 해당하며, 문서 집합내에서 해당 단어가 포함된 문서의 빈도수의 역수를 뜻한다. IDF의 의미는 문서와 연관된 단어일수록 많은 문서들에서 적게 사용되는 것을 나타낸다.
폭소노미 ( Folksonomy )
폭소노미는 전통적인 분류 기준인 디렉토리 대신 태그에 따라 나누는 새로운 분류 체계로서, 『사람들에 의한 분류법』이란 의미이다. 폭소노미가 기존의 분류 체계와 다른 점은 구성원들이 자발적으로 개별정보에 의미를 부여함으로써 단위정보를 체계화한다는 것이다.
이러한 폭소노미 서비스를 제공하는 유명한 사이트로는 북마크 공유 사이트인 딜리셔스(del.icios.us)와 온라인 사진 공유 사이트인 플리커(flicker) 사이트가 있다. 해당 사이트의 사용자들은 자발적으로 사용자가 관심을 가지는 URL이나 이미지 파일을 북마킹 혹은 저장을 할 때, 웹문서나 이미지와 연관된 태그를 작성함으로써, 웹문서나 이미지 파일에 의미를 부여한다. 이렇게 복수의 사용자에 의해 작성된 태그는 웹문서나 이미지들의 분류 기준으로 삼을 수 있다. 이러한 폭소노미의 기준이 되는 태그 데이터를 개인화 검색에 활용한 다양한 연구들이 진행되고 있다.
개인화 검색
사용자가 방문하기 위하여 선택하는 페이지들과 질의어를 전송하는 것과 같은 사용자의 행동 정보를 통하여 사용자의 특징을 파악하는 것을 사용자 모델링(혹은 프로파일링) 기술이라고 하며, 이로 인해 얻어지는 정보를 사용자 프로파일 혹은 사용자 모델이라고 한다. 그리고 검색시스템에서 사용자 프로파일을 이용하여 검색 결과에 영향을 미치는 검색시스템 구성요소를 사용자 모델 컴포넌트(User Model Component)라고 하며, 후술되는 도 1a, 1b, 1c와 같이 세 가지 다른 측면에 영향을 끼친다.
도 1a 내지 도 1c는 사용자 모델 컴포넌트가 검색시스템에 끼치는 영향을 설명하기 위한 개념도이다.
도 1a는 사용자가 전송하는 질의어에 대하여 사용자 프로파일을 활용하여 각각의 사용자에게 적합한 개인화된 검색 결과를 보여준다. 도 1b 및 도 1c 보다는 빠른 응답성을 보이지만, 비개인화 정보 검색(Non-Personalized IR) 테크닉과 비교하면 오랜 시간을 소모한다.
도 1b는 사용자의 프로파일에 따라 문서의 추천 순위를 재조정하는 것으로, 사용자에 맞추어 검색결과의 정확도(Precision)를 증가시킬 수 있다. 대부분의 재순위화 검색시스템들은 프라이버시 문제 해결과 재순위화의 시간 소모를 줄이기 위하여 클라이언트에서 구현되었다.
도 1c는 사용자의 프로파일을 통해 질의어를 수정하는 검색시스템으로 개인화하기 위해 여러 문서를 다운로드하는 추가적인 오버헤드를 줄이기 위하여 대부분 클라이언트에서 질의어를 수정하여 전송한다. 개인화를 위한 대부분의 검색시스템들은 각각의 사용자에 맞는 결과를 보여주기 위해 추가적인 오버헤드가 필요하게 되며 이러한 오버헤드를 줄이고, 사생활 침해를 막기 위해 클라이언트에서 구현되어 왔다. 하지만 이 검색시스템들은 검색엔진을 서비스하는 업체가 사용자의 프로파일 정보를 이용한 다양한 개인화 서비스를 하지 못하는 단점을 갖는다.
이하에서, 폭소노미를 이용하여 사용자 프로파일을 생성하는 방법과 사용자 프로파일을 통한 개인화 검색시스템에서 발생하는 추가적인 오버헤드와 프라이버시의 위협을 줄이며 서비스 업체에서도 사용자의 프로파일 정보를 활용할 수 있는 검색시스템을 설명한다.
폭소노미를 분석하여 사용자 프로파일을 생성할 수 있다면, 개인화 검색시스템에서 사용자 모델 컴포넌트가 사용자 프로파일을 활용하여 개인화된 검색 결과를 보여 줄 수 있다. 따라서, 본 발명에서는 개인화 검색에 활용하기 위한 사용자 프로파일 생성 방법과 사용자 프로파일을 이용한 개인화 검색 방법을 제안한다.
폭소노미 분석
사용자들에 의해 만들어진 딜리셔스 사이트는 URL의 웹 문서 내용과 연관된 태그들을 분류할 수 있는 정보를 제공한다. 이러한 데이터를 사용자 프로파일로 활용하기 위해 다음과 같은 가정을 하였다.
Figure 112010056091950-pat00009
또한, 사용자의 북마킹 데이터는 해당 URL을 북마킹한 시간(Date), 해당 URL을 북마킹한 사용자 ID, 웹 문서의 URL 주소, 사용자가 북마킹할 때 해당 URL의 문서를 분류하는 기준으로 삼은 단어인 태그를 포함하고, 자세한 내용은 다음과 같다.
Figure 112010056091950-pat00010
이러한 북마킹 데이터를 통해 많은 사용자들이 URL의 문서를 분류하는 기준으로 선택한 태그는 해당 URL과 연관성이 높으며, 이러한 URL과 태그의 연관성을 표현하기 위해 URL과 태그의 연관된 정도를 나타내는 값을 계산하여 m×n 크기의 행렬 M을 생성하였다. 여기서, m은 모든 태그의 수이며, n은 모든 URL의 수이다. URL과 태그의 연관된 정도를 나타내는 연관도 값(Mij)은 간단하게 URLj에 대해 태그 i로 북마킹한 사용자들의 수로도 표현할 수 있다.
하지만, 본 발명에서는 URL과 태그의 연관도 값(Mij)의 정확성을 높이기 위해 TF-IDF(Term Frequency-Inverse Document Frequency) 가중치를 활용하여 아래의 수학식 3과 같이 계산하였다. 일반적으로, TF-IDF 가중치는 정보 검색과 텍스트 마이닝에서 이용하는 가중치로, 여러 문서로 이루어진 문서군이 있을 때, 어떤 단어가 특정 문서내에서 얼마나 중요한 것인지를 나타내는 통계적 수치이다. 문서의 핵심어를 추출하거나, 검색 엔진에서 검색 결과의 순위를 결정하거나, 문서들 사이의 비슷한 정도를 구하는 등의 용도로 사용할 수 있다. 상대적으로 큰 TF-IDF 가중치를 갖는 단어는 더 중요하다고 볼 수 있다.
[수학식 3]
Figure 112010056091950-pat00011
여기서, Uij는 TF-IDF에서의 TF(해당 문서에서 특정 단어의 빈도수)에 해당한다. 예를들어, www.facebook.com사이트에 대해 패이스북(facebook)으로 10,619명이 「social」이란 태그로 10,083명의 사용자가 북마킹을 하였다면, TF값은 각각 10,619 및 10,083이 될 것이다.
하지만, 이러한 TF값은 실제 딜리셔스 사이트의 북마킹 횟수를 보면 문제가 된다.
도 2는 북마킹한 사용자의 수와 URL 수간의 관계를 설명하는 그래프이다.
도 2를 참조하면, 임의의 5만개의 페이지 URL에 대해 100명 미만이 북마킹한 URL이 80%를 차지하였으며, 이러한 비율은 전체 URL에서도 비슷한 양상을 보인다.
따라서, 복수의 사용자가 북마킹한 URL과 태그들의 연관도 값(Mij)이 커지는 문제가 발생하게 되는데 이러한 문제를 해결하기 위해서 해당 URL을 북마킹한 모든 사용자의 수로 나누어 정규화하는 방법을 사용할 수 있다. 하지만 이러한 변형은 다른 문제점을 야기한다.
도 3은 딜리셔스 사이트 사용자의 태그 사용 횟수를 나타내는 그래프이다.
도 3에서, X축은 사용자들이 사용한 태그들이며 Y축은 태그들의 사용 횟수를 나타낸다. 도 3에서 볼 수 있듯이, 사용자의 태그 활용 행태는 롱테일(long-tail)의 모습을 띄고 있다. 1,000명 이상이 태그로 사용한 단어의 개수는 28,097개이고, 1,000명 미만이 태그로 사용한 단어의 수는 약 12만개였다.
롱테일의 꼬리 부분에 위치하는 태그에는 사용자의 아이디, 오탈자, 의미없는 기호 등이 사용된 태그도 복수가 존재하였고, 이러한 태그들은 질의어 확장이나 추천, 재순위화에 이용될 경우 검색시스템에 큰 오류를 야기할 수 있다.
따라서, 해당 URL과 크게 관계없는 태그가 북마킹한 사용자의 수가 작은 URL에서 높은 연관도를 가지는 경우를 해결을 위해 개인화된 연관 검색어 추천 과정에서 연관도 값(Mij)에 대한 정규화를 적용하였다.
또한, IDF(inverse document frequency) 값을 구하기 위해 태그가 포함된 URL의 수와 전체 URL의 수를 구해야 하는데, URL을 수집하는 방법과 수집한 전체 URL 데이터의 양에 따라 큰 차이를 보일 수 있다. 여기서, IDF 값은 DF(문서 빈도수, document frequency) 값의 역수이다. IDF 값은 문서군의 성격에 따라 결정된다. 예를들어 <원자>라는 낱말은 일반적인 문서들 사이에서는 잘 나오지 않기 때문에 IDF 값이 높아지고 문서의 핵심어가 될 수 있지만, 원자에 대한 문서를 모아놓은 문서군의 경우 이 낱말은 상투어가 되어 각 문서들을 세분화하여 구분할 수 있는 다른 낱말들이 높은 가중치를 얻게 된다.
따라서, 딜리셔스 사이트에서 정확히 제공하는 태그의 북마킹 횟수를 통하여 가중치를 계산할 수 있게 IDF 값을 전체 URL의 중에 해당 URL이 포함된 URL의 값으로 계산하지 않고, 모든 태그로 북마킹된 횟수와 특정 태그가 해당 URL을 북마킹하기 위해 사용된 횟수로 변형하여 아래의 수학식 4과 같이 연관도 값(Mij)을 계산하였다.
[수학식 4]
Figure 112010056091950-pat00012
따라서, 연관도 값(Mij)은 문서와 가장 연관이 높은 단어를 구하기 위한 TF-IDF 가중치를 활용한 URL과 가장 연관이 높은 태그를 구분하기 위한 가중치 값이 된다.
Figure 112010056091950-pat00013
값은 해당 URL을 북마킹한 횟수가 가장 높은 태그를 구하기 위한 TF값이 되며,
Figure 112010056091950-pat00014
값은 전체 URL들을 북마킹하기 위하여 자주 사용되는 태그가 아닌 특정 URL에서만 자주 사용되는 태그를 구분하기 위한 IDF값이 된다.
계층적 군집 클러스터링
딜리셔스 사이트의 태그와 URL의 관계를 살펴보면, 유사한 개념(concept)을 가지는 URL들은 연관성이 높은 태그들로 이루어져 있으며 연관성이 높은 태그들로 이루어진 URL들은 유사한 개념의 URL들이었다. 또한 사용자들에 의해 해당 URL의 문서를 분류하는 기준으로 삼은 단어는 검색엔진에서 해당 문서를 검색하기 위한 질의어로 사용되는 경우가 많았다.
따라서, 해당 질의어와 연관성이 높은 URL의 태그들 중 연관도 값(Mij)이 높은 태그를 연관 질의어로 추천해준다면 효과적인 추천이 될 것이다. 이러한 연관 검색어를 추천해 주기 위해서, 먼저 연관성이 높은 URL들을 구분하여 클러스터링하는 과정이 필요하다. 연관성이 높은 URL들을 클러스터링하기 위하여, 코사인 유사도 공식을 이용하여 URL간의 유사도를 아래의 수학식 5와 같이 계산하였다.
[수학식 5]
Figure 112010056091950-pat00015
이러한 유사도를 기반으로 계층적 군집 클러스터링(Hierarchical agglomerative clustering) 알고리즘을 사용하여 URL들을 클러스터링하였다.
도 3에서 확인할 수 있듯이, 일반적으로 복수의 사용자에 의해 사용된 중요한 태그의 수는 소수의 사용자가 사용한 덜 중요하거나 무의미한 태그의 수보다 훨씬 적다. 따라서, 코사인 유사도 계산을 위해 전체 태그 벡터를 이용한다면 실제로 유사한 URL이지만 유사도 값이 낮은 경우가 나타날 수 있다.
유사도의 정확도를 높이기 위해, 본 발명의 실시예에서는 각 URL의 상위 20개의 태그만을 사용하였다.
또한, 대부분의 URL들은 북마킹 횟수가 적기 때문에 URL에 포함된 태그의 수도 적다(도 2를 참조). 따라서, 이러한 URL들의 유사도 보정을 위해서, 각 URL에서 연관도가 높은 상위의 태그가 두 URL 모두에 3개 이상 존재하는 경우, 두 URL간의 유사도 값을 증가시켜주었다. 유사도가 낮은 경우에도, 클러스터링 되는 것을 막기 위하여 한계점(threshold) 미만의 값은 클러스터링되는 것을 제한하였다.
이를 기반으로 아래의 표 1과 같이, URL들의 클러스터링 정보를 구성한 데이터를 생성하였고, 아래의 표 2와 같이 해당 클러스터에 포함된 태그 정보를 구성한 데이터를 생성하였다. 데이터의 저장은 검색 속도를 위해서 역파일(inverted file) 형식으로 저장하였으며, URL 번호는 클러스터에 포함된 URL 중 몇 번째 URL인지를 나타낸다.
<표 1>
Figure 112010056091950-pat00016
<표 2>
Figure 112010056091950-pat00017
사용자 프로파일 생성 및 개인화된 검색어 추천
클러스터 데이터를 바탕으로 각 사용자의 북마킹 정보를 저장한 사용자 프로파일 정보는 표 3과 같이 생성된다. 사용자 프로파일 정보는 각 사용자가 북마킹한 URL과 해당 URL이 속한 클러스터링 정보를 나타낸다.
<표 3>
Figure 112010056091950-pat00018
상기한 표 3의 사용자 프로파일 정보를 이용하여 개인화된 검색어 추천을 위해 다음과 같은 간단한 방법을 사용할 수 있다.
Figure 112010056091950-pat00019
그러나, 이러한 방법을 그대로 사용할 경우 몇가지 문제점이 있을 수 있다. 극히 적은 수의 사용자가 사용한, 해당 URL과 크게 관계없는 태그가, 북마킹한 사용자의 수가 적은 URL에서 높은 가중치를 가지게 되어 그 태그가 추천될 수 있다. 이 문제를 해결하기 위해, 클러스터 내에서 모든 태그들의 연관도 값(Mij)이 URL의 북마킹 횟수에 관계없이 일정한 값을 가지도록 아래의 수학식 6과 같이 평준화 하였다.
[수학식 6]
Figure 112010056091950-pat00020
여기서, m은 클러스터내의 URL 수이다.
해당 클러스터에서 가장 중요한 태그의 연관도 값(Mij)을 높여주기 위해, 아래의 수학식 7과 같이 클러스터 내에서 해당 태그를 포함하는 URL의 비율을 수학식 6에 곱해주었다.
[수학식 7]
Figure 112010056091950-pat00021
여기서, U(tag)는 태그를 포함하는 URL 수이다.
이러한 방법을 통해 하나의 클러스터 내에서 중요도가 높은 질의어를 추천해 주는 문제는 해결되었다. 하지만, 실제 질의어는 여러 개의 클러스터 내에 포함될 수 있기 때문에 각 클러스터 내에서의 가중치 값이 달라야 한다.
따라서, 사용자가 북마킹한 URL이 많은 클러스터 순으로 추천해 주기 위해서, 아래의 수학식 8과 같이, 사용자가 클러스터 내에 북마킹한 횟수의 값을 수학식 7에 곱해 주었다.
[수학식 8]
Figure 112010056091950-pat00022
여기서, C는 각 사용자가 해당 클러스터내의 URL을 북마킹한 횟수이다.
사용자가 전송한 질의어가 포함된 클러스터의 태그들 중에서 수학식 7의 값이 높은 태그들을 추천해 준다면, 사용자가 북마킹한 URL에 따라 개인화된 검색어 추천 결과를 보여줄 것이다. 본 발명에서는 사용자가 전송한 질의어와의 연관성이 수학식 7에 따라 가장 높은 상위 5개의 태그를 추천해주었고, 한계점(threshold) 값을 정해 너무 낮은 값의 태그가 추천되는 것을 방지하였다.
지금까지의 방법을 통해 동일한 클러스터에 속하는 URL(http://maxthon.com/download.htm, http://icab.de)을 북마킹한 사용자가 「인터넷(internet)」이란 질의어를 전송했을 때, 추천해주는 연관 검색어의 결과는 <표 4>와 같다.
<표 4>
Figure 112010056091950-pat00023
위의 결과는 수학식 8에 따라 사용자가 관심을 가지는 URL이 포함된 클러스터를 대표하는 태그들을 추천해 주게 되었다. 하지만, 이 방법은 각 사용자가 북마킹한 URL만을 대표하는 태그들이 질의어를 전송한 사용자에게 중요한 의미를 가질 수 있지만, 수학식 8에 의해 값이 낮아지기 때문에 연관 검색어로 추천되지 못한다.
따라서, 해당 클러스터 내에서 사용자가 북마킹한 URL들 중 연관도 값(Mij)이 높은 상위 10개의 태그 역시 연관 검색어로 추천해 주었다. 이러한 방법을 통해 클러스터를 대표하는 태그뿐 아니라 사용자가 북마킹한 URL을 대표하는 태그 역시 연관 검색어로 추천해 준 결과는 표 5와 같다.
<표 5>
Figure 112010056091950-pat00024
표 5에 나타난 결과는 동일한 클러스터 내의 서로 다른 URL을 북마킹한 두 사용자가 동일한 질의어인 「browser」를 전송했을 때, 두 사용자에게 연관 검색어를 추천해 준 결과를 보여준다. 같은 클러스터내의 URL을 북마킹했기 때문에 해당 클러스터를 대표하는 단어인 「software」와 「web」은 동일하게 추천되었으며, 추가적으로 두 사용자가 각각 북마킹한 URL을 대표하는 연관 검색어들이 추천되었다는 것을 알 수 있다.
개인화 검색을 구현하기 위해서, 사용자 프로파일이 서버에 저장되어 서비스를 제공해 주어야 한다. 하지만, 사용자 프로파일을 서버에 저장하는 것은 프라이버시의 위협 요소가 된다. 이러한 문제를 해결하기 위해서는 사용자 프로파일 정보가 클라이언트에 저장되어야 한다. 하지만, 클라이언트에서 서버의 모든 클러스터링 정보를 저장하기 위한 저장 공간이 필요해 질 뿐 아니라, 클라이언트에서만 개인화 검색 서비스를 제공해준다면 검색엔진에서 해당 정보를 통하여 사용자에게 개인화 광고 등과 같은 특화된 서비스를 제공하기 어려워진다.
본 발명에서는 이러한 문제를 해결하기 위한 검색시스템 구성을 제안한다.
도 4는 본 발명에 따른 개인화된 검색 서비스 절차를 설명하는 블럭도이다.
도 4를 참조하면, 서버(200)에서 검색 엔진(210)을 이용하여 인터넷상의 태그 데이터를 수집하고 수집된 태그 데이터에 대한 폭소노미 분석을 행하여 URL 번호와 URL을 포함하는 클러스터링 정보를 저장한다(단계 S10).
이어, 클라이언트(100)에서 사용자가 북마킹한 URL을 서버에 전송하면, 서버(200)로부터 전송받은 데이터를 가지고 클러스터내 태그 정보와 사용자 프로파일을 생성한다(단계 S20).
이어, 클라이언트(100)가 검색엔진(210)에 해당 질의어를 전송할 때 질의어에 대한 사용자 프로파일 정보도 같이 전송한다(단계 S30).
이어, 서버(200)는 사용자 프로파일 정보를 분석해 사용자에게 알맞은 연관 검색어를 보여준다(단계 S40).
이처럼, 서버(200)는 인터넷상의 태그 데이터를 수집하고 수집된 태그 데이터에 대한 폭소노미 분석을 행하여 URL 번호와 URL을 포함하는 클러스터링 정보를 저장한다. 한편, 클라이언트(100)는 사용자가 북마킹한 URL을 상기 서버(200)에 전송하고, 그의 응답에 따라 전송받은 데이터를 가지고 클러스터내 태그 정보와 사용자 프로파일을 생성하여 저장하고, 사용자가 질의어를 입력함에 따라 해당 질의어와 상기 질의어에 대한 사용자 프로파일 정보를 상기 서버(200)의 검색엔진(210)에 전송하며, 상기 서버에 의해 분석된 사용자 프로파일 정보를 근거로 사용자에게 알맞은 연관 검색어를 제공받아 표시한다.
도 4에서 설명된 개인화된 검색 서비스 절차에 따르면, 사용자 프로파일 정보를 질의어와 같이 전송해 주어야 하기 때문에 클라이언트에 사용자 프로파일을 저장해야 한다.
이를 위해, 이하에서, 클라이언트내에 사용자 프로파일을 저장하기 위한 필요 공간과 사용자 프로파일을 생성하는 방법에 대해 기술하고, 사용자 프로파일을 질의어와 같이 전송하는 방법과 전송으로 인한 오버헤드에 대해 기술한다.
[표 1], [표 2] 및 [표 3]의 데이터를 클라이언트에서 태그 정보를 수집하고 분석하여 저장하기에는 성능 문제와 저장 공간의 문제가 발생할 수 있다. 따라서 [표 1]의 데이터는 서버에서 수집 및 분석하여 저장하고, [표 2]와 [표 3]의 데이터는 사용자가 북마킹한 정보만을 서버와의 통신을 통해 클라이언트에 생성하면 성능 문제와 저장 공간의 문제를 해결할 수 있다.
사용자가 북마킹한 URL이 포함된 클러스터내의 태그 정보(예를들어, 표 2에 나타냄)를 저장하기 위한 데이터의 크기는 다음과 같은 수학식 9로 정의될 수 있다.
[수학식 9]
Figure 112010056091950-pat00025
단어의 평균 크기를 10바이트, 클러스터 번호의 크기는 4바이트, 클러스터내의 태그 개수를 평균 100개 정도로 가정한다면, 하나의 클러스터링 정보를 저장하는데, 약 1.4킬로바이트(KB)의 크기가 필요하다. 사용자가 1만개의 클러스터에 관심이 있다면, 약 14메가바이트(MB)의 저장 공간을 사용한다.
사용자 프로파일(예를들어, 표 3에 나타냄)을 클라이언트에 저장하기 위한 데이터에서는 사용자ID 필드를 제외한 정보가 저장되며, 크기는 다음과 같은 수학식 10로 정의될 수 있다.
[수학식 10]
Figure 112010056091950-pat00026
앞의 가정과 같이, 사용자가 관심을 가지는 클러스터가 1만개이고, 하나의 클러스터당 평균 10개의 URL을 북마킹했다면, 클러스터번호 크기가 4바이트, URL번호 크기를 4바이트로 가정해서 약 800KB 정도의 저장 공간을 사용한다. 따라서, 전체 사용자 프로파일(10만개의 북마킹 URL의 정보와 약 백만 단어의 정보를 가정할 경우)을 저장하기 위해 약 15MB의 용량이 필요하다.
도 5는 본 발명에 따른 폭소노미 기반 개인화 웹 검색방법을 설명하기 위한 흐름도이다.
본 발명에서는 이 데이터들을 DB에 저장하였고, 데이터들을 생성하기 위한 진행 과정은 도 5의 단계 S110, 단계 S120 및 단계 S130와 같다.
클라이언트 자신의 기본적인 북마킹 정보(예를들어, 딜리셔스 사이트의 북마킹한 URL 주소 또는 사용자의 로컬 컴퓨터에서 북마킹한 URL 주소)를 서버에 전송하면(단계 S110), 서버는 해당 URL이 포함된 클러스터 번호, URL의 클러스터 내 번호, 해당 클러스터의 태그 리스트를 획득하고(단계 S120), 획득된 해당 URL이 포함된 클러스터 번호, URL의 클러스터 내 번호, 해당 클러스터의 태그 리스트를 클라이언트에 응답 결과로서 전송한다. 이러한 과정은 개인화된 검색을 원하는 사용자의 선택에 의해 진행되며, 그 결과로 클라이언트는 사용자 프로파일을 생성한다. 한번 생성된 사용자 프로파일을 바탕으로 개인화된 검색에 지속적으로 이용한다.
또한, 앞에서 기술했듯이, 사용자 프로파일은 질의어와 같이 전송되기 때문에 전송 오버헤드가 생긴다. 질의어 전송과정은 도 5의 단계 S210, 단계 S220 및 단계 S230과 같다.
클라이언트는 응답 결과를 근거로 사용자 프로파일을 생성한 후(단계 S210), 해당 질의어가 사용자가 관심을 가지는 클러스터 내에 포함된 단어인지를 검색하고, 포함된 단어라면 관련된 사용자 프로파일의 정보(예를들어, 클러스터 번호, 클러스터 내 북마킹한 URL 번호)를 서버에 전송한다(단계 S220).
하나의 질의어가 4개의 클러스터에 포함되고 한 개의 클러스터 내의 북마킹한 URL이 평균 10개라 가정할 때, 질의어 전송 시에 추가적으로 전송해야 하는 정보는 클러스터 번호(4byte)×4와 URL 번호(4byte)×10으로 약 56바이트(byte)가 필요하게 되며, 북마킹한 URL이 많을수록 전송에 필요한 크기는 크게 증가한다. 따라서, 이러한 오버헤드를 줄이기 위해 클러스터링시 클러스터 당 최대 32개 정도의 URL을 포함하게 한다면, 4바이트(byte)로 32개의 URL 번호를 비트(bit)로 표현하여 전송이 가능하다.
서버에서는 클라이언트로부터 전송받은 질의어와 사용자의 프로파일 정보를 가지고, 개인화된 검색 추천 방법을 통하여 사용자에게 가장 알맞은 연관 검색어를 추천해 준다(단계 S230). 하지만 한번 생성된 프로파일만을 개인화 검색에 활용하는 것은 시간이 지남에 따라 사용자의 선호도가 바뀌게 될 때, 적합한 개인화 검색 결과를 보여주지 못한다.
따라서, 서버에서는 도 5의 단계 S310, 단계 S320 및 단계 S330와 같이 사용자가 선택한 문서에 대한 클러스터 번호와 URL 번호를 전송해 줌으로서, 사용자가 원한다면 이러한 정보를 바탕으로 업데이트된 사용자 프로파일을 생성할 수 있다.
즉, 클라이언트가 클릭 스트림함에 따라(단계 S310), 서버는 문서에 대한 클러스터 번호와 URL 번호를 클라이언트에 전송하고(단계 S110), 이에 따라, 클라이언트는 업데이트된 사용자 프로파일을 생성한다(단계 S330).
실험결과
최종적으로 앞에서 제안한 방법들을 통하여, 패션 블로그와 음악 블로그에 관련된 10개의 페이지를 북마크한 가상의 사용자를 설정하여 「blog」질의어에 대한 연관된 검색어 추천 결과를 구글(Goole)과 야후(Yahoo)의 연관 검색어와 비교해 보았다.
표 6은 구글에서의 연관 검색어 추천 결과를 나타낸다.
<표 6>
Figure 112010056091950-pat00027
표 7은 야후에서의 연관 검색어 추천 결과를 나타낸다.
<표 7>
Figure 112010056091950-pat00028
표 6과 표 7에 나타난 결과를 바탕으로 연관 검색어 추천 방식을 유추하면, 사용자의 검색 기록(log)을 통하여 해당 질의어와 같이 복수의 사용자에 의해 많이 사용된 질의어를 추천해 주었을 것으로 추측된다. 야후의 경우 어떤 알고리즘을 통하여 연관된 개념의 단어를 추가적으로 추천해 준 것을 알 수 있다. 하지만, 두 결과 모두, 사용자가 선호하는 의미가 어떤 것인지를 모르기 때문에 개인화된 결과를 보여주지 못하고, 다양한 「blog」와 관련된 다양한 주제의 연관 검색어를 추천해 주었다.
표 8은 본 발명에서 제안한 개인화 검색시스템의 연관 검색어 추천 결과이다.
Figure 112010056091950-pat00029
임의의 사용자가 패션(상위의 5개 URL)과 음식(하위의 5개 URL) 관련 블로그를 북마킹했다는 가정하에 연관 검색어를 추천해 주었다. 본 발명에 따른 방법은 사용자 프로파일을 통해 사용자가 선호하는 정보를 알 수 있으므로 사용자에게 특화된 연관 검색어를 추천해 준다는 것을 표 8을 통해 확인할 수 있다.
이상에서는 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
이상에서 설명한 바와 같이, 본 발명에 따르면, 개인화된 검색이 가능하고 프라이버시 문제를 해결하며, 검색엔진 서비스 업체에서는 사용자의 프로파일 정보를 활용 가능한 효율적인 검색시스템 아키텍처를 구현할 수 있다. 개인화된 검색을 위해 폭소노미 서비스를 제공하는 딜리셔스 사이트의 데이터를 활용하여 질의어를 추천해주는 검색시스템을 구현할 수 있다. 본 발명에 따른 검색시스템 아키텍처는 개인화된 검색을 위하여 재순위화나 질의어의 확장에도 적용할 수 있을 뿐 아니라, 개인화된 태그를 추천해 주는 검색시스템에도 적용될 수 있다.
복수의 사용자에 의해 만들어진 태그 데이터를 이용하여 사용자 프로파일을 생성하고, 생성된 사용자 프로파일 정보를 활용하여 개인화된 연관 검색어를 보여줄 수 있다.
또한, 사용자 프로파일 정보가 서버나 클라이언트 어느 한 쪽에만 저장될 경우 발생되는 문제를 해결하기 위해, 본 발명에서는 사용자의 프라이버시 위협을 줄이면서도, 서버가 사용자의 프로파일 정보를 활용하여 개인화된 서비스를 제공할 수 있다.
본 발명에서 제안된 연관 검색어 추천 방법은 검색엔진에서 복수의 사용자에 의해 이슈가 되는 질의어를 모두 반영하지는 못한다. 하지만, 전송되는 사용자 프로파일을 통해 질의어 기록(log)을 분석하여 사용자가 원하는 질의어만을 추가적으로 추천해 준다면 보다 좋은 연관 검색어 추천 결과를 보여주게 될 것이다.
본 발명에서는 간단하고 명확한 결과를 볼 수 있도록 연관 검색어 추천에 초점을 맞추어 개인화 시스템을 구현하는 것을 설명하였다. 하지만, 검색어 확장, 검색 결과의 재순위화, 개인화 맞춤 광고 등의 서비스에도 활용이 가능하다. 또한, 태그 추천 분야의 시스템 아키텍처로도 활용할 수 있다.
100 : 클라이언트 200 : 서버
210 : 검색 엔진

Claims (13)

  1. 서버가 인터넷상의 태그 데이터를 수집하고 수집된 태그 데이터에 대해 폭소노미 분석을 행하여 URL 번호와 URL을 포함하는 클러스터링 정보를 저장하는 단계;
    클라이언트에서 사용자가 북마킹한 URL을 상기 서버에 전송하면, 상기 서버로부터 전송받은 데이터를 가지고 클러스터내 태그 정보와 사용자 프로파일을 생성하여 저장하는 단계;
    상기 서버의 검색엔진에 해당 질의어와 상기 질의어에 대한 사용자 프로파일 정보를 전송하는 단계; 및
    상기 서버는 사용자 프로파일 정보를 분석하여 사용자에게 알맞은 연관 검색어를 보여주는 단계를 포함하는 폭소노미 기반 개인화 웹 검색방법.
  2. 제1항에 있어서, 상기 폭소노미 분석에서, URL과 태그의 연관된 정도를 나타내는 연관도 값은 TF-IDF 가중치를 활용하여 아래의 수학식,
    Figure 112010056091950-pat00030

    에 의해 계산되는 것을 특징으로 하는 폭소노미 기반 개인화 웹 검색방법.
  3. 제1항에 있어서, 상기 클러스터링 정보를 저장하기 위해,
    코사인 유사도 공식을 통해 URL간의 유사도를 계산하고, 상기 유사도를 기반으로 계층적 클러스터링 알고리즘을 사용하여 URL들을 클러스터링하는 것을 특징으로 하는 폭소노미 기반 개인화 웹 검색방법.
  4. 제1항에 있어서, 상기 사용자 프로파일 정보를 분석하여 사용자에게 알맞은 연관 검색어를 보여주는 단계는,
    클러스터 내에서 모든 태그들의 연관도 값이 URL의 북마킹 횟수와 무관하게 일정 값을 갖도록 상기 연관도 값을 평준화하여 평준화 값을 산출하고,
    해당 클러스터에서 가장 중요한 태그의 연관도 값을 높이기 위해 클러스터 내에서 해당 태그를 포함하는 URL의 비율을 상기 평준화 값에 곱해주고,
    사용자가 북마킹한 URL이 많은 클러스터 순으로 추천해 주기 위해 사용자가 클러스터 내에 북마킹한 횟수의 값을 상기 URL의 비율이 상기 평준화 값에 곱해진 값에 곱하여 산출된 값이 높은 태그들 중 상위 일정 수의 태그들을 상기 연관 검색어로서 추천하는 것을 특징으로 하는 폭소노미 기반 개인화 웹 검색방법.
  5. 제1항에 있어서, 상기 사용자가 북마킹한 URL 정보는 딜리셔스 사이트 또는 사용자의 로컬 컴퓨터에서 북마킹한 URL 주소를 포함하고, 서버로부터 전송받은 데이터는 해당 URL이 포함된 클러스터 번호, URL의 클러스터 내 번호, 해당 클러스터의 태그 리스트를 포함하는 것을 특징으로 하는 폭소노미 기반 개인화 웹 검색방법.
  6. 제1항에 있어서, 상기 사용자 프로파일 정보는 클러스터 번호 및 상기 클러스터 내 북마킹한 URL 번호를 포함하는 것을 특징으로 하는 폭소노미 기반 개인화 웹 검색방법.
  7. 인터넷상의 태그 데이터를 수집하고 수집된 태그 데이터에 대한 폭소노미 분석을 행하여 URL 번호와 URL을 포함하는 클러스터링 정보를 저장하는 서버; 및
    사용자가 북마킹한 URL을 상기 서버에 전송하고, 그의 응답에 따라 전송받은 데이터를 가지고 클러스터내 태그 정보와 사용자 프로파일을 생성하여 저장하고, 사용자가 질의어를 입력함에 따라 해당 질의어와 상기 질의어에 대한 사용자 프로파일 정보를 상기 서버의 검색엔진에 전송하며, 상기 서버에 의해 분석된 사용자 프로파일 정보를 근거로 사용자에게 알맞은 연관 검색어를 제공받아 표시하는 클라이언트를 포함하는 폭소노미 기반 개인화 웹 검색시스템.
  8. 제7항에 있어서, 상기 서버는, 상기 폭소노미 분석시, URL과 태그의 연관된 정도를 나타내는 연관도 값을 TF-IDF 가중치를 활용하여 아래의 수학식,
    Figure 112010056091950-pat00031

    에 의해 계산하는 것을 특징으로 하는 폭소노미 기반 개인화 웹 검색시스템.
  9. 제7항에 있어서, 상기 서버는, 상기 클러스터링 정보를 저장하기 위해,
    코사인 유사도 공식을 통해 URL간의 유사도를 계산하고, 상기 유사도를 기반으로 계층적 클러스터링 알고리즘을 사용하여 URL들을 클러스터링하는 것을 특징으로 하는 폭소노미 기반 개인화 웹 검색시스템.
  10. 제7항에 있어서, 상기 서버는 상기 사용자 프로파일 정보를 분석하여 사용자에게 알맞은 연관 검색어를 보여주기 위해,
    클러스터 내에서 모든 태그들의 연관도 값이 URL의 북마킹 횟수와 무관하게 일정 값을 갖도록 상기 연관도 값을 평준화하여 평준화 값을 산출하고,
    해당 클러스터에서 가장 중요한 태그의 연관도 값을 높이기 위해 클러스터 내에서 해당 태그를 포함하는 URL의 비율을 상기 평준화 값에 곱해주고,
    사용자가 북마킹한 URL이 많은 클러스터 순으로 추천해 주기 위해 사용자가 클러스터 내에 북마킹한 횟수의 값을 상기 URL의 비율이 상기 평준화 값에 곱해진 값에 곱하여 산출된 값이 높은 태그들 중 상위 일정 수의 태그들을 상기 연관 검색어로서 추천하는 것을 특징으로 하는 폭소노미 기반 개인화 웹 검색시스템.
  11. 제7항에 있어서, 상기 서버는 사용자ID 필드를 제외하여 상기 클러스터링 정보를 저장하는 것을 특징으로 하는 폭소노미 기반 개인화 웹 검색시스템.
  12. 제7항에 있어서, 상기 사용자가 북마킹한 URL 정보는 딜리셔스 사이트 또는 사용자의 로컬 컴퓨터에서 북마킹한 URL 주소를 포함하고, 상기 서버로부터 전송받은 데이터는 해당 URL이 포함된 클러스터 번호, URL의 클러스터 내 번호, 해당 클러스터의 태그 리스트를 포함하는 것을 특징으로 하는 폭소노미 기반 개인화 웹 검색시스템.
  13. 제7항에 있어서, 상기 사용자 프로파일 정보는 클러스터 번호 및 상기 클러스터 내 북마킹한 URL 번호를 포함하는 것을 특징으로 하는 폭소노미 기반 개인화 웹 검색시스템.
KR1020100084231A 2010-08-30 2010-08-30 폭소노미 기반 개인화 웹 검색 방법 및 이를 수행하는 시스템 KR101180371B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100084231A KR101180371B1 (ko) 2010-08-30 2010-08-30 폭소노미 기반 개인화 웹 검색 방법 및 이를 수행하는 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100084231A KR101180371B1 (ko) 2010-08-30 2010-08-30 폭소노미 기반 개인화 웹 검색 방법 및 이를 수행하는 시스템

Publications (2)

Publication Number Publication Date
KR20120020558A KR20120020558A (ko) 2012-03-08
KR101180371B1 true KR101180371B1 (ko) 2012-09-10

Family

ID=46129121

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100084231A KR101180371B1 (ko) 2010-08-30 2010-08-30 폭소노미 기반 개인화 웹 검색 방법 및 이를 수행하는 시스템

Country Status (1)

Country Link
KR (1) KR101180371B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160032714A (ko) * 2013-02-25 2016-03-24 패트릭 순-시옹 링크 연관 분석 시스템들 및 방법들
KR20210011102A (ko) 2019-07-22 2021-02-01 주식회사 앱컴파니 맞춤형 상업정보 인공지능 검색 시스템

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101974867B1 (ko) * 2012-08-24 2019-08-23 삼성전자주식회사 컨텐츠의 스테이 값을 계산하여 유알엘을 자동 저장하는 전자 장치 및 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160032714A (ko) * 2013-02-25 2016-03-24 패트릭 순-시옹 링크 연관 분석 시스템들 및 방법들
US10706216B2 (en) 2013-02-25 2020-07-07 Nant Holdings Ip, Llc Link association analysis systems and methods
KR102160844B1 (ko) * 2013-02-25 2020-09-28 패트릭 순-시옹 링크 연관 분석 시스템들 및 방법들
US10872195B2 (en) 2013-02-25 2020-12-22 Nant Holdings Ip, Llc Link association analysis systems and methods
KR20210011102A (ko) 2019-07-22 2021-02-01 주식회사 앱컴파니 맞춤형 상업정보 인공지능 검색 시스템

Also Published As

Publication number Publication date
KR20120020558A (ko) 2012-03-08

Similar Documents

Publication Publication Date Title
US20200311155A1 (en) Systems for and methods of finding relevant documents by analyzing tags
US9262532B2 (en) Ranking entity facets using user-click feedback
Hotho et al. Information retrieval in folksonomies: Search and ranking
Yanbe et al. Can social bookmarking enhance search in the web?
JP5572596B2 (ja) 検索結果内におけるプレーストコンテンツの順序付けのパーソナライズ
US8762326B1 (en) Personalized hot topics
US8745039B2 (en) Method and system for user guided search navigation
TWI482037B (zh) 搜尋建議叢集與呈現
US10204163B2 (en) Active prediction of diverse search intent based upon user browsing behavior
AU2011282258B2 (en) Predictive query suggestion caching
US7953731B2 (en) Enhancing and optimizing enterprise search
US8990193B1 (en) Method, system, and graphical user interface for improved search result displays via user-specified annotations
US20100010982A1 (en) Web content characterization based on semantic folksonomies associated with user generated content
Sharma et al. A systematic review on page ranking algorithms
Ankalkoti Survey on search engine optimization tools & techniques
US20140280086A1 (en) Method and apparatus for document representation enhancement via social information integration in information retrieval systems
US20150302090A1 (en) Method and System for the Structural Analysis of Websites
Holzmann et al. Tempas: Temporal archive search based on tags
KR101180371B1 (ko) 폭소노미 기반 개인화 웹 검색 방법 및 이를 수행하는 시스템
JP2009205588A (ja) ページ検索システム及びプログラム
Dahiwale et al. Design of improved focused web crawler by analyzing semantic nature of URL and anchor text
Vijaya et al. Metasearch engine: a technology for information extraction in knowledge computing
Buivys et al. Pienapple search: an integrated search interface to support finding, refinding and sharing
JP5903370B2 (ja) 情報検索装置、情報検索方法、及びプログラム
Solihin Search engine optimization: a survey of current best practices

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150804

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160608

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170721

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180801

Year of fee payment: 7