KR20230135372A - Ai기반 자연어처리를 통한 지능형 검색 시스템 - Google Patents

Ai기반 자연어처리를 통한 지능형 검색 시스템 Download PDF

Info

Publication number
KR20230135372A
KR20230135372A KR1020220032746A KR20220032746A KR20230135372A KR 20230135372 A KR20230135372 A KR 20230135372A KR 1020220032746 A KR1020220032746 A KR 1020220032746A KR 20220032746 A KR20220032746 A KR 20220032746A KR 20230135372 A KR20230135372 A KR 20230135372A
Authority
KR
South Korea
Prior art keywords
knowledge structure
search
query
concepts
phrase
Prior art date
Application number
KR1020220032746A
Other languages
English (en)
Inventor
전지영
Original Assignee
주식회사 코드와이즈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 코드와이즈 filed Critical 주식회사 코드와이즈
Priority to KR1020220032746A priority Critical patent/KR20230135372A/ko
Publication of KR20230135372A publication Critical patent/KR20230135372A/ko

Links

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/3344Query execution using natural language analysis
    • 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/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • 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/3332Query translation
    • G06F16/3338Query expansion
    • 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/36Creation of semantic tools, e.g. ontology or thesauri
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

AI 기반의 지식 구조 생성 방법을 활용한 검색 방법 및 시스템이 제시된다. 일 실시예에 따른 검색 방법은, 문헌으로부터 문단 단위의 구절을 추출하는 단계; 추출된 상기 구절을 인덱싱하며 입력되는 초기 질의어와 적합한 구절을 검색하여, 초기 구절 검색 결과를 획득하는 단계; 상기 초기 구절 검색 결과에서 기설정된 수의 상위 구절들을 자연어 처리를 통해 핵심 개념들을 추출한 후, 상기 핵심 개념들 간의 연관성 정보를 추출하는 단계; 상기 핵심 개념들 간의 연관성 정보를 이용하여 지식 구조를 생성하는 단계; 구축된 상기 지식 구조의 핵심 개념을 탐색하는 단계; 탐색된 상기 지식 구조 내 핵심 개념과 상기 초기 질의어 사이의 개념을 질의어 셋(set)에 추가하는 단계; 및 확장된 상기 질의어 셋을 활용하여 검색을 재수행하는 단계를 포함하여 이루어질 수 있다.

Description

