KR102603298B1 - 대상문서로부터 의미론적 키워드를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템 - Google Patents

대상문서로부터 의미론적 키워드를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템 Download PDF

Info

Publication number
KR102603298B1
KR102603298B1 KR1020230006918A KR20230006918A KR102603298B1 KR 102603298 B1 KR102603298 B1 KR 102603298B1 KR 1020230006918 A KR1020230006918 A KR 1020230006918A KR 20230006918 A KR20230006918 A KR 20230006918A KR 102603298 B1 KR102603298 B1 KR 102603298B1
Authority
KR
South Korea
Prior art keywords
keyword
noun
noun phrase
feature information
phrases
Prior art date
Application number
KR1020230006918A
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 KR1020230006918A priority Critical patent/KR102603298B1/ko
Application granted granted Critical
Publication of KR102603298B1 publication Critical patent/KR102603298B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

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

Abstract

본 발명은 대상문서로부터 의미론적 키워드를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템으로서, 입력문서에 대한 제1특징정보를 추출하고, 상기 입력문서에 포함되는 복수의 명사구 각각에 대한 제2특징정보를 추출하는 BERT모델을 이용하여, 1 이상의 키워드를 추출할 수 있는 키워드모델을 학습하고, 학습된 키워드모델을 이용하여 대상문서의 의미론적 키워드를 도출할 수 있는, 대상문서로부터 의미론적 키워드를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템에 관한 것이다.

Description

