KR20210146832A - 토픽 키워드의 추출 장치 및 방법 - Google Patents

토픽 키워드의 추출 장치 및 방법 Download PDF

Info

Publication number
KR20210146832A
KR20210146832A KR1020210068667A KR20210068667A KR20210146832A KR 20210146832 A KR20210146832 A KR 20210146832A KR 1020210068667 A KR1020210068667 A KR 1020210068667A KR 20210068667 A KR20210068667 A KR 20210068667A KR 20210146832 A KR20210146832 A KR 20210146832A
Authority
KR
South Korea
Prior art keywords
word
sentences
section
words
original document
Prior art date
Application number
KR1020210068667A
Other languages
English (en)
Other versions
KR102519955B1 (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 정치훈
Publication of KR20210146832A publication Critical patent/KR20210146832A/ko
Application granted granted Critical
Publication of KR102519955B1 publication Critical patent/KR102519955B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/258Heading extraction; Automatic titling; Numbering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 문서에 개시되는 일 실시 예에 따른 토픽 키워드의 추출 장치는 외부로부터 원본 문서를 수신하는 통신 회로, 원본 문서를 저장하는 메모리, 및 통신 회로 및 메모리와 전기적으로 연결된 프로세서를 포함하고, 프로세서는 원본 문서에 포함된 단어를 분석함으로써, 단어의 분포 밀도가 지정된 조건을 만족하는 구간에 대한 정보를 획득하고, 구간이 서로 중첩되는 단어와 하나 이상의 다른 단어를 연계함으로써, 원본 문서에 포함된 복수의 문장 중 단어에 대응하는 구간 및 하나 이상의 다른 단어에 대응하는 구간과 연관된 하나 이상의 문장과 연관되도록 단어 및 하나 이상의 다른 단어로 이루어진 토픽 키워드를 생성할 수 있다.

Description

토픽 키워드의 추출 장치 및 방법{APPARATUS AND METHOD FOR EXTRACTING OF TOPIC KEYWORD}
본 문서에서 개시되는 실시 예들은 문서에 포함된 문장들로부터 추출되는 토픽 키워드를 활용하기 위한 장치 및 방법과 관련된다.
텍스트 정보의 생성 속도가 정보의 소비 속도보다 빨라짐에 따라, 소위 정보 과부화라고 불리는 문제를 다루기 위한 다양한 접근이 제시되고 있다. 정보 과부화 상태를 완화하기 위해 많은 자동화 방법이 제안되고 있으나, 대부분은 인간의 니즈(needs)를 아직 충분히 만족시키지 못하고 있다. 정보 검색의 관점에서는 많은 IT기업이 상술한 문제를 해소할 수 있는 우수한 결과물을 보여주고 있다.
정보 과부하를 해소하기 위한 일환으로 텍스트 정보에 대한 요약을 제공하는 시스템이 제공될 수 있다. 사용자에게 요약을 제공함으로써, 사용자가 양질의 컨텐츠를 더 짧은 시간 내에 소비하도록 할 수 있다.
통상적으로 원본 문서에 대한 요약문을 제공하기 위해, 동시 발생 및 시퀀스 정보를 활용할 수 있다. 그러나, 동시 발생 통계를 활용하는 경우, 요약문이 원본 문서 내의 중요한 정보를 포함하지 못하는 경우가 빈번히 발생할 수 있다. 한편, 시퀀스 정보를 활용하는 경우, 원분 문서 내의 모든 단어에 대한 시퀀스 정보가 요구되므로 요약문 생성 모델의 과도하게 복잡해질 수 있다.
본 발명의 실시 예들은, 원본 문서 내의 중요한 부분을 충분히 포함하는 요약문을 제공하고 문서에 대한 검색 기능을 제공하기 위해 활용될 수 있는 주제를 추출하는 장치 및 방법을 제공하기 위한 것이다.
본 문서에 개시되는 일 실시 예에 따른 토픽 키워드의 추출 장치는 외부로부터 원본 문서를 수신하는 통신 회로, 원본 문서를 저장하는 메모리, 및 통신 회로 및 메모리와 전기적으로 연결된 프로세서를 포함하고, 프로세서는 원본 문서에 포함된 단어를 분석함으로써, 단어의 분포 밀도가 지정된 조건을 만족하는 구간에 대한 정보를 획득하고, 구간이 서로 중첩되는 단어와 하나 이상의 다른 단어를 연계함으로써, 원본 문서에 포함된 복수의 문장 중 단어에 대응하는 구간 및 하나 이상의 다른 단어에 대응하는 구간과 연관된 하나 이상의 문장과 연관되도록 단어 및 하나 이상의 다른 단어로 이루어진 토픽 키워드를 생성할 수 있다.
일 실시 예에 따르면, 프로세서는 복수의 문장 각각에 대응하는 토픽 키워드에 기초하여 복수의 문장으로부터 선택된 일부 문장을 포함하는 원본 문서에 대한 요약문을 제공할 수 있다.
일 실시 예에 따르면, 프로세서는 사용자에 의해 입력된 검색어가 획득되면, 원본 문서로부터 생성된 복수의 토픽 키워드 중 검색어를 포함하는 토픽 키워드와 연관된 문장을 출력할 수 있다.
일 실시 예에 따르면, 프로세서는 원본 문서로부터 불용어(stopword)를 제외한 단어를 분석할 수 있다.
일 실시 예에 따르면, 프로세서는 단어의 출현 위치에 대한 산포도 또는 확률 분포에 기초하여 구간에 대한 정보를 획득할 수 있다.
일 실시 예에 따르면, 프로세서는 단어에 대응하는 구간 및 하나 이상의 다른 단어에 대응하는 구간이 중첩된 구간에 포함된 하나 이상의 문장과 연관되도록 토픽 키워드를 생성할 수 있다.
일 실시 예에 따르면, 프로세서는 단어에 대응하는 구간 및 하나 이상의 다른 단어에 대응하는 구간이 결합된 구간에 포함된 하나 이상의 문장과 연관되도록 토픽 키워드를 생성할 수 있다.
일 실시 예에 따르면, 프로세서는 복수의 문장 각각에 대응하는 토픽 키워드에 기초하여 복수의 문장 각각의 스코어를 산출하고, 스코어에 기초하여 복수의 문장으로부터 일부 문장을 선택함으로써, 요약문을 제공할 수 있다.
일 실시 예에 따르면, 프로세서는 토픽 키워드에 포함된 단어의 개수의 변화 및 토픽 키워드에 포함된 단어의 분포 밀도에 기초하여 스코어를 산출할 수 있다.
일 실시 예에 따르면, 프로세서는 미리 설정된 요약문의 길이가 만족되도록 복수의 문장으로부터 일부 문장을 선택할 수 있다.
일 실시 예에 따르면, 프로세서는 복수의 문장 사이의 유사도를 산출함으로써, 유사도가 지정된 레벨 이상인 문장을 제거하고 요약문을 제공할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 토픽 키워드의 추출 방법은 원본 문서에 포함된 단어를 분석함으로써, 단어의 분포 밀도가 지정된 조건을 만족하는 구간에 대한 정보를 획득하는 단계, 구간이 서로 중첩되는 단어와 하나 이상의 다른 단어를 연계함으로써, 원본 문서에 포함된 복수의 문장 중 단어에 대응하는 구간 및 하나 이상의 다른 단어에 대응하는 구간과 연관된 하나 이상의 문장에 대해 단어 및 하나 이상의 다른 단어로 이루어진 토픽 키워드를 생성하는 단계, 및 복수의 문장 각각에 대응하는 토픽 키워드에 기초하여 복수의 문장으로부터 선택된 일부 문장을 포함하는 원본 문서에 대한 요약문을 제공하는 단계를 포함할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 컴퓨팅 디바이스에 포함된 적어도 하나의 프로세서에 의해 실행 가능한 명령어가 저장된 컴퓨터 기록 매체에 있어서, 명령어는, 적어도 하나의 프로세서로 하여금, 원본 문서에 포함된 단어를 분석함으로써, 단어의 분포 밀도가 지정된 조건을 만족하는 구간에 대한 정보를 획득하고, 구간이 서로 중첩되는 단어와 하나 이상의 다른 단어를 연계함으로써, 원본 문서에 포함된 복수의 문장 중 단어에 대응하는 구간 및 하나 이상의 다른 단어에 대응하는 구간과 연관된 하나 이상의 문장에 대해 단어 및 하나 이상의 다른 단어로 이루어진 토픽 키워드를 생성하고, 복수의 문장 각각에 대응하는 토픽 키워드에 기초하여 복수의 문장으로부터 선택된 일부 문장을 포함하는 원본 문서에 대한 요약문을 제공하도록 할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 분포 밀도와 연관된 구간이 서로 중첩되는 복수의 단어를 연계함으로써, 문장과 관련도가 높고 정확한 토픽 키워드를 추출할 수 있다.
또한, 생성된 토픽 키워드를 문장 스코어링에 활용함으로써, 원본 문서 내의 중요한 문장을 충분히 포함하는 요약문을 제공할 수 있다.
또한, 생성된 토픽 키워드를 검색 서비스 제공에 활용함으로써, 주제 기반 검색의 효율성 및 정확성을 향상시킬 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 일 실시 예에 따른 토픽 키워드의 추출에 기반한 문서의 요약문 제공 장치에 의해 제공되는 예시적인 요약문을 도시한다.
도 2는 일 실시 예에 따른 토픽 키워드의 추출에 기반한 문서의 요약문 제공 장치의 구성을 도시하는 블록도이다.
도 3은 일 실시 예에 따른 토픽 키워드의 추출 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 4는 일 실시 예에 따른 토픽 키워드의 추출 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 5는 일 실시 예에 따른 토픽 키워드의 추출 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 6은 일 실시 예에 따른 토픽 키워드의 추출 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 7은 일 실시 예에 따른 토픽 키워드의 추출 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 8은 일 실시 예에 따른 토픽 키워드의 추출 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 9는 일 실시 예에 따른 토픽 키워드의 추출 방법을 설명하기 위한 흐름도이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
이하, 본 발명의 일부 실시 예들을 예시적인 도면을 통해서 상세하게 설명한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경, 균등물 또는 대체물을 포함하는 것으로 이해되어야 한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시 예를 설명함에 있어 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시 예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 일 실시 예에 따른 토픽 키워드의 추출 장치에 의해 제공되는 예시적인 요약문을 도시한다.
도 1을 참조하면, 일 실시 예에 따른 토픽 키워드의 추출 장치는 원본 문서(110)에 포함된 문장 중 일부를 추출함으로써 요약문(120)을 생성할 수 있다.
예를 들어, 토픽 키워드의 추출 장치는 원본 문서(110)에 포함된 단어들의 분포 밀도를 분석할 수 있다. 토픽 키워드의 추출 장치는 단어들 각각에 대해 분포 밀도가 일정 이상인 구간에 대한 정보를 획득할 수 있다. 토픽 키워드의 추출 장치는 구간이 서로 오버랩되는 2개 이상의 단어를 서로 연계함으로써 연계된 2개 이상의 단어로 이루어진 토픽 키워드를 생성하고, 오버랩된 구간에 대응하는 문장에 생성된 토픽 키워드를 부여할 수 있다. 토픽 키워드의 추출 장치는 토픽 키워드를 이용하여 원본 문서(110)에 포함된 문장 각각에 대한 중요도를 나타내는 스코어를 산출할 수 있다. 토픽 키워드의 추출 장치는 산출된 스코어가 높은 문장을 선택함으로써 원본 문서(110)에 대한 요약문(120)을 제공할 수 있다. 토픽 키워드의 추출 장치는 생성된 토픽 키워드를 인덱스로 활용함으로써, 원본 문서(110)에 대한 검색 기능(예: 문서 전체 또는 문서 내 일 부분)을 제공할 수도 있다.
이상에서 설명한 예시는 본 문서의 이해를 위해 예시적으로 기재된 것으로 본 문서의 권리범위는 이에 제한되지 않는다. 이하에서는 토픽 키워드 생성을 위한 구체적인 방식에 대해 상세히 설명한다.
도 2는 일 실시 예에 따른 토픽 키워드의 추출 장치(200)의 구성을 도시하는 블록도이다.
도 2를 참조하면, 일 실시 예에 토픽 키워드의 추출 장치(200)는 통신 회로(210), 메모리(220) 및 프로세서(230)를 포함할 수 있다. 토픽 키워드의 추출 장치(200)는, 예를 들어, 사용자 단말로서 데스크탑, 랩탑, 태블릿 또는 스마트 폰 등과 같은 컴퓨팅 디바이스일 수도 있고, 서버 형태로 구현될 수도 있다. 이 경우 물리적으로는 온 프레미스(on premise) 또는 클라우드에 위치할 수도 있다. 다른 예를 들면, 문서의 요약문 제공 장치(200)는 2 이상으로 분산된 환경의 컴퓨팅 디바이스(예: 1개의 사용자 단말 및 1개의 서버)로 구현될 수도 있다.
통신 회로(210)는 외부와 무선 또는 유선으로 통신하도록 구성될 수 있다. 통신 회로(210)는 외부 장치와 데이터를 송수신할 수 있다. 예를 들어, 통신 회로(210)는 외부로부터 원본 문서를 수신할 수 있다. 본 문서에서 원본 문서는 텍스트 데이터를 포함할 수도 있고, 텍스트에 대응하는 수치화된 데이터를 포함할 수도 있다.
메모리(220)는 휘발성 메모리 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(220)는 토픽 키워드의 추출 장치(200)에서 취급되는 다양한 데이터를 저장할 수 있다. 예를 들어, 메모리(220)는 토픽 키워드의 추출 장치(200) 내부에서 처리된 데이터를 저장할 수 있고, 외부로부터 수신된 데이터를 저장할 수도 있다. 예를 들어, 메모리(220)는 수신된 원본 문서를 저장할 수 있다.
프로세서(230)는 통신 회로(210) 및 메모리(220)와 전기적으로 연결될 수 있다. 프로세서(230)는 통신 회로(210) 및 메모리(220)를 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 도 2에서는 프로세서(230)가 단일의 구성인 것으로 도시되었으나, 복수의 구성으로 분리되어 구현될 수도 있다. 프로세서(230)는 토픽 키워드를 추출하기 위한 도구를 사용자에게 제공할 수 있다. 프로세서(230)는 메모리(220)에 저장된 소프트웨어 내지 인스트럭션을 실행함으로써, 이하와 같은 동작을 수행할 수 있다.
일 실시 예에 따르면, 프로세서(230)는 원본 문서에 포함된 단어를 분석함으로써, 단어의 분포 밀도가 지정된 조건을 만족하는 구간에 대한 정보를 획득할 수 있다. 단어는 원본 문서에 포함된 그대로 이하의 방법에 따라 분석될 수도 있으나, 이에 제한되지 않고, 프로세서(230)는 단어를 데이터베이스에 기초하여 또는 문서 내부의 단어 관계에 기초하여 다른 단어로 치환한 후 치환된 단어를 이용하여 이하의 방법에 따라 분석할 수도 있다. 프로세서(230)는 자연어 처리를 통해 원본 문서에 포함된 모든 단어 중 불용어(stopword)를 제외한 단어를 분석할 수 있다. 예를 들어, 프로세서(230)는 NER(named-entity recognition) 등과 같은 기법을 활용할 수 있다. 본 문서에서 용어 “단어”는 원본 문서에 포함된 단어 중 불용어를 제외한 단어를 의미할 수도 있다. 또한, 용어 “단어”는 텍스트로 이루어질 수도 있고, 수치, 벡터, 메트릭스 또는 텐서 등으로 이루어진 데이터일 수도 있다. 또한, 용어 “단어”는 서브워드(subword)를 포함하는 개념으로 이해될 수 있다.
프로세서(230)는 원본 문서에 포함된 모든 단어의 분포 밀도를 분석할 수 있다. 일 실시 예에 따르면, 프로세서(230)는 단어의 구간에 대한 정보를 획득하기 위해 단어의 출현 위치에 대한 산포도 또는 확률 분포를 활용할 수 있다. 예를 들어, 프로세서(230)는 원본 문서 전체에서 특정 단어의 출현 위치에 대한 분산(또는 표준 편차)을 산출할 수 있고, 원본 문서의 일부 구간에서 특정 단어의 출현 위치에 대한 분산(또는 표준편차)를 산출할 수 있다. 전체 구간의 분산 대비 특정 구간의 분산이 지정된 조건 이상 높은 경우, 상기 특정 구간에서 상기 특정 단어의 분포 밀도가 높은 것으로 판단할 수 있고, 상기 특정 단어의 분포 밀도가 높은 상기 특정 구간에 대한 정보를 획득할 수 있다. 구간에 대한 정보는 대응하는 단어와 연관되어 저장될 수 있다. 다른 예를 들면, 프로세서(230)는 베타 분포를 활용하여 원본 문서에 포함된 문장의 스트림을 순차적으로 분석할 수 있고, 미리 설정된 파라미터(지정된 조건)보다 특정 단어의 분포 밀도가 높은 특정 구간에 대한 정보를 획득할 수 있다. 상술한 과정을 통해 도출되는 구간은 1개 이상의 연속된 문장을 포함하는 구간일 수 있다. 본 문서에서 문장은 1개의 문장, 문장의 일부(2 이상의 단어를 포함하는 어구 또는 어절 등) 또는 2 이상의 문장 집합을 의미하는 것으로 해석될 수 있다. 구간에 대한 정보는 아래와 같은 예시적인 수학식으로 표현될 수 있다.
[수학식 1]
Figure pat00001
여기서, t는 구간에 대응하는 단어, q는 분포 밀도에 대한 상태 값, k는 구간에 대응하는 문장을 나타낸다. 상태 값 q는 분포 밀도 판단 시 지정된 기준에 대응할 수 있고, 편의를 위해 정수로 설정될 수 있다. 예를 들어, Bt,1은 분포 밀도가 제1 기준 이상인 구간을 나타낼 수 있고, Bt,2는 분포 밀도가 제1 기준보다 높은 제2 기준 이상인 구간을 나타낼 수 있다. 예를 들어, 단어 “subject”의 분포 밀도가 원본 문서가 5번째 문장 내지 10번째 문장에서 제1 기준보다 높은 경우, Bsubject,1 = (5, 6, 7, 8, 9, 10)일 수 있다. 이 경우, 5번째 문장 내지 10번째 문장 각각이 모두 단어 “subject”를 포함하는 것은 아니고, 구간 내에서 단어 “subject”의 분포 밀도가 일정 이상이면 충분하므로, 5번째 문장 내지 10번째 문장 중 일부 문장은 단어 “subject”를 포함하지 않을 수도 있다. 구간에 대한 정보를 획득하는 예시적인 방법에 대해서는 도 4를 참조하여 상세히 설명한다.
일 실시 예에 따르면, 프로세서(230)는 원본 문서와 다른 문서를 함께 고려하여 분포 밀도를 산출할 수도 있다. 원본 문서뿐만 아니라 다른 문서를 함께 분석하여 산포도 또는 확률 분포를 산출하는 경우, 더욱 유의미한 결과가 산출될 수 있다.
일 실시 예에 따르면, 프로세서(230)는 구간이 서로 중첩되는 단어와 하나 이상의 다른 단어를 연계함으로써, 원본 문서에 포함된 복수의 문장 중 단어에 대응하는 구간 및 하나 이상의 다른 단어에 대응하는 구간과 연관된 하나 이상의 문장과 연관되도록 단어 및 하나 이상의 다른 단어로 이루어진 토픽 키워드를 생성할 수 있다. 예를 들어, 제1 단어에 대응하는 구간 B1,1 = (1, 2, 3, 4, 5)는 제2 단어에 대응하는 구간 B2,1 = (3, 4, 5, 6, 7)과 중첩될 수 있고, 이 경우, 제1 단어와 제2 단어는 서로 연계될 수 있다. 제1 단어와 제2 단어가 연계된 경우, 제1 단어 및 제2 단어로 이루어진 토픽 키워드가 생성될 수 있다. 토픽 키워드는 구간 B1,1 및 B2,1에 포함된 문장과 연관되도록 생성될 수 있다. 중첩된 구간을 기준으로 토픽 키워드를 생성하는 방식은 단어의 동시 발생을 기준으로 토픽 키워드를 생성하는 방식과 명확히 구별된다. 예를 들어, 구간 B1,1에서 제4 문장은 제1 단어를 포함하지 않을 수도 있고, 구간 B2,1에서 제5 문장은 제2 단어를 포함하지 않을 수도 있다. 즉, 제4 문장 및 제5 문장에서 제1 단어와 제2 단어가 동시 발생되지 않으나, 구간을 기준으로 판단하면 구간 B1,1 및 B2,1와 연관된 제4 문장 및 제5 문장의 토픽 키워드는 제1 단어 및 제2 단어로 이루어질 수 있다. 단어는 하나 이상의 값을 갖는 벡터로 표현될 수도 있고, 이 경우, 프로세서(230)는 단어 벡터에 기반하여 토픽 키워드를 생성할 수도 있다. 본 문서에서 토픽 키워드는 2 이상의 단어가 연계되는 경우에 생성되므로, 2 이상의 단어를 포함해야 한다.
일 실시 예에 따르면, 프로세서(230)는 단어에 대응하는 구간 및 하나 이상의 다른 단어에 대응하는 구간이 중첩된 구간에 포함된 하나 이상의 문장과 연관되도록 토픽 키워드를 생성할 수 있다. 예를 들어, 제1 단어에 대응하는 구간 B1,1이 (1, 2, 3, 4, 5)이고, 제2 단어에 대응하는 구간 B2,1이 (3, 4, 5, 6, 7)인 경우, 구간 B1,1과 B2,1이 중첩된 구간은 (3, 4, 5)일 수 있고, 이 경우, 구간 (3, 4, 5)에 포함된 제3 문장, 제4 문장 및 제5 문장과 연관되도록 제1 단어 및 제2 단어로 이루어진 토픽 키워드가 생성될 수 있다. 중첩된 구간의 판단에 대해서는 도 5를 참조하여 상세히 설명한다.
중첩된 구간을 판단하는 경우 윈도우가 활용될 수도 있다. 예를 들어, 구간 B1,1이 (1, 2, 3, 4, 5)이고, 제2 단어에 대응하는 구간 B2,1이 (6, 7, 8, 9, 10)이고, 윈도우 사이즈가 0인 경우, 중첩된 구간이 없는 것으로 판단하여 토픽 키워드가 생성되지 않을 수 있다. 윈도우 사이즈가 1인 경우, 제5 문장과 제6 문장이 중첩된 것으로 판단하여 중첩된 구간 (5)에 대해 토픽 키워드가 생성될 수 있다. 다른 예를 들면, 구간 B1,1이 (1, 2, 3, 4, 5)이고, 제2 단어에 대응하는 구간 B2,1이 (, 6, 7, 8, 9)이고, 윈도우 사이즈가 -1인 경우, 중첩된 구간이 없는 것으로 판단될 수 있다. 윈도우 사이즈는 상황에 따라 적절히 조절될 수 있다.
일 실시 예에 따르면, 프로세서(230)는 단어에 대응하는 구간 및 하나 이상의 다른 단어에 대응하는 구간이 결합된 구간에 포함된 하나 이상의 문장과 연관되도록 토픽 키워드를 생성할 수 있다. 예를 들어, 제1 단어에 대응하는 구간 B1,1이 (1, 2, 3, 4, 5)이고, 제2 단어에 대응하는 구간 B2,1이 (3, 4, 5, 6, 7)인 경우, 구간 B1,1과 B2,1이 결합된 구간은 (1, 2, 3, 4, 5, 6, 7)일 수 있고, 이 경우, 구간 (1, 2, 3, 4, 5, 6, 7)에 포함된 제1 문장 내지 제7 문장과 연관되도록 제1 단어 및 제2 단어로 이루어진 토픽 키워드가 생성될 수 있다. 중첩된 구간에 대해서만 토픽 키워드를 생성하는 경우, 3개 이상의 단어로 이루어진 토픽 키워드가 생성되기 어려울 수 있다. 따라서, 상술한 것과 같이, 결합된 구간을 기준으로 토픽 키워드를 생성할 수 있다. 결합된 구간의 판단에 대해서는 도 6를 참조하여 상세히 설명한다.
윈도우는 결합된 구간을 판단하는 경우에도 유사한 방식으로 활용될 수 있다. 예를 들어, 구간 B1,1이 (1, 2, 3, 4, 5)이고, 제2 단어에 대응하는 구간 B2,1이 (6, 7, 8, 9, 10)이고, 윈도우 사이즈가 0인 경우, 제1 단어의 구간과 제2 단어의 구간이 중첩되지 않으므로 토픽 키워드가 생성되지 않을 수 있다. 윈도우 사이즈가 1인 경우, 제5 문장과 제6 문장이 중첩된 것으로 판단하여 결합된 구간 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)에 대해 토픽 키워드가 생성될 수 있다.
일 실시 예에 따르면, 프로세서(230)는 복수의 문장 각각에 대응하는 토픽 키워드에 기초하여 복수의 문장으로부터 선택된 일부 문장을 포함하는 원본 문서에 대한 요약문을 제공할 수 있다. 예를 들어, 프로세서(230)는 복수의 문장 각각에 대응하는 토픽 키워드에 기초하여 복수의 문장 각각의 스코어를 산출하고, 스코어에 기초하여 복수의 문장으로부터 일부 문장을 선택함으로써, 요약문을 제공할 수 있다.
예를 들어, 프로세서(230)는 토픽 키워드에 포함된 단어의 개수의 변화 및 토픽 키워드에 포함된 단어의 분포 밀도에 기초하여 스코어를 산출할 수 있다. 스코어를 산출하기 위한 예시적인 수학식은 아래와 같다.
[수학식 2]
Figure pat00002
여기서 scorei는 문장 i에 대한 스코어일 수 있고, increasei는 문장 i-1에 대응하는 토픽 키워드에 포함된 단어의 개수에 비해 문장 i에 대응하는 토픽 키워드에 포함된 단어의 개수의 증가량(감소한 경우 increasei -는 0)일 수 있고, decreasei는 문장 i-1에 대응하는 토픽 키워드에 포함된 단어의 개수에 비해 문장 i에 대응하는 토픽 키워드에 포함된 단어의 개수의 감소량(증가한 경우 decreasei는 0)일 수 있고, intensityi는 문장 i에 대응하는 토픽 키워드의 생성 시 활용된 구간 정보의 상태 값(q)일 수 있고, tfidfi는 문장 i에 에 포함된 단어에 대한 가중치로서, TF-IDF(term frequency-inverse document frequency) 값일 수 있고, wn은 미리 설정된 가중치일 수 있고 wn의 총합은 1일 수 있다. TF-IDF는 문장 벡터의 성분들의 합으로 산출될 수 있고, 문장 벡터의 성분은 문장에 포함된 단어들 각각의 웨이트일 수 있다. 프로세서(230)는 상술한 수학식을 이용하여 원본 문서에 포함된 복수의 문장 각각에 대한 스코어를 산출할 수 있다. 스코어의 산출에 대해서는 도 8을 참조하여 상세히 설명한다.
한편, 프로세서(230)는, 예를 들어, 스코어에 기초하여 원분 문서에 포함된 복수의 문장 중 일부를 선택함으로써 요약문을 생성할 수 있다. 예를 들어, 프로세서(230)는 미리 설정된 요약문의 길이가 만족되도록 복수의 문장으로부터 일부 문장을 선택할 수 있다. 요약문의 길이는 단어 개수(예: 100 단어 이하), 문장 개수(예: 10 문장 이하) 또는 원본 문서의 길이 대비 요약문의 길이(예: 원본 문서의 문장 개수의 10% 또는 원본 문서의 단어 개수의 10%) 등으로 설정될 수 있다. 프로세서(230)는 상술한 요약문의 길이를 고려하여, 복수의 문장 중 스코어가 높은 일부를 선택할 수 있고, 선택된 문장을 포함하는 요약문을 출력할 수 있다.
일 실시 예에 따르면, 프로세서(230)는 복수의 문장 사이의 유사도를 산출함으로써, 유사도가 지정된 레벨 이상인 문장을 제거하고 요약문을 제공할 수 있다 요약문에 유사도가 높은 문장이 포함되는 경우, 요약문의 길이가 길어지고, 이에 따라 요약문의 퀄리티가 저하될 수 있다. 따라서, 프로세서(230)는 유사도가 높은 문장 중 일부를 제외하여 요약문을 생성할 수 있다. 문장 사이의 유사도를 산출하기 위한 예시적인 방식으로 MMR(maximal marginal relevance)이 채용될 수 있고, MMR의 산출을 위한 예시적인 수학식은 아래와 같다.
[수학식 3]
Figure pat00003
프로세서(230)는 생성된 토픽 키워드를 요약문의 생성을 위해 이용할 수도 있으나, 생성된 토픽 키워드를 원본 문서 내 검색을 위한 인덱스로 활용할 수도 있다. 일 실시 예에 따르면, 프로세서(230)는 사용자에 의해 입력된 검색어가 획득되면, 원본 문서로부터 생성된 복수의 토픽 키워드 중 획득된 검색어를 포함하는 토픽 키워드와 연관된 문장을 출력할 수 있다. 이로써 문서 내에서 주제 기반의 검색이 가능해 질 수 있다. 주제 기반 검색에 대해서는 도 7을 참조하여 상세히 설명한다.
도 3은 일 실시 예에 따른 토픽 키워드의 추출 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 3을 참조하면, 일 실시 예에 따른 토픽 키워드의 추출 장치는 원본 문서로부터 요약문을 생성할 수 있다. 도 3은 요약문의 생성 과정의 이해를 돕기 위해 예시적으로 기재된 플로우로 본 문서의 권리범위는 이에 제한되지 않는다.
일 실시 예에 따른 토픽 키워드의 추출 장치는 원본 문서를 획득할 수 있다(310). 원본 문서는 복수의 문장을 포함할 수 있다.
토픽 키워드의 추출 장치는 원본 문서에 포함된 단어 각각이 집중적으로 분포된 구간을 도출할 수 있다(320). 집중 분포 구간은 단어의 산포도 및 확률 분포에 기초하여 단어 각각의 분포 밀도가 지정된 기준을 초과하는지 여부를 판단함으로써 도출될 수 있다.
토픽 키워드의 추출 장치는 2 이상의 단어의 집중 분포 구간이 중복되는 중복 분포 구간을 도출할 수 있다(330). 중복 분포 구간은 2 이상의 단어의 집중 분포 구간이 오버랩되는지 여부를 확인함으로써 도출될 수 있다.
토픽 키워드의 추출 장치는 중복 분포 구간에 대응하는 토픽 키워드를 추출할 수 있다(340). 토픽 키워드는 중복 분포 구간과 연관된 2 이상의 단어로 이루어질 수 있고, 중복 분포 구간에 포함된 문장과 연관될 수 있다.
토픽 키워드의 추출 장치는 원본 문서에 포함된 복수의 문장 각각의 중요도를 스코어링할 수 있다(350). 스코어는 토픽 키워드에 포함된 단어 개수의 변화 및 토픽 키워드에 포함된 단어의 분포 밀도에 따라 산출될 수 있다.
토픽 키워드의 추출 장치는 스코어에 기초하여 요약문을 생성할 수 있다(360). 토픽 키워드의 추출 장치는 원본 문서로부터 상대적으로 스코어가 높은 문장을 추출함으로써 요약문을 생성할 수 있다.
도 4는 일 실시 예에 따른 토픽 키워드의 추출 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 4를 참조하면, 일 실시 예에 따른 토픽 키워드의 추출 장치는 원본 문서에 포함된 단어 각각에 대해 분포 밀도가 지정된 조건을 만족하는 구간을 추출할 수 있다. 도 4는 구간 추출의 개념을 시각적으로 도시한다. 도 4에서 그래프의 x축은 문장 번호를 의미하고, y축은 상태 값(q)을 의미한다.
예를 들어, 제1 그래프(410)는 단어 “subject”에 대응하는 구간을 나타낸다. 제1 구간(411), 제2 구간(412), 제3 구간(413) 및 제4 구간(414)은 단어 “subject”에 대해 상태 값 1을 만족하는 분포 밀도를 갖는 구간일 수 있다. 상태 값은 판단 기준이 되는 분산 값, 표준편자 값 또는 베타 분포의 파라미터에 대응할 수 있다.
제2 그래프(420)는 단어 “area”에 대응하는 구간을 나타낸다. 제5 구간(421)은 단어 “area”에 대해 상태 값 1을 만족하는 분포 밀도를 갖는 구간이고, 제6 구간(422)은 단어 “area”에 대해 상태 값 2를 만족하는 분포 밀도를 갖는 구간이고, 제7 구간(423)은 단어 “area”에 대해 상태 값 3을 만족하는 분포 밀도를 갖는 구간일 수 있다. 제6 구간(422)에서 단어 “area”의 분포 밀도는 제5 구간(421)보다 높고, 제7 구간(423)에서 단어 “area”의 분포 밀도는 제5 구간(421) 및 제6 구간(422)보다 높다. 따라서, 제6 구간(422)는 제5 구간(421)보다 좁고, 제7 구간(423)은 제6 구간(422)보다 좁게 나타난다.
제3 그래프(430)는 단어 “key”에 대응하는 구간을 나타낸다. 제8 구간(431)은 단어 “key”에 대해 상태 값 1을 만족하는 분포 밀도를 갖는 구간일 수 있다.
제4 그래프(440)는 단어 “nfc”에 대응하는 구간을 나타낸다. 제9 구간(441) 및 제10 구간(442)은 단어 “nfc”에 대해 상태 값 1을 만족하는 분포 밀도를 갖는 구간이고, 제11 구간(443) 및 제12 구간(444)은 단어 “nfc”에 대해 상태 값 2를 만족하는 분포 밀도를 갖는 구간이고, 제13 구간(445)은 단어 “nfc”에 대해 상태 값 3을 만족하는 분포 밀도를 갖는 구간일 수 있다.
이 경우, 제8 구간(431)과 제10 구간(442)가 중첩되므로, 제8 구간(431) 및 제10 구간(442)과 연관된 문장에 대해 토픽 키워드 “key nfc”가 생성될 수 있다. 구간의 중첩 여부를 판단하는 경우, 상태 값이 동일한 구간에 대해서만 판단할 수도 있으므로, 이 경우, 제12 구간(444) 및 제13 구간(445)는 상태 값이 상이한 제8 구간(431)과 연계되지 않을 수도 있다.
도 5는 일 실시 예에 따른 토픽 키워드의 추출 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 5를 참조하면, 일 실시 예에 따른 토픽 키워드의 추출 장치는 특정 단어에 대응하는 구간 및 하나 이상의 다른 단어에 대응하는 구간이 중첩된 구간에 포함된 하나 이상의 문장과 연관되도록 토픽 키워드를 생성할 수 있다.
예를 들어, 단어 t1은 문장 1, 문장 3, 문장 4 및 문장 8에 포함될 수 있다. 이 경우, 단어 t1의 분포 밀도가 지정된 조건을 만족하는 구간 (1, 2, 3, 4)이 단어 t1에 대응하는 구간으로 추출될 수 있다. 단어 t2는 문장 1, 문장 2, 문장 4, 문장 5, 문장 7에 포함될 수 있다. 이 경우, 단어 t2의 분포 밀도가 지정된 조건을 만족하는 구간 (1, 2, 3, 4, 5, 6, 7)이 단어 t2에 대응하는 구간으로 추출될 수 있다.
단어 t1에 대응하는 구간과 단어 t2에 대응하는 구간은 구간 (1, 2, 3, 4)에서 중첩될 수 있다. 이 경우, 단어 t1과 단어 t2가 연계될 수 있고, 단어 t1 및 단어 t2에 대응하는 구간은 중첩된 구간 (1, 2, 3, 4)일 수 있고, 중첩된 구간 (1, 2, 3, 4)에 포함된 문장 1 내지 문장 4와 연관되도록 토픽 키워드 “t1 t2”가 생성될 수 있다.
도 6은 일 실시 예에 따른 토픽 키워드의 추출 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 6을 참조하면, 일 실시 예에 따른 토픽 키워드의 추출 장치는 특정 단어에 대응하는 구간 및 하나 이상의 다른 단어에 대응하는 구간이 결합된 구간에 포함된 하나 이상의 문장과 연관되도록 토픽 키워드를 생성할 수 있다.
예를 들어, 단어 t1은 문장 1, 문장 3, 문장 4 및 문장 8에 포함될 수 있다. 이 경우, 단어 t1의 분포 밀도가 지정된 조건을 만족하는 구간 (1, 2, 3, 4)이 단어 t1에 대응하는 구간으로 추출될 수 있다. 단어 t2는 문장 1, 문장 2, 문장 4, 문장 5, 문장 7에 포함될 수 있다. 이 경우, 단어 t2의 분포 밀도가 지정된 조건을 만족하는 구간 (1, 2, 3, 4, 5, 6, 7)이 단어 t2에 대응하는 구간으로 추출될 수 있다.
단어 t1에 대응하는 구간과 단어 t2에 대응하는 구간은 구간 (1, 2, 3, 4, 5, 6, 7)로 결합될 수 있다. 이 경우, 단어 t1과 단어 t2가 연계될 수 있고, 단어 t1 및 단어 t2에 대응하는 구간은 결합된 구간 (1, 2, 3, 4, 5, 6, 7)일 수 있고, 중첩된 구간 (1, 2, 3, 4, 5, 6, 7)에 포함된 문장 1 내지 문장 7과 연관되도록 토픽 키워드 “t1 t2”가 생성될 수 있다.
도 7은 일 실시 예에 따른 토픽 키워드의 추출 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 7을 참조하면, 일 실시 예에 따른 토픽 키워드의 추출 장치는 생성된 토픽 키워드를 원본 문서 내 검색을 위한 인덱스로 활용할 수 있다. 토픽 키워드의 추출 장치는 사용자에 의해 입력된 검색어가 획득되면, 원본 문서로부터 생성된 복수의 토픽 키워드 중 획득된 검색어를 포함하는 토픽 키워드와 연관된 문장을 출력할 수 있다.
예를 들어, 문장 3 내지 4에 대응하는 토픽 키워드는 “pandant user”이고, 문장 5 내지 9에 대응하는 토픽 키워드는 “pandant study user”이고, 문장 10 내지 13에 대응하는 토픽 키워드는 “study user”일 수 있다. 문장 3 내지 13에 대한 토픽 키워드는 문서 내 검색을 위한 인덱스로 활용될 수 있다. 예를 들어, 사용자에 의해 검색어 “pandant study user”가 입력되면, 검색어에 대응하는 토픽 키워드가 검색될 수 있고, 검색된 토픽 키워드에 대응하는 문장 5 내지 문장 9가 검색될 수 있다. 검색된 문장 5 내지 문장 9는 사용자에게 제공될 수 있고, 이 경우 문장 5 내지 문장 9와 인접한 문장이 함께 표시될 수 있고, 문장 5 내지 문장 9가 하이라이트될 수도 있다. 이로써 주제 기반의 검색 방식이 사용자에게 제공될 수 있다.
도 8은 일 실시 예에 따른 토픽 키워드의 추출 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 8을 참조하면, 일 실시 예에 따른 토픽 키워드의 추출 장치는 토픽 키워드에 포함된 단어의 개수의 변화 및 토픽 키워드에 포함된 단어의 분포 밀도에 기초하여 스코어를 산출할 수 있다.
도 8을 참조하면, 문장 1의 토픽 키워드는 “associated feedback participant”이고, 문장 2의 토픽 키워드는 “associated participant”일 수 있다. 이 경우, 수학식 2에서 문장 2에 대한 increase2는 토픽 키워드의 단어 개수가 문장 1에 비해 감소했으므로 0일 수 있고, decrease2는 토픽 키워드의 단어 개수가 문장 1에 비해 1 감소했으므로 1일 수 있다. 토픽 키워드 “associated participant”를 추출할 때 구간의 상태 값이 1인 경우, intensity2는 1일 수 있다. 문장 2에 대한 tfidf2는 문장 2의 문장 벡터 성분들(예: 문장 2에 포함된 단어 각각의 웨이트)의 합으로 산출될 수 있다. 이로써, 문장 2에 대한 score2가 산출될 수 있다.
한편, 문장 7의 토픽 키워드는 “associated participant”이고, 문장 8의 토픽 키워드는 “associated context participant”일 수 있다. 이 경우, 수학식 2에서 문장 8에 대한 increase8은 토픽 키워드의 단어 개수가 문장 7에 비해 1 증가했으므로 1일 수 있고, decrease8은 토픽 키워드의 단어 개수가 문장 1에 비해 증가했으므로 0일 수 있다. 토픽 키워드 “associated context participant”를 추출할 때 구간의 상태 값이 2인 경우, intensity8은 2일 수 있다. 문장 8에 대한 tfidf8은 문장 8의 문장 벡터 성분들의 합으로 산출될 수 있다. 이로써, 문장 8에 대한 score8이 산출될 수 있다.
상술한 방식으로 원본 문서에 포함된 모든 문장에 대한 스코어가 산출될 수 있고, 산출된 스코어에 기반하여 요약문이 생성될 수 있다.
도 9는 일 실시 예에 따른 토픽 키워드의 추출 방법을 설명하기 위한 흐름도이다.
이하에서는 도 2의 토픽 키워드의 추출 장치(200)가 도 9의 프로세스를 수행하는 것을 가정한다. 또한, 도 9의 설명에서, 문서의 요약문 제공 장치에 의해 수행되는 것으로 기술된 동작은 프로세서(230)에 의해 제어되는 것으로 이해될 수 있다.
도 9를 참조하면, 단계 910에서, 장치는 원본 문서에 포함된 단어를 분석함으로써, 단어의 분포 밀도가 지정된 조건을 만족하는 구간에 대한 정보를 획득할 수 있다.
단계 920에서, 장치는 구간이 서로 중첩되는 특정 단어와 하나 이상의 다른 단어를 연계함으로써, 원본 문서에 포함된 복수의 문장 중 특정 단어에 대응하는 구간 및 하나 이상의 다른 단어에 대응하는 구간과 연관된 하나 이상의 문장에 대해 특정 단어 및 하나 이상의 다른 단어로 이루어진 토픽 키워드를 생성할 수 있다.
본 문서의 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제1," "제2," "첫째," 또는 "둘째," 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤 구성요소가 다른 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소를 통하여 연결될 수 있다.
본 문서에서, "~하도록 설정된(adapted to or configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 설정된 (또는 구성된) 프로세서"는 해당 동작들을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU)를 의미할 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어(firmware)로 구성된 유닛(unit)을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있다.
일 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다.
일 실시 예에 따른 구성 요소(예: 모듈 또는 프로그램 모듈) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소를 더 포함할 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램 모듈)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 일 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.

