KR20180113444A - 개체명 연결 방법, 장치, 시스템 및 컴퓨터 프로그램 - Google Patents

개체명 연결 방법, 장치, 시스템 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20180113444A
KR20180113444A KR1020170146715A KR20170146715A KR20180113444A KR 20180113444 A KR20180113444 A KR 20180113444A KR 1020170146715 A KR1020170146715 A KR 1020170146715A KR 20170146715 A KR20170146715 A KR 20170146715A KR 20180113444 A KR20180113444 A KR 20180113444A
Authority
KR
South Korea
Prior art keywords
word
neural network
text
plural
words
Prior art date
Application number
KR1020170146715A
Other languages
English (en)
Other versions
KR102053419B1 (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 KR20180113444A publication Critical patent/KR20180113444A/ko
Priority to KR1020190158194A priority Critical patent/KR102315181B1/ko
Application granted granted Critical
Publication of KR102053419B1 publication Critical patent/KR102053419B1/ko

Links

Images

Classifications

    • G06F17/278
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • 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
    • G06F17/2795
    • G06F17/30324
    • G06F17/3069
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

본 발명은 개체명 연결 방법, 장치, 시스템 및 컴퓨터 프로그램에 관한 것으로서, 보다 구체적으로는 텍스트에 포함되는 다의어에 대하여 개체명 연결을 수행하는 방법에 있어서, 개체명 연결 장치가, 상기 텍스트에서 상기 다의어를 포함하는 복수의 단어를 각 대응하는 복수의 벡터로 변환하는 단어-벡터 변환 단계; 상기 복수의 벡터를 은닉층을 구비하는 심층신경망에 입력하는 신경망 입력 단계; 및 상기 심층신경망의 출력값을 이용하여 상기 다의어에 대한 개체명 연결을 수행하는 개체명 연결 단계;를 포함하는 것을 특징으로 하는 개체명 연결 방법을 개시한다.

Description

개체명 연결 방법, 장치, 시스템 및 컴퓨터 프로그램{METHOD, APPARAUTS AND SYSTEM FOR NAMED ENTITY LINKING AND COMPUTER PROGRAM THEREOF}
본 발명은 개체명 연결 방법, 장치, 시스템 및 컴퓨터 프로그램에 관한 것으로서, 보다 구체적으로는 텍스트 내에 위치하는 다의어에 대한 개체명 연결을 수행하는 방법, 장치, 시스템 및 컴퓨터 프로그램에 관한 것이다.
개체명 연결(Named Entity Linking)이라 함은 주어진 텍스트 내에 위치하는 단어 등이 다의적으로 해석될 수 있는 경우, 상기 주어진 텍스트에서의 쓰임새를 고려하여 상기 단어 등이 어떤 의미로 사용되었는지를 판단하고, 이에 따라 상기 단어 등을 인물, 사물, 장소 등으로 연결하는 작업을 말한다(예를 들어, 텍스트에서 사용된 "거미"라는 단어가 가수를 의미하는지 또는 절지동물을 의미하는지 판단). 개체명 연결은 다의적 단어에 대한 의미 판단 결과가 품질에 영향을 주는 검색 엔진, 대화 시스템 등에서 중요한 구성 요소가 될 수 있다.
종래에는 주로 주어진 텍스트의 연결 대상 단어의 주변 단어 등을 자질(feature)로 산출한 후, 써포트 벡터 머신(Support Vector Machine, SVM)이나 로지스틱 회귀분석(Logistic Regression), 유사도 분석 등을 적용하여 개체명 연결을 수행하였다. 그런데, 상기 종래 기술의 경우에는 구별 대상 개체명의 수가 늘어남에 따라 개체명 연결에 소요되는 시간이 증가할 수 있으며, 나아가 주어진 시간 내에 정확한 결과물을 얻기가 어려워지는 문제가 나타날 수 있다. 특히, 개체명 연결이 소수의 특정 단어에 한정되지 않고 다수의 다의어가 사용될 수 있는 검색 엔진 등에서는 구별 대상 개체명이 100 단위에서 1만 단위 이상까지 늘어날 수 있어 종래 기술로는 개체명 연결의 정확도가 크게 떨어지는 문제가 따르게 된다.
대한민국 등록특허 제10-1255957호(2013.4.24.)
본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위해 창안된 것으로, 텍스트 내에 위치하는 다의어에 대하여 정확한 개체명 연결을 수행할 수 있으며, 나아가 전산 자원을 보다 효율적으로 사용하여 개체명 연결을 수행할 수 있는 개체명 연결 방법, 장치, 시스템 및 컴퓨터 프로그램을 제공하는 것을 목적으로 한다.
상기 과제를 해결하기 위한 본 발명의 한 측면에 따른 개체명 연결 방법은, 텍스트에 포함되는 다의어에 대하여 개체명 연결을 수행하는 방법으로서, 개체명 연결 시스템이, 상기 텍스트에서 상기 다의어를 포함하는 복수의 단어를 각 대응하는 복수의 벡터로 변환하는 단어-벡터 변환 단계; 상기 복수의 벡터를 은닉층을 구비하는 심층신경망에 입력하는 신경망 입력 단계; 및 상기 심층신경망의 출력값을 이용하여 상기 다의어에 대한 개체명 연결을 수행하는 개체명 연결 단계;를 포함하는 것을 특징으로 한다.
본 발명의 다른 측면에 따른 컴퓨터 프로그램은 상기 기재된 개체명 연결 방법의 각 단계를 컴퓨터에서 실행시키기 위한 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램인 것을 특징으로 한다.
본 발명의 또 다른 측면에 따른 객체명 연결 시스템은, 텍스트에 포함되는 다의어에 대하여 개체명 연결을 수행하는 개체명 연결 시스템으로서, 상기 텍스트에서 상기 다의어를 포함하는 복수의 단어를 각 대응하는 복수의 벡터로 변환하는 단어-벡터 변환부; 상기 복수의 벡터를 은닉층을 구비하는 심층신경망에 입력하는 신경망 입력부; 및 상기 심층신경망의 출력값을 이용하여 상기 다의어에 대한 개체명 연결을 수행하는 개체명 연결부;를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따르면, 텍스트 내에 위치하는 다의어에 대하여 정확한 개체명 연결을 수행할 수 있으며, 나아가 전산 자원을 보다 효율적으로 사용하여 개체명 연결을 수행할 수 있는 개체명 연결 방법, 장치, 시스템 및 컴퓨터 프로그램을 제공할 수 있게 된다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 본 발명의 일 실시예에 따른 개체명 연결 시스템의 구성을 설명하는 도면이다.
도 2는 본 발명의 일 실시예에 따른 개체명 연결의 개념을 설명하기 위한 도면이다.
도 3과 도 4는 본 발명의 일 실시예에 따른 개체명 연결 시스템에서 사용자 단말의 화면에 대한 예시도이다.
도 5는 본 발명의 일 실시예에 따라 개체명이 연결되는 웹문서의 예시도이다.
도 6은 본 발명의 일 실시예에 따른 개체명 연결 방법의 순서도이다.
도 7은 본 발명의 일 실시예에 따른 개체명 연결 시스템에서 심층신경망의 동작을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 개체명 연결 시스템에서 N-gram 콘볼루션 필터의 동작을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 개체명 연결 시스템에서 동적 데이터 샘플링 기법을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 개체명 연결 시스템에서 정적 정책 맞춤 손실 함수 기법을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 개체명 연결 시스템에서 일반 개체에 대한 네거티브 샘플링 기법을 설명하기 위한 도면이다.
도 12는 본 발명의 일 실시예에 따른 개체명 연결 시스템의 동작을 설명하기 위한 도면이다.
도 13은 본 발명의 일 실시예에 따른 학습 말뭉치 자동 구축 모듈의 동작을 설명하기 위한 도면이다.
도 14는 본 발명의 일 실시예에 따른 개체명 연결 시스템의 기능별 구성을 설명하기 위한 도면이다.
도 15는 본 발명의 일 실시예에 따른 개체명 연결 시스템의 거리 기반 단어-벡터 모델 및 후처리를 설명하기 위한 도면이다.
도 16은 본 발명의 일 실시예에 따른 개체명 연결 시스템의 구성도이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 이하에서는 특정 실시예들을 첨부된 도면을 기초로 상세히 설명하고자 한다.
본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되는 것은 아니며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하에서는, 본 발명에 따른 개체명 연결 방법, 장치, 시스템 및 컴퓨터 프로그램의 예시적인 실시형태들을 첨부된 도면을 참조하여 상세히 설명한다.
먼저, 도 1에서는 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)의 동작을 설명하기 위한 도면을 보여주고 있다. 도 1에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)은 데이터베이스(30) 등과 연결되어, 상기 데이터베이스(30) 등에 저장되어 있는 문서(예를 들어, 블로그, 카페, 뉴스 등을 포함하는 다양한 전자 문서 등)에 대하여, 상기 문서에 포함되어 있는 하나 이상의 문장을 포함하는 텍스트 내에 위치하는 다의적 단어에 대한 개체명 연결을 수행하게 된다.
보다 구체적인 예를 들어, 데이터베이스(30)에 저장되어 있는 특정 전자 문서에, 도 2에서 볼 수 있는 바와 같이 “오늘 딸과 매장에 가서 ‘원피스’를 골랐다”라는 문장이 포함되어 있는 경우, 상기 ‘원피스’라는 단어는 그 쓰임새에 따라서 만화의 제목인 ‘원피스’일 수도 있으며, 의류의 한 종류인 ‘원피스’일 수도 있다. 이에 대하여, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는 상기 문장에서 상기 ‘원피스’가 만화를 의미하는지 또는 의류를 의미하는지를 판단하여, 상기 문장의 다의어(‘원피스’)에 대한 개체명 연결을 수행하게 된다. 이에 따라, 상기 문장의 ‘원피스’에 ‘원피스_의류’ 등과 같이 개체명을 연결하고 나아가 이를 저장할 수 있다.
또한, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는 상기 개체명 연결 결과를 반영하여 사용자들에게 서비스를 제공할 수 있게 된다. 보다 구체적인 예를 들어, 도 3에서 볼 수 있는 바와 같이, 단말(10a)의 사용자가 만화 ‘원피스’에 대한 검색을 수행하고자 하는 경우(예를 들어, 각 검색 서비스에서 지원하는 검색어 형식에 따라 다의어 중 특정 의미의 검색어를 특정하여 입력하는 경우(원피스(만화) 또는 원피스(의류)과 같은 형식으로 입력하는 경우(도 3의 310)), 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는 다의적 의미를 가지는 검색어의 의미를 고려한 검색 결과를 제공(도 3의 320)함으로써, 사용자가 보다 편리하게 자신이 원하는 검색 결과를 얻을 수 있도록 도울 수 있게 된다.
또한, 도 1을 참조하여 본 발명의 일 실시예에 따른 개체명 연결 시스템(100) 및 관련된 구성들에 대하여 보다 자세하게 살펴보면, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)은 하나 이상의 서버를 포함하여 구성될 수 있으며, 이외에도 개체명 연결을 수행하기 위한 전용 하드웨어 등을 이용하여 구성되거나, 하나 혹은 둘 이상의 단말 장치가 연동되어 구성되는 등 다양한 방식으로 구현될 수 있다.
또한, 단말(10a, 10b)로서는 스마트폰, 태블릿 PC, PDA, 휴대전화 등 다양한 휴대 단말기가 사용될 수 있고, 그외에도 퍼스널 컴퓨터(PC), 노트북 PC 등 다양한 단말들이 채택될 수도 있다.
또한, 단말(10a, 10b)과 개체명 연결 시스템(100)을 연결하는 통신 네트워크(30)로서는 유선 네트워크와 무선 네트워크를 포함할 수 있으며, 구체적으로, 근거리 통신망 (LAN: Local Area Network), 도시권 통신망 (MAN: Metropolitan Area Network), 광역 통신망 (WAN: Wide Area Network) 등의 다양한 통신망을 포함할 수 있다. 또한, 상기 통신 네트워크(30)는 공지의 월드 와이드 웹(WWW: World Wide Web)을 포함할 수도 있다. 그러나, 본 발명에 따른 통신 네트워크(30)가 상기 열거된 네트워크에 국한되는 것은 아니며, 이외에도 공지의 무선 데이터 네트워크나 공지의 전화 네트워크 또는 공지의 유무선 텔레비전 네트워크 등 다양한 네트워크를 포함하여 구성될 수도 있다.
또한, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)의 동작을 보다 구체적인 예를 들어 설명하면, 텍스트에 "지민"이라는 다의어가 포함되어 있을 경우, 상기 텍스트에 포함되어 있는 "지민"이라는 단어는 그 쓰임새에 따라서 "그룹 AOA"의 "지민"일 수도 있고, "그룹 방탄소년단"의 "지민"일 수도 있으며, 또는 다른 "지민"일 수도 있다. 또한, 텍스트에 "원피스"라는 다의어가 포함되어 있을 경우에도, 상기 "원피스"는 그 쓰임새에 따라 만화의 제목인 '원피스'일 수도 있으며, 의류의 한 종류인 '원피스'일 수도 있다. 이에 대하여, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는 주어진 텍스트에서 사용된 "지민"이 어떤 사람을 의미하는지, 주어진 텍스트의 "원피스"가 만화를 의미하는지 또는 의류를 의미하는지를 판단하여, 상기 텍스트에서 사용된 다의어에 대한 개체명 연결을 수행하게 된다.
이에 따라, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는 주어진 텍스트의 "지민", "원피스" 등의 다의어에 "지민_가수AOA", "원피스_만화" 등과 같이 개체명을 연결하여 저장할 수 있으며, 나아가 상기 개체명 연결 결과를 반영하여 사용자들에게 검색 서비스 등 다양한 서비스를 제공할 수 있게 된다.
나아가, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는 사용자가 다의어를 구분하여 입력할 수 있도록 다의어 목록을 제공하고 사용자가 선택할 수 있도록 하는 인터페이스를 제공할 수도 있다. 예를 들어, 도 4에서 볼 수 있는 바와 같이, 사용자가 다의어 "지민" 이나 "원피스"를 입력하면, 상기 다의어 "지민"이나 "원피스"를 그 의미를 구분하여 목록을 제공한 후 사용자가 선택할 수 있도록 할 수 있다(도 4의 410, 420).
또 다른 예로서, 사용자가 만화 '원피스'에 대한 검색을 수행하고자 하는 경우, 각 검색 서비스에서 지원하는 검색어 형식에 따라 다의어 중 특정 의미의 검색어를 특정하여 입력할 수 있도록 함으로써(예를 들어, 원피스(만화) 또는 원피스(의류)과 같은 형식으로 입력), 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는 다의적 의미를 가지는 검색어의 의미를 고려한 검색 결과를 제공하여 사용자가 보다 편리하게 자신이 원하는 검색 결과를 얻을 수 있도록 도울 수 있게 된다.
이에 따라, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는, 도 5에서 볼 수 있는 바와 같이, 동일한 단어인 ?幣퓰?가 사용된 텍스트라 하더라도 상기 텍스트에서 어떤 의미로 사용되었는지를 파악함으로써(예를 들어, 도 5(a)에서는 원피스(의류)으로, 도 5(b)에서는 원피스(만화)로 파악), 사용자가 원하는 정보를 보다 정확하게 제공할 수 있게 된다.
또한, 본 발명에서는 "지민", "원피스" 등 하나의 단어가 다의적 의미를 가지는 경우를 예를 들어 설명하고 있으나, 본 발명이 반드시 이에 한정되는 것은 아니며 둘 이상의 단어가 다의적 의미를 가지는 경우에도 본 발명이 적용될 수 있다(예를 들어, "겨울 바다(노래 제목/특정 계절의 바다)"). 이에 따라, 본 발명에서 "단어"라는 표현에는 둘 이상의 단어를 포함하는 문구(phrase) 등도 포함될 수 있다.
도 6에서는 본 발명의 일 실시예에 따른 개체명 연결 방법의 순서도를 도시하고 있다. 도 6에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 개체명 연결 방법은, 텍스트에 포함되는 다의어에 대하여 개체명 연결을 수행하는 방법에 있어서, 개체명 연결 시스템(100)이 텍스트에서 다의어를 포함하는 복수의 단어를 각 대응하는 복수의 벡터로 변환하는 단어-벡터 변환 단계(S110), 상기 복수의 벡터를 은닉층을 구비하는 심층신경망에 입력하는 신경망 입력 단계(S120) 및 상기 심층신경망의 출력값을 이용하여 상기 다의어에 대한 개체명 연결을 수행하는 개체명 연결 단계(S130)를 포함할 수 있다.
아래에서는 도 6을 참조하여 본 발명의 일 실시예에 따른 개체명 연결 방법을 각 단계별로 나누어 자세하게 검토한다.
먼저, S110단계에서는 개체 연결 시스템(100)이 텍스트에서 다의어를 포함하는 복수의 단어를 각 대응하는 복수의 벡터로 변환하게 된다. 이때, 본 발명의 일 실시예에 따른 개체 연결 시스템(100)은, 텍스트 내에서 다의어를 기준으로 미리 정해진 거리 이내의 복수의 단어를 선정한 후, 상기 복수의 단어에 대한 각 벡터를 산출할 수도 있다.
보다 구체적인 예를 들어, 도 7에서는 드라마 <김과장>에 관한 기사인, "김과장에서 정해성(홍가은역)은 레이스 블라우스와 트위드 배색 원피스를 매치해 러블리한"이라는 텍스트(도 7의 710)에 포함된 다의어 "원피스"에 대한 개체명을 연결하는 경우, 상기 텍스트를 형태소 단위로 분류한 후 상기 "원피스"를 기준으로 미리 정해진 거리 이내에 있는 복수의 단어 (예를 들어, 전후 4개 단어인 "블라우스", "와", "트위드", "배색" 및 "를", "매치", "해", "러블리") 를 산출한 후(도 7의 720), 상기 복수의 단어를 미리 정해진 차원의 벡터로 변환할 수 있다. 예를 들어, 도 7의 731에서 볼 수 있는 바와 같이, 소정의 단어-벡터 변환(word2vec) 함수를 이용하여 단어 "블라우스"에 대한 128차원 벡터(0.0,0.0, 0.1, 0.3, 0.8, ...), "와"에 대한 128차원 벡터(0.3, 0.2, 0.5, 0.7, 1.2, ...) 등으로 변환되어 임베딩층으로 입력될 수 있다. 이때, 변환되는 벡터의 차원은 다의어에 대한 개체명 연결의 정확도, 개체명 연결에 소요되는 시간 및 전산 자원(computing resource) 등을 고려하여 결정될 수 있다.
다음으로, S120 단계에서는 복수의 벡터를 은닉층을 구비하는 심층신경망에 입력하게 된다(도 7의 733). 이때, 변환된 벡터(M개)는 복수개 단위로 묶여 소정의 연산을 거쳐 N개의 벡터로 산출(도 7의 732)된 후(여기서, M>N), 심층신경망에 입력될 수 있다.
즉, 본 발명에서 변환되어 임베딩층으로 입력된 벡터는 은닉층으로 전달되어 처리되는데(도 7의 732), 이때 N-gram 콘볼루션 필터(732) 등을 이용하여 상기 입력된 M개의 벡터들을 콘볼루션 연산을 통해 믹싱(mixing)하여 N개로 줄여줌으로써, 심층신경망의 학습 및 디코딩 속도 및 효율을 크게 개선할 수 있게 된다.
즉, 도 8에서 볼 수 있는 바와 같이, N-gram 콘볼루션 필터(732)를 사용하지 않는 경우(도 8의 (a))와 대비할 때, N-gram 콘볼루션 필터(732)를 사용하는 경우(도 8의 (b)), 단어1과 단어2가 믹싱되고, 태깅 대상 다의어와 단어 4가 믹싱되는 등 입력 차원은 절반으로 크게 줄어들 수 있으며, 이에 따라 학습 및 디코딩 속도는 2개 빨라지는 등 그 효율이 크게 개선될 수 있다.
보다 구체적인 예를 들어, 텍스트에서 상기 다의어를 중심으로 12개의 단어를 산출(다의어 + 전후 각 12개 단어 = 25개 단어)하고 각 단어를 128 차원의 벡터로 변환하여 입력하는 경우 심층신경망은 128 x 25 = 3200 개를 입력받아 처리하게 되는데 반하여, 도 8에서 볼 수 있는 바와 같이 복수의 단어(M개)를 콘볼루션 연산 등을 통해 N개의 단어로 줄여줌으로써, 학습 및 디코딩에 소요되는 시간 및 전산 자원(computing resource)를 효과적으로 줄일 수 있게 된다.
마지막으로, S130 단계에서는 심층신경망의 출력값을 이용하여 다의어에 대한 개체명 연결을 수행하게 된다.
이때, 심층신경망은 다의어가 서로 다른 의미로 사용된 복수의 텍스트군을 이용하여 학습되어 텍스트에서 사용된 다의어의 의미를 구별하여 출력할 수 있도록 학습된 신경망일 수 있다.
또한, 은닉층을 거친 정보는 ReLU(Rectified Linear Unit) 등 뉴런 함수 등을 거쳐 출력층을 통해 개체명 연결 결과치를 출력할 수 있다.
이에 따라, 심층신경망의 출력층은, 도 7의 734에서 볼 수 있는 바와 같이, 서로 다른 의미로 사용되는 각 다의어 별로 구별되어 복수의 노드를 구성하는 구조를 이룰 수 있다. 예를 들어, 심층신경망의 출력층은, 다의어 "원피스"를 그 의미에 따라 나누어 "원피스(의류)"로 사용된 경우 및 "원피스(만화)"로 사용된 경우에 대응하는 별도의 노드를 포함하여 구성될 수 있다. 이에 따라, 도 7의 710의 "레이스 블라우스와 트위드 배색 원피스를 매치해 러블리한" 텍스트가 입력되는 경우, 도 7의 734에서 볼 수 있는 바와 같이 "원피스(의류)" 노드의 출력값(0.8)이 "원피스(만화)"의 출력값(0.2)보다 높게 출력되는 바, 텍스트에서 사용된 다의어 "원피스"가 "원피스(의류)"의 의미로 사용되었다고 판단하고, 상기 다의어 "원피스"에 대한 개체명 연결을 수행할 수 있게 된다.
이에 따라, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)은, 1) 태깅 대상 주변 단어들을 분산된 에너지 벡터 값으로 변환하여 임베딩층(embedding layer)으로 입력하고, 2) 이때 입력된 벡터 값은 처리에 요구되는 계산량을 줄일 수 있도록 콘볼루션 연산 등을 통해 믹싱되어 압축될 수 있으며, 3) 압축된 벡터는 은닉층(hidden layer)에 곱해지고 ReLU 함수로 비선형 활성화(non-linear activation)를 거쳐 4) 이어서 서로 다른 의미의 다의어 별로 구별되는 복수의 노드를 구비하는 출력층(output layer)과 곱해져 최종적으로 출력층(output layer)의 값으로부터 태깅 대상 다의어가 어떤 의미를 나타내는지를 판단하게 된다.
나아가, 본 발명에는 개체명 연결 시스템(100)의 성능을 최적화하기 위한 추가적인 기법들이 더 적용될 수도 있다.
먼저, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는, 종래 기술에 따라 신경망을 이용하여 개체명 연결을 수행하는 경우 학습 데이터 분포의 불균일성에 의해 다수 학습 데이터에 해당하는 다의어로 편중되어 개체명이 연결되는 문제점을 개선할 수 있다.
즉, 도 9의 표(910)에서 볼 수 있는 바와 같이 다의어의 의미별 학습 데이터의 수가 크게 차이가 나게 되는 경우(원피스_(의류) 51,099건 >> 원피스_(만화) 5,313건, 원피스_(음악그룹) 1,672건), 소수의 학습 데이터(위의 경우, 원피스_(만화), 원피스_(음악그룹))에 해당하는 경우에 대한 정확도가 떨어지는 등, 상기 다수의 학습 데이터에 해당하는 다의어(위의 경우, 원피스_(의류))로 편중되어 개체명이 연결되는 문제가 나타날 수 있다.
이에 대하여, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는 도 9의 수식(920)에서 볼 수 있는 바와 같이, 특정 다의어에 대한 학습 데이터를 샘플링함에 있어서, 개체명 연결의 정확도 등 성능이 떨어지는 결과를 보이는 다의어에 대한 샘플링 분포를 높일 수 있도록 동적으로 보정하여 다의어의 의미별 학습 데이터의 분포의 불균일성을 완화하여 줌으로써, 학습 데이터에서의 각 개체간 빈도 차이로 인해 다수 개체로 편향되는 문제를 효과적으로 개선할 수 있게 된다.
또한, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는, 도 10에서 볼 수 있는 바와 같이, 태깅 대상이 되는 다의어의 연결 후보 개체들끼리만 비교하여 순위를 산출(Ranking)하도록 함으로써, 수많은 출력 개체 클래스로 인해 학습 품질이 저하되는 문제를 효과적으로 개선할 수도 있다.
보다 구체적으로, 도 10의 출력층(1010)에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)의 출력층은 각 다의어의 서로 다른 의미에 대응되는 복수의 노드를 포함하는 구조를 이루게 되는데(예를 들어, 원피스(만화), 원피스(의류), 지민(AOA), 지민(BTS), 나비(가수), 나비(동물) 등), 다의어 ?幣퓰?에 대한 학습 과정에서 출력층의 원피스(만화), 원피스(의류) 등 다의어 ?幣퓰?에 연결될 수 있는 후보 개체(원피스(만화), 원피스(의류))들끼리만 비교하여 결과를 판단하도록 함으로써, 다수의 무관한 출력 개체(지민(AOA), 지민(BTS), 나비(가수), 나비(동물) 등)로 인한 품질 저하를 효과적으로 억제할 수 있게 된다.
보다 구체적으로, 도 10의 수식(1020)에서 볼 수 있는 바와 같이 F1 측정치(F1 measure)를 반영할 수 있는 non-differential 함수(convex 함수 등)인 f1_prior 함수를 적용하여 다의어에 대한 동일 개체 예측의 성공, 실패에 따라 손실 전파(loss propagation)을 감소 또는 증가하도록 조절하여 줌으로써, 개체명 연결의 정확도를 효과적으로 개선할 수 있다. 이에 따라, Macro F1 기준 1% 이상의 개선 효과를 달성할 수 있었다.
또한, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는, 종래 기술에 따라 신경망을 이용하여 개체명 연결을 수행하는 경우 일반 명사나 동사, 형용사 등 일반 개체(Common sense entity)로 사용될 수 있는 다의어에 대한 개체명 연결시에 정확도가 떨어질 수 있는 문제점을 개선할 수 있다.
이에 대하여, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는, 도 11에서 볼 수 있는 바와 같이, 일반 명사, 동사, 형용사 등 일반 개체를 개체명 연결이 불필요한 개체를 나타내는 클래스로 정의하여 네거티브 샘플링(Negative sampling) 기법을 적용함으로써, 일반 개체에 대한 개체명 연결 오류의 발생을 효과적으로 억제할 수 있게 된다.
이때, 본 발명에서 일반 개체라 함은, 상기 일반 명사, 동사, 형용사 등을 모두 포함하여야 하는 것은 아니며, 상기 일반 명사, 동사, 형용사 중 하나 이상을 포함하는 것으로 정의될 수 있는 바, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는 일반 명사, 동사 또는 형용사에 해당하는 일반 개체에 대한 학습 데이터를 이용하여 심층신경망을 학습시키는 경우를 폭넙게 포함한다.
즉, 도 11의 1110에서 볼 수 있는 바와 같이 일반 명사(기술과 경험을 "공유") 등의 일반 개체(Common sense entity)를 고유 명사(배우 "공유")로 잘못 인식하는 개체명 연결 오류를 방지하기 위하여, 일반 개체(Common sense entity)에 대한 네거티브 샘플링을 적용함으로써, 일반 명사 등 일반 개체에 대한 개체명 연결 오류를 효과적으로 방지할 수 있게 된다.
예를 들어, 태깅을 원하지 않는 일반 명사, 동사, 형용사 등에 대한 개체명 연결을 방지하기 위해서, 이러한 개체들을 별도의 클래스로 정의하여 학습시키고, 이 클래스로 분류된 단어에 대하여는 개체명 연결을 하지 않는 방식을 사용할 수 있다. 특히, 연결 오류가 빈번하게 발생하는 단어들에 대하여 별도의 클래스로 분류되도록 학습시킴으로써 효율적으로 태깅 오류를 방지할 수 있다.
나아가, 종래의 심층신경망(DNN) 모델에서는 다수의 다의어에 대한 개체명 연결을 위하여 곱셈 연산 등 연산량이 크게 증가하면서 처리 속도가 저하되는 문제가 나타날 수 있으나, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는 N-gram 콘볼루션 필터 등을 이용하여 입력 임베딩층(input embedding layer)을 압축시켜 연산량을 줄임으로써, 개체명 연결 작업의 처리 속도를 개선할 수도 있다.
도 12에서는 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)의 동작을 설명하고 있다. 도 12에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)은 개체명 연결 엔진(1220)을 포함하여 구성될 수 있으며, 개체명 연결 엔진(1220)은 심층신경망(Deep Neural Network, DNN) 모델 디코더(decoder) 및 단어-벡터(word vector) 모델 디코더(decoder)를 포함하여 구성될 수 있다. 본 발명에서는 심층신경망(DNN) 모델 디코더를 사용함과 동시에 단어를 벡터 형태로 변환(word to vector)하여 사용함으로써, 전산 자원을 보다 효율적으로 사용하면서도 정확한 개체명 연결을 수행할 수 있게 된다.
나아가, 본 발명의 일 실시예에 따른 개체명 연결 엔진(1220)은 심층신경망(DNN) 모델 디코더 또는 단어-벡터(word vector) 모델 디코더에서 발생할 수 있는 개체명 연결 오류를 보완하기 위한 수동 태깅 이슈 대응 모듈을 더 포함할 수 있으며, 이에 따라 학습 과정 등에서 나타날 수 있는 오류에 대하여 신속하고 효과적인 대응이 가능하게 된다.
따라서, 개체명 연결 엔진(1220)은 하나 이상의 다의어를 포함하는 텍스트(1210)를 입력받고, 상기 하나 이상의 다의어에 대한 개체명 연결을 효과적으로 수행(1250)할 수 있게 된다.
보다 구체적으로, 종래 기술에 따라 써포트 벡터 머신(Support Vector Machine, SVM)이나 로지스틱 회귀분석(Logistic Regression), 유사도 분석 기법 등을 이용하여 개체명 연결을 수행하는 경우, 구별 대상 개체명의 수가 늘어남에 따라 소요 시간의 증가와 함께 시간 대비 정확도가 떨어지는 문제가 나타날 수 있었으나, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는 심층신경망(DNN) 모델 디코더를 사용함과 동시에 단어를 벡터 형태로 변환(word to vector)하여 개체명 연결을 수행함으로써, 구별 대상 개체명의 수가 늘어나더라도 소요 시간의 증가 및 정확도의 하락을 효과적으로 억제할 수 있게 된다.
보다 구체적으로, 종래에는 각 단어에 대하여 개체 ID를 부여하기 위해 문맥 주변에서 각 개체를 잘 설명하는 단어의 존재 여부와 그 가중치 값을 사용하는 등의 기법을 사용하였으나, 이러한 경우 각 개체에 해당하는 단어가 없는 경우(Unseen word)에는 해당 개체에 대한 판단이 어려워지며, 이를 보완하기 위하여 무한정 해당 개체와 관련된 단어를 모으기도 어렵다는 문제가 따랐다. 더불어, 단순의 단어의 가중치에 대한 합을 이용하여 개체명 연결을 수행하는 경우 단어간 상관 관계나 의존 관계를 표현하는 것에도 한계가 있어 개체명 연결의 커버리지나 품질이 저하되는 문제가 나타날 수도 있었다.
이에 대하여 본 발명에서는 심층신경망(DNN) 모델을 도입하고, 상기 심층신경망(DNN) 모형의 학습 전에 단어-벡터 변환(word2vec) 방식으로 다량의 뉴스, 블로그 등을 학습하여, 다수의 단어에 대해 에너지 벡터 표현값을 얻음으로써, 단어가 모형 사전에 없는 경우(Unseen word) 등 판단이 어려운 케이스를 현저하게 줄일 수 있게 된다.
또한, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)은 학습 말뭉치 자동 구축 모듈(1230)을 이용하여 심층신경망(DNN) 모델 디코더의 학습에 필요한 학습 말뭉치를 자동으로 생성할 수 있으며, 이에 따라 보다 높은 정확도를 가지는 심층신경망(DNN) 모델 디코더를 효과적으로 구축할 수 있게 된다.
보다 구체적으로, 도 13에서는 본 발명의 일 실시예에 따른 학습 말뭉치 구축 모듈(1230)의 동작을 설명하고 있다. 도 13에서 볼 수 있는 바와 같이, 학습 말뭉치 구축 모듈(1230)은 위키 백과 등과 같은 미리 준비된 데이터 베이스로부터 서로 다른 의미로 사용된 다의어에 대응하는 키워드 등 메타 데이터를 파싱하게 된다(1310).
예를 들어, 도 13에서 볼 수 있는 바와 같이, 다의어 "여름"에 대한 메타 데이터 파싱을 통해 "상주상무프로축구단"의 "축구선수"인 "여름"과 "그룹 우주소녀"의 멤버로서 "가수"인 "여름" 등에 대한 메타 데이터를 얻을 수 있게 된다.
이어서, 학습 말뭉치 구축 모듈(1230)은 생성된 메타 데이터를 이용하여 규칙(Rule) 기반 질의(Query) 생성 등을 통해 각 개체(entity)에 대한 검색식 등을 생성하게 된다(1320).
예를 들어, 상기 규칙(Rule)으로서 성명과 직업, 성명과 소속단체 등의 적절한 규칙을 적용할 수 있으며, 이에 따라 "축구선수" "여름"에 대해서는 "여름, 광주FC, 축구선수, NOT(가수)" 등의 검색어를 포함하는 검색식을 생성할 수 있으며, "가수" "여름"에 대해서는 "여름, 우주소녀, 스타쉽엔터테인먼트, NOT(선수)" 등의 검색어를 포함하는 검색식을 생성할 수 있게 된다.
이에 따라, 상기 학습 말뭉치 구축 모듈(1230)은 생성된 각 검색식을 이용하여 웹, 뉴스, 블로그 등의 문서를 검색하여 "축구선수"인 "여름" 및 "가수"인 "여름" 등 각 다의어에 대한 학습 데이터를 생성할 수 있게 된다(1330).
이를 통해, 본 발명에 따른 학습 말뭉치 구축 모듈(1230)은 다수의 다의어에 대한 다량의 학습 데이터를 효과적으로 생성함으로써, 높은 정확도를 가지는 심층신경망(DNN) 모델 디코더를 효과적으로 구축할 수 있게 된다.
나아가, 도 14에서는 본 발명의 일 실시예에 따른 개체명 연결 엔진(1410)의 구성을 보다 자세하게 설명하고 있다.
도 14에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 개체명 연결 엔진(1410)은 토크나이저(Tokenizer)(1411), 심층신경망 모델(DNN model)(1412), 거리기반 단어-벡터 모델(Distance based word vector model)(1413), 후처리부(1414) 및 리소스부(1415)를 포함하여 구성될 수 있다.
토크나이저(1411)에서는 주어진 텍스트를 분석하여 형태소 등으로 분류하게 된다.
이어서, 심층신경망 모델(1412)에서는 분류된 형태소 등을 입력받아 상기 텍스트에서 사용된 다의어에 대한 개체명 연결을 수행하게 된다.
또한, 거리기반 단어-벡터 모델(1413)에서는 텍스트 내에서 제1 단어를 벡터로 변환함에 있어서, 텍스트에 포함되는 제2 단어 및 상기 제2 단어와의 거리를 고려하여 상기 제1 단어에 대한 벡터를 산출하게 된다.
또한, 후처리부(1414)에서는 심층신경망 모델(1412) 및 거리기반 단어-벡터 모델(1413)에서 산출된 결과물에 대한 후처리를 수행하게 된다.
본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는 심층신경망(DNN) 모델(1412)로 분류하기 어려운 개체들을 기구축된 데이터베이스(1415) 등을 이용해 거리기반 단어-벡터 모델(1413) 등을 이용하여 개체명 연결을 수행할 수도 있다.
보다 구체적으로, 도 15에서는 거리기반 단어-벡터 모델(Distance based word vector model)(1413) 및 후처리부(1414)의 동작을 보다 자세하게 설명하고 있다.
도 15에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 거리기반 단어-벡터 모델(1413)에서는 주어진 텍스트 내의 개체명 연결 대상 단어에 대하여 주변 단어들과의 관계 및 문장 내에서의 거리를 고려하여 분석에 활용할 수 있다. 구체적으로, ‘김과장’이라는 드라마에 ‘정혜성’이라는 연기자가 출연하여 ‘홍가은’이라는 배역을 맡은 경우, ‘김과장’을 분석할 때 주변에 ‘정혜성’과 ‘홍가은’이라는 단어가 나타나는 점을 이용하여 회사에서의 직급을 나타내는 ‘김과장’ 이 아닌 드라마 ‘김과장’임을 알 수 있다.
이때 각 단어들간의 거리는 가중치로 사용될 수 있다. 마찬가지로, ‘정혜성’을 분석할 경우, 앞의 ‘김과장’ 과 뒤의 ‘홍가은’을 고려하여 ‘정혜성’을 연기자 정혜성으로 결정할 수 있다. 이러한 방법을 이용하여, ‘홍가은’ 이라는 단어가 등록되거나 학습되지 않은 경우라도 ‘홍가은’을 캐릭터로 태깅할 수 있다.
보다 구체적인 예를 들어, 도 15에서 볼 수 있는 바와 같이, 주어진 텍스트(1510)에서 "정해성"이라는 다의어에 대한 개체명 연결을 수행하는 경우, 거리기반 단어-벡터 모델은 기구축된 데이터베이스(1520) 등을 이용하여 드라마 "김과장"에 대응하는 키워드들(도 15에서 "김과장", "정해성", "홍가은" 등)을 산출할 수 있고, 텍스트(1510)에서 개체명 연결 대상 단어인 "김과장"을 기준으로 "정해성", "홍가은" 등의 거리를 고려해 가중치를 부여하여 상기 "김과장"이 회사에서의 직급을 나타내는 "김과장"이 아닌 드라마 "김과장" 임을 판단할 수 있다.
나아가, 텍스트(1510)에 포함된 다른 다의어인 "원피스"에 대한 개체명 연결을 수행함에 있어서는, 상기 심층신경망 모델(1530)을 이용하여 개체명 연결을 수행할 수도 있는 바, 개체명 연결 대상 단어에 따른 거리기반 단어-벡터 모델(1413) 및 심층신경망 모델(1530)의 정확도나, 개체명 연결에 소요되는 시간 및 전산 자원 등을 고려하여 거리기반 단어-벡터 모델(1413) 및 심층신경망 모델(1530)을 선택적으로 적용할 수도 있으며, 필요에 따라서는 거리기반 단어-벡터 모델(1413) 및 심층신경망 모델(1530)의 결과치를 모두 고려하여 개체명 연결을 수행함으로써 그 정확도를 더욱 개선하는 것도 가능하다.
이어서, 후처리부(1414)에서는 거리기반 단어-벡터 모델(1413) 및 신경망 모델(1530)의 결과치 중 하나를 고려하거나, 둘을 모두 산출하여 비교하는 등의 방법으로(1540), 다의어에 대한 개체명 연결을 수행하게 된다(1550).
이에 따라, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는 "CPU" 기반으로도 1코어당 수백TPS의 성능을 낼 수 있고, 수천만개 수준의 개체(entity)에 대한 태깅도 가능하며, 이때 F1 결과치도 88% 이상의 성능을 가질 수 있다.
또한, 본 발명의 또 다른 측면에 따른 컴퓨터 프로그램은 앞서 살핀 개체명 연결 방법의 각 단계를 컴퓨터에서 실행시키기 위하여 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램인 것을 특징으로 한다. 상기 컴퓨터 프로그램은 컴파일러에 의해 만들어지는 기계어 코드를 포함하는 컴퓨터 프로그램뿐만 아니라, 인터프리터 등을 사용해서 컴퓨터에서 실행될 수 있는 고급 언어 코드를 포함하는 컴퓨터 프로그램일 수도 있다. 이때, 상기 컴퓨터로서는 퍼스널 컴퓨터(PC)나 노트북 컴퓨터 등에 한정되지 아니하며, 서버, 스마트폰, 태블릿 PC, PDA, 휴대전화 등 중앙처리장치(CPU)를 구비하여 컴퓨터 프로그램을 실행할 수 있는 일체의 정보처리 장치를 포함한다.
또한, 상기 컴퓨터로 판독 가능한 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
또한, 도 16에서는 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)의 구성도를 예시하고 있다.
도 16에서 볼 수 있는 바와 같이 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)은 단어-벡터 변환부(110), 신경망 입력부(120) 및 개체명 연결부(130)를 포함하여 구성될 수 있다.
아래에서는 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)을 각 구성요소 별로 나누어 살핀다. 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에 대한 보다 자세한 내용은 앞서 설명한 본 발명의 일 실시예에 따른 개체명 연결 방법에 대한 설명으로부터 유추될 수 있는 바, 아래에서 보다 자세한 설명은 생략한다.
먼저, 단어-벡터 변환부(110)에서는 텍스트에서 다의어를 포함하는 복수의 단어를 각 대응하는 복수의 벡터로 변환하게 된다.
이어서, 신경망 입력부(120)에서는 상기 복수의 벡터를 은닉층을 구비하는 심층신경망에 입력하게 된다.
마지막으로, 개체명 연결부(130)에서는 심층신경망의 출력값을 이용하여 상기 다의어에 대한 개체명 연결을 수행하게 된다.
이때, 심층신경망은 상기 다의어가 서로 다른 의미로 사용된 복수의 텍스트군을 이용하여 학습된 신경망일 수 있다.
나아가, 본 발명의 일 실시예에 따른 개체명 연결 시스템(100)에서는, 변환된 벡터 M개를 복수개 단위로 묶어 연산하여 N개의 벡터로 산출(여기서, M>N)하여 처리할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명에 기재된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의해서 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10a, 10b : 단말
20 : 통신 네트워크
30 : 데이터베이스
100 : 개체명 연결 시스템
110 : 단어-벡터 변환부
120 : 신경망 입력부
130 : 개체명 연결부

