KR101623860B1 - 문서 요소에 대한 유사도를 산출하는 방법 - Google Patents

문서 요소에 대한 유사도를 산출하는 방법 Download PDF

Info

Publication number
KR101623860B1
KR101623860B1 KR1020150049820A KR20150049820A KR101623860B1 KR 101623860 B1 KR101623860 B1 KR 101623860B1 KR 1020150049820 A KR1020150049820 A KR 1020150049820A KR 20150049820 A KR20150049820 A KR 20150049820A KR 101623860 B1 KR101623860 B1 KR 101623860B1
Authority
KR
South Korea
Prior art keywords
word
concept
document
similarity
space
Prior art date
Application number
KR1020150049820A
Other languages
English (en)
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 KR1020150049820A priority Critical patent/KR101623860B1/ko
Application granted granted Critical
Publication of KR101623860B1 publication Critical patent/KR101623860B1/ko

Links

Images

Classifications

    • G06F17/30011
    • G06F17/21
    • G06F17/2735
    • G06F17/277
    • G06F17/30324

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 일 실시예에 따른 프로세서 및 상기 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하는 전자 디바이스에서 단어, 개념(concept) 및 문서로 구성된 문서 요소의 유사도를 산출하는 방법에 있어서, 상기 단어를 나타내는(representing) 단어 공간, 상기 개념을 나타내는 개념 공간 및 상기 문서를 나타내는 문서 공간이 서로 직교하도록 구성된 3차원 공간에서, 다수의 상기 문서를 포함하는 문서 집합을 나타내는 단계, 상기 문서 요소 중 어느 하나를 선택하고, 선택된 문서 요소 중에서 적어도 2개 이상의 유사도 산출 대상을 추출하는 단계 및 상기 추출된 적어도 2개 이상의 유사도 산출 대상 간의 유사도를 산출하는 단계를 포함하며, 상기 유사도 산출 대상은 상기 단어 공간, 상기 개념 공간 및 상기 문서 공간 중에서 상기 선택된 문서 요소를 나타내는 어느 하나의 공간을 제외한 나머지 2개의 공간으로 표현될 수 있다.

Description