Claims (13)

  1. 토픽 키워드의 추출 장치에 있어서,
    외부로부터 원본 문서를 수신하는 통신 회로;
    상기 원본 문서를 저장하는 메모리; 및
    상기 통신 회로 및 상기 메모리와 전기적으로 연결된 프로세서를 포함하고,
    상기 프로세서는,
    상기 원본 문서에 포함된 단어를 분석함으로써, 상기 단어의 분포 밀도가 지정된 조건을 만족하는 구간에 대한 정보를 획득하고,
    상기 구간이 서로 중첩되는 상기 단어와 하나 이상의 다른 단어를 연계함으로써, 상기 원본 문서에 포함된 복수의 문장 중 상기 단어에 대응하는 구간 및 상기 하나 이상의 다른 단어에 대응하는 구간과 연관된 하나 이상의 문장과 연관되도록 상기 단어 및 상기 하나 이상의 다른 단어로 이루어진 토픽 키워드를 생성하는 것을 특징으로 하는, 장치
  2. 제 1 항에 있어서,
    상기 프로세서는,
    상기 복수의 문장 각각에 대응하는 상기 토픽 키워드에 기초하여 상기 복수의 문장으로부터 선택된 일부 문장을 포함하는 상기 원본 문서에 대한 요약문을 제공하는 것을 특징으로 하는, 장치.
  3. 제 1 항에 있어서,
    상기 프로세서는,
    사용자에 의해 입력된 검색어가 획득되면, 상기 원본 문서로부터 생성된 복수의 토픽 키워드 중 상기 검색어를 포함하는 토픽 키워드와 연관된 문장을 출력하는 것을 특징으로 하는, 장치.
  4. 제 1 항에 있어서,
    상기 프로세서는,
    상기 원본 문서로부터 불용어(stopword)를 제외한 상기 단어를 분석하는 것을 특징으로 하는, 장치.
  5. 제 1 항에 있어서,
    상기 프로세서는,
    상기 단어의 출현 위치에 대한 산포도 또는 확률 분포에 기초하여 상기 구간에 대한 정보를 획득하는 것을 특징으로 하는, 장치.
  6. 제 1 항에 있어서,
    상기 프로세서는,
    상기 단어에 대응하는 구간 및 상기 하나 이상의 다른 단어에 대응하는 구간이 중첩된 구간에 포함된 상기 하나 이상의 문장과 연관되도록 상기 토픽 키워드를 생성하는 것을 특징으로 하는 장치.
  7. 제 1 항에 있어서,
    상기 프로세서는,
    상기 단어에 대응하는 구간 및 상기 하나 이상의 다른 단어에 대응하는 구간이 결합된 구간에 포함된 상기 하나 이상의 문장과 연관되도록 상기 토픽 키워드를 생성하는 것을 특징으로 하는, 장치.
  8. 제 2 항에 있어서,
    상기 프로세서는,
    상기 복수의 문장 각각에 대응하는 상기 토픽 키워드에 기초하여 상기 복수의 문장 각각의 스코어를 산출하고,
    상기 스코어에 기초하여 상기 복수의 문장으로부터 상기 일부 문장을 선택함으로써, 상기 요약문을 제공하는 것을 특징으로 하는, 장치.
  9. 제 8 항에 있어서,
    상기 프로세서는,
    상기 토픽 키워드에 포함된 단어의 개수의 변화 및 상기 토픽 키워드에 포함된 단어의 상기 분포 밀도에 기초하여 상기 스코어를 산출하는 것을 특징으로 하는, 장치.
  10. 제 8 항에 있어서,
    상기 프로세서는,
    미리 설정된 상기 요약문의 길이가 만족되도록 상기 복수의 문장으로부터 상기 일부 문장을 선택하는 것을 특징으로 하는, 장치.
  11. 제 2 항에 있어서,
    상기 프로세서는,
    상기 복수의 문장 사이의 유사도를 산출함으로써, 상기 유사도가 지정된 레벨 이상인 문장을 제거하고 상기 요약문을 제공하는 것을 특징으로 하는, 장치.
  12. 토픽 키워드의 추출 방법에 있어서,
    원본 문서에 포함된 단어를 분석함으로써, 상기 단어의 분포 밀도가 지정된 조건을 만족하는 구간에 대한 정보를 획득하는 단계;
    상기 구간이 서로 중첩되는 상기 단어와 하나 이상의 다른 단어를 연계함으로써, 상기 원본 문서에 포함된 복수의 문장 중 상기 단어에 대응하는 구간 및 상기 하나 이상의 다른 단어에 대응하는 구간과 연관된 하나 이상의 문장에 대해 상기 단어 및 상기 하나 이상의 다른 단어로 이루어진 토픽 키워드를 생성하는 단계; 및
    상기 복수의 문장 각각에 대응하는 상기 토픽 키워드에 기초하여 상기 복수의 문장으로부터 선택된 일부 문장을 포함하는 상기 원본 문서에 대한 요약문을 제공하는 단계를 포함하는 것을 특징으로 하는, 방법.
  13. 컴퓨팅 디바이스에 포함된 적어도 하나의 프로세서에 의해 실행 가능한 명령어가 저장된 컴퓨터 기록 매체에 있어서,
    상기 명령어는, 상기 적어도 하나의 프로세서로 하여금,
    원본 문서에 포함된 단어를 분석함으로써, 상기 단어의 분포 밀도가 지정된 조건을 만족하는 구간에 대한 정보를 획득하고,
    상기 구간이 서로 중첩되는 상기 단어와 하나 이상의 다른 단어를 연계함으로써, 상기 원본 문서에 포함된 복수의 문장 중 상기 단어에 대응하는 구간 및 상기 하나 이상의 다른 단어에 대응하는 구간과 연관된 하나 이상의 문장에 대해 상기 단어 및 상기 하나 이상의 다른 단어로 이루어진 토픽 키워드를 생성하고,
    상기 복수의 문장 각각에 대응하는 상기 토픽 키워드에 기초하여 상기 복수의 문장으로부터 선택된 일부 문장을 포함하는 상기 원본 문서에 대한 요약문을 제공하도록 하는 것을 특징으로 하는, 컴퓨터 기록 매체.
