KR20180094664A - 텍스트 데이터로부터 정보를 추출하기 위한 정보 추출 방법 및 장치 - Google Patents
텍스트 데이터로부터 정보를 추출하기 위한 정보 추출 방법 및 장치 Download PDFInfo
- Publication number
- KR20180094664A KR20180094664A KR1020170021100A KR20170021100A KR20180094664A KR 20180094664 A KR20180094664 A KR 20180094664A KR 1020170021100 A KR1020170021100 A KR 1020170021100A KR 20170021100 A KR20170021100 A KR 20170021100A KR 20180094664 A KR20180094664 A KR 20180094664A
- Authority
- KR
- South Korea
- Prior art keywords
- morpheme
- entity
- sentence
- type
- information
- Prior art date
Links
Images
Classifications
-
- G06F17/2785—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
-
- G06F17/2755—
-
- G06F17/3061—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/268—Morphological analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
텍스트 데이터의 정보 추출 방법 및 장치가 개시된다. 본 발명은 텍스트 데이터로부터 정보를 추출하는 장치에서 수행되는 정보 추출 방법으로서, 텍스트 데이터에 포함된 문장의 형태소 및 품사를 분석하여 제1 개체 및 제2 개체를 결정하는 단계, 문장의 형태소 및 품사를 분석한 결과와 제1 개체 및 제2 개체의 문맥을 분석하여 문장의 문맥 정보를 생성하는 단계, 문장의 문맥 정보를 통해 제1 개체 및 제2 개체 간의 관계를 나타내는 관계어를 생성하는 단계 및 제1 개체, 제2 개체 및 관계어를 기반으로 문장의 트리플을 생성하는 단계를 포함한다.
Description
본 발명은 텍스트 데이터에서 정보를 추출하는 기술에 관한 것으로, 더욱 상세하게는 구조화되지 않은 텍스트 데이터에서 신경망을 기반으로 정보를 추출하는 방법 및 장치에 관한 것이다.
인터넷(Internet)에 존재하는 웹 문서(web document)에는 많은 텍스트 데이터(text data)가 존재하고, 이와 같은 대부분의 텍스트 데이터는 정보를 기술하는 구조(structure) 또는 스키마(schema)를 포함하지 않는다. 즉, 웹 문서는 대부분의 비구조화(unstructured)된 텍스트 데이터로 구성된다. 예를 들어, 어떤 텍스트 데이터에 두 개의 개체(entity)가 포함되어 있고, 두 개의 개체 사이의 관계(relation)를 나타내는 동사구 또는 명사구가 있을 때, 비구조화된 텍스트 데이터는 해당 관계를 나타내는 구조가 기술되어 있지 않기 때문에 컴퓨터가 이러한 관계 정보를 직접 활용하는데 어려움을 겪게 된다. 이러한, 웹 문서 상의 비구조화된 텍스트 데이터의 규모는 계속적으로 증가하고 있다.
이에 따라, 비구조화된 텍스트 데이터는 그 의미가 명확하지 않기 때문에, 개방형 정보 추출(open information extraction) 기술과 같이 정보를 추출하기 위한 추가적인 처리를 거친 후에 여러 응용프로그램(application program)에서 사용 될 수 있다. 즉, 개방형 정보 추출(open information extraction) 기술은 비구조화된 텍스트 데이터에서 구조화된 텍스트 데이터를 추출하는 기술을 의미한다. 구체적으로, 개방형 정보 추출 기술은 비구조화된 텍스트 데이터에서 트리플(triple)을 추출하는 기술이다.
여기서, 트리플은 2개의 개체(entity)와 그 사이의 관계(relation)로 구성되며, 지식 베이스(knowledge base)를 구성하는 단위를 의미한다. 이를 통해, 개방형 정보 추출 기술을 기반으로 구축된 지식 베이스는 추후에 사용자의 질문에 대한 정답을 도출해주는 질의응답(question answering) 시스템 등의 응용프로그램에서 사용될 수 있다.
기존의 개방형 정보추출 기술은 언어 구조에 기반한 패턴을 이용하여 트리플을 추출하였다. 이러한 언어 구조에 기반한 패턴은 개발자에 의해 직접 만든 규칙 또는 다량의 데이터에서 빈번하게 나타나는 문장 구조를 이용한 것이다. 하지만, 언어 구조에 기반한 패턴은 보통의 자연어 문장에서 자주 나타나는 것을 수집한 것이기 때문에 단순한 문장에 대해서는 트리플을 정확히 추출할 수 있으나, 문장의 구조가 복잡한 문장에서는 트리플 추출의 어려움이 있다.
또한, 언어 구조에 기반한 패턴을 수집하는 과정은 전문적인 지식이 필요하기 때문에 비전문가 인력을 활용하여 패턴을 확장하는데 어려움이 있다. 그리고, 기존의 개방형 정보 추출 기술은 의존 구문 분석이나 의미역 결정 같은 특정한 언어의 종속적인 기술을 이용한다. 그로 인해, 개방형 정보 추출 기술이 적용되는 시스템의 입력 언어가 바뀔 때 마다, 특정 언어에 종속된 기술들을 모두 교체해야 하는 문제가 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 웹 문서 상에 존재하는 비구조화된 텍스트 데이터에서 신경망을 기반으로 트리플의 추출이 가능한 신경망 기반의 정보 추출 방법 및 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법은 텍스트 데이터(text data)로부터 정보를 추출하는 장치에서 수행되는 정보 추출 방법으로서, 상기 텍스트 데이터에 포함된 문장의 형태소 및 품사를 분석하여 제1 개체(entity) 및 제2 개체를 결정하는 단계, 상기 문장의 형태소 및 품사를 분석한 결과와 상기 제1 개체 및 상기 제2 개체의 문맥을 분석하여 상기 문장의 문맥 정보를 생성하는 단계, 상기 문장의 문맥 정보를 통해 상기 제1 개체 및 상기 제2 개체 간의 관계를 나타내는 관계어(relation)를 생성하는 단계 및 상기 제1 개체, 상기 제2 개체 및 상기 관계어를 기반으로 상기 문장의 트리플(triple)을 생성하는 단계를 포함한다.
여기서, 상기 문맥 정보는 상기 문장에 포함된 복수의 형태소들 각각을 형태소에 의한 문맥적 의미, 품사에 의한 문맥적 의미 및 개체 여부에 의한 문맥적 의미를 포함하는 벡터로 변환하여 생성될 수 있다.
여기서, 상기 관계어를 생성하는 단계는 상기 문맥 정보를 기반으로 상기 문장에 포함된 복수의 형태소들 중 상기 제1 개체 및 상기 제2 개체의 문맥적 의미에 상응하는 적어도 하나의 형태소를 포함하는 제1 유형의 형태소를 선택하는 단계, 상기 제1 유형의 형태소와 결합 가능한 형태소의 생성 확률을 기반으로 상기 제1 유형의 형태소에 대한 제2 유형의 형태소를 생성하는 단계 및 상기 제1 유형의 형태소 및 상기 제2 유형의 형태소를 결합하여 상기 관계어를 생성하는 단계를 포함할 수 있다.
여기서, 상기 제1 유형의 형태소를 선택하는 단계는 상기 제1 개체 및 상기 제2 개체의 문맥적 의미와 상기 문장에 포함된 복수의 형태소들 각각의 문맥적 의미가 부합되는 정도를 나타내는 점수(score)를 산출하는 단계 및 상기 문장에 포함된 복수의 형태소들 중 상기 점수가 미리 설정된 임계값 이상인 상기 적어도 하나의 형태소를 상기 제1 유형의 형태소로 선택하는 단계를 포함하되, 상기 점수가 미리 설정된 임계값 이상인 상기 적어도 하나의 형태소는 가장 높은 점수를 가지는 형태소의 순서대로 선택될 수 있다.
여기서, 상기 점수는 상기 제1 개체 및 상기 제2 개체의 문맥적 의미와 상기 문장에 포함된 복수의 형태소들 각각의 문맥적 의미에 상응하는 벡터에 로지스틱 함수(logistic function)을 적용하여 산출될 수 있다.
여기서, 상기 텍스트 데이터의 정보 추출 방법은 상기 제1 유형의 형태소에 포함된 상기 적어도 하나의 형태소의 점수 중에서 가장 낮은 점수를 상기 적어도 하나의 형태소를 기반으로 형성되는 관계어의 신뢰도로 산출하는 단계를 더 포함할 수 있다.
여기서, 상기 제2 유형의 형태소를 생성하는 단계는 상기 정보를 추출하는 장치의 데이터베이스에 포함된 복수의 형태소들 중 상기 제1 유형의 형태소와 결합 가능한 형태소의 생성 확률을 산출하는 단계, 상기 산출된 생성 확률이 가장 큰 형태소를 선택하는 단계 및 상기 선택된 형태소를 상기 제1 유형의 형태소와 결합되는 상기 제2 유형의 형태소로 생성하는 단계를 포함할 수 있다.
여기서, 상기 생성 확률은 상기 제1 유형의 형태소의 문맥적 의미에 상응하는 벡터에 소프트맥스 함수(softmax function)를 적용하여 산출될 수 있다.
여기서, 상기 텍스트 데이터 정보 추출 방법은 상기 문장의 형태소 및 품사를 분석한 결과와 상기 트리플의 형태소 및 품사를 분석한 결과의 비교를 기반으로 교사 학습(supervised learning)을 수행하는 단계를 더 포함할 수 있다.
여기서, 상기 교사 학습을 수행하는 단계는 상기 트리플의 관계어에 포함된 형태소 중 기능적 역할을 수행하는 품사에 해당하는 형태소를 제1 목록에 저장하는 단계, 상기 트리플의 관계어에 포함된 형태소 중 상기 제1 목록에 포함되지 않은 적어도 하나의 형태소와 동일한 형태소가 상기 문장에 존재하는 지를 판단하는 단계 및 상기 적어도 하나의 형태소 중 상기 문장에 존재하는 형태소를 제2 목록에 저장하는 단계를 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 텍스트 데이터의 정보 추출 장치는 텍스트 데이터(text data)로부터 정보를 추출하는 방법을 수행하는 텍스트 데이터의 정보 추출 장치로서, 텍스트 데이터(text data)로부터 정보를 추출하는 방법을 수행하는 텍스트 데이터의 정보 추출 장치로서, 프로세서(processor) 및 상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고, 상기 적어도 하나의 명령은 상기 텍스트 데이터에 포함된 문장의 형태소 및 품사를 분석하여 제1 개체(entity) 및 제2 개체를 결정하고, 상기 문장의 형태소 및 품사를 분석한 결과와 상기 제1 개체 및 상기 제2 개체의 문맥을 분석하여 상기 문장의 문맥 정보를 생성하고, 상기 문장의 문맥 정보를 통해 상기 제1 개체 및 상기 제2 개체 간의 관계를 나타내는 관계어(relation)를 생성하고, 그리고 상기 제1 개체, 상기 제2 개체 및 상기 관계어를 기반으로 상기 문장의 트리플(triple)을 생성하도록 실행된다.
여기서, 상기 문맥 정보는 상기 문장에 포함된 복수의 형태소들 각각을 형태소에 의한 문맥적 의미, 품사에 의한 문맥적 의미 및 개체 여부에 의한 문맥적 의미를 포함하는 벡터로 변환하여 생성될 수 있다.
여기서, 상기 적어도 하나의 명령은 상기 관계어를 생성하는 과정에서, 상기 문맥 정보를 기반으로 상기 문장에 포함된 복수의 형태소들 중 상기 제1 개체 및 상기 제2 개체의 문맥적 의미에 상응하는 적어도 하나의 형태소를 포함하는 제1 유형의 형태소를 선택하고, 상기 제1 유형의 형태소와 결합 가능한 형태소의 생성 확률을 기반으로 상기 제1 유형의 형태소에 대한 제2 유형의 형태소를 생성하고, 그리고 상기 제1 유형의 형태소 및 상기 제2 유형의 형태소를 결합하여 상기 관계어를 생성하도록 실행될 수 있다.
여기서, 상기 적어도 하나의 명령은 상기 제1 유형의 형태소를 선택하는 과정에서, 상기 제1 개체 및 상기 제2 개체의 문맥적 의미와 상기 문장에 포함된 복수의 형태소들 각각의 문맥적 의미가 부합되는 정도를 나타내는 점수(score)를 산출하고, 그리고 상기 문장에 포함된 복수의 형태소들 중 상기 점수가 미리 설정된 임계값 이상인 상기 적어도 하나의 형태소를 상기 제1 유형의 형태소로 선택하도록 실행되고, 상기 점수가 미리 설정된 임계값 이상인 상기 적어도 하나의 형태소는 가장 높은 점수를 가지는 형태소의 순서대로 선택될 수 있다.
여기서, 상기 점수는 상기 제1 개체 및 상기 제2 개체의 문맥적 의미와 상기 문장에 포함된 복수의 형태소들 각각의 문맥적 의미에 상응하는 벡터에 로지스틱 함수(logistic function)을 적용하여 산출될 수 있다.
여기서, 상기 적어도 하나의 명령은 상기 제1 유형의 형태소에 포함된 상기 적어도 하나의 형태소의 점수 중에서 가장 낮은 점수를 상기 적어도 하나의 형태소를 기반으로 형성되는 관계어의 신뢰도로 산출하도록 더 실행될 수 있다.
여기서, 상기 적어도 하나의 명령은 상기 제2 유형의 형태소를 생성하는 과정에서, 상기 정보를 추출하는 장치의 데이터베이스에 포함된 복수의 형태소들 중 상기 제1 유형의 형태소와 결합 가능한 형태소의 생성 확률을 산출하고, 상기 산출된 생성 확률이 가장 큰 형태소를 선택하고, 그리고 상기 선택된 형태소를 상기 제1 유형의 형태소와 결합되는 상기 제2 유형의 형태소로 생성하도록 실행될 수 있다.
여기서, 상기 생성 확률은 상기 제1 유형의 형태소의 문맥적 의미에 상응하는 벡터에 소프트맥스 함수(softmax function)를 적용하여 산출될 수 있다.
여기서, 상기 적어도 하나의 명령은 상기 문장의 형태소 및 품사를 분석한 결과와 상기 트리플의 형태소 및 품사를 분석한 결과의 비교를 기반으로 교사 학습(supervised learning)을 수행하도록 더 실행될 수 있다.
여기서, 상기 적어도 하나의 명령은 상기 교사 학습을 수행하는 과정에서, 상기 트리플의 관계어에 포함된 형태소 중 기능적 역할을 수행하는 품사에 해당하는 형태소를 제1 목록에 저장하고, 상기 트리플의 관계어에 포함된 형태소 중 상기 제1 목록에 포함되지 않은 적어도 하나의 형태소와 동일한 형태소가 상기 문장에 존재하는 지를 판단하고, 그리고 상기 적어도 하나의 형태소 중 상기 문장에 존재하는 형태소를 제2 목록에 저장하도록 실행될 수 있다.
본 발명에 의하면, 웹 문서 상에 존재하는 비구조화된 텍스트 데이터에서 신경망을 기반으로 정확도가 높은 트리플을 효율적으로 추출할 수 있는 효과가 있고, 이를 통해 질의 응답 시스템과 같은 응용프로그램에 적용되는 지식 베이스를 구축할 수 있다.
또한, 본 발명에 의하면, 질의 응답 시스템에 적용되는 지식베이스에 포함된 트리플의 정확도를 향상시킴으로써, 사용자에게 제공되는 질의 응답 서비스에 대한 성능을 향상시킬 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법을 수행하는 정보 추출 장치를 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법이 응용 프로그램에 적용되는 과정을 도시한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법을 도시한 개념도이다.
도 4는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 트리플의 관계어 및 신뢰도를 산출하는 방법을 도시한 개념도이다.
도 5는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 교사 학습을 위한 훈련 데이터를 구축하는 방법을 도시한 개념도이다.
도 6은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법을 도시한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 문맥 정보를 생성하는 방법을 도시한 개념도이다.
도 8은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 관계어를 생성하는 방법을 도시한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 복수의 형태소들로 구성된 개체의 의미를 선택하는 제1 실시예를 도시한 개념도이다.
도 10은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 복수의 형태소들로 구성된 개체의 의미를 선택하는 제2 실시예를 도시한 개념도이다.
도 11은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 제1 개체 및 제2 개체의 의미를 표현하는 벡터를 생성하는 방법을 도시한 개념도이다.
도 12는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 상태를 갱신하는 방법을 도시한 개념도이다.
도 13은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 제1 유형의 형태소를 선택하는 방법을 도시한 흐름도이다.
도 14는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 제2 유형의 형태소를 생성하는 방법을 도시한 흐름도이다.
도 15는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 형태소의 생성 확률 및 신뢰도를 산출하는 방법을 도시한 개념도이다.
도 16은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 교사 학습을 위한 훈련 데이터를 구축하는 방법을 도시한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법이 응용 프로그램에 적용되는 과정을 도시한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법을 도시한 개념도이다.
도 4는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 트리플의 관계어 및 신뢰도를 산출하는 방법을 도시한 개념도이다.
도 5는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 교사 학습을 위한 훈련 데이터를 구축하는 방법을 도시한 개념도이다.
도 6은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법을 도시한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 문맥 정보를 생성하는 방법을 도시한 개념도이다.
도 8은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 관계어를 생성하는 방법을 도시한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 복수의 형태소들로 구성된 개체의 의미를 선택하는 제1 실시예를 도시한 개념도이다.
도 10은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 복수의 형태소들로 구성된 개체의 의미를 선택하는 제2 실시예를 도시한 개념도이다.
도 11은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 제1 개체 및 제2 개체의 의미를 표현하는 벡터를 생성하는 방법을 도시한 개념도이다.
도 12는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 상태를 갱신하는 방법을 도시한 개념도이다.
도 13은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 제1 유형의 형태소를 선택하는 방법을 도시한 흐름도이다.
도 14는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 제2 유형의 형태소를 생성하는 방법을 도시한 흐름도이다.
도 15는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 형태소의 생성 확률 및 신뢰도를 산출하는 방법을 도시한 개념도이다.
도 16은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 교사 학습을 위한 훈련 데이터를 구축하는 방법을 도시한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법을 수행하는 정보 추출 장치를 도시한 블록도이다.
도 1을 참조하면, 본 발명의 텍스트 데이터의 정보 추출 방법을 수행하는 정보 추출 장치(100)는 적어도 하나의 프로세서(110), 메모리(120) 및 네트워크와 연결되어 통신을 수행하는 네트워크 인터페이스 장치(130)를 포함할 수 있다. 또한, 정보 추출 장치(100)는 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 등을 더 포함할 수 있다. 정보 추출 장치(100)에 포함된 각각의 구성 요소들은 버스(bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다.
프로세서(110)는 메모리(120) 및/또는 저장 장치(160)에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120)와 저장 장치(160)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및/또는 랜덤 액세스 메모리(random access memory, RAM)로 구성될 수 있다. 여기서, 프로세서(110)를 통해 실행되는 프로그램 명령은 본 발명에서 제안하는 텍스트 데이터의 정보 추출 방법을 수행하는 복수의 단계들을 포함할 수 있다.
이하에서는, 도 2를 참조하여 본 발명에서 제안하는 텍스트 데이터의 정보 추출 방법이 수행되는 전체적인 흐름 및 텍스트 데이터의 정보 추출 방법이 질의 응답 시스템과 같은 응용 프로그램에 적용되는 일 예가 설명될 수 있다.
도 2는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법이 응용 프로그램에 적용되는 과정을 도시한 개념도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법은 정보 추출 장치(100)에서 수행될 수 있고, 이는 도 1을 참조하여 설명된 정보 추출 장치(100)와 동일할 수 있다.
먼저, 정보 추출 장치(100)는 텍스트 데이터(1)로부터 텍스트 데이터(1)에 포함된 복수의 문장들 중 정보를 추출하기 위한 문장(2)을 획득할 수 있다. 구체적으로, 정보 추출 장치(100)는 인터넷(internet)을 통해 웹(web)에 접속할 수 있고, 웹 상에 존재하는 웹 문서로부터 텍스트 데이터를 획득할 수 있다. 여기서, 텍스트데이터는 복수의 문장들을 포함하는 데이터를 의미할 수 있다.
이후, 정보 추출 장치(100)는 획득된 문장(2)에서 트리플(3)을 추출할 수 있다. 여기서, 트리플(3)은 2개의 개체(entity)들 및 2개의 개체들 간의 관계를 나타내는 관계어(relation)를 포함할 수 있고, 지식베이스(knowledge base)를 구성하는 단위를 의미할 수 있다. 이후, 정보 추출 장치(100)는 추출된 트리플(3)을 지식 베이스(200)로 전송할 수 있다. 이후, 지식베이스(200)는 사용자로부터 수신되는 질의(4)에 대한 응답(50)을 제공하는 질의 응답 시스템(300)과 연동될 수 있다. 즉, 질의 응답 시스템(300)은 사용자로부터 수신되는 질의(4)에 대하여 지식베이스(200)를 기반으로 응답(5)을 제공할 수 있다.
상술한 바와 같은 과정을 통해, 정보 추출 장치(100)는 지식베이스(200)를 구성하는 트리플(3)을 추출할 수 있고, 질의 응답 시스템(300)에 사용되는 지식베이스(200)에 트리플(3)을 제공함으로써, 지식베이스(200)를 구축할 수 있다. 본 발명에서 제안하는 정보 추출 방법은 정보 추출 장치(100)에서 트리플(3)을 추출하는 구체적인 방법에 대한 것이다.
이하에서는, 도 3 내지 도 4를 참조하여 본 발명에서 제안하는 텍스트 데이터의 정보 추출 방법을 수행하는 정보 추출 장치에 포함된 복수의 모듈들 및 각 모듈에 의해 수행되는 정보 추출 방법이 개략적으로 설명될 수 있다.
도 3은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법을 도시한 개념도이다.
도 3을 참조하면, 텍스트 데이터의 정보 추출 방법을 수행하는 정보 추출 장치(100)는 형태소 분석 및 품사 부착 모듈(101), 개체 추출 모듈(102) 및 신경망 기반 관계 추출 모듈(103)을 포함할 수 있다. 여기서, 정보 추출 장치(100)에 포함된 복수의 모듈들은 물리적인 구성일 수도 있으나, 정보 추출 장치(100)에서 수행되는 동작들의 이해를 돕기 위해 구분된 논리적인 구성을 의미할 수 있다. 즉, 정보 추출 장치(100)에 포함된 복수의 모듈들은 도 1을 참조하여 설명된 프로세서(110)에 의해 수행되는 동작들을 기능에 기초하여 구분된 논리적인 구성으로 볼 수도 있다.
먼저, 정보 추출 장치(100)는 정보를 추출하기 위한 문장(2)을 획득할 수 있다. 여기서, 문장(2)은 도 1을 참조하여 설명된 텍스트 데이터(1)에 포함된 복수의 문장들 중 하나의 문장일 수 있다. 이후, 정보 추출 장치(100)는 형태소 분석 및 품사 부착 모듈(101)을 통해 문장(2)의 형태소를 분석하고, 분석된 결과에 품사에 대한 정보를 추가할 수 있다.
이후, 정보 추출 장치(100)는 형태소 분석 및 품사 부착 모듈(101)에서 출력되는 결과를 개체 추출 모듈(102) 및 신경망 기반 관계 추출 모듈(103)로 전송되도록 형태소 분석 및 품사 부착 모듈(101)을 제어할 수 있다. 이후, 정보 추출 장치(100)는 개체 추출 모듈(102)를 통해 형태소 분석 및 품사 부착 모듈(101)의 결과에서 제1 개체(3-1) 및 제2 개체(3-2)를 추출할 수 있다. 또한, 정보 추출 장치(100)는 제1 개체(3-1) 및 제2 개체(3-2)를 신경망 기반 관계 추출 모듈(103)로 전송하도록 개체 추출 모듈(102)을 제어할 수 있다.
이후, 정보 추출 장치(100)는 신경망 기반 관계 추출 모듈(103)을 통해 제1 개체(3-1) 및 제2 개체(3-2) 간의 관계를 나타내는 관계어(3-3)를 생성할 수 있다. 즉, 정보 추출 장치(100)는 제1 개체(3-1), 제2 개체(3-2) 및 관계어(3-3)를 기반으로 트리플(3)을 생성함으로써, 문장(2)에서 트리플(3)을 추출할 수 있다. 또한, 정보 추출 장치(100)는 신경망 기반 관계 추출 모듈(103)을 통해 관계어(3-3)가 제1 개체(3-1) 및 제2 개체(3-2)와 부합되는 정도를 나타내는 신뢰도(6)을 산출할 수 있다. 정보 추출 장치(100)에서 신경망 기반 관계 추출 모듈(103)을 통해 관계어(3-3)를 생성하는 방법 및 신뢰도(6)를 산출하는 방법은 도 4를 참조하여 구체적으로 설명될 수 있다.
도 4는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 트리플의 관계어 및 신뢰도를 산출하는 방법을 도시한 개념도이다.
도 4를 참조하면, 정보 추출 장치(100)의 신경망 기반 관계 추출 모듈(103)은 문맥 분석 모듈(103-1), 초기 상태 계산 모듈(103-2), 상태 갱신 모듈(103-3), 형태소 선택 모듈(103-4), 형태소 생성 모듈(103-5) 및 신뢰도 계산 모듈(103-6)을 포함할 수 있다. 여기서, 신경망 기반 관계 추출 모듈(103)에 포함된 복수의 모듈들은 도 3에서 설명한 바와 같이, 물리적인 구성일 수도 있으나 수행되는 기능에 따라 구분된 논리적인 구성을 의미할 수도 있다.
먼저, 신경망 기반 관계 추출 모듈(103)의 문맥 분석 모듈(103-1)은 문장의 형태소 및 품사(7)와 개체 쌍의 형태소 및 품사(8)를 수신할 수 있다. 여기서, 문장의 형태소 및 품사(7)는 도 3에서 설명된 형태소 분석 및 품사 부착 모듈(101)에 의해 생성된 결과일 수 있다. 또한, 개체 쌍의 형태소 및 품사(8)는 도 3에서 설명된 개체 추출 모듈(102)에 의해 생성된 결과일 수 있다.
이후, 신경망 기반 관계 추출 모듈(103)은 문맥 분석 모듈(103-1)을 통해 문장의 형태소 및 품사(7)와 개체 쌍의 형태소 및 품사(8)의 문맥을 분석할 수 있다. 이후, 신경망 기반 관계 추출 모듈(103)은 문맥 분석 모듈(103-1)에서 분석된 문맥에 대한 정보(이하, "문맥 정보"라 함)를 초기 상태 계산 모듈(103-2)로 전송하도록 문맥 분석 모듈(103-1)을 제어할 수 있다. 또한, 신경망 기반 관계 추출 모듈(103)은 문맥 정보를 형태소 선택 모듈(103-4)로 전송하도록 문맥 분석 모듈(103-1)을 제어할 수 있다.
이에 따라, 초기 상태 계산 모듈(103-2)은 문맥 분석 모듈(103-1)로부터 문맥 정보를 수신할 수 있다. 또한, 초기 상태 계산 모듈(103-2)은 개체 추출 모듈(102)로부터 개체 쌍의 형태소 및 품사(8)를 수신할 수 있다. 이후, 초기 상태 계산 모듈(103-2)은 문맥 정보 및 개체 쌍의 형태소 및 품사(8)를 기반으로 형태소 선택을 위한 초기 상태를 계산할 수 있다. 이후, 초기 상태 계산 모듈(103-2)은 계산된 초기 상태를 상태 갱신 모듈(103-3)로 전송할 수 있다.
한편, 형태소 선택 모듈(103-4)은 문맥 분석 모듈(103-1)로부터 문맥 정보를 수신할 수 있다. 이후, 형태소 선택 모듈(103-4)은 문맥 정보를 기반으로 형태소를 선택할 수 있다. 이후, 형태소 선택 모듈(103-4)은 선택된 형태소를 상태 갱신 모듈(103-3)로 전송할 수 있다. 이에 따라, 상태 갱신 모듈(103-3)은 형태소 선택 모듈(103-4)로부터 선택된 형태소를 수신할 수 있다.
이후, 상태 갱신 모듈(103-3)은 초기 상태 및 선택된 형태소를 기반으로 선택 형태소 및 현재 상태(9)를 생성할 수 있다. 이후, 상태 갱신 모듈(103-3)은 선택 형태소 및 현재 상태(9)를 형태소 생성 모듈(103-5) 및 신뢰도 계산 모듈(103-6)로 전송할 수 있다. 이에 따라, 형태소 생성 모듈(103-5) 및 신뢰도 계산 모듈(103-6)은 상태 갱신 모듈(103-3)로부터 선택 형태소 및 현재 상태(9)를 수신할 수 있다.
먼저, 형태소 생성 모듈(103-5)은 선택 형태소 및 현재 상태(9)를 기반으로 선택된 형태소와 결합되는 형태소를 생성할 수 있다. 구체적으로, 형태소 생성 모듈(103-5)은 생성 형태소 사전(103-7)에 미리 저장된 복수의 형태소들에 기초하여 형태소를 생성할 수 있다.
한편, 신뢰도 계산 모듈(103-6)은 선택 형태소 및 현재 상태(9)를 기반으로 선택된 형태소에 대한 신뢰도를 계산할 수 있고, 계산된 신뢰도를 형태소 선택 모듈(103-4)로 전송할 수 있다. 또한, 신뢰도 계산 모듈(103-6)은 관계를 구성하는 선택된 형태소에 대해 계산된 신뢰도 중 가장 작은 값을 해당 관계의 최종 신뢰도로 출력할 수 있다. 이후, 형태소 선택 모듈(103-5)은 신뢰도 계산 모듈(103-6)로부터 신뢰도가 수신된 경우 선택된 형태소 및 생성된 형태소를 기반으로 관계어(3-3)를 생성할 수 있다.
상술한 바와 같은 과정을 통해, 본 발명에서 제안하는 텍스트 데이터의 정보 추출 방법을 수행하는 정보 추출 장치(100)는 문장(2)에서 트리플(3)을 생성할 수 있다. 이하에서는, 도 5를 참조하여 정보 추출 장치(100)에서 트리플(3)을 기반으로 교사 학습(supervised learning)을 위한 학습 데이터가 구축되는 방법이 설명될 수 있다.
도 5는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 교사 학습을 위한 훈련 데이터를 구축하는 방법을 도시한 개념도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법을 수행하는 정보 추출 장치(100)는 문장(2) 및 트리플(3)을 기반으로 교사 학습을 위한 훈련 데이터를 구축할 수 있다.
먼저, 정보 추출 장치(100)는 문장-트리플(10)을 문장(2) 및 트리플(3)로 분류할 수 있다. 이후, 정보 추출 장치(100)는 형태소 분석 및 품사 부착 모듈(101)을 통해 문장(2) 및 트리플(3)을 분석하여 제1 개체 형태소 및 품사(11), 제2 개체 형태소 및 품사(12), 문장 형태소 및 품사(13) 및 관계 형태소 및 품사(14)를 생성할 수 있다. 이후, 정보 추출 장치(100)는 문장 형태소 및 품사(13)를 선택 형태소 대응 모듈(103)로 전송할 수 있다. 또한, 정보 추출 장치(100)는 관계 형태소 및 품사(14)를 선택 형태소 대응 모듈(104) 및 생성 형태소 구분 모듈(105)로 전송할 수 있다.
이에 따라, 생성 형태소 구분 모듈(105)은 관계 형태소 및 품사(14)에서 생성된 형태소가 생성 형태소 사전(103-7)에 포함된 형태소인 경우, 생성된 형태소를 생성 형태소 목록(16)에 저장할 수 있다. 또한, 생성 형태소 구분 모듈(105)은 관계 형태소 및 품사(14)에서 생성된 형태소가 생성 형태소 사전(103-7)에 포함된 형태소인 경우, 생성된 형태소를 선택 형태소 대응 모듈(104)로 전송할 수 있다.
한편, 선택 형태소 대응 모듈(104)은 문장 형태소 및 품사(13), 관계 형태소 및 품사(14) 및 생성된 형태소를 수신할 수 있다. 이후, 선택 형태소 모듈(104)은 관계어에 포함된 형태소가 문장 형태소 및 품사(13)에 포함된 복수의 형태소들에 포함된 형태소와 일치하는 지를 판단할 수 있다. 이후, 선택 형태소 대응 모듈(104)는 관계어에 포함된 형태소가 문장 형태소 및 품사(13)에 포함된 복수의 형태소들 형태소와 일치하는 경우, 관계어에 포함된 형태소를 선택 형태소 목록(15)에 저장할 수 있다. 이때, 선택 형태소 대응 모듈(104)은 관계어에 포함된 형태소 중 생성 형태소 목록에 저장된 형태소는 제외시킬 수 있다.
이하에서는, 도 6 내지 도 16을 참조하여 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법이 보다 구체적으로 설명될 수 있다. 또한, 이하에서 설명되는 텍스트 데이터의 정보 추출 방법은 도 1 내지 도 5를 참조하여 설명된 정보 추출 장치(100)에서 수행될 수 있다.
도 6은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법을 도시한 흐름도이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법을 수행하는 정보 추출 장치는 텍스트 데이터에 포함된 문장의 형태소 및 품사를 분석하여 제1 개체 및 제2 개체를 결정할 수 있다(S100). 구체적으로, 정보 추출 장치는 도 3을 참조하여 설명된 형태소 분석 및 품사 부착 모듈(101) 및 개체 추출 모듈(102)을 이용하여 제1 개체 및 제2 개체를 결정할 수 있다.
예를 들어, 텍스트 데이터에 포함된 문장이 "나는 오늘 학교에 갔다"인 경우, 정보 추출 장치는 형태소 분석 및 품사 부착 모듈(102)을 이용하여 문장의 형태소 및 품사를 분석하여 '나'(대명사)+ '는'(조사)+ '오늘'(명사)+ '학교'(명사)+ '에'(조사) '가다'(동사)+ '았'(어미)+ '다'(어미)라는 결과를 획득할 수 있다. 이후, 정보 추출 장치는 개체 추출 모듈(102)을 이용하여 분석 및 품사 부착 모듈(102)의 결과에서 제1 개체 및 제2 개체를 결정할 수 있다. 여기서, 정보 추출 장치는 품사가 "명사"인 형태소 중에서 제1 개체 및 제2 개체로 결정할 수 있다.
이후, 정보 추출 장치는 문장의 형태소 및 품사를 분석한 결과와 제1 개체 및 제2 개체의 문맥을 분석하여 문장의 문맥 정보를 생성할 수 있다(S200). 구체적으로, 정보 추출 장치는 도 4를 참조하여 설명된 문맥 분석 모듈(103-1)을 이용하여 문장의 문맥 정보를 생성할 수 있다. 여기서, 문맥 정보는 문장에 포함된 복수의 형태소들 각각을 형태소에 의한 문맥적 의미, 품사에 의한 문맥적 의미 및 개체 여부에 의한 문맥적 의미를 포함하는 벡터(vector)로 변환하여 생성될 수 있다. 구체적으로, 문맥 정보가 생성되는 방법은 이하에서 도 7을 참조하여 설명될 수 있다.
도 7은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 문맥 정보를 생성하는 방법을 도시한 개념도이다.
도 7을 참조하면, 정보 추출 장치는 문장에 포함된 복수의 형태소들 각각에 대한 의미를 벡터의 형태로 변환하는 방식을 이용하여 문맥 정보를 생성할 수 있다. 예를 들어, 정보 추출 장치에서 문맥 정보를 생성하기 위한 문장이 "김연아는 대한민국의 피겨스케이팅 선수이다"이고, 제1 개체가 "김연아"이고 제2 개체가 "대한민국"인 것으로 가정할 수 있다.
이와 같은 경우, 정보 추출 장치는 형태소 "김연아"(1001)의 품사가 "고유명사"(1002)에 해당하고, 제1 개체(1003)에 해당하는 것을 고려하여 제1 의미 정보(1000)를 생성할 수 있다. 또한, 정보 추출 장치는 형태소 "는"(1101)의 품사가 "보조사"(1102)에 해당하고, 제1 개체 및 제2 개체가 아닌 비개체(1103)에 해당하는 것을 고려하여 제2 의미 정보(1100)를 생성할 수 있다. 또한, 정보 추출 장치는 형태소 "대한민국"(1201)의 품사가 "고유명사"(1202)에 해당하고, 제2 개체(1203)에 해당하는 것을 고려하여 제3 의미 정보(1200)를 생성할 수 있다. 이와 같은 과정을 통해, 정보 추출 장치는 문장에 포함된 형태소 별로 의미 정보를 생성할 수 있다.
이후, 정보 추출 장치는 생성된 의미 정보를 벡터의 형태로 변환할 수 있다. 즉, 정보 추출 장치는 제1 의미 정보(1000)를 벡터의 형태로 변환하여 제1 벡터 정보(2000)를 생성할 수 있다. 예를 들어, 정보 추출 장치는 제1 의미 정보(1000)에 포함된 형태소 "김연아"(1001)의 의미를 벡터로 변환하여 제1 벡터(2001)를 생성할 수 있다. 또한, 정보 추출 장치는 제1 의미 정보(1000)에 포함된 형태소 "김연아"(1001)에 대한 "고유명사"(1002)로써의 의미를 벡터로 변환하여 제2 벡터(2002)를 생성할 수 있다. 또한, 정보 추출 장치는 제1 의미 정보(1000)에 포함된 형태소 "김연아"(1001)에 대한 "제1 개체"(1003)로써의 의미를 벡터로 변환하여 제3 벡터(2003)를 생성할 수 있다. 이후, 정보 추출 장치는 제1 벡터(2001), 제2 벡터(2002) 및 제3 벡터(2003)를 포함하는 제1 벡터 정보(2000)를 생성할 수 있다.
이후, 정보 추출 장치는 제1 벡터 정보(2000)에 포함된 제1 벡터(2001), 제2 벡터(2002) 및 제3 벡터(2003)를 결합하여 문장에 포함된 형태소 "김연아"에 대한 제1 문맥 정보(3000)를 생성할 수 있다. 이와 같은 방법을 기반으로 정보 추출 장치는 문장에 포함된 복수의 형태소들에 대하여 복수의 문맥 정보들을 생성할 수 있다. 이후, 정보 추출 장치는 복수의 문맥 정보들을 포함하는 문장의 문맥 정보를 생성할 수 있다.
다시, 도 6을 참조하면 정보 추출 장치는 문장의 문맥 정보를 통해 제1 개체 및 제2 개체 간의 관계를 나타내는 관계어를 생성할 수 있다(S300). 정보 추출 장치에서 관계어를 생성하는 구체적인 방법을 도 8을 참조하여 설명될 수 있다.
도 8은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 관계어를 생성하는 방법을 도시한 흐름도이다.
도 8을 참조하면, 정보 추출 장치는 관계어를 생성하기 위해 문맥 정보를 기반으로 문장에 포함된 복수의 형태소들 중 제1 개체 및 제2 개체의 문맥적 의미에 상응하는 적어도 하나의 형태소를 포함하는 제1 유형의 형태소를 선택할 수 있다(S310). 즉, 정보 추출 장치는 문장에 포함된 복수의 형태소들 중에서 제1 개체 및 제2 개체의 문맥적 의미에 부합되는 정도를 나타내는 점수(score)를 산출할 수 있고, 산출된 점수를 기반으로 제1 유형의 형태소를 선택할 수 있다. 이와 관련된 설명은 도 13에서 구체적으로 설명될 수 있다.
우선적으로, 정보 추출 장치는 제1 개체 및 제2 개체 중에서 복수의 형태소들로 구성된 개체가 있는지를 확인할 수 있다. 예를 들어, 정보 추출 장치는 제1 개체가 "빌 게이츠"인 경우, 제1 개체가 형태소 "빌" 및 형태소 "게이츠"로 구성된 것을 확인할 수 있다. 이와 같은 경우, 정보 추출 장치는 형태소 "빌" 및 형태소 "게이츠"에 대한 의미 중 더 적합한 의미를 선택할 수 있다. 여기서, 정보 추출 장치는 형태소에 대하여 산출된 점수를 기반으로 제1 개체 및 제2 개체에 대하여 적합한 정도를 판단할 수 있다.
한편, 제1 개체 및 제2 개체 중 적어도 하나의 개체가 복수의 형태소들을 포함하는 경우, 정보 추출 장치에서 복수의 형태소들 각각에 대한 의미 중 제1 유형의 형태소를 선택하기 위해 사용되는 의미를 선택하는 구체적인 방법은 이하에서 도 9 내지 도 12를 참조하여 설명될 수 있다.
도 9는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 복수의 형태소들로 구성된 개체의 의미를 선택하는 제1 실시예를 도시한 개념도이다.
도 9를 참조하면, 정보 추출 장치는 제1 개체 및 제2 개체 중 하나가 "빌 게이츠"인 경우, 형태소 "빌"의 의미를 표현한 벡터 및 형태소 "게이츠"의 의미를 표현한 벡터에 대하여 최대 풀링(max pooling) 연산을 적용할 수 있다. 여기서, 정보 추출 장치는 최대 풀링 연산 외에 평균 풀링(average pooling) 연산을 적용할 수도 있다.
예를 들어, 정보 추출 장치는 형태소 "빌"의 의미를 표현한 벡터에 포함된 복수의 원소 값들 중 상대적으로 큰 값인 "3.5" 및 "4.1"을 선택할 수 있다. 또한, 정보 추출 장치는 형태소 "게이츠"의 의미를 표현한 벡터에 포함된 복수의 원소 값들 중 상대적으로 큰 값인 "5.6"을 선택할 수 있다. 이후, 정보 추출 장치는 선택된 원소 값인 "3.5", "4.1" 및 "5.6"을 포함하는 벡터를 생성할 수 있다. 이와 같은 과정을 통해, 정보 추출 장치는 형태소 "빌 게이츠"의 의미를 표현한 벡터를 생성할 수 있다.
이하에서는, 도 10을 참조하여 복수의 형태소들로 구성된 개체의 의미를 선택하는 다른 실시예가 더 설명될 수 있다.
도 10은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 복수의 형태소들로 구성된 개체의 의미를 선택하는 제2 실시예를 도시한 개념도이다.
도 10을 참조하면, 정보 추출 장치는 제1 개체 및 제2 개체 중 하나가 "피겨스케이팅 선수"인 경우, 형태소 "피겨스케이팅"의 의미를 표현한 벡터 및 형태소 "선수"의 의미를 표현한 벡터에 대하여 최대 풀링 연산을 적용할 수 있다.
예를 들어, 정보 추출 장치는 형태소 "피겨스케이팅"의 의미를 표현한 벡터에 포함된 복수의 원소 값들 중 상대적으로 큰 값인 "3.5" 및 "4.1"을 선택할 수 있다. 또한, 정보 추출 장치는 형태소 "선수"의 의미를 표현한 벡터에 포함된 복수의 원소 값들 중 상대적으로 큰 값인 "5.6"을 선택할 수 있다. 이후, 정보 추출 장치는 선택된 원소 값인 "3.5", "4.1" 및 "5.6"을 포함하는 벡터를 생성할 수 있다. 이와 같은 과정을 통해, 정보 추출 장치는 형태소 "피겨스케이팅 선수"의 의미를 표현한 벡터를 생성할 수 있다.
도 9 내지 도 10을 참조하여 설명된 바와 같이, 정보 추출 장치는 제1 개체 및 제2 개체 중 적어도 하나의 개체가 복수의 형태소들로 구성되는 경우, 복수의 형태소들의 의미들 중 하나의 의미를 선택할 수 있다. 즉, 정보 추출 장치는 복수의 형태소들의 의미를 표현하는 벡터들을 병합하는 방식에 기초하여 하나의 의미를 표현하는 벡터로 생성할 수 있다. 이하에서는, 도 11을 참조하여 정보 추출 장치에서 제1 개체 및 제2 개체의 문맥적 의미를 분석하는 방법이 설명될 수 있다.
도 11은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 제1 개체 및 제2 개체의 의미를 표현하는 벡터를 생성하는 방법을 도시한 개념도이다.
도 11을 참조하면, 정보 추출 장치는 제1 개체 및 제2 개체의 의미를 표현하는 벡터를 생성하기 위해 제1 개체 및 제2 개체 중에서 복수의 형태소들로 구성된 개체가 있는지를 확인할 수 있다.
예를 들어, 제1 개체가 "김연아"이고, 제2 개체가 "피겨스케이팅 선수"인 것으로 가정할 수 있다. 이때, 정보 추출 장치는 제2 개체가 "피겨스케이팅 선수"이므로 복수의 형태소들로 구성된 것을 확인할 수 있다. 이후, 정보 추출 장치는 도 9 내지 도 10을 참조하여 설명된 방법을 기반으로 제2 개체 "피겨스케이팅 선수"의 의미를 표현하는 벡터를 생성할 수 있다.
이후, 정보 추출 장치는 제1 개체인 "김연아"의 의미를 표현하는 벡터 및 제2 개체인 "피겨스케이팅 선수"의 의미를 표현하는 벡터를 병합함으로써, 제1 개체 및 제2 개체의 문맥적 의미를 표현하는 벡터를 생성할 수 있다. 본 발명에서 제1 개체인 "김연아"의 의미를 표현하는 벡터 및 제2 개체인 "피겨스케이팅 선수"의 의미를 표현하는 벡터를 병합하는 과정은 완전 연결 층을 통과함으로써 수행될 수 있다. 상기와 같은 과정을 통해, 정보 추출 장치는 제1 개체 및 제2 개체의 문맥적 의미를 표현하는 벡터를 생성할 수 있다.
다시, 도 8을 참조하면 정보 추출 장치는 제1 개체 및 제2 개체의 문맥적 의미를 표현하는 벡터에 기초하여 문장에 포함된 복수의 형태소들 중 제1 개체 및 제2 개체의 문맥적 의미에 상응하는 적어도 하나의 형태소를 포함하는 제1 유형의 형태소를 선택할 수 있다.
예를 들어, 문장이 "대한민국의 전 국가대표 피겨스케이팅 선수인 김연아는 2014 러시아 소치 동계올림픽을 마지막으로 현역에서 은퇴했다."인 것으로 가정할 수 있다. 또한, 문장에서 제1 개체가 "김연아"이고, 제2 개체가 "대한민국"인 것으로 가정할 수 있다. 이때, 정보 추출 장치는 제1 개체인 "김연아" 및 제2 개체인 "대한민국"의 문맥적 의미에 기초하여 문장에 포함된 복수의 형태소들 중 "피겨스케이팅" 및 "선수"를 제1 유형의 형태소로 선택할 수 있다.
이후, 정보 추출 장치는 제1 개체 및 제2 개체의 문맥적 의미를 표현하는 벡터 및 선택된 제1 유형의 형태소에 대한 의미를 표현하는 벡터를 기반으로 상태를 갱신할 수 있다. 구체적으로, 정보 추출 장치에서 상태를 갱신하는 방법은 도 12를 참조하여 설명될 수 있다.
도 12는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 상태를 갱신하는 방법을 도시한 개념도이다.
도 12를 참조하면, 정보 추출 장치는 제1 개체 및 제2 개체의 문맥적 의미를 표현하는 벡터에 제1 유형의 형태소의 의미를 표현하는 벡터를 반영하여 정보 추출 장치 내의 상태를 갱신할 수 있다. 본 발명에서 정보 추출 장치는 문장에서 선택되는 형태소의 의미를 표현하는 벡터를 순환 신경망에 적용하여 상태를 갱신시킬 수 있다. 여기서, 상태를 갱신하는 것은 정보 추출 장치에서 분석되는 결과물을 누적시키는 것을 의미할 수 있다.
다시 말해, 정보 추출 장치에서 갱신하는 상태는 이전에 선택된 형태소에 대한 정보를 누적하는 것을 의미할 수 있다. 이에 따라, 정보 추출 장치는 최종적으로 누적된 형태소에 대한 정보에 기초하여 분석되는 다음 형태소를 선택할 수 있다. 이후, 정보 추출 장치는 관계를 구성하기 위한 형태소가 모두 선택되었음을 판단하기 위한 기준이 되는 미리 설정된 형태소가 선택되는 경우까지, 반복적으로 형태소를 선택할 수 있다.
예를 들어, 정보 추출 장치는 EOR(end of relation)의 심볼(symbol)을 가지는 형태소가 선택되는 경우, 관계를 구성하기 위한 형태소가 모두 선택된 것으로 판단할 수 있다. 이후, 정보 추출 장치는 EOR의 심볼을 가지는 형태소가 선택되기 전까지 선택된 적어도 하나의 형태소를 기반으로 관계를 생성할 수 있다.
이하에서는, 도 13을 참조하여 정보 추출 장치에서 제1 유형의 형태소가 선택되는 방법이 구체적으로 설명될 수 있다.
도 13은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 제1 유형의 형태소를 선택하는 방법을 도시한 흐름도이다.
도 13을 참조하면, 정보 추출 장치는 제1 개체 및 제2 개체의 문맥적 의미와 문장에 포함된 복수의 형태소들 각각의 문맥적 의미가 부합되는 정도를 나타내는 점수를 산출할 수 있다(S311). 여기서, 점수는 제1 개체, 제2 개체 및 문장에 포함된 복수의 형태소들 각각의 문맥적 의미에 상응하는 벡터에 로지스틱 함수(logistic function)를 적용하여 산출될 수 있다. 예를 들어, 점수는 0 내지 1 사이의 실수 값으로 산출될 수 있다.
구체적으로, 정보 추출 장치에서 점수가 산출되는 과정의 일 예를 들면, 정보 추출 장치는 상태 벡터와 복수의 형태소들 중 제1 유형의 형태소의 벡터를 기반으로 점수를 산출할 수 있다. 여기서, 초기의 상태 벡터는 개체 쌍의 벡터를 의미할 수 있다. 또한, 제1 유형의 형태소의 벡터는 제1 유형의 형태소의 문맥을 분석한 결과에 대한 정보를 나타내는 벡터를 의미할 수 있다.
이후, 정보 추출 장치는 문장에 포함된 복수의 형태소들 중 점수가 미리 설정된 임계값 이상인 적어도 하나의 형태소를 제1 유형의 형태소로 선택할 수 있다(S312). 여기서, 정보 추출 장치는 문장에 포함된 복수의 형태소들 중 점수가 미리 설정된 임계값 이상인 적어도 하나의 형태소가 복수개인 경우, 복수개의 형태소들 중 가장 높은 점수를 가지는 형태소부터 순차적으로 선택할 수 있다.
예를 들어, 문장에 포함된 복수의 형태소들을 "국가대표", "피겨스케이팅", "선수", "대회", "출전" 및 EOR 등인 것으로 가정할 수 있다. 이에 대하여, 정보 추출 장치는 문장에 포함된 복수의 형태소들에 대하여 제1 개체 및 제2 개체의 문맥적 의미에 부합되는 정도를 나타내는 점수를 산출할 수 있다. 이때, 문장에 포함된 복수의 형태소들에 대한 점수는 "국가대표[0.7]", "피겨스케이팅[0.2]", "선수[0.1]", "대회[0.1]", "출전[0.6], EOR[0.3] 등으로 산출될 수 있다.
이후, 정보 추출 장치는 복수의 형태소들 중 미리 설정된 임계값 이상인 적어도 하나의 형태소를 선택할 수 있다. 여기서, 미리 설정된 임계값이 0.5인 경우, 정보 추출 장치는 복수의 형태소들 중 점수가 미리 설정된 임계값 이상인 형태소에 해당하는 "국가대표" 및 "출전"을 확인할 수 있다.
이후, 정보 추출 장치는 "국가대표" 및 "출전" 중에서 더 높은 점수를 가지는 형태소인 "국가대표"를 우선적으로 선택할 수 있다. 이후, 정보 추출 장치는 형태소 "국가대표"를 기반으로 상태 벡터를 갱신할 수 있다. 이후, 정보 추출 장치는 형태소 "국가대표"를 선택한 방법과 동일한 방법으로, 적어도 하나의 형태소를 선택할 수 있고, 선택된 적어도 하나의 형태소를 기반으로 제1 유형의 형태소를 선택할 수 있다.
이와 같은 방법으로, 정보 추출 장치는 제1 유형의 형태소에 대한 벡터를 기반으로 상태 벡터를 갱신할 수 있다. 이때, 정보 추출 장치는 선택된 형태소가 EOR의 심볼을 가지는 형태소가 선택되는 경우, EOR의 심볼을 가지는 형태소가 선택되기 전까지 선택된 적어도 하나의 형태소를 순차적으로 연결하여 관계를 생성할 수 있다.
또한, 정보 추출 장치는 EOR의 심볼을 가지는 형태소가 선택되지 않았으나, 산출된 점수가 미리 설정된 임계값 이상인 형태소가 존재하지 않는 경우, 이미 선택된 적어도 하나의 형태소를 제거할 수 있다. 이후, 정보 추출 장치는 복수의 형태소들 중 새로운 형태소를 선택할 수 있다.
상기와 같은 방법을 통해, 정보 추출 장치는 복수의 형태소들에 대한 점수를 산출할 수 있고, 이를 기반으로 관계를 구성하기 위한 제1 유형의 형태소를 선택할 수 있다.
한편, 정보 추출 장치에서 상기에서 설명된 방법을 통해 생성되는 관계는 복수의 형태소들을 포함할 수 있다. 즉, 정보 추출 장치에서 생성되는 관계는 <제1 형태소, 제2 형태소>의 구조와 같이 복수의 형태소들을 포함할 수 있다. 이하에서는, 복수의 형태소들을 포함하는 관계의 신뢰도가 결정되는 구체적인 방법이 설명될 수 있다.
예를 들어, 하나의 관계는 <제1 형태소, 제2 형태소>의 구조와 같이 복수의 형태소들을 포함하는 구조로 생성될 수 있다. 구체적으로, 정보 추출 장치에서 분석되는 제1 문장을 "대한민국의 전 국가대표 피겨스케이팅 선수인 김연아는 2014 러시아 소치 동계올림픽을 마지막으로 현역에서 은퇴했다."라고 가정할 수 있다. 또한, 제1 문장에서 '김연아'를 제1 개체로 가정할 수 있고, '대한민국'을 제2 개체로 가정할 수 있다. 이와 같은 경우, 제1 문장의 제1 개체 및 제2 개체에 대한 관계어는 '의 피겨스케이팅 선수'로 생성될 수 있다.
이와 같이, 정보 추출 장치에서 생성된 관계어는 복수의 형태소 쌍으로 구성될 수 있다. 구체적으로, 제1 개체 및 제2 개체에 대한 관계어는 <의, 피겨스케이팅>, <NULL, 선수> 및 <이다, EOR>과 같이 3개의 형태소 쌍들로 구성될 수 있다. 이때, 3개의 형태소 쌍들에서 '피겨스케이팅', '선수' 및 'EOR'의 점수가 각각 0.4, 0.7, 0.3인 경우, 가장 낮은 점수인 0.3을 관계어인 '의 피겨스케이팅 선수'의 신뢰도로 결정할 수 있다.
즉, 정보 추출 장치는 제1 유형의 형태소에 포함된 적어도 하나의 형태소의 점수 중에서 가장 낮은 점수를 적어도 하나의 형태소를 기반을 형성되는 관계어의 신뢰도로 산출할 수 있다.
상술한 바에 따르면, 정보 추출 장치는 문장에 포함된 복수의 형태소들에 대하여 1차적으로 점수를 산출하고, 미리 설정된 임계값을 기반으로 제1 유형의 형태소를 선택하는 것으로 설명되었다. 그러나, 정보 추출 장치에서 제1 유형의 형태소를 선택하는 방법이 이에 한정되는 것은 아니다. 즉, 정보 추출 장치는 문장에 포함된 복수의 형태소들 중 임의의 형태소를 선택한 후, 선택된 형태소에 대한 점수를 산출하고, 산출된 점수가 미리 설정된 임계값 이상인 경우, 해당하는 형태소를 최종적인 제1 유형의 형태소로 결정할 수도 있다.
반면, 정보 추출 장치는 임의로 선택된 형태소의 점수가 미리 설정된 임계값 미만인 경우, 문장에 포함된 복수의 형태소들 중 임의의 형태소를 다시 선택할 수 있다. 이후, 정보 추출 장치는 다시 선택된 형태소의 점수를 산출하고, 산출된 점수에 기초하여 제1 유형의 형태소를 결정할 수도 있다.
다시, 도 8을 참조하면 정보 추출 장치는 제1 유형의 형태소와 결합 가능한 형태소의 생성 확률을 기반으로 제1 유형의 형태소에 대한 제2 유형의 형태소를 생성할 수 있다(S320). 정보 추출 장치에서 제2 유형의 형태소가 생성되는 방법은 이하에서 도 14를 참조하여 구체적으로 설명될 수 있다.
도 14는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 제2 유형의 형태소를 생성하는 방법을 도시한 흐름도이다.
도 14를 참조하면, 정보 추출 장치는 데이터베이스에 포함된 복수의 형태소들 중 제1 유형의 형태소와 결합 가능한 형태소의 생성 확률을 산출할 수 있다(S321). 여기서, 생성 확률은 제1 유형의 형태소의 문맥적 의미에 상응하는 벡터에 소프트맥스 함수(softmax function)를 적용하여 산출될 수 있다.
여기서, 데이터베이스는 정보 추출 장치에 포함된 데이터베이스를 의미할 수 있고, 미리 설정된 품사에 해당하는 복수의 형태소들이 미리 저장될 수 있다. 예를 들어, 미리 설정된 품사는 조사 또는 조사에 상응하는 품사일 수 있다. 즉, 데이터베이스에 포함된 복수의 형태소들은 "의?, "에", "인" 및 "이다"등과 같은 형태소일 수 있다.
이후, 정보 추출 장치는 산출된 생성 확률이 가장 큰 형태소를 선택할 수 있다(S322). 예를 들어, 정보 추출 장치는 제1 유형의 형태소가 "피겨스케이팅 선수"인 경우, 제1 유형의 형태소인 "피겨스케이팅" 및 "선수"와 결합 가능한 형태소의 생성 확률을 산출할 수 있다.
이후, 정보 추출 장치는 선택된 형태소를 제1 유형의 형태소와 결합되는 제2 유형의 형태소로 생성할 수 있다(S324). 예를 들어, 제1 유형의 형태소가 "피겨스케이팅" 및 "선수"인 경우, 정보 추출 장치는 제1 유형의 형태소와 결합 가능한 형태소의 생성 확률을 기반으로 "피겨스케이팅"에 대한 제2 유형의 형태소인 "의" 및 "선수"에 대한 제2 유형의 형태소인 "NULL"을 생성할 수 있다.
다시, 도 8을 참조하면, 정보 추출 장치는 제1 유형의 형태소 및 제2 유형의 형태소를 결합하여 관계어를 생성할 수 있다(S330). 즉, 정보 추출 장치는 도 13을 참조하여 설명된 방법으로 선택된 제1 유형의 형태소 및 도 14를 참조하여 설명된 방법으로 생성된 제2 유형의 형태소를 결합하여 관계어를 생성할 수 있다.
이하에서, 도 15를 참조하여 도 13 및 도 14에서 설명된 데이터베이스에 포함된 복수의 형태소들의 생성 확률 및 문장에 포함된 복수의 형태소들의 신뢰도가 산출되는 과정이 설명될 수 있다. 여기서, 복수의 형태소들의 신뢰도는 상기에서 설명된 복수의 형태소들에 대한 점수를 의미할 수 있다.
도 15는 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 형태소의 생성 확률 및 신뢰도를 산출하는 방법을 도시한 개념도이다.
도 15를 참조하면, 정보 추출 장치는 제1 유형의 형태소에 대하여 제1 개체 및 제2 개체와 부합되는 정도를 나타내는 점수를 산출할 수 있다. 이후, 정보 추출 장치는 제1 유형의 형태소에 포함된 적어도 하나의 형태소의 점수 중 가장 낮은 점수를 제1 유형의 형태소에 대한 신뢰도로 산출할 수 있다. 즉, 정보 추출 장치는 제1 유형의 형태소에 대한 의미를 표현하는 벡터 및 현재 상태를 의미하는 제1 개체 및 제2 개체의 문맥적 의미를 표현하는 벡터에 대하여 로지스틱 함수를 적용할 수 있고, 이와 같은 방법을 통해 제1 유형의 형태소의 신뢰도가 "0.7"인 것으로 산출할 수 있다.
한편, 정보 추출 장치는 데이터베이스에 포함된 복수의 형태소들 중 제1 유형의 형태소와 결합 가능한 형태소의 생성 확률을 산출할 수 있다. 즉, 정보 추출 장치는 제1 유형의 형태소의 의미를 표현하는 벡터 및 현재 상태를 의미하는 제1 개체 및 제2 개체의 문맥적 의미를 표현하는 벡터에 대하여 소프트맥스 함수를 적용할 수 있고, 이와 같은 방법을 통해 데이터베이스에 포함된 복수의 형태소들 중 제1 유형의 형태소와 결합 가능한 형태소의 생성 확률을 산출할 수 있다.
예를 들어, 제1 유형의 형태소와 결합 가능한 형태소 중 형태소 "이다"는 "0.02"의 생성 확률이 산출될 수 있고, 형태소 "를"은 ?0.75"의 생성 확률이 산출될 수 있고, 형태소가 존재하지 않을 "NULL"은 "0.06"의 생성 확률이 산출될 수 있다. 이에 따라, 정보 추출 장치는 제1 유형의 형태소와 결합 가능한 형태소의 생성 확률 중 가장 큰 생성 확률을 가지는 형태소 "를"을 제2 유형의 형태소로 선택할 수 있다.
따라서, 상술한 바와 같은 과정을 통해 정보 추출 장치는 제1 유형의 형태소 및 제2 유형의 형태소를 결합하여 관계어를 생성하는 과정에 대하여 예를 들어 살펴보면 다음과 같을 수 있다.
예를 들어, 제1 유형의 형태소가 "피겨스케이팅 선수"인 경우, 정보 추출 장치는 제1 유형의 형태소와 결합 가능한 형태소의 생성 확률을 산출할 수 있다. 즉, 정보 추출 장치는 제1 유형의 형태소에 포함된 "피겨스케이팅" 및 "선수"와 결한 가능한 형태소에 대한 생성 확률을 산출할 수 있다. 이후, 정보 추출 장치는 산출된 생성 확률이 가장 높은 3개의 형태소인 "의", "NULL" 및 "이다"를 생성할 수 있다. 즉, 정보 추출 장치에서 생성된 제2 유형의 형태소는 "의", "NULL" 및 "이다"일 수 있다. 이후, 정보 추출 장치는 제1 유형의 형태소와 제2 유형의 형태소를 결합하여 "의 피겨스케이팅 선수이다"라는 관계어를 생성할 수 있다.
다시, 도 6을 참조하면 정보 추출 장치는 제1 개체, 제2 개체 및 관계어를 기반으로 문장의 트리플을 생성할 수 있다(S400). 즉, 정보 추출 장치는 제1 개체, 제2 개체 및 관계어를 포함하는 트리플을 생성할 수 있다. 예를 들어, 제1 개체가 "김연아"이고, 제1 개체가 "대한민국"이고, 관계어가 "의 피겨스케이팅 선수이다"인 경우, 정보 추출 장치는 <김연아, 대한민국, 의 피겨스케이팅 선수이다> 라는 트리플을 생성할 수 있다.
도 6 내지 도 15를 참조하여 상술한 바와 같이, 정보 추출 장치는 문장에 포함된 복수의 형태소들을 분석하여 트리플을 생성할 수 있다. 또한, 정보 추출 장치는 문장의 형태소 및 품사를 분석한 결과와 트리플의 형태소 및 품사를 분석한 결과를 기반으로 교사 학습(supervised learning)을 수행할 수 있다. 이하에서, 도 16을 참조하여 정보 추출 장치에서 교사 학습을 위한 훈련 데이터가 구축되는 방법이 설명될 수 있다.
도 16은 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법에서 교사 학습을 위한 훈련 데이터를 구축하는 방법을 도시한 흐름도이다.
도 16을 참조하면, 정보 추출 장치는 트리플의 관계어에 포함된 형태소 중 기능적 역할을 수행하는 품사에 해당하는 형태소를 제1 목록에 저장할 수 있다(S510). 여기서, 기능적 역할을 수행하는 품사는 조사, 어미 및 용언 등의 품사를 의미할 수 있다.
예를 들어, 정보 추출 장치는 문장이 트리플의 관계어가 "의 기업인이다"인 경우, 조사, 어미 및 용언 중 적어도 하나의 품사에 해당하는 형태소 "의" 및 형태소 "이다"를 제1 목록에 저장할 수 있다. 여기서, 제1 목록은 도 5를 참조하여 설명된 생성 형태소 목록(16)과 동일한 의미일 수 있다.
이후, 정보 추출 장치는 트리플의 관계어에 포함된 형태소 중 제1 목록에 포함되지 않은 적어도 하나의 형태소와 동일한 형태소가 문장에 존재하는 지를 판단할 수 있다(S520).
예를 들어, 문장이 "빌 게이츠는 미국의 기업인이다"이고, 트리플이 <빌 게이츠, 미국, 의 기업인이다>인 것으로 가정할 수 있다. 이와 같은 경우, 정보 추출 장치는 트리플의 관계어인 "의 기업인이다"에서 조사에 해당하는 형태소 "의" 및 형태소 "이다"를 제1 목록에 저장할 수 있다. 이후, 정보 추출 장치는 "의 기업인이다"에서 제1 목록에 포함되지 않은 적어도 하나의 형태소가 형태소 "기업인"인 것으로 확인할 수 있다. 이후, 정보 추출 장치는 문장에 포함된 복수의 형태소들 중 형태소 "기업인"이 존재하는 지를 판단할 수 있다.
이후, 정보 추출 장치는 적어도 하나의 형태소 중 문장에 존재하는 형태소를 제2 목록에 저장할 수 있다(S530). 즉, 정보 추출 장치는 단계 S520에서 설명된 예에서 형태소 "기업인"이 문장인 "빌 게이츠는 미국의 기업인이다"에 존재하므로, 형태소 "기업인"을 제2 목록에 저장할 수 있다.
상기와 같은 과정을 통해, 정보 추출 장치는 문장 및 문장으로부터 생성된 트리플을 기반으로 제1 목록 및 제2 목록을 구축할 수 있다. 이후, 정보 추출 장치는 트리플에 포함된 제1 개체 및 제2 개체가 결정되는 경우, 미리 구축된 제1 목록 및 제2 목록을 기반으로 트리플에 포함되는 관계어를 생성할 수 있다.
도 6 내지 도 16을 참조하여 설명된, 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법은 도 1 내지 도 5를 참조하여 설명된 본 발명의 일 실시예에 따른 텍스트 데이터의 정보 추출 방법을 수행하는 정보 추출 장치에서 수행될 수 있다. 아울러, 도 2 내지 도 5를 참조하여 설명된 정보 추출 장치에 포함된 복수의 모듈들은 도 6 내지 도 16을 참조하여 설명된 텍스트 데이터의 정보 추출 방법을 수행할 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (20)
- 텍스트 데이터(text data)로부터 정보를 추출하는 장치에서 수행되는 정보 추출 방법으로서,
상기 텍스트 데이터에 포함된 문장의 형태소 및 품사를 분석하여 제1 개체(entity) 및 제2 개체를 결정하는 단계;
상기 문장의 형태소 및 품사를 분석한 결과와 상기 제1 개체 및 상기 제2 개체의 문맥을 분석하여 상기 문장의 문맥 정보를 생성하는 단계;
상기 문장의 문맥 정보를 통해 상기 제1 개체 및 상기 제2 개체 간의 관계를 나타내는 관계어(relation)를 생성하는 단계; 및
상기 제1 개체, 상기 제2 개체 및 상기 관계어를 기반으로 상기 문장의 트리플(triple)을 생성하는 단계를 포함하는 텍스트 데이터의 정보 추출 방법. - 청구항 1에 있어서,
상기 문맥 정보는,
상기 문장에 포함된 복수의 형태소들 각각을 형태소에 의한 문맥적 의미, 품사에 의한 문맥적 의미 및 개체 여부에 의한 문맥적 의미를 포함하는 벡터로 변환하여 생성되는 것을 특징으로 하는 텍스트 데이터의 정보 추출 방법. - 청구항 1에 있어서,
상기 관계어를 생성하는 단계는,
상기 문맥 정보를 기반으로 상기 문장에 포함된 복수의 형태소들 중 상기 제1 개체 및 상기 제2 개체의 문맥적 의미에 상응하는 적어도 하나의 형태소를 포함하는 제1 유형의 형태소를 선택하는 단계;
상기 제1 유형의 형태소와 결합 가능한 형태소의 생성 확률을 기반으로 상기 제1 유형의 형태소에 대한 제2 유형의 형태소를 생성하는 단계; 및
상기 제1 유형의 형태소 및 상기 제2 유형의 형태소를 결합하여 상기 관계어를 생성하는 단계를 포함하는 것을 특징으로 하는 텍스트 데이터의 정보 추출 방법. - 청구항 3에 있어서,
상기 제1 유형의 형태소를 선택하는 단계는,
상기 제1 개체 및 상기 제2 개체의 문맥적 의미와 상기 문장에 포함된 복수의 형태소들 각각의 문맥적 의미가 부합되는 정도를 나타내는 점수(score)를 산출하는 단계; 및
상기 문장에 포함된 복수의 형태소들 중 상기 점수가 미리 설정된 임계값 이상인 상기 적어도 하나의 형태소를 상기 제1 유형의 형태소로 선택하는 단계를 포함하되,
상기 점수가 미리 설정된 임계값 이상인 상기 적어도 하나의 형태소는 가장 높은 점수를 가지는 형태소의 순서대로 선택되는 것을 특징으로 하는 텍스트 데이터 정보 추출 방법. - 청구항 4에 있어서,
상기 점수는,
상기 제1 개체 및 상기 제2 개체의 문맥적 의미와 상기 문장에 포함된 복수의 형태소들 각각의 문맥적 의미에 상응하는 벡터에 로지스틱 함수(logistic function)을 적용하여 산출되는 것을 특징으로 하는 텍스트 데이터 정보 추출 방법. - 청구항 4에 있어서,
상기 텍스트 데이터의 정보 추출 방법은,
상기 제1 유형의 형태소에 포함된 상기 적어도 하나의 형태소의 점수 중에서 가장 낮은 점수를 상기 적어도 하나의 형태소를 기반으로 형성되는 관계어의 신뢰도로 산출하는 단계를 더 포함하는 것을 특징으로 하는 텍스트 데이터 정보 추출 방법. - 청구항 3에 있어서,
상기 제2 유형의 형태소를 생성하는 단계는,
상기 정보를 추출하는 장치의 데이터베이스에 포함된 복수의 형태소들 중 상기 제1 유형의 형태소와 결합 가능한 형태소의 생성 확률을 산출하는 단계;
상기 산출된 생성 확률이 가장 큰 형태소를 선택하는 단계; 및
상기 선택된 형태소를 상기 제1 유형의 형태소와 결합되는 상기 제2 유형의 형태소로 생성하는 단계를 포함하는 것을 특징으로 하는 텍스트 데이터의 정보 추출 방법. - 청구항 7에 있어서,
상기 생성 확률은,
상기 제1 유형의 형태소의 문맥적 의미에 상응하는 벡터에 소프트맥스 함수(softmax function)를 적용하여 산출되는 것을 특징으로 하는 텍스트 데이터의 정보 추출 방법. - 청구항 1에 있어서
상기 텍스트 데이터 정보 추출 방법은,
상기 문장의 형태소 및 품사를 분석한 결과와 상기 트리플의 형태소 및 품사를 분석한 결과의 비교를 기반으로 교사 학습(supervised learning)을 수행하는 단계를 더 포함하는 것을 특징으로 하는 텍스트 데이터의 정보 추출 방법. - 상기 청구항 9에 있어서,
상기 교사 학습을 수행하는 단계는,
상기 트리플의 관계어에 포함된 형태소 중 기능적 역할을 수행하는 품사에 해당하는 형태소를 제1 목록에 저장하는 단계;
상기 트리플의 관계어에 포함된 형태소 중 상기 제1 목록에 포함되지 않은 적어도 하나의 형태소와 동일한 형태소가 상기 문장에 존재하는 지를 판단하는 단계; 및
상기 적어도 하나의 형태소 중 상기 문장에 존재하는 형태소를 제2 목록에 저장하는 단계를 포함하는 것을 특징으로 하는 텍스트 데이터의 정보 추출 방법. - 텍스트 데이터(text data)로부터 정보를 추출하는 방법을 수행하는 텍스트 데이터의 정보 추출 장치로서,
프로세서(processor); 및
상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고,
상기 적어도 하나의 명령은,
상기 텍스트 데이터에 포함된 문장의 형태소 및 품사를 분석하여 제1 개체(entity) 및 제2 개체를 결정하고;
상기 문장의 형태소 및 품사를 분석한 결과와 상기 제1 개체 및 상기 제2 개체의 문맥을 분석하여 상기 문장의 문맥 정보를 생성하고;
상기 문장의 문맥 정보를 통해 상기 제1 개체 및 상기 제2 개체 간의 관계를 나타내는 관계어(relation)를 생성하고; 그리고
상기 제1 개체, 상기 제2 개체 및 상기 관계어를 기반으로 상기 문장의 트리플(triple)을 생성하도록 실행되는 텍스트 데이터의 정보 추출 장치. - 청구항 11에 있어서,
상기 문맥 정보는,
상기 문장에 포함된 복수의 형태소들 각각을 형태소에 의한 문맥적 의미, 품사에 의한 문맥적 의미 및 개체 여부에 의한 문맥적 의미를 포함하는 벡터로 변환하여 생성되는 것을 특징으로 하는 텍스트 데이터의 정보 추출 장치. - 청구항 11에 있어서,
상기 적어도 하나의 명령은,
상기 관계어를 생성하는 과정에서, 상기 문맥 정보를 기반으로 상기 문장에 포함된 복수의 형태소들 중 상기 제1 개체 및 상기 제2 개체의 문맥적 의미에 상응하는 적어도 하나의 형태소를 포함하는 제1 유형의 형태소를 선택하고;
상기 제1 유형의 형태소와 결합 가능한 형태소의 생성 확률을 기반으로 상기 제1 유형의 형태소에 대한 제2 유형의 형태소를 생성하고; 그리고
상기 제1 유형의 형태소 및 상기 제2 유형의 형태소를 결합하여 상기 관계어를 생성하도록 실행되는 것을 특징으로 하는 텍스트 데이터의 정보 추출 장치. - 청구항 13에 있어서,
상기 적어도 하나의 명령은,
상기 제1 유형의 형태소를 선택하는 과정에서, 상기 제1 개체 및 상기 제2 개체의 문맥적 의미와 상기 문장에 포함된 복수의 형태소들 각각의 문맥적 의미가 부합되는 정도를 나타내는 점수(score)를 산출하고; 그리고
상기 문장에 포함된 복수의 형태소들 중 상기 점수가 미리 설정된 임계값 이상인 상기 적어도 하나의 형태소를 상기 제1 유형의 형태소로 선택하도록 실행되고,
상기 점수가 미리 설정된 임계값 이상인 상기 적어도 하나의 형태소는 가장 높은 점수를 가지는 형태소의 순서대로 선택되는 것을 특징으로 하는 텍스트 데이터 정보 추출 장치. - 청구항 14에 있어서,
상기 점수는,
상기 제1 개체 및 상기 제2 개체의 문맥적 의미와 상기 문장에 포함된 복수의 형태소들 각각의 문맥적 의미에 상응하는 벡터에 로지스틱 함수(logistic function)을 적용하여 산출되는 것을 특징으로 하는 텍스트 데이터 정보 추출 장치. - 청구항 14에 있어서,
상기 적어도 하나의 명령은,
상기 제1 유형의 형태소에 포함된 상기 적어도 하나의 형태소의 점수 중에서 가장 낮은 점수를 상기 적어도 하나의 형태소를 기반으로 형성되는 관계어의 신뢰도로 산출하도록 더 실행되는 것을 특징으로 하는 텍스트 데이터 정보 추출 장치. - 청구항 13에 있어서,
상기 적어도 하나의 명령은,
상기 제2 유형의 형태소를 생성하는 과정에서, 상기 정보를 추출하는 장치의 데이터베이스에 포함된 복수의 형태소들 중 상기 제1 유형의 형태소와 결합 가능한 형태소의 생성 확률을 산출하고;
상기 산출된 생성 확률이 가장 큰 형태소를 선택하고; 그리고
상기 선택된 형태소를 상기 제1 유형의 형태소와 결합되는 상기 제2 유형의 형태소로 생성하도록 실행되는 것을 특징으로 하는 텍스트 데이터의 정보 추출 장치. - 청구항 17에 있어서,
상기 생성 확률은,
상기 제1 유형의 형태소의 문맥적 의미에 상응하는 벡터에 소프트맥스 함수(softmax function)를 적용하여 산출되는 것을 특징으로 하는 텍스트 데이터의 정보 추출 장치. - 청구항 11에 있어서
상기 적어도 하나의 명령은,
상기 문장의 형태소 및 품사를 분석한 결과와 상기 트리플의 형태소 및 품사를 분석한 결과의 비교를 기반으로 교사 학습(supervised learning)을 수행하도록 더 실행되는 것을 특징으로 하는 텍스트 데이터의 정보 추출 장치. - 상기 청구항 19에 있어서,
상기 적어도 하나의 명령은,
상기 교사 학습을 수행하는 과정에서, 상기 트리플의 관계어에 포함된 형태소 중 기능적 역할을 수행하는 품사에 해당하는 형태소를 제1 목록에 저장하고;
상기 트리플의 관계어에 포함된 형태소 중 상기 제1 목록에 포함되지 않은 적어도 하나의 형태소와 동일한 형태소가 상기 문장에 존재하는 지를 판단하고; 그리고
상기 적어도 하나의 형태소 중 상기 문장에 존재하는 형태소를 제2 목록에 저장하도록 실행되는 것을 특징으로 하는 텍스트 데이터의 정보 추출 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170021100A KR20180094664A (ko) | 2017-02-16 | 2017-02-16 | 텍스트 데이터로부터 정보를 추출하기 위한 정보 추출 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170021100A KR20180094664A (ko) | 2017-02-16 | 2017-02-16 | 텍스트 데이터로부터 정보를 추출하기 위한 정보 추출 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180094664A true KR20180094664A (ko) | 2018-08-24 |
Family
ID=63454453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170021100A KR20180094664A (ko) | 2017-02-16 | 2017-02-16 | 텍스트 데이터로부터 정보를 추출하기 위한 정보 추출 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20180094664A (ko) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885627A (zh) * | 2019-02-13 | 2019-06-14 | 北京航空航天大学 | 一种神经网络训练实体间关系的方法及装置 |
CN111126039A (zh) * | 2019-12-25 | 2020-05-08 | 贵州大学 | 一种面向关系抽取的句子结构信息获取方法 |
KR20200058263A (ko) * | 2018-11-13 | 2020-05-27 | 울산과학기술원 | 신경망 기반 자동 슬롯 채우기 기술 및 장치 |
KR20200067713A (ko) * | 2018-12-04 | 2020-06-12 | 숭실대학교산학협력단 | 오류 트리플 검출 시스템 및 방법 |
KR20200084745A (ko) * | 2018-12-27 | 2020-07-13 | (주)아크릴 | 자연어 문장에 대한 의미 요소 관계 시각화 방법 및 이를 이용한 장치 |
CN111785350A (zh) * | 2020-06-30 | 2020-10-16 | 易联众信息技术股份有限公司 | 一种信息提取的方法、应用、装置及介质 |
CN112015859A (zh) * | 2019-05-31 | 2020-12-01 | 百度在线网络技术(北京)有限公司 | 文本的知识层次抽取方法及装置、计算机设备及可读介质 |
KR20210059572A (ko) * | 2019-11-15 | 2021-05-25 | 한국전자통신연구원 | 지식 추출 기반 비지도 방식을 이용한 슬롯 태깅 시스템 및 방법 |
CN112860855A (zh) * | 2021-02-04 | 2021-05-28 | 京东数字科技控股股份有限公司 | 一种信息抽取方法、装置及电子设备 |
KR20230143704A (ko) | 2022-04-06 | 2023-10-13 | 서울대학교산학협력단 | 교량점검보고서의 손상 메커니즘 추출 장치 및 방법 |
-
2017
- 2017-02-16 KR KR1020170021100A patent/KR20180094664A/ko not_active Application Discontinuation
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200058263A (ko) * | 2018-11-13 | 2020-05-27 | 울산과학기술원 | 신경망 기반 자동 슬롯 채우기 기술 및 장치 |
KR20200067713A (ko) * | 2018-12-04 | 2020-06-12 | 숭실대학교산학협력단 | 오류 트리플 검출 시스템 및 방법 |
KR20200084745A (ko) * | 2018-12-27 | 2020-07-13 | (주)아크릴 | 자연어 문장에 대한 의미 요소 관계 시각화 방법 및 이를 이용한 장치 |
CN109885627A (zh) * | 2019-02-13 | 2019-06-14 | 北京航空航天大学 | 一种神经网络训练实体间关系的方法及装置 |
CN112015859A (zh) * | 2019-05-31 | 2020-12-01 | 百度在线网络技术(北京)有限公司 | 文本的知识层次抽取方法及装置、计算机设备及可读介质 |
CN112015859B (zh) * | 2019-05-31 | 2023-08-18 | 百度在线网络技术(北京)有限公司 | 文本的知识层次抽取方法及装置、计算机设备及可读介质 |
KR20210059572A (ko) * | 2019-11-15 | 2021-05-25 | 한국전자통신연구원 | 지식 추출 기반 비지도 방식을 이용한 슬롯 태깅 시스템 및 방법 |
CN111126039A (zh) * | 2019-12-25 | 2020-05-08 | 贵州大学 | 一种面向关系抽取的句子结构信息获取方法 |
CN111126039B (zh) * | 2019-12-25 | 2022-04-01 | 贵州大学 | 一种面向关系抽取的句子结构信息获取方法 |
CN111785350A (zh) * | 2020-06-30 | 2020-10-16 | 易联众信息技术股份有限公司 | 一种信息提取的方法、应用、装置及介质 |
CN112860855A (zh) * | 2021-02-04 | 2021-05-28 | 京东数字科技控股股份有限公司 | 一种信息抽取方法、装置及电子设备 |
CN112860855B (zh) * | 2021-02-04 | 2024-02-06 | 京东科技控股股份有限公司 | 一种信息抽取方法、装置及电子设备 |
KR20230143704A (ko) | 2022-04-06 | 2023-10-13 | 서울대학교산학협력단 | 교량점검보고서의 손상 메커니즘 추출 장치 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20180094664A (ko) | 텍스트 데이터로부터 정보를 추출하기 위한 정보 추출 방법 및 장치 | |
CN108363790B (zh) | 用于对评论进行评估的方法、装置、设备和存储介质 | |
US9977778B1 (en) | Probabilistic matching for dialog state tracking with limited training data | |
CN107085581B (zh) | 短文本分类方法和装置 | |
US20200251091A1 (en) | System and method for defining dialog intents and building zero-shot intent recognition models | |
US9773053B2 (en) | Method and apparatus for processing electronic data | |
CN111143576A (zh) | 一种面向事件的动态知识图谱构建方法和装置 | |
CN111984766B (zh) | 缺失语义补全方法及装置 | |
CN110457708B (zh) | 基于人工智能的词汇挖掘方法、装置、服务器及存储介质 | |
JP2018190188A (ja) | 要約生成装置、要約生成方法及びコンピュータプログラム | |
KR20180138321A (ko) | 뉴럴 네트워크 모델을 이용한 기계 번역 방법, 장치 및 그 장치를 학습시키기 위한 방법 | |
US11170169B2 (en) | System and method for language-independent contextual embedding | |
US20220414463A1 (en) | Automated troubleshooter | |
KR102088357B1 (ko) | 기계독해기반 질의응답방법 및 기기 | |
Gómez-Adorno et al. | A graph based authorship identification approach | |
JP2018022496A (ja) | 自然言語処理装置に用いられるトレーニングデータを作成する方法と機器 | |
CN112131876A (zh) | 一种基于相似度确定标准问题的方法及*** | |
CN111160041A (zh) | 语义理解方法、装置、电子设备和存储介质 | |
CN113705196A (zh) | 基于图神经网络的中文开放信息抽取方法和装置 | |
CN114742016B (zh) | 一种基于多粒度实体异构图的篇章级事件抽取方法及装置 | |
JP2022088540A (ja) | ユーザ興味画像の生成方法、装置、電子機器及び記憶媒体 | |
US20220147719A1 (en) | Dialogue management | |
Mudge | The design of a proofreading software service | |
CN113342944A (zh) | 一种语料泛化方法、装置、设备及存储介质 | |
CN113536784A (zh) | 文本处理方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |