KR20230053373A - 심층 신경망 기반의 문서 분석 시스템과 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체 및 매체에 저장된 컴퓨터프로그램 - Google Patents

심층 신경망 기반의 문서 분석 시스템과 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체 및 매체에 저장된 컴퓨터프로그램 Download PDF

Info

Publication number
KR20230053373A
KR20230053373A KR1020210136807A KR20210136807A KR20230053373A KR 20230053373 A KR20230053373 A KR 20230053373A KR 1020210136807 A KR1020210136807 A KR 1020210136807A KR 20210136807 A KR20210136807 A KR 20210136807A KR 20230053373 A KR20230053373 A KR 20230053373A
Authority
KR
South Korea
Prior art keywords
dictionary
module
neural network
deep neural
individual
Prior art date
Application number
KR1020210136807A
Other languages
English (en)
Other versions
KR102607826B1 (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 KR1020210136807A priority Critical patent/KR102607826B1/ko
Publication of KR20230053373A publication Critical patent/KR20230053373A/ko
Application granted granted Critical
Publication of KR102607826B1 publication Critical patent/KR102607826B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)

Abstract

본 실시예에 따른 심층 신경망 기반의 문서 분석 시스템과 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체 및 매체에 저장된 컴퓨터프로그램에 관한 것으로, 문장 또는 문서에서 형태소 분석 및 원형 처리를 통해 키워드를 추출하는 단계와, 다수의 개별 사전을 갖는 사전 유무를 판단하여 사전이 없는 경우에는 사전을 생성하는 단계와, 추출된 키워드와 사전을 이용하여 각 문장을 수치화 하되, 다수의 개별 사전 개수에 해당하는 비트수를 갖는 형태의 수치로 변환하는 단계 및 상기 수치를 심층 신경망을 이용하여 문장 또는 문서를 분석하는 단계를 포함하는 심층 신경망 기반의 문서 분석 시스템과 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체 및 매체에 저장된 컴퓨터프로그램을 제공한다.

Description