문서 요소에 대한 유사도를 산출하는 방법{METHOD FOR CALCULATING SIMILARITY BETWEEN DOCUMENT ELEMENTS}
본 발명은 단어, 개념(concept) 및 문서를 포함하는 문서 요소에 대한 유사도를 산출하는 방법에 관한 것으로, 보다 상세하게는 단어 공간, 개념 공간 및 문서 공간이 서로 직교하도록 구성된 3차원 공간에서 문서 집합을 큐보이드(cuboid) 모델로 나타내고, 이러한 큐보이드 모델을 이용하여 문서 요소에 대한 유사도를 산출하는 방법 및 산출된 유사도를 이용해서 개념망(concept network) 등을 구축하는 방법에 관한 것이다.
텍스트마이닝(Text Mining)은 대규모의 문서에서 의미 있는 정보를 추출하여 가공하는 기술을 의미하며, 세부적으로 자동문서분류, 문서클러스터링, 연관관계분석, 지능형 정보검색, 정보추천 또는 개념망(concept network) 등의 기술을 포함할 수 있다.
이 중 개념망은 어휘들의 개념적, 활용적 측면에서의 다양한 관계를 나타낸 것을 지칭하며, 연관어 검색이나 추천 서비스 또는 개인화 검색 등에서 정확도, 확장성 등과 같은 수행 성능을 높이기 위해 활용될 수 있다.
개념망의 활용에 대한 예를 들면, '빅데이터'를 주제로 한 개념망이 '데이터 마이닝', '데이터베이스' 및 '클라우드 컴퓨팅'과 같은 개념을 포함하고 이들 각 개념이 연관도가 높은 유사한 개념이라고 가정하자. 만약 사용자가 '데이터 마이닝'과 관련된 검색을 수행하면, 검색 엔진은 '데이터 마이닝'과 관련된 검색 결과만을 제공하는 것에서 그치지 않고 개념망을 이용하여 '데이터 마이닝'과 연관도가 높은 '데이터베이스'의 개념과 관련된 검색 결과도 제공할 수 있다.
개념망은 이처럼 같이 개념 간의 연관도를 고려할 수 있으며, 이하에서는 이러한 개념 간의 연관도를 개념의 '유사도'라고 지칭하기로 한다. 개념의 유사도는 시간에 따라 변화하는 개념이다. 예를 들면, 과거에는 '스포츠'와 '경제'라는 개념 간에는 연관도가 거의 없었으므로 유사도가 적었으나, 오늘날에는 스포츠 산업이 발전함에 따라 '스포츠'와 '경제'라는 개념은 더욱 가까워짐으로써 유사도가 커지고 있으며, 실제적으로 '스포츠 경영학'이나 '스포츠 산업학' 등의 관련 연구가 활발해지고 있다는 것은 이를 입증한다.
그런데, 종래의 개념망을 구축하는 방법에서는 개념의 유사도가 시간에 따라 변화하는 것을 반영할 수 없었다. 즉, 종래에는 Bag-of-Words 방식을 이용해서 문서에 존재하는 단어와 해당 단어의 출현 빈도만을 기초로 유사도를 산출하였기 때문에 개념 자체의 의미만을 반영할 수 있었을 뿐 개념간의 유사도가 시간에 따라 변화하는 것을 충분히 반영할 수 없었던 것이다.
따라서, 종래에 개념 자체의 의미만을 반영하여 개념망을 구축하는 방법에서 벗어나, 시간의 변화에 따라 동적으로 변화하는 개념망을 구축하는 방법이 요구된다.
특허문헌 : 한국공개특허 제2008-0035248호 (2008.04.23. 공개)
본 발명이 해결하고자 하는 과제는 문서 요소에 대한 유사도를 산출하고 이를 기초로 시간의 변화에 따라 동적으로 변화하는 개념망을 구축하는 방법을 제안하는 것이다.
또한, 이와 같은 방법을 문서 그 자체 또는 단어에 적용하여 문서망(document network) 또는 단어망(word network)을 구축하는 것을 그 목적으로 한다.
다만, 본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 프로세서 및 상기 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하는 전자 디바이스에서 단어, 개념(concept) 및 문서로 구성된 문서 요소의 유사도를 산출하는 방법에 있어서, 상기 단어를 나타내는(representing) 단어 공간, 상기 개념을 나타내는 개념 공간 및 상기 문서를 나타내는 문서 공간이 서로 직교하도록 구성된 3차원 공간에서, 다수의 상기 문서를 포함하는 문서 집합을 나타내는 단계, 상기 문서 요소 중 어느 하나를 선택하고, 선택된 문서 요소 중에서 적어도 2개 이상의 유사도 산출 대상을 추출하는 단계 및 상기 추출된 적어도 2개 이상의 유사도 산출 대상 간의 유사도를 산출하는 단계를 포함하며, 상기 유사도 산출 대상은 상기 단어 공간, 상기 개념 공간 및 상기 문서 공간 중에서 상기 선택된 문서 요소를 나타내는 어느 하나의 공간을 제외한 나머지 2개의 공간으로 표현될 수 있다.
또한, 상기 유사도 산출 대상은 상기 나머지 2개의 공간 각각이 행(row)과 열(column)로 맵핑되는 행렬(matrix)로 표현될 수 있다.
또한, 상기 유사도를 산출하는 단계는 상기 적어도 2개 이상의 유사도 산출 대상에 대응하는 행렬 간의 코사인 유사도를 이용하여 상기 유사도를 산출할 수 있다.
또한, 상기 코사인 유사도는 상기 행렬 간 프로베니우스(frobenius) 곱 및 각 행렬에 대한 L2-놈(norm)을 기초로 산출할 수 있다.
또한, 상기 다수의 문서를 포함하는 문서 집합을 나타내는 단계는 상기 문서에 포함된 단어를 나타내는 단어 벡터를 생성하는 단계, 상기 단어가 상기 문서 내에서 갖는 개념에 대한 강도(weight)를 나타내는 개념 벡터를 생성하는 단계, 상기 단어 벡터와 상기 개념 벡터를 기초로 상기 단어 벡터에 대응되는 상기 단어 공간과 상기 개념 벡터에 대응되는 상기 개념 공간이 각각 행과 열로 맵핑되는 행렬로, 상기 문서를 표현하는 단계 및 상기 행렬로 표현된, 다수의 상기 문서 각각을 상기 문서 공간 방향으로 적층하여 상기 3차원 공간에 표현하는 단계를 포함할 수 있다.
또한, 상기 개념 공간은 온톨로지(ontology)를 기초로 생성될 수 있다.
또한, 상기 개념에는 온라인 백과사전을 구성하는 웹페이지가 할당될 수 있다.
또한, 상기 개념 벡터를 생성하는 단계는 상기 단어 벡터를 구성하는 어느 하나의 단어인 제1 단어를 중심 단어(center word)로 설정하는 단계, 상기 제1 단어를 기준으로 상기 단어 벡터에서 기 지정된 반경(radius) 내에 있는 단어를 주변 단어로 설정하는 단계, 상기 제1 단어와 상기 주변 단어 각각이 상기 개념에 포함되는지 여부를 판단하는 단계 및 상기 제1 단어와 상기 주변 단어 각각이 상기 개념에 포함되는지 여부를 기초로 상기 제1 단어의 상기 개념에 대한 강도를 산출하는 단계를 포함할 수 있다.
또한, 상기 개념은, 해당 개념을 나타내는 적어도 하나의 키워드를 포함하고, 상기 제1 단어와 상기 주변 단어 각각이 상기 개념에 포함되는지 여부를 판단하는 단계는 상기 제1 단어와 상기 주변 단어 각각이, 상기 적어도 하나의 키워드 중 적어도 하나와 일치하는지 여부를 기초로 판단할 수 있다.
본 발명의 다른 실시예에 따른 프로세서 및 상기 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하는 전자 디바이스에서 단어, 개념(concept) 및 문서로 구성된 문서 요소에 대한 망(network)을 구축하는 방법에 있어서, 상기 단어를 나타내는(representing) 단어 공간, 상기 개념을 나타내는 개념 공간 및 상기 문서를 나타내는 문서 공간이 서로 직교하도록 구성된 3차원 공간에서, 다수의 상기 문서를 포함하는 문서 집합을 나타내는 단계, 상기 문서 요소 중 어느 하나를 선택하고, 선택된 문서 요소 중에서 적어도 2개 이상의 유사도 산출 대상을 추출하는 단계, 상기 추출된 적어도 2개 이상의 유사도 산출 대상 간의 유사도를 산출하는 단계 및 상기 유사도를 기초로 상기 선택된 문서 요소에 대한 망을 생성하는 단계를 포함하며, 상기 유사도 산출 대상은 상기 단어 공간, 상기 개념 공간 및 상기 문서 공간 중에서 상기 선택된 문서 요소를 나타내는 어느 하나의 공간을 제외한 나머지 2개의 공간으로 표현될 수 있다.
본 발명의 일 실시예에 따르면 시간의 변화에 따라 동적으로 변화하는 단어, 개념(concept) 및 문서로 구성된 문서 요소의 유사도를 산출할 수 있다.
또한, 이러한 유사도를 기초로 시간의 변화에 따라 동적으로 변화하는 단어망, 개념망 또는 문서망을 구축할 수 있다.
도 1은 본 발명의 일 실시예에 따라 문서를 행렬(매트릭스)로 표현한 것을 도시한 도면이다.
도 2a는 본 발명의 일 실시예에 따라 단어 공간, 개념 공간 및 문서 공간이 서로 직교하도록 구성된 3차원 공간에서 문서 집합을 큐보이드 모델을 이용하여 표현한 것을 도시한 도면이다.
도 2b는 본 발명의 일 실시예에 따른 큐보이드 모델에서 단어 공간, 개념 공간 및 문서 공간의 관계를 도시한 도면이다.
도 2c는 본 발명의 일 실시예에 따라 문서 집합을 큐보이드 모델로 표현한 것을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따라 개념 벡터의 생성에 관하여 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따라 개념 벡터를 생성하는 과정을 예시적으로 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따라 문서 요소의 유사도를 산출하는 과정을 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 실시예로써 제시되는 문서 요소에 대한 유사도를 표현하는 방법과 개념망 등을 구축하는 방법들 중 적어도 일부나 전부는 적어도 프로세서 및 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하는 전자 디바이스 또는 컴퓨터 프로그램에 의해 선택적으로 활성화 또는 재구성되는 프로그래밍 가능한 머신(machine)상에서, 일부의 소프트웨어와 하드웨어의 하이브리드 구현 방식으로 구현될 수 있다.
또한, 본 발명의 실시예로써 제시되는 문서 요소에 대한 유사도를 표현하는 방법과 개념망 등을 구축하는 방법들 중 적어도 일부나 전부는 컴퓨터, 네트워크 서버 또는 서버 시스템, 모바일 컴퓨팅 디바이스(예를 들어, PDA(personal digitalassistant), 모바일 전화기, 스마트폰, 랩탑, 태블릿 컴퓨터 또는 그와 유사한 것), 소비자 전자 디바이스, 또는 임의의 다른 적합한 전자 디바이스 또는 그들의 임의의 조합과 같은 하나 이상의 범용 네트워크 호스트 머신에서 등에서 구현될 수 있다.
또한, 본 발명의 실시예로써 제시되는 문서 요소에 대한 유사도를 표현하는 방법과 개념망 등을 구축하는 방법들 중 적어도 일부나 전부는 하나 이상의 가상화된 컴퓨팅 환경(예를 들어 네트워크 컴퓨팅 클라우드 또는 그와 유사한 것)에서 구현될 수 있다.
아울러, 본 발명의 실시예의 설명에 있어서 행렬은 매트릭스(matrix) 또는 2차 텐서(2-order tensor)와 동일한 의미로 사용될 수 있다. 또한, 본 발명의 실시예에 있어서 '단어'는 '용어', 'word' 또는 'term'과 동일한 의미로 사용될 수 있으며, '개념'은 '시멘틱(semantic)' 또는 '컨셉(concept)'과 동일한 의미로 사용될 수 있고, '문서'는 '텍스트(text)', 'document' 또는 '텍스트 문서'와 동일한 의미로 사용될 수 있으며, 또한 문서 집합(document corpus)은 다수의 문서들을 지칭하는 의미이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예에 대해 설명하기로 한다.
본 발명의 일 실시예는 하나의 문서를 단어 공간과 벡터 공간에 행렬로 표현하고, 이와 같이 표현된 문서들에 대한 문서의 집합을 단어 공간과 개념 공간 및 문서 공간이 서로 직교하도록 구성된 3차원 공간에 표현하는 것으로부터 시작되므로, 하나의 문서를 행렬로 표현하는 방법과 문서 집합을 3차원 공간에 표현하는 방법에 대하여 먼저 살펴본 뒤에 문서 요소의 유사성을 산출하는 방법에 대하여 살펴보기로 한다.
도 1은 본 발명의 일 실시예에 따라 문서를 행렬로 표현한 것을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 문서 표현 방법은 특정 문서(di)를 단어 공간(10)과 개념 공간(20)으로 구성된 2차원의 행렬(100), 즉 단어-개념 매트릭스(term-concept matrix)에서 표현한다.
먼저, 단어 공간(10)은 특정 문서(di)에 포함된 단어를 벡터로 표현하는 공간이며, 이러한 벡터는 단어 벡터로 지칭될 수 있다. 도 1에 도시된 것과 같이 특정 문서(di)는 해당 특정 문서(di)에 포함된 단어(t1 내지 tT)를 단어 공간(10)에서 단어 벡터로 표현할 수 있다.
개념 공간(20)은 특정 문서(di)에 포함된 개념을 표현하는 공간이며, 이러한 벡터는 개념 벡터로 지칭될 수 있다. 도 1에 도시된 것과 같이 특정 문서(di)는 해당 특정 문서(di)에 포함된 개념(c1 내지 cC)을 개념 공간(20)에서 개념 벡터로 표현할 수 있다.
단어 공간(10)과 개념 공간(20)은 2차원의 행렬(100), 즉 단어-개념 매트릭스를 형성한다. 즉, 도 1에 도시된 바와 같이 단어 공간(10)과 개념 공간(20)은 각각 행렬(100)에서 각각 행과 열(또는 열과 행)로 구성될 수 있다. 아울러, 이러한 행렬의 구성요소(element)(50)는 해당 문서에서 특정 단어가 특정 개념에 대하여 갖는 강도를 의미하는데, 이러한 강도를 구하는 과정은 후술하기로 한다.
이상에서 살펴본 바와 같이, 문서는 단어 공간과 개념 공간으로 구성된 2차원의 행렬로 표현될 수 있다.
다음으로, 도 2a 내지 2c는 문서 집합을 3차원 공간에 표현한 것을 도시한 도면으로, 보다 자세하게는 도 2a는 본 발명의 일 실시예에 따라 단어 공간, 개념 공간 및 문서 공간이 서로 직교하도록 구성된 3차원 공간에서 문서 집합을 큐보이드 모델을 이용하여 표현한 것을 도시한 도면이고, 도 2b는 본 발명의 일 실시예에 따른 큐보이드 모델에서 단어 공간, 개념 공간 및 문서 공간의 관계를 도시한 도면이며, 도 2c는 본 발명의 일 실시예에 따라 문서 집합을 큐보이드 모델로 표현한 것을 도시한 도면이다.
도 2a 및 도 2c를 참조하면, 문서 집합(d1 내지 dD)은 단어 공간(10), 개념 공간(20) 및 문서 공간(30)이 서로 직교하도록 구성된 3차원 공간에서 표현될 수 있다.
즉, 본 발명의 일 실시예에 따르면 문서는 단어 공간(10)과 개념 공간(20)으로 이루어진 2차원의 행렬(100)로 표현될 수 있으므로, 문서 집합은 이와 같이 2차원의 행렬(100)로 표현된 다수의 문서를 문서 공간(30) 방향으로 적층하여 3차원 상에서 직육면체 형태(200)로 표현할 수 있으며, 이하에서는 문서 집합을 이와 같이 3차원 공간에 직육면체 형태(200)로 표현한 것을 큐보이드(cuboid) 모델이라고 지칭하기로 한다.
큐보이드 모델에서 단어 공간(10)과 개념 공간(20) 및 문서 공간(30)은 도 2a 및 2c에 도시된 것과 같이 서로 직교하도록 구성된다. 아울러, 큐보이드 모델에서 단어 공간(10)과 개념 공간(20) 및 문서 공간(30)은 도 2b에 도시된 것과 같이 서로 동등하고(equated) 별개인(distinct) 벡터 공간이다.
한편, 하나의 문서를 2차원의 행렬로 표현하는 방법과 문서 집합을 3차원 공간에 큐보이드 모델로 표현하는 방법은 모두, 어느 하나의 문서에서 특정 단어가 특정 개념에 대하여 갖는 강도를 행렬의 구성요소(element)로 표현한 뒤 이를 기초로 개념 벡터를 생성하는 것으로부터 시작하므로 이하에서는 이에 대하여 살펴보기로 한다.
본 발명의 일 실시예에 따르면, 먼저 특정 문서(di)에 대한 단어 벡터를 생성한다. 보다 구체적으로 살펴보면, 특정 문서(di)는 특정 문서가 포함하는 단어를 단어 벡터의 형태로 표현할 수 있다. 이 때, 단어 벡터에 포함된 단어는 특정 문서(di)에 관한 정보를 포함하는 단어(informative word)일 수 있고, 예를 들면 수학식 1과 같이 표현될 수 있다.
Figure 112015034462278-pat00001
여기서, tv(di)는 특정 문서(di)에 대한 단어 벡터이며, 단어(t1 내지 tT)는 특정 문서(di)에 관한 정보를 포함하는 단어를 의미할 수 있다. 다만, 이와 같이 문서 중에서 정보를 포함하는 단어를 추출하고 이를 벡터로 표현하는 것은 관련 분야에서 공지된 기술이므로 이에 관한 자세한 설명은 생략하기로 한다.
아울러, 단어 벡터 상에서 단어 상호 간의 거리는 문서 내에서 단어가 위치해 있는 거리에 비례한다. 예를 들면, 수학식 1에서 t1과 t2의 문서 내에서의 거리는, t1과 t3의 거리보다 가까울 수 있다.
다음으로, 특정 문서(di)에 대한 개념 벡터를 생성한다. 보다 구체적으로 살펴보면, 특정 문서(di) 내에서 단어가 갖는 개념에 대한 강도(wjk)(50)를 기초로 개념 벡터를 생성하는데, 이러한 개념 벡터는 예를 들면 수학식 2의 형태일 수 있다.
Figure 112015034462278-pat00002
수학식 2에서 cv(tj,di)는 특정 문서(di)에서 특정 단어(tj)가 갖는 각 개념(c1 내지 cC)에 대한 강도를 개념 공간(20)에서 벡터 형태로 표현한 개념 벡터이며, w(ck,tj,di)는 특정 문서(di)에서 특정 단어(tj)가 갖는 특정 개념(ck)에 대한 강도를 표현한 값으로 이러한 강도를 구하는 과정은 후술할 것이다.
여기서 개념 공간(20)에 대하여 보다 자세하게 살펴보면, 개념 공간(20)은 특정 문서(di)에 대하여 생성된 단어 벡터에 포함된 각각의 단어(t1 내지 tT)가 가질 수 있는 개념을 포함하며, 이러한 개념 공간(20)은 특정 문서(di) 뿐만 아니라 특정 문서(di)를 포함하는 문서 집합을 전체적으로 포괄한다.
이러한 개념 공간(20)에 포함된 개념은 예를 들면 World Knowledge 수준의 온톨로지(ontology), 문서 집합(text corpora)이나 유의어 사전(thesauri) 또는 기타 다른 형태의 자료 등을 활용하여 설정할 수 있으며, 본 발명의 일 실시예에서는 온톨로지 중 위키피디아를 활용하여 개념 공간의 개념을 설정하는 것을 예로 들어 설명하기로 한다.
위키피디아(특히, 위키피디아의 웹페이지, 즉 위키페이지)를 활용하여 개념 공간(20)의 개념을 설정하는 것에 대하여 살펴보면, 위키페이지 자체를 개념 공간(20)을 구성하는 개념으로 설정할 수 있으며, 해당 위키페이지의 타이틀(title)을 해당 개념의 명칭으로 할당할 수 있다. 예를 들면, "http://en.wikipedia.org/wiki/Graphics"를 URL로 갖는 위키페이지가 있는 경우, 이러한 위키페이지 자체가 하나의 개념으로 설정될 수 있으며, 이 때 해당 위키페이지의 타이틀인 'Graphics'는 해당 개념의 명칭으로 할당될 수 있다.
이 때, 개념의 명칭은 적정 수준의 포괄성 및 품질을 가질 때 신뢰성을 가질 수 있다. 이를 위하여, 예를 들면 위키페이지의 타이틀로부터 명사만을 추출하고, 추출된 명사가 영어인 경우 모두 소문자로 변환한 뒤, 구둣점이나 숫자 또는 공백 등을 제거하거나 불용어를 제거한 후, 명사의 어근만을 추출하여 개념으로 설정할 수 있다.
다음으로, 이와 같이 설정된 개념을 이용하여 강도를 산출하고 이러한 강도를 기초로 개념 벡터를 생성하는 방법에 대해서 도 4를 참조하여 살펴보기로 한다.
도 3은 본 발명의 일 실시예에 따라 개념 벡터를 생성하는 과정을 예시적으로 도시한 도면이다.
도 3을 참조하면, 단어 벡터에 포함된 단어 중에서 강도(50)를 산출하고자 하는 단어를 중심 단어(또는 제1 단어)(t0)(501)라고 하면, 중심 단어(t0)(501)의 강도는 중심 단어(t0)(501) 및 단어 벡터 상에서 중심 단어(t0)(501)에 인접해 있는 단어(t-r 내지 tr, 이하에서는 이를 주변 단어라고 지칭함)(502)가 각각 특정 개념(c1)(31)과 관련되었는지 여부를 기초로 산출될 수 있다.
여기서, 주변 단어(t-r 내지 tr)(502)는 중심 단어(t0)(501)으로부터 단어 벡터 상에서 앞뒤로 반경 r(503)의 거리 내에 있는 단어로 선정될 수 있는데, 반경 r(503)은 중심 단어(t0)(501)를 기준으로 주변 단어(t-r 내지 tr)(502)를 선정하는 기준이며, 이러한 반경 r(503)의 값은 기지정된 값일 수 있으며 변경 가능하다.
한편, 중심 단어(t0)(501)가 단어 벡터의 첫번 째 단어이거나 또는 마지막 단어인 경우, 이 때의 주변 단어(502)의 개수는 변동될 수 있다. 예를 들면, 중심 단어(t0)(501)가 단어 벡터의 첫번 째 단어인 경우에는 중심 단어의 앞쪽에는 주변 단어(502)가 없을 수 있다.
또 한편으로는, 중심 단어(t0)(501) 및 해당 중심 단어(t0)(501)로부터 반경 r(503)만큼 떨어져있는 주변 단어(t-r 내지 tr)(502)를 선정하기 위한 개념으로 개념 윈도우(concept window, CW)(500)가 설정될 수 있다. 중심 단어(t0)(501)에 대한 개념 윈도우(500)는 해당 중심 단어(t0)(501) 및 해당 중심 단어(t0)(501)로부터 앞뒤로 반경 r(503)의 거리를 갖는 주변 단어(t-r 내지 tr)(502)를 포함하므로, 개념 윈도우(500)는 중심 단어(t0)(501)를 포함하여 총 2*r+1의 갯수의 단어를 포함할 수 있으며, 이 때 2*r+1을 개념 윈도우(500)의 크기라고 지칭할 수 있다. 이 때, 중심 단어(t0)(501)가 단어 벡터의 첫번 째 단어이거나 또는 마지막 단어인 경우,개념 윈도우(500)의 크기는 2*r+1이 아니며, 이 경우에는 중심 단어(t0)(501)와 주변 단어(502)의 갯수를 합한 값일 수 있다.
중심 단어(t0)(501)와 주변 단어(t-r 내지 tr)(502)가 특정 개념(c1)(31)과 관련되는지 여부를 기초로 중심 단어(t0)(501)가 갖는 특정 개념(c1)(31)에 대한 강도를 산출하는 방법은 중심 단어(t0)(501)와 주변 단어(t-r 내지 tr)(502) 각각이 특정 개념(c1)(31)의 위키페이지에 포함되는지 여부를 조사하여, 포함되는 경우를 '1', 포함되지 않는 경우를 '0'으로 두고, 이러한 '1' 또는 '0'의 값을 합산한 값을 강도로 산출하거나, 또는 이와 같이 합산된 값을 중심 단어와 주변 단어의 갯수인 2*r+1의 값으로 나눈 값을 강도로 산출할 수 있다.
여기서, 중심 단어(t0)(501)와 주변 단어(t-r 내지 tr)(502) 각각이 특정 개념(ck)(31)의 위키페이지에 포함되는지 여부는 중심 단어(t0)(501)와 주변 단어(t-r 내지 tr)(502) 각각이 특정 개념(ck)(31)에 포함되는지, 더 구체적으로는 특정 개념(ck)(31)의 위키페이지에 대한 키워드(32)(예를 들면, 키워드1, 2 등)와 일치하는지 여부로 판단될 수 있다.
여기서, 특정 개념(ck)의 위키페이지에 포함된 키워드(32)는 해당하는 위키페이지의 특성을 대표하는 단어로 선정될 수 있다. 예를 들면, 키워드(32)는 해당하는 위키페이지에 tf*idf(Term Frequency * Inverse Document Frequency) 방법을 적용하여 선정할 수 있으며, 여기서 tf*idf 방법은 관련 분야에서 공지된 기술이므로 이에 관한 자세한 설명은 생략하기로 한다.
이상에서는, 특정 문서(di) 내에 포함된 특정 단어(tj)(여기서는 중심 단어(t0))(501)가 어느 하나의 특정 개념(c1)(31)에 대하여 갖는 강도를 구하는 방법에 대해 살펴보았다. 따라서, 특정 문서(di) 내에 포함된 특정 단어(tj)가 개념 공간(20)에 포함된 각 개념(c1 내지 cC)에 대하여 갖는 강도(50)인 개념 벡터는 이러한 방법을 나머지 개념(c2 내지 cC)에 대하여 순차적으로 실행한다면 산출될 수 있다.
한편, 특정 문서(di) 내에 포함된 특정 단어(tj)에 대한 개념 벡터가 생성된 경우, 중심 단어(t0)(501)를 이동(예를 들면 tj에서 tj +1로 이동)(따라서 개념 윈도우(500) 또한 이동된다)하여 새로운 특정 단어에 대한 강도 산출 과정을 진행하고 이에 따라 새로운 특정 단어에 대한 개념 벡터를 생성할 수 있다.
따라서, 이러한 과정을 반복할 경우 단어 벡터에 포함된 단어 전체에 대하여 개념 벡터를 생성할 수 있다.
전술한 특정 문서(di) 내에 포함된 특정 단어(tj)가 특정 개념(c1)(31)에 대하여 갖는 강도 w(ck,tj,di)는 예를 들면 수학식 3과 같은 형태로 표현될 수 있다.
Figure 112015034462278-pat00003
여기서, |CWd(tj)|는 개념 윈도우(500)의 크기이며, ECWd(tj)는 특정 문서(di)의 단어 벡터에 포함된 단어 중에서 개념 윈도우(500)에 의해 특정된 단어가 어떤 단어인지를 나타내는 매트릭스이고, C는 특정 문서(di)의 단어 벡터에 포함된 단어가 개념 공간(20)의 각 개념에 포함된 키워드(32)와 일치하는지 여부를 나타내는 매트릭스이며, ck()는 ck()의 괄호 안을 계산한 행렬에서 k번째 열(column) 벡터를 의미하며, 기호 '|| ||'는 열(column) 벡터에 존재하는 모든 행에 대한 값의 절대값을 합산한 값을 의미한다.
보다 구체적으로 살펴보면, ECWd(tj)는 특정 문서(di)의 단어 벡터에 포함된 단어 중에서 개념 윈도우(500)에 의해 특정된 단어가 어떤 단어인지를 나타내는 매트릭스이며, 행은 개념 윈도우(500)에 의해 특정된 단어와 관련되어 있으며 열은 단어 벡터(100)에 포함된 단어와 관련되어 있다.
또한, C는 특정 문서(di)의 단어 벡터에 포함된 단어가 개념 공간(20)의 각 개념에 포함된 키워드(32)와 일치하는지 여부를 나타내는 매트릭스이며, 행은 단어 벡터에 포함된 단어와 관련되어 있으며 열은 각 개념에 포함된 키워드(32)와 관련되어 있다.
또한, 특정 문서(di) 내에 포함된 특정 단어(tj)가 개념 공간(20)에 대하여 갖는 개념 벡터 cv(tj,di)(20)는 특정 문서(di) 내에 포함된 특정 단어(tj)가 개념 공간(20)에 포함된 각 개념(c1 내지 cC)에 대하여 갖는 강도(50)(수학식 3)를 결합한 것이므로, 예를 들면 수학식 3을 참조하여 수학식 4로 표현될 수 있다.
Figure 112015034462278-pat00004
이하에서는, 도 4를 참조하여 전술한 개념 벡터를 구하는 방법을 예로 들어 설명하기로 한다. 여기서, 도 4에서의 예는 특정 단어의 특정 개념에 대한 강도를 구하고 나머지 개념에 대한 강도를 순차적으로 구하는 전술한 방법과는 다르게, 특정 단어의 전체 개념에 대한 강도를 동시에 구하는 방법을 이용한다.
도 4를 참조하면, 본 발명의 일 실시예에 따라 문서에 포함된 단어에 대한 개념 벡터를 산출하기 위하여 먼저 해당 문서에 대한 단어 벡터(11)를 생성한다. 예를 들면, 해당 문서에 대하여 생성된 단어 벡터(11)는 9개의 단어를 포함할 수 있다.
아울러, 해당 문서에 대한 개념 공간이 포함하는 개념 및 각 개념에 포함된 키워드는 도 4의 테이블(21)을 참조한다. 도 4를 참조하면, 개념 공간(22)은 COMPUTER, CULTURE, SCIENCE를 개념으로 포함하고 있고, 이들은 각각 (computer, graphics, programming, system, openGL), (culture, human, science), (computer, human, science, system)인 키워드(23)를 포함한다.
이를 기초로, 강도를 산출하고자 하는 단어인 중심 단어를 programming으로 설정하고 각 개념(COMPUTER, CULTURE, SCIENCE)에 대한 강도를 산출하는 방법에 대하여 살펴보기로 한다. 먼저, 반경 r이 2인 것을 전제로 개념 윈도우(101)는 5개의 단어, 즉 중심 단어 programming과 주변 단어 library, openGL, science 및 system을 포함한다.
COMPUTER, CULTURE 및 SCIENCE의 각 개념(22)에 대한 키워드(23)와 전술한 중심 단어와 주변 단어의 일치 여부 판단하여 테이블(24)에 1과 0으로 표시(25)하였다. 도 4에 도시된 바와 같이, COMPUTER 개념에 포함된 키워드와 중심 단어 및 주변 단어는 openGL, programming 및 system에 대하여 일치한다.
이후, 각 개념에 대하여 테이블(24)에 기재된 값을 합산하고 이를 개념 윈도우의 크기인 5로 나눈다. 테이블(24)에 도시된 바와 같이, 이 값은 각 개념에 대하여 각각 3/5, 1/5 및 2/5임을 알 수 있다(26).
이를 기초로, 중심 단어 programming에 대한 개념 벡터는 (3/5, 1/5, 2/5)(27)로 산출된다.
이후, 개념 윈도우(101)를 슬라이딩 하여 중심 단어를 programming에서 science로 옮긴 뒤 전술한 과정을 수행하고, 이러한 과정을 반복함으로써 단어 벡터(101)에 포함된 모든 단어에 대하여 개념 벡터를 생성할 수 있다.
여기서, 중심 단어가 단어 벡터의 첫번 째 단어이거나 또는 마지막 단어인 경우, 이 때의 주변 단어의 개수는 변동될 수 있다. 예를 들면, 도 4에서 중심 단어가 library인 경우 주변 단어는 openGL 및 programming으로 2개일 수 있으며 이 때 개념 윈도우의 크기는 3이 될 수 있고, 마찬가지로 중심 단어가 system인 경우 주변 단어는 programming 및 science일 수 있으며 이 때 개념 윈도우의 크기는 3이 될 수 있다.
이상에서 살펴본 바와 같이, 본 발명의 일 실시예에서는 하나의 문서를 단어 공간과 개념 공간에서 2차원의 행렬로 나타낼 수 있고, 이와 같이 2차원의 행렬로 나타낸 문서에 대한 문서의 집합을 3차원 공간에서 큐보이드 모델로 나타낼 수 있다. 이하에서는 전술한 문서 집합을 3차원 공간에서 큐보이드 모델로 나타내는 과정 및 이러한 문서 집합을 기초로 문서 요소의 유사도를 산출하는 과정에 대하여 살펴보기로 한다.
도 5는 본 발명의 일 실시예에 따라 문서 요소의 유사도를 산출하는 과정을 도시한 도면이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 문서 요소의 유사도를 산출하는 과정은 상기 문서에 포함된 단어를 나타내는 단어 벡터를 생성하는 단계(S100), 상기 단어가 상기 문서 내에서 갖는 개념에 대한 강도(weight)를 나타내는 개념 벡터를 생성하는 단계(S200), 상기 단어 벡터와 상기 개념 벡터를 기초로 상기 단어 벡터에 대응되는 상기 단어 공간과 상기 개념 벡터에 대응되는 상기 개념 공간이 각각 행과 열로 맵핑되는 행렬로 상기 문서를 표현하는 단계(S300), 상기 행렬로 표현된 다수의 상기 문서 각각을 상기 문서 공간 방향으로 적층하여 상기 3차원 공간에 표현하는 단계(S400), 상기 문서 요소 중 선택된 어느 하나의 문서 요소 중에서 적어도 2개 이상의 유사도 산출 대상을 추출하는 단계(S500) 및 상기 추출된 적어도 2개 이상의 유사도 산출 대상 간의 유사도를 산출하는 단계(S600)를 포함하며, 이 때 유사도 산출 대상은 상기 단어 공간, 상기 개념 공간 및 상기 문서 공간 중에서 상기 선택된 문서 요소를 나타내는 어느 하나의 공간을 제외한 나머지 2개의 공간으로 표현될 수 있다.
먼저, 단계 S100 내지 S400은 도 1 내지 4에 대한 설명에서 이미 기술하였으므로 중복된 설명은 생략하기로 한다.
단계 S400 이후에, 단어, 개념 및 문서를 포함하는 문서 요소 중에서 선택된 어느 하나의 문서 요소 중에서 적어도 2개 이상의 유사도 산출 대상을 추출한다(S500). 예를 들면, 문서 요소 중 문서가 선택되면 다수의 문서 중에서 2개 이상의 문서가 추출될 수 있으며, 추출된 문서는 도 1에 도시된 것과 같이 단어 공간(10)과 개념 공간(20)의 2차원 행렬로 표현될 수 있다. 이와 달리, 문서 요소 중 개념이 선택되면 다수의 개념 중에서 2개 이상의 개념이 추출될 수 있고, 추출된 개념은 단어 공간(10)과 문서 공간(30)의 2차원 행렬로 표현될 수 있다. 마찬가지로 문서 요소 중 단어가 선택되면 다수의 단어 중에서 2개 이상의 단어가 추출될 수 있으며, 추출된 단어는 개념 공간(20)과 문서 공간(30)의 2차원 행렬로 표현될 수 있다.
여기서, 추출된 단어나 개념, 또는 문서는 2차원의 행렬이고, 도 2a, 도 6a 및 6b를 기초로 살펴보면 이러한 2차원의 행렬은 3차원의 큐보이드 모델을 어느 하나의 차원을 기준으로 자른 단면에 해당됨을 알 수 있다. 즉, 도 2a를 참조하면 문서를 나타내는 행렬은 3차원의 큐보이드 모델을 단어 공간(10)과 개념 공간(20)으로 이루어진 평면으로 자른 단면이고, 도 6a를 참조하면 개념을 나타내는 행렬은 3차원의 큐보이드 모델을 단어 공간(10)과 문서 공간(30)으로 이루어진 평면으로 자른 단면이며, 도 6b를 참조하면 단어를 나타내는 행렬은 3차원의 큐보이드 모델을 개념 공간(20)과 문서 공간(30)으로 이루어진 평면으로 자른 단면이다.
따라서, 본 발명의 일 실시예에 따라서 문서 집합을 큐보이드 모델을 이용하여 나타낼 경우, 어느 하나의 문서 요소는 큐보이드 모델을 다른 나머지 2개의 요소와 관련된 공간으로 이루어진 평면으로 자름으로써 용이하게 도출할 수 있다.
이 후, 추출된 적어도 2개 이상의 유사도 산출 대상 간의 유사도를 산출한다 (S600). 유사도 산출 대상은 앞서 살펴본 바와 같이 2차원의 행렬로 표현되므로, 유사도 산출 대상 간의 유사도는 이러한 행렬간의 유사도를 기초로 산출될 수 있다.
여기서, 본 발명의 일 실시예에서 행렬간의 유사도는 코사인 유사도를 산출하는 구하는 공식을 기초로 예를 들면 수학식 5를 이용하여 산출할 수 있다.
Figure 112015034462278-pat00005
sim(X,Y)는 유사도의 산출의 대상이 되는 2개의 행렬 X,Y에 대한 유사도를 나타내며, <X,Y>F는 행렬 X,Y에 대한 프로베니우스(frobenius) 곱을 의미하고, ||X||2와 ||Y||2 행렬 X, Y 각각에 대한 L2-놈(norm)을 의미한다.
이와 같이 산출된 유사도는 유사도 산출 대상 간에 얼마나 유사한지를 나타낸다. 따라서, 유사도가 높다면 유사도 산출 대상 간에 상대적으로 많이 유사함을 의미하고 유사도가 낮다면 유사도 산출 대상 간에 상대적으로 적게 유사함을 의미한다.
또한, 이와 같이 산출된 유사도는 시간에 따라 변화하는 유사도를 반영할 수 있다. 즉, 예를 들어 살펴보면, 개념에 대한 행렬은 단어 공간과 문서 공간으로 구성된 행렬이므로 시간에 따라 해당 개념을 설명하는 단어와 문서가 변화하면 해당 개념을 나타내는 행렬 자체가 변화하게 되며, 이에 따라 이와 같은 행렬을 기초로 측정된 유사도 역시 시간에 따라 변화하게 되는 것이다. 이는 단어에 대한 유사도 및 문서에 대한 유사도에도 동일하게 적용됨은 자명하다.
아울러, 이와 같은 유사도를 기초로 개념망, 단어망 또는 문서망을 구축할 수 있다. 예를 들면, 복수의 개념 간의 유사도가 개념 간의 거리를 나타내는 것으로 보고 이러한 거리를 이용하여 개념과 개념 간의 망을 구축할 수 있으며, 이는 단어와 문서에도 동일하게 적용 가능하다
이 때, 이와 같이 구축된 개념망, 단어망 또는 문서망은 시간의 변화에 따라 능동적으로 변화할 수 있다. 왜냐하면 개념망, 단어망 또는 문서망의 거리는 유사도를 기초로 구축된 것이고 이와 같은 유사도는 시간에 따른 변화를 반영할 수 있기 때문이다.
이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따르면 시간의 변화에 따라 동적으로 변화하는 단어, 개념(concept) 및 문서로 구성된 문서 요소의 유사도를 산출할 수 있으며, 또한 이러한 유사도를 기초로 시간의 변화에 따라 동적으로 변화하는 단어망, 개념망 또는 문서망을 구축할 수 있다.
본 발명의 일부 단계들은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, CD-RW, 자기테이프, 플로피디스크, HDD, 광 디스크, 광자기 저장장치 등이 있을 수 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10: 단어 공간 20: 개념 공간
30: 문서 공간
100: 행렬
500: 개념 윈도우

