KR102293071B1 - Rdf 지식베이스 기반의 개체명 중의성 해소 방법 및 장치 - Google Patents

Rdf 지식베이스 기반의 개체명 중의성 해소 방법 및 장치 Download PDF

Info

Publication number
KR102293071B1
KR102293071B1 KR1020190164741A KR20190164741A KR102293071B1 KR 102293071 B1 KR102293071 B1 KR 102293071B1 KR 1020190164741 A KR1020190164741 A KR 1020190164741A KR 20190164741 A KR20190164741 A KR 20190164741A KR 102293071 B1 KR102293071 B1 KR 102293071B1
Authority
KR
South Korea
Prior art keywords
words
entity
knowledge base
node
entities
Prior art date
Application number
KR1020190164741A
Other languages
English (en)
Other versions
KR20200071689A (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 서울대학교산학협력단
Publication of KR20200071689A publication Critical patent/KR20200071689A/ko
Application granted granted Critical
Publication of KR102293071B1 publication Critical patent/KR102293071B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Abstract

지식베이스 기반의 개체명 중의성 해소 방법은, 입력 문장의 단어들 중 개체로 인식되는 단어들을 선별하는 단계, 지식베이스를 이용한 개체와 개체간의 관계를 표현한 데이터 학습에 기반하여 선별된 단어들 각각의 개체 후보군을 결정하는 단계, 상기 개체 후보군 각각으로부터 모든 경우의 수를 고려하여 후보들을 임의로 조합한 조합셋을 구축하는 단계, 및 상기 조합셋 각각의 유사도의 랭킹을 산출하여 상기 선별된 단어들 각각의 개체명 의미를 판단하는 단계를 포함한다.

Description

RDF 지식베이스 기반의 개체명 중의성 해소 방법 및 장치{APPARATUS AND METHOD FOR NAMED ENTITY DISAMBIGUATION BASED ON RDF KNOWLEDGE BASE}
본 발명은 질의응답 시스템에 적용하기 위해 고안된 RDF(Resource Description Framework) 지식베이스 기반의 개체명 중의성 해소 방법 및 장치에 관한 것으로, 구체적으로 두 가지 이상의 의미를 가진 개체명을 문장에서 동시에 사용된 단어들의 의미와 연관이 있는 것으로 연결시켜주기 위한 포괄적 상호의존성 짝 연결 접근법에 의한 RDF 지식베이스 기반의 개체명 중의성 해소 방법 및 장치에 관한 것이다.
최근 인터넷과 컴퓨팅 기술의 발전, 모바일 기기와 센서들의 진화, 네트워크의 출현 등으로 정보량이 급속도로 늘어나고 있다. 따라서, 증가하는 정보들 가운데 필요한 정보를 찾기 위한 다양한 연구들이 진행되고 있다. 정보 추출의 한 분야인 개체명 인식과, 인식된 개체명을 특정 개체에 링킹하는 연구들은 방대한 정보 속에서 의미 있는 지식을 추출하기 위해 활발히 시도되고 있다. 개체 링킹(Entity Linking)은 텍스트에 출현한 개체명을 위키피디아와 같은 지식베이스의 특정 엔트리에 대응시키는 작업이다.
자연어 표현에는 다양한 개체명들이 사용된다. 인물, 조직, 장소, 제품 등 현실에 실존하는 개체들이 가진 이름을 개체명이라 하는데, 하나의 개체명은 다양한 의미를 가질 수 있다.
따라서, 이러한 개체명이 갖는 중의성 문제는 자연어 처리 분야에 있어 매우 도전적인 과제이며, 어려운 문제 중 하나이다.
본 발명은 전술한 필요성을 감안하여 안출된 것으로서, 두 가지 이상의 의미를 가진 개체명을 문장에서 동시에 사용된 단어들의 의미와 연관이 있는 것으로 연결시켜주기 위한 포괄적 상호의존성 짝 연결 접근법에 의한 RDF 지식베이스 기반의 개체명 중의성 해소 방법 및 장치를 제공함에 그 목적이 있다.
본 발명이 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 일 측면에 따르면, 지식베이스 기반의 개체명 중의성 해소 방법으로서, 입력 문장의 단어들 중 개체로 인식되는 단어들을 선별하는 단계, 지식베이스를 이용한 개체와 개체간의 관계를 표현한 데이터 학습에 기반하여 선별된 단어들 각각의 개체 후보군을 결정하는 단계, 상기 개체 후보군 각각으로부터 모든 경우의 수를 고려하여 후보들을 임의로 조합한 조합셋을 구축하는 단계, 및 상기 조합셋 각각의 유사도의 랭킹을 산출하여 상기 선별된 단어들 각각의 개체명 의미를 판단하는 단계를 포함하는 것을 특징으로 하는, 개체명 중의성 해소 방법이 제공된다.
본 발명의 일 실시예에 따르면, 상기 입력 문장의 단어들 중 개체로 인식되는 단어들을 선별하는 단계는, 상기 입력 문장의 단어들 중 명사, 동사 또는 형용사인 단어들을 선별하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 선별된 단어들 각각의 개체 후보군을 결정하는 단계는, 상기 선별된 단어들 각각과 매칭되면서, 상기 선별된 단어들 각각의 개체타입과 매칭되는 개체를 후보군으로 결정하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 개체타입은, 인스턴스, 클래스, 프로퍼티 중 어느 하나일 수 있다.
본 발명의 일 실시예에 따르면, 상기 조합셋 각각의 유사도는 하기 [수학식]에 기반하여 산출되고,
[수학식]
Figure 112019128091870-pat00001
여기서, V는 한 단어에 대한 후보 개체의 집합인 노드셋의 개수,
Figure 112019128091870-pat00002
는 u 노드셋의 i 번째 노드,
Figure 112019128091870-pat00003
는 ν 노드셋의 j 번째 노드를 나타낼 수 있다.
본 발명의 또 다른 일 측면에 따르면, 지식베이스 기반의 개체명 중의성 해소 장치로서, 입력 문장의 단어들 중 개체로 인식되는 단어들을 선별하고, 지식베이스를 이용한 개체와 개체간의 관계를 표현한 데이터 학습에 기반하여 선별된 단어들 각각의 개체 후보군을 결정하고, 상기 개체 후보군 각각으로부터 모든 경우의 수를 고려하여 후보들을 임의로 조합한 조합셋을 구축하고, 상기 조합셋 각각의 유사도의 랭킹을 산출하여 상기 선별된 단어들 각각의 개체명 의미를 판단하는 하나 이상의 프로세서를 포함하는 것을 특징으로 하는, 개체명 중의성 해소 장치가 제공된다.
본 발명의 일 실시예에 따르면, 상기 하나 이상의 프로세서는, 상기 입력 문장의 단어들 중 명사, 동사 또는 형용사인 단어들을 선별할 수 있다.
본 발명의 일 실시예에 따르면, 상기 하나 이상의 프로세서는, 상기 선별된 단어들 각각과 매칭되면서, 상기 선별된 단어들 각각의 개체타입과 매칭되는 개체를 후보군으로 결정할 수 있다.
본 발명에서 제안하는 장치 및 방법은, 지식베이스 기반의 포괄적인 상호의존성을 고려한 접근법에 기반하여 개체명 중의성 해소 모델을 생성하고 임베딩된 벡터를 이용해 효율적으로 개체명 중의성을 해소할 수 있다. 또한, 전체 단어를 활용하는 포괄적인 상호의존성을 고려한 접근법을 사용하여 종래의 각 단어의 상호의존성을 고려한 접근법 보다 전체적으로 우수한 성능을 얻을 수 있다. 뿐만 아니라, 포괄적인 상호의존성을 고려한 접근법 가운데 짝 연결 접근법을 이용하여 개별화된 페이지랭크 알고리즘을 적용한 것 보다 우수한 성능을 얻을 수 있다. 이를 통해, 본 발명에서 제안하는 방법 및 장치는 RDF 지식베이스 기반의 개체명 중의성 해소 방법으로, 질의응답 시스템, 정보추출 시스템에 적용될 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 지식베이스 기반의 개체명 중의성 해소 장치의 개념도를 도시한다.
도 2는 본 발명의 일 실시예에 따른 ETP(Entity Transition Probabilities) 알고리즘의 적용 예를 도시한다.
도 3은 본 발명의 일 실시예에 따른 지식베이스 기반의 개체명 중의성 해소 방법의 흐름도를 도시한다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이며, 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
그리고 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공된다.
개체명 중의성 해소(Named Entity Disambiguation)란 텍스트에 등장한 개체명을 지식베이스 내의 적절한 개체로 연결해주는 작업이다. 이러한 개체명 중의성 해소는 질의응답 시스템, 정보추출 시스템 등의 분야에 활용되고 있다. 예를 들어, '영화 레옹에서 마틸다 역할은 내털리 포트먼인가요?'라는 질문에서 사용된 '레옹'은 영화 '레옹'을 의미한다. 이에 반해 '2015년에 발매된 노래인 레옹은 아이유와 박명수가 불렀어?'라는 질문에서 사용된 '레옹'은 2015년 발매된 노래 '레옹'을 의미한다. 이와 같이, 두 가지 이상의 의미를 가진 개체명은 문장에서 동시에 사용된 단어들의 의미와 연관이 있는 것으로 개체명의 의미가 결정된다.
본 발명에서는 개체명 중의성을 해소하기 위해 RDF(Resource Description Framework) 형태의 지식베이스를 바탕으로 모델을 생성하였다. 그리고 생성된 모델을 사용하여 개체명 중의성 해소에 대한 랭킹을 시도하고, 결과를 비교하였다.
본 발명에서는 개체명 중의성 해소를 위한 모델로 Word2vec을 활용한 Entity2vec 모델을 생성하였다. Word2vec은 2013년 구글에서 발표된 연구로, 단어를 벡터화 시키는 워드 임베딩 (Word Embedding)의 방법론 가운데 하나다. 본 발명에서는 Entity2vec 모델을 생성하기 위해 Word2vec 모델의 학습 기법을 이용하였다. Entity2vec 모델은 지식베이스에 있는 각 개체 간의 연관성을 바탕으로 학습되어 각 개체에 대한 임베딩 벡터로 구성되어 있다. 그러므로 Entity2vec의 학습데이터는 Word2vec과 달리 문장이 아닌 RDF 지식 베이스를 학습시켰다. 자연어 문장에는 해당 개체명의 의미를 파악하기 위해 필요한 단어들도 있지만, 자연어이기에 불필요한 단어 또한 포함될 수 있다. 그러나 RDF 지식베이스는 해당 개체명의 의미를 파악하기 위해 다른 개체들과의 관계성을 바탕으로 구성되어 있어 자연어 문장이 갖는 이러한 단점을 보완할 수 있다. 그러므로 본 발명에서는 모델 생성에 있어 문장이 아닌 RDF 지식베이스를 학습시켜 각 개체명에 대한 임베딩 정보가 있는 Entity2vec 모델을 생성하였다.
개체명 중의성 해소를 위한 대표적인 방법론인 짝 연결 접근법(Pairwise based method)은 한 문장에서 등장한 개체명이 두 개 이상일 경우 서로의 연관성을 이용해 개체명 중의성을 해소하는 방법이다. 즉, 두 개의 서로 다른 개체명을 연결시킨 뒤 가중치를 부여하고 가중치가 가장 높은 짝을 선택하는 방법이다. 이 방법은 동일 문장에서 등장하는 개체명들 간의 상호의존성(interdependence)을 고려하고 있으나, 2개의 짝만을 연결해서 사용하기 때문에 포괄적인 상호의존성(Global interdependence)을 고려하지 못한다는 한계점이 있다. 예를 들어, '십장생의 종류에 소나무도 포함되나요?' 라는 문장이 있을 때, 중의성 개체명인 '소나무'에 대해 전통적인 짝 연결 접근법은 '십장생' 정보를 사용하지 않고 이전 단어인 '종류' 정보를 사용하기 때문에 대한민국의 7인조 여성 음악 그룹인 '소나무'를 찾아주게 된다. 본 발명에서는 이러한 짝 연결 접근법의 한계점을 보완하기 위해 포괄적인 상호의존성을 바탕으로 짝 연결 접근법을 고안하고, 구현 및 실험을 통해 전통적인 짝 연결 접근법과 비교하였다.
이와 같이, 본 발명에서는 전통적인 방식의 짝 연결 접근법의 한계점을 극복하고자 포괄적인 상호의존성 바탕의 짝 연결 접근법을 사용하였다. 또한, 포괄적인 상호의존성의 개념을 차용한 개별화된 페이지 랭크 알고리즘(Personalized Pagerank Algorithm)과 본 발명에서 제시하는 알고리즘을 비교하였다. 페이지랭크 알고리즘은 대상이 되는 페이지와 연결되어 있는 다른 페이지의 상대적 중요성에 따라 가중치를 부여하는 알고리즘이다. 본 발명에서는 페이지랭크 알고리즘의 개념적 의미를 차용하여 각 개체를 하나의 페이지로 가정하고 함께 등장한 개체들과의 연관성을 적용한 개별화된 페이지랭크 알고리즘을 사용하였다.
본 발명에서는 개체명 중의성 해소를 위해 포괄적인 상호의존성을 바탕으로 제시하는 짝 연결 접근법이 전통적인 짝 연결 접근법뿐만 아니라 개별화된 페이지 랭크 알고리즘을 적용한 결과에 비해 성능이 더 우수한 것을 확인할 수 있었다.
도 1은 본 발명의 일 실시예에 따른 지식베이스 기반의 개체명 중의성 해소 장치(100)의 개념도를 도시한다.
도 1을 참조하면, 개체명 중의성 해소 장치(100)는 후보군 추출부(110), Entity2vec 모델부(130), 개체명 중의성 해소부(140)를 포함한다. 본 발명의 일 실시 예에 따라, RDF 지식베이스(120)는 개체명 중의성 해소 장치(100) 내에 포함된 메모리에 저장된 데이터베이스이거나, 외부 저장 장치에 저장된 데이터베이스일 수 있다.
개체명 중의성 해소 과정은 도 1에 전체적인 과정이 도시되어 있다. 이와 같은 개체명 중의성 해소 과정은 개체명 중의성 해소 장치(100)의 하나 이상의 프로세서(processor)에 의해 수행될 수 있다.
먼저, 1단계에서는 Word2vec 알고리즘을 활용한 Entity2vec 모델을 생성한다. 2단계에서는 문장에서 사용된 단어를 지식베이스에서 검색하여 해당 개체에 대한 후보군을 추출한다. 3단계는 개체명 중의성 해소 단계로 2단계에서 추출한 전체 후보군에서 각각의 후보를 조합하여 조합셋을 구축한다. 이후, Entity2vec 모델에 있는 임베딩된 벡터를 사용하여 각 후보 간의 유사도를 기반으로 개체 중의성을 해소할 수 있다.
Entity2vec 모델 생성
먼저, 개체명 중의성 해소 장치(100)의 Entity2vec 모델부(130)는 RDF 지식베이스(120)에 기반하여 본 발명에서 제안하는 Entity2vec 모델을 생성한다(①).
RDF는 월드 와이드 웹 컨소시움(World Wide Web Consortium)에서 메타데이터를 모델링하기 위해 제안하였다. RDF 지식베이스는 주어(Subject)-서술어(Property)-목적어(Object)인 트리플(triple) 형태로 되어 있다. RDF 지식베이스는 개체 간의 관계를 서술어로 표현하고 있어, 직관적으로 개체 간의 관계를 파악하는데 용이하다. 이에 따라, RDF 지식베이스의 트리플 형태는 자연어 문장으로 풀어 쓸 수 있다. 예를 들어, '레옹-개봉년도-1994년'이라는 트리플이 있을 때, 이 트리플은 '레옹의 개봉년도는 1994년이다.'와 같은 자연어 문장으로 풀어 쓸 수 있다.
본 발명에서는 RDF 지식베이스를 바탕으로 Word2vec 알고리즘을 사용해 Entity2vec 모델을 제안한다. 단어를 벡터화시키는 워드 임베딩의 방법론 가운데 하나인 Word2vec은 한 문장에서 해당 단어와 동시에 등장하는 단어들을 학습하여 각 단어에 대한 벡터를 추출 한다. Entity2vec 모델은 Word2vec의 개념을 인용하여 자연어 문장으로 표현이 가능한 RDF 지식베이스를 학습데이터로 사용한다. 즉, 개체들 간의 동시정보(Co-occurence)를 학습하여 각 개체에 대한 벡터를 생성하는 것이다. 이때, 지식베이스에 있는 다양한 트리플 형태 가운데 개체와 개체 간의 관계를 표현하고 있는 형태의 데이터만을 추출하여 학습데이터로 사용하였다. 다시 말하면, 주어와 목적어의 데이터 타입이 URI 형태인 데이터만을 추출해 학습을 시켰다. 이것은, URI 형태가 아닌 Datatype의 형태로 되어있는 데이터는 본 발명에서 정의하는 개체라 할 수 없어 데이터 학습에 방해가 될 수 있기 때문에 제외된 것이다.
후보군 추출
2단계에서, 개체명 중의성 해소 장치(100)의 후보군 추출부(110)는 문장에서 등장한 단어들 가운데 개체로 인식 할 수 있는 단어들을 대상으로 RDF 지식베이스(120)에 연결시켜 각 단어의 개체 후보군을 선정한다(②). 이때, 개체로 인식할 수 있는 단어란 문장에서 등장한 전체 단어 가운데 관사, 전치사, 조사, 접속사 등의 불용어(stopword)를 제외한 명사, 동사, 형용사를 의미한다. 예를 들어, '영화 레옹에서 마틸다 역할은 내털리포트먼인가요?'라는 문장이 있을 때, 해당 문장의 입력단어는 '영화', '레옹', '마틸다', '역할', '내털리포트먼'이다. 해당 단어들은 1차적으로 구문분석(dependency analysis)을 통해 단어가 가질 수 있는 개체타입을 미리 부여받는다. '레옹, 마틸다, 내털리포트먼'은 인스턴스, '영화'는 클래스 또는 인스턴스 그리고 '역할'은 프로퍼티로 각각 매핑될 수 있다.
본 발명의 일 실시예에 따라, 개체 후보군을 선정하는데 있어 두 가지 정보를 사용하는데, 두 정보 모두 부합하는 경우 개체 후보군으로 선정한다. RDF 지식베이스(120)에서 단어를 1:1 매칭하고, 해당 단어와 매칭되면서 동시에 단어의 개체타입과 해당 개체의 개체타입이 매칭되는 개체를 후보군으로 선정할 수 있다.
예를 들어, 단어 '레옹'의 경우 RDF 지식베이스(120)에서 '레옹'으로 검색을 하고, 동시에 인스턴스인 개체만을 후보군으로 선정할 수 있다. 이 경우, 후보군은 영화 '레옹', 영화 레옹의 주인공 캐릭터 '레옹', 노래 제목 '레옹'이 후보군으로 선정될 수 있다.
개체명 중의성 해소
3단계에서, 개체명 중의성 해소 장치(100)의 개체명 중의성 해소부(140)는 2단계에서 만들어진 개체 후보군을 대상으로 랭킹을 시행하였다. 랭킹을 위해 각 후보군으로부터 후보들을 추출해 조합셋을 구축하였다(③).
이후, 구축된 조합셋을 대상으로 각 후보군에서 추출된 후보 간의 코사인 유사도를 계산한 뒤 평균을 구한다(④). 본 발명에서는 전통적인 짝 연결 접근법과 달리 조합셋 전체의 유사도를 사용함으로써 포괄적인 상호의존성을 바탕으로 개체 중의성을 해소하고자 한다. 포괄적인 상호의존성을 바탕으로 제시하는 짝 연결 접근법의 알고리즘 수식은 다음의 <수학식 1>과 같다.
Figure 112019128091870-pat00004
<수학식 1>의 알고리즘은 조합셋의 스코어를 의미한다. <수학식 1>의 알고리즘은 단어의 개수에 따라 V개의 노드셋(node set)을 갖는다. 노드셋은 한 단어에 대한 후보 개체의 집합을 의미한다.
Figure 112019128091870-pat00005
는 u 노드셋의 i 번째 노드를 의미하고,
Figure 112019128091870-pat00006
는 ν 노드셋의 j 번째 노드를 의미한다. 즉, <수학식 1>의 알고리즘은 조합셋에 있는 개체 후보들 간의 코사인 유사도를 계산하여 모두 합한 뒤, 단어의 개수로 나누어 조합셋의 평균값을 구하는 것이다. 이후, 전체 조합셋을 대상으로 값을 구한 뒤, 그 중 가장 큰 값을 가진 조합셋을 선택하여 개체 중의성을 해소할 수 있다.
본 발명의 일 실시예에 따라, 학습 데이터를 만들기 위해 Adam 지식베이스를 사용하였다. Adam 지식베이스는 주식회사 솔트룩스에서 지식베이스 기반 질의응답 시스템 개발을 위해 구축한 RDF 지식베이스로, 약 1700만개의 인스턴스, 1천개의 프로퍼티, 2억개의 트리플로 구성되어 있다.
본 발명 개체명 중의성 해소 방법은 질의응답 시스템 등에 적용할 수 있고, 평가를 위한 테스트 데이터로는 솔트룩스에서 제공한 질문 셋을 사용할 수 있다. 솔트룩스에서 제공한 질문 셋은 '아이린은 걸그룹 레드벨벳의 멤버야?', '영화 레옹에서 마틸다 역할은 내털리 포트먼인가요?'와 같이 정답이 '예/아니오'의 형태인 질문들로 구성되어 있다. 본 발명의 일 실시 예에서, 총 198개의 질문 가운데 구문분석이 정확하게 이뤄지지 않아 단어 추출에 오류가 있는 질문 51개, 그리고 지식베이스 내의 단어가 부족해 후보군을 찾을 수 없는 질문 53개를 제외한 94개의 질문을 대상으로 실험을 진행하였다. 94개의 질문에 대해 구문분석을 하면 총 370개의 단어와 단어의 개체타입 정보가 추출된다. 본 발명의 개체명 중의성 해소 방법이 적용된 질의응답 시스템을 평가하기 위해 370개의 단어에 대해 수동으로 정답 셋을 구축하였다. 정답 셋의 형태의 일 실시예는 다음의 <표 1>과 같다.
Word Entity type Answer
내털리포트먼 Resource http://kb.adams.ai/resource/0000410364
레옹 Resource http://kb.adams.ai/resource/0000093989
영화 Class http://kb.adams.ai/schema/class/movie_06205452
역할 Property http://kb.adams.ai/schema/property/role
마틸다 Resource http://kb.adams.ai/resource/0030163951
본 발명에서 제안하는 포괄적인 상호의존성을 고려한 짝 연결 접근법(Global Interdependence based Pairwise, GIPW)에 기반한 개체명 중의성 해소 방법의 성능을 평가하기 위해, 상호의존성만을 고려한 짝 연결 접근법(Interdependence based Pairwise, IPW) 및 포괄적인 상호의존성을 바탕으로 고안된 개별화된 페이지랭크 알고리즘(Personalized Pagerank, PPR)을 비교하여 테스트를 진행하였다.
IPW의 경우 개체 후보 간의 코사인 유사도를 사용해 중의성을 해소하는 방식이다. PPR의 경우 한 노드에서 다른 노드로 이동 할 때 엣지에 가중치를 부여하기 위해, 알고리즘으로는 'DoSeR-a knowledge-base-agnostic framework for entity disambiguation using semantic embeddings.' 논문의 ETP(Entity Transition Probabilities) 알고리즘을 사용하였다. 이 알고리즘은 단어의 개수에 따라 V 개의 노드셋을 갖는데, 노드셋은 한 단어에 대한 후보 개체의 집합을 의미하고, 노드는 노드셋 안에 있는 k 개의 후보를 의미한다. 알고리즘 수식은 다음의 <수학식 2>와 같다.
Figure 112019128091870-pat00007
여기서,
Figure 112019128091870-pat00008
는 u 노드셋의 i 번째 노드를 의미하고,
Figure 112019128091870-pat00009
는 ν 노드셋의 j 번째 노드를 의미한다.
이와 같은 ETP알고리즘의 적용 예시는 도 2를 참고하여 도시된다.
도 2에서, 문장에 사용된 '레옹'과 '내털리포트먼'을 대상으로 ETP 알고리즘을 적용시킨 예가 도시된다. 도 2에 도시된 바와 같이, '레옹'이라는 단어로 만들어진 노드셋이 있고, 그 밑에 노드로 영화 제목 '레옹', 캐릭터 '레옹', 노래제목 '레옹' 총 3개의 개체후보가 있고, '내털리포트먼'이라는 단어로 만들어진 노드셋이 있고, 그 밑에 노드로 배우 '내털리포트먼' 총 1개의 개체후보가 있다. Entity2vec 모델에 있는 각 노드의 벡터를 ETP 알고리즘에 적용시키면, 배우 '내털리포트먼'은 '레옹' 노드셋에 있는 노드들로부터 각각 1점을 받게 된다. 반대로, 배우 '내털리포트먼' 노드셋은 다른 노드에 부여할 수 있는 총 1점을 '레옹' 노드셋에 있는 노드들에 각각 나눠 점수를 부여하게 되는데, 마찬가지로 ETP 알고리즘에 적용시키면, 영화 '레옹'은 0.4점, 캐릭터 '레옹'은 0.4점, 노래제목 '레옹'은 0.2점을 받는다. 이와 같은 방식으로 두 개의 노드셋이 서로의 노드 간의 ETP 알고리즘을 적용한 값을 누적하여 최종적으로 각각의 노드셋에서 가장 점수가 높은 노드를 정답으로 개체 중의성을 해소할 수 있다.
세 가지 방법론의 성능 결과는 아래의 <표 2>와 같이 얻어진다. <표 2>는 Entity2Vec 모델을 학습하는데 있어, DL4J에서 제공하는 Word2Vec 모델 학습의 기본 옵션(Baseline)을 사용한 결과이다.
<표 2>에 나타난 바와 같이, 세 가지 방법론의 응답률(recall)은 모두 100%인 것을 확인할 수 있다. 이는 본 발명의 테스트 질문 셋을 구문 분석 및 지식 베이스 내 단어의 부족으로 인해 후보군을 찾을 수 없는 단어가 있는 질문을 제외했기 때문에, 본 발명에서 평가하는 데이터는 지식 베이스 내 후보군이 존재하는 단어가 대상이 되므로 응답률이 100%로 나타났다. 정밀도(precision)는 IPW가 63.2%, GIPW가 65.7%, PPR이 64.3%로 포괄적인 상호의존성을 고려한 GIPW와 PPR이 IPW보다 결과가 높았고, 그 중 본 발명의 GIPW가 PPR보다 1.4% 높았다.
이와 같은 결과를 통해, 상호의존성만을 고려한 IPW에 비해 포괄적인 상호의존성을 고려한 방법론이 개체명 중의성을 해소하는데 있어 더 효과적인 것을 확인할 수 있고, 그 중 본 발명에서 제안한 포괄적인 상호의존성을 고려한 짝 연결 접근법(GIPW)이 개체 중의성 해소에 있어 매우 효과적인 것을 확인할 수 있었다.
Baseline
IPW GIPW PPR
응답률 100% 100% 100%
정밀도 63.2% 65.7% 64.3%
F-점수 77.5% 79.3% 78.3%
아래의 <표 3>은 기본 옵션에서 Iteration을 1에서 10으로 늘려 Entity2vec 모델을 생성 후 테스트한 결과이다. Iteration을 1에서 10으로 늘려 학습한 모델을 적용한 결과 GIPW가 정밀도 70.5%, F-점수 82.7%로 IPW와 PPR에 비해 효과적인 것을 확인할 수 있다.
Iteration 증가 (1 -> 10)
IPW GIPW PPR
응답률 100% 100% 100%
정밀도 67% 70.5% 65.6%
F-점수 80.2% 82.7% 79.2%
<표 4>는 기본 옵션에서 Epoch을 1에서 10으로 늘려 Entity2vec 모델을 생성 후 테스트한 결과이다. Epoch을 1에서 10으로 늘려 학습한 모델을 적용한 결과 GIPW와 PPR이 정밀도 67.3%, F-점수 80.5%로 유사한 성능을 보인 것을 확인할 수 있었다.
Epoch 증가 (1 -> 10)
IPW GIPW PPR
응답률 100% 100% 100%
정밀도 66.5% 67.3% 67.3%
F-점수 79.6% 80.5% 80.5%
<표 5>는 기본 옵션에서 Layersize를 100에서 200으로 늘려 Entity2vec 모델을 생성 후 테스트한 결과이다. Layersize를 100에서 200으로 늘려 학습한 모델을 적용한 결과 GIPW의 정밀도가 65.1%, F-점수 78.9%로 IPW와 PPR에 비해 효과적인 것을 확인할 수 있다. 기본 옵션에 비해 성능 결과가 낮아지지만, 전체적으로 GIPW의 성능이 우수함을 확인할 수 있다.
Layersize 증가 (100 -> 200)
IPW GIPW PPR
응답률 100% 100% 100%
정밀도 62.4% 65.1% 64.6%
F-점수 76.9% 78.9% 78.5%
Iteration, Epoch, Layersize를 각각 늘린 모델의 결과 가운데 Iteration만을 늘려 생성한 모델의 결과가 가장 우수한 것으로 나타났다. 그리고 Iteration과 Epoch을 증가시켜 학습한 모델의 성능이 기본 옵션으로 학습시킨 모델에 비해 효과가 우수한 것을 확인 할 수 있었다. 이는 곧, Iteration과 Epoch 옵션을 증가시켜 모델을 학습시키는 것이 Layersize를 증가시켜 모델을 학습시키는 것에 비해 보다 발전된 모델을 만드는데 있어 중요한 요소라는 것을 확인할 수 있다.
도 3은 본 발명의 일 실시예에 따른 지식베이스 기반의 개체명 중의성 해소 방법의 흐름도를 도시한다. 예를 들어, 지식베이스 기반의 개체명 중의성 해소 방법은 개체명 중의성 해소 장치(100)에 의해 수행될 수 있다.
도 3을 참조하면, 지식베이스 기반의 개체명 중의성 해소 방법은 입력 문장의 단어들 중 개체로 인식되는 단어들을 선별하는 단계(S310), 선별된 단어들 각각의 개체 후보군을 결정하는 단계(S320), 개체 후보군 각각으로부터 후보들을 임의로 조합한 조합셋을 구축하는 단계(S330) 및 조합셋 각각의 유사도의 랭킹을 산출하여 각 단어의 개체명 의미를 판단하는 단계(S340)를 포함한다.
먼저, 개체명 중의성 해소 장치(100)는 입력 문장의 단어들 중 개체로 인식되는 단어들을 선별한다(S310). 예를 들어, 후보군 추출부(110)는 문장에서 등장한 단어들 가운데 개체로 인식 할 수 있는 단어들을 선별할 수 있다. 이때, 개체로 인식할 수 있는 단어란 문장에서 등장한 전체 단어 가운데 관사, 전치사, 조사, 접속사 등의 불용어를 제외한 명사, 동사, 형용사를 의미할 수 있다.
다음으로, 개체명 중의성 해소 장치(100)는 지식베이스를 이용한 개체와 개체간의 관계를 표현한 데이터 학습에 기반하여 선별된 단어들 각각의 개체 후보군을 결정한다(S320). 예를 들어, 후보군 추출부(110)는 단어들 가운데 개체로 인식 할 수 있는 단어들을 대상으로 RDF 지식베이스(120)에 연결시켜 각 단어의 개체 후보군을 선정할 수 있다. 단어들은 1차적으로 구문분석을 통해 단어가 가질 수 있는 개체타입을 미리 부여 받는다. 예를 들어, '레옹, 마틸다, 내털리포트먼'은 인스턴스, '영화'는 클래스 또는 인스턴스 그리고 '역할'은 프로퍼티로 각각 매핑될 수 있다. 개체 후보군은 해당 단어와 매칭되면서 동시에 단어의 개체타입과 해당 개체의 개체타입이 매칭되는 개체를 후보군으로 선정할 수 있다.
그 다음, 개체명 중의성 해소 장치(100)는 개체 후보군 각각으로부터 모든 경우의 수를 고려하여 후보들을 임의로 조합한 조합셋을 구축한다(S330). 예를 들어, 도 1에 도시된 바와 같이 개체명 중의성 해소부(140)는 이전 단계에서 만들어진 개체 후보군을 대상으로 각 후보군으로부터 후보들을 추출해 조합셋을 구축할 수 있다.
마지막으로, 개체명 중의성 해소 장치(100)는 조합셋 각각의 유사도의 랭킹을 산출하여 각 단어의 개체명 의미를 판단한다(S340). 예를 들어, 개체명 중의성 해소부(140)는 포괄적인 상호의존성을 바탕으로 제시하는 짝 연결 접근법의 알고리즘에 기반하여, 조합셋에 있는 개체 후보들 간의 코사인 유사도를 계산하여 모두 합한 뒤 단어의 개수로 나누어 조합셋의 평균값을 구할 수 있다. 이후, 전체 조합셋을 대상으로 값을 구한 뒤, 그 중 가장 큰 값을 가진 조합셋을 선택하여 개체 중의성을 해소할 수 있다. 본 발명에서 제안하는 포괄적인 상호의존성을 바탕으로 제시하는 짝 연결 접근법의 알고리즘 수식은 상술한 <수학식 1>과 같이 나타낼 수 있다.
상술한 구체적인 실시예들에서, 발명에 포함되는 구성 요소는 제시된 구체적인 실시예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 상술한 실시예들이 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 다양한 실시예들이 내포하는 기술적 사상의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며 후술하는 청구범위뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (10)

  1. 지식베이스 기반의 개체명 중의성 해소 방법으로서,
    입력 문장의 단어들 중 개체로 인식되는 단어들을 선별하는 단계;
    지식베이스를 이용한 개체와 개체간의 관계를 표현한 데이터 학습에 기반하여 선별된 단어들 각각의 개체 후보군을 결정하는 단계;
    상기 개체 후보군 각각으로부터 모든 경우의 수를 고려하여 후보들을 임의로 조합한 조합셋을 구축하는 단계; 및
    상기 조합셋 각각의 유사도의 랭킹을 산출하여 상기 선별된 단어들 각각의 개체명 의미를 판단하는 단계를 포함하고,
    상기 선별된 단어들 각각의 개체 후보군을 결정하는 단계는 상기 선별된 단어들 각각과 매칭되면서 상기 선별된 단어들 각각의 개체타입과 매칭되는 개체를 후보군으로 결정하는 단계를 포함하며, 상기 개체타입은 인스턴스, 클래스, 프로퍼티 중 어느 하나이고,
    상기 조합셋 각각의 유사도는 하기 [수학식]에 기반하여 산출되는 개체명 중의성 해소 방법.
    [수학식]
    Figure 112021021800738-pat00019

    여기서, V는 한 단어에 대한 후보 개체의 집합인 노드셋의 개수,
    Figure 112021021800738-pat00020
    는 u 노드셋의 i 번째 노드,
    Figure 112021021800738-pat00021
    는 ν 노드셋의 j 번째 노드를 나타낸다.
  2. 제1항에 있어서,
    상기 입력 문장의 단어들 중 개체로 인식되는 단어들을 선별하는 단계는,
    상기 입력 문장의 단어들 중 명사, 동사 또는 형용사인 단어들을 선별하는 단계를 포함하는 것을 특징으로 하는, 개체명 중의성 해소 방법.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 지식베이스 기반의 개체명 중의성 해소 장치로서,
    입력 문장의 단어들 중 개체로 인식되는 단어들을 선별하고, 지식베이스를 이용한 개체와 개체간의 관계를 표현한 데이터 학습에 기반하여 선별된 단어들 각각의 개체 후보군을 결정하고, 상기 개체 후보군 각각으로부터 모든 경우의 수를 고려하여 후보들을 임의로 조합한 조합셋을 구축하고, 상기 조합셋 각각의 유사도의 랭킹을 산출하여 상기 선별된 단어들 각각의 개체명 의미를 판단하는 하나 이상의 프로세서를 포함하고,
    상기 하나 이상의 프로세서는 상기 선별된 단어들 각각과 매칭되면서 상기 선별된 단어들 각각의 개체타입과 매칭되는 개체를 후보군으로 결정하며, 상기 개체타입은 인스턴스, 클래스, 프로퍼티 중 어느 하나이고,
    상기 조합셋 각각의 유사도는 하기 [수학식]에 기반하여 산출되는, 개체명 중의성 해소 장치.
    [수학식]
    Figure 112021021800738-pat00022

    여기서, V는 한 단어에 대한 후보 개체의 집합인 노드셋의 개수,
    Figure 112021021800738-pat00023
    는 u 노드셋의 i 번째 노드,
    Figure 112021021800738-pat00024
    는 ν 노드셋의 j 번째 노드를 나타낸다.
  7. 제6항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 입력 문장의 단어들 중 명사, 동사 또는 형용사인 단어들을 선별하는 것을 특징으로 하는, 개체명 중의성 해소 장치.
  8. 삭제
  9. 삭제
  10. 삭제
KR1020190164741A 2018-12-11 2019-12-11 Rdf 지식베이스 기반의 개체명 중의성 해소 방법 및 장치 KR102293071B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180159441 2018-12-11
KR1020180159441 2018-12-11

Publications (2)

Publication Number Publication Date
KR20200071689A KR20200071689A (ko) 2020-06-19
KR102293071B1 true KR102293071B1 (ko) 2021-08-26

Family

ID=71137090

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190164741A KR102293071B1 (ko) 2018-12-11 2019-12-11 Rdf 지식베이스 기반의 개체명 중의성 해소 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102293071B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101712507B1 (ko) 2016-11-02 2017-03-07 가천대학교 산학협력단 마이크로블로그의 개체명 링킹 시스템.

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101757222B1 (ko) * 2015-08-28 2017-07-13 한국과학기술원 한글 문장에 대한 의역 문장 생성 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101712507B1 (ko) 2016-11-02 2017-03-07 가천대학교 산학협력단 마이크로블로그의 개체명 링킹 시스템.

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
김서현 외 1인, 개체 중의성 해소를 위한 사용자 유사도 기반의 트윗 개체 링킹 기법, 정보과학회논문지 43(9), 2016.9, 1043-1051페이지.
김은진 외 1인, 의미그룹을 이용한 단어 중의성 해소, 정보과학회논문지: 컴퓨팅의 실제 및 레터 16(6), 2010.6, 747-751페이지.

Also Published As

Publication number Publication date
KR20200071689A (ko) 2020-06-19

Similar Documents

Publication Publication Date Title
CN106844658B (zh) 一种中文文本知识图谱自动构建方法及系统
Hu et al. Improved lexically constrained decoding for translation and monolingual rewriting
Wang et al. K-adapter: Infusing knowledge into pre-trained models with adapters
US20090119090A1 (en) Principled Approach to Paraphrasing
US9965726B1 (en) Adding to a knowledge base using an ontological analysis of unstructured text
CN105528437B (zh) 一种基于结构化文本知识提取的问答系统构建方法
CN103229223A (zh) 使用多个候选答案评分模型提供问题答案
Mills et al. Graph-based methods for natural language processing and understanding—A survey and analysis
CN103229162A (zh) 使用候选答案逻辑综合提供问题答案
Alexander et al. Natural language web interface for database (NLWIDB)
KR20160007040A (ko) 단문/복문 구조의 자연어 질의에 대한 검색 및 정보 제공 방법 및 시스템
Singh et al. Capturing knowledge in semantically-typed relational patterns to enhance relation linking
CN104008092A (zh) 一种基于语义空间映射的语义关系表征、聚类及识别的方法和系统
AU2014315620A1 (en) Methods and systems of four valued analogical transformation operators used in natural language processing and other applications
CN109783806A (zh) 一种利用语义解析结构的文本匹配方法
Rane et al. Recent trends in deep learning based abstractive text summarization
McNamee et al. HLTCOE participation at TAC 2012: Entity linking and cold start knowledge base construction
CN104391969A (zh) 确定用户查询语句句法结构的方法及装置
Jinarat et al. Short text clustering based on word semantic graph with word embedding model
CN103729343A (zh) 基于百科链接共现的语义消岐方法
CN103744970B (zh) 一种确定图片的主题词的方法及装置
Severyn et al. A syntax-aware re-ranker for microblog retrieval
Phan et al. BERT+ vnKG: using deep learning and knowledge graph to improve Vietnamese question answering system
KR102293071B1 (ko) Rdf 지식베이스 기반의 개체명 중의성 해소 방법 및 장치
Wehnert et al. Applying BERT embeddings to predict legal textual entailment

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right