심층 신경망 기반의 문서 분석 시스템과 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체 및 매체에 저장된 컴퓨터프로그램 {DEEP NEURAL NETWORK-BASED DOCUMENT ANALYSIS SYSTEM AND METHOD, AND COMPUTER PROGRAM STORED IN RECORDING MEDIA AND MEDIA IN WHICH THE PROGRAM IS STORED}
본 발명은 심층 신경망 기반의 문서 분석 시스템과 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체 및 매체에 저장된 컴퓨터프로그램에 관한 것으로, 텍스트 문서를 문장별로 의미요소를 학습하고, 분류하여 문서의 위험성을 분석할 수 있는 심층 신경망 기반의 문서 분석 시스템과 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체 및 매체에 저장된 컴퓨터프로그램을 제공한다.
일반적으로 계약서 또는 제안서와 같은 문서는 법령이나 규정 등에 따라 그 형식이나 내용이 어느 정도 일정한 포멧으로 정의 되어 있다. 또한, 해당 문서와 관련하여 전문성이 없는 사용자가 문서를 읽고, 그 의미를 독해하여 문서내의 위험성이나 누락된 부분을 찾기가 매우 어려운 단점이 있다. 물론, 전문가를 통해 해당 문서에 관한 자문 및 검토를 통해 이를 해소할 수 있지만, 전문가는 제한적인 정보 범위 내에서 문서를 검토하기 때문에 그 검토의 정확성이 떨어지고, 전문가라고 하더라고, 방대한 문서의 모든 항목을 커버하지 못하게 되어 누락이나 잘못된 항목 심지어 불리한 항목과 문서 내의 위험성을 효과적으로 분석하지 못하는 단점이 있다.
(특허 문헌 1) 한국등록특허공보 제10-2118603호 (특허 문헌 2) 한국공개특허공보 제10-2020-0103152호
본 발명은 상술한 문제점을 해결하기 위하여 안출된 것으로서, 사용자가 정한 분류 기준에 따라 문서를 분류하기 위해 문장별 의미적 요소의 수치화와 이를 심층 신경망 기반의 학습을 진행하고, 학습 결과를 바탕으로 분류 기준에 따라 문서를 분류할 수 있는 심층 신경망 기반의 문서 분석 시스템과 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체 및 매체에 저장된 컴퓨터프로그램을 제공한다.
본 발명에 따른 대상 문서의 문장별 키워드를 추출하는 전처리 모듈과, 상기 전처리 모듈 및 학습 제어 모듈에 의한 키워드의 유사 범주를 그룹화 하여 다수의 단어가 범주화되어 복수의 개별 사전으로 분류된 사전 모듈과, 상기 전처리 모듈을 통해 추출된 키워드를 사전 모듈을 바탕으로 수치화하는 수치화 모듈과, 심층 신경망을 통해 수치화 모듈의 수치값을 학습 하거나 예측 분석하는 심층 신경망 모듈과, 학습 기준에 따라 심층 신경망 모듈을 통해 수치화 모듈을 거친 문장의 학습을 제어하는 학습 제어 모듈 및 분석 문서에 대한 분석을 제어하는 분석 모듈를 포함하는 심층 신경망 기반의 문서 분석 시스템을 제공한다.
상기 전처리 모듈은 상술한 동작을 위해 문서에서 문장을 분리하는 문장 분리 모듈과, 분리된 문장에서 단어를 구분하는 단어 구분 모듈과, 분리된 단어에서 그 원형을 추출 선정하는 원형 추출 모듈을 포함한다.
상기 원형 추출 모듈은 분리된 단어의 형태소를 분석하는 형태소 분석부와, 형태소 분석 결과에 따라 불용 단어나 불필요 조사를 제거하는 불용 단어 제거부와, 단어의 원형을 매칭하고, 다중 의미 단어 및 복합 명사등의 원형을 선택하는 원형 선택부를 포함한다.
상기 사전 모듈은 문서 내의 키워드를 제공 받아 분류하는 범주 분류부와, 분류된 범주에 해당하는 개별 사전을 생성하는 개별 사전 생성부와, 생성된 개별 사전 내에 위치한 키워드를 확장시키는 키워드 확장부와, 생성된 개별 사전을 저장 하는 별도의 사전 저장부를 포함한다.
상기 수치화 모듈은 사전 모듈을 기반으로 문장별 추출된 키워드를 이용하여 문장을 수치화하되, 개별 사전의 개수에 해당하는 비트로 표현하되, 각각의 키워드가 각 개별 사전에 있는지를 확인하고, n번째 개별 사전에 해당 키워드 단어가 있는 경우, 해당 번째의 개별 사전 위치 값을 1로 표현하는 것을 특징으로 한다.
상기 수치화 모듈은 문장 단위별, 문장 내의 키워드를 각 개별 사전 내의 범주 단어 부분의 단어와 일치하는지 유무를 판단하되, 일치하는 경우는 1로 수치화하고, 일치하지 않는 경우, 0으로 수치화 하는 것을 특징으로 한다.
상기 수치화 모듈은 키워드를 각 개별 사전들과 순차적으로 비교하여 0과 1로 수치화하되, 하나의 개별 사전에 다수의 키워드가 일치하는 경우 해당 개별 사전 위치 값을 1로 수치화 하고, 하나의 키워드가 다수의 개별 사전에 일치하는 경우 각 개별 사전들의 위치 값을 1로 수치화 하는 것을 특징으로 한다.
또한, 본 발명에 따른 문장 또는 문서에서 형태소 분석 및 원형 처리를 통해 키워드를 추출하는 단계와, 다수의 개별 사전을 갖는 사전 유무를 판단하여 사전이 없는 경우에는 사전을 생성하는 단계와, 추출된 키워드와 사전을 이용하여 각 문장을 수치화 하되, 다수의 개별 사전 개수에 해당하는 비트수를 갖는 형태의 수치로 변환하는 단계 및 상기 수치를 심층 신경망을 이용하여 문장 또는 문서를 분석하는 단계를 포함하는 심층 신경망 기반의 문서 분석 방법을 제공한다.
상기 키워드를 추출하는 단계는, 문서에서 문장을 분리하고, 분리된 문장에서 단어를 구분하는 단계와, 구분된 단어를 바탕으로 해당 단어의 원형을 추출하되, 불필요한 조사를 제거하고, 명사의 경우 단수형으로 처리하고, 동사의 경우, 현재 기본형으로 치환하고, 형태소 분석을 통해 하나의 단어에 복수 명사 또는 의미가 합해진 경우에는 이들 각각의 원형을 추출하고, 명사와 동사의 원형이 모두 존재하는 경우 이 둘을 모두 추출하는 단계 및 별도의 불필요 용어 사전을 통해 용어 사전에 포함된 단어를 삭제하는 단계를 포함한다.
상기 사전을 생성하는 단계는, 키워드 분석 즉, TF-IDF 분석 또는 범주 분석을 통해 유사 그룹화가 가능한 범주를 분류하는 단계와, 분류된 범주를 각각의 개별 사전으로 분류하되, 범주 명을 사전 구분 부분으로, 그 범주에 해당하는 키워드 단어를 범주 단어 부분으로 분리 저장하는 단계 및 각 개별 사전으로 분류된 키워드에 대한 동의어 및 유의어 확장을 통해 개별 사전 내의 단어를 증가시키는 단계를 포함한다.
상기 각 문장을 수치화는 문장의 각 키워드를 전체 개별 사전의 범주 단어 부분과 일치 여부를 비교하고, 일치하는 개별 사전의 벡터 값을 1로 표현하고, 일치하지 않는 경우에는 0으로 표현하여, 전체 개별 사전의 개수 만큼의 비트수로 문장을 수치화하는 것을 특징으로 한다.
하나의 키워드가 복수의 개별 사전의 단어와 일치하는 경우, 일치되는 모든 개별 사전에 해당하는 출력 값을 1로 하고, 하나의 개별 사전 내에 복수의 키워드가 일치하는 경우, 이 하나의 개별 사전의 출력 값을 1로 하는 것을 특징으로 한다.
또한, 상술한 심층 신경망 기반의 문서 분석 방법을 구현하기 위해 프로그램이 저장된 기록 매체를 제공한다.
또한, 심층 신경망 기반의 문서 분석 방법을 구현하기 위해 매체에 저장된 컴퓨터 프로그램을 제공한다.
이와 같이 본 발명은 사용자가 정한 분류 기준에 따라 문서를 분류하기 위해 문장별 의미적 요소의 수치화와 이를 심층 신경망 기반의 학습을 진행하고, 학습 결과를 바탕으로 분류 기준에 따라 문서를 분류할 수 있다.
또한, 문서에 등장하는 단어의 범주를 구분하고, 이를 사전화 한 다음, 이 사전을 이용하여 문서 내 문장을 수치화 함으로 인해 심층 신경망 분석의 분석능력을 향상시킬 수 있고, 동작 속도를 증대할 수 있다.
또한, 수치화의 범위를 사전 내의 개별 사전의 개수로 한정함으로 인해 심층 신경망의 구조의 단순화를 기대할 수 있다.
도 1은 본 발명의 일 실시예에 따른 심층 신경망 기반의 문서 분석 시스템을 설명하기 위한 개념도이다.
도 2는 일 실시예에 따른 전처리 모듈을 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 원형 추출 모듈을 설명하기 위한 블록도이다.
도 4는 일 실시예에 따른 사전 모듈을 설명하기 위한 블록도이다.
도 5는 일 실시예에 따른 수치화 모듈의 동작을 설명하기 위한 개념도이다.
도 6은 일 실시예에 따른 심층 신경망 모듈을 설명하기 위한 블록 개념도이다.
도 7은 본 발명의 일 실시예에 따른 심층 신경망 기반의 문서 분석 방법을 설명하기 위한 흐름도이다.
도 8은 일 실시예에 따른 키워드 추출 방법을 설명하기 위한 흐름도이다.
도 9는 일 실시예에 따른 문장 수치화 방법을 설명하기 위한 흐름도이다.
도 10은 일 실시예에 따른 문장 학습 방법을 설명하기 위한 흐름도이다.
도 11은 일 실시예에 따른 사전 생성 방법을 설명하기 위한 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 더욱 상세히 설명하기로 한다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 도면상에서 동일 부호는 동일한 요소를 지칭한다.
본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다. 따라서, 본 명세서를 통해 설명되는 각 구성부들의 존재 여부는 기능적으로 해석 되어야 할 것이다. 이러한 이유로 본 발명의 심층 신경망 기반의 문서 분석 시스템과 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체 및 매체에 저장된 컴퓨터프로그램의 구성부들의 구성은 본 발명의 목적을 달성할 수 있는 한도 내에서 상이해질 수 있음을 명확히 밝혀둔다.
본 명세서에서, 제1 및 제2, 상부 및 하부 등의 관계적인 용어는, 그러한 엔티티 또는 액션 간의 실제 관계 또는 순서를 반드시 요구하거나 암시하지 않고 다른 엔티티나 액션과 하나의 엔티티 또는 액션을 구별하는 데에만 사용될 수 있다. 용어 "포함하다(comprises)", "포함하는(comprising)" 또는 그 다른 변형은, 구성요소의 리스트를 포함하는 프로세스, 방법, 제품, 또는 장치가 구성요소만을 포함하지 않지만 그러한 프로세스, 방법, 제품, 또는 장치에 명시적으로 열거되거나 내재되지 않은 다른 구성요소를 포함할 수 있도록, 비배타적인 포함물을 커버하도록 의도된다. "하나의 ~를 포함하다"로 진행되는 하나의 구성요소는, 더 이상의 제한없이, 구성요소를 포함하는 프로세스, 방법, 제품, 또는 장치 내에 부가적인 동일한 구성요소의 존재를 배제한다.
본 발명의 특장점 및 이를 구현하는 방법은 첨부된 도면들과 함께 심층 신경망 기반의 문서 분석 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체 및 매체에 저장된 컴퓨터프로그램에 대하여 상세히 설명한다.
그러나 도면과 상세한 설명은 심층 신경망 기반의 문서 분석 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체 및 매체에 저장된 컴퓨터프로그램 분야의 관련 종사자들이 통상적으로 알 수 있는 구성 및 방법에 대하여는 간략하게 설명하거나 생략하였고 본 발명의 개시를 명확하게 이해하는데 필요한 부분으로 한정하였다. 따라서 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니며 다양한 형태와 방법으로 구현될 수 있으며, 본 발명은 청구항의 범주에 의해 정의된다.
도 1은 본 발명의 일 실시예에 따른 심층 신경망 기반의 문서 분석 시스템을 설명하기 위한 개념도이며, 도 2는 일 실시예에 따른 전처리 모듈을 설명하기 위한 블록도이고, 도 3은 일 실시예에 따른 원형 추출 모듈을 설명하기 위한 블록도이고, 도 4는 일 실시예에 따른 사전 모듈을 설명하기 위한 블록도이고, 도 5는 일 실시예에 따른 수치화 모듈의 동작을 설명하기 위한 개념도이고, 도 6은 일 실시예에 따른 심층 신경망 모듈을 설명하기 위한 블록 개념도이다.
도 1 내지 도 6에 도시된 바와 같이 본 실시예에 따른 심층 신경망 기반의 문서 분석 시스템은 대상 문서의 문장별 키워드를 추출하는 전처리 모듈(100)과, 전처리 모듈(100) 및 학습 제어 모듈(500)에 의한 키워드의 유사 범주를 그룹화 하여 다수의 단어가 범주화되어 복수의 개별 사전으로 분류된 사전 모듈(200)과, 전처리 모듈(100)을 통해 추출된 키워드를 사전 모듈(200)을 바탕으로 수치화하는 수치화 모듈(300)과, 심층 신경망을 통해 수치화 모듈(300)의 수치값을 학습 하거나 예측 분석하는 심층 신경망 모듈(400)과, 학습 기준에 따라 심층 신경망 모듈(400)을 통해 수치화 모듈(300)을 거친 문장의 학습을 제어하는 학습 제어 모듈(500)과, 분석 문서에 대한 분석을 제어하는 분석 모듈(600)를 포함한다.
시스템 및 각 모듈에서 처리 또는 저장되는 정보와 데이터가 저장된 DB모듈을 더 포함하는 것도 가능하다.
전처리 모듈(100)은 문장 또는 문서에서 형태소 분석 및 원형 처리를 거쳐 키워드를 추출한다. 문서는 컴퓨터 텍스트 문서를 사용하는 것이 가능하다.
전처리 모듈(100)은 대상 문서에서 문장을 분리하고, 분리된 문장에서 각 단어를 구분한다. 이때, 문장의 분리는 문장 구분 기호를 사용하고, 단어의 구분은 글자간의 이격을 기준으로 구분하는 것이 가능하지만, 이에 한정되지 않고, 다양한 기술을 이용하여 이들을 분리 구분하는 것이 가능하다. 여기서, 문서에서 문장을 분리한 다음 각 문장마다 고유의 식별 번호나 기호를 부여하는 것이 효과적이다. 이를 통해 문장 내의 단어 분류를 통해 키워드를 추출하게 되면 해당 문장의 고유 식별 번호가 해당 키워드 앞단에 표시되는 것이 효과적이다. 이를 위해 자립형태소와 의존형태소로 분류하거나, 실질형태소와 형식 형태소로 분류하는 등의 다양한 형태의 형태소분석 기술이 사용되는 것이 가능하다. 형태소 분석을 통해 단어의 실질적 의미 뿐만 아니라 문법적인 의미까지 포함하여 분류가 가능하다.
그리고, 구분된 단어를 바탕으로 해당 단어의 원형을 추출하고 이를 문장별 키워드로 저장한다. 단어의 원형 추출을 위해 불필요한 조사를 제거하고, 명사의 경우 단수형으로 처리한다. 대명사, 관사를 제거하고, 동시에 주요하지 않는 단어를 제거한다. 그리고, 동사의 경우는 현재형 및 기본형으로 표현한다. 또한, 하나의 단어에 명사나 동사 등이 있는 경우에는 이 둘을 모두 원형으로 추출하는 것이 효과적이다. 형태소 분석을 통해 하나의 단어에 두개의 명사가 합해진 경우는 이들 각각을 원형으로 추출하는 것도 가능하다. 물론, 이에 한정되지 않고, 다양한 원형 처리를 통해 단어의 원형을 확인하는 것이 가능하고, 단어의 원형으로 동사와 명사를 사용하는 것이 효과적이다. 물론, 관사도 원형으로 사용하는 것이 가능하다. 하지만, 조사나 감탄사 그리고, 대명사의 경우는 제거하고, 불필요한 단어도 별도 정리된 개별 사전 즉, 불용어 사전을 이용하여 제거하는 것이 효과적이다.
이와 같은 전처리 모듈(100)은 상술한 동작을 위해 문서에서 문장을 분리하는 문장 분리 모듈(110)과, 분리된 문장에서 단어를 구분하는 단어 구분 모듈(120)과, 분리된 단어에서 그 원형을 추출 선정하는 원형 추출 모듈(130)을 포함할 수 있다. 원형 추출 모듈(130)은 분리된 단어의 형태소를 분석하는 형태소 분석부(131)와, 형태소 분석 결과에 따라 불용 단어나 불필요 조사를 제거하는 불용 단어 제거부(132)와, 단어의 원형을 매칭하고, 다중 의미 단어 및 복합 명사등의 원형을 선택하는 원형 선택부(133)를 포함하는 것이 가능하다. 물론, 형태소 분석부는 단어 구분 모듈에 포함되어 단어의 분류와 형태소 분류를 동시에 진행하는 것도 가능하다.
예를 들어, "이순신장군은 임진왜란에서 거북선 등을 이용하여, 대승을 거뒀다"라는 문장에서 키워드를 추출하는 경우를 고려하면, 먼저 단어 별로 분류한다. "이순신장군은", "임진왜란에서", "거북선", "등을", "이용하여", "대승을", "거뒀다"로 분류할 수 있다. 이후, 각 단어에서 조사나 감탄사 및 불용단어를 제거하고, 단어의 원형을 추출하면 "이순신장군", "임진왜란", "거북선", "이용", "이용하다", "대승", "거두다"로 분류될 수 있다. 그리고, 앞서 이야기한 바와 같이 명사가 연속된 복합명사의 경우에는 이들을 분리하여 "이순신장군"을 "이순신", "장군"으로 분리하는 것이 효과적이다. 여기서, 이용하여의 경우에는 그 원형이 명사로 "이용"이 있고, 동사로 "이용하다"라는 것이 모두 존재할 수 있다. 본 실시예에서는 이 둘을 모두 원형으로 판단하는 것이 효과적이다. 이뿐만 아니라, 이와 같이 형태소 분석에 의해 동사로 "하다"와 "되다"와 같은 동사들의 경우는 대부분 명사와 동사가 같이 원형으로 판단되는 것이 효과적이다. 즉, 공부하다는 공부와 공부하다가, 발견되다는 발견과 발견되다를 모두 원형으로 추출하는 것이 가능하다. 또한, 복합 명사의 경우 분리하되, 그 원형이 될 수 있는 모든 경우의 수를 다 원형으로 추출한다. 예를 들어, "독립문"의 경우 "독립", "문", "독립문"으로 원형 추출하고, "영문법"의 경우, "영문", "문법", "법", "영문법"을 원형으로 추출하는 것이 가능하다. 이와 같이 추출된 단어의 원형은 저장된다. 이때, 저장되는 데이터의 앞단에는 문서에서 분류된 문장의 고유 식별 번호가 표시되어 있는 것이 효과적이다. 이를 통해 하나의 문장이 몇개의 키워드로 구성되었는지 확인이 가능하게 된다. 앞서 언급한 바와 같이 하나의 문장에 구성된 단어수와 동일한 개수의 키워드가 나올 수 있지만, 이에 한정되지 않고, 이보다 많은 수의 키워드가 생성될 수 있다.
이와 같이 전처리 모듈(100)을 통해 문서 및 문장 내의 키워드가 추출된 이후, 이 키워드를 이용하여 사전 모듈(200)은 개별 사전을 생성하고, 수치화 모듈(300)은 각 문장을 사전 모듈(200)을 이용하여 수치화 한다.
하기에서는 사전 모듈(200)을 통한 수치화 변화를 위한 개별 사전 생성에 관하여 설명한다. 사전 모듈(200)은 학습 제어 모듈(500)에 의해 생성되고, 분석 모듈(600)에 의해 그 사전 내용이 보강 및 변경 또는 추가되는 것이 가능하다.
사전 모듈(200)은 전처리 모듈(100)에 의한 키워드를 유사 범주로 그룹화 하고, 이 그룹화된 키워드들을 각각 개별 사전으로 분류한다.
사전 모듈(200)은 생성된 모든 키워드를 입력 받는다. 입력된 키워드 분석을 통해 범주를 추출한다. 범주는 키워드 즉, 단어들의 유사 의미 또는 동일 범주에 속하하고 그룹화가 가능함을 지칭한다. 이러한 범주 구분을 위해 본 실시예에서는 TF-IDF분석을 사용하거나, 의미나 유사성 등의 기준을 통한 분류 체계를 생성하는 것이 가능하다. 즉, 문서내의 단어의 빈도수에 따라 그 가중치를 부여하여 구분하는 것도 가능하다. 물론, 빈도수가 아니라 키워드의 중요도를 평가하여 구분하는 것도 가능하다. 또한, 빈도수와 키워드의 중요성을 모두 평가하는 방법도 가능하다. 이를 통해 어떤 단어가 해당 문서내에서 얼마나 많은 빈도로 출연하였는지와 얼마나 중요한지를 그 수치로 나타내는 것이 가능하고, 이를 바탕으로 다양한 분류 체계를 이용하여 어떤 범주의 단어가 많이 도출되고, 그 수치 값이 높은지 낮은지 여부로 구분하는 것이 가능하다.
이와 같이 키워드를 동일 및/또는 유사 범주로 구분한 다음 이 범주를 하나의 개별 사전으로 선정한다. 이때, 개별 사전은 사전 구분부분과 범주 단어 부분으로 구분된다. 사전 구분부분은 범주를 구분하는 명칭 및 ID 또는 분류 기준일수 있고, 범주 단어 부분은 그 범주에 속한 단어들이 위치한 공간일 수 있다. 이와 같이 구분된 범주 하나가 각기 개별 사전으로 구성된다.
물론, 하나의 범주에 단어의 중복없이 저장되는 것이 효과적이다. 또한, 하나의 단어 즉, 키워드가 다수의 범주에 속하는 것도 가능하다. 이는 단어의 의미를 파악하여 다수 의미가 있는 단어는 그 의미가 해당하는 범주의 개별 사전에 위치하는 것이 효과적이다.
사전 모듈(200)의 범주 분류 동작을 건설 회사의 계약서나 제안서(RFP) 문서를 이용하여 분류하는 경우로 설명하면, 사전 모듈(200)은 전처리 모듈(100)에 의해 분류된 키워드를 분석하여 시간 범주, 재료 범주, 장치 또는 장비 범주, 장소 범주, 사람 범주 및 비용(돈) 범주 등으로 구분하는 것이 가능할 수 있다. 물론, 이러한 범주는 이보다 더 많을 수 있고, 현재 분석시 없다가 추후 추가되는 것도 가능하다. 즉, 범주 구분은 이에 한정되지 않고, 사전 모듈(200)에서 다양한 유서 문서의 분석을 통해 추가하거나 변경되는 것이 가능하다.
이와 같이 범주가 구분된 이후에는 범주 즉, 개별 사전 내의 단어 즉, 키워드를 기준으로 사전의 범주 단어 부분을 확장한다. 즉, 동의 및 유의어의 확장을 진행한다. 범주 단어의 확장을 위해서는 어학 사전의 데이터를 사용하는 것이 효과적이다. 이때, 동의어의 빈도수를 이용하되, 빈도수를 조사하여 가중치를 부여하는 것이 가능하다. 또한, 사전의 위치 정보 즉, 색인 정보 기술을 이용하는 것도 가능하다. 이를 통해 만일, 키워드를 통해 비용(돈) 범주에 "가격", "원가"는 단어가 있는 경우, 이의 확장을 진행하면, 대가, 비용, 지출, 경비, 소비, 가치, 시세, 시가, 희생, 손실 등의 단어로의 확장이 가능하다. 범주 즉, 개별 사전에 building 이라는 단어가 있는 경우, 이의 확장을 진행하면 structure, edifice, grocerles 등의 단어로 확장이 가능해질 수 있다.
상술한 바와 같이 키워드를 이용하여 그 범주를 분리하고, 범주에 해당하는 다수의 개별 사전을 형성하고, 키워드를 확장하는 사전 모듈(200)에 따라 분류된 사전을 시각화할 경우, 이를 아래 표와 같이 표현이 가능할 수 있다.
사전 구분 부분 범주 단어 부분
개별사전1 TIME Time, april, day, dec, December, everyday, hour, jan, January, jul, july, jun, june, march, may, minute, month
개별사전2 PERSON Adjudicator, advocate, affidavit, arbiter, arbitral, arbitration, employ, employee, employer, engineer, person, people …
개별사전3 MONEY Bankrupt, benefit, bidding, bill, bond, capital, cash, cent, coin, cost, debt, debtor, discount, dollar, earn, euro, exchange…
개별사전4 PLACE Boundary, bridge, building, central, country, factory, farm, gate, geo, hall, highway, house, indoor, land, location…
... ... ...
표에서와 같이 개별 사전은 더 많이 추가될 수 있고, 사전 구분 부분의 범주도 더 추가되는 것이 가능하다. 또한, 범주 단어 부분도 문서의 분석에 따라 더 추가되고, 확장에 따라 더 추가되는 것이 가능하다.
이러한 동작을 수행하는 사전 모듈(200)은 상술한 동작을 위해 문서 내의 키워드를 제공 받아 분류하는 범주 분류부(210)와, 분류된 범주에 해당하는 개별 사전을 생성하는 개별 사전 생성부(220)와, 생성된 개별 사전 내에 위치한 키워드를 확장시키는 키워드 확장부(230)를 포함한다. 생성된 개별 사전을 저장 하는 별도의 사전 저장부(240)를 더 포함하는 것도 가능하다.
수치화 모듈(300)은 상술한 사전 모듈(200)을 기반으로 문장별 추출된 키워드를 이용하여 수치 형태로 변화시킨다. 개별 사전의 경우 서로 아무 관계가 없는 독립적인 상태를 갖는다. 이에 따라 사전의 개수 만큼의 차원에 벡터 형태로 표현될 수 있다.
수치화 모듈(300)은 학습 제어 모듈(500) 및 분석 모듈(600)에 따라, 전처리 모듈(100)에 의해 각 문장 별로 추출된 키워드를 사전 모듈에 의해 생성된 사전의 각 개별 사전에 대응시켜 일치 유무에 따라 수치화로 표시한다. 즉, 하나의 문장이 개별 사전 개수에 따른 비트수로 표현되는 것이 가능하다.
수치화 모듈(300)은 문장 단위 별로, 문장 내의 키워드를 각 개별 사전 내의 범주 단어 부분의 단어와 일치 유무를 판단한다. 이때, 일치하는 경우 1로 하고, 일치하지 않는 경우에는 0으로 표현한다. 이로인해 하나의 문장이 개별 사전 개수에 해당하는 비트수로 표현될 수 있다. 예를 들어, 개별 사전이 5개가 있는 경우, 전체 표현가능한 비트수는 "00000"로 5비트가될 수 있다.
수치화 모듈(300)은 각각의 키워드가 각 개별 사전에 있는지를 확인하고, n번째 개별 사전에 해당 키워드 단어가 있는 경우, 해당 번째의 개별 사전 위치 값을 1로 표현한다. 예를 들어, 하나의 문장이 5개의 키워드로 구성되고, 앞서와 같이 5개의 개별 사전이 있는 경우, 순차적 또는 동시적으로 키워드와 개별 사전의 범주 단어 부분을 비교하여, 그 결과가 아래 표와 같이 표현되는 것이 가능하다.
구분 개별사전1 개별사전2 개별사전3 개별사전4 개별사전5
키워드 1 0 1 0 0 0
키워드 2 0 0 0 0 0
키워드 3 0 1 0 1 0
키워드 4 0 0 0 0 0
키워드 5 0 0 0 0 0
수치화 결과 0 1 0 1 0
표 2를 보면, 5개의 개별 사전이 있기때문에 일 문장은 5비트로 표현될 수 있다. 일 문장 내에 5개의 키워드가 있고, 이를 개별 사전들과 비교하여 개별 사전 1에는 키워드들이 위치하지 않기 때문에 첫번째 비트는 0으로 표현된다. 그리고, 개별 사전 2에는 키워드 1과 키워드 3이 위치한다. 이 경우, 두개의 키워드가 있기 때문에 두번째 비트는 1로 표현된다. 이때, 키워드에 의한 수치화는 키워드 중 적어도 하나만 위치하더라도 1로 표현한다. 물론 개별 사전에 모든 키워드가 다 있더라도 1로 표현된다. 다음으로, 개별 사전 3과 5에도 키워드들이 위치하지 않기 때문에 3번째와 5번째 비트값도 0이 된다. 개별 사전4에 키워드 3이 위치하기 때문에 4번째 비트는 1로 표현된다. 이때, 키워드 3의 경우, 개별 사전2와 개별사전 4에 동시에 위치하지만, 개별 사전은 각기 동작 및 검토하기 때문에 각기 1로 표현될 수 있다. 따라서, 예시의 5개의 키워드가 있는 문장을 수치화 모듈에 의해 수치화 하면 "01010"의 값을 얻게 된다.
다른 예로, 수치화된 이후의 값이 "000010001000010100"일 경우는 개별 사전이 18개이고, 해당 문장은 5번째 개별 사전과 9번째, 14번째 및 16번째 개별 사전에 해당 문자 키워드에 해당하는 단어가 위치함을 알 수 있다.
본 발명에서는 수치화 모듈(300)에서 검토하는 사전의 개수는 한정되지 않고, 범주 분류에 따라 다양할 수 있다. 바람직하게는 10 내지 1000개의 개별 사전을 사용하는 것이 가능하다. 하지만, 개별 사전의 개수가 너무 많을 경우에는 전체 시스템에 부하가 발생할 수 있고, 개별 사전의 개수가 너무 작을 경우에는 문서 분석이 정확하지 않을 수 있다. 이에 바람직하게는 개별 사전의 개수는 50 내지 200개인 것이 효과적이다. 물론, 분석하는 문서의 분야에 따라 이는 가변적으로 변화하는 것이 효과적이다. 또한, 앞서 언급한 바와 같이, 개별 사전은 문서들을 분야등에 따라 그 개수가 증가할 수 있다. 또 필요에 따라 개별 사전을 통합하여 그 개수를 줄이는 것도 가능하다.
앞선 전처리 모듈(100)의 예시에서, "이순신장군은 임진왜란에서 거북선 등을 이용하여, 대승을 거뒀다"라는 문장에서 키워드를 추출하면, "이순신장군", "임진왜란", "거북선", "이용", "이용하다", "대승", "거두다"로 분류된다. 이때, 이용이라는 단어는 이용이라는 키워드와 이용하다라는 키워드로 2개의 키워드가 생성된다. 이는 키워드가 가중된 것으로 볼 수 있다. 하지만, 사전 모듈(200)에 의해 생성된 개별 사전에서는 이용과 이용하다는 하나의 범주 안에 속하기 때문에 이용이라는 키워드가 위치한 개별 사전과 이용하다라는 키워드가 위치한 개별 사전이 동일하기 때문에 해당 키워드 가중치에 의한 값은 일정하에 1로 표시되어 그 부여된 가중치가 상쇄될 수 있다. 하지만, 이용과 이용하다와 같이 키워드를 분류함으로 인해 문서의 분석을 더욱 구체적으로 할 수 있는 장점이 있다.
심층 신경망 모듈(400)은 수치화 모듈(300)의 수치값을 이용하여 문장 및 문서 분석을 위한 학습을 진행하거나 문장 및 문서의 분석을 진행하는 것이 가능하다. 심층 신경망 모듈(400)은 데이터를 입력 받는 입력부(410)와, 결과를 출력하는 출력부(420) 및 심층 신경망 분석을 수행하는 은닉부(430)를 포함한다. 본 실시예에서는 입력부(410)는 개별 사전의 개수 즉, 수치화 모듈(300)에 의해 수치화된 비트수와 동일한 것이 효과적이다. 즉, 심층 신경망 모듈(400)은 복수의 입력 노드를 갖는 입력부(410)와 하나의 출력 노드를 갖는 출력부(420) 그리고, 이들 사이에 위치한 다수의 은닉 노드를 갖는 은닉부(430)를 구비한다. 입력부(410)의 입력 노드가 수치화 모듈(300)에 의한 수치화 값에 대응하는 입력 노드를 구비하는 것이 효과적이다.
은닉부(430)는 전체적으로 연결된 하나 이상의 레이어를 포함하는 것이 효과적이고, 본 실시예의 심층 신경망 모듈(400)은 각 은닉 레이어 사이의 관계에 의해 구분되는 것이 효과적이다.
학습을 수행하는 경우, 제공된 정보에 따라 본 실시예에서는 문서 및 문장의 리스크를 검토하는 경우로 가정하면, 출력부(420)의 출력 값은 0 또는 1로 표현되는 것이 효과적이다. 이때, 문서/문장에 독소 조항 즉, 이슈나 리스크가 있는 경우에는 1로 표시하고, 없는 경우에는 0으로 표현된다.
예측 분석을 수행하는 경우에는 출력 값이 1에 가까울 경우에는 독소 조항 즉, 이슈나 리스크가 있는 것으로 표현하고, 0에 가까우면 리스크가 없는 것으로 예측할 수 있다. 예측 분석의 경우 0과 1 사이의 값이 출력된다. 실질적으로 0.94, 0.85. 0.23, 0.01과 같은 값이 나온다. 따라서, 1에 가까운 경우 리스크가 있는 것으로, 0에 가까운 경우 리스크가 없는 것으로 판단하는 것이 가능하다.
학습 제어 모듈(500)이 구동하는 경우 전체 시스템은 제공된 문서에서 문장의 리스크 여부를 학습하게 된다. 이때, 학습은 전처리 모듈(100)에 의해 키워드화되고, 이 키워드 들은 사전 모듈에 의해 개별 사전을 형성하거나, 기 형성된 개별 사전 내의 범주 단어 부분에 추가 되고, 그 유사/동의어도 함께 추가될 수 있다.
수치화 모듈(300)에 의해 키워드로 분류된 문장이 2진수 형태의 수치로 개별 사전과 같은 수의 비트 값을 갖는 형태로 변화되고, 이를 심층 신경망 모듈(400)을 통해 학습을 진행하여 해당 문장의 리스크 유무를 학습하게된다.
분석 모듈(600)은 기 학습된 결과를 바탕으로 심층 신경망 모듈(400)에서 해당 문자의 리스크 유무를 예측 분석하는 동작을 수행하게 한다.
하기에서는 상술한 심층 신경망 기반의 문서 분석 시스템을 이용한 심층 신경망 기반의 문서 분석 방법에 관하여 설명한다.
후술되는 방법 설명에서 상술한 시스템 설명과 중복되는 설명은 생략 또는 간략화하여 설명한다.
도 7은 본 발명의 일 실시예에 따른 심층 신경망 기반의 문서 분석 방법을 설명하기 위한 흐름도이고, 도 8은 일 실시예에 따른 키워드 추출 방법을 설명하기 위한 흐름도이며, 도 9는 일 실시예에 따른 문장 수치화 방법을 설명하기 위한 흐름도이며, 도 10은 일 실시예에 따른 문장 학습 방법을 설명하기 위한 흐름도이며, 도 11은 일 실시예에 따른 사전 생성 방법을 설명하기 위한 흐름도이다.
도 7 내지 도 11을 바탕으로 심층 신경망 기반의 문서 분석 방식을 설명하면 다음과 같다, 먼저 도 7에 도시된 바와 같이, 문서내의 리스크나 독소 조항 등의 검출을 위해 해당 문서를 준비한다. 준비된 문서는 전처리 모듈(100)에 의한 전처리 작업을 수행하여 각 문서 내의 문장 별로 구성 단어에 해당하는 키워드를 추출한다(S100).
이를 도 8을 참조하여 구체적으로 설명하면, 문서 내의 문장을 분리한다(S110). 그리고, 형태소 분석 등을 통해 각 문장에서의 단어를 추출한다(S120). 이때, 단어의 원형을 추출하되, 불필요 단어나 불용어를 제거하고, 조사나 관사의 제거 작업을 진행한다(S130). 좀더 구체적으로, 동사/형용사등의 경우에는 어미 변화에 따른 원형을 추출하고, 명사의 경우에는 단수형 처리를 수행한다(S140). 이외에 의미 분석을 통해 주요하지 않는 단어는 제거함으로 인해 해당 문장에 대응 되는 키워드를 추출한다. 여기서, 단어의 원형이 동사와 명사를 모두 포함하는 경우 이 둘을 모두 키워드로 표시하는 것이 효과적이다. 또한, 복합명사의 경우에도 이를 분리하여 추출되는 명사를 모두 키워드로 추출하는 것이 효과적이다. 또한, 불용어는 별도의 불용어 사전을 통해 불용어 사전에 해당하는 단어의 경우 삭제하는 것이 바람직하다(S150). 불용어 사전에 관하여서는 후술한다.
이어서, 수치화 모듈(300)은 다수의 개별 사전을 갖는 사전과 각 문장별 키워드를 이용하여 심층 신경망을 통한 분석 진행을 위해 수치화한다(S200).
도 9를 참조하면, 문장의 각 키워드를 전체 개별 사전의 범주 단어 부분과 일치하는지 여부를 비교하고(S210), 일치하는 개별 사전의 벡터 값을 1로 표현하고, 일치하지 않는 경우에는 0으로 표현한다(S220). 이를 통해 문장은 전체 개별 사전의 개수 만큼의 비트수로 표현된다(S230). 문장 전체의 키워드를 모두 비교 분석할 경우, 하나라도 해당되지 않는 개별 사전 값은 0이고, 1개 이상 복수개 중복되는 경우에는 1로 표현되는 것이 효과적이다. 이와 같이 2진수 형태의 비트 값으로 수치화를 진행하는 것이 가능하다. 즉, 키워드와 개별 사전에 의한 n차원의 좌표 값으로 수치화되는 것이 가능해진다. 좀더 상세하게 이야기하면 각각의 키워드 단어가 각 개별 사전에 있는지를 확인한다. 확인 결과 m번째 사전에 있다면 m번째 비트를 1로 변경한다. 그리고, 다른 모든 키워드를 위와 같이 순차 비교 또는 연속 비교 또는 동시 비교를 통해 최종 수치화 데이터를 추출하는 것이 바람직하다.
심층 신경망 모듈(400)을 통해 수치화된 문서에 관한 심층 신경망 분석을 통해 리스크 유무를 판단한다(S300). 이때, 수치화된 데이터가 입력부로 입력되고, 다수의 레이어를 갖는 은닉부를 거친 다음 출력부에 0에서 1 사이 값으로 출력된다. 그리고, 1에 가까울 수록 리스크가 있는 문장으로 판단한다(S400).
입력부의 레이어는 적용된 개별 사전의 개수와 같다. 그리고, 은닉부는 적용된 모델에 따라 노드개수와 개층 수를 달리 정의 되는 것이 효과적이다.
상술한 설명에서는 대상 문서의 예측과 분석에 관하여 설명하였다. 이를 위해 사전에 심층 신경망을 통해 학습을 진행하는 것이 필요하다.
이와 같은 학습 진행을 위해서는 도 10에 도시된 바와 같이 먼저, 전처리 모듈을 통해 다양한 문서로 부터 키워드를 산출한다(S110). 키워드 산출은 형태소 분석 및 원형 처리등의 전처리 단계를 통해 추출하는 것이 효과적이다.
그리고, 수치화 모듈(300)을 통해 추출된 키워드와 사전을 이용하여 각 문장을 수치화한다(S1200). 수치화된 문장을 심층 신경망을 이용하여 학습을 진행한다. 이때, 심층 신경망을 이용한 학습에 의해 1은 리스크가 있는 문장으로 0은 리스크가 없는 문장으로 학습하는 것이 효과적이다(S1300).
상술한 바와 같이 심층 신경망을 이용하여 학습과 예측/분석을 위해서는 문장의 수치화가 필요하고, 이러한 수치화를 위해서는 사전 생성이 필요하다.
본 실시예에서는 사전 생성을 위해 도 11에 도시된 바와 같이 전처리 모듈을 통해 다양한 문서로 부터 키워드를 산출한다(S2100). 키워드 산출은 형태소 분석 및 원형 처리등의 전처리 단계를 통해 추출하는 것이 효과적이다.
산출된 키워드를 분석하여 다양한 범주로 그룹화 한다. 그리고, 그룹화된 범주를 하나의 개별 사전으로 분류한다(S2200). 범주 분류는 TF-IDF분석 및 범주 분석을 통해 수행하는 것이 효과적이다.
이어서, 각 키워드를 개별 사전으로 분류 배치하고(S2300), 분류 배치된 키워드를 유사어 및 동의어 확장을 하여 최종 사전을 완료한다(S2400).
물론, 새로운 문서가 전처리 모듈(100)에 의해 분석되는 경우, 새로운 키워드의 추가가 가능하고, 새로운 범주의 생성도 가능하고, 이로인해 새로운 개별 사전의 생성도 가능하다. 사전에 새로운 개별 사전이 생성되는 경우, 문장이 수치화될때 그 백터값이 변화된다. 즉, 비트수가 확장됨을 의미하는 것이다. 이는 심층 신경망의 입력단의 레이어가 증가함을 의미하는 것으로, 사전 모듈(200)에 의한 변경은 심층 신경망 모듈(400)의 변화를 유도한다. 이에 심층 신경망 모듈(400)은 새로운 개별 사전이 증가하는 경우, 새로운 학습을 수행하여야 한다. 사전의 구축은 적용 대상이 되는 업무의 성격과 문서의 종류와 사용처 등에 따라 다른 범주의 사전을 구성하는 것도 가능하다. 본 실시예에서는 사전을 먼저 구축한 다음에 심층 신경망 모듈(400)을 구축하는 것이 가능하다. 물론, 심층 신경망을 사전에 따라 가변되도록 하는 것도 가능하다.
본 발명은 상술한 실시예의 구성과 방식에 한정되지 않고, 다양한 변형과 다른 실시예가 가능하다. 즉, 전처리 모듈(100)은 단어의 원형이 명사와 동사가 있는 경우 이둘을 모두 선택하지 않고, 명사 또는 동사중 어느 하나를 선택하는 것이 가능하다. 또한 복합 명사로 이를 분리하지 않고, 복합된 명사 자체를 하나의 원형 즉, 키워드로 분류하는 것이 가능하다.
또한, 이에 한정되지 않고, 사전 모듈(200)에서 원형이 2개 또는 그 이상이 나오는 단어의 키워드를 모두 동일한 사전에 배치하는 것도 가능하다. 그리고, 키워드 추출을 위해 명사를 사용하는 것이 가능하다. 즉, 다른 품사가 아닌 명사를 사용함으로 인해 키워드 분석의 효율성을 증대시킬 수 있고, 동사 등 다름 품사 사용에 따른 유사 의미 단어의 중복을 방지하는 것이 가능하다.
그리고, 명사만을 키워드로 추출하는 경우, 사전 구성에 있어서도, 단순화가 가능하고, 단어의 확장이 용이하여 더 효과적인 심층 신경망 분석이 가능할 수 있다.
또한, 본 발명은 이에 한정되지 않고, 사전 전처리 모듈을 별도의 구성으로 구비하는 것이 가능하다. 사전 모듈(200)은 문장 분석의 기본 기준이 되기 때문에 다양한 문서를 분석한 결과들이 취합된다. 따라서, 앞서 언급한 바와 같이 별도로 문서에서 문장을 구분하고, 이를 단어로 분리한 다음 그 원형을 구분하지 않고, 하나의 문장을 전처리 모듈이 한꺼번에 동시 분석이 가능하다. 즉, 사전 처리를 위한 별도의 사전용 전처리 모듈을 구비하는 것이 가능할 수 있는 것이다. 이를 통해 사전 처리 모듈의 동작 효율성을 향상시키고, 문장 분석이 아닌 문서 전체의 키워드를 효율적으로 도출하고, 추후 분류 및 구분 작업 즉, 범주 분류에서 매우 효과적일 수 있다.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시예에서 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
100: 전처리 모듈 110: 문장 분리 모듈
120: 단어 구분 모듈 130: 원형 추출 모듈
131: 형태소 분석부 132: 불용 단어 제거부
133: 원형 선택부 200: 사전 모듈
210: 범주 분류부 220: 개벌 사전 생성부
230: 키워드 확장부 240: 사전 저장부
300: 수치화 모듈 400: 심층 신경망 모듈
500: 학습 제어 모듈 600: 분석 모듈