Claims (12)

  1. 텍스트에 포함되는 다의어에 대하여 개체명 연결을 수행하는 방법에 있어서,
    개체명 연결 시스템이, 상기 텍스트에서 상기 다의어를 포함하는 복수의 단어를 각 대응하는 복수의 벡터로 변환하는 단어-벡터 변환 단계;
    상기 복수의 벡터를 은닉층을 구비하는 심층신경망에 입력하는 신경망 입력 단계; 및
    상기 심층신경망의 출력값을 이용하여 상기 다의어에 대한 개체명 연결을 수행하는 개체명 연결 단계;를 포함하는 것을 특징으로 하는 개체명 연결 방법.
  2. 제1항에 있어서,
    상기 단어-벡터 변환 단계에서는,
    상기 텍스트 내에서 상기 다의어를 기준으로 미리 정해진 거리 이내의 복수의 단어를 선정한 후, 상기 복수의 단어에 대한 각 벡터를 산출하는 것을 특징으로 하는 개체명 연결 방법.
  3. 제1항에 있어서,
    상기 변환된 벡터 M개를 복수개 단위로 묶어 연산하여 N개의 벡터로 산출(여기서, M>N)하여 처리하는 것을 특징으로 하는 개체명 연결 방법.
  4. 제1항에 있어서,
    상기 심층신경망을 상기 다의어가 서로 다른 의미로 사용된 복수의 텍스트군을 이용하여 학습시키는 심층신경망 학습 단계를 더 포함하는 것을 특징으로 하는 개체명 연결 방법.
  5. 제4항에 있어서,
    상기 심층신경망 학습 단계는,
    기구축된 데이터베이스를 이용하여 상기 다의어의 복수의 의미에 대응하는 각 키워드를 산출하는 단계;
    상기 키워드를 이용하여 상기 다의어가 상기 각 복수의 의미로 사용된 텍스트들을 검출하는 단계; 및
    상기 검출된 텍스트들을 이용하여 상기 심층신경망을 학습하는 단계;를 포함하는 것을 특징으로 하는 개체명 연결 방법.
  6. 제4항에 있어서,
    상기 복수의 텍스트군에서 상기 심층신경망을 학습시킬 텍스트를 선택함에 있어서,
    상기 각 텍스트군에서의 개체명 연결 결과를 고려하여 상기 각 텍스트군에서 학습시킬 텍스트로 선택되는 비율을 조절하는 것을 특징으로 하는 개체명 연결 방법.
  7. 제4항에 있어서,
    상기 심층신경망을 학습시킴에 있어서,
    상기 다의어의 서로 다른 의미에 대응되는 출력층의 복수의 노드 간의 출력치를 비교하여 손실 전파(loss propagation) 값을 조절하는 것을 특징으로 하는 개체명 연결 방법.
  8. 제4항에 있어서,
    상기 심층신경망 학습 단계는,
    상기 다의어 중 일반 명사, 동사 또는 형용사에 해당하는 일반 개체(common sense entity)에 대한 학습 데이터를 이용하여 상기 심층신경망을 학습시키는 단계를 포함하는 것을 특징으로 하는 개체명 연결 방법.
  9. 제1항에 있어서,
    상기 텍스트 내에 위치하는 제1 단어에 대하여,
    상기 텍스트에 포함되는 제2 단어와의 상관 관계 및 상기 제1 단어와 상기 제2 단어 간의 거리를 고려하여 상기 제1 단어에 대한 개체명 연결을 수행하는 것을 특징으로 하는 개체명 연결 방법.
  10. 제1항에 있어서,
    상기 심층신경망의 출력층은,
    서로 다른 의미로 사용된 각 다의어 별로 구별되는 복수의 노드를 포함하는 구조를 가지는 것을 특징으로 하는 개체명 연결 방법.
  11. 컴퓨터에서 제1항 내지 제10항 중 어느 한 항에 기재된 각 단계를 실행시키기 위한 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램.
  12. 텍스트에 포함되는 다의어에 대하여 개체명 연결을 수행하는 개체명 연결 시스템에 있어서,
    상기 텍스트에서 상기 다의어를 포함하는 복수의 단어를 각 대응하는 복수의 벡터로 변환하는 단어-벡터 변환부;
    상기 복수의 벡터를 은닉층을 구비하는 심층신경망에 입력하는 신경망 입력부; 및
    상기 심층신경망의 출력값을 이용하여 상기 다의어에 대한 개체명 연결을 수행하는 개체명 연결부;를 포함하는 것을 특징으로 하는 개체명 연결 시스템.