Claims (10)

  1. 프로세서 및 상기 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하는 전자 디바이스에서 단어, 개념(concept) 및 문서로 구성된 문서 요소의 유사도를 산출하는 방법에 있어서,
    상기 단어를 나타내는(representing) 단어 공간, 상기 개념을 나타내는 개념 공간 및 상기 문서를 나타내는 문서 공간이 서로 직교하도록 구성된 3차원 공간에서, 다수의 상기 문서를 포함하는 문서 집합을 나타내는 단계;
    상기 문서 요소 중 어느 하나를 선택하고, 선택된 문서 요소 중에서 적어도 2개 이상의 유사도 산출 대상을 추출하는 단계; 및
    상기 추출된 적어도 2개 이상의 유사도 산출 대상 간의 유사도를 산출하는 단계를 포함하며,
    상기 유사도 산출 대상은,
    상기 단어 공간, 상기 개념 공간 및 상기 문서 공간 중에서 상기 선택된 문서 요소를 나타내는 어느 하나의 공간을 제외한 나머지 2개의 공간으로 표현되며,
    상기 유사도 산출 대상은,
    상기 나머지 2개의 공간 각각이 행(row)과 열(column)로 맵핑되는 행렬(matrix)로 표현되는
    문서 요소의 유사도를 산출하는 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 유사도를 산출하는 단계는,
    상기 적어도 2개 이상의 유사도 산출 대상에 대응하는 행렬 간의 코사인 유사도를 이용하여 상기 유사도를 산출하는
    문서 요소의 유사도를 산출하는 방법.
  4. 제 3 항에 있어서,
    상기 코사인 유사도는,
    상기 행렬 간 프로베니우스(frobenius) 곱 및 각 행렬에 대한 L2-놈(norm)을 기초로 산출하는
    문서 요소의 유사도를 산출하는 방법.
  5. 제 1 항에 있어서,
    상기 다수의 문서를 포함하는 문서 집합을 나타내는 단계는,
    상기 문서에 포함된 단어를 나타내는 단어 벡터를 생성하는 단계;
    상기 단어가 상기 문서 내에서 갖는 개념에 대한 강도(weight)를 나타내는 개념 벡터를 생성하는 단계;
    상기 단어 벡터와 상기 개념 벡터를 기초로 상기 단어 벡터에 대응되는 상기 단어 공간과 상기 개념 벡터에 대응되는 상기 개념 공간이 각각 행과 열로 맵핑되는 행렬로, 상기 문서를 표현하는 단계; 및
    상기 행렬로 표현된, 다수의 상기 문서 각각을 상기 문서 공간 방향으로 적층하여 상기 3차원 공간에 표현하는 단계를 포함하는
    문서 요소의 유사도를 산출하는 방법.
  6. 제 1 항에 있어서,
    상기 개념 공간은,
    온톨로지(ontology)를 기초로 생성되는
    문서 요소의 유사도를 산출하는 방법.
  7. 제 1 항에 있어서,
    상기 개념에는,
    온라인 백과사전을 구성하는 웹페이지가 할당되는
    문서 요소의 유사도를 산출하는 방법.
  8. 제 5 항에 있어서,
    상기 개념 벡터를 생성하는 단계는,
    상기 단어 벡터를 구성하는 어느 하나의 단어인 제1 단어를 중심 단어(center word)로 설정하는 단계;
    상기 제1 단어를 기준으로 상기 단어 벡터에서 기 지정된 반경(radius) 내에 있는 단어를 주변 단어로 설정하는 단계;
    상기 제1 단어와 상기 주변 단어 각각이 상기 개념에 포함되는지 여부를 판단하는 단계; 및
    상기 제1 단어와 상기 주변 단어 각각이 상기 개념에 포함되는지 여부를 기초로 상기 제1 단어의 상기 개념에 대한 강도를 산출하는 단계를 포함하는
    문서 요소의 유사도를 산출하는 방법.
  9. 제 8 항에 있어서,
    상기 개념은, 해당 개념을 나타내는 적어도 하나의 키워드를 포함하고,
    상기 제1 단어와 상기 주변 단어 각각이 상기 개념에 포함되는지 여부를 판단하는 단계는,
    상기 제1 단어와 상기 주변 단어 각각이, 상기 적어도 하나의 키워드 중 적어도 하나와 일치하는지 여부를 기초로 판단하는
    문서 요소의 유사도를 산출하는 방법.
  10. 프로세서 및 상기 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하는 전자 디바이스에서 단어, 개념(concept) 및 문서로 구성된 문서 요소에 대한 망(network)을 구축하는 방법에 있어서,
    상기 단어를 나타내는(representing) 단어 공간, 상기 개념을 나타내는 개념 공간 및 상기 문서를 나타내는 문서 공간이 서로 직교하도록 구성된 3차원 공간에서, 다수의 상기 문서를 포함하는 문서 집합을 나타내는 단계;
    상기 문서 요소 중 어느 하나를 선택하고, 선택된 문서 요소 중에서 적어도 2개 이상의 유사도 산출 대상을 추출하는 단계;
    상기 추출된 적어도 2개 이상의 유사도 산출 대상 간의 유사도를 산출하는 단계; 및
    상기 유사도를 기초로 상기 선택된 문서 요소에 대한 망을 생성하는 단계를 포함하며,
    상기 유사도 산출 대상은,
    상기 단어 공간, 상기 개념 공간 및 상기 문서 공간 중에서 상기 선택된 문서 요소를 나타내는 어느 하나의 공간을 제외한 나머지 2개의 공간으로 표현되는
    문서 요소에 대한 망을 구축하는 방법.