AI기반 자연어처리를 통한 지능형 검색 시스템{Intelligent search system using AI-powered NLP}
아래의 실시예들은 AI 기반의 지식 구조 생성 방법을 활용한 검색 방법 및 시스템에 관한 것으로, 더욱 상세하게는 딥러닝을 활용한 지식 구조 생성 기술과 지식 구조 내 개념간의 연관성 정보를 활용한 AI기반 자연어처리를 통한 지능형 검색 시스템에 관한 것이다.
일반적으로 검색 서비스를 제공하는 검색 웹사이트는 사용자로부터 질의어가 입력되면 상기 질의어에 대응하는 검색 결과(예를 들면, 상기 질의어를 포함하는 웹 사이트, 상기 질의어를 포함하는 기사, 상기 질의어를 포함하는 파일명을 갖는 이미지 등)를 사용자에게 제공한다.
특히, 전문적인 분야에서 사용되는 질의어는 일반적인 질의어와는 달리 전문 용어와 축약어가 매우 많이 쓰이고 (예를 들면, alpha fetoprotein은 AFP, AFP-L3 등으로 다양하게 쓰임) 부위에 따라 다르게 해석되는 단어 (예를 들면, serum은 albumin과 함께 쓰일 때와 검사 항목으로 쓰일 때의 뜻이 달라짐)들이 많아 문서 혹은 구절이 해당 질의어를 포함하지 않더라도 위의 경우인 경우 검색 결과에 포함시킬 수 있는 검색 기법 개발이 요구된다.
그러나, 효율적인 검색 시스템이 되기 위하여 검색된 문서들 속에서 가장 핵심적인 구절들만 추출하여 사용자에게 제공해야 할 필요가 있다. 기존의 구절 검색 방법은 외부 리소스나 온톨로지로부터 관련 단어를 추출하는 방법이나, 상위에 검색된 문서로부터 기계적으로 관련 단어를 추출하는 방법 등이 사용되었다.
기존의 구절 검색 방법의 예로, 지식 구조 생성 방법이 제공될 수 있다. 한국등록번호 10-1538998호는 이러한 지식 구조를 기반으로 한 검색 서비스 제공 방법 및 장치에 관한 것으로, BoW(Bag-of-words)와 Word frequency 기반으로 문서 내의 주요한 키워드를 추출하고 두 키워드 사이의 co-occurrence 정보를 측정하여 단어의 연관성을 측정하였다. 이는 단일 문서에서 지식 구조를 추출하는 것은 가능하였으나, 복수 개의 문서로부터 하나의 통합된 지식 구조를 구축하기 어렵다는 단점이 있다.
또한, 지식 구조 검색 활용 방법의 경우, 초기 검색된 콘텐츠들의 지식 구조들을 각각 구축하고 지식 구조 내에서 초기 질의어들의 거리를 측정하여, 해당 정보를 근접성으로 정의하여 초기 검색 결과를 재정렬 하였다. 그러나 초기에 검색된 문서 이외에 숨겨진 다른 문서들은 검색하지 못한다는 단점이 있다.
그리고, 지식 구조를 활용한 서비스의 경우, 다양한 카테고리를 사용자에게 추천할 수 있게 하는 추천 서비스와 위키피디아를 기반으로 구축한 지식 구조를 바탕으로 문제 생성을 자동으로 하는 교육 서비스가 있다. 그러나 전문 분야에서의 지식 구조를 활용한 서비스를 제공하기에는 부족한 기능을 가진다.
대한민국 공개특허번호 제10-20150031087호 (2015.03.23 공개)
실시예들은 AI기반 자연어처리를 통한 지능형 검색 시스템에 관하여 기술하며, 보다 구체적으로 초기 질의어를 통해 상위에 검색된 복수 개의 관련 구절로부터 통합된 지식 구조를 자동으로 생성하고, 생성된 지식 구조로부터 질의어 확장에 관련된 키워드를 자동으로 추출하여 문서의 구절 검색 성능을 보다 획기적으로 향상시키는 기술을 제공한다.
일 실시예에 따른 AI기반 자연어처리를 통한 지능형 검색 시스템은 문헌으로부터 문단 단위의 구절을 추출하는 단계; 추출된 상기 구절을 인덱싱하며 입력되는 초기 질의어와 적합한 구절을 검색하여, 초기 구절 검색 결과를 획득하는 단계; 상기 초기 구절 검색 결과에서 기설정된 수의 상위 구절들을 자연어 처리를 통해 핵심 개념들을 추출한 후, 상기 핵심 개념들 간의 연관성 정보를 추출하는 단계; 상기 핵심 개념들 간의 연관성 정보를 이용하여 지식 구조를 생성하는 단계; 구축된 상기 지식 구조의 핵심 개념을 탐색하는 단계; 탐색된 상기 지식 구조 내 핵심 개념과 상기 초기 질의어 사이의 개념을 질의어 셋(set)에 추가하는 단계; 및 확장된 상기 질의어 셋을 활용하여 검색을 재수행하는 단계를 포함하여 이루어질 수 있다.
상기 초기 구절 검색 결과를 획득하는 단계는, 사용자가 입력한 초기 질의어와 적합한 구절들을 TF-IDF, BM25, LM 기법을 통해 검색 후, 종합하여 검색 결과를 획득할 수 있다.
상기 핵심 개념들 간의 연관성 정보를 추출하는 단계는, 상기 초기 구절 검색 결과에서 기설정된 수의 상위 구절들을 자연어 처리를 통해 핵심 개념들을 추출하는 단계; 및 추출된 상기 핵심 개념들을 이용하여 AI 기반의 Word2Vec 알고리즘을 수행하여 각 핵심 개념들을 벡터로 변환하는 임베딩 작업을 수행하는 단계를 포함하여 이루어질 수 있다.
실시예들에 따르면 복수 개의 리소스들로부터 통합된 지식 구조를 AI 기반의 텍스트 분석 기법을 통해 자동으로 구축함으로써, 각 리소스들에 대한 지식 구조를 각각 구축하여 통합하기 위해 고려해야 하는 통계적 방법들을 생략할 수 있는 AI 기반의 지식 구조 생성 방법을 활용한 검색 시스템을 제공할 수 있다.
도 1은 일 실시예에 따른 AI 기반의 지식 구조 생성 방법을 활용한 검색 시스템을 개략적으로 나타내는 블록도이다.
도 2는 일 실시예에 따른 AI 기반의 지식 구조 생성 방법을 활용한 검색 방법을 나타내는 흐름도이다.
도 3은 일 실시예에 따른 AST와 관련된 구절 검색 결과의 예를 나타내는 도면이다.
도 4는 일 실시예에 따른 구축된 지식 구조로부터의 질의어 확장의 예를 나타내는 도면이다.
이하, 첨부된 도면을 참조하여 실시예들을 설명한다. 그러나, 기술되는 실시예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 이하 설명되는 실시예들에 의하여 한정되는 것은 아니다. 또한, 여러 실시예들은 당해 기술분야에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해서 제공되는 것이다. 도면에서 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
본 실시예들은 초기 질의어를 통해 상위에 검색된 복수 개의 관련 구절(예를 들어, 의학 교과서 혹은 의학 저널 내 질의어와 관련된 문장이나 문단)로부터 통합된 지식 구조를 자동으로 생성하고, 생성된 지식 구조로부터 질의어 확장에 관련된 키워드를 자동으로 추출하여, 문서의 구절 검색 성능을 보다 획기적으로 향상시키는 방법 및 그 시스템에 관한 것이다.
본 실시예에서 제안하는 구절 검색 방법은 기존의 외부 리소스나 온톨로지로부터 관련 단어를 추출하는 방법이나 상위에 검색된 문서로부터 기계적으로 관련 단어를 추출하는 방법과 달리, 상위에 검색된 문서로부터 지식 구조를 구축하고 해당 지식 구조 내 질의어와 연관된 단어들을 확장된 질의어로 사용하여 검색 성능을 향상시키는 데에 기존 질의어 확장 방법들과 차이가 있다.
또한, 본 실시예에서 제안하는 방법은 기존의 지식 구조를 활용한 방법 대비 다음과 같은 대비점이 있다.
기존의 지식 구조 생성 방법은 BoW(Bag-of-words)와 Word frequency 기반으로 문서 내의 주요한 키워드를 추출하고 두 키워드 사이의 co-occurrence 정보를 측정하여 단어의 연관성을 측정하였다. 이는 단일 문서에서 지식 구조를 추출하는 것은 가능하였으나, 복수 개의 문서로부터 하나의 통합된 지식 구조를 구축하기 어렵다는 단점이 있다. 이에, 본 실시예에서는 Word2Vec이라는 CNN(Convolutional Neural Network) 기반의 자연어 처리를 위한 AI 기반 기술을 활용하여 복수 개의 문서로부터 통합 지식 구조를 자동으로 구축할 수 있다. 본 실시예에서 제안하는 지식 구조 생성 방법을 활용하면, 종래 기술 대비 복수 개의 문서 혹은 구절을 기반으로 한 지식 구조를 자동으로 생성할 수 있다는 장점을 가지고 있다.
또한, 기존의 지식 구조 검색 활용 방법은 초기 검색된 콘텐츠들의 지식 구조들을 각각 구축하고 지식 구조 내에서 초기 질의어들의 거리를 측정하여, 해당 정보를 근접성으로 정의하여 초기 검색 결과를 재정렬 하였다. 그러나 초기에 검색된 문서 이외에 숨겨진 다른 문서들은 검색하지 못한다는 단점이 있다. 본 실시예에서는 초기 검색된 구절로부터 통합된 지식 구조를 구축하고, 이를 문서의 재정렬이 아닌 질의어 확장에 사용하기 때문에, 기존 특허 대비 초기에 검색되지 못한 문서들을 검색하는 데에 사용할 수 있다는 장점을 가지고 있다.
그리고, 기존의 지식 구조를 활용한 서비스는 다양한 카테고리를 사용자에게 추천할 수 있게 하는 추천 서비스와 위키피디아를 기반으로 구축한 지식 구조를 바탕으로 문제 생성을 자동으로 하는 교육 서비스가 제공된다. 그러나, 분야에서의 지식 구조를 활용한 서비스를 제공하지 못한다. 본 실시예에서는 분야의 의사 결정을 검색을 통해 지원하는 서비스를 통해 분야에서의 지식 구조를 활용한 서비스를 제공하고자 한다.
본 발명의 목적은 자연어로 이루어진 들로부터 핵심 개념어들과 그 개념어들간의 관계를 AI 기반의 알고리즘을 통해 계산하여 지식 구조를 구축하고, 구축된 지식 구조로부터 질의어와 연관된 개념어들을 확장하는 질의어 확장, 그리고 확장된 질의어를 활용하여 의사 결정을 지원하기 위한 검색 서비스를 제공하는 것이다.
도 1은 일 실시예에 따른 AI 기반의 지식 구조 생성 방법을 활용한 검색 시스템을 개략적으로 나타내는 블록도이다.
도 1을 참조하면, 일 실시예에 따른 AI 기반의 지식 구조 생성 방법을 활용한 검색 시스템(100)은 구절 추출부(110), 구절 검색부(120), 연관성 정보 추출부(130), 지식 구조 생성부(140), 핵심 개념 탐색부(150) 및 질의어 확장부(160)를 포함하여 이루어질 수 있다. 또한, 실시예에 따라 사용자에게 검색 페이지를 구성하고 제공하는 화면 구성부(170) 및 각종 정보를 저장하는 데이터 베이스(180)를 더 포함할 수 있다.
보다 구체적으로, 일 실시예에 따른 AI 기반의 지식 구조 생성 방법을 활용한 검색 시스템은 문헌으로부터 문단 단위의 구절을 추출하는 구절 추출부(110), 추출된 구절을 인덱싱하며 입력되는 초기 질의어와 적합한 구절을 검색하여, 초기 구절 검색 결과를 획득하는 구절 검색부(120), 초기 구절 검색 결과에서 기설정된 수의 상위 구절들을 자연어 처리를 통해 핵심 개념들을 추출한 후, 핵심 개념들 간의 연관성 정보를 추출하는 연관성 정보 추출부(130), 핵심 개념들 간의 연관성 정보를 이용하여 지식 구조를 생성하는 지식 구조 생성부(140), 구축된 지식 구조의 핵심 개념을 탐색하는 핵심 개념 탐색부(150), 및 탐색된 지식 구조 내 핵심 개념과 초기 질의어 사이의 개념을 질의어 셋(set)에 추가하는 질의어 확장부(160)를 포함하고, 구절 검색부(120) 또는 별도의 구절 재검색부를 통해 확장된 질의어 셋을 활용하여 검색을 재수행할 수 있다.
이에 따라 사용자는 단말을 이용하여 일 실시예에 따른 AI 기반의 지식 구조 생성 방법을 활용한 검색 시스템(또는 서버)에 네트워크를 통해 접속하여 사용자가 원하는 다양한 을 검색할 수 있다. 여기에서는 의 검색을 하나의 예로써 설명하고 있으나 에 한정되지 않으며, 일반적인 구절 또는 특정 분야의 구절의 검색을 하도록 구성될 수 있다.
일 실시예에 따른 AI 기반의 지식 구조 생성 방법을 활용한 검색 시스템은 아래에서 하나의 예를 들어 보다 구체적으로 설명하기로 한다.
도 2는 일 실시예에 따른 AI 기반의 지식 구조 생성 방법을 활용한 검색 방법을 나타내는 흐름도이다.
도 2를 참조하면, 일 실시예에 따른 AI 기반의 지식 구조 생성 방법을 활용한 검색 방법은 딥러닝을 활용한 지식 구조 생성 기술과 지식 구조 내 개념간의 연관성 정보를 활용한 검색 방법으로, 다음과 같이 수행될 수 있다.
일 실시예에 따른 AI 기반의 지식 구조 생성 방법을 활용한 검색 방법은 문헌으로부터 문단 단위의 구절을 추출하는 단계(210), 추출된 구절을 인덱싱하며 입력되는 초기 질의어와 적합한 구절을 검색하여, 초기 구절 검색 결과를 획득하는 단계(220), 초기 구절 검색 결과에서 기설정된 수의 상위 구절들을 자연어 처리를 통해 핵심 개념들을 추출한 후, 핵심 개념들 간의 연관성 정보를 추출하는 단계(230), 핵심 개념들 간의 연관성 정보를 이용하여 지식 구조를 생성하는 단계(240), 구축된 지식 구조의 핵심 개념을 탐색하는 단계(250), 탐색된 지식 구조 내 핵심 개념과 초기 질의어 사이의 개념을 질의어 셋(set)에 추가하는 단계(260), 및 확장된 질의어 셋을 활용하여 검색을 재수행하는 단계(270)를 포함하여 이루어질 수 있다.
본 실시예들은 기존의 지식 구조 구축 방법과는 달리, 복수 개의 리소스들로부터 통합된 지식 구조를 AI 기반의 텍스트 분석 기법을 통해 자동으로 구축할 수 있다. 따라서 각 리소스들에 대한 지식 구조를 각각 구축하여 통합하기 위해 고려해야 하는 통계적 방법들을 생략할 수 있다.
또한, 지식 구조를 통한 질의어 확장 방법은 초기 질의어와 관련된 단어들을 묵시적으로 파악하여 제공할 수 있게 하여, 초기 검색되지 못한 문서의 검색을 가능하게 함과 더불어 보다 향상된 검색 성능을 확보할 수 있다.
이는, 특히 전문어 및 다양한 형태의 축약어 및 유의어가 존재하는 분야에서 활발하게 사용될 수 있는 검색 서비스를 제공하는 데에 사용될 수 있다.
아래에서 일 실시예에 따른 AI 기반의 지식 구조 생성 방법을 활용한 검색 방법을 보다 구체적으로 설명하기로 한다.
일 실시예에 따른 AI 기반의 지식 구조 생성 방법을 활용한 검색 방법은 도 1에서 설명한 일 실시예에 따른 AI 기반의 지식 구조 생성 방법을 활용한 검색 시스템을 이용하여 구체적으로 설명할 수 있다. 여기서, 일 실시예에 따른 AI 기반의 지식 구조 생성 방법을 활용한 검색 시스템(100)은 구절 추출부(110), 구절 검색부(120), 연관성 정보 추출부(130), 지식 구조 생성부(140), 핵심 개념 탐색부(150) 및 질의어 확장부(160)를 포함하여 이루어질 수 있다.
단계(210)에서, 구절 추출부(110)는 문헌으로부터 문단 단위의 구절을 추출할 수 있다. 예를 들어, 구절 추출부(110)는 온라인에서 수집된 복수의 문헌으로부터 문단 단위의 구절을 추출할 수 있다.
문단 단위의 구절을 추출하는 방법은 아래와 같이 수행될 수 있다.
E-book 파일 형식 변환을 위해 .azw3, .azw 형식을 .pdf, .txt, .doc로 변환할 수 있다.
텍스트 및 이미지 추출을 위해 PDFbox 라이브러리를 통한 텍스트/이미지를 추출할 수 있다.
텍스트 전처리(Pre-processing)를 위해 OpenNLP 라이브러리를 통한 텍스트 문장 및 문단 구분 전처리를 수행할 수 있다.
레퍼런스 추출을 위해 책 마지막의 참고문헌을 추출할 수 있다.
레퍼런스 웹 크롤링을 위해 참고문헌의 제목 및/또는 초록을 웹에서 크롤링할 수 있다.
위와 같은 과정을 통해, 문헌에서 추출된 텍스트로부터 문단을 추출해 내고 이를 한 구절로 정의할 수 있다.
단계(220)에서, 구절 검색부(120)는 추출된 구절을 인덱싱하며 입력되는 초기 질의어와 적합한 구절을 검색하여, 초기 구절 검색 결과를 획득할 수 있다. 예컨대, 구절 검색부(120)는 BoW(Bag-of-words) 기반의 검색 엔진을 이용하여 초기 구절 검색 결과 획득할 수 있다.
구절 검색부(120)는 앞에서 획득한 문단 단위의 구절들을 인덱싱하며 사용자가 입력한 초기 질의어와 적합한 구절들을 TF-IDF, BM25, LM 기법을 통해 검색하고, 이를 종합하여 검색 결과를 반환할 수 있다.
단계(230)에서, 연관성 정보 추출부(130)는 초기 구절 검색 결과에서 기설정된 수의 상위 구절들을 자연어 처리를 통해 핵심 개념들을 추출한 후, 핵심 개념들 간의 연관성 정보를 추출할 수 있다.
예를 들어, 연관성 정보 추출부(130)는 상위 M개의 구절을 자연어 처리를 통해 핵심 개념들을 추출한 후, AI 기반으로 각 핵심 개념들을 벡터 스페이스 모델로 변환하는 임베딩 작업을 수행할 수 있다.
보다 구체적으로, 연관성 정보 추출부(130)는 초기 구절 검색 결과에서 기설정된 수의 상위 구절들을 자연어 처리를 통해 핵심 개념들을 추출할 수 있다. 이후, 추출된 핵심 개념들을 이용하여 AI 기반의 Word2Vec 알고리즘을 수행하여 각 핵심 개념들을 벡터로 변환하는 임베딩 작업을 수행할 수 있다.
Word2vec(mikolov et al., 2013)은 말뭉치(Corpus)를 입력으로 받아서 말뭉치의 단어를 벡터로 표현하는 임베딩을 학습하는데 사용하는 자연어 처리를 위한 딥러닝 방법의 하나이다. 즉, 검색된 상위 M개의 구절들을 자연어 처리하여 명사를 추출한 후, Word2vec에 입력하면 해당 말뭉치의 속한 핵심 개념들 간의 연관 관계를 학습하여 벡터로 표현할 수 있다.
단계(240)에서, 지식 구조 생성부(140)는 핵심 개념들 간의 연관성 정보를 이용하여 지식 구조를 생성할 수 있다.
예컨대, 지식 구조 생성부(140)는 생성된 단어-벡터 행렬을 활용하여 유사한 개념을 연결하면 상위 M개의 구절에 대한 지식 구조를 생성할 수 있다.
보다 구체적으로, 지식 구조 생성부(140)는 기설정된 수의 상위 구절들로부터 추출된 핵심 개념들 간의 거리 매트릭스를 구축하고 얻어진 각 거리간의 유사도를 각 열(row)의 수치로 사용하여 연관성 행렬을 생성하고, 연관성 행렬을 이용하여 지식 구조를 생성할 수 있다.
기존의 지식 구조 생성 방법과 본 발명에서 제안하는 방법은 다음과 같은 명확한 차이를 지니고 있다.
1) 연관성 행렬 생성
기존의 기술은 핵심 명사들이 문단 단위에서 함께 등장하는 정도를 구하는 것이다. 아래의 식을 이용한 PCS(Paragraph co-occurrences Cosine Similarity) 방법은 위에서 추출한 명사들이 같은 문단(paragraph) 내에 얼마나 자주 동시 출현하는지를 수치화하는 데에 사용될 수 있다.
반면, 일 실시예에 따른 AI 기반의 지식 구조 생성 방법을 활용한 검색 방법은 상위 M개 구절로부터 추출된 개념들 간의 거리 매트릭스를 구축하고 단계(230)을 통해 얻어진 각 거리간의 유사도를 각 열(row)의 수치로 사용할 수 있다.
2) 다차원 스케일링
앞서 계산된 연관성 정보는 1-7 의 거리정보로 변환되어 1은 두 단어 간에 연관성이 높음을 나타내고, 7은 두 단어 간에 연관성이 낮음을 나타낼 수 있다. 이후, PathFinder(Schvaneveldt, 1989) 알고리즘을 이용하여 연관성 행렬의 차원(dimension)을 스케일링하여 잡음(Noise)를 제거하고 핵심어들 간의 근접성 정보를 선명하게 만드는 과정을 거쳐 생성된 행렬 정보를 이용하여 가시화된 지식 구조를 생성할 수 있다.
일 실시예에 따른 AI 기반의 지식 구조 생성 방법을 활용한 검색 방법은, 기존 방법과 달리, Pathfinder 알고리즘을 활용하지 않는다. 이는, 잡음을 제거하기 위해 설계된 알고리즘이 두 개념 사이의 묵시적인 관계까지 삭제하는 것을 방지하기 위한 것이다.
단계(250)에서, 핵심 개념 탐색부(150)는 구축된 지식 구조의 핵심 개념을 탐색할 수 있다.
특히, 핵심 개념 탐색부(150)는 페이지랭크(PageRank) 알고리즘을 활용하여 지식 구조에서 가장 핵심적인 키워드를 탐색할 수 있다.
단계(240)을 통해 구축된 지식 구조는 그래프 형태로, 페이지랭크(PageRank) 알고리즘을 활용하면, 지식 구조에서 가장 핵심적인 키워드가 무엇인지 알 수 있다. 본 실시예에서는 지식 구조의 형태에 적합하게 다음 식과 같이 페이지랭크(PageRank)를 변형하여 사용할 수 있다.
단계(260)에서, 질의어 확장부(160)는 탐색된 지식 구조 내 핵심 개념과 초기 질의어 사이의 개념을 질의어 셋(set)에 추가할 수 있다.
보다 구체적으로, 질의어 확장부(160)는 지식 구조 내 핵심 개념(또는 핵심 키워드)과 초기 질의어 사이에 놓여있는 개념어들을 질의어 셋(set)에 추가할 수 있다. 이 때, 해당 개념들을 최종적으로 확장하기 전에 외부 온톨리지를 활용하여 의학 용어와 관련이 있는지를 확인할 수 있다.
도 4는 일 실시예에 따른 구축된 지식 구조로부터의 질의어 확장의 예를 나타내는 도면이다.
도 4를 참조하면, 구축된 지식 구조(400)로부터의 질의어 확장의 예로써, Albumin(410)을 핵심 개념으로 하는 실제 지식 구조의 부분을 표현할 수 있다. Aspartate(420)가 초기 질의어로 들어오면, Albumin(410)과 Asparate(420)의 경로상에 놓여있는 'Albumin(410)', 'GOT(431)', 'Glutamic(432)', 'Activity(433)', 및 'Mitochondrial(434)'을 초기 질의어 셋에 포함시켜 질의어를 확장할 수 있다.
그러나, 명확하지 않은 개념을 질의어 셋에 포함시키게 되면 오히려 검색의 잡음을 발생시켜 전체적인 검색 성능을 하락시킬 수 있다. 이를 방지하기 위하여, 해당 개념들을 최종적으로 확장하기 전에 외부 온톨리지(BioPortal, UMLS, MeSH 등)를 활용하여 해당 개념들이 UMLS 코드를 가지고 있는 의학 용어와 관련이 있는지를 확인할 수 있다.
예를 들어, 구축된 지식 구조 상의 GOT(431)는 GET의 과거형이 아니라 UMLS 코드 C0528721을 가지고 있는 의학 용어임을 외부 온톨로지 검색을 통해 파악할 수 있다. 그러나 도 4에서 추가된 Activity(433)의 경우 특별히 의학 용어라고 판단할 만한 근거가 없으므로, 최종 질의어 확장 리스트에서 제외될 수 있다.
즉, 초기 질의어 Asparate(420)에 대하여, 본 실시예에서 제안하는 지식 구조를 통한 질의어 확장을 통해 'Albumin(410)', 'GOT(431)', 'Glutamic(432)', 및 'Mitochondrial(434)' 단어가 초기 질의어 셋에 추가될 수 있다.
단계(270)에서, 구절 검색부(120)는 확장된 질의어 셋을 활용하여 검색을 재수행할 수 있다. 여기서, 구절 검색부(120) 대신 별도의 구절 재검색부를 통해 확장된 질의어 셋을 활용하여 검색을 재수행할 수도 있다.
즉, 추가된 질의어를 통해 검색을 다시 수행할 수 있다. 이를 통해, 초기 검색 결과에 탐지되지 못한 추가적인 구절을 탐색할 수 있게 되며, 경로 상에 놓여있는 단어들을 추가하여 질의어와 지식 구조 핵심어 간의 근접성(Proximity)을 고려할 수 있게 되어 보다 더 향상된 구절 검색이 가능해 진다.
이에 따라 초기 질의어를 통해 상위에 검색된 복수 개의 관련 구절로부터 통합된 지식 구조를 자동으로 생성하고, 생성된 지식 구조로부터 질의어 확장에 관련된 키워드를 자동으로 추출할 수 있다.
한편, 이러한 구절 검색 방법은 뿐 아니라 다양한 구절 검색에 사용될 수 있다.
이상과 같이, 실시예들에 따르면 기존의 외부 리소스나 온톨로지로부터 관련 단어를 추출하는 방법이나 상위에 검색된 문서로부터 기계적으로 관련 단어를 추출하는 방법과 달리, 상위에 검색된 문서로부터 지식 구조를 구축하고 해당 지식 구조 내 질의어와 연관된 단어들을 확장된 질의어로 사용하여 검색 성능을 향상시킬 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
100 : 시스템
110 : 구절추출부
120 : 구절검색부
130 : 연관성 정보 추출부
140 : 지식 구조 생성부
150 : 핵심 개념 탐색부
160 : 질의어 확장부
170 : 화면 구성부
180 : 데이터 베이스