Claims (11)

  1. 대상 문서의 문장별 키워드를 추출하는 전처리 모듈;
    상기 전처리 모듈 및 학습 제어 모듈에 의한 키워드의 유사 범주를 그룹화 하여 다수의 단어가 범주화되어 복수의 개별 사전으로 분류된 사전 모듈;
    상기 전처리 모듈을 통해 추출된 키워드를 사전 모듈을 바탕으로 수치화하는 수치화 모듈;
    심층 신경망을 통해 수치화 모듈의 수치값을 학습 하거나 예측 분석하는 심층 신경망 모듈;
    학습 기준에 따라 심층 신경망 모듈을 통해 수치화 모듈을 거친 문장의 학습을 제어하는 학습 제어 모듈; 및
    분석 문서에 대한 분석을 제어하는 분석 모듈를 포함하는 심층 신경망 기반의 문서 분석 시스템.
  2. 제1항에 있어서,
    상기 전처리 모듈은 상술한 동작을 위해 문서에서 문장을 분리하는 문장 분리 모듈과, 분리된 문장에서 단어를 구분하는 단어 구분 모듈과, 분리된 단어에서 그 원형을 추출 선정하는 원형 추출 모듈을 포함하는 심층 신경망 기반의 문서 분석 시스템.
  3. 제2항에 있어서,
    상기 원형 추출 모듈은 분리된 단어의 형태소를 분석하는 형태소 분석부와, 형태소 분석 결과에 따라 불용 단어나 불필요 조사를 제거하는 불용 단어 제거부와, 단어의 원형을 매칭하고, 다중 의미 단어 및 복합 명사등의 원형을 선택하는 원형 선택부를 포함하는 심층 신경망 기반의 문서 분석 시스템.
  4. 제1항에 있어서,
    상기 사전 모듈은 문서 내의 키워드를 제공 받아 분류하는 범주 분류부와, 분류된 범주에 해당하는 개별 사전을 생성하는 개별 사전 생성부와, 생성된 개별 사전 내에 위치한 키워드를 확장시키는 키워드 확장부와, 생성된 개별 사전을 저장 하는 별도의 사전 저장부를 포함하는 심층 신경망 기반의 문서 분석 시스템.
  5. 제1항에 있어서,
    상기 수치화 모듈은 사전 모듈을 기반으로 문장별 추출된 키워드를 이용하여 문장을 수치화하되, 개별 사전의 개수에 해당하는 비트로 표현하되, 각각의 키워드가 각 개별 사전에 있는지를 확인하고, n번째 개별 사전에 해당 키워드 단어가 있는 경우, 해당 번째의 개별 사전 위치 값을 1로 표현하는 것을 특징으로 하는 심층 신경망 기반의 문서 분석 시스템.
  6. 문장 또는 문서에서 형태소 분석 및 원형 처리를 통해 키워드를 추출하는 단계;
    다수의 개별 사전을 갖는 사전 유무를 판단하여 사전이 없는 경우에는 사전을 생성하는 단계;
    추출된 키워드와 사전을 이용하여 각 문장을 수치화 하되, 다수의 개별 사전 개수에 해당하는 비트수를 갖는 형태의 수치로 변환하는 단계; 및
    상기 수치를 심층 신경망을 이용하여 문장 또는 문서를 분석하는 단계를 포함하는 심층 신경망 기반의 문서 분석 방법.
  7. 제6항에 있어서, 상기 키워드를 추출하는 단계는,
    문서에서 문장을 분리하고, 분리된 문장에서 단어를 구분하는 단계;
    구분된 단어를 바탕으로 해당 단어의 원형을 추출하되, 불필요한 조사를 제거하고, 명사의 경우 단수형으로 처리하고, 동사의 경우, 현재 기본형으로 치환하고, 형태소 분석을 통해 하나의 단어에 복수 명사 또는 의미가 합해진 경우에는 이들 각각의 원형을 추출하고, 명사와 동사의 원형이 모두 존재하는 경우 이 둘을 모두 추출하는 단계; 및
    별도의 불필요 용어 사전을 통해 용어 사전에 포함된 단어를 삭제하는 단계를 포함하는 심층 신경망 기반의 문서 분석 방법.
  8. 제6항에 있어서, 상기 사전을 생성하는 단계는,
    키워드 분석 즉, TF-IDF 분석 또는 범주 분석을 통해 유사 그룹화가 가능한 범주를 분류하는 단계;
    분류된 범주를 각각의 개별 사전으로 분류하되, 범주 명을 사전 구분 부분으로, 그 범주에 해당하는 키워드 단어를 범주 단어 부분으로 분리 저장하는 단계; 및
    각 개별 사전으로 분류된 키워드에 대한 동의어 및 유의어 확장을 통해 개별 사전 내의 단어를 증가시키는 단계를 포함하는 심층 신경망 기반의 문서 분석 방법.
  9. 제6항에 있어서,
    상기 각 문장을 수치화는 문장의 각 키워드를 전체 개별 사전의 범주 단어 부분과 일치 여부를 비교하고, 일치하는 개별 사전의 벡터 값을 1로 표현하고, 일치하지 않는 경우에는 0으로 표현하여, 전체 개별 사전의 개수 만큼의 비트수로 문장을 수치화하는 것을 특징으로 하는 심층 신경망 기반의 문서 분석 방법.
  10. 제6항 내지 제9항 중 어느 한 항에 기재된 심층 신경망 기반의 문서 분석 방법을 구현하기 위해 프로그램이 저장된 기록 매체.
  11. 제6항 내지 제9항 중 어느 한 항에 기재된 심층 신경망 기반의 문서 분석 방법을 구현하기 위해 매체에 저장된 컴퓨터 프로그램.