KR1020170146715A 2017-04-06 2017-11-06 개체명 연결 방법, 장치, 시스템 및 컴퓨터 프로그램 KR102053419B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190158194A KR102315181B1 (ko) 2017-04-06 2019-12-02 개체명 연결 방법, 장치, 시스템 및 컴퓨터 프로그램

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170045002 2017-04-06
KR1020170045002 2017-04-06

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020190158194A Division KR102315181B1 (ko) 2017-04-06 2019-12-02 개체명 연결 방법, 장치, 시스템 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20180113444A true KR20180113444A (ko) 2018-10-16
KR102053419B1 KR102053419B1 (ko) 2019-12-09

Family

ID=64132818

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020170146715A KR102053419B1 (ko) 2017-04-06 2017-11-06 개체명 연결 방법, 장치, 시스템 및 컴퓨터 프로그램
KR1020190158194A KR102315181B1 (ko) 2017-04-06 2019-12-02 개체명 연결 방법, 장치, 시스템 및 컴퓨터 프로그램

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020190158194A KR102315181B1 (ko) 2017-04-06 2019-12-02 개체명 연결 방법, 장치, 시스템 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (2) KR102053419B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200058263A (ko) * 2018-11-13 2020-05-27 울산과학기술원 신경망 기반 자동 슬롯 채우기 기술 및 장치
CN112560466A (zh) * 2020-12-24 2021-03-26 北京百度网讯科技有限公司 链接实体关联方法、装置、电子设备和存储介质
CN113297852A (zh) * 2021-07-26 2021-08-24 北京惠每云科技有限公司 一种医学实体词的识别方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101255957B1 (ko) 2011-12-09 2013-04-24 포항공과대학교 산학협력단 개체명 태깅 방법 및 장치
KR101508070B1 (ko) * 2013-12-17 2015-04-07 울산대학교 산학협력단 어휘지도를 이용한 용언의 다의어 의미 분석 방법
KR20150050140A (ko) * 2013-10-31 2015-05-08 한국전자통신연구원 코퍼스 자동 구축 방법 및 이를 이용한 개체명 인식 방법과 장치
US20150363688A1 (en) * 2014-06-13 2015-12-17 Microsoft Corporation Modeling interestingness with deep neural networks
KR20160058531A (ko) * 2014-11-17 2016-05-25 포항공과대학교 산학협력단 딥 러닝을 이용하는 구문 분석 모델 구축 방법 및 이를 수행하는 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4227797B2 (ja) * 2002-05-27 2009-02-18 株式会社リコー 類義語検索装置、それによる類義語検索方法、類義語検索プログラム及び記憶媒体
US8112402B2 (en) * 2007-02-26 2012-02-07 Microsoft Corporation Automatic disambiguation based on a reference resource
KR100884200B1 (ko) * 2007-06-29 2009-02-18 이화여자대학교 산학협력단 태그의 의미 식별자에 기초하여 콘텐츠를 관리하는 콘텐츠관리 시스템 및 방법
KR100989581B1 (ko) * 2010-04-28 2010-10-25 한국과학기술정보연구원 개체명 사전 및 마이닝 규칙이 결합된 온톨로지 스키마를 이용한 리소스 기술 프레임워크 네트워크 구축 장치 및 방법
KR101562279B1 (ko) * 2013-09-16 2015-10-30 고려대학교 산학협력단 사용자 의도 추론에 기반한 휴대용 단말 장치 및 이를 이용한 컨텐츠 추천 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101255957B1 (ko) 2011-12-09 2013-04-24 포항공과대학교 산학협력단 개체명 태깅 방법 및 장치
KR20150050140A (ko) * 2013-10-31 2015-05-08 한국전자통신연구원 코퍼스 자동 구축 방법 및 이를 이용한 개체명 인식 방법과 장치
KR101508070B1 (ko) * 2013-12-17 2015-04-07 울산대학교 산학협력단 어휘지도를 이용한 용언의 다의어 의미 분석 방법
US20150363688A1 (en) * 2014-06-13 2015-12-17 Microsoft Corporation Modeling interestingness with deep neural networks
KR20160058531A (ko) * 2014-11-17 2016-05-25 포항공과대학교 산학협력단 딥 러닝을 이용하는 구문 분석 모델 구축 방법 및 이를 수행하는 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200058263A (ko) * 2018-11-13 2020-05-27 울산과학기술원 신경망 기반 자동 슬롯 채우기 기술 및 장치
CN112560466A (zh) * 2020-12-24 2021-03-26 北京百度网讯科技有限公司 链接实体关联方法、装置、电子设备和存储介质
CN112560466B (zh) * 2020-12-24 2023-07-25 北京百度网讯科技有限公司 链接实体关联方法、装置、电子设备和存储介质
CN113297852A (zh) * 2021-07-26 2021-08-24 北京惠每云科技有限公司 一种医学实体词的识别方法和装置

