KR102526211B1 - 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템 - Google Patents

입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템 Download PDF

Info

Publication number
KR102526211B1
KR102526211B1 KR1020230006919A KR20230006919A KR102526211B1 KR 102526211 B1 KR102526211 B1 KR 102526211B1 KR 1020230006919 A KR1020230006919 A KR 1020230006919A KR 20230006919 A KR20230006919 A KR 20230006919A KR 102526211 B1 KR102526211 B1 KR 102526211B1
Authority
KR
South Korea
Prior art keywords
document
keyword
noun phrase
documents
candidate
Prior art date
Application number
KR1020230006919A
Other languages
English (en)
Other versions
KR102526211B9 (ko
Inventor
이희준
정지은
전정현
Original Assignee
주식회사 코딧
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 코딧 filed Critical 주식회사 코딧
Priority to KR1020230006919A priority Critical patent/KR102526211B1/ko
Application granted granted Critical
Publication of KR102526211B1 publication Critical patent/KR102526211B1/ko
Publication of KR102526211B9 publication Critical patent/KR102526211B9/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • 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
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Evolutionary Computation (AREA)
  • Tourism & Hospitality (AREA)
  • Mathematical Physics (AREA)
  • Technology Law (AREA)
  • Economics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템으로서, 법률문서 혹은 국회문서에 해당하는 대상문서를 BERT모델에 입력시킴으로써 도출되는 제1문서특징정보;와 상기 대상문서를 키워드모델에 입력시킴으로써 도출되는 제1히든레이어정보;를 컨캣(concat, concatenate)하여 상기 대상문서에 대한 대상문서특징정보를 도출하고, 복수의 후보문서에 대하여 상술한 과정과 유사한 과정을 통해 복수의 후보문서특징정보를 도출한 뒤, 상기 대상문서특징정보와 상기 후보문서특징정보의 유사도를 산출하여 상기 복수의 후보문서 중 상기 대상문서와 유사한 유사문서를 결정할 수 있는, 본 발명은 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템에 관한 것이다.

Description

입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템{The Method And The Computer-Readable Recording Medium To Extract Similar Legal Documents Or Parliamentary Documents For Inputted Legal Documents Or Parliamentary Documents, And The Computing System for Performing That Same}
본 발명은 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템으로서, 법률문서 혹은 국회문서에 해당하는 대상문서를 BERT모델에 입력시킴으로써 도출되는 제1문서특징정보;와 상기 대상문서를 키워드모델에 입력시킴으로써 도출되는 제1히든레이어정보;를 컨캣(concat, concatenate)하여 상기 대상문서에 대한 대상문서특징정보를 도출하고, 복수의 후보문서에 대하여 상술한 과정과 유사한 과정을 통해 복수의 후보문서특징정보를 도출한 뒤, 상기 대상문서특징정보와 상기 후보문서특징정보의 유사도를 산출하여 상기 복수의 후보문서 중 상기 대상문서와 유사한 유사문서를 결정할 수 있는, 본 발명은 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템에 관한 것이다.
국회에서는 매일같이 의안이 발의되고 있으며, 21대 국회(2020-2024)에서는 2022년 12월 기준 19,397개의 의안이 발의되었다. 의안은, 국회의 의결을 필요로 하는 안건 중에서 특별한 형식적, 절차적 요건을 갖춰 국회에 제출된 안건을 의미한다.
이와 같은 의안에 대하여, 정부 혹은 국회에서 제공하는 의안정보시스템은 각각의 의안에 대한 세부 정보를 공개하고 있으나, 수많은 의안에 대한 통합적인 정보를 제공하는 서비스는 존재하지 않기 때문에, 기업 등의 사용 자는 자신의 사업분야에 대한 의안 각각을 파악하고, 이에 대한 모니터링 및 추적하는 것이 쉽지 않다. 특히, 상기 의안정보시스템의 경우, 일반인들을 위한 검색서비스를 제공하고 있으나, 의안과 같은 법률문서 혹은 회의록과 같은 국회문서에서 사용되는 용어는 일상에서 사용되는 용어와 상이한 경우가 많아, 일반인을 위한 검색서비스를 제공함에도 불구하고, 일반인이 자신이 알고 싶어하는 법률문서 혹은 국회문서를 검색하는 것은 쉽지 않은 것이 현실이다.
이러한 법률문서 혹은 국회문서를 검색하기 위한 종래기술로는 대한민국 등록특허 제10-1200367호와 같이, 통합 법률 정보 서비스 방법 및 시스템 등이 있다. 하지만 이와 같은 종래기술의 경우, 전술한 바와 같이, 일반인을 위한 서비스임에도 불구하고, 일반인이 원하는 법률문서 혹은 국회문서를 검색하기 쉽지 않다는 문제점이 존재한다. 따라서, 이러한 문제점을 해결하기 위한 기술이 요구된다.
대한민국 등록특허 제10-1200367호 (2012.11.06.)
본 발명은 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템으로서, 법률문서 혹은 국회문서에 해당하는 대상문서를 BERT모델에 입력시킴으로써 도출되는 제1문서특징정보;와 상기 대상문서를 키워드모델에 입력시킴으로써 도출되는 제1히든레이어정보;를 컨캣(concat, concatenate)하여 상기 대상문서에 대한 대상문서특징정보를 도출하고, 복수의 후보문서에 대하여 상술한 과정과 유사한 과정을 통해 복수의 후보문서특징정보를 도출한 뒤, 상기 대상문서특징정보와 상기 후보문서특징정보의 유사도를 산출하여 상기 복수의 후보문서 중 상기 대상문서와 유사한 유사문서를 결정할 수 있는, 본 발명은 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템을 제공하는 것을 목적으로 한다.
상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예는, 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅시스템에서 수행되는, 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법으로서, 대상문서를 기학습된 BERT모델에 입력하여 제1문서특징정보를 추출하는 제1문서특징정보추출단계; 상기 대상문서를 입력된 문서에 대하여 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델에 입력하고, 상기 키워드모델의 동작과정에서 발생되는 제1히든레이어정보를 추출하는 제1히든레이어정보추출단계; 상기 제1문서특징정보와 상기 제1히든레이어정보를 컨캣(concat)하여 상기 대상문서에 대한 대상문서특징정보를 추출하는 대상문서특징정보추출단계; 후보문서를 기학습된 BERT모델에 입력하여 제2문서특징정보를 추출하는 제2문서특징정보추출단계; 상기 후보문서를 입력된 문서에 대하여 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델에 입력하고, 상기 키워드모델의 동작과정에서 발생되는 제2히든레이어정보를 추출하는 제2히든레이어정보추출단계; 상기 제2문서특징정보와 상기 제2히든레이어정보를 컨캣(concat)하여 상기 후보문서에 대한 후보문서특징정보를 추출하는 후보문서특징정보추출단계; 및 상기 대상문서특징정보와 상기 후보문서특징정보의 유사도를 산출하고, 상기 유사도에 기초하여 상기 대상문서와 유사한 유사문서를 결정하는 유사문서결정단계;를 포함하는, 유사한 법률문서 혹은 국회문서를 추출하는 방법을 제공한다.
본 발명의 일 실시예에서는, 상기 키워드모델은, 학습대상문서를 기학습된 BERT모델에 입력하여 제1특징정보를 추출하는 제1특징정보추출단계; 상기 학습대상문서의 형태소를 분석하여, 상기 학습대상문서에 포함되는 복수의 명사구를 추출하는 명사구추출단계; 상기 복수의 명사구를 상기 BERT모델에 입력하여 각각의 명사구에 대한 제2특징정보를 추출하는 제2특징정보추출단계; 상기 각각의 명사구에 대한 제2특징정보와 상기 제1특징정보의 유사도에 기초하여, 기설정된 개수의 키워드명사구를 도출하는 키워드명사구추출단계; 및 상기 학습대상문서 및 상기 키워드명사구를 이용하여 입력된 문서에 대해 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델을 학습하는 모델학습단계;에 의하여 학습될 수 있다.
본 발명의 일 실시예에서는, 상기 제1특징정보 및 상기 제2특징정보는 복수의 수치를 포함하는 벡터 형태이고, 상기 키워드명사구추출단계는, 상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보에 기초하여 스칼라 형태의 벡터유사도를 도출하는 유사도도출단계; 기설정된 i개의 상위의 벡터유사도를 갖는 명사구를 후보키워드명사구로 도출하는 후보키워드명사구선정단계; 상기 후보키워드명사구 중 가장 높은 벡터유사도를 갖는 명사구를 기준키워드명사구로 도출하는 기준키워드명사구추출단계; 및 상기 기준키워드명사구를 제외한 상기 후보키워드명사구 중 상기 기준키워드명사구와의 벡터유사도가 낮을수록 높아지게 산출되는 제1스코어와 상기 제1특징정보와의 벡터유사도가 높을수록 높아지게 산출되는 제2스코어의 합이 가장 높은 후보키워드명사구를 기준키워드명사구로 추가하는 기준키워드명사구추가단계;를 포함하고, 상기 i는 1 이상의 자연수에 해당할 수 있다.
본 발명의 일 실시예에서는, 상기 키워드명사구추출단계는, 상기 기준키워드명사구추가단계 이후, 상기 기준키워드명사구추출단계 및 상기 기준키워드명사구추가단계 각각에서 도출된 명사구를 제외한 상기 후보키워드명사구 중 상기 기준키워드명사구추가단계에서 추가된 명사구와 벡터유사도가 낮을수록 높아지게 산출되는 제1스코어와 상기 제1특징정보와 벡터유사도가 높을수록 높아지게 산출되는 제2스코어의 합이 가장 높은 후보키워드명사구를 기준키워드명사구로 더 추가하는 단계; 및 반복 수행된 기준키워드명사구추가단계를 통해 도출된 기준키워드명사구의 수가 상기 기설정된 개수가 되는 경우, 도출된 상기 기설정된 개수의 기준키워드명사구를 상기 입력된 문서에 대한 키워드명사구로 도출하는 단계;를 더 포함할 수 있다.
본 발명의 일 실시예에서는, 상기 대상문서특징정보 및 상기 후보문서특징정보는 복수의 수치를 포함하는 벡터 형태이고, 상기 유사문서결정단계는, 상기 대상문서특징정보와 상기 후보문서특징정보를 행렬곱한 결과에 기초하여 해당 대상문서와 해당 후보문서에 대한 쌍별유사도를 도출하고, 기설정된 기준치 이상의 쌍별유사도를 가지는 후보문서를 유사문서로 결정할 수 있다.
본 발명의 일 실시예에서는, 상기 컴퓨팅시스템은 복수의 법률문서 및 국회문서를 저장하는 데이터베이스를 포함하고, 상기 후보문서는 상기 복수의 법률문서 및 국회문서 중 일부 혹은 전체를 포함하고, 상기 유사문서결정단계는, 상기 데이터베이스에 포함되는 복수의 후보문서 각각에 대해 도출된 복수의 후보문서특징정보 각각과 대상문서특징정보와의 유사도를 산출하고, 기설정된 j개의 상위의 유사도를 갖는 법률문서 혹은 국회문서를 유사문서로 결정하고, 상기 j는 1 이상의 자연수에 해당할 수 있다.
상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예는, 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅시스템에서 수행되는, 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법을 구현하기 위한 컴퓨터-판독가능 기록매체로서, 상기 컴퓨터-판독가능 기록매체는, 상기 컴퓨팅시스템으로 하여금 이하의 단계들을 수행하도록 하는 명령들을 저장하며, 상기 이하의 단계들은: 대상문서를 기학습된 BERT모델에 입력하여 제1문서특징정보를 추출하는 제1문서특징정보추출단계; 상기 대상문서를 입력된 문서에 대하여 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델에 입력하고, 상기 키워드모델의 동작과정에서 발생되는 제1히든레이어정보를 추출하는 제1히든레이어정보추출단계; 상기 제1문서특징정보와 상기 제1히든레이어정보를 컨캣(concat)하여 상기 대상문서에 대한 대상문서특징정보를 추출하는 대상문서특징정보추출단계; 후보문서를 기학습된 BERT모델에 입력하여 제2문서특징정보를 추출하는 제2문서특징정보추출단계; 상기 후보문서를 입력된 문서에 대하여 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델에 입력하고, 상기 키워드모델의 동작과정에서 발생되는 제2히든레이어정보를 추출하는 제2히든레이어정보추출단계; 상기 제2문서특징정보와 상기 제2히든레이어정보를 컨캣(concat)하여 상기 후보문서에 대한 후보문서특징정보를 추출하는 후보문서특징정보추출단계; 및 상기 대상문서특징정보와 상기 후보문서특징정보의 유사도를 산출하고, 상기 유사도에 기초하여 상기 대상문서와 유사한 유사문서를 결정하는 유사문서결정단계;를 포함하는, 컴퓨터-판독가능 기록매체를 제공한다.
상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예는, 1 이상의 프로세서 및 1 이상의 메모리를 포함하고, 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법을 수행하는 컴퓨팅시스템으로서, 대상문서를 기학습된 BERT모델에 입력하여 제1문서특징정보를 추출하는 제1문서특징정보추출부; 상기 대상문서를 입력된 문서에 대하여 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델에 입력하고, 상기 키워드모델의 동작과정에서 발생되는 제1히든레이어정보를 추출하는 제1히든레이어정보추출부; 상기 제1문서특징정보와 상기 제1히든레이어정보를 컨캣(concat)하여 상기 대상문서에 대한 대상문서특징정보를 추출하는 대상문서특징정보추출부; 후보문서를 기학습된 BERT모델에 입력하여 제2문서특징정보를 추출하는 제2문서특징정보추출부; 상기 후보문서를 입력된 문서에 대하여 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델에 입력하고, 상기 키워드모델의 동작과정에서 발생되는 제2히든레이어정보를 추출하는 제2히든레이어정보추출부; 상기 제2문서특징정보와 상기 제2히든레이어정보를 컨캣(concat)하여 상기 후보문서에 대한 후보문서특징정보를 추출하는 후보문서특징정보추출부; 및 상기 대상문서특징정보와 상기 후보문서특징정보의 유사도를 산출하고, 상기 유사도에 기초하여 상기 대상문서와 유사한 유사문서를 결정하는 유사문서결정부;를 포함하는, 컴퓨팅시스템을 제공한다.
본 발명의 일 실시예에 따르면, 대상문서에 직접적으로 포함되지 않더라도 상기 대상문서에 포함되는 명사구와 의미론적으로 유사한 명사구를 포함하는 법률문서 혹은 국회문서를 찾을 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 적확한 법률용어를 모르는 일반인일지라도, 일상에서 사용되는 명사구를 검색하여, 해당 명사구와 유사한 의미를 가지는 법률용어가 포함되는 법률문서 혹은 국회문서를 찾을 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 특정 문서에 대한 검색서비스를 제공하는데 있어, 데이터베이스에 저장된 복수의 법률문서 혹은 국회문서들에 대한 의미론적 키워드를 도출할 수 있고, 이를 통해 상기 검색서비스의 이용자가 검색한 키워드가 직접적으로 포함되지 않더라도 의미론적으로 비슷한 키워드가 있는 문서를 검색결과로 제공할 수 있는 효과를 발휘할 수 있다.
도 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는 본 발명의 일 실시예에 따른 유사한 법률문서 혹은 국회문서를 추출하는 방법의 수행단계를 개략적으로 도시한다.
도 16은 본 발명의 일 실시예에 따른 대상문서특징정보를 도출하는 과정을 개략적으로 도시한다.
도 17은 본 발명의 일 실시예에 따른 대상문서특징정보와 후보문서특징정보 간의 유사도를 산출하는 과정을 개략적으로 도시한다.
도 18은 본 발명의 일 실시예에 따른 유사문서를 도출하는 구성을 개략적으로 도시한다.
도 19는 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부 구성을 예시적으로 도시한다.
이하에서는, 다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나 이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
또한, 본 발명의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
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에 도시된 의안에 한정하지 않는다.
상술한 도 1 내지 도 14에 대한 설명에서는, 본원 발명의 2. 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법에서 상기 법률문서 혹은 국회문서를 포함하는 대상문서 및 후보문서의 대상문서특징정보 및 후보문서특징정보를 도출하기 위해 사용되는 BERT모델 및 키워드모델에 대해 서술하였다. 이하에서는 본원 발명의 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법에 대해 서술하도록 한다.
2. 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법
상술한 바와 같이, 본원 발명의 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법은 상기 법률문서 및 국회문서를 포함하는 대상문서로부터 BERT모델과 키워드모델을 사용하여 대상문서특징정보를 도출한다. 한편, 상기 유사한 법률문서 혹은 국회문서를 추출하는 방법은, 대상문서특징정보에 기초하여 복수의 후보문서 중 대상문서로부터 유사문서를 결정하는 방법으로써, 이하에서는 대상문서로부터 대상문서특징정보를 도출하고, 후보문서로부터 후보문서특징정보를 도출한 뒤, 상기 대상문서특징정보 및 상기 후보문서특징정보를 통해 유사문서를 결정하는 방법을 설명한다.
구체적으로, 본원 발명의 유사한 법률문서 혹은 국회문서를 추출하는 방법은 대상문서에 직접적으로 포함되거나 혹은 직접적으로 포함되지 않더라도 의미론적으로 유사한 명사구에 대한 정보를 포함하는 대상문서특징정보를 도출하고, 상기 대상문서특징정보에 기초하여 상기 대상문서와 유사한 유사문서를 복수의 법률문서 및 국회문서가 저장된 데이터베이스에서 추출할 수 있어, 직접적으로 공유하는 용어가 없더라도 같은 분야의 문서를 정확하게 추출하고자 하는 것이다.
한편, 이하에서 서술되는 '제1문서특징정보는' 도 1 내지 도 14에 대한 설명에서 전술한 '제1특징정보'와 유사한 개념을 지칭하지만, 이하에서 서술되는 '제2문서특징정보'는 도 1 내지 도 14에 대한 설명에서 전술한 '제2특징정보'와 상이한 개념을 지칭한다. 또한, 이하에서 서술되는 '법률문서' 혹은 '국회문서'는, 의안, 법령, 조례, 및 국회 회의록 등을 포함하는 데이터에 해당하고, 본 발명의 일 실시예에 따르면, 신문, 뉴스, 기사, SNS 등 텍스트를 포함하는 다양한 매체 혹은 데이터를 더 포함할 수 있다. 또한, 이하에서 서술되는 '후보키워드명사구선정단계'는 도 1 내지 도 14에 대한 설명에서 전술한 '제2후보키워드명사구선정단계'와 동일한 구성에 해당한다. 또한, 도 1 내지 도 14에 대한 설명에서 전술한 '입력문서'는 이하에서 후술되는 '학습대상문서'와 동일한 개념을 지칭한다.
도 15는 본 발명의 일 실시예에 따른 유사한 법률문서 혹은 국회문서를 추출하는 방법의 수행단계를 개략적으로 도시한다.
도 15에 도시된 바와 같이, 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅시스템에서 수행되는, 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법으로서, 대상문서를 기학습된 BERT모델에 입력하여 제1문서특징정보를 추출하는 제1문서특징정보추출단계(S1000); 상기 대상문서를 입력된 문서에 대하여 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델에 입력하고, 상기 키워드모델의 동작과정에서 발생되는 제1히든레이어정보를 추출하는 제1히든레이어정보추출단계(S1100); 상기 제1문서특징정보와 상기 제1히든레이어정보를 컨캣(concat)하여 상기 대상문서에 대한 대상문서특징정보를 추출하는 대상문서특징정보추출단계(S1200); 후보문서를 기학습된 BERT모델에 입력하여 제2문서특징정보를 추출하는 제2문서특징정보추출단계(S1300); 상기 후보문서를 입력된 문서에 대하여 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델에 입력하고, 상기 키워드모델의 동작과정에서 발생되는 제2히든레이어정보를 추출하는 제2히든레이어정보추출단계(S1400); 상기 제2문서특징정보와 상기 제2히든레이어정보를 컨캣(concat)하여 상기 후보문서에 대한 후보문서특징정보를 추출하는 후보문서특징정보추출단계(S1500); 및 상기 대상문서특징정보와 상기 후보문서특징정보의 유사도를 산출하고, 상기 유사도에 기초하여 상기 대상문서와 유사한 유사문서를 결정하는 유사문서결정단계(S1600);를 포함한다.
개략적으로, 이하에서 서술되는 '대상문서'는, 본 발명의 컴퓨팅시스템에 입력된 법률문서 혹은 국회문서에 해당하고, 이하에서 서술되는 '후보문서'는 상기 컴퓨팅시스템에 포함되는 데이터베이스에 저장된 법률문서 혹은 국회문서 중 일부 혹은 전체에 해당한다. 상기 '대상문서'는, 본 발명의 일 실시예로서, 상기 컴퓨팅시스템에 의해 수행되고 본 발명을 통해 제공될 수 있는 서비스의 사용자 혹은 관리자에 의해 입력된 법률문서 혹은 국회문서에 해당할 수 있고, 본 발명의 다른 실시예로서, 상기 컴퓨팅시스템에 의해 직접적 혹은 간접적으로 선택된 특정 법률문서 혹은 국회문서에 해당할 수 있다.
구체적으로, 상기 컴퓨팅시스템의 제1문서특징정보추출부는, 대상문서를 기학습된 BERT모델에 입력하여 제1문서특징정보를 추출하는 제1문서특징정보추출단계(S1000)를 수행한다. 상기 제1문서특징정보는, 도 2에 대한 설명에서 서술한 제1특징정보와 유사한 개념으로서, 복수의 수치를 포함하는 벡터형태이고, 상기 대상문서의 문맥 혹은 분위기 등을 알 수 있는 정보를 포함한다.
상기 컴퓨팅시스템의 제1히든레이어정보추출부는, 상기 대상문서를 키워드모델에 입력함으로써 도출될 수 있는 제1히든레이어정보를 추출하는 제1히든레이어정보추출단계(S1100)를 수행한다. 상기 키워드모델은, 도 12에 대한 설명을 참고하여, 복수의 학습대상문서로부터 도출되는 복수의 제1특징정보와 복수의 제2특징정보를 학습한 인공신경망 기반의 모델이며, 상기 키워드모델에 입력된 학습대상문서에 대해 1 이상의 키워드를 추출할 수 있다.
상기 컴퓨팅시스템의 대상문서특징정보추출부는, 상기 제1문서특징정보와 상기 제1히든레이어정보를 컨캣(concat)하여 해당 대상문서에 대한 대상문서특징정보를 추출하는 대상문서특징정보추출단계(S1200)를 수행한다. 상기 컨캣(concat, concatenate)은 2 이상의 벡터를 이어붙이는 과정을 의미한다. 상기 대상문서특징정보추출단계(S1200)에 대한 보다 구체적인 설명은 도 16에서 후술하도록 한다.
상기 컴퓨팅시스템의 제2문서특징정보추출부는, 후보문서를 기학습된 BERT모델에 입력하여 제2문서특징정보를 추출하는 제2문서특징정보추출단계(S1300)를 수행한다. 상기 제2문서특징정보는, 도 2에 대한 설명에서 서술한 제2특징정보와 상이한 개념이며, 상기 제2특징정보가 도출되는 방식과 상기 제2특징정보의 형태는 제1특징정보와 유사하다. 또한, 상기 제2문서특징정보는, 제1문서특징정보와 마찬가지로 복수의 수치를 포함하는 벡터형태이고, 상기 후보문서의 문맥 혹은 분위기 등을 알 수 있는 정보를 포함한다.
상기 컴퓨팅시스템의 제2히든레이어정보추출부는, 상기 후보문서를 키워드모델에 입력함으로써 도출될 수 있는 제2히든레이어정보를 추출하는 제2히든레이어정보추출단계(S1400)를 수행한다. 바람직하게는, 상기 키워드모델은, 전술한 제1히든레이어정보를 도출할 수 있는 키워드모델과 동일하다
상기 컴퓨팅시스템의 후보문서특징정보추출부는, 상기 제2문서특징정보와 상기 제2히든레이어정보를 컨캣(concat)하여 해당 대상문서에 대한 후보문서특징정보를 추출하는 후보문서특징정보추출단계(S1500)를 수행한다.
이와 같이, 상기 제2문서특징정보, 제2히든레이어정보, 및 후보문서특징정보를 추출하는 구성은 전술한 제1문서특징정보, 제1히든레이어정보 및 대상문서특징정보를 추출하는 구성과 입력되는 문서만 다를 뿐 과정을 상당부분 유사하다. 다시 말해, 상기 제1문서특징추출부와 상기 제2문서특징추출부는 상기 컴퓨팅시스템 내에서 동일한 위치에 구비될 수 있고, 상기 제1히든레이어정보추출부와 상기 제2히든레이어정보추출부는 상기 컴퓨팅시스템 내에서 동일한 위치에 구비될 수 있으며, 상기 대상문서특징추출부와 상기 후보문서특징추출부는 상기 컴퓨팅시스템 내에서 동일한 위치에 구비될 수 있다.
전술한 바와 같이, 대상문서 및 후보문서에 각각에 대한 대상문서특징정보 및 후보문서특징정보가 도출되는 경우, 상기 컴퓨팅시스템의 유사문서결정부는, 상기 대상문서특징정보와 상기 후보문서특징정보 사이의 유사도를 산출하고, 산출된 유사도에 기초하여 상기 대상문서와 유사한 유사문서를 복수의 후보문서 중에서 결정하는 유사문서결정단계(S1600)를 수행한다. 상기 유사문서결정단계(S1600)에 대한 보다 상세한 설명은 도 17에 대한 설명에서 후술하도록 한다.
도 16은 본 발명의 일 실시예에 따른 대상문서특징정보를 도출하는 과정을 개략적으로 도시한다.
구체적으로, 도 16은 상기 제1문서특징정보추출단계(S1000) 내지 대상문서특징정보추출단계(S1200)의 수행과정을 개략적으로 도시하였으며, 전술한 바와 같이, 도 16에 도시된 구성에서 후보문서를 입력문서로 하는 경우, 동일한 구성을 통해 해당 후보문서에 대한 제2문서특징정보추출단계(S1300) 내지 후보문서특징정보추출단계(S1500)가 수행될 수 있다. 도 15에 대한 설명을 참고하여, 대상문서를 BERT모델과 키워드모델에 입력시킴으로써, 해당 대상문서에 대한 제1문서특징정보와 제1히든레이어정보를 추출할 수 있다.
BERT(Bidirectional Encoder Representations from Transformer)모델은 사전 학습된 대용량의 레이블링 되지 않은 데이터(unlabeled data)를 이용하여 언어 모델(Language Model)을 학습하고, 이를 토대로 문서 분류, 질의 응답 혹은 번역 등과 같은 특정 작업을 위한 신경망을 추가하는 전이학습(Transfer Learning)방법을 채택하는 것을 특징으로 한다. 이러한 특징을 바탕으로 대용량의 데이터를 직접 학습시키기 위해서는 매우 많은 자원과 시간이 소요되는 반면, 상기 BERT모델은, 기본적으로 대량의 단어 임베딩(word embedding) 등에 대해 사전 학습(pre-trained)이 되어 있는 모델을 제공하기 때문에 상대적으로 적은 자원만으로도 충분히 자연어 처리 등의 일을 수행할 수 있는 효과를 발휘할 수 있다.
상기 제1문서특징정보추출부는, 상기 BERT모델에 대상문서를 입력함으로써, 해당 대상문서에 대한 제1문서특징정보를 추출하는 제1문서특징정보추출단계(S1000)를 수행한다. 또한, 상기 BERT모델에 입력되는 대상문서는, 해당 대상문서의 내용 뿐만 아니라, 도 13을 참고하여, 해당 대상문서의 제목, 발의자, 제안일, 종류, 담당부서, 소관기관, 추진현황 등의 정보를 포함하며, 후보문서 또한 이와 같은 내용을 포함한다.
또한, 상기 키워드모델은, 전술한 도 1 내지 도 12에 대한 설명에서 기재된 바와 같이, 입력문서를 상기 BERT모델에 입력함으로써 추출할 수 있는 제1특징정보 및 제2특징정보에 기초하여 학습된다.
더 구체적으로, 상기 키워드모델은 학습대상문서를 기학습된 BERT모델에 입력하여 제1특징정보를 추출하는 제1특징정보추출단계; 상기 학습대상문서의 형태소를 분석하여, 상기 학습대상문서에 포함되는 복수의 명사구를 추출하는 명사구추출단계; 상기 복수의 명사구를 상기 BERT모델에 입력하여 각각의 명사구에 대한 제2특징정보를 추출하는 제2특징정보추출단계; 상기 각각의 명사구에 대한 제2특징정보와 상기 제1특징정보의 유사도에 기초하여, 기설정된 개수의 키워드명사구를 도출하는 키워드명사구추출단계; 및 상기 학습대상문서 및 상기 키워드명사구를 이용하여 입력된 문서에 대해 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델을 학습하는 모델학습단계;에 의하여 학습된다.
또한, 상기 제1특징정보 및 상기 제2특징정보는 복수의 수치를 포함하는 벡터 형태이고, 상기 키워드명사구추출단계는, 상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보에 기초하여 스칼라 형태의 벡터유사도를 도출하는 유사도도출단계; 기설정된 i개의 상위의 벡터유사도를 갖는 명사구를 후보키워드명사구로 도출하는 후보키워드명사구선정단계; 상기 후보키워드명사구 중 가장 높은 벡터유사도를 갖는 명사구를 기준키워드명사구로 도출하는 기준키워드명사구추출단계; 및 상기 기준키워드명사구를 제외한 상기 후보키워드명사구 중 상기 기준키워드명사구와의 벡터유사도가 낮을수록 높아지게 산출되는 제1스코어와 상기 제1특징정보와의 벡터유사도가 높을수록 높아지게 산출되는 제2스코어의 합이 가장 높은 후보키워드명사구를 기준키워드명사구로 추가하는 기준키워드명사구추가단계;를 포함하고, 상기 i는 1 이상의 자연수에 해당한다. 추가적으로, 상기 키워드명사구추출단계는, 상기 기준키워드명사구추가단계 이후, 상기 기준키워드명사구추출단계 및 상기 기준키워드명사구추가단계 각각에서 도출된 명사구를 제외한 상기 후보키워드명사구 중 상기 기준키워드명사구추가단계에서 추가된 명사구와 벡터유사도가 낮을수록 높아지게 산출되는 제1스코어와 상기 제1특징정보와 벡터유사도가 높을수록 높아지게 산출되는 제2스코어의 합이 가장 높은 후보키워드명사구를 기준키워드명사구로 더 추가하는 단계; 및 반복 수행된 기준키워드명사구추가단계를 통해 도출된 기준키워드명사구의 수가 상기 기설정된 개수가 되는 경우, 도출된 상기 기설정된 개수의 기준키워드명사구를 입력된 문서에 대한 키워드명사구로 도출하는 단계;를 더 포함한다. 상술한 제1특징정보추출단계 내지 모델학습단계 각각에 대한 세부구성 및 상기 세부구성에 대한 목적 및 효과에 대한 설명은 전술한 도 1 내지 도 12에 대한 설명에서 자세히 기재하였다.
한편, 도 13에 대한 설명에서 서술한 바와 같이, 상기 제1히든레이어정보추출부는, 대상문서를 전술한 바와 같이 학습된 키워드모델에 입력함으로써 제1히든레이어정보를 추출하는 제1히든레이어정보추출단계(S1100)를 수행한다. 또한, 상기 키워드모델에 입력되는 대상문서는, 해당 대상문서의 내용뿐만 아니라, 도 13을 참고하여, 해당 대상문서의 제목, 발의자, 제안일, 종류, 담당부서, 소관기관, 추진현황 등의 정보를 포함하며, 후보문서 또한 이와 같은 내용을 포함한다.
전술한 바와 같이, 대상문서에 대해 제1문서특징정보와 제1히든레이어정보가 추출되면, 상기 대상문서특징정보추출부는 상기 제1문서특징정보와 상기 제1히든레이어정보를 컨캣(concatenate)한다. 이후, 대상문서특징정보추출부는 벡터형태의 컨캣한 정보를 MLP(Multi-Layer Perceptron, 다층 퍼셉트론)에 입력한다. 도 16에는 2개의 레이어(layer)를 갖는 MLP를 사용한 구성에 대해 도시하였으나, 이는 일 실시예일 뿐이며, 다른 실시예에서는 2 이상의 layer를 가지는 MLP를 사용할 수 있다. 즉, 해당 구성은 설계자의 의도에 따라 언제든지 단순 변경하여 적용가능한 구성에 해당한다. 이후, 상기 대상문서특징정보추출부는, 컨캣한 정보를 입력받은 MLP에 의해 출력되는 정보를 대상문서특징정보를 추출하는 대상문서특징정보추출단계(S1200)를 수행한다.
더 구체적으로, 전술한 구성을 통해 학습된 키워드모델을 사용하여 획득되는 히든레이어정보를 활용함으로써, 대상문서특징정보에는 해당 대상문서에 직접적으로 포함되는 명사구가 아니더라도 해당 대상문서의 키워드와 유사한 의미를 가지는 명사구에 대한 정보를 포함할 수 있다. 즉, 상기 제1문서특징정보와 제1히든레이어정보를 컨캣함으로써, 해당 대상문서에 직접적으로 포함되는 키워드의 확장된 의미를 가지는 명사구에 대한 정보를 포함하는 대상문서특징정보를 추출할 수 있고, 상기 대상문서특징정보를 활용하여 유사문서를 추출하는 구성을 통해, 적확한 법률용어를 모르는 일반인일지라도, 일상에서 사용되는 명사구를 검색하여, 해당 명사구와 유사한 의미를 가지는 법률용어가 포함되는 법률문서 혹은 국회문서를 찾을 수 있는 효과를 발휘할 수 있다.
한편, 전술한 제1문서특징정보추출단계(S1000) 내지 대상문서특징정보추출단계(S1200)를 수행하는 구성과 동일한 구성에 후보문서를 입력함으로써 후보문서특징정보를 추출할 수 있다.
도 17은 본 발명의 일 실시예에 따른 대상문서특징정보와 후보문서특징정보 간의 유사도를 산출하는 과정을 개략적으로 도시하고, 도 18은 본 발명의 일 실시예에 따른 유사문서를 도출하는 구성을 개략적으로 도시한다.
도 17 내지 도 18에 도시된 바와 같이, 본 발명의 일 실시예에서는, 상기 대상문서특징정보 및 상기 후보문서특징정보는 복수의 수치를 포함하는 벡터 형태이고, 상기 유사문서결정단계(S1600)는, 상기 대상문서특징정보와 상기 후보문서특징정보를 행렬곱한 결과에 기초하여 해당 대상문서와 해당 후보문서에 대한 쌍별유사도를 도출하고, 기설정된 기준치 이상의 쌍별유사도를 가지는 후보문서를 유사문서로 결정한다.
또한, 본 발명의 다른 실시예에서는, 상기 컴퓨팅시스템은 복수의 법률문서 및 국회문서를 저장하는 데이터베이스를 포함하고, 상기 후보문서는 상기 복수의 법률문서 및 국회문서 중 일부 혹은 전체를 포함하고, 상기 유사문서결정단계(S1600)는, 상기 데이터베이스에 포함되는 복수의 후보문서 각각에 대해 도출된 복수의 후보문서특징정보 각각과 대상문서특징정보와의 유사도를 산출하고, 기설정된 j개의 상위의 유사도를 갖는 법률문서 혹은 국회문서를 유사문서로 결정하고, 상기 j는 1 이상의 자연수에 해당한다.
본원 발명은 데이터베이스에 저장된 복수의 법률문서 및 국회문서에 대해서, 대상문서와 유사한 주제에 해당하거나 상기 대상문서의 키워드와 의미론적으로 유사한 키워드를 가지는 유사문서를 추출하는 것을 목적으로 한다. 즉, 상기 컴퓨팅시스템은, 도 16에 대한 설명을 참고하여, 대상문서에 대한 대상문서특징정보를 도출(S1200)하고, 상기 데이터베이스에 저장된 복수의 후보문서 각각에 대해 후보문서특징정보를 도출(S1500)한다. 도 17에서 N은 2 이상의 자연수에 해당한다. 이후, 상기 컴퓨팅시스템의 유사문서결정부는, 단계 S1200 및 S1500을 통해 도출된 대상문서특징정보 및 복수의 후보문서특징정보에 대해 유사도를 산출하고, 산출된 유사도에 기초하여 상기 복수의 후보문서 중 상기 대상문서와 유사한 유사문서를 결정하는 유사문서결정단계(S1600)를 수행한다.
더 구체적으로, 상기 유사문서결정부는, 본 발명의 일 실시예로서, 상기 대상문서특징정보와 상기 복수의 후보문서특징정보 각각을 행렬곱한 결과에 기초하여 해당 대상문서와 해당 후보문서에 대한 쌍별유사도(pairwise similarity)를 도출할 수 있고, 바람직하게는, 상기 쌍별유사도는, 전술한 도 3에 대한 설명을 참고하여, 코사인유사도에 기초하여 도출될 수 있다. 이후, 상기 유사문서결정부는, 기설정된 기준치 이상의 쌍별유사도를 가지는 후보문서를 해당 대상문서의 유사문서로 결정할 수 있다.
한편, 본 발명의 다른 실시예로서, 상기 유사문서결정부는, 상기 대상문서특징정보와 상기 복수의 후보문서특징정보 각각에 대한 쌍별유사도를 산출한 뒤, 기설정된 j개의 상위의 유사도를 가지는 후보문서를 해당 대상문서의 유사문서로 결정할 수 있다.
이와 같은 방식으로 대상문서와 유사한 유사문서를 데이터베이스에서 추출하여 사용자에게 제공하는 인터페이스를 도 18에 도시한다. 도 18에 도시된 바와 같이, 상기 컴퓨팅시스템은 상기 인터페이스를 통해 대상문서와의 유사도에 따른 유사도랭킹을 사용자에게 제공할 수 있으며, 유사문서로 결정된 각각의 문서들에 대한 키워드정보를 제공할 수 있다.
도 19는 본 발명의 일 실시예에 따른 컴퓨팅장치(11000)의 내부 구성을 예시적으로 도시한다.
도 1에 대한 설명에서 언급된 컴퓨팅시스템은 후술하는 도 19에 도시된 컴퓨팅장치(11000)의 구성요소를 포함할 수 있다.
도 19에 도시한 바와 같이, 컴퓨팅장치(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 신호를 송수신함으로써, 다른 컴퓨팅장치와 통신을 가능하게 할 수도 있다.
이러한 도 19의 실시예는, 상기 컴퓨팅장치(11000)의 일례일 뿐이고, 상기 컴퓨팅장치(11000)는 도 19에 도시된 일부 컴포넌트가 생략되거나, 도 19에 도시되지 않은 추가의 컴포넌트를 더 구비하거나, 2 개 이상의 컴포넌트를 결합시키는 구성 또는 배치를 가질 수 있다. 예를 들어, 모바일 환경의 통신 단말을 위한 컴퓨팅장치는 도 19에 도시된 컴포넌트들 외에도, 터치스크린이나 센서 등을 더 포함할 수도 있으며, 상기 통신 회로(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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명의 일 실시예에 따르면, 대상문서에 직접적으로 포함되지 않더라도 상기 대상문서에 포함되는 명사구와 의미론적으로 유사한 명사구를 포함하는 법률문서 혹은 국회문서를 찾을 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 적확한 법률용어를 모르는 일반인일지라도, 일상에서 사용되는 명사구를 검색하여, 해당 명사구와 유사한 의미를 가지는 법률용어가 포함되는 법률문서 혹은 국회문서를 찾을 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 특정 문서에 대한 검색서비스를 제공하는데 있어, 데이터베이스에 저장된 복수의 법률문서 혹은 국회문서들에 대한 의미론적 키워드를 도출할 수 있고, 이를 통해 상기 검색서비스의 이용자가 검색한 키워드가 직접적으로 포함되지 않더라도 의미론적으로 비슷한 키워드가 있는 문서를 검색결과로 제공할 수 있는 효과를 발휘할 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (8)

1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅시스템에서 수행되는, 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법으로서,
대상문서를 기학습된 BERT모델에 입력하여 제1문서특징정보를 추출하는 제1문서특징정보추출단계;
상기 대상문서를 입력된 문서에 대하여 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델에 입력하고, 상기 키워드모델의 동작과정에서 발생되는 제1히든레이어정보를 추출하는 제1히든레이어정보추출단계;
상기 제1문서특징정보와 상기 제1히든레이어정보를 컨캣(concat)하여 상기 대상문서에 대한 대상문서특징정보를 추출하는 대상문서특징정보추출단계;
후보문서를 기학습된 BERT모델에 입력하여 제2문서특징정보를 추출하는 제2문서특징정보추출단계;
상기 후보문서를 입력된 문서에 대하여 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델에 입력하고, 상기 키워드모델의 동작과정에서 발생되는 제2히든레이어정보를 추출하는 제2히든레이어정보추출단계;
상기 제2문서특징정보와 상기 제2히든레이어정보를 컨캣(concat)하여 상기 후보문서에 대한 후보문서특징정보를 추출하는 후보문서특징정보추출단계; 및
상기 대상문서특징정보와 상기 후보문서특징정보의 유사도를 산출하고, 상기 유사도에 기초하여 상기 대상문서와 유사한 유사문서를 결정하는 유사문서결정단계;를 포함하는, 유사한 법률문서 혹은 국회문서를 추출하는 방법.
청구항 1에 있어서,
상기 키워드모델은,
학습대상문서를 기학습된 BERT모델에 입력하여 제1특징정보를 추출하는 제1특징정보추출단계;
상기 학습대상문서의 형태소를 분석하여, 상기 학습대상문서에 포함되는 복수의 명사구를 추출하는 명사구추출단계;
상기 복수의 명사구를 상기 BERT모델에 입력하여 각각의 명사구에 대한 제2특징정보를 추출하는 제2특징정보추출단계;
상기 각각의 명사구에 대한 제2특징정보와 상기 제1특징정보의 유사도에 기초하여, 기설정된 개수의 키워드명사구를 도출하는 키워드명사구추출단계; 및
상기 학습대상문서 및 상기 키워드명사구를 이용하여 입력된 문서에 대해 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델을 학습하는 모델학습단계;에 의하여 학습되는, 유사한 법률문서 혹은 국회문서를 추출하는 방법.
청구항 2에 있어서,
상기 제1특징정보 및 상기 제2특징정보는 복수의 수치를 포함하는 벡터 형태이고,
상기 키워드명사구추출단계는,
상기 각각의 명사구에 대한 상기 제2특징정보와 상기 제1특징정보에 기초하여 스칼라 형태의 벡터유사도를 도출하는 유사도도출단계;
기설정된 i개의 상위의 벡터유사도를 갖는 명사구를 후보키워드명사구로 도출하는 후보키워드명사구선정단계;
상기 후보키워드명사구 중 가장 높은 벡터유사도를 갖는 명사구를 기준키워드명사구로 도출하는 기준키워드명사구추출단계; 및
상기 기준키워드명사구를 제외한 상기 후보키워드명사구 중 상기 기준키워드명사구와의 벡터유사도가 낮을수록 높아지게 산출되는 제1스코어와 상기 제1특징정보와의 벡터유사도가 높을수록 높아지게 산출되는 제2스코어의 합이 가장 높은 후보키워드명사구를 기준키워드명사구로 추가하는 기준키워드명사구추가단계;를 포함하고,
상기 i는 1 이상의 자연수에 해당하는, 유사한 법률문서 혹은 국회문서를 추출하는 방법.
청구항 3에 있어서,
상기 키워드명사구추출단계는,
상기 기준키워드명사구추가단계 이후, 상기 기준키워드명사구추출단계 및 상기 기준키워드명사구추가단계 각각에서 도출된 명사구를 제외한 상기 후보키워드명사구 중 상기 기준키워드명사구추가단계에서 추가된 명사구와 벡터유사도가 낮을수록 높아지게 산출되는 제1스코어와 상기 제1특징정보와 벡터유사도가 높을수록 높아지게 산출되는 제2스코어의 합이 가장 높은 후보키워드명사구를 기준키워드명사구로 더 추가하는 단계; 및
반복 수행된 기준키워드명사구추가단계를 통해 도출된 기준키워드명사구의 수가 상기 기설정된 개수가 되는 경우, 도출된 상기 기설정된 개수의 기준키워드명사구를 입력된 문서에 대한 키워드명사구로 도출하는 단계;를 더 포함하는, 유사한 법률문서 혹은 국회문서를 추출하는 방법.
청구항 1에 있어서,
상기 대상문서특징정보 및 상기 후보문서특징정보는 복수의 수치를 포함하는 벡터 형태이고,
상기 유사문서결정단계는,
상기 대상문서특징정보와 상기 후보문서특징정보를 행렬곱한 결과에 기초하여 해당 대상문서와 해당 후보문서에 대한 쌍별유사도를 도출하고, 기설정된 기준치 이상의 쌍별유사도를 가지는 후보문서를 유사문서로 결정하는, 유사한 법률문서 혹은 국회문서를 추출하는 방법.
청구항 1에 있어서,
상기 컴퓨팅시스템은 복수의 법률문서 및 국회문서를 저장하는 데이터베이스를 포함하고,
상기 후보문서는 상기 복수의 법률문서 및 국회문서 중 일부 혹은 전체를 포함하고,
상기 유사문서결정단계는,
상기 데이터베이스에 포함되는 복수의 후보문서 각각에 대해 도출된 복수의 후보문서특징정보 각각과 대상문서특징정보와의 유사도를 산출하고, 기설정된 j개의 상위의 유사도를 갖는 법률문서 혹은 국회문서를 유사문서로 결정하고,
상기 j는 1 이상의 자연수에 해당하는, 유사한 법률문서 혹은 국회문서를 추출하는 방법.
1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅시스템에서 수행되는, 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법을 구현하기 위한 컴퓨터-판독가능 기록매체로서, 상기 컴퓨터-판독가능 기록매체는, 상기 컴퓨팅시스템으로 하여금 이하의 단계들을 수행하도록 하는 명령들을 저장하며,
상기 이하의 단계들은:
대상문서를 기학습된 BERT모델에 입력하여 제1문서특징정보를 추출하는 제1문서특징정보추출단계;
상기 대상문서를 입력된 문서에 대하여 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델에 입력하고, 상기 키워드모델의 동작과정에서 발생되는 제1히든레이어정보를 추출하는 제1히든레이어정보추출단계;
상기 제1문서특징정보와 상기 제1히든레이어정보를 컨캣(concat)하여 상기 대상문서에 대한 대상문서특징정보를 추출하는 대상문서특징정보추출단계;
후보문서를 기학습된 BERT모델에 입력하여 제2문서특징정보를 추출하는 제2문서특징정보추출단계;
상기 후보문서를 입력된 문서에 대하여 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델에 입력하고, 상기 키워드모델의 동작과정에서 발생되는 제2히든레이어정보를 추출하는 제2히든레이어정보추출단계;
상기 제2문서특징정보와 상기 제2히든레이어정보를 컨캣(concat)하여 상기 후보문서에 대한 후보문서특징정보를 추출하는 후보문서특징정보추출단계; 및
상기 대상문서특징정보와 상기 후보문서특징정보의 유사도를 산출하고, 상기 유사도에 기초하여 상기 대상문서와 유사한 유사문서를 결정하는 유사문서결정단계;를 포함하는, 컴퓨터-판독가능 기록매체.
1 이상의 프로세서 및 1 이상의 메모리를 포함하고, 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법을 수행하는 컴퓨팅시스템으로서,
대상문서를 기학습된 BERT모델에 입력하여 제1문서특징정보를 추출하는 제1문서특징정보추출부;
상기 대상문서를 입력된 문서에 대하여 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델에 입력하고, 상기 키워드모델의 동작과정에서 발생되는 제1히든레이어정보를 추출하는 제1히든레이어정보추출부;
상기 제1문서특징정보와 상기 제1히든레이어정보를 컨캣(concat)하여 상기 대상문서에 대한 대상문서특징정보를 추출하는 대상문서특징정보추출부;
후보문서를 기학습된 BERT모델에 입력하여 제2문서특징정보를 추출하는 제2문서특징정보추출부;
상기 후보문서를 입력된 문서에 대하여 1 이상의 키워드를 추출할 수 있는 인공신경망 기반의 키워드모델에 입력하고, 상기 키워드모델의 동작과정에서 발생되는 제2히든레이어정보를 추출하는 제2히든레이어정보추출부;
상기 제2문서특징정보와 상기 제2히든레이어정보를 컨캣(concat)하여 상기 후보문서에 대한 후보문서특징정보를 추출하는 후보문서특징정보추출부; 및
상기 대상문서특징정보와 상기 후보문서특징정보의 유사도를 산출하고, 상기 유사도에 기초하여 상기 대상문서와 유사한 유사문서를 결정하는 유사문서결정부;를 포함하는, 컴퓨팅시스템.
KR1020230006919A 2023-01-17 2023-01-17 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템 KR102526211B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230006919A KR102526211B1 (ko) 2023-01-17 2023-01-17 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230006919A KR102526211B1 (ko) 2023-01-17 2023-01-17 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템

Publications (2)

Publication Number Publication Date
KR102526211B1 true KR102526211B1 (ko) 2023-04-27
KR102526211B9 KR102526211B9 (ko) 2023-10-12

Family

ID=86100319

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230006919A KR102526211B1 (ko) 2023-01-17 2023-01-17 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템

Country Status (1)

Country Link
KR (1) KR102526211B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102625553B1 (ko) * 2023-05-19 2024-01-16 주식회사 코딧 입력된 쿼리와 관련된 규제법률조항을 도출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101200367B1 (ko) 2010-08-31 2012-11-14 대한민국 통합 법률 정보 서비스 방법 및 시스템
US20200279105A1 (en) * 2018-12-31 2020-09-03 Dathena Science Pte Ltd Deep learning engine and methods for content and context aware data classification
US20220300735A1 (en) * 2021-03-22 2022-09-22 Bill.Com, Llc Document distinguishing based on page sequence learning
US20230004604A1 (en) * 2021-06-30 2023-01-05 Pricewaterhousecoopers Llp Ai-augmented auditing platform including techniques for automated document processing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101200367B1 (ko) 2010-08-31 2012-11-14 대한민국 통합 법률 정보 서비스 방법 및 시스템
US20200279105A1 (en) * 2018-12-31 2020-09-03 Dathena Science Pte Ltd Deep learning engine and methods for content and context aware data classification
US20220300735A1 (en) * 2021-03-22 2022-09-22 Bill.Com, Llc Document distinguishing based on page sequence learning
US20230004604A1 (en) * 2021-06-30 2023-01-05 Pricewaterhousecoopers Llp Ai-augmented auditing platform including techniques for automated document processing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Wang and Li. "Unsupervised keyphrase extraction from single document based on bert." 2022 International Seminar on Computer Science and Engineering Technology. IEEE, 2022. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102625553B1 (ko) * 2023-05-19 2024-01-16 주식회사 코딧 입력된 쿼리와 관련된 규제법률조항을 도출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템

Also Published As

Publication number Publication date
KR102526211B9 (ko) 2023-10-12

Similar Documents

Publication Publication Date Title
JP5936698B2 (ja) 単語意味関係抽出装置
Nanda et al. Unsupervised and supervised text similarity systems for automated identification of national implementing measures of European directives
JP2021507350A (ja) 複雑な回答の補強証拠取り出し
Kim et al. Legal question answering using ranking SVM and syntactic/semantic similarity
Kim et al. Applying a convolutional neural network to legal question answering
KR102526211B1 (ko) 입력된 법률문서 혹은 국회문서에 대하여 유사한 법률문서 혹은 국회문서를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템
Lauriola et al. Answer sentence selection using local and global context in transformer models
Yu et al. Retrofitting concept vector representations of medical concepts to improve estimates of semantic similarity and relatedness
Vij et al. Fuzzy logic for inculcating significance of semantic relations in word sense disambiguation using a WordNet graph
Yoshioka et al. Hukb at the coliee 2022 statute law task
Kim et al. Legal information retrieval and entailment based on bm25, transformer and semantic thesaurus methods
Vitiugin et al. Efficient detection of multilingual hate speech by using interactive attention network with minimal human feedback
Yang et al. Enhancing unsupervised pretraining with external knowledge for natural language inference
Van Nguyen et al. Multi-stage transfer learning with BERTology-based language models for question answering system in vietnamese
Rezaei et al. Features in extractive supervised single-document summarization: case of Persian news
Suresh Kumar et al. Local search five‐element cycle optimized reLU‐BiLSTM for multilingual aspect‐based text classification
Feng et al. Recommending statutes: A portable method based on neural networks
KR102625553B1 (ko) 입력된 쿼리와 관련된 규제법률조항을 도출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템
US11256707B1 (en) Per-query database partition relevance for search
Telukuntla et al. UNCC biomedical semantic question answering systems. BioASQ: Task-7B, Phase-B
Yousif et al. Citation classification using multitask convolutional neural network model
Nguyen et al. Text normalization for named entity recognition in Vietnamese tweets
Huang et al. Exploiting a zoo of checkpoints for unseen tasks
KR102603298B1 (ko) 대상문서로부터 의미론적 키워드를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템
Oita et al. Semantically corroborating neural attention for biomedical question answering

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]