KR1020210136807A 2021-10-14 2021-10-14 심층 신경망 기반의 문서 분석 시스템과 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체 및 매체에 저장된 컴퓨터프로그램 KR102607826B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210136807A KR102607826B1 (ko) 2021-10-14 2021-10-14 심층 신경망 기반의 문서 분석 시스템과 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체 및 매체에 저장된 컴퓨터프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210136807A KR102607826B1 (ko) 2021-10-14 2021-10-14 심층 신경망 기반의 문서 분석 시스템과 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체 및 매체에 저장된 컴퓨터프로그램

Publications (2)

Publication Number Publication Date
KR20230053373A true KR20230053373A (ko) 2023-04-21
KR102607826B1 KR102607826B1 (ko) 2023-11-30

Family

ID=86098622

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210136807A KR102607826B1 (ko) 2021-10-14 2021-10-14 심층 신경망 기반의 문서 분석 시스템과 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체 및 매체에 저장된 컴퓨터프로그램

Country Status (1)

Country Link
KR (1) KR102607826B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102621514B1 (ko) * 2023-05-17 2024-01-10 주식회사 아이지넷 보험상품 약관 키워드 분석 및 이를 활용한 보험상품 분석시스템
KR102631782B1 (ko) * 2023-05-17 2024-02-01 주식회사 아이지넷 청구 가능한 보험금 확인 및 청구 서비스 시스템
KR102640811B1 (ko) * 2023-09-01 2024-02-27 (주)유알피 핵심 키워드 추출 시 정확도 향상을 위한 딥러닝 기반 사용자 사전 키워드 추천 시스템
KR102640803B1 (ko) * 2023-09-01 2024-02-27 (주)유알피 사용자 사전 구축을 위한 딥러닝 기반 사용자 키워드 추천 방법
KR102641873B1 (ko) * 2023-05-16 2024-02-28 주식회사 아이지넷 예측된 질환에 대한 맞춤형 보험상품 검색서비스 시스템

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170034206A (ko) * 2015-09-18 2017-03-28 아주대학교산학협력단 크로스 미디어 분석에 기반한 소셜 미디어 텍스트의 주제 카테고리 자동 분류 방법 및 그 장치
KR20180117458A (ko) * 2017-04-19 2018-10-29 아시아나아이디티 주식회사 문장 분류에 기반하는 문서 자동분류 방법 및 그 장치
KR20190034939A (ko) * 2017-09-25 2019-04-03 삼성전자주식회사 문장 생성 방법 및 장치
KR102118603B1 (ko) 2018-03-20 2020-06-05 (주)에어사운드 딥러닝 알고리즘 기반의 핵심문장 추출 방법
KR20200103152A (ko) 2019-02-12 2020-09-02 주식회사 자이냅스 대화 서비스 제공을 위한 문장 의미 관계 학습 장치
KR20200109417A (ko) * 2019-03-12 2020-09-23 동국대학교 산학협력단 키워드 자동 추출 방법 및 장치
KR20210083706A (ko) * 2019-12-27 2021-07-07 삼성전자주식회사 데이터의 범주를 분류하는 컴퓨팅 장치 및 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170034206A (ko) * 2015-09-18 2017-03-28 아주대학교산학협력단 크로스 미디어 분석에 기반한 소셜 미디어 텍스트의 주제 카테고리 자동 분류 방법 및 그 장치
KR20180117458A (ko) * 2017-04-19 2018-10-29 아시아나아이디티 주식회사 문장 분류에 기반하는 문서 자동분류 방법 및 그 장치
KR20190034939A (ko) * 2017-09-25 2019-04-03 삼성전자주식회사 문장 생성 방법 및 장치
KR102118603B1 (ko) 2018-03-20 2020-06-05 (주)에어사운드 딥러닝 알고리즘 기반의 핵심문장 추출 방법
KR20200103152A (ko) 2019-02-12 2020-09-02 주식회사 자이냅스 대화 서비스 제공을 위한 문장 의미 관계 학습 장치
KR20200109417A (ko) * 2019-03-12 2020-09-23 동국대학교 산학협력단 키워드 자동 추출 방법 및 장치
KR20210083706A (ko) * 2019-12-27 2021-07-07 삼성전자주식회사 데이터의 범주를 분류하는 컴퓨팅 장치 및 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102641873B1 (ko) * 2023-05-16 2024-02-28 주식회사 아이지넷 예측된 질환에 대한 맞춤형 보험상품 검색서비스 시스템
KR102621514B1 (ko) * 2023-05-17 2024-01-10 주식회사 아이지넷 보험상품 약관 키워드 분석 및 이를 활용한 보험상품 분석시스템
KR102631782B1 (ko) * 2023-05-17 2024-02-01 주식회사 아이지넷 청구 가능한 보험금 확인 및 청구 서비스 시스템
KR102640811B1 (ko) * 2023-09-01 2024-02-27 (주)유알피 핵심 키워드 추출 시 정확도 향상을 위한 딥러닝 기반 사용자 사전 키워드 추천 시스템
KR102640803B1 (ko) * 2023-09-01 2024-02-27 (주)유알피 사용자 사전 구축을 위한 딥러닝 기반 사용자 키워드 추천 방법