Also Published As

Publication number Publication date
KR20190138623A (ko) 2019-12-13
KR102053419B1 (ko) 2019-12-09
KR102315181B1 (ko) 2021-10-21

Similar Documents

Publication Publication Date Title
US10360307B2 (en) Automated ontology building
Bharti et al. Sarcastic sentiment detection in tweets streamed in real time: a big data approach
WO2018049960A1 (zh) 一种为文本信息匹配资源的方法及装置
CN106960030B (zh) 基于人工智能的推送信息方法及装置
US20130060769A1 (en) System and method for identifying social media interactions
CN111046221A (zh) 歌曲推荐方法、装置、终端设备以及存储介质
CN111159409B (zh) 基于人工智能的文本分类方法、装置、设备、介质
KR20150130214A (ko) 텍스트를 포함하는 문서 분류 및 분석 방법 및 이를 수행하는 문서 분류 및 분석 장치
Cordobés et al. Graph-based techniques for topic classification of tweets in Spanish
US20210374168A1 (en) Semantic cluster formation in deep learning intelligent assistants
KR102315181B1 (ko) 개체명 연결 방법, 장치, 시스템 및 컴퓨터 프로그램
CN113095080A (zh) 基于主题的语义识别方法、装置、电子设备和存储介质
Li et al. Wikipedia based short text classification method
US8046361B2 (en) System and method for classifying tags of content using a hyperlinked corpus of classified web pages
Celikyilmaz et al. An empirical investigation of word class-based features for natural language understanding
KR101602342B1 (ko) 의미 태깅된 자연어 질의의 의도에 부합하는 정보 추출 및 제공 방법 및 시스템
Sarika et al. Hindi word sense disambiguation using cosine similarity
Kalloubi et al. Graph based tweet entity linking using DBpedia
Jiang et al. A semantic-based approach to service clustering from service documents
Manju Priya et al. Two-phase machine learning approach for extractive single document summarization
Todor et al. Enriching topic models with DBpedia
Sharma et al. Keyword Extraction Using Graph Centrality and WordNet
Weiland et al. Using object detection, NLP, and knowledge bases to understand the message of images
Sijin et al. Fuzzy conceptualization of the search queries
JP2001101184A (ja) 構造化文書生成方法及び装置及び構造化文書生成プログラムを格納した記憶媒体

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