대상문서로부터 의미론적 키워드를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템{The Method And The Computer-Readable Recording Medium To Extract Semantic Keywords From A Target Document, And The Computing System for Performing That Same}
본 발명은 대상문서로부터 의미론적 키워드를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템으로서, 입력문서에 대한 제1특징정보를 추출하고, 상기 입력문서에 포함되는 복수의 명사구 각각에 대한 제2특징정보를 추출하는 BERT모델을 이용하여, 1 이상의 키워드를 추출할 수 있는 키워드모델을 학습하고, 학습된 키워드모델을 이용하여 대상문서의 의미론적 키워드를 도출할 수 있는, 대상문서로부터 의미론적 키워드를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템에 관한 것이다.
최근, 딥러닝 기술은 빠르게 발전하면서 자연어, 이미지, 영상 등 다양한 분야에서 점차 높은 성능을 보이고 있으며, 그 활용분야도 점차 확대되고 있다. 특히 문서의 내재된 의미를 이해하고, 요약하는 자연어 처리 분야에서 딥러닝 기반의 모델들이 최근 들어 뛰어난 성능을 보이고 있다. 그에 따라 딥러닝 모델을 문서 분류에도 활용하는 연구들이 많이 진행되고 있는데 그 중에서 특히 BERT(Bidirectional Encoder Representations from Transformer)모델은 다양한 자연어 처리 분양에서 가장 좋은 성능을 보이고 있다.
BERT모델은 사전 학습된 대용량의 레이블링 되지 않은 데이터(unlabeled data)를 이용하여 언어 모델(Language Model)을 학습하고, 이를 토대로 문서 분류, 질의 응답 혹은 번역 등과 같은 특정 작업을 위한 신경망을 추가하는 전이학습(Transfer Learning)방법을 채택하고 있다. 또한, 대용량의 데이터를 직접 학습시키기 위해서는 매우 많은 자원과 시간이 소요되는 반면, 상기 BERT모델은, 기본적으로 대량의 단어 임베딩(word embedding) 등에 대해 사전 학습(pre-trained)이 되어 있는 모델을 제공하기 때문에 상대적으로 적은 자원만으로도 충분히 자연어 처리 등의 일을 수행할 수 있다는 특징을 가진다.
BERT모델의 입력 특징정보(input representation)는 토큰 임베딩(token embeddings), 세그먼트 임베딩(segment embedding), 및 포지션 임베딩(position embrdding)의 합으로 이루어지고, 상기 입력 특징정보를 수신한 BERT모델은, MLM(Masked Language Model - 입력된 복수의 토큰 중 일부 토큰을 무작위로 마스킹하고 마스킹된 토큰을 예측하는 작업)과 NSP(Next Sentence Prediction - 두번째 문장이 첫번째 문장의 바로 다음에 오는 문장인지 예측하는 작업)을 수행한다.
이와 같이, BERT모델을 이용하여 키워드를 추출하는 종래 기술로는, 대한민국 공개특허 제10-2021-0151281호와 같이, 입력받은 텍스트 데이터에서 핵심문장을 추출하는 기술 등이 있다. 하지만, 이러한 종래 기술의 경우, 입력된 데이터 내에 실제로 존재하는 키워드 혹은 문장을 추출하기 때문에 의미론적으로 유사한 키워드 혹은 문장을 추출하지 못하며, 추출되는 키워드 혹은 문장 등이 유사하여 실질적으로 성능이 떨어지는 문제점이 존재한다. 이러한 문제점을 해결함으로써, 입력된 데이터에 꼭 존재하지 않더라도 의미론적으로 유사한 키워드를 추출하고, 추출된 1 이상의 키워드들이 서로 유사하지 않아, 입력받은 대상문서의 실질적인 키워드를 정확하게 추출할 수 있는 기술이 요구된다.
대한민국 공개특허 제10-2021-0151281호 (2021.12.14.)
본 발명은 대상문서로부터 의미론적 키워드를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템으로서, 입력문서에 대한 제1특징정보를 추출하고, 상기 입력문서에 포함되는 복수의 명사구 각각에 대한 제2특징정보를 추출하는 BERT모델을 이용하여, 1 이상의 키워드를 추출할 수 있는 키워드모델을 학습하고, 학습된 키워드모델을 이용하여 대상문서의 의미론적 키워드를 도출할 수 있는, 대상문서로부터 의미론적 키워드를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템을 제공하는 것을 목적으로 한다.
상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예는, 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅시스템에서 수행되는, 대상문서로부터 의미론적 키워드를 추출하는 방법으로서, 입력문서를 기학습된 BERT모델에 입력하여 제1특징정보를 추출하는 제1특징정보추출단계; 상기 입력문서의 형태소를 분석하여, 상기 입력문서에 포함되는 복수의 명사구를 추출하는 명사구추출단계; 상기 복수의 명사구를 BERT모델에 입력하여 각각의 명사구에 대한 제2특징정보를 추출하는 제2특징정보추출단계; 상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보의 유사도에 기초하여, 기설정된 개수의 키워드명사구를 도출하는 키워드명사구추출단계; 상기 입력문서 및 상기 키워드명사구를 이용하여 입력된 문서에 대해 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델을 학습하는 모델학습단계; 및 학습된 키워드모델에 대상문서를 입력하여 해당 대상문서에 대한 의미론적 키워드를 도출하는 키워드추출단계;를 포함하는, 의미론적 키워드를 추출하는 방법을 제공한다.
본 발명의 일 실시예에서는, 상기 제1특징정보 및 상기 제2특징정보는 복수의 수치를 포함하는 벡터 형태이고, 상기 키워드명사구추출단계는, 상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보에 기초하여 스칼라 형태를 가지는 벡터유사도를 도출하는 유사도도출단계; 및 기설정된 개수의 상위의 벡터유사도를 갖는 명사구를 상기 입력문서에 대한 키워드명사구로 도출하는 제1키워드명사구선정단계;를 포함할 수 있다.
본 발명의 일 실시예에서는, 상기 제1특징정보 및 상기 제2특징정보는 복수의 수치를 포함하는 벡터 형태이고, 상기 키워드명사구추출단계는, 상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보에 기초하여 스칼라 형태의 벡터유사도를 도출하는 유사도도출단계; 기설정된 제1개수의 상위의 벡터유사도를 갖는 명사구를 제1후보키워드명사구로 도출하는 제1후보키워드명사구선정단계; 및 상기 제1후보키워드명사구 중 기설정된 제2개수의 명사구를 키워드명사구로 추출하되, 상기 기설정된 제2개수의 명사구 사이의 벡터유사도가 최소가 되도록 하는 상기 제2개수의 명사구를 상기 입력문서에 대한 키워드명사구로 도출하는 제2키워드명사구선정단계;를 포함할 수 있다.
본 발명의 일 실시예에서는, 상기 제2키워드명사구선정단계는, 상기 제1개수의 제1후보키워드명사구 중 상기 제1특징정보와 가장 높은 벡터유사도를 가지는 명사구를 선택하는 제1선택단계; 및 상기 제1후보키워드명사구 중에서 상기 제1선택단계에서 선택된 명사구와 가장 벡터유사도가 낮은 명사구를 선택하는 제2선택단계;를 포함하고, 상기 제1선택단계 및 상기 제2선택단계에서 선택되는 명사구의 총 개수는 상기 제2개수이고, 상기 제1선택단계 및 상기 제2선택단계에서 선택된 상기 제2개수의 명사구를 키워드명사구로 도출할 수 있다.
본 발명의 일 실시예에서는, 상기 제1특징정보 및 상기 제2특징정보는 복수의 수치를 포함하는 벡터 형태이고, 상기 키워드명사구추출단계는, 상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보에 기초하여 스칼라 형태의 벡터유사도를 도출하는 유사도도출단계; 기설정된 제3개수의 상위의 벡터유사도를 갖는 명사구를 제2후보키워드명사구로 도출하는 제2후보키워드명사구선정단계; 상기 제2후보키워드명사구 중 가장 높은 벡터유사도를 갖는 명사구를 기준키워드명사구로 도출하는 기준키워드명사구추출단계; 및 상기 기준키워드명사구를 제외한 상기 제2후보키워드명사구 중 상기 기준키워드명사구와의 벡터유사도가 낮을수록 높아지게 산출되는 제1스코어와 상기 제1특징정보와의 벡터유사도가 높을수록 높아지게 산출되는 제2스코어의 합이 가장 높은 제2후보키워드명사구를 기준키워드명사구로 추가하는 기준키워드명사구추가단계;를 포함할 수 있다.
본 발명의 일 실시예에서는, 상기 키워드명사구추출단계는, 상기 기준키워드명사구추가단계 이후, 상기 기준키워드명사구추출단계 및 상기 기준키워드명사구추가단계 각각에서 도출된 명사구를 제외한 상기 제2후보키워드명사구 중 상기 기준키워드명사구추가단계에서 추가된 명사구와 벡터유사도가 낮을수록 높아지게 산출되는 제1스코어와 상기 제1특징정보와 벡터유사도가 높을수록 높아지게 산출되는 제2스코어의 합이 가장 높은 제2후보키워드명사구를 기준키워드명사구로 더 추가하는 단계; 및 반복 수행된 기준키워드명사구추가단계를 통해 도출된 기준키워드명사구의 수가 기설정된 제4개수가 되는 경우, 도출된 상기 제4개수의 기준키워드명사구를 상기 입력문서에 대한 키워드명사구로 도출하는 제3키워드명사구선정단계;를 더 포함할 수 있다.
본 발명의 일 실시예에서는, 상기 키워드추출단계는, 상기 대상문서의 제1특징정보; 상기 대상문서의 제2특징정보; 및 상기 대상문서를 상기 학습된 키워드모델에 입력함으로써 도출되는 히든레이어정보;에 기초하여 해당 문서에 대한 의미론적 키워드를 도출할 수 있다.
상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예는, 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅시스템에서 수행되는, 대상문서로부터 의미론적 키워드를 추출하는 방법을 구현하기 위한 컴퓨터-판독가능 기록매체로서, 상기 컴퓨터-판독가능 기록매체는, 상기 컴퓨팅시스템으로 하여금 이하의 단계들을 수행하도록 하는 명령들을 저장하며, 상기 이하의 단계들은: 입력문서를 기학습된 BERT모델에 입력하여 제1특징정보를 추출하는 제1특징정보추출단계; 상기 입력문서의 형태소를 분석하여, 상기 입력문서에 포함되는 복수의 명사구를 추출하는 명사구추출단계; 상기 복수의 명사구를 BERT모델에 입력하여 각각의 명사구에 대한 제2특징정보를 추출하는 제2특징정보추출단계; 상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보의 유사도에 기초하여, 기설정된 개수의 키워드명사구를 도출하는 키워드명사구추출단계; 상기 입력문서 및 상기 키워드명사구를 이용하여 입력된 문서에 대해 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델을 학습하는 모델학습단계; 및 학습된 키워드모델에 대상문서를 입력하여 해당 대상문서에 대한 의미론적 키워드를 도출하는 키워드추출단계;를 포함하는, 컴퓨터-판독가능 기록매체를 제공한다.
상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예는, 1 이상의 프로세서 및 1 이상의 메모리를 포함하고, 대상문서로부터 의미론적 키워드를 추출하는 방법을 수행하는 컴퓨팅시스템으로서, 입력문서를 기학습된 BERT모델에 입력하여 제1특징정보를 추출하는 제1특징정보추출부; 상기 입력문서의 형태소를 분석하여, 상기 입력문서에 포함되는 복수의 명사구를 추출하는 명사구추출부; 상기 복수의 명사구를 BERT모델에 입력하여 각각의 명사구에 대한 제2특징정보를 추출하는 제2특징정보추출부; 상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보의 유사도에 기초하여, 기설정된 개수의 키워드명사구를 도출하는 키워드명사구추출부; 상기 입력문서 및 상기 키워드명사구를 이용하여 입력된 문서에 대해 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델을 학습하는 모델학습부; 및 대상문서를 학습된 키워드모델에 입력하여 해당 대상문서에 대한 의미론적 키워드를 도출하는 키워드추출부;를 포함하는, 컴퓨팅시스템을 제공한다.
본 발명의 일 실시예에 따르면, 입력문서에 대한 제1특징정보를 추출하고, 상기 입력문서에 포함되는 복수의 명사구 각각에 대한 제2특징정보를 추출한 뒤, 상기 제1특징정보와 상기 제2특징정보의 유사도에 따라 키워드명사구를 도출하는 구성을 통해, 키워드모델을 학습시키기 위한 학습용데이터를 적은 시간과 비용으로 도출할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 자동적으로 학습용데이터를 생성하는 구성을 통해 생성된 다수의 학습용데이터로 키워드모델을 학습시킬 수 있고, 이를 통해 키워드모델의 성능을 적은 시간과 적은 비용으로 향상시킬 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 키워드명사구를 도출하는데 있어, 도출되는 키워드명사구의 정확도뿐만 아니라 다양성을 고려함으로써, 유사한 의미를 가지는 복수의 키워드명사구가 반복 도출되는 것을 방지할 수 있고, 이를 통해 대상문서의 실질적인 키워드를 도출할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 대상문서를 키워드모델에 입력함으로써 얻을 수 있는 히든레이어정보를 활용함으로써, 해당 대상문서에 존재하지 않는 키워드라도 의미론적으로 유사한 키워드를 도출할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 특정 문서에 대한 검색서비스를 제공하는데 있어, 데이터베이스에 저장된 복수의 문서들에 대한 의미론적 키워드를 도출할 수 있고, 이를 통해 상기 검색서비스의 이용자가 검색한 키워드가 직접적으로 포함되지 않더라도 의미론적으로 비슷한 키워드가 있는 문서를 검색결과로 제공할 수 있는 효과를 발휘할 수 있다.
도 1은 본 발명의 일 실시예에 따른 대상문서로부터 의미론적 키워드를 추출하는 방법의 수행단계를 개략적으로 도시한다.
도 2는 본 발명의 일 실시예에 따른 입력문서에 대해 제1특징정보와 제2특징정보를 도출하는 과정을 개략적으로 도시한다.
도 3은 본 발명의 일 실시예에 따른 제1특징정보와 제2특징정보에 기초하여 해당 입력문서에 대한 키워드명사구를 도출하는 과정을 개략적으로 도시한다.
도 4는 본 발명의 일 실시예에 따른 제1키워드명사구선정단계의 수행과정을 개략적으로 도시한다.
도 5는 본 발명의 일 실시예에 따른 제1후보키워드명사구선정단계의 수행과정을 개략적으로 도시한다.
도 6은 본 발명의 일 실시예에 따른 제2키워드명사구선정단계의 수행단계를 개략적으로 도시한다.
도 7은 본 발명의 일 실시예에 따른 제2후보키워드명사구선정단계 및 기준키워드명사구추출단계의 수행과정을 개략적으로 도시한다.
도 8은 본 발명의 일 실시예에 따른 제1스코어와 제2스코어를 도출하고, 상기 제1스코어와 상기 제2스코어의 합에 기초하여 합산스코어를 도출하는 과정을 개략적으로 도시한다.
도 9는 본 발명의 일 실시예에 따른 기준키워드명사구추가단계의 수행과정을 개략적으로 도시한다.
도 10은 본 발명의 일 실시예에 따른 기준키워드명사구추출단계 내지 기준키워드명사구추가단계의 수행단계를 개략적으로 도시한다.
도 11은 본 발명의 일 실시예에 따른 제3키워드명사구선정단계의 수행과정에서 도출되는 키워드명사구의 벡터를 개략적으로 도시한다.
도 12는 본 발명의 일 실시예에 따른 키워드모델을 학습하고, 학습된 키워드모델을 통해 대상문서로부터 의미론적 키워드를 추출하는 과정을 개략적으로 도시한다.
도 13은 본 발명의 일 실시예에 따른 키워드모델의 구조 및 히든레이어정보를 개략적으로 도시한다.
도 14는 본 발명의 일 실시예에 따른 검색서비스에서 의미론적 키워드가 사용되는 구성을 개략적으로 도시한다.
도 15는 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부 구성을 예시적으로 도시한다.
이하에서는, 다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나 이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
또한, 본 발명의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 대상문서로부터 의미론적 키워드를 추출하는 방법의 수행단계를 개략적으로 도시한다.
도 1에 도시된 바와 같이, 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅시스템에서 수행되는, 대상문서로부터 의미론적 키워드를 추출하는 방법으로서, 입력문서를 기학습된 BERT모델에 입력하여 제1특징정보를 추출하는 제1특징정보추출단계(S100); 상기 입력문서의 형태소를 분석하여, 상기 입력문서에 포함되는 복수의 명사구를 추출하는 명사구추출단계(S200); 상기 복수의 명사구를 BERT모델에 입력하여 각각의 명사구에 대한 제2특징정보를 추출하는 제2특징정보추출단계(S300); 상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보의 유사도에 기초하여, 기설정된 개수의 키워드명사구를 도출하는 키워드명사구추출단계(S400); 상기 입력문서 및 상기 키워드명사구를 이용하여 입력된 문서에 대해 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델을 학습하는 모델학습단계(S500); 및 학습된 키워드모델에 대상문서를 입력하여 해당 대상문서에 대한 의미론적 키워드를 도출하는 키워드추출단계(S600);를 포함한다.
개략적으로, 본원 발명의 대상문서로부터 의미론적 키워드를 추출하는 방법은 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅시스템에서 수행되고, 상기 컴퓨팅시스템은 이하에서 서술되는 BERT모델 및 키워드모델을 포함하며, 상기 키워드모델에 대상문서를 입력함으로써 해당 대상문서에 대한 의미론적 키워드를 도출하는 것을 특징으로 한다.
한편, 이하에서는 "입력문서"와 "대상문서"를 구분하여 서술한다. 상기 "입력문서"는 키워드모델을 학습시키기 위한 제1특징정보와 제2특징정보를 얻기 위한 문서에 해당하고, 상기 "대상문서"는 키워드모델에 입력되어 의미론적 키워드를 얻기 위한 문서에 해당한다. 예를 들어, 상기 "입력문서"는 의안 검색서비스를 제공하는 서비스서버의 데이터베이스에 저장되어 있는 복수의 의안데이터에 해당할 수 있고, 상기 "대상문서"는 상기 검색서비스의 이용자 혹은 관리자가 의미론적 키워드를 알고 싶어하는 특정 의안데이터에 해당할 수 있다. 한편, 상기 "입력문서" 및 상기 "대상문서"는 설명을 위해 구분하여 명명할 뿐, 실제 본 발명에서는 '입력문서용 문서'와 '대상문서용 문서'를 별도로 구분하지 않으며, 일 실시예에서는 특정 문서가 "입력문서"에 해당하다가, 다른 실시예에서는 상기 특정 문서가 "대상문서"에 해당할 수 있다.
또한, 이하에서 서술되는 "문서"는 상기 "입력문서" 및 상기 "대상문서"를 포함하고, 상기 "문서"의 바람직한 예로서는, 의안, 법령, 조례, 및 국회 회의록 등을 포함하는 법률문서 혹은 국회문서에 해당하나, 이에 한정하지 않고, 신문, 뉴스, 기사, SNS 등 텍스트를 포함하는 다양한 매체 혹은 데이터를 포함한다.
구체적으로, 상기 컴퓨팅시스템의 제1특징정보추출부는, 입력문서를 기학습된 BERT모델에 입력하여 해당 입력문서에 대한 제1특징정보를 추출하는 제1특징정보추출단계(S100)를 수행한다. 상기 제1특징정보는 복수의 수치를 포함하는 벡터형태로서, 상기 입력문서의 문맥 혹은 분위기 등을 알 수 있는 정보를 포함한다.
또한, 상기 컴퓨팅시스템의 명사구추출부는, 상기 입력문서의 형태소를 분석하여 상기 입력문서에 포함되는 복수의 명사구(noun phrase)를 추출하는 명사구추출단계(S200)를 수행한다. 상기 명사구추출부는, 입력문서를 입력 받으면 해당 입력문서에 포함되는 모든 단어를 분석하고, 각각의 단어에 대한 형태소를 인식하여 각각의 단어에 대한 품사(POS, Part Of Speech)정보를 출력하는 형태소분석기를 포함한다. 본 발명의 일 실시예로서, 상기 형태소분석기는 규칙 기반의 기계학습모델을 이용하여 입력문서에 상응하는 품사정보를 출력할 수 있고, 본 발명의 다른 실시예로서, 상기 형태소분석기는 DNN기반의 기계학습모델을 이용하여 입력문서에 상응하는 품사정보를 출력할 수 있다.
상기 명사구추출부에 의해 복수의 명사구가 추출되면, 상기 컴퓨팅시스템의 제2특징정보추출부는, 상기 복수의 명사구를 BERT모델에 입력하여 상기 복수의 명사구 각각에 대한 제2특징정보를 추출하는 제2특징정보추출단계(S300)를 수행한다. 상기 제2특징정보는 복수의 수치를 포함하는 벡터형태로서, 해당 명사구의 분위기 혹은 속성 등을 알 수 있는 정보를 포함한다.
전술한 과정을 통해 입력문서에 대한 제1특징정보와 제2특징정보가 도출되는 경우, 상기 컴퓨팅시스템의 키워드명사구추출부는, 상기 제1특징정보와 상기 제2특징정보 간의 유사도를 산출하고, 산출된 유사도에 기초하여, 해당 입력문서에 대해 기설정된 개수의 키워드명사구를 추출하는 키워드명사구추출단계(S400)를 수행한다. 만약 입력문서가 2020년 11월 18일 행정안전위원회에서 제안된'도로교통법 일부개정법률안'인 경우, 해당 입력문서의 키워드명사구는, '전동킥보드', '음주운전', 및 '이동장치의 규제 완화'를 포함할 수 있다.
이후, 상기 컴퓨팅시스템의 모델학습부는, 상기 키워드명사구추출단계(S400)를 통해 추출된 기설정된 개수의 키워드명사구 및 상기 입력문서를 이용하여 키워드모델을 학습하는 모델학습단계(S500)를 수행한다. 더 구체적으로, 상기 키워드모델은 입력된 문서에 대해 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 모델로서, 상기 컴퓨팅시스템의 키워드추출부에 포함된다.
상기 키워드추출부는 상기 모델학습단계(S500)를 통해 학습된 키워드모델에 대상문서를 입력하여 해당 대상문서에 대한 의미론적 키워드를 도출하는 키워드추출단계(S600)를 수행한다. 상기 의미론적 키워드는, 상기 대상문서에 직접적으로 포함되는 명사구가 아니더라도, 의미론적으로 동일하거나 유사한 의미를 가지는 키워드를 의미한다. 예를 들어, 특정 대상문서의 키워드명사구로 '자전거', '전동킥보드', 및 '세그웨이(segway)'가 추출되었을 때, 해당 대상문서의 의미론적 키워드로는 '개인형 이동장치'가 추출될 수 있다. 이와 같이, 본원 발명은 대상문서에 직접적으로 포함되지 않는 명사구일지라도 동일하거나 유사하거나 포괄적인 의미를 가지는 의미론적 키워드를 추출하는 것을 기술적 특징으로 하고, 이러한 기술적 특징을 통해, 검색서비스 등에서 이용자에게 보다 편리하게 검색결과를 제공하거나, 혹은 데이터베이스에 저장된 복수의 문서들 중 대상문서와 유사한 문서를 보다 정확하게 찾을 수 있는 서비스 등을 제공할 수 있다.
도 2는 본 발명의 일 실시예에 따른 입력문서에 대해 제1특징정보와 제2특징정보를 도출하는 과정을 개략적으로 도시한다.
구체적으로, 도 2는, 도 1에 대한 설명을 참고하여, 제1특징정보추출단계(S100), 명사구추출단계(S200) 및 제2특징정보추출단계(S300)의 수행과정을 도시한다. 전술한 바와 같이, 상기 제1특징정보 및 상기 제2특징정보 각각은 복수의 수치를 포함하는 벡터 형태이며, BERT모델에 입력문서를 입력함으로써 추출할 수 있다. 상기 제1특징정보는 상기 입력문서 전체에 대해서 하나의 벡터로 표현되고, 상기 제2특징정보는 상기 입력문서에 포함되는 모든 명사구 각각에 대해 벡터로 표현된다. 즉, 도 2에 도시된 바와 같이, 하나의 입력문서에 대해서 상기 제1특징정보추출단계(S100) 및 상기 제2특징정보추출단계(S300)가 수행되는 경우, 하나의 제1특징정보와 복수의 제2특징정보가 도출되는 것이 바람직하다.
한편, 상기 입력문서에 포함되는 모든 명사구는 형태소분석기를 통해 추출될 수 있고, 상기 형태소분석기는 규칙 기반의 기계학습모델; 혹은 DNN 기반의 기계학습모델;을 이용하여 입력받은 입력문서에 포함되는 모든 명사구를 추출할 수 있다.
도 3은 본 발명의 일 실시예에 따른 제1특징정보와 제2특징정보에 기초하여 해당 입력문서에 대한 키워드명사구를 도출하는 과정을 개략적으로 도시한다.
구체적으로, 도 3은 도 1에 대한 설명을 참고하여, 키워드명사구추출단계(S400)의 과정을 도시한다. 제1특징정보추출단계(S100) 및 제2특징정보추출단계(S300)를 통해 도출된 제1특징정보 및 제2특징정보는 유사도도출부에 입력되고, 상기 유사도도출부는 입력받은 제1특징정보와 제2특징정보 간의 유사도를 도출하는 유사도도출단계를 수행한다. 도 3에 도시된 바와 같이, 상기 유사도도출부는, 키워드명사구추출부에 포함되는 것이 바람직하며, 상기 유사도도출단계를 통해 상기 입력받은 제1특징정보 및 제2특징정보 간의 벡터유사도를 도출한다. 한편, 전술한 "유사도"는 상기 벡터유사도를 포함하는 개념에 해당한다.
본 발명의 일 실시예로서, 상기 유사도도출부는, 코사인유사도를 사용하여 상기 벡터유사도를 도출하는 것이 바람직하다. 더 구체적으로, 상기 코사인유사도는, 두 개의 벡터의 내적값을 두 벡터의 크기의 곱으로 나누는 방식으로 도출될 수 있으며, 이에 따라 도출되는 코사인유사도는 스칼라형태를 가진다. 다시 말해, 상기 유사도도출부는, 벡터형태인 제1특징정보와 제2특징정보의 내적값을 제1특징정보의 크기와 제2특징정보의 크기의 곱으로 나누어 벡터유사도를 도출한다. 상기 벡터유사도는 -1 내지 1의 값을 가질 수 있으며, 비교되는 두 벡터가 유사할수록 1에 가까운 벡터유사도가 산출되고, 비교되는 두 벡터가 동일한 경우 해당 두 벡터의 벡터유사도는 1로 산출된다.
제1특징정보 및 제2특징정보에 기초하여 벡터유사도가 도출되면, 상기 키워드명사구추출부는 도출된 벡터유사도에 기초하여 기설정된 개수의 키워드명사구를 도출한다. 한편, 도 3에서는 설명의 편의를 위하여 하나의 제2특성정보를 도시하였으나, 도 2를 참고하여, 유사도도출부는 입력문서에 대한 복수의 제2특징정보 각각과 해당 입력문서에 대한 제1특징정보를 비교하고, 각각의 제2특징정보에 따른 복수의 벡터유사도를 도출한다. 상기 키워드명사구추출부에 의하여 입력문서에 대한 키워드명사구가 도출되는 키워드명사구추출단계(S400)는 이하에서 후술되는 도 4 내지 도 10에 대한 설명에서 보다 자세히 언급하도록 한다.
도 4는 본 발명의 일 실시예에 따른 제1키워드명사구선정단계의 수행과정을 개략적으로 도시한다.
도 4에 도시된 바와 같이, 상기 제1특징정보 및 상기 제2특징정보는 복수의 수치를 포함하는 벡터 형태이고, 상기 키워드명사구추출단계(S400)는, 상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보에 기초하여 스칼라 형태를 가지는 벡터유사도를 도출하는 유사도도출단계; 및 기설정된 개수의 상위의 벡터유사도를 갖는 명사구를 상기 입력문서에 대한 키워드명사구로 도출하는 제1키워드명사구선정단계;를 포함한다.
구체적으로, 도 3에 대한 설명을 참고하여, 도 4의 (a)에 도시된 바와 같이, 유사도도출단계를 통해 입력문서에 포함되는 모든 명사구 각각에 대한 제2특징정보와 해당 입력문서에 대한 제1특징정보 사이의 벡터유사도가 도출된다. 이후 키워드명사구추출부는, 도 4의 (b)에 도시된 바와 같이, 상기 제2특징정보 중 기설정된 개수의 상위의 벡터유사도를 갖는 제2특징정보에 상응하는 명사구를 선정(S410)하고, 선정된 기설정된 개수의 명사구를 해당 입력문서에 대한 키워드명사구로 도출(S411)하는 제1키워드명사구선정단계를 수행한다.
다시 말해, 해당 입력문서에 대한 명사구가 총 n개 도출되는 경우, 상기 제2특징정보추출단계(S300)를 통해 n개의 명사구 각각에 상응하는 n개의 제2특징정보가 도출되고, 상기 n개의 제2특징정보 각각과 해당 입력문서의 제1특징정보에 대한 n개의 벡터유사도가 산출되며, 이후 기설정된 개수의 상위의 벡터유사도를 갖는 제2특징정보에 상응하는 명사구가 해당 입력문서의 키워드명사구로 선정(S410 내지 S411)된다.
즉, 도 4의 (b)는, 기설정된 개수를 5개로 선정한 실시예를 도시하며, 상기 키워드명사구추출부는, 제2특징정보#1 내지 제2특징정보#n 중 가장 벡터유사도가 높은 5개의 제2특징정보(도 4의 (b)에서는 제2특징정보#11, #2, ... #7)를 해당 입력문서의 키워드명사구로 도출할 수 있다.
도 5는 본 발명의 일 실시예에 따른 제1후보키워드명사구선정단계의 수행과정을 개략적으로 도시하고, 도 6은 본 발명의 일 실시예에 따른 제2키워드명사구선정단계의 수행단계를 개략적으로 도시한다.
도 5 내지 도 6에 도시된 바와 같이, 상기 제1특징정보 및 상기 제2특징정보는 복수의 수치를 포함하는 벡터 형태이고, 상기 키워드명사구추출단계(S400)는, 상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보에 기초하여 스칼라 형태의 벡터유사도를 도출하는 유사도도출단계; 기설정된 제1개수의 상위의 벡터유사도를 갖는 명사구를 제1후보키워드명사구로 도출하는 제1후보키워드명사구선정단계; 및 상기 제1후보키워드명사구 중 기설정된 제2개수의 명사구를 키워드명사구로 추출하되, 상기 기설정된 제2개수의 명사구 사이의 벡터유사도가 최소가 되도록 하는 상기 제2개수의 명사구를 상기 입력문서에 대한 키워드명사구로 도출하는 제2키워드명사구선정단계;를 포함한다.
또한, 상기 제2키워드명사구선정단계는, 상기 제1개수의 제1후보키워드명사구 중 상기 제1특징정보와 가장 높은 벡터유사도를 가지는 명사구를 선택하는 제1선택단계(S422); 및 상기 제1후보키워드명사구 중에서 상기 제1선택단계(S422)에서 선택된 명사구와 가장 벡터유사도가 낮은 명사구를 선택하는 제2선택단계(S423);를 포함하고, 상기 제1선택단계(S422) 및 상기 제2선택단계(S423)에서 선택되는 명사구의 총 개수는 상기 제2개수이고, 상기 제1선택단계(S422) 및 상기 제2선택단계(S423)에서 선택된 상기 제2개수의 명사구를 키워드명사구로 도출한다.
개략적으로, 이하에서 서술되는 도 5 내지 도 6에 대한 설명에서의 키워드명사구추출단계(S400)는, 도 4에 대한 설명에서 상술한 키워드명사구추출단계(S400)의 다른 실시예에 해당한다.
구체적으로, 도 4의 (a)에 대한 설명을 참고하여, 상기 키워드명사구추출부는 도 5의 (a)에 도시된 바와 같이, 입력문서에 대한 복수의 제2특징정보와 해당 입력문서에 대한 제1특징정보 사이의 벡터유사도를 도출할 수 있다. 이후 상기 키워드명사구추출부는 도 5의 (a)에 도시된 n개의 제2특징정보 중 기설정된 제1개수의 상위의 벡터유사도를 갖는 제2특징정보에 상응하는 명사구를 선정(S420)하고, 선정된 상기 제1개수의 명사구를 해당 입력문서에 대한 제1후보키워드명사구로 도출(S421)하는 제1후보키워드명사구선정단계를 수행한다. 도 5의 (b)는 기설정된 제1개수를 15개로 설정한 일 실시예에 대해 도시한다.
이후 상기 키워드명사구추출부는, 도출된 제1후보키워드명사구 중 기설정된 제2개수의 명사구를 키워드명사구로 도출하는 제2키워드명사구선정단계를 수행한다. 이 때, 상기 기설정된 제2개수의 명사구 사이의 벡터유사도가 최소가 되도록하는 명사구를 상기 입력문서에 대한 키워드명사구로 도출한다.
더욱 상세하게는, 전술한 도 4에 대한 설명을 참고하여, 제1키워드명사구선정단계를 통해 키워드명사구를 선정하는 경우, 기설정된 개수의 키워드명사구 중 일부 혹은 전체가 유사한 명사구에 해당할 수 있다. 즉, 예를 들어, 입력문서가 OTT(Over The Top)에 관한 문서일 경우, 기설정된 개수의 키워드명사구로, 'OTT', '인터넷을 통한 영상제공 서비스', '구독형 영상 플랫폼' 등이 포함될 수 있다. 상술한 'OTT', '인터넷을 통한 영상제공 서비스', '구독형 영상 플랫폼'는 사실상 모두 같은 의미를 가지고 같은 목적으로 해당 입력문서에서 사용되었을 가능성이 높기 때문에, 상술한 'OTT', '인터넷을 통한 영상제공 서비스', '구독형 영상 플랫폼' 각각이 해당 입력문서의 각기 다른 키워드명사구로 선정되는 것은 해당 입력문서에 대해 정확하고 실질적인 키워드명사구를 선정했다고 보기 어렵다. 따라서, 이와 같이 2 이상의 유사한 키워드명사구가 도출되는 경우를 방지하기 위하여 상기 키워드명사구추출부는 제2키워드명사구선정단계를 수행한다.
도 6에 도시된 바와 같이, 상기 제1후보키워드명사구선정단계를 통해 기설정된 제1개수의 제1후보키워드명사구가 선정(S421)되면, 상기 키워드명사구추출부는 상기 제1개수의 제1후보키워드명사구 중 해당 입력문서의 제1특징정보와 가장 높은 벡터 유사도를 가지는 명사구를 선택하는 제1선택단계(S422)를 수행한다. 상기 제1선택단계(S422)에서, 도 5의 (b)에 도시된 실시예의 경우 제2특징정보#11이 선택될 수 있다. 이후, 상기 키워드명사구추출부는 상기 제1개수의 제1후보키워드명사구 중에서 상기 제1선택단계(S422)에서 선택된 명사구와 가장 벡터유사도가 낮은 1 이상의 명사구를 선택하는 제2선택단계(S423)를 수행한다.
더 구체적으로, 본 발명의 일 실시예에 따르면, 상기 제2선택단계(S423)에서 선택되는 명사구의 수는 (기설정된 제2개수 - 1)개 일 수 있다. 다시 말해, 상기 제2키워드명사구선정단계는 제1 내지 제2선택단계(S423)에서 선택된 명사구를 해당 입력문서에 대한 키워드명사구로 선정하며, 상기 제1 내지 제2선택단계(S423)에서 선택된 명사구의 개수가 총 상기 기설정된 제2개수이므로, 상기 제2선택단계(S423)에서 선택되는 명사구의 수는 (기설정된 제2개수 - 1)개에 해당한다. 만약, 상기 기설정된 제2개수가 5개일 경우, 상기 제2선택단계(S423)에서는 총 4개의 명사구가 선택되며, 상기 4개의 명사구는 상기 제1선택단계(S422)에서 선택된 명사구와 가장 벡터유사도가 낮은 4개의 명사구에 해당할 수 있다.
한편, 본 발명의 다른 실시예에 따르면, 제1선택단계(S422)는 해당 입력문서의 제1특징정보와 가장 높은 벡터유사도를 가지는 제2특징정보에 상응하는 명사구;와 해당 명사구에 상응하면서 상기 제1특징정보에 포함되는 명사구;를 선택할 수 있다. 이후 제2선택단계(S423)에서는 상기 제2특징정보에 상응하는 명사구; 및 상기 제1특징정보에 포함되는 명사구;로 구성된 명사구쌍(noun phrase pairs) 각각과 가장 낮은 벡터유사도를 가지는 1 이상의 명사구를 선택할 수 있다.
전술한 바와 같이, 상기 키워드명사구추출부는, 제1 내지 제2선택단계(S423)를 통해 선택된 기설정된 제2개수의 명사구를 해당 입렵문서의 키워드명사구로 추출(S424)한다.
도 7은 본 발명의 일 실시예에 따른 제2후보키워드명사구선정단계 및 기준키워드명사구추출단계(S400)의 수행과정을 개략적으로 도시하고, 도 8은 본 발명의 일 실시예에 따른 제1스코어와 제2스코어를 도출하고, 상기 제1스코어와 상기 제2스코어의 합에 기초하여 합산스코어를 도출하는 과정을 개략적으로 도시하고, 도 9는 본 발명의 일 실시예에 따른 기준키워드명사구추가단계의 수행과정을 개략적으로 도시하고, 도 10은 본 발명의 일 실시예에 따른 기준키워드명사구추출단계(S400) 내지 기준키워드명사구추가단계의 수행단계를 개략적으로 도시하며, 도 11은 본 발명의 일 실시예에 따른 제3키워드명사구선정단계의 수행과정에서 도출되는 키워드명사구의 벡터를 개략적으로 도시한다.
도 7 내지 도 11에 도시된 바와 같이, 상기 제1특징정보 및 상기 제2특징정보는 복수의 수치를 포함하는 벡터 형태이고, 상기 키워드명사구추출단계(S400)는, 상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보에 기초하여 스칼라 형태의 벡터유사도를 도출하는 유사도도출단계; 기설정된 제3개수의 상위의 벡터유사도를 갖는 명사구를 제2후보키워드명사구로 도출하는 제2후보키워드명사구선정단계; 상기 제2후보키워드명사구 중 가장 높은 벡터유사도를 갖는 명사구를 기준키워드명사구로 도출하는 기준키워드명사구추출단계(S400); 및 상기 기준키워드명사구를 제외한 상기 제2후보키워드명사구 중 상기 기준키워드명사구와의 벡터유사도가 낮을수록 높아지게 산출되는 제1스코어와 상기 제1특징정보와의 벡터유사도가 높을수록 높아지게 산출되는 제2스코어의 합이 가장 높은 제2후보키워드명사구를 기준키워드명사구로 추가하는 기준키워드명사구추가단계;를 포함한다.
또한, 상기 키워드명사구추출단계(S400)는, 상기 기준키워드명사구추가단계 이후, 상기 기준키워드명사구추출단계(S400) 및 상기 기준키워드명사구추가단계 각각에서 도출된 명사구를 제외한 상기 제2후보키워드명사구 중 상기 기준키워드명사구추가단계에서 추가된 명사구와 벡터유사도가 낮을수록 높아지게 산출되는 제1스코어와 상기 제1특징정보와 벡터유사도가 높을수록 높아지게 산출되는 제2스코어의 합이 가장 높은 제2후보키워드명사구를 기준키워드명사구로 더 추가하는 단계; 및 반복 수행된 기준키워드명사구추가단계를 통해 도출된 기준키워드명사구의 수가 기설정된 제4개수가 되는 경우, 도출된 상기 제4개수의 기준키워드명사구를 상기 입력문서에 대한 키워드명사구로 도출하는 제3키워드명사구선정단계;를 더 포함한다.
개략적으로, 이하에서 서술되는 도 7 내지 도 11에 대한 설명에서의 키워드명사구추출단계(S400)는, 도 4에 대한 설명에서 상술한 키워드명사구추출단계(S400)의 또 다른 실시예 해당하며, 도 5 내지 도 6에 대한 설명에서 상술한 키워드명사구추출단계(S400)와도 다른 구성을 가진다.
구체적으로, 도 4의 (a) 및 도 5의 (a)에 대한 설명을 참고하여, 상기 키워드명사구추출부는 도 7의 (a)에 도시된 바와 같이, 입력문서에 대한 복수의 제2특징정보와 해당 입력문서에 대한 제1특징정보 사이의 벡터유사도를 도출할 수 있다. 이후 상기 키워드명사구추출부는 도 6의 (a)에 도시된 n개의 제2특징정보 중 기설정된 제3개수의 상위의 벡터유사도를 갖는 제2특징정보에 상응하는 명사구를 선정(S430)하고, 선정된 상기 제3개수의 명사구를 해당 입력문서에 대한 제2후보키워드명사구로 도출(S431)하는 제2후보키워드명사구선정단계를 수행한다. 도 7의 (a)는 기설정된 제3개수를 15개로 설정한 일 실시예에 대해 도시한다.
이후 상기 키워드명사구추출부는, 도 7의 (b)에 도시된 바와 같이, 도출된 제2후보키워드명사구 중 해당 입력문서의 제1특징정보와 가장 높은 벡터유사도를 가지는 명사구를 기준키워드명사구로 도출하는 기준키워드명사구추출단계(S400)를 수행한다. 도 7의 (b)에서는 제2특징정보#11이 해당 입력문서에 대한 기준키워드명사구로 도출된 실시예에 대해 도시한다.
상기 키워드명사구추출부는, 상기 기준키워드명사구추출단계(S400)에서 추출된 기준키워드명사구를 제외한 상기 제2기준키워드명사구에 대해서 이하의 방법을 통해 도출되는 명사구를 기준키워드명사구로 추가하는 기준키워드명사구추가단계를 수행한다. 상기 기준키워드명사구추가단계는, 도 8 내지 도 9에 도시된 바와 같이, 제1스코어 및 제2스코어의 합으로 도출되는 합산스코어가 가장 높은 명사구를 기준키워드명사구로 추가한다.
더 구체적으로, 상기 제1스코어는 상기 기준키워드명사구와의 벡터유사도가 낮을수록 높아지게 산출되는 스코어에 해당하며, 상기 제2스코어는 해당 입력문서의 제1특징정보와의 벡터유사도가 높을수록 높아지게 산출되는 스코어에 해당한다. 도 8은 도 7의 (b)에서와 같이 상기 제2특징정보#11이 기준키워드명사구로 선정된 실시예에 대해 도시한다. 도 8에 도시된 바와 같이, 상기 키워드명사구추출부는, 기준키워드명사구인 제2특징정보#11;과 상기 제2후보키워드명사구로 도출되었으나 기준키워드명사구로 선정되지 않은 제2특징정보#7, ... 제2특징정보#7 각각;의 벡터유사도를 산출하여 상기 제2특징정보#7, ... 제2특징정보#7에 상응하는 14개의 제1스코어(제1스코어#2, ... 제1스코어#7)를 산출(S433)할 수 있다. 또한, 상기 키워드명사구추출부는, 해당 입력문서의 제1특징정보;와 상기 제2후보키워드명사구로 도출되었으나 기준키워드명사구로 선정되지 않은 제2특징정보#2, ... 제2특징정보#7 각각;의 벡터유사도를 산출하여 상기 제2특징정보#2, ... 제2특징정보#7에 상응하는 14개의 제2스코어(제2스코어#2, ... 제2스코어#7)를 산출(S434)할 수 있다.
이후, 상기 키워드명사구추출부는, 상기 14개의 제1스코어와 상기 14개의 제2스코어를 각각 합산하여 도출되는 14개의 합산스코어(합산스코어#2, ... 합산스코어#7)를 도출한다. 이 때, 합산스코어를 도출하는데 사용되는 제1스코어와 제2스코어는 동일한 제2특징정보에 상응하는 제1스코어 및 제2스코어에 해당한다.
전술한 바와 같이 기준키워드명사구를 제외한 제2후보키워드명사구 각각에 상응하는 제2특징정보에 대해서 합산스코어를 각각 도출한 뒤에, 상기 키워드명사구추출부는, 도 9에 도시된 바와 같이, 가장 높은 합산스코어에 상응하는 제2특징정보를 기준키워드명사구로 추가(S436)한다. 즉, 상기 단계 S432 및 상기 단계 S436을 통해 총 2개의 기준키워드명사구를 도출할 수 있다.
이후, 상기 키워드명사구추출부는, 도 10에 도시된 수행단계를 통해, 기설정된 제4개수의 기준키워드명사구를 도출하고, 상기 제4개수의 기준키워드명사구를 해당 입력문서의 키워드명사구로 도출하는 제3키워드명사구선장단계를 수행한다.
더 구체적으로, 기준키워드명사구추출단계(S400)를 통해 기준키워드명사구가 도출(S440)되면, 상기 키워드명사구추출부는 상기 제2후보키워드명사구선정단계에서 선정된 제2후보키워드명사구 중 상기 기준키워드명사구를 제외(S441)한 제2키워드명사구 각각에 대해 가장 최근에 도출된 기준키워드명사구와의 제1스코어를 도출(S442)한다. 이 때 가장 최근에 도출된 기준키워드명사구는 상기 단계 S440에서 도출된 기준키워드명사구이다. 또한, 상기 키워드명사구추출부는 상기 기준키워드명사구를 제외한 제2키워드명사구 각각에 대하여 해당 입력문서의 제1특징정보와의 제2스코어를 도출(S443)한 뒤, 상기 단계 S442 내지 S443에서 도출된 제1스코어 및 제2스코어의 합산스코어가 가장 높은 제2후보키워드명사구를 기준키워드명사구에 추가(S444)한다.
이후, 상기 키워드명사구추출부는, 다시 단계 S441을 수행하되, 도출된 제2후보키워드명사구 중에서 단계 S440에서 도출된 기준키워드명사구와 단계 S444에서 추가된 기준키워드명사구를 모두 제외한다. 다시 말해, 도 10에 도시된 바와 같이, 처음에 기준키워드명사구추출단계(S400)를 통해 기준키워드명사구추출단계(S400)를 도출한 이후, 상기 키워드명사구추출부는, 상기 단계 S441 내지 단계 S444를 반복적으로 수행함으로써 기준키워드명사구를 하나씩 추가할 수 있다. 이 때, 단계 S442에서는 가장 최근에 추가된 기준키워드명사구와의 제1스코어를 산출한다. 이와 같이, 단계 S441 내지 단계 S444를 반복수행함으로써 총 기설정된 제4개수만큼의 기준키워드명사구를 도출하게 되면, 상기 키워드명사구추출부는 상기 제4개수의 기준키워드명사구를 해당 입력문서에 대한 키워드명사구로 도출하는 제3키워드명사구선정단계를 수행한다.
한편, 상기 제2후보키워드명사구선정단계 내지 상기 기준키워드명사구추가단계에서 기설정된 제3개수의 수를 높게 잡을수록 해당 입력문서에 대해 보다 다양한 키워드명사구를 얻을 수 있지만, 해당 입력문서에 대한 정확한 키워드명사구를 얻기 힘들 수 있다. 즉, 본원 발명은 상기 제3개수를 조절함으로써 해당 입력문서에 대해 가장 실질적이고 정확한 키워드명사구를 얻을 수 있다.
도 7 내지 도 10에 대한 설명에서 서술한 제3키워드명사구선정단계를 수행함으로써, 본원 발명은 입력문서에 대한 키워드명사구를 추출하는데 있어, 제1 내지 제2키워드명사구선정단계에 비해 다양성을 확보할 수 있는 효과를 발휘할 수 있다. 다시 말해, 상기 제1키워드명사구선정단계와 같이, 단순히 벡터유사도만을 가지고 키워드명사구를 추출하는 경우, 다양성을 확복하지 못하게 되어, 전술한 바와 같이 의미론적으로 동일한 키워드명사구가 반복해서 도출될 수 있다. 반면, 상기 제3키워드명사구선정단계에서는 합산스코어에 기초하여 추가되는 기준키워드명사구를 기준으로 가장 유사도가 낮으면서 제1특징정보와의 유사도가 높은 명사구를 기준키워드명사구로 선정하기 때문에 도출되는 제4개수의 기준키워드명사구 각각이 가장 적은 유사성을 가지는 효과를 발휘할 수 있다.
도 11에서, 본 발명의 일 실시예로서, 작은 점 각각은 상기 제2후보키워드선정단계에서 선정된 제2특징정보를 의미하며, 같은 방향 및 크기를 가진 제2특징정보들은 의미론적으로 유사한 명사구일 수 있다. 즉, 도 11에 도시된 바와 같이, 해당 입력문서의 키워드명사구로서 의미론적으로 유사하나 다른 형태의 2 이상의 명사구가 동시에 추출될 수 있다. 한편, 본원 발명에서는 상기 제3키워드명사구선정단계를 통해 이러한 의미론적으로 유사한 명사구를 동시에 키워드명사구로 선정하는 것을 방지할 수 있어 해당 입력문서의 실질적인 키워드명사구를 추출할 수 있다.
도 12는 본 발명의 일 실시예에 따른 키워드모델을 학습하고, 학습된 키워드모델을 통해 대상문서로부터 의미론적 키워드를 추출하는 과정을 개략적으로 도시하고, 도 13은 본 발명의 일 실시예에 따른 키워드모델의 구조 및 히든레이어정보를 개략적으로 도시하며, 도 14는 본 발명의 일 실시예에 따른 검색서비스에서 의미론적 키워드가 사용되는 구성을 개략적으로 도시한다.
구체적으로, 도 12의 (a)에 도시된 바와 같이, 상기 컴퓨팅시스템의 모델학습부는, 복수의 입력문서;와 전술한 과정을 수행함으로써 도출된 상기 복수의 입력문서에 대한 복수의 키워드명사구;를 이용하여 키워드모델을 학습하는 모델학습단계(S500)를 수행한다. 상기 키워드모델은 입력된 문서에 대해 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 모델에 해당한다.
이후, 도 12의 (b)에 도시된 바와 같이, 사용자 혹은 컴퓨팅시스템에 의하여, 의미론적 키워드를 도출하고 싶은 대상문서가 키워드모델에 입력되면, 상기 컴퓨팅시스템의 키워드추출부에 의하여, 상기 대상문서에 대한 의미론적 키워드를 도출하는 키워드추출단계(S600)가 수행된다. 한편, 상기 키워드추출단계(S600)는, 상기 대상문서의 제1특징정보; 상기 대상문서의 제2특징정보; 및 상기 대상문서를 상기 학습된 키워드모델에 입력함으로써 도출되는 히든레이어정보;에 기초하여 해당 문서에 대한 의미론적 키워드를 도출한다.
더 구체적으로, 상기 키워드추출부는, 상기 대상문서를 키워드모델에만 입력하는 것이 아니라, 도 2에 대한 설명을 참고하여, BERT모델에 입력함으로써, 상기 대상문서에 대한 제1특징정보 및 제2특징정보를 도출한다. 이후, 상기 대상문서에 대한 제1특징정보 및 제2특징정보; 및 상기 대상문서를 키워드모델에 입력함으로써 도출되는 히든레이어정보;에 기초하여 상기 대상문서에 대한 의미론적 키워드를 도출할 수 있다.
상기 히든레이어정보는, 도 13에 도시된 키워드모델 내부에 위치하는 히든레이어(hidden layer)에 대한 정보를 포함한다. 한편, 도 13은 설명을 위해 상기 키워드모델의 구조를 개략적으로 도시하였으며, 실제 본 발명에서의 키워드모델의 구조는 도 13에 도시된 구조와 상이할 수 있다. 도 13에 도시된 바와 같이, 상기 키워드모델의 내부에는 복수의 히든레이어가 포함될 수 있으며, 바람직한 실시예로서, 상기 키워드추출부는 복수의 히든레이어 중 출력레이어(output layer)와 가장 가까운 히든레이어를 통해 도출되는 히든레이어정보에 기초하여 의미론적 키워드를 도출할 수 있다. 상기 키워드모델의 출력레이어정보가 아닌 히든레이어정보를 사용하는 이유는 상기 히든레이어정보는 상기 출력레이어정보에 비해 더 다양한 명사구에 대한 정보를 가지고 있기 때문이다. 더 구체적으로, 예를 들어, 키워드모델의 출력레이어정보에 'OTT'라는 명사구가 포함되는 경우, 해당 히든레이어정보에는 상기 'OTT'에 상응하는 '인터넷을 통한 영상제공 서비스', '구독형 영상 플랫폼', 및 '넷플릭스'와 같은 명사구를 포함할 수 있다. 즉, 의미론적으로 유사하지만 형태가 다른 키워드를 도출하기 위하여, 상기 키워드추출단계(S600)에서는 상기 키워드모델을 통해 도출되는 히든레이어정보를 사용한다. 즉, 히든레이어정보를 활용함으로써, 해당 대상문서에 존재하지 않는 키워드라도 의미론적으로 유사한 키워드를 도출할 수 있는 효과를 발휘할 수 있다.
한편, 본 발명의 다른 실시예에 따르면, 상기 키워드추출단계(S600)는, 해당 대상문서를 BERT모델에 입력함으로써 도출되는 제1특징정보 및 제2특징정보;와 해당 대상문서를 키워드모델에 입력함으로써 도출되는 히든레이어정보 및 출력레이어정보;를 모두 활용하여 해당 대상문서에 대한 의미론적 키워드를 도출할 수 있다.
본 발명의 일 실시예로서, 상기 키워드추출단계(S600)를 통해 대상문서의 의미론적 키워드를 도출하여 사용자에게 제공한은 인터페이스를 도 14에 도시한다. 상기 인터페이스에서의 대상문서는 의안에 해당하며, 실제 본 발명에서는 대상문서의 종류를 도 14에 도시된 의안에 한정하지 않는다.
도 15는 본 발명의 일 실시예에 따른 컴퓨팅장치(11000)의 내부 구성을 예시적으로 도시한다.
도 1에 대한 설명에서 언급된 컴퓨팅시스템은 후술하는 도 15에 도시된 컴퓨팅장치(11000)의 구성요소를 포함할 수 있다.
도 15에 도시한 바와 같이, 컴퓨팅장치(11000)는 적어도 하나의 프로세서(processor)(11100), 메모리(memory)(11200), 주변장치 인터페이스(peripheral interface)(11300), 입/출력 서브시스템(I/O subsystem)(11400), 전력 회로(11500) 및 통신 회로(11600)를 적어도 포함할 수 있다.
구체적으로, 상기 메모리(11200)는, 일례로 고속 랜덤 액세스 메모리(high-speed random access memory), 자기 디스크, 에스램(SRAM), 디램(DRAM), 롬(ROM), 플래시 메모리 또는 비휘발성 메모리를 포함할 수 있다. 상기 메모리(11200)는 상기 컴퓨팅장치(11000)의 동작에 필요한 소프트웨어 모듈, 명령어 집합 또는 그 밖에 다양한 데이터를 포함할 수 있다.
이때, 상기 프로세서(11100)나 상기 주변장치 인터페이스(11300) 등의 다른 컴포넌트에서 상기 메모리(11200)에 액세스하는 것은 상기 프로세서(11100)에 의해 제어될 수 있다. 상기 프로세서(11100)은 단일 혹은 복수로 구성될 수 있고, 연산처리속도 향상을 위하여 GPU 및 TPU 형태의 프로세서를 포함할 수 있다.
상기 주변장치 인터페이스(11300)는 상기 컴퓨팅장치(11000)의 입력 및/또는 출력 주변장치를 상기 프로세서(11100) 및 상기 메모리 (11200)에 결합시킬 수 있다. 상기 프로세서(11100)는 상기 메모리(11200)에 저장된 소프트웨어 모듈 또는 명령어 집합을 실행하여 상기 컴퓨팅장치(11000)를 위한 다양한 기능을 수행하고 데이터를 처리할 수 있다.
상기 입/출력 서브시스템(11400)은 다양한 입/출력 주변장치들을 상기 주변장치 인터페이스(11300)에 결합시킬 수 있다. 예를 들어, 상기 입/출력 서브시스템(11400)은 모니터나 키보드, 마우스, 프린터 또는 필요에 따라 터치스크린이나 센서 등의 주변장치를 상기 주변장치 인터페이스(11300)에 결합시키기 위한 컨트롤러를 포함할 수 있다. 다른 측면에 따르면, 상기 입/출력 주변장치들은 상기 입/출력 서브시스템(11400)을 거치지 않고 상기 주변장치 인터페이스(11300)에 결합될 수도 있다.
상기 전력 회로(11500)는 단말기의 컴포넌트의 전부 또는 일부로 전력을 공급할 수 있다. 예를 들어 상기 전력 회로(11500)는 전력 관리 시스템, 배터리나 교류(AC) 등과 같은 하나 이상의 전원, 충전 시스템, 전력 실패 감지 회로(power failure detection circuit), 전력 변환기나 인버터, 전력 상태 표시자 또는 전력 생성, 관리, 분배를 위한 임의의 다른 컴포넌트들을 포함할 수 있다.
상기 통신 회로(11600)는 적어도 하나의 외부 포트를 이용하여 다른 컴퓨팅장치와 통신을 가능하게 할 수 있다. 또는, 상술한 바와 같이 필요에 따라 상기 통신 회로(11600)는 RF 회로를 포함하여 전자기 신호(electromagnetic signal)라고도 알려진 RF 신호를 송수신함으로써, 다른 컴퓨팅장치와 통신을 가능하게 할 수도 있다.
이러한 도 15의 실시예는, 상기 컴퓨팅장치(11000)의 일례일 뿐이고, 상기 컴퓨팅장치(11000)는 도 15에 도시된 일부 컴포넌트가 생략되거나, 도 15에 도시되지 않은 추가의 컴포넌트를 더 구비하거나, 2 개 이상의 컴포넌트를 결합시키는 구성 또는 배치를 가질 수 있다. 예를 들어, 모바일 환경의 통신 단말을 위한 컴퓨팅장치는 도 15에 도시된 컴포넌트들 외에도, 터치스크린이나 센서 등을 더 포함할 수도 있으며, 상기 통신 회로(1160)에 다양한 통신방식(Wi-Fi, 3G, LTE, 5G, 6G, Bluetooth, NFC, Zigbee 등)의 RF 통신을 위한 회로가 포함될 수도 있다. 상기 컴퓨팅장치(11000)에 포함 가능한 컴포넌트들은 하나 이상의 신호 처리 또는 어플리케이션에 특화된 집적 회로를 포함하는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.
본 발명의 실시예에 따른 방법들은 다양한 컴퓨팅장치를 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 특히, 본 실시예에 따른 프로그램은 PC 기반의 프로그램 또는 모바일 단말 전용의 어플리케이션으로 구성될 수 있다. 본 발명이 적용되는 어플리케이션은 파일 배포 시스템이 제공하는 파일을 통해 이용자 단말에 설치될 수 있다. 일 예로, 파일 배포 시스템은 이용자 단말이기의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨팅장치 상에 표준편차되어서, 표준편차된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명의 일 실시예에 따르면, 입력문서에 대한 제1특징정보를 추출하고, 상기 입력문서에 포함되는 복수의 명사구 각각에 대한 제2특징정보를 추출한 뒤, 상기 제1특징정보와 상기 제2특징정보의 유사도에 따라 키워드명사구를 도출하는 구성을 통해, 키워드모델을 학습시키기 위한 학습용데이터를 적은 시간과 비용으로 도출할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 자동적으로 학습용데이터를 생성하는 구성을 통해 생성된 다수의 학습용데이터로 키워드모델을 학습시킬 수 있고, 이를 통해 키워드모델의 성능을 적은 시간과 적은 비용으로 향상시킬 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 키워드명사구를 도출하는데 있어, 도출되는 키워드명사구의 정확도뿐만 아니라 다양성을 고려함으로써, 유사한 의미를 가지는 복수의 키워드명사구가 반복 도출되는 것을 방지할 수 있고, 이를 통해 대상문서의 실질적인 키워드를 도출할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 대상문서를 키워드모델에 입력함으로써 얻을 수 있는 히든레이어정보를 활용함으로써, 해당 대상문서에 존재하지 않는 키워드라도 의미론적으로 유사한 키워드를 도출할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 특정 문서에 대한 검색서비스를 제공하는데 있어, 데이터베이스에 저장된 복수의 문서들에 대한 의미론적 키워드를 도출할 수 있고, 이를 통해 상기 검색서비스의 이용자가 검색한 키워드가 직접적으로 포함되지 않더라도 의미론적으로 비슷한 키워드가 있는 문서를 검색결과로 제공할 수 있는 효과를 발휘할 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (9)

1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅시스템에서 수행되는, 대상문서로부터 의미론적 키워드를 추출하는 방법으로서,
입력문서를 기학습된 BERT모델에 입력하여 제1특징정보를 추출하는 제1특징정보추출단계;
상기 입력문서의 형태소를 분석하여, 상기 입력문서에 포함되는 복수의 명사구를 추출하는 명사구추출단계;
상기 복수의 명사구를 BERT모델에 입력하여 각각의 명사구에 대한 제2특징정보를 추출하는 제2특징정보추출단계;
상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보의 유사도에 기초하여, 기설정된 개수의 키워드명사구를 도출하는 키워드명사구추출단계;
상기 입력문서 및 상기 키워드명사구를 이용하여 입력된 문서에 대해 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델을 학습하는 모델학습단계; 및
학습된 키워드모델에 대상문서를 입력하여 해당 대상문서에 대한 의미론적 키워드를 도출하는 키워드추출단계;를 포함하고,
상기 제1특징정보 및 상기 제2특징정보는 복수의 수치를 포함하는 벡터 형태이고,
상기 키워드명사구추출단계는,
상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보에 기초하여 스칼라 형태의 벡터유사도를 도출하는 유사도도출단계;
기설정된 제1개수의 상위의 벡터유사도를 갖는 명사구를 제1후보키워드명사구로 도출하는 제1후보키워드명사구선정단계; 및
상기 제1후보키워드명사구 중 기설정된 제2개수의 명사구를 키워드명사구로 추출하되, 상기 기설정된 제2개수의 명사구 사이의 벡터유사도가 최소가 되도록 하는 상기 제2개수의 명사구를 상기 입력문서에 대한 키워드명사구로 도출하는 제2키워드명사구선정단계;를 포함하는, 의미론적 키워드를 추출하는 방법.
삭제
삭제
청구항 1에 있어서,
상기 제2키워드명사구선정단계는,
상기 제1개수의 제1후보키워드명사구 중 상기 제1특징정보와 가장 높은 벡터유사도를 가지는 명사구를 선택하는 제1선택단계; 및
상기 제1후보키워드명사구 중에서 상기 제1선택단계에서 선택된 명사구와 가장 벡터유사도가 낮은 명사구를 선택하는 제2선택단계;를 포함하고,
상기 제1선택단계 및 상기 제2선택단계에서 선택되는 명사구의 총 개수는 상기 제2개수이고, 상기 제1선택단계 및 상기 제2선택단계에서 선택된 상기 제2개수의 명사구를 키워드명사구로 도출하는, 의미론적 키워드를 추출하는 방법.
삭제
삭제
청구항 1에 있어서,
상기 키워드추출단계는,
상기 대상문서의 제1특징정보; 상기 대상문서의 제2특징정보; 및 상기 대상문서를 상기 학습된 키워드모델에 입력함으로써 도출되는 히든레이어정보;에 기초하여 해당 문서에 대한 의미론적 키워드를 도출하는, 의미론적 키워드를 추출하는 방법.
1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅시스템에서 수행되는, 대상문서로부터 의미론적 키워드를 추출하는 방법을 구현하기 위한 컴퓨터-판독가능 기록매체로서, 상기 컴퓨터-판독가능 기록매체는, 상기 컴퓨팅시스템으로 하여금 이하의 단계들을 수행하도록 하는 명령들을 저장하며,
상기 이하의 단계들은:
입력문서를 기학습된 BERT모델에 입력하여 제1특징정보를 추출하는 제1특징정보추출단계;
상기 입력문서의 형태소를 분석하여, 상기 입력문서에 포함되는 복수의 명사구를 추출하는 명사구추출단계;
상기 복수의 명사구를 BERT모델에 입력하여 각각의 명사구에 대한 제2특징정보를 추출하는 제2특징정보추출단계;
상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보의 유사도에 기초하여, 기설정된 개수의 키워드명사구를 도출하는 키워드명사구추출단계;
상기 입력문서 및 상기 키워드명사구를 이용하여 입력된 문서에 대해 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델을 학습하는 모델학습단계; 및
학습된 키워드모델에 대상문서를 입력하여 해당 대상문서에 대한 의미론적 키워드를 도출하는 키워드추출단계;를 포함하고,
상기 제1특징정보 및 상기 제2특징정보는 복수의 수치를 포함하는 벡터 형태이고,
상기 키워드명사구추출단계는,
상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보에 기초하여 스칼라 형태의 벡터유사도를 도출하는 유사도도출단계;
기설정된 제1개수의 상위의 벡터유사도를 갖는 명사구를 제1후보키워드명사구로 도출하는 제1후보키워드명사구선정단계; 및
상기 제1후보키워드명사구 중 기설정된 제2개수의 명사구를 키워드명사구로 추출하되, 상기 기설정된 제2개수의 명사구 사이의 벡터유사도가 최소가 되도록 하는 상기 제2개수의 명사구를 상기 입력문서에 대한 키워드명사구로 도출하는 제2키워드명사구선정단계;를 포함하는, 컴퓨터-판독가능 기록매체.
1 이상의 프로세서 및 1 이상의 메모리를 포함하고, 대상문서로부터 의미론적 키워드를 추출하는 방법을 수행하는 컴퓨팅시스템으로서,
입력문서를 기학습된 BERT모델에 입력하여 제1특징정보를 추출하는 제1특징정보추출부;
상기 입력문서의 형태소를 분석하여, 상기 입력문서에 포함되는 복수의 명사구를 추출하는 명사구추출부;
상기 복수의 명사구를 BERT모델에 입력하여 각각의 명사구에 대한 제2특징정보를 추출하는 제2특징정보추출부;
상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보의 유사도에 기초하여, 기설정된 개수의 키워드명사구를 도출하는 키워드명사구추출부;
상기 입력문서 및 상기 키워드명사구를 이용하여 입력된 문서에 대해 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델을 학습하는 모델학습부; 및
대상문서를 학습된 키워드모델에 입력하여 해당 대상문서에 대한 의미론적 키워드를 도출하는 키워드추출부;를 포함하고,
상기 제1특징정보 및 상기 제2특징정보는 복수의 수치를 포함하는 벡터 형태이고,
상기 키워드명사구추출부는,
상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보에 기초하여 스칼라 형태의 벡터유사도를 도출하는 유사도도출부;
기설정된 제1개수의 상위의 벡터유사도를 갖는 명사구를 제1후보키워드명사구로 도출하는 제1후보키워드명사구선정부; 및
상기 제1후보키워드명사구 중 기설정된 제2개수의 명사구를 키워드명사구로 추출하되, 상기 기설정된 제2개수의 명사구 사이의 벡터유사도가 최소가 되도록 하는 상기 제2개수의 명사구를 상기 입력문서에 대한 키워드명사구로 도출하는 제2키워드명사구선정부;를 포함하는, 컴퓨팅시스템.
KR1020230006918A 2023-01-17 2023-01-17 대상문서로부터 의미론적 키워드를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템 KR102603298B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230006918A KR102603298B1 (ko) 2023-01-17 2023-01-17 대상문서로부터 의미론적 키워드를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230006918A KR102603298B1 (ko) 2023-01-17 2023-01-17 대상문서로부터 의미론적 키워드를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템

Publications (1)

Publication Number Publication Date
KR102603298B1 true KR102603298B1 (ko) 2023-11-17

Family

ID=88968729

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230006918A KR102603298B1 (ko) 2023-01-17 2023-01-17 대상문서로부터 의미론적 키워드를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템

Country Status (1)

Country Link
KR (1) KR102603298B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210151281A (ko) 2020-06-04 2021-12-14 동국대학교 산학협력단 Bert의 문장 임베딩 벡터를 이용한 텍스트랭크 기반 핵심 문장 추출 방법 및 장치
KR20220100323A (ko) * 2021-01-08 2022-07-15 동의대학교 산학협력단 설명가능한 인공지능을 위하여 자연어 처리 알고리즘을 분석하는 방법 및 장치
KR20220143229A (ko) * 2021-04-15 2022-10-25 동국대학교 산학협력단 한국어 언어 모델에 기반한 핵심문장 추출장치 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210151281A (ko) 2020-06-04 2021-12-14 동국대학교 산학협력단 Bert의 문장 임베딩 벡터를 이용한 텍스트랭크 기반 핵심 문장 추출 방법 및 장치
KR20220100323A (ko) * 2021-01-08 2022-07-15 동의대학교 산학협력단 설명가능한 인공지능을 위하여 자연어 처리 알고리즘을 분석하는 방법 및 장치
KR20220143229A (ko) * 2021-04-15 2022-10-25 동국대학교 산학협력단 한국어 언어 모델에 기반한 핵심문장 추출장치 및 그 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Schopf et al. "Patternrank: leveraging pretrained language models and part of speech for unsupervised keyphrase extraction." arXiv preprint arXiv:2210.05245 (2022). *
Sharma and Li. "Self-supervised contextual keyword and keyphrase retrieval with self-labelling." (2019).* *
Tim Schopf, "Keyphrase Extraction with BERT Transformers and Noun Phrases." [https://towardsdatascience.com/enhancing-keybert-keyword-extraction-results-with-keyphrasevectorizers-3796fa93f4db]* *

Similar Documents

Publication Publication Date Title
Ng Machine learning for entity coreference resolution: A retrospective look at two decades of research
JP5936698B2 (ja) 単語意味関係抽出装置
Zia et al. Comparative study of feature selection approaches for Urdu text categorization
Zhang et al. Natural language processing: a machine learning perspective
Martin et al. MuDoCo: corpus for multidomain coreference resolution and referring expression generation
JP2018165949A (ja) 判定プログラム、判定装置および判定方法
Gupta et al. Bert based multilingual machine comprehension in english and hindi
Xiang et al. ConnPrompt: Connective-cloze prompt learning for implicit discourse relation recognition
Latif et al. Analyzing LDA and NMF topic models for Urdu tweets via automatic labeling
Bach et al. Cross-domain sentiment classification with word embeddings and canonical correlation analysis
Kim et al. Applying a convolutional neural network to legal question answering
Weerasinghe et al. Feature vector difference based neural network and logistic regression models for authorship verification
Schütz et al. Automatic sexism detection with multilingual transformer models
Vitiugin et al. Efficient detection of multilingual hate speech by using interactive attention network with minimal human feedback
Van Nguyen et al. Improving cross-lingual transfer for event argument extraction with language-universal sentence structures
KR102526211B1 (ko) 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템
Mahendhiran et al. CLSA-CapsNet: Dependency based concept level sentiment analysis for text
Roman et al. Exploiting contextual word embedding of authorship and title of articles for discovering citation intent classification
Van Nguyen et al. Multi-stage transfer learning with BERTology-based language models for question answering system in vietnamese
Yang et al. Enhancing unsupervised pretraining with external knowledge for natural language inference
Telukuntla et al. UNCC biomedical semantic question answering systems. BioASQ: Task-7B, Phase-B
KR102603298B1 (ko) 대상문서로부터 의미론적 키워드를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템
US20220229998A1 (en) Lookup source framework for a natural language understanding (nlu) framework
Shibayama et al. Construction and evaluation of Japanese sentence-BERT models
Ofoghi et al. Answer passage ranking enhancement using shallow linguistic features

Legal Events

Date Code Title Description
GRNT Written decision to grant