Also Published As

Publication number Publication date
KR102607826B1 (ko) 2023-11-30

Similar Documents

Publication Publication Date Title
Abercrombie et al. Sentiment and position-taking analysis of parliamentary debates: a systematic literature review
KR102607826B1 (ko) 심층 신경망 기반의 문서 분석 시스템과 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체 및 매체에 저장된 컴퓨터프로그램
Rabelo et al. COLIEE 2020: methods for legal document retrieval and entailment
Decadt et al. GAMBL, genetic algorithm optimization of memory-based WSD
RU2637992C1 (ru) Способ извлечения фактов из текстов на естественном языке
Terechshenko et al. A comparison of methods in political science text classification: Transfer learning language models for politics
Abdelaal et al. Knowledge discovery in the hadith according to the reliability and memory of the reporters using machine learning techniques
Dyevre Text-mining for lawyers: How machine learning techniques can advance our understanding of legal discourse
Radygin et al. Application of text mining technologies in Russian language for solving the problems of primary financial monitoring
KR20220068937A (ko) 기계학습 방법론을 이용한 한국 표준 산업/직업 분류 방법
Doan et al. A survey on political viewpoints identification
Lim et al. Examining machine learning techniques in business news headline sentiment analysis
Ababu et al. Afaan Oromo hate speech detection and classification on social media
Yarovyi et al. Method of Multi-Purpose Text Analysis Based on a Combination of Knowledge Bases for Intelligent Chatbot.
Haque et al. Hadith authenticity prediction using sentiment analysis and machine learning
Narendra et al. Named entity recognition based resume parser and summarizer
Beauchemin et al. " FIJO": a French Insurance Soft Skill Detection Dataset
Mousa et al. Cascaded RBF-CBiLSTM for Arabic named entity recognition
Evkoski et al. XAI in Computational Linguistics: Understanding Political Leanings in the Slovenian Parliament
Martins et al. Predicting an election’s outcome using sentiment analysis
Marques-Lucena et al. Framework for customers’ sentiment analysis
Singh et al. Deep neural based name entity recognizer and classifier for English language
KR20230134711A (ko) 산학 연계 프로젝트를 위한 연구자 매칭 장치, 매칭 방법 및 컴퓨터 프로그램
Lokman et al. A conceptual IR chatbot framework with automated keywords-based vector representation generation
Thakur et al. Detecting sarcasm in text

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right