KR1020150049820A 2015-04-08 2015-04-08 문서 요소에 대한 유사도를 산출하는 방법 KR101623860B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150049820A KR101623860B1 (ko) 2015-04-08 2015-04-08 문서 요소에 대한 유사도를 산출하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150049820A KR101623860B1 (ko) 2015-04-08 2015-04-08 문서 요소에 대한 유사도를 산출하는 방법

Publications (1)

Publication Number Publication Date
KR101623860B1 true KR101623860B1 (ko) 2016-05-24

Family

ID=56114126

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150049820A KR101623860B1 (ko) 2015-04-08 2015-04-08 문서 요소에 대한 유사도를 산출하는 방법

Country Status (1)

Country Link
KR (1) KR101623860B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776545A (zh) * 2016-11-29 2017-05-31 西安交通大学 一种通过深度卷积神经网络进行短文本间相似度计算的方法
KR20180020552A (ko) * 2016-08-18 2018-02-28 에스케이텔레콤 주식회사 문서 분류 장치 및 방법
KR20180110713A (ko) * 2017-03-29 2018-10-11 중앙대학교 산학협력단 문서 유사도 분석 장치 및 방법
KR20190097669A (ko) 2018-02-13 2019-08-21 고려대학교 산학협력단 기술 문서 키워드를 도출하는 장치 및 방법
CN110232185A (zh) * 2019-01-07 2019-09-13 华南理工大学 面向金融行业软件测试基于知识图谱语义相似度计算方法
KR20200129024A (ko) * 2019-05-07 2020-11-17 (주)스마트소셜 직무 추천 장치 및 직무 추천 방법
KR20220066615A (ko) * 2020-11-16 2022-05-24 이현주 온톨로지에 기초한 데이터베이스 구축 방법, 이를 이용한 사용자 질의 응답 방법, 및 그 방법들이 구현된 시스템
KR20230012388A (ko) * 2021-07-14 2023-01-26 주식회사 신한에이아이 시뮬레이션 데이터를 이용한 자산 배분 정보 산출 방법 및 시뮬레이션 데이터를 이용한 자산 배분 정보 산출 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100993845B1 (ko) * 2007-12-28 2010-11-12 한양대학교 산학협력단 개인화된 의미 기반 웹 문서 추천 시스템 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100993845B1 (ko) * 2007-12-28 2010-11-12 한양대학교 산학협력단 개인화된 의미 기반 웹 문서 추천 시스템 및 그 방법

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180020552A (ko) * 2016-08-18 2018-02-28 에스케이텔레콤 주식회사 문서 분류 장치 및 방법
KR102594011B1 (ko) 2016-08-18 2023-10-24 에스케이텔레콤 주식회사 문서 분류 장치 및 방법
CN106776545B (zh) * 2016-11-29 2019-12-24 西安交通大学 一种通过深度卷积神经网络进行短文本间相似度计算的方法
CN106776545A (zh) * 2016-11-29 2017-05-31 西安交通大学 一种通过深度卷积神经网络进行短文本间相似度计算的方法
KR20180110713A (ko) * 2017-03-29 2018-10-11 중앙대학교 산학협력단 문서 유사도 분석 장치 및 방법
KR102025805B1 (ko) * 2017-03-29 2019-11-12 중앙대학교 산학협력단 문서 유사도 분석 장치 및 방법
KR20190097669A (ko) 2018-02-13 2019-08-21 고려대학교 산학협력단 기술 문서 키워드를 도출하는 장치 및 방법
CN110232185B (zh) * 2019-01-07 2023-09-19 华南理工大学 面向金融行业软件测试基于知识图谱语义相似度计算方法
CN110232185A (zh) * 2019-01-07 2019-09-13 华南理工大学 面向金融行业软件测试基于知识图谱语义相似度计算方法
KR20200129028A (ko) * 2019-05-07 2020-11-17 (주)스마트소셜 직무 기술서 생성 방법, 역량 측정 도구 생성 방법, 신사업 추천 방법 및 커리큘럼 추천 방법
KR102243608B1 (ko) * 2019-05-07 2021-04-26 (주)스마트소셜 직무 기술서 생성 방법, 역량 측정 도구 생성 방법 및 신사업 추천 방법
KR102217040B1 (ko) * 2019-05-07 2021-02-22 (주)스마트소셜 직무 추천 장치 및 직무 추천 방법
KR20200129024A (ko) * 2019-05-07 2020-11-17 (주)스마트소셜 직무 추천 장치 및 직무 추천 방법
KR20220066615A (ko) * 2020-11-16 2022-05-24 이현주 온톨로지에 기초한 데이터베이스 구축 방법, 이를 이용한 사용자 질의 응답 방법, 및 그 방법들이 구현된 시스템
KR102516206B1 (ko) * 2020-11-16 2023-03-29 이현주 온톨로지에 기초한 데이터베이스 구축 방법, 이를 이용한 사용자 질의 응답 방법, 및 그 방법들이 구현된 시스템
KR20230012388A (ko) * 2021-07-14 2023-01-26 주식회사 신한에이아이 시뮬레이션 데이터를 이용한 자산 배분 정보 산출 방법 및 시뮬레이션 데이터를 이용한 자산 배분 정보 산출 장치
KR102496501B1 (ko) * 2021-07-14 2023-02-07 주식회사 신한에이아이 시뮬레이션 데이터를 이용한 자산 배분 정보 산출 방법 및 시뮬레이션 데이터를 이용한 자산 배분 정보 산출 장치