Claims (3)

  1. 구절 추출부에서 문헌으로부터 문단 단위의 구절을 추출하는 단계;
    구절 검색부에서 추출된 상기 구절을 인덱싱하며 입력되는 초기 질의어와 적합한 구절을 검색하여, 초기 구절 검색 결과를 획득하는 단계;
    연관성 정보 추출부에서 상기 초기 구절 검색 결과에서 기설정된 수의 상위 구절들을 자연어 처리를 통해 핵심 개념들을 추출한 후, 상기 핵심 개념들 간의 연관성 정보를 추출하는 단계;
    지식 구조 생성부에서 상기 핵심 개념들 간의 연관성 정보를 이용하여 지식 구조를 생성하는 단계;
    핵심 개념 탐색부에서 구축된 상기 지식 구조의 핵심 개념을 탐색하는 단계;
    질의어 확장부에서 탐색된 상기 지식 구조 내 핵심 개념과 상기 초기 질의어 사이의 개념을 질의어 셋(set)에 추가하는 단계; 및
    상기 구절 검색부에서 확장된 상기 질의어 셋을 활용하여 검색을 재수행하는 단계
    를 포함하고,
    상기 문헌으로부터 문단 단위의 구절을 추출하는 단계는,
    복수의 문헌에서 파일 형식을 변환한 후, PDFbox 라이브러리를 이용하여 텍스트 및 이미지 추출하며, OpenNLP 라이브러리를 통해 텍스트 문장 및 문단을 구분하는 텍스트 전처리를 수행함에 따라, 추출된 텍스트로부터 문단을 추출하고 상기 문단을 한 구절로 정의하여 상기 문단 단위의 구절을 추출하며,
    상기 핵심 개념들 간의 연관성 정보를 이용하여 지식 구조를 생성하는 단계는,
    상기 기설정된 수의 상위 구절들로부터 추출된 상기 핵심 개념들 간의 거리 매트릭스를 구축하고 얻어진 각 거리간의 유사도를 각 열(row)의 수치로 사용하여 연관성 행렬을 생성하는 단계; 및
    상기 연관성 행렬을 이용하여 상기 지식 구조를 생성하는 단계
    를 포함하며,
    상기 지식 구조 내 핵심 개념과 상기 초기 질의어 사이의 개념을 질의어 셋(set)에 추가하는 단계는,
    상기 지식 구조 내 핵심 개념과 상기 초기 질의어 사이에 놓여있는 개념어를 질의어 셋(set)에 추가하되, 질의어 확장 이전에 외부 온톨로지를 활용하여 상기 개념어가 UMLS 코드를 가지고 있는 의학 용어인지 여부를 판단하여 의학 용어라고 판단되지 않는 경우 질의어 셋(set)에 추가하지 않는 것
    을 특징으로 하는, AI기반 자연어처리를 통한 지능형 검색 시스템.
  2. 제1항에 있어서,
    상기 초기 구절 검색 결과를 획득하는 단계는,
    사용자가 입력한 초기 질의어와 적합한 구절들을 TF-IDF, BM25, LM 기법을 통해 검색 후, 종합하여 검색 결과를 획득하는 것
    을 특징으로 하는, AI기반 자연어처리를 통한 지능형 검색 시스템
  3. 제1항에 있어서,
    상기 핵심 개념들 간의 연관성 정보를 추출하는 단계는,
    상기 초기 구절 검색 결과에서 기설정된 수의 상위 구절들을 자연어 처리를 통해 핵심 개념들을 추출하는 단계; 및
    추출된 상기 핵심 개념들을 이용하여 AI 기반의 Word2Vec 알고리즘을 수행하여 각 핵심 개념들을 벡터로 변환하는 임베딩 작업을 수행하는 단계
    를 포함하는, AI기반 자연어처리를 통한 지능형 검색 시스템'