KR1020210068667A 2020-05-27 2021-05-27 토픽 키워드의 추출 장치 및 방법 KR102519955B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200063479 2020-05-27
KR20200063479 2020-05-27

Publications (2)

Publication Number Publication Date
KR20210146832A true KR20210146832A (ko) 2021-12-06
KR102519955B1 KR102519955B1 (ko) 2023-04-10

Family

ID=78901444

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210068667A KR102519955B1 (ko) 2020-05-27 2021-05-27 토픽 키워드의 추출 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102519955B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114328826A (zh) * 2021-12-20 2022-04-12 青岛檬豆网络科技有限公司 一种提取技术成果、技术需求的关键词和文摘的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004199680A (ja) * 2002-12-16 2004-07-15 Xerox Corp トピックベースのインタラクティブなテキストの要約を表示するシステムと方法
KR20070040162A (ko) * 2005-10-11 2007-04-16 주식회사 코리아 와이즈넛 토픽 기반의 검색 서비스 제공 시스템 및 그 방법
KR101671740B1 (ko) * 2015-07-07 2016-11-16 숭실대학교산학협력단 토픽 추출 장치 및 방법
JP2017151678A (ja) * 2016-02-24 2017-08-31 国立研究開発法人情報通信研究機構 トピック推定装置、トピック推定方法、およびプログラム
KR20190013426A (ko) * 2017-08-01 2019-02-11 삼성전자주식회사 인공지능 학습모델을 이용하여 요약 정보를 제공하기 위한 전자 장치 및 이의 제어 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004199680A (ja) * 2002-12-16 2004-07-15 Xerox Corp トピックベースのインタラクティブなテキストの要約を表示するシステムと方法
KR20070040162A (ko) * 2005-10-11 2007-04-16 주식회사 코리아 와이즈넛 토픽 기반의 검색 서비스 제공 시스템 및 그 방법
KR101671740B1 (ko) * 2015-07-07 2016-11-16 숭실대학교산학협력단 토픽 추출 장치 및 방법
JP2017151678A (ja) * 2016-02-24 2017-08-31 国立研究開発法人情報通信研究機構 トピック推定装置、トピック推定方法、およびプログラム
KR20190013426A (ko) * 2017-08-01 2019-02-11 삼성전자주식회사 인공지능 학습모델을 이용하여 요약 정보를 제공하기 위한 전자 장치 및 이의 제어 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114328826A (zh) * 2021-12-20 2022-04-12 青岛檬豆网络科技有限公司 一种提取技术成果、技术需求的关键词和文摘的方法
CN114328826B (zh) * 2021-12-20 2024-06-11 青岛檬豆网络科技有限公司 一种提取技术成果、技术需求的关键词和文摘的方法