Similar Documents

Publication Publication Date Title
KR101623860B1 (ko) 문서 요소에 대한 유사도를 산출하는 방법
KR101754473B1 (ko) 문서를 이미지 기반 컨텐츠로 요약하여 제공하는 방법 및 시스템
CN108681557B (zh) 基于自扩充表示和相似双向约束的短文本主题发现方法及系统
CN108292310A (zh) 用于数字实体相关的技术
US10482146B2 (en) Systems and methods for automatic customization of content filtering
CN107844493B (zh) 一种文件关联方法及系统
CN108875065B (zh) 一种基于内容的印尼新闻网页推荐方法
US10191921B1 (en) System for expanding image search using attributes and associations
EP4147142A1 (en) Creating and interacting with data records having semantic vectors and natural language expressions produced by a machine-trained model
CN114995903B (zh) 一种基于预训练语言模型的类别标签识别方法及装置
CN112434533A (zh) 实体消歧方法、装置、电子设备及计算机可读存储介质
CN113641797A (zh) 数据处理方法、装置、设备、存储介质及计算机程序产品
KR20120047622A (ko) 디지털 콘텐츠 관리 시스템 및 방법
JP6772478B2 (ja) 情報検索プログラム及び情報検索装置
KR101494795B1 (ko) 문서를 매트릭스로 표현하는 방법
CN113918807A (zh) 数据推荐方法、装置、计算设备及计算机可读存储介质
US8554696B2 (en) Efficient computation of ontology affinity matrices
CN110851629A (zh) 一种图像检索的方法
KR101769940B1 (ko) 문서를 검색하는 방법
CN112528646B (zh) 词向量生成方法、终端设备及计算机可读存储介质
CN114398903A (zh) 意图识别方法、装置、电子设备及存储介质
Rad et al. A multi-view-group non-negative matrix factorization approach for automatic image annotation
CN114021541A (zh) 演示文稿生成方法、装置、设备及存储介质
CN107622129B (zh) 一种知识库的组织方法及装置、计算机存储介质
JP5824429B2 (ja) スパムアカウントスコア算出装置、スパムアカウントスコア算出方法、及びプログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190329

Year of fee payment: 4