KR1020220032746A 2022-03-16 2022-03-16 Ai기반 자연어처리를 통한 지능형 검색 시스템 KR20230135372A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220032746A KR20230135372A (ko) 2022-03-16 2022-03-16 Ai기반 자연어처리를 통한 지능형 검색 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220032746A KR20230135372A (ko) 2022-03-16 2022-03-16 Ai기반 자연어처리를 통한 지능형 검색 시스템

Publications (1)

Publication Number Publication Date
KR20230135372A true KR20230135372A (ko) 2023-09-25

Family

ID=88190739

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220032746A KR20230135372A (ko) 2022-03-16 2022-03-16 Ai기반 자연어처리를 통한 지능형 검색 시스템

Country Status (1)

Country Link
KR (1) KR20230135372A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150031087A (ko) 2013-09-13 2015-03-23 한국과학기술원 지식 구조를 기반으로 한 검색 서비스 제공 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150031087A (ko) 2013-09-13 2015-03-23 한국과학기술원 지식 구조를 기반으로 한 검색 서비스 제공 방법 및 장치

Similar Documents

Publication Publication Date Title
Bennani-Smires et al. Simple unsupervised keyphrase extraction using sentence embeddings
Sugiyama et al. Exploiting potential citation papers in scholarly paper recommendation
US8775442B2 (en) Semantic search using a single-source semantic model
KR102059743B1 (ko) 딥러닝 기반의 지식 구조 생성 방법을 활용한 의료 문헌 구절 검색 방법 및 시스템
Wang et al. Targeted disambiguation of ad-hoc, homogeneous sets of named entities
US8812504B2 (en) Keyword presentation apparatus and method
Yu et al. Corpus-based set expansion with lexical features and distributed representations
Bouadjenek et al. Using social annotations to enhance document representation for personalized search
El Ghali et al. Context-aware query expansion method using language models and latent semantic analyses
Ren et al. Comparative document analysis for large text corpora
Jayashree et al. Categorized text document summarization in the Kannada language by sentence ranking
Alrehamy et al. SemCluster: unsupervised automatic keyphrase extraction using affinity propagation
WO2021205080A1 (en) System and method for performing a search in a vector space based search engine
Ullah et al. A framework for extractive text summarization using semantic graph based approach
Renjit et al. CUSAT NLP@ AILA-FIRE2019: Similarity in Legal Texts using Document Level Embeddings.
JP5565568B2 (ja) 情報推薦装置、情報推薦方法およびプログラム
Gupta et al. Text analysis and information retrieval of text data
Boughareb et al. A graph-based tag recommendation for just abstracted scientific articles tagging
JP5869948B2 (ja) パッセージ分割方法、装置、及びプログラム
Sindhu et al. Text Summarization: A Technical Overview and Research Perspectives
Han et al. Text summarization using sentence-level semantic graph model
Wu et al. A new approach to query segmentation for relevance ranking in web search
Babu GL et al. Extractive Summarization of Telugu Text Using Modified Text Rank and Maximum Marginal Relevance
KR20230135372A (ko) Ai기반 자연어처리를 통한 지능형 검색 시스템
JP2010009237A (ja) 多言語間類似文書検索装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体