Also Published As

Publication number Publication date
KR102519955B1 (ko) 2023-04-10

Similar Documents

Publication Publication Date Title
US9373075B2 (en) Applying a genetic algorithm to compositional semantics sentiment analysis to improve performance and accelerate domain adaptation
US9792280B2 (en) Context based synonym filtering for natural language processing systems
JP6095621B2 (ja) 回答候補間の関係を識別および表示する機構、方法、コンピュータ・プログラム、ならびに装置
AU2015299050B2 (en) Methods and systems for mapping data items to sparse distributed representations
US9318027B2 (en) Caching natural language questions and results in a question and answer system
US20180341699A1 (en) User interface for a query answering system
US9471559B2 (en) Deep analysis of natural language questions for question answering system
US9720977B2 (en) Weighting search criteria based on similarities to an ingested corpus in a question and answer (QA) system
US9535980B2 (en) NLP duration and duration range comparison methodology using similarity weighting
US9697099B2 (en) Real-time or frequent ingestion by running pipeline in order of effectiveness
US10282678B2 (en) Automated similarity comparison of model answers versus question answering system output
US10628749B2 (en) Automatically assessing question answering system performance across possible confidence values
US10198497B2 (en) Search term clustering
US20160019804A1 (en) Determining Comprehensiveness of Question Paper Given Syllabus
CN114202443A (zh) 政策分类方法、装置、设备及存储介质
KR102519955B1 (ko) 토픽 키워드의 추출 장치 및 방법
US11341188B2 (en) Expert stance classification using computerized text analytics
US10387472B2 (en) Expert stance classification using computerized text analytics
JP6181890B2 (ja) 文献解析装置、文献解析方法およびプログラム
KR102685135B1 (ko) 영상 편집 자동화 시스템
Kee et al. Feature Extraction Tool for Phishing Dataset
JP2018200544A (ja) 解析装置、解析方法及び解析プログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant