KR102125407B1 - 문장 추출 방법 및 시스템 - Google Patents

문장 추출 방법 및 시스템 Download PDF

Info

Publication number
KR102125407B1
KR102125407B1 KR1020190127339A KR20190127339A KR102125407B1 KR 102125407 B1 KR102125407 B1 KR 102125407B1 KR 1020190127339 A KR1020190127339 A KR 1020190127339A KR 20190127339 A KR20190127339 A KR 20190127339A KR 102125407 B1 KR102125407 B1 KR 102125407B1
Authority
KR
South Korea
Prior art keywords
document
sentence
important
keyword
sentences
Prior art date
Application number
KR1020190127339A
Other languages
English (en)
Other versions
KR20190121727A (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 KR1020190127339A priority Critical patent/KR102125407B1/ko
Publication of KR20190121727A publication Critical patent/KR20190121727A/ko
Application granted granted Critical
Publication of KR102125407B1 publication Critical patent/KR102125407B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 문서 요약 방법은, 키워드를 수신하는 단계, 복수의 문장을 포함하는 문서를 파싱하여 상기 문서에 포함된 각 문장을 식별하는 단계, 상기 각 문장을 버텍스(Vertex)로 하고, 상기 각 문장 간의 유사도를 에지(Edge)의 가중치(Weight)로 하는 그래프를 구성하는 단계, 상기 그래프에 변형된 페이지랭크 알고리즘(PageRank algorithm)을 적용하여 상기 각 문장의 중요도를 산정하되, 상기 변형된 랭크 알고리즘은 상기 키워드와의 관련도에 따른 가중치가 반영되도록 변형된 단계, 및 상기 산정된 중요도를 기준으로, 상기 문서로부터 중요 문장을 추출하는 단계를 포함할 수 있다.

Description

문장 추출 방법 및 시스템{Method and system for extracting sentences}
본 발명은 문서 요약 방법 및 시스템에 관한 것이다. 보다 자세하게는, 문서에 포함된 각 문장의 중요도를 산정하고, 산정된 각 문장의 중요도를 기초로 문서로부터 중요 문장을 추출하는 방법 및 그 시스템에 관한 것이다.
문서 요약(Document summarization)은 문서를 대표할 수 있는 축약된 텍스트를 생성하는 작업이다. 문서 요약은 정보의 홍수로부터 필요한 정보를 신속, 정확하게 취득하기 위해 요구된다.
문서 요약 방법은 추출(extraction) 요약 방법과 생성(abstraction) 요약 방법으로 구분될 수 있다. 생성 요약 방법은 추출 요약 방법에 비하여 원문을 효과적으로 축약할 수 있으나, 원문과의 일관성 및 요약의 정확성이 보장되지 않는다는 한계가 있다.
추출 요약 방법은 문서로부터 중요 문장을 추출하고, 추출된 중요 문장을 이용하여 요약문을 구성하는 방법이다. 그러나, 일반적인 추출 요약 알고리즘은 독자(Reader)의 관점, 관심사 또는 의도를 고려하지 않고, 문서로부터 절대적으로 중요하다고 평가되는 문장을 추출한다.
따라서, 일반적인 추출 요약 알고리즘에 의해 추출된 중요 문장은 제1 독자에게는 관심사에 관한 정보를 제공하는 중요한 문장일 수 있으나, 제2 독자에게는 불필요한 정보를 제공하는 문장에 불과할 수 있다. 따라서, 문서의 독자 각각의 선호도를 고려하여, 어느 독자에게도 중요하다고 평가될 수 있는 문장을 추출할 수 있는 솔루션이 요구되고 있다.
한국 등록 특허 제0435442호 (2003.05.22. 공개) 한국 등록 특허 제0849272호 (2003.06.02. 공개)
본 발명이 해결하고자 하는 기술적 과제는, 문서의 독자(reader) 각각의 선호도를 기초로 문서에 포함된 각 문장의 중요도를 산정하고, 산정된 각 문장의 중요도를 기초로 문서로부터 중요 문장을 추출하는 방법 및 그 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 문서로부터 추출된 중요 문장을 기초로 문서를 요약하는 방법 및 그 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 문서로부터 추출된 중요 문장을 기초로 검색 서비스 및 노이즈 필터링을 제공하는 방법 및 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 문서로부터 추출된 중요 문장을 기초로 클러스터링을 수행하는 컨텐츠 클러스터링 방법 및 시스템을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 문서 요약 방법은, 키워드를 수신하는 단계, 복수의 문장을 포함하는 문서를 파싱하여 상기 문서에 포함된 각 문장을 식별하는 단계, 상기 각 문장을 버텍스(Vertex)로 하고, 상기 각 문장 간의 유사도를 에지(Edge)의 가중치(Weight)로 하는 그래프를 구성하는 단계, 상기 그래프에 변형된 페이지랭크 알고리즘(PageRank algorithm)을 적용하여 상기 각 문장의 중요도를 산정하되, 상기 변형된 랭크 알고리즘은 상기 키워드와의 관련도에 따른 가중치가 반영되도록 변형된 단계, 및 상기 산정된 중요도를 기준으로, 상기 문서로부터 중요 문장을 추출하는 단계를 포함할 수 있다.
일 실시예에서, 상기 그래프를 구성하는 단계는, 상기 각 문장을 버텍스로 하는 그래프를 구성하되, 상기 그래프는 모든 버텍스가 에지로 연결된 컴플리트 그래프인 단계, 상기 각 문장 간의 유사도를 산정하고, 산정된 유사도를 상기 버텍스 사이를 연결하는 에지의 가중치로 부여하는 단계, 및 상기 그래프에서 기 지정된 임계 값 보다 낮은 가중치가 부여된 에지를 제거하는 단계를 포함할 수 있다.
일 실시예에서, 상기 페이지랭크 알고리즘은, 제1 버텍스에 인접한 버텍스들의 상대적인 중요도를 기준으로 제1 버텍스의 중요도를 산정하되, 상기 제1 버텍스에 인접한 각 버텍스의 상대적인 중요도에 상기 제1 버텍스에 인접한 각 버텍스의 문장에 상기 키워드가 포함되어 있는지 여부와 관련된 가중치가 반영된 알고리즘이 될 수 있다.
일 실시예에서, 상기 중요 문장을 추출하는 단계는, 상기 문서로부터 기 지정된 k개의 중요 문장을 추출하되, 상기 k개의 중요 문장은 상기 중요도가 최대인 문장에서 상기 중요도가 낮아지는 순서대로 추출되는 단계, 및 상기 중요 문장의 상기 문서 내에서의 위치를 기준으로, 상기 k개의 중요 문장을 재배열하여 요약문을 생성하는 단계를 포함할 수 있다.일 실시예에서, 상기 중요 문장을 추출하는 단계는, 상기 문서로부터 하나의 중요 문장을 추출하는 단계, 상기 추출된 중요 문장의 버텍스에 에지를 통해 연결된 다른 버텍스의 문장 중 요약문 생성에 이용될 문장을 선택하는 단계, 및 상기 추출된 중요 문장 및 상기 선택된 요약문 생성에 이용될 문장을 이용하여 요약문을 생성하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 문서 요약 방법은, 사용자 단말로부터 문서의 요약 요청을 수신하는 단계, 상기 사용자 단말의 사용자에 대한 프로파일을 기준으로, 상기 사용자의 선호도가 반영된 키워드를 선정하는 단계, 상기 선정된 키워드를 반영하여 상기 문서로부터 중요 문장을 추출하는 단계, 및 상기 추출된 중요 문장을 기초로 상기 문서의 요약문을 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 키워드를 선정하는 단계는, 상기 사용자의 선호도가 반영된 제1 키워드 및 제2 키워드를 선정하는 단계를 포함하고, 상기 중요 문장을 추출하는 단계는, 상기 제1 키워드를 반영하여, 상기 문서로부터 기 지정된 k개의 중요 문장을 추출하는 단계, 및 상기 제2 키워드를 반영하여, 상기 문서로부터 기 지정된 m개의 중요 문장을 추출하는 단계를 포함하고, 상기 요약문을 생성하는 단계는, 상기 제1 키워드에 따라 추출된 k개의 중요 문장 및 상기 제2 키워드에 따라 추출된 m개의 중요 문장 중 동일한 문장을 기초로 상기 요약문을 생성하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 문서 요약 방법은, 제1 키워드 및 제2 키워드를 수신하는 단계, 상기 제1 키워드를 반영하여, 복수의 문장을 포함하는 문서로부터 k개의 중요 문장을 추출하는 단계, 상기 k개의 중요 문장을 기초로, 제1 요약문을 생성하는 단계, 상기 제2 키워드를 반영하여, 제1 요약문으로부터 m개의 중요 문장을 추출하는 단계, 및 상기 m개의 중요 문장을 기초로, 제2 요약문을 생성하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 문서 요약 방법은, 제1 키워드 및 제2 키워드를 수신하는 단계, 상기 제1 키워드를 반영하여, 복수의 문장을 포함하는 문서로부터 제1 중요 문장을 추출하는 단계, 및 상기 제2 키워드를 반영하여, 상기 문서로부터 제2 중요 문장을 추출하는 단계를 포함하되, 상기 제1 중요 문장과 상기 제2 중요 문장은 서로 상이한 문장일 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 검색 서비스 제공 방법은, 사용자 단말로부터 검색 키워드를 수신하는 단계, 상기 수신된 검색 키워드에 따라 검색된 문서로부터 중요 문장을 추출하는 단계, 및 상기 추출된 중요 문장에 상기 검색 키워드가 포함되어 있는지 여부를 반영하여 검색 결과를 구성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 중요 문장을 추출하는 단계는, 상기 문서로부터 기 지정된 k개의 중요 문장을 추출하되, 상기 k개의 중요 문장은 문장의 중요도가 최대인 문장에서 상기 중요도가 낮아지는 순서대로 추출하는 단계를 포함하고, 상기 검색 결과를 구성하는 단계는, 상기 검색 키워드가 상기 k개의 중요 문장 중 어디에도 포함되어 있지 않은 경우, 상기 검색 결과로부터 상기 문서를 제외하는 단계를 포함할 수 있다.
일 실시예에서, 상기 사용자 단말로부터 필터링 키워드를 수신하는 단계를 더 포함하고, 상기 중요 문장을 추출하는 단계는, 상기 문서로부터 기 지정된 k개의 중요 문장을 추출하되, 상기 k개의 중요 문장은 문장의 중요도가 최대인 문장에서 상기 중요도가 낮아지는 순서대로 추출되는 단계를 포함하고, 상기 검색 결과를 구성하는 단계는, 상기 필터링 키워드가 상기 k개의 중요 문장에 포함되어 있는 경우, 상기 검색 결과로부터 상기 문서를 제외하는 단계를 포함할 수 있다.
일 실시예에서, 상기 중요 문장을 추출하는 단계는, 기 지정된 m개의 문서 각각으로부터 중요 문장을 추출하되, 상기 k개의 문서는 상기 검색 키워드에 따라 검색된 문서인 단계를 포함하고, 상기 검색 결과를 구성하는 단계는, 상기 추출된 중요 문장 간의 유사도를 산정하는 단계, 및 상기 검색 결과로부터 상기 유사도가 기 지정된 임계 값보다 낮은 중요 문장이 추출될 문서를 제외하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 컨텐츠 클러스터링 방법은, 제1 문서로부터 제1 중요 문장을 추출하는 단계, 제2 문서로부터 제2 중요 문장을 추출하는 단계, 상기 제1 중요 문장과 상기 제2 중요 문장 사이의 유사도를 산정하는 단계, 및 상기 산정된 유사도를 기준으로, 상기 제1 문서와 상기 제2 문서가 하나의 클러스터에 포함될 수 있는지 여부를 결정하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 복수의 문장으로 구성된 텍스트에서 중요 문장을 선정하는 방법은, 제1 키워드를 반영하여, 상기 텍스트에서 제1 중요 문장을 선정하는 단계, 상기 제1 키워드에 대응되는 상기 텍스트의 요약 결과로서, 상기 제1 중요 문장의 데이터를 사용자 단말에 송신하는 단계, 상기 제1 키워드와 다른 제2 키워드를 반영하여, 상기 텍스트에서 상기 제1 중요 문장과 다른 제2 중요 문장을 선정하는 단계, 및 상기 제2 키워드에 대응되는 상기 텍스트의 요약 결과로서, 상기 제2 중요 문장의 데이터를 사용자 단말에 송신하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 문서 요약 장치는, 네트워크 인터페이스, 하나 이상의 프로세서, 상기 프로세서에 의하여 수행 되는 컴퓨터 프로그램을 로드(load) 하는 메모리, 및 하나 이상의 파일을 저장하는 스토리지를 포함하되, 상기 컴퓨터프로그램은, 키워드를 수신하는 오퍼레이션, 복수의 문장을 포함하는 문서를 파싱하여 상기 문서에 포함된 각 문장을 식별하는 오퍼레이션, 상기 각 문장을 버텍스로 하고, 상기 각 문장 간의 유사도를 에지의 가중치로 하는 그래프를 구성하는 오퍼레이션, 상기 그래프에 변형된 페이지랭크 알고리즘을 적용하여 상기 각 문장의 중요도를 산정하되, 상기 변형된 페이지랭크 알고리즘은 상기 키워드와의 관련도에 따른 가중치가 반영되도록 변형된 오퍼레이션, 및 상기 산정된 중요도를 기준으로, 상기 문서로부터 중요 문장을 추출하는 오퍼레이션을 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따르면, 컴퓨팅 장치와 결합되어, 키워드를 수신하는 단계, 복수의 문장을 포함하는 문서를 파싱하여 상기 문서에 포함된 각 문장을 식별하는 단계, 상기 각 문장을 버텍스로 하고, 상기 각 문장 간의 유사도를 에지의 가중치로 하는 그래프를 구성하는 단계, 상기 그래프에 변형된 페이지랭크 알고리즘을 적용하여 상기 각 문장의 중요도를 산정하되, 상기 변형된 페이지랭크 알고리즘은 상기 키워드와의 관련도에 따른 가중치가 적용되도록 반영된 단계, 및 상기 산정된 중요도를 기준으로, 상기 문서로부터 중요 문장을 추출하는 단계를 실행시키기 위하여, 기록매체에 저장된 컴퓨터 프로그램이 제공될 수 있다.
상기와 같은 본 발명에 따르면, 요약문을 생성하기 위한 중요 문장을 추출함에 있어 독자의 선호도를 고려함으로써, 독자의 관점, 관심사 또는 의도에 부합될 수 있는 맞춤형 요약문을 생성할 수 있다.
또한, 독자의 선호도에 따라 추출된 중요 문장을 이용하여 키워드 검색 결과를 재구성함으로써, 독자 각각에 맞춤화된 검색 서비스를 제공할 수 있다.
나아가, 독자의 선호도에 따라 추출된 중요 문장을 이용하여 컨텐츠를 클러스터링 함으로써, 독자 각각에 맞춤화된 클러스터링을 수행할 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 문서 요약의 개념을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 문서 요약 시스템을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 검색 서비스 시스템을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 컨텐츠 클러스터링 시스템을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 문서 요약 과정을 설명하기 위한 개념도이다.
도 6은 본 발명의 일 실시예에 따른 문서 요약 방법을 설명하기 위한 순서도이다.
도 7은 본 발명의 일 실시예에 따른 문서 요약 방법의 그래프 생성 과정을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 문서 요약 방법의 변형된 랭크 알고리즘 적용 과정을 설명하기 위한 도면이다.
도 9는 본 발명의 다른 실시예에 따른 문서 요약 과정을 설명하기 위한 개념도이다.
도 10은 본 발명의 다른 실시예에 다른 문서 요약 방법을 설명하기 위한 순서도이다.
도 11은 본 발명의 일 실시예에 따른 검색 서비스 제공 과정을 설명하기 위한 개념도이다.
도 12는 본 발명의 일 실시예에 따른 검색 서비스 제공 방법을 설명하기 위한 순서도이다.
도 13은 본 발명의 일 실시예에 따른 컨텐츠 클러스터링 과정을 설명하기 위한 개념도이다.
도 14는 본 발명의 일 실시예에 따른 컨텐츠 클러스터링 방법을 설명하기 위한 순서도이다.
도 15는 본 발명의 일 실시예에 따른 문서 요약 장치의 논리적 구성의 블록도이다.
도 16은 본 발명의 일 실시예에 따른 문서 요약 장치의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명에 대한 설명에 앞서, 본 명세서에서 사용되는 몇몇 용어들에 대하여 설명하기로 한다.
그래프(Graph)는 하나 이상의 버텍스(Vertex)의 유한 집합과, 버텍스들의 쌍인, 에지(Edge)의 유한 집합으로 구성되는 데이터 구조(Data structure)이다. 그래프는 최소한 하나의 버텍스(Vertex)를 포함하여 구성되어야 하나, 이에 한정되는 것은 아니다.
그래프는 무방향 그래프(Undirected graph)와 방향 그래프(Directed graph)로 구분될 수 있다. 무방향 그래프는 각 에지를 나타내는 버텍스들의 쌍의 순서가 정해져 있지 않다. 즉, 무방향 그래프는 각 에지가 방향성을 가지지 않는다. 그리고, 방향 그래프는 각 에지를 나타내는 버텍스들의 쌍의 순서가 정해져 있다. 즉, 방향 그래프는 각 에지가 방향성을 가진다.
컴플리트 그래프(Complete graph)는 그래프에 포함된 버텍스가 n개인 경우, 버텍스를 연결하는 에지의 수가 n(n-1)/2개인 그래프이다. 즉, 컴플리트 그래프는 그래프에 포함된 모든 버텍스가 서로 에지로 연결된 그래프이다.
이 밖에 다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명에 대하여 첨부된 도면을 참조하여 보다 상세히 설명한다. 도 1은 본 발명의 일 실시예에 따른 중요 문장 추출의 개념을 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 중요 문장 추출은 문서(10)에 포함된 각 문장(11, 12, 13, 14, 15 또는 16)의 중요도를 산정하고, 산정된 중요도를 기초로 문서(10)로부터 중요 문장을 추출하는 것이다.
예를 들어, 문서(10)에 문장 A(11), 문장 B(12), 문장 C(13), 문장 D(14), 문장 E(15) 및 문장 F(16)이 포함된 경우, 본 발명의 일 실시예에 따른 중요 문장 추출은, 문서(10)에 포함된 문장 A(11), 문장 B(12), 문장 C(13), 문장 D(14), 문장 E(15) 및 문장 F(16)에 대한 중요도를 산정하고, 산정된 중요도가 최대인 문장에서 상기 중요도가 낮아지는 순서대로 문장 C(13) 및 문장 E(15)를 추출하는 것이다. 이 경우, 문장 C(13) 및 문장 E(15)는 문서(10)로부터 추출된 중요 문장에 해당된다.
특히, 본 발명의 일 실시예에 따른 중요 문장 추출에 따르면, 문서(10)로부터 중요 문장을 추출함에 있어, 문서(10)의 독자 각각의 선호도를 고려할 수 있다. 즉, 본 발명의 일 실시예에 따른 중요 문장 추출에 따르면, 문서(10)의 독자 각각의 선호도를 기초로 문서(10)에 포함된 각 문장(11, 12, 13, 14, 15 또는 16)의 중요도를 산정하고, 산정된 중요도를 기초로 문서(10)로부터 중요 문장을 추출할 수 있다.
따라서, 본 발명의 일 실시예에 따른 중요 문장 추출에 따르면, 독자의 선호도에 따라 문서(10)로부터 추출된 중요 문장이 상이할 수 있다.
이하, 도 2 내지 도 4를 참조하여, 본 발명의 일 실시예에 따른 중요 문장 추출 및 추출된 중요 문장을 이용하는 몇몇 서비스 시스템에 대하여 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 문서 요약 시스템을 설명하기 위한 도면이다. 도 2에 도시된 문서요약 시스템의 구성 요소들은 기능적으로 구분되는 기능 요소들로, 실제 물리적 환경에서는 하나 이상의 구성 요소가 서로 통합되어 구현될 수 있다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 문서 요약 시스템은 문서 요약 장치(100), 컨텐츠 저장소(200), 응용 서비스 서버(300) 및 사용자 단말(400)를 포함하여 구성될 수 있다.
각 구성 요소에 대하여 설명하면, 문서 요약 장치(100)는 문서(10)를 요약하여 요약문을 생성하는 장치이다. 구체적으로, 문서 요약 장치(100)는 독자 각각의 선호도를 기초로, 문서(10)에 포함된 각 문장의 중요도를 산정할 수 있다. 문서 요약 장치(100)는 산정된 각 문장의 중요도를 기초로, 문서(10)로부터 중요 문장을 추출할 수 있다. 그리고, 문서 요약 장치(100)는 추출된 중요 문장을 기초로 요약문을 생성할 수 있다.
이 때, 문서 요약의 대상이 되는 문서(10)에는 한글, 영자, 숫자, 간격 문자 특수 문자 등과 같은 텍스트가 포함될 수 있으나, 이에 한정되지 않고, 문서 요약의 대상이 되는 문서(10)에는 이미지, 차트 또는 OLE(Object Linking and Embedding) 객체가 포함될 수도 있다.
문서 요약 장치(100)는 응용 서비스 서버(300) 또는 사용자 단말(400)로부터 문서(10)의 요약 요청을 수신할 수 있다. 문서 요약 장치(100)는 컨텐츠 저장소(200)에 문서 요약의 대상이 되는 문서(10)를 요청할 수 있다. 문서 요약 장치(100)는 컨텐츠 저장소(200)로부터 문서 요약의 대상이 되는 문서(10)를 수신할 수 있다. 문서 요약 장치(100)는 독자 각각의 선호도를 기초로, 수신된 문서(10)로부터 중요 문장을 추출하여 요약문을 생성할 수 있다. 그리고, 문서 요약 장치(100)는 생성된 요약문을 사용자 단말(400), 컨텐츠 저장소(200) 또는 응용 서비스 서버(300)에 송신할 수 있다.
본 발명의 일 실시예에 따른 문서 요약 장치(100)는 서버(Server), 워크스테이션(Workstation) 또는 데스크탑(Desktop) 등과 같은 고정식 컴퓨팅 장치가 될 수 있으나, 이에 한정되지 않는 것은 아니다.
상술한 바와 같은, 본 발명의 일 실시예에 따른 문서 요약 장치(100)의 문서 요약 방법에 대해서는, 추후 도 5 내지 도 8을 참조하여 보다 구체적으로 설명하기로 한다. 또한, 본 발명의 일 실시예에 따른 문서 요약 장치(100)의 구성에 대해서는, 추후 도 15 및 도 16을 참조하여 보다 구체적으로 설명하기로 한다.
다음으로, 컨텐츠 저장소(200)는 다양한 유형의 컨텐츠를 보관하기 위한 저장소이다. 구체적으로, 컨텐츠 저장소(200)는 문서 요약의 대상이 되는 문서(10)를 저장할 수 있다. 또한, 컨텐츠 저장소(200)는 검색 서비스를 제공하기 위한 컨텐츠 또는 클러스터링의 대상이 되는 컨텐츠를 저장할 수 있다.
컨텐츠 저장소(200)는 문서 요약 장치(100) 또는 응용 서비스 서버(300)의 요청에 따라, 문서 요약의 대상이 되는 문서(10)를 추출할 수 있다. 그리고, 컨텐츠 저장소(200)는 추출된 문서(10)를 문서 요약 장치(100)에 송신할 수 있다.
컨텐츠 저장소(200)는 응용 서비스 서버(300)의 요청에 따라, 검색 키워드에 따른 컨텐츠를 추출할 수 있다. 그리고, 컨텐츠 저장소(200)는 추출된 컨텐츠를 포함하는 검색 결과를 응용 서비스 서버(300)에 송신할 수 있다.
또한, 컨텐츠 저장소(200)는 응용 서비스 서버(300)의 요청에 따라, 클러스터 키워드에 따른 클러스터링의 대상이 되는 컨텐츠를 추출할 수 있다. 그리고, 컨텐츠 저장소(200)는 클러스터링의 대상이 되는 컨텐츠를 응용 서비스 서버(300)에 송신할 수 있다.
다음으로, 응용 서비스 서버(200)는 컨텐츠 저장소(200)에 저장된 컨텐츠 및 문서 요약 장치(100)에 의해 생성된 요약문을 기초로, 다양한 서비스를 제공하기 위한 서버이다.
구체적으로, 응용 서비스 서버(200)는 사용자 단말(400)로부터 검색 키워드를 수신할 수 있다. 응용 서비스 서버(200)는 검색 키워드에 따른 검색 결과를 컨텐츠 저장소(200)에 요청할 수 있다. 응용 서비스 서버(200)는 컨텐츠 저장소(200)로부터 검색 결과를 수신할 수 있다.
응용 서비스 서버(200)는 컨텐츠 저장소(200)로부터 수신된 검색 결과 중 복수 개의 문장을 포함하는 문서(10)가 존재하는 경우, 문서 요약 장치(100)에 문서(10)의 요약을 요청할 수 있다. 응용 서비스 서버(300)는 문서 요약 장치(100)로부터 문서(10)의 요약문을 수신할 수 있다.
응용 서비스 서버(200)는 수신된 요약문을 기초로 검색 결과를 재구성할 수 있다. 예를 들어, 응용 서비스 서버(300)는 검색 키워드가 요약문에 포함되어 있지 않은 경우, 검색 결과로부터 요약문의 원본이 되는 문서를 제외하여 검색 결과를 재구성할 수 있다. 또한, 응용 서비스 서버(300)는 요약문 간의 유사도가 상대적으로 낮은 문서를 검색 결과로부터 제외하여 검색 결과를 재구성할 수 있으나, 이에 한정되는 것은 아니다. 그리고, 응용 서비스 서버(200)는 재구성된 검색 결과를 사용자 단말(400)에 송신할 수 있다.
또한, 응용 서비스 서버(200)는 사용자 단말(400)로부터 클러스터 키워드를 수신할 수 있다. 응용 서비스 서버(200)는 클러스터 키워드에 따른 클러스터링의 대상이 되는 컨텐츠를 컨텐츠 저장소(200)에 요청할 수 있다. 응용 서비스 서버(200)는 컨텐츠 저장소(200)로부터 클러스터링의 대상이 되는 컨텐츠를 수신할 수 있다.
응용 서비스 서버(200)는 클러스터링의 대상이 되는 컨텐츠 중 복수 개의 문장을 포함하는 문서(10)가 존재하는 경우, 문서 요약 장치(100)에 문서(10)의 요약을 요청할 수 있다. 응용 서비스 서버(300)는 문서 요약 장치(100)로부터 문서(10)의 요약문을 수신할 수 있다.
응용 서비스 서버(300)는 문서 요약 장치(100)로부터 수신된 요약문을 기초로, 클러스터링의 대상이 되는 컨텐츠를 클러스터링할 수 있다. 예를 들어, 응용 서비스 서버(200)는 클러스터링의 대상이 되는 컨텐츠의 요약문 간의 유사도를 산정하고, 산정된 유사도를 기초로 하나의 클러스터에 포함될 수 있는지 결정할 수 있으나, 이에 한정되는 것은 아니다. 그리고, 응용 서비스 서버(300)는 클러스터링 결과를 사용자 단말(400)에 송신할 수 있다.
다음으로, 사용자 단말(400)은 문서의 요약, 키워드 검색 또는 컨텐츠 클러스터링을 요청할 수 있는 장치이다. 구체적으로, 사용자 단말(400)는 문서 요약 장치(100)에 문서(10)의 요약을 요청할 수 있다. 그리고, 사용자 단말(400)는 문서 요약 장치(100)로부터 요약문을 수신하여 출력할 수 있다.
사용자 단말(400)은 응용 서비스 서버(300)에 검색 키워드를 전송하여, 키워드 검색을 요청할 수 있다. 그리고, 사용자 단말(400)은 응용 서비스 서버(300)로부터 검색 결과를 수신하여 출력할 수 있다.
그리고, 사용자 단말(400)은 응용 서비스 서버(300)에 클러스터 키워드를 전송하여, 컨텐츠 클러스터링을 요청할 수 있다. 그리고, 사용자 단말(400)은 응용 서비스 서버(300)로부터 클러스터링 결과를 수신하여 출력할 수 있다.
본 발명의 일 실시예에 따른 사용자 단말(400)은 네트워크를 통하여 데이터를 송수신할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 본 발명의 일 실시예에 따른 사용자 단말(400)은 스마트폰(Smart Phone), 랩탑(Laptop), 태블릿(Tablet), 패블릿(Phablet) 또는 PDA(Personal Digital Assistants) 등과 같은 모바일 컴퓨팅 장치 또는 데스트탑, 서버 또는 워크스테이션 등과 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있다. 그러나, 이에 한정되지 않고, 사용자 단말(400)은 스마트 안경(Smart glasses), 스마트 팔찌(Smart band), 스마트 시계(Smart watch) 또는 스마트 반지(Smart ring) 등과 같은 웨어러블 컴퓨팅 장치 중 어느 하나가 될 수도 있다.
마지막으로, 네트워크(Network)는 문서 요약 장치(100), 컨텐츠 저장소(200), 응용 서비스 서버(300) 및 사용자 단말(400)이 데이터를 송수신하기 위한 인프라스트럭쳐(infrastructure)이다. 본 발명의 일 실시예에 따른 네트워크는 이더넷(Ethernet), xDSL(x Digital Subscriber Line), HFC(Hybrid Fiber Coax) 또는 FTTH(Fiber To The Home) 등과 같은 유선통신망, CDMA(Code Division Multiple Access), WCDMA(Wideband CDMA), GSM(Global System for Mobile communication), HSPA(High Speed Packet Access) 또는 LTE(Long Term Evolution) 등과 같은 이동통신망 또는 와이파이(WiFi), 와이맥스(Wimax), 와이브로(Wibro), 블루투스(Bluetooth) 또는 지그비(Zigbee) 등과 같은 근거리 무선통신망 중 하나 이상이 조합된 형태가 될 수 있으나, 이에 한정되는 것은 아니다.
도 3은 본 발명의 일 실시예에 따른 검색 서비스 시스템을 설명하기 위한 도면이다. 도 3을 참조하면, 본 발명의 일 실시예에 따른 검색 서비스 시스템은 문서 요약 서버(100), 컨텐츠 저장소(200) 및 응용 서비스 서버(300)가 통합되어, 검색 서비스를 제공하기 위한 단일 장치로 구현될 수 있다.
검색 서비스 서버(310)는 검색 서비스를 제공하기 위한 장치이다. 이와 같은, 검색 서비스 서버(310)는 검색기(311), 문서 요약기(312) 및 검색 결과 출력기(313)를 포함하여 구성될 수 있다.
검색기(311)는 사용자 단말(400)로부터 검색 키워드를 포함하는 키워드 검색 요청을 수신할 수 있다. 검색기(311)는 수신된 검색 키워드에 따른 컨텐츠를 검색할 수 있다. 이 경우, 검색기(311)는 네트워크를 통해 외부의 저장소에 저장된 컨텐츠를 검색할 수도 있다. 그리고, 검색기(311)는 검색된 컨텐츠를 포함하는 검색 결과를 생성할 수 있다.
문서 요약기(312)는 검색기(311)에 의해 생성된 검색 결과 중 복수 개의 문장을 포함하는 문서(10)가 존재하는 경우, 사용자 단말(400)로부터 수신된 검색 키워드를 기초로, 문서(10)에 포함된 각 문장의 중요도를 산정할 수 있다. 문서 요약기(312)는 산정된 각 문장의 중요도를 기초로, 문서(10)로부터 중요 문장을 추출할 수 있다. 문서 요약기(312)는 추출된 중요 문장을 기초로 요약문을 생성할 수 있다.
검색 결과 출력기(313)는 문서 요약기(312)에 의해 생성된 요약문을 기초로, 검색기(311)에 의해 생성된 검색 결과를 재구성할 수 있다. 예를 들어, 검색 결과 출력기(313)는 검색 키워드가 요약문에 포함되어 있지 않은 경우, 검색 결과로부터 요약문의 원본이 되는 문서를 제외하여 검색 결과를 재구성할 수 있다. 또한, 검색 결과 출력기(313)는 요약문 간의 유사도가 상대적으로 낮은 문서를 검색 결과로부터 제외하여 검색 결과를 재구성할 수 있으나, 이에 한정되는 것은 아니다. 그리고, 검색 결과 출력기(313)는 재구성된 검색 결과를 사용자 단말(400)에 송신할 수 있다.
도 4는 본 발명의 일 실시예에 따른 컨텐츠 클러스터링 시스템을 설명하기 위한 도면이다. 도 4를 참조하면, 본 발명의 일 실시예에 따른 컨텐츠 클러스터링 시스템은 문서 요약 서버(100) 및 응용 서비스 서버(300)가 통합되어, 클러스터링을 수행하기 위한 단일 장치로 구현될 수 있다.
컨텐츠 클러스터링 서버(320)는 클러스터링을 수행하기 위한 장치이다. 이와 같은, 컨텐츠 클러스터링 서버(320)는 문서 요약기(321) 및 클러스터링 모듈(322)을 포함하여 구성될 수 있다.
문서 요약기(321)는 컨텐츠 저장소(200) 또는 사용자 단말(400)로부터 클러스터 키워드를 포함하는 컨텐츠 클러스터링 요청을 수신할 수 있다. 문서 요약기(321)는 클러스터링의 대상이 되는 컨텐츠 중 복수 개의 문장을 포함하는 문서(10)가 존재하는 경우, 수신된 클러스터 키워드를 기초로, 문서(10)에 포함된 각 문장의 중요도를 산정할 수 있다. 문서 요약기(321)는 산정된 각 문장의 중요도를 기초로, 문서(10)로부터 중요 문장을 추출할 수 있다. 그리고, 문서 요약기(321)는 추출된 중요 문장을 기초로 요약문을 생성할 수 있다.
클러스터링 모듈(322)은 문서 요약기(321)에 의해 생성된 요약문을 기초로, 클러스터링의 대상이 되는 컨텐츠를 클러스터링할 수 있다. 예를 들어, 클러스터링 모듈(322)은 클러스터링의 대상이 되는 컨텐츠의 요약문 간의 유사도를 산정하고, 산정된 유사도 기초로 하나의 클러스터에 포함될 수 있는지 결정할 수 있으나, 이에 한정되는 것은 아니다. 그리고, 클러스터링 모듈(322)은 클러스터링 결과를 컨텐츠 클러스터 저장소(210)에 송신할 수 있다.
종합하면, 본 발명의 일 실시예에 따른 문서 요약 시스템은 요약문을 생성하기 위한 중요 문장을 추출함에 있어 독자의 선호도를 고려함으로써, 독자의 관점, 관심사 또는 의도에 부합될 수 있는 맞춤형 요약문을 생성할 수 있다. 또한, 검색 서비스 시스템은 독자의 선호도에 따라 추출된 중요 문장을 이용하여 키워드 검색 결과를 재구성함으로써, 독자 각각에 맞춤화된 검색 서비스를 제공할 수 있다. 나아가, 컨텐츠 클러스터링 시스템은 독자의 선호도에 따라 추출된 중요 문장을 이용하여 컨텐츠를 클러스터링함으로써, 독자 각각에 맞춤화된 클러스터링을 수행할 수 있다.
즉, 상기 문서 요약 시스템은, 제1 키워드를 반영하여, 상기 텍스트에서 제1 중요 문장을 선정하고, 상기 제1 키워드에 대응되는 상기 텍스트의 요약 결과로서, 상기 제1 중요 문장의 데이터를 사용자 단말에 송신하며, 상기 제1 키워드와 다른 제2 키워드를 반영하여, 상기 텍스트에서 상기 제1 중요 문장과 다른 제2 중요 문장을 선정하고, 상기 제2 키워드에 대응되는 상기 텍스트의 요약 결과로서, 상기 제2 중요 문장의 데이터를 사용자 단말에 송신할 수 있다. 종래의 중요 문장 선정(sentence extraction) 기술은 중요 문장을 선정함에 있어서, 개인화 된 중요도가 반영되지 못하는 문제가 있었는데, 본 발명에 따르면, 개인화 된 중요도가 키워드의 형태로 반영되고, 그 결과 제1 키워드가 적용된 중요 문장 선정 결과와 제2 키워드가 적용된 중요 문장 선정 결과가 다르게 출력되는 점을 확인할 수 있다.
이하, 도 5 내지 도 8을 참조하여, 본 발명의 일 실시예에 따른 문서 요약 장치(100)의 문서 요약 방법에 대하여 설명하기로 한다. 도 5는 본 발명의 일 실시예에 따른 문서 요약 과정을 설명하기 위한 개념도이다.
도 5를 참조하면, 문서 요약 장치(100)는 컨텐츠 저장소(200)로부터 문서 요약의 대상이 되는 문서(10)를 수신한다. 문서 요약 장치(100)가 수신한 문서(10)는 하나 이상의 문장(11, 12, 13, 14, 15 및 16)이 포함될 수 있다.
문서 요약 장치(100)는 컨텐츠 저장소(200) 또는 사용자 단말(400)로부터 하나 이상의 키워드를 수신한다. 이 때, 키워드는 문서(10)로부터 중요 문장을 추출함에 있어 독자 각각의 선호도를 적용하기 위한 단어이다. 따라서, 키워드는 문서(10)의 독자 각각의 관점, 관심사 또는 의도 등을 나타낼 수 있는 단어가 될 수 있다.
문서 요약 장치(100)는 수신된 문서(10)를 파싱하여, 문서(10)에 포함된 문장 A(11a), 문장 B(12a), 문장 C(13a), 문장 D(14a), 문장 E(15a) 및 문장 F(16a)를 식별한다.
문서 요약 장치(100)는 식별된 문장 A(11b), 문장 B(12b), 문장 C(13b), 문장 D(14b), 문장 E(15b) 및 문장 F(16b)를 버텍스로 하고, 각 문장 간의 유사도를 에지의 가중치로 하는 그래프를 구성한다. 문서 요약 장치(100)가 구성하는 그래프는 무방향 그래프가 될 수 있으나, 이에 한정되는 것은 아니다.
문서 요약 장치(100)는 구성된 그래프에 변형된 페이지랭크 알고리즘을 적용하여 각 문장의 중요도를 산정한다.
이 때, 변형된 페이지랭크 알고리즘(PageRank algorithm)은 제1 버텍스에 인접한 버텍스들의 상대적인 중요도를 기준으로 제1 버텍스의 중요도를 산정하되, 제1 버텍스에 인접한 각 버텍스의 상대적인 중요도에 제1 버텍스에 인접한 각 버텍스의 문장에 상기 키워드가 포함되어 있는지 여부와 관련된 가중치가 반영된 알고리즘이다. 즉, 변형된 페이지랭크 알고리즘은 그래프에 포함된 각 버텍스의 상대적인 중요도를 산정하되, 각 버텍스와 키워드 사이의 관련도를 고려하여 상대적인 중요도를 산정할 수 있다.
문서 요약 장치(100)는 산정된 중요도가 최대인 문장에서 상기 중요도가 낮아지는 순서대로, 문서(10)에 포함된 문장 A(11c), 문장 B(12c), 문장 C(13c), 문장 D(14c), 문장 E(15c) 및 문장 F(16c) 중 중요 문장에 해당되는 문장 C(13d) 및 문장 E(15d)를 추출한다. 문서 요약 장치(100)가 추출할 중요 문장의 수는 문서 요약 장치(100)에 프리셋(preset)되어 있거나, 또는 문서(10)의 요약을 요청한 사용자 단말(400)에 의해 지정될 수도 있다.
그리고, 문서 요약 장치(100)는 중요 문장의 문서(10) 내의 위치를 기준으로, 중요 문장에 해당되는 문장 C(13d) 및 문장 E(15d)를 재배열하여 요약문을 생성한다.
도 6은 본 발명의 일 실시예에 따른 문서 요약 방법을 설명하기 위한 순서도이다.
도 6을 참조하면, 문서 요약 장치(100)는 컨텐츠 저장소(200)로부터 문서 요약의 대상이 되는 문서(10)를 수신하고, 컨텐츠 저장소(200) 또는 사용자 단말(400)로부터 하나 이상의 키워드를 수신한다(S110).
이 때, 문서 요약의 대상이 되는 문서(10)에는 한글, 영자, 숫자, 간격 문자 특수 문자 등과 같은 텍스트가 포함될 수 있으나, 이에 한정되지 않고, 문서 요약의 대상이 되는 문서(10)에는 이미지, 차트 또는 OLE 객체가 포함될 수도 있다. 또한, 키워드는 문서(10)로부터 중요 문장을 추출함에 있어 독자 각각의 선호도를 적용하기 위한 단어이다. 따라서, 키워드는 문서(10)의 독자 각각의 관점, 관심사 또는 의도 등을 나타낼 수 있는 단어가 될 수 있다.
문서 요약 장치(100)는 수신된 문서(10)를 파싱하여, 문서(10)에 포함된 각 문장을 식별한다(S120). 구체적으로, 문서 요약 장치(100)는 문서(10)에 포함된 종결어미를 식별하고, 식별된 종결어미를 기준으로 문서(10)에 포함된 각 문장을 식별할 수 있다. 그러나, 이에 한정되지 않고, 문서 요약 장치(100)는 문서(10)에 포함된 마침표, 물음표, 쉼표 등과 같은 부호를 식별하고, 식별된 부호를 기준으로 문서(10)에 포함된 각 문장을 식별할 수도 있다.
문서 요약 장치(100)는 식별된 각 문장을 버텍스로 하고, 각 문장 간의 유사도를 에지의 가중치(Weight)로 하는 그래프를 구성한다(S130). 문서 요약 장치(100)가 구성하는 그래프는 무방향 그래프가 될 수 있으나, 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 문서 요약 장치(100)는 컴플리트 그래프에서 몇몇 에지를 제거하여 그래프를 구성할 수 있다.
구체적으로, 문서 요약 장치(100)는 식별된 각 문장을 버텍스로 하며, 모든 버텍스가 서로 에지로 연결된 컴플리트 그래프를 구성한다. 그리고, 문서 요약 장치(100)는 각 문장 간의 유사도를 산정한다.
본 발명의 일 실시예에 따른 문서 요약 장치(100)는 자카드 계수(Jaccard Coefficient) 또는 해밍 거리(Hamming Distance) 중 어느 하나를 이용하여 문장 간의 유사도를 산정할 수 있다. 그러나, 이에 한정되지 않고, 문서 요약 장치(100)는 타니모토 유사도(Tanimoto Similarity) 또는 코사인 유사도(Cosine Similarity) 중 어느 하나를 이용하여 문장간의 유사도를 산정할 수도 있다.
문서 요약 장치(100)는 산정된 유사도를 버텍스 사이를 연결하는 에지의 가중치로 부여한다. 그리고, 문서 요약 장치(100)는 그래프에서 임계 값보다 낮은 가중치가 부여된 에지를 제거한다.
이 때, 임계 값은 연관 관계를 가지는 두 문장 사이에 존재하는 최소 유사도를 나타내는 값이다. 예를 들어, 임계 값은 1로 설정될 수 있으나, 이에 한정되는 것은 아니다. 또한, 임계 값은 문서 요약 장치(100)에 프리셋(preset)되어 있거나, 또는 문서(10)의 요약을 요청한 사용자 단말(400)에 의해 지정될 수도 있다.
본 발명의 다른 실시예에 따른 문서 요약 장치(100)는 버텍스 만으로 구성된 그래프에 몇몇 에지를 부여하여 그래프를 구성할 수 있다.
구체적으로, 문서 요약 장치(100)는 식별된 각 문장을 버텍스로 하는 그래프를 구성한다. 문서 요약 장치(100)는 각 문장을 파싱하여 중요 토큰(Token)을 식별한다. 이 때, 토큰은 각 문장에 포함된 단어의 실질적 의미를 표현하기 위한 부분이다. 예를 들어, 토큰은 각 문장에 포함된 어근 또는 어간이 될 수 있으나, 이에 한정되는 것은 아니다.
문서 요약 장치(100)는 그래프에 포함된 두 버텍스의 문장에 동일한 토큰이 포함되어 있는 경우, 두 버텍스 사이에 에지를 부여한다. 그리고, 문서 요약 장치(100)는 그래프에 포함된 두 버텍스의 문장에 포함된 토큰이 모두 동일하지 않은 경우, 두 버텍스 사이에 에지를 부여하지 않는다.본 발명의 일 실시예에 따른 문서 요약 장치(100)의 그래프 생성 과정에 대해서는, 추후 도 7을 참조하여 보다 구체적으로 설명하기로 한다.
문서 요약 장치(100)는 구성된 그래프에 변형된 페이지랭크 알고리즘을 적용하여 각 문장의 중요도를 산정한다(S140). 이 때, 변형된 페이지랭크 알고리즘은 제1 버텍스에 인접한 버텍스들의 상대적인 중요도를 기준으로 제1 버텍스의 중요도를 산정하되, 제1 버텍스에 인접한 각 버텍스의 상대적인 중요도에 제1 버텍스에 인접한 각 버텍스의 문장에 키워드가 포함되어 있는지 여부와 관련된 가중치가 반영된 알고리즘이다. 즉, 변형된 페이지랭크 알고리즘은 그래프에 포함된 각 버텍스의 상대적인 중요도를 산정하되, 각 버텍스와 키워드 사이의 관련도를 고려하여 상대적인 중요도를 산정할 수 있다.
구체적으로, 페이지랭크 알고리즘은 제1 문서를 인용하고 있는 다른 문서들의 중요도를 기준으로 제1 문서의 중요도를 산정하는 알고리즘이다. 이와 같은, 페이리 랭크 알고리즘은 아래의 수학식 1과 같이 표현될 수 있다.
Figure 112019104645846-pat00001
여기서,
Figure 112019104645846-pat00002
은 문서 A를 인용하고 있는 다른 문서이다.
Figure 112019104645846-pat00003
Figure 112019104645846-pat00004
문서에 페이지랭크 알고리즘을 적용하여 산출된 중요도이다. 즉,
Figure 112019104645846-pat00005
Figure 112019104645846-pat00006
의 페이지랭크 값이다.
Figure 112019104645846-pat00007
Figure 112019104645846-pat00008
을 인용하고 있는 또 다른 문서의 수이다. 그리고,
Figure 112019104645846-pat00009
는 독자 또는 웹서퍼가 문서 A에 만족하지 못하고 다른 문서를 찾아볼 확률이다.
Figure 112019104645846-pat00010
는 damping factor의 역할을 수행하며, 0.85로 설정 될 수 있다.
그리고, 문서 요약 장치(100)는 문장 A의 중요도
Figure 112019104645846-pat00011
를 산정하기 위하여, 상술한 페이지랭크 알고리즘을 변형한 아래의 수학식 2를 적용할 수 있다.
Figure 112019104645846-pat00012
여기서,
Figure 112019104645846-pat00013
은 문장 A에 해당되는 버텍스에 연결된 다른 버텍스이다.
Figure 112019104645846-pat00014
Figure 112019104645846-pat00015
버텍스에 변형된 페이지랭크 알고리즘을 적용하여 산출된 중요도이다. 즉,
Figure 112019104645846-pat00016
Figure 112019104645846-pat00017
버텍스의 페이지랭크 값이다. 본 발명의 일 실시예에 따른 문서 요약 장치(100)는
Figure 112019104645846-pat00018
의 초기 값으로 임의의 수(Arbitrary number)를 대입하고,
Figure 112019104645846-pat00019
이 일정한 값으로 수렴할 때까지 변형된 페이지랭크 알고리즘을 반복적(iterative)으로 수행할 수 있다. 그러나, 본 발명의 다른 실시예에 따른 문서 요약 장치(100)는
Figure 112019104645846-pat00020
의 초기 값에
Figure 112019104645846-pat00021
을 대입하고,
Figure 112019104645846-pat00022
이 일정한 값으로 수렴할 때까지 변형된 페이지랭크 알고리즘을 반복적으로 수행할 수 있다. 이 경우, 문서 요약 장치(100)는 변형된 페이지랭크 알고리즘을 보다 적게 수행하고도
Figure 112019104645846-pat00023
을 산출할 수 있을 것이다.
Figure 112019104645846-pat00024
Figure 112019104645846-pat00025
버텍스에 부속된 에지의 수이다. 그리고,
Figure 112019104645846-pat00026
는 독자가 문장 A에 만족하지 못하고 다른 문장을 찾아볼 확률이다.
Figure 112019104645846-pat00027
는 damping factor의 역할을 수행하며, 0.85로 설정 될 수 있으나, 이에 한정되는 것은 아니다.
그리고,
Figure 112019104645846-pat00028
Figure 112019104645846-pat00029
버텍스에 해당되는 문장의 키워드와의 관련도에 따른 가중치이다. 본 발명의 일 실시예에 따른 문서 요약 장치(100)는
Figure 112019104645846-pat00030
버텍스에 해당되는 문장 내에서 키워드의 출현 빈도에 따라,
Figure 112019104645846-pat00031
을 결정할 수 있다. 예를 들어, 문서 요약 장치(100)는
Figure 112019104645846-pat00032
버텍스에 해당되는 문장에 키워드의 출현 빈도가 커질수록
Figure 112019104645846-pat00033
을 큰 값으로 설정할 수 있고,
Figure 112019104645846-pat00034
버텍스에 해당되는 문장에 키워드의 출현 빈도가 작아질수록
Figure 112019104645846-pat00035
을 작은 값으로 설정할 수 있다. 그리고, 본 발명의 다른 실시예에 따른 문서 요약 장치(100)는
Figure 112019104645846-pat00036
버텍스에 해당되는 문장 내에서 키워드의 출현 위치에 따라,
Figure 112019104645846-pat00037
을 결정할 수 있다. 예를 들어, 문서 요약 장치(100)는
Figure 112019104645846-pat00038
버텍스에 해당되는 문장에 총 20개의 토큰이 포함되어 있으며 키워드가 문장의 앞에서부터 4번째의 위치에 출현한 경우,
Figure 112019104645846-pat00039
을 상위 20%에 해당되는 값으로 설정할 수 있다. 또한, 문서 요약 장치(100)는
Figure 112019104645846-pat00040
버텍스에 해당되는 문장의 키워드와 관련도에 따라
Figure 112019104645846-pat00041
을 선형적으로 결정할 수 있으나, 이에 한정되지 않고,
Figure 112019104645846-pat00042
버텍스에 해당되는 문장의 키워드와 관련도에 따라
Figure 112019104645846-pat00043
을 비선형적으로 결정할 수도 있다.
본 발명의 일 실시예에 따른 문서 요약 장치(100)의 변형된 페이지랭크 알고리즘 적용 과정에 대해서는, 추후 도 8을 참조하여 보다 구체적으로 설명하기로 한다.
문서 요약 장치(100)는 산정된 중요도를 기준으로, 문서(10)로부터 중요 문장을 추출한다(S150). 구체적으로, 문서 요약 장치(100)는 문서(10)로부터 중요도가 가장 높은 하나의 중요 문장을 추출할 수 있다. 또한, 문서 요약 장치(100)는 산정된 중요도가 최대인 문장에서 상기 중요도가 낮아지는 순서대로, 문서(10)로부터 k개의 중요 문장을 추출할 수 있다. 이 때, 문서 요약 장치(100)가 추출할 중요 문장의 수 k는 문서 요약 장치(100)에 프리셋 되어 있거나, 또는 문서(10)의 요약을 요청한 사용자 단말(400)에 의해 지정될 수도 있다.
그리고, 문서 요약 장치(100)는 추출된 중요 문장을 이용하여 요약문을 생성한다(S160). 구체적으로, 문서 요약 장치(100)는 문서(10)로부터 하나의 중요 문장이 추출된 경우, 추출된 하나의 중요 문장의 버텍스에 에지를 통해 연결된 다른 버텍스의 문장을 선택할 수 있다. 그리고, 문서 요약 장치(100)는 추출된 하나의 중요 문장 및 선택된 다른 버텍스의 문장을 이용하여 요약문을 생성할 수 있다.
문서 요약 장치(100)는 문장의 중요도, 유사도 또는 문장의 길이 중 어느 하나 이상을 기초로, 하나의 중요 문장의 버텍스에 에지를 통해 연결된 다른 버텍스의 문장 중 요약문 생성에 이용될 문장을 선택할 수 있다. 예를 들어, 문서 요약 장치(100)는 하나의 중요 문장의 버텍스에 에지를 통해 연결된 다른 버텍스의 문장 중 변형된 페이지랭크 알고리즘이 적용되어 산정된 중요도가 최대인 문장에서 상기 중요도가 낮아지는 순서대로 k개의 문장을 선택할 수 있다. 문서 요약 장치(100)는 하나의 중요 문장의 버텍스에 에지를 통해 연결된 다른 버텍스의 문장 중 중요 문장과의 유사도가 높은 순서대로 k개의 문장을 선택할 수 있다. 또한, 문서 요약 장치(100)는 하나의 중요 문장의 버텍스에 에지를 통해 연결된 다른 버텍스의 문장 중 문장의 길이가 긴 순서대로 k개의 문장을 선택할 수 있다.
또한, 문서 요약 장치(100)는 문서(10)로부터 k개의 중요 문장이 추출된 경우, 중요 문장의 문서(10) 내의 위치를 기준으로, 추출된 k개의 중요 문장을 재배열하여 요약문을 생성할 수 있다.
도 7은 본 발명의 일 실시예에 따른 문서 요약 방법의 그래프 생성 과정을 설명하기 위한 도면이다. 도 7에 도시된 그래프 생성 과정은, 도 1에 도시된 문서(10)를 기초로 그래프를 생성하는 것으로 가정한다.
도 7을 참조하면, 문서 요약 장치(100)는 문서(10)에 포함된 문장 A(11b), 문장 B(12b), 문장 C(13b), 문장 D(14b), 문장 E(15b) 및 문장 F(16b)를 버텍스로 하며, 모든 버텍스가 서로 에지로 연결된 컴플리트 그래프를 구성한다.
문서 요약 장치(100)는 문장 A(11b), 문장 B(12b), 문장 C(13b), 문장 D(14b), 문장 E(15b) 및 문장 F(16b) 간의 유사도를 산정한다. 문서 요약 장치(100)가 산정한 유사도는 아래의 표 1과 같다.
Figure 112019104645846-pat00044
Figure 112019104645846-pat00045
문서 요약 장치(100)는 산정된 유사도를 버텍스 사이를 연결하는 에지의 가중치로 각각 부여한다.
문서 요약 장치(100)는 그래프에서 임계 값 1보다 낮은 가중치가 부여된 에지 (A, F), (A, D), (B, F), (D, F) 및 (E, F)를 제거한다.
도 8은 본 발명의 일 실시예에 따른 문서 요약 방법의 변형된 랭크 알고리즘 적용 과정을 설명하기 위한 도면이다. 도 8에 도시된 변형된 랭크 알고리즘 적용 과정은, 도 7에 도시된 그래프에 변형된 랭크 알고리즘을 적용하여 버텍스 C의 중요도를 산정하는 것으로 가정한다.
도 8을 참조하면, 문서 요약 장치(100)는 아래의 수학식 3에 따라, 버텍스 C의 중요도를 산정할 수 있다.
Figure 112019104645846-pat00046
버텍스 A, B, D 및 E의 키워드와의 관련도에 따른 가중치
Figure 112019104645846-pat00047
, 변형된 페이지랭크를 적용하여 산출된 중요도
Figure 112019104645846-pat00048
및 버텍스에 부속된 에지의 수
Figure 112019104645846-pat00049
가 아래의 표 2와 같으며, 문서 요약 장치(100)는 아래의 수학식 4와 같이 버텍스 C의 중요도를 0.4로 산정할 수 있다. 이 때,
Figure 112019104645846-pat00050
를 0.8로 가정한다.
Figure 112019104645846-pat00051
Figure 112019104645846-pat00052
이하, 도 9 및 도 10을 참조하여, 본 발명의 다른 실시예에 따른 문서 요약 장치(100)의 문서 요약 방법에 대하여 설명하기로 한다. 도 9는 본 발명의 다른 실시예에 따른 문서 요약 과정을 설명하기 위한 개념도이다.
도 9를 참조하면, 문서 요약 장치(100)는 컨텐츠 저장소(200)로부터 문서 요약의 대상이 되는 문서(10)를 수신한다. 문서 요약 장치(100)가 수신한 문서(10)는 하나 이상의 문장(11, 12, 13, 14, 15 및 16)이 포함될 수 있다.
문서 요약 장치(10)는 사용자 단말(400)로부터 사용자에 대한 프로파일을 수신한다. 이 때, 사용자에 대한 프로파일(Profile)에는 사용자 단말(400)의 사용자의 나이, 성별, 위치 정보, 로그인 기록 또는 검색 히스토리 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.
문서 요약 장치(100)는 사용자에 대한 프로파일을 기준으로, 제1 키워드 및 제2 키워드를 선정한다. 이 때, 제1 키워드 및 제2 키워드는 문서(10)로부터 중요 문장을 추출함에 있어, 사용자 단말(400)의 사용자의 선호도를 적용하기 위한 단어이다. 따라서, 제1 키워드 및 제2 키워드는 사용자 단말(400)의 사용자의 관점, 관심사 또는 의도 등을 나타낼 수 있는 단어가 될 수 있다. 또한, 제1 키워드와 제2 키워드는 서로 상이한 단어가 될 수 있으나, 이에 한정되는 것은 아니다.
문서 요약 장치(10)는 선정된 제1 키워드를 반영하여, 문서(10)로부터 중요 문장에 해당되는 문장 B(12d), 문장 C(13d) 및 문장 E(15d)를 추출한다.
문서 요약 장치(10)는 선정된 제2 키워드를 반영하여, 문서(10)로부터 중요 문장에 해당되는 문장 A(11d), 문장 C(13d), 문장 E(15d) 및 문장 F(16d)를 추출한다.
문서 요약 장치(100)는 제1 키워드에 따라 추출된 문장 B(12d), 문장 C(13d) 및 문장 E(15d)와 제2 키워드에 따라 추출된 문장 A(11d), 문장 C(13d), 문장 E(15d) 및 문장 F(16d) 중 동일한 중요 문장에 해당되는 문장 C(13d) 및 문장 E(15d)를 식별한다.
그리고, 문서 요약 장치(100)는 중요 문장의 문서(10) 내의 위치를 기준으로, 식별된 동일 중요 문장에 해당되는 문장 C(13d) 및 문장 E(15d)를 재배열하여 요약문을 생성한다.
도 10은 본 발명의 다른 실시예에 따른 문서 요약 방법을 설명하기 위한 순서도이다.
도 10을 참조하면, 문서 요약 장치(100)는 사용자 단말(400)의 사용자에 대한 프로파일을 기준으로, 제1 키워드 및 제2 키워드를 선정한다(S210). 이 때, 제1 키워드 및 제2 키워드는 사용자 단말(400)의 사용자의 선호도를 적용하기 위한 단어이다. 따라서, 제1 키워드 및 제2 키워드는 사용자 단말(400)의 사용자의 관점, 관심사 또는 의도 등을 나타낼 수 있는 단어가 될 수 있다. 또한, 제1 키워드와 제2 키워드는 서로 상이한 단어가 될 수 있으나, 이에 한정되는 것은 아니다.
문서 요약 장치(100)는 선정된 제1 키워드를 반영하여, 문서(10)로부터 k개의 중요 문장을 추출한다(S220). 그리고, 문서 요약 장치(100)는 선정된 제2 키워드를 반영하여, 문서(10)로부터 m개의 중요 문장을 추출한다(S230). 문서 요약 장치(100)가 추출할 중요 문장의 수 k 및 l은 문서 요약 장치(100)에 프리셋되어 있거나, 또는 문서(10)의 요약을 요청한 사용자 단말(400)에 의해 지정될 수 있다.
그리고, 문서 요약 장치(100)는 제1 키워드에 따라 추출된 k개의 중요 문장 및 제2 키워드에 따라 추출된 m개의 중요 문장 중 동일한 중요 문장을 식별한다. 그리고, 문서 요약 장치(100)는 중요 문장의 문서(10) 내의 위치를 기준으로, 식별된 동일 중요 문장을 재배열하여 요약문을 생성한다(S240).
종합하면, 문서 요약 장치(100)는 독자의 선호도를 적용할 수 있는 복수 개의 키워드에 따라 각각의 중요 문장들을 추출하고, 추출된 중요 문장들 중 중복되는 문장만을 이용하여 요약문을 생성할 수 있다. 따라서, 문서 요약 장치(100)는 독자가 여러 분야에 관심이 있는 경우, 독자가 관심을 가지는 모든 분야와 관련된 중요 문장만으로 구성된 요약문을 생성할 수 있다.
이하, 본 발명의 또 다른 실시예에 따른 문서 요약 방법을 설명한다.
문서 요약 장치(100)는 사용자 단말(400)로부터 제1 키워드 및 제2 키워드를 수신한다. 이 때, 제1 키워드 및 제2 키워드는 사용자 단말(400)의 사용자의 선호도를 적용하기 위한 단어이다. 제1 키워드와 제2 키워드는 서로 상이한 단어가 될 수 있다. 또한, 제1 키워드와 제2 키워드에 대한 사용자 단말(400)의 사용자의 선호도는 서로 상이할 수 있으나, 이에 한정되는 것은 아니다.
문서 요약 장치(100)는 수신된 제1 키워드를 반영하여, 문서(10)로부터 k개의 중요 문장을 추출한다. 그리고, 문서 요약 장치(100)는 중요 문장의 문서(10) 내의 위치를 기준으로, 제1 키워드에 따라 추출된 k개의 중요 문장을 재배열하여 제1 요약문을 생성한다.
문서 요약 장치(100)는 수신된 제2 키워드를 반영하여, 제1 요약문으로부터 m개의 중요 문장을 추출한다. 그리고, 문서 요약 장치(100)는 중요 문장의 제1 요약문 내의 위치를 기준으로, 제2 키워드에 따라 추출된 m개의 중요 문장을 재배열하여 제2 요약문을 생성한다.
종합하면, 문서 요약 장치(100)는 복수 개의 키워드에 대한 독자의 선호도가 상이한 경우, 제1 키워드에 따라 문서(10)를 축약하여 제1 요약문을 생성하고, 제2 키워드에 따라 제1 요약문을 축약하여 제2 요약문을 생성할 수 있다. 따라서, 문서 요약 장치(100)는 독자의 여러 분야에 대한 관심의 정도가 다르더라도, 독자의 관심의 정도를 반영하여 요약문을 생성할 수 있다.
이하, 도 11 및 12를 참조하여, 본 발명의 일 실시예에 따른 검색 서비스 서버(310)의 검색 서비스 제공 방법에 대하여 설명하기로 한다. 도 11은 본 발명의 일 실시예에 따른 검색 서비스 제공 과정을 설명하기 위한 개념도이다.
도 11을 참조하면, 사용자 단말(400)의 사용자로부터 검색 키워드(20)가 입력되면, 사용자 단말(400)은 입력된 검색 키워드(20)를 포함하는 키워드 검색 요청을 검색 서비스 서버(310)에 전송한다.
검색 서비스 서버(310)는 사용자 단말(400)로부터 검색 키워드(20)를 포함하는 키워드 검색 요청을 수신한다. 검색 서비스 서버(310)는 수신된 검색 키워드(20)에 따라 문서 A(30a), 문서 B(30b) 및 문서 C(30c)를 검색한다.
검색 서비스 서버(310)는 검색된 문서 A(30a), 문서 B(30b) 및 문서 C(30c)로부터 각각 중요 문장에 해당되는 중요 문장 A(40a), 중요 문장 B(40b) 및 중요 문장 C(40c)를 추출한다.
검색 서비스 서버(310)는 추출된 중요 문장 A(40a), 중요 문장 B(40b) 미 중요 문장 C(40c) 중에 검색 키워드(20)가 포함되어 있지 않은 중요 문장 B(40b)를 검색 결과로부터 제외하여 검색 결과를 재구성한다.
도 12는 본 발명의 일 실시예에 따른 검색 서비스 제공 방법을 설명하기 위한 순서도이다.
도 12를 참조하면, 검색 서비스 서버(310)는 사용자 단말(400)로부터 검색 키워드(20)를 포함하는 키워드 검색 요청을 수신한다(S310). 그리고, 검색 서비스 서버(310)는 수신된 검색 키워드(20)에 따른 문서(10)를 검색한다(S320)
검색 서비스 서버(310)는 검색된 문서(10)로부터 중요 문장을 추출한다(S330). 구체적으로, 검색 서비스 서버(310)는 검색된 문서(10)로부터 검색 키워드를 반영하여 중요 문장을 추출할 수 있다. 그러나, 이에 한정되지 않고, 검색 서비스 서버(310)는 검색된 문서(10)로부터 검색 키워드와 무관하게 중요 문장을 추출할 수 있다.
또한, 검색 서비스 서버(310)는 검색된 m개의 문서(10)로부터 각각 하나의 중요 문장을 추출할 수 있다. 검색 서비스 서버(310)는 검색된 하나의 문서(10)로부터 k개의 중요 문장을 추출할 수 있다. 또한, 검색 서비스 서버(310)는 검색된 m개의 문서(10)로부터 각각 k개의 중요 문장을 추출할 수 있다. 검색 서비스 서버(310)는 검색된 문서(10)로부터 k개의 중요 문장을 추출할 경우, 중요도가 최대인 문장에서 상기 중요도가 낮아지는 순서대로 k개의 중요 문장을 추출할 수 있다.
검색 서비스 서버(310)는 추출된 중요 문장에 검색 키워드(20)가 포함되어 있는지 여부를 반영하여 검색 결과를 구성할 수 있다(S340). 구체적으로, 본 발명의 일 실시예에 따른 검색 서비스 서버(310)는 중요 문장에 검색 키워드(20)가 포함되어 있는 문서(10)를 중요 문장에 검색 키워드(20)가 포함되어 있지 않은 문서(10) 보다 우선하여 출력되도록 검색 결과를 구성할 수 있다. 예를 들어, 검색 서비스 서버(310)는 중요 문장에 검색 키워드(20)가 포함된 문서(10)를 중요 문장에 검색 키워드(20)가 포함되어 있지 않은 문서(10)의 상단에 배치되도록 검색 결과를 구성할 수 있다. 이 경우, 사용자 단말(400)의 사용자는 중요 문장에 검색 키워드(20)가 포함된 문서(10)를 우선적으로 확인할 수 있고, 중요 문장에 검색 키워드(20)가 포함되어 있지 않은 문서(10)를 다음으로 확인할 수 있게 될 것이다.
본 발명의 다른 실시예에 따른 검색 서비스 서버(310)는 문서(10)로부터 추출된 k개의 중요 문장 중 어디에도 검색 키워드(20)가 포함되어 있지 않은 경우, k개의 중요 문장이 추출된 문서(10)를 검색 결과로부터 제외하여 검색 결과를 구성할 수 있다.
본 발명의 또 다른 실시예에 따른 검색 서비스 서버(310)는 사용자 단말(400)로부터 필터링 키워드를 더 수신하고, 문서(10)로부터 추출된 k개의 중요 문장에 필터링 키워드가 포함되어 있는 경우, k개의 중요 문장이 추출된 문서(10)를 검색 결과로부터 제외하여 검색 결과를 구성할 수 있다.
본 발명의 또 다른 실시예에 따른 검색 서비스 서버(310)는 m개의 문서(10)로부터 각각 추출된 중요 문장 간의 유사도를 산정하고, 산정된 유사도가 임계 값보다 낮은 중요 문장이 포함되어 있는 경우, 유사도가 임계 값보다 낮은 문장이 추출된 문서(10)를 검색 결과로부터 제외하여 검색 결과를 구성할 수 있다.
본 발명의 또 다른 실시예에 따른 검색 서비스 서버(310)는 자카드 계수 또는 해밍 거리 중 어느 하나를 이용하여 중요 문장 간의 유사도를 산정할 수 있다. 그러나, 이에 한정되지 않고, 검색 서비스 서버(310)는 타니모토 유사도 또는 코사인 유사도 중 어느 하나를 이용하여 중요 문장간의 유사도를 산정할 수도 있다. 그리고, 임계 값은 연관 관계를 가지는 두 문장 사이에 존재하는 최소 유사도를 나타내는 값이다. 임계 값은 문서 요약 장치(100)에 프리셋되어 있거나, 또는 문서(10)의 요약을 요청한 사용자 단말(400)에 의해 지정될 수도 있다.
그리고, 검색 서비스 서버(310)는 구성된 검색 결과를 사용자 단말(400)에 전송한다(S350).
종합하면, 검색 서비스 서버(310)는 검색 키워드에 따른 검색 결과 중 독자의 관심사에 부합되지 않는 문서를 검색 결과로부터 제외시킬 수 있다. 또한, 검색 서비스 서버(310)는 독자의 관심사에 부합되는 문서라 하더라도, 필터링 키워드가 포함되어 있는 문서는 검색 결과로부터 제외시킬 수 있다. 나아가, 검색 서비스 서버(310)는 독자의 관심사에 부합되는 문서 중 유사도가 낮은 문서를 검색 결과로부터 제외시킬 수 있다. 따라서, 검색 서비스 서버(310)는 독자의 관심사에 부합된 맞춤형 검색 서비스를 제공할 수 있다.
이하, 도 13 및 도 14를 참조하여, 본 발명의 일 실시예에 따른 컨텐츠 클러스터링 서버(320)의 컨텐츠 클러스터링 방법에 대하여 설명하기로 한다. 도 13은 본 발명의 일 실시예에 따른 컨텐츠 클러스터링 과정을 설명하기 위한 개념도이다.
도 13을 참조하면, 컨텐츠 클러스터링 서버(320)는 컨텐츠 저장소(200) 또는 사용자 단말(400)로부터 클러스터 키워드를 포함하는 컨텐츠 클러스터링 요청을 수신한다. 그리고, 컨텐츠 클러스터링 서버(320)는 컨텐츠 저장소(200)로부터 클러스터링 대상이 되는 문서 D(30d), 문서 E(30e) 및 문서 F(30f)를 수신한다.
컨텐츠 클러스터링 서버(320)는 클러스터링 키워드를 기초로, 문서 D(30d), 문서 E(30e) 및 문서 F(30f)로부터 중요 문장에 해당되는 중요 문장 D(40d), 중요 문장 E(40e) 및 중요 문장 F(40f)를 추출한다.
컨텐츠 클러스터링 서버(320)는 추출된 중요 문장 D(40d), 중요 문장 E(40e) 및 중요 문장 F(40f) 간의 유사도를 산정한다. 그리고, 컨텐츠 클러스터링 서버(320)는 산정된 중요 문장 D(40d), 중요 문장 E(40e) 및 중요 문장 F(40f) 간의 유사도를 기준으로, 문서 D(30d) 및 문서 E(30e)를 포함하는 클러스터 A(60a)를 구성하고, 문서 F(30e)를 포함하는 클러스터 B(60b)를 구성한다.
도 14는 본 발명의 일 실시예에 따른 클러스터링 방법을 설명하기 위한 순서도이다. 도 14에 도시된 클러스터링 방법은, 클러스터링의 대상이 되는 복수의 문서에 제1 문서 및 제2 문서가 포함되어 있는 것으로 가정한다.
도 14를 참조하면, 컨텐츠 클러스터링 서버(320)는 사용자 단말(400)로부터 클러스터 키워드를 포함하는 컨텐츠 클러스터링 요청이 수신된 경우, 컨텐츠 저장소(200)로부터 클러스터링의 대상이 되는 복수의 문서를 수신한다(S410).
컨텐츠 클러스터링 서버(320)는 클러스터링 키워드를 기초로, 수신된 복수의 문서 각각으로부터 중요 문장을 추출한다(S420). 구체적으로, 컨텐츠 클러스터링 서버(320)는 복수의 문서에 포함된 제1 문서로부터 제1 중요 문장을 추출하고, 제2 문서로부터 제2 중요 문장을 추출할 수 있다.
컨텐츠 클러스터링 서버(320)는 추출된 중요 문장 간의 유사도를 산정한다(S430). 본 발명의 일 실시예에 따른 컨텐츠 클러스터링 서버(320)는 자카드 계수 또는 해밍 거리 중 어느 하나를 이용하여 중요 문장 간의 유사도를 산정할 수 있다. 그러나, 이에 한정되지 않고, 컨텐츠 클러스터링 서버(320)는 타니모토 유사도 또는 코사인 유사도 중 어느 하나를 이용하여 중요 문장간의 유사도를 산정할 수도 있다.
그리고, 컨텐츠 클러스터링 서버(320)는 산정된 유사도를 기준으로, 복수의 문서에 포함된 문서들을 클러스터링 한다(S440). 구체적으로, 컨텐츠 클러스터링 서버(320)는 산정된 유사도를 기준으로, 복수의 문서에 포함된 제1 문서와 제2 문서가 하나의 클러스터에 포함될 수 있는지 여부를 결정할 수 있다.
종합하면, 컨텐츠 클러스터링 서버(320)는 단순히 복수의 문서의 유사도가 아닌, 독자의 관심사에 부합되는 중요 문장의 유사도를 기준으로 복수의 문서를 클러스터링 할 수 있다. 따라서, 컨텐츠 클러스터링 서버(320)는 독자의 관심사에 따라 컨텐츠를 분류할 수 있다.
지금까지, 도5 내지 도 14을 참조하여 설명한 본 발명의 몇몇 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터 프로그램의 실행에 의하여 수행될 수 있다. 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여, 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 제2 컴퓨팅 장치에서 사용될 수 있다. 여기서, 제1 컴퓨팅 장치 및 제2 컴퓨팅 장치는, 데스크탑, 서버 또는 워크스테이션 등과 같은 고정식 컴퓨팅 장치, 스마트 폰, 태블릿, 패블릿 또는 랩탑 등과 같은 모바일 컴퓨팅 장치 및 스마트 와치, 스마트 안경 또는 스마트 밴드 등과 같은 웨어러블 컴퓨팅 장치를 모두 포함할 수 있다.
상기 컴퓨터 프로그램은, 키워드를 수신하는 단계, 복수의 문장을 포함하는 문서를 파싱하여 상기 문서에 포함된 각 문장을 식별하는 단계, 상기 각 문장을 버텍스로 하고, 상기 각 문장 간의 유사도를 에지의 가중치로 하는 그래프를 구성하는 단계, 상기 그래프에 변형된 페이지랭크 알고리즘을 적용하여 상기 각 문장의 중요도를 산정하되, 상기 변형된 페이지랭크 알고리즘은 상기 키워드와의 관련도에 따른 가중치가 적용되도록 반영된 단계, 및 상기 산정된 중요도를 기준으로, 상기 문서로부터 중요 문장을 추출하는 단계를 실행시키기 위한 것일 수 있다.
상기 컴퓨터 프로그램은, 사용자 단말로부터 문서의 요약 요청을 수신하는 단계, 상기 사용자 단말의 사용자에 대한 프로파일을 기준으로, 상기 사용자의 선호도가 반영된 키워드를 선정하는 단계, 상기 선정된 키워드를 반영하여 상기 문서로부터 중요 문장을 추출하는 단계, 및 상기 추출된 중요 문장을 기초로 상기 문서의 요약문을 생성하는 단계를 실행시키기 위한 것일 수도 있다.
또한, 상기 컴퓨터 프로그램은, 제1 키워드 및 제2 키워드를 수신하는 단계, 상기 제1 키워드를 반영하여, 복수의 문장을 포함하는 문서로부터 k개의 중요 문장을 추출하는 단계, 상기 k개의 중요 문장을 기초로, 제1 요약문을 생성하는 단계, 상기 제2 키워드를 반영하여, 제1 요약문으로부터 m개의 중요 문장을 추출하는 단계, 및 상기 m개의 중요 문장을 기초로, 제2 요약문을 생성하는 단계를 실행시키기 위한 것일 수도 있다.
이와 같은, 컴퓨터 프로그램은 CD-ROM, DVD-ROM, MO(Magnetic Optical), ZIP, SD card 또는 Flash memory 등의 기록매체에 기록된 것일 수도 있다.
이하, 도 15 및 도 16을 참조하여, 본 발명의 일 실시예에 따른 문서 요약 장치(100)의 구성에 대하여 설명하기로 한다. 도 15는 본 발명의 일 실시예에 따른 문서 요약 장치(100)의 논리적 구성의 블록도이다.
도 15를 참조하면, 문서 요약 장치(100)는 통신부(105), 문장 식별부(110), 그래프 구성부(115), 중요도 산정부(120) 및 요약문 생성부(125)를 포함하여 구성될 수 있다.
각 구성 요소에 대하여 설명하면, 통신부(105)는 문서 요약 장치(100)가 외부의 장치와 데이터를 송수신할 수 있다. 구체적으로, 통신부(105)는 네트워크를 통해 사용자 단말(400)로부터 키워드를 수신하여 문장 식별부(110)에 전달할 수 있다. 이 때, 키워드는 문서(10)로부터 중요 문장을 추출함에 있어 독자 각각의 선호도를 적용하기 위한 단어이다. 따라서, 키워드는 문서(10)의 독자 각각의 관점, 관심사 또는 의도 등을 나타낼 수 있는 단어가 될 수 있다.
통신부(105)는 컨텐츠 저장소(200)로부터 문서(10)를 수신하여 문장 식별부(110)에 전달할 수 있다. 통신부(105)가 수신한 문서(10)에는 한글, 영자, 숫자, 간격 문자 특수 문자 등과 같은 텍스트가 포함될 수 있으나, 이에 한정되지 않고, 문서 요약의 대상이 되는 문서(10)에는 이미지, 차트 또는 OLE 객체가 포함될 수도 있다.
그리고, 통신부(105)는 요약문 생성부(125)에 의해 생성된 요약문을 컨텐츠 저장소(200), 응용 서비스 서버(300) 또는 사용자 단말(400)에 송신할 수 있다.
본 발명의 일 실시예에 따른 통신부(105)는 이더넷, xDSL, HFC 또는 FTTH 등과 같은 유선통신망, CDMA, WCDMA, GSM, HSPA 또는 LTE등과 같은 이동통신망 또는 와이파이, 와이맥스, 와이브로, 블루투스 또는 지그비 등과 같은 근거리 무선통신망 중 하나 이상을 이용하여 데이터를 송수신할 수 있다.
다음으로, 문장 식별부(110)는 통신부(105)를 통해 수신된 문서(10)를 파싱하여, 문서(10)에 포함된 각 문장을 식별한다. 구체적으로, 문장 식별부(110)는 문서(10)에 포함된 종결어미를 식별하고, 식별된 종결어미를 기준으로 문서(10)에 포함된 각 문장을 식별할 수 있다. 그러나, 이에 한정되지 않고, 문장 식별부(110)는 문서(10)에 포함된 마침표, 물음표, 쉼표 등과 같은 부호를 식별하고, 식별된 부호를 기준으로 문서(10)에 포함된 각 문장을 식별할 수도 있다.
다음으로, 그래프 구성부(115)는 문장 식별부(110)를 통해 식별된 각 문장을 버텍스로 하고, 각 문장 간의 유사도를 에지의 가중치로 하는 그래프를 구성한다. 그래프 구성부(115)가 구성하는 그래프는 무방향 그래프가 될 수 있으나, 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 그래프 구성부(115)는 컴플리트 그래프에서 몇몇 에지를 제거하여 그래프를 구성할 수 있다.
구체적으로, 그래프 구성부(115)는 문장 식별부(110)를 통해 식별된 각 문장을 버텍스로 하며, 모든 버텍스가 서로 에지로 연결된 컴플리트 그래프를 구성한다. 그래프 구성부(115)는 각 문장 간의 유사도를 산정한다.
본 발명의 일 실시예에 따른 그래프 구성부(115)는 자카드 계수 또는 해밍 거리 중 어느 하나를 이용하여 문장 간의 유사도를 산정할 수 있다. 그러나, 이에 한정되지 않고, 그래프 구성부(115)는 타니모토 유사도 또는 코사인 유사도 중 어느 하나를 이용하여 문장간의 유사도를 산정할 수도 있다.
그래프 구성부(115)는 산정된 유사도를 버텍스 사이를 연결하는 에지의 가중치로 부여한다. 그리고, 그래프 구성부(115)는 그래프에서 임계 값보다 낮은 가중치가 부여된 에지를 제거한다. 이 때, 임계 값은 연관 관계를 가지는 두 문장 사이에 존재하는 최소 유사도를 나타내는 값이다. 예를 들어, 임계 값은 1로 설정될 수 있으나, 이에 한정되는 것은 아니다. 또한, 임계 값은 문서 요약 장치(100)에 프리셋되어 있거나, 또는 문서(10)의 요약을 요청한 사용자 단말(400)에 의해 지정될 수도 있다.
본 발명의 다른 실시예에 따른 그래프 구성부(115)는 버텍스 만으로 구성된 그래프에 몇몇 에지를 부여하여 그래프를 구성할 수 있다.
구체적으로, 그래프 구성부(115)는 식별된 각 문장을 버텍스로 하는 그래프를 구성한다. 그래프 구성부(115)는 각 문장을 파싱하여 중요 토큰을 식별한다. 이 때, 토큰은 각 문장에 포함된 단어의 실질적 의미를 표현하기 위한 부분이다. 예를 들어, 토큰은 각 문장에 포함된 어근 또는 어간이 될 수 있으나, 이에 한정되는 것은 아니다.
그래프 구성부(115)는 그래프에 포함된 두 버텍스의 문장에 동일한 토큰이 포함되어 있는 경우, 두 버텍스 사이에 에지를 부여한다. 그리고, 그래프 구성부(115)는 그래프에 포함된 두 버텍스의 문장에 포함된 토큰이 모두 동일하지 않은 경우, 두 버텍스 사이에 에지를 부여하지 않는다.
다음으로, 중요도 산정부(120)는 그래프 구성부(115)를 통해 구성된 그래프에 변형된 페이지랭크 알고리즘을 적용하여 각 문장의 중요도를 산정한다. 이 때, 변형된 페이지랭크 알고리즘은 제1 버텍스에 인접한 버텍스들의 상대적인 중요도를 기준으로 제1 버텍스의 중요도를 산정하되, 제1 버텍스에 인접한 각 버텍스의 상대적인 중요도에 제1 버텍스에 인접한 각 버텍스의 문장에 상기 키워드가 포함되어 있는지 여부와 관련된 가중치가 반영된 알고리즘이다. 즉, 변형된 페이지랭크 알고리즘은 그래프에 포함된 각 버텍스의 상대적인 중요도를 산정하되, 각 버텍스와 키워드 사이의 관련도를 고려하여 상대적인 중요도를 산정할 수 있다.
구체적으로, 중요도 산정부(120)는 문장 A의 중요도
Figure 112019104645846-pat00053
를 산정하기 위하여, 페이지랭크 알고리즘을 변형한 아래의 수학식 5를 적용할 수 있다.
Figure 112019104645846-pat00054
여기서,
Figure 112019104645846-pat00055
은 문장 A에 해당되는 버텍스에 연결된 다른 버텍스이다.
Figure 112019104645846-pat00056
Figure 112019104645846-pat00057
버텍스에 변형된 페이지랭크 알고리즘을 적용하여 산출된 중요도이다. 즉,
Figure 112019104645846-pat00058
Figure 112019104645846-pat00059
버텍스의 페이지랭크 값이다. 본 발명의 일 실시예에 따른 문서 요약 장치(100)는
Figure 112019104645846-pat00060
의 초기 값으로 임의의 수(Arbitrary number)를 대입하고,
Figure 112019104645846-pat00061
이 일정한 값으로 수렴할 때까지 변형된 페이지랭크 알고리즘을 반복적(iterative)으로 수행할 수 있다. 그러나, 본 발명의 다른 실시예에 따른 문서 요약 장치(100)는
Figure 112019104645846-pat00062
의 초기 값에
Figure 112019104645846-pat00063
을 대입하고,
Figure 112019104645846-pat00064
이 일정한 값으로 수렴할 때까지 변형된 페이지랭크 알고리즘을 반복적으로 수행할 수 있다. 이 경우, 문서 요약 장치(100)는 변형된 페이지랭크 알고리즘을 보다 적게 수행하고도
Figure 112019104645846-pat00065
을 산출할 수 있을 것이다.
Figure 112019104645846-pat00066
Figure 112019104645846-pat00067
버텍스에 부속된 에지의 수이다. 그리고,
Figure 112019104645846-pat00068
는 독자가 문장 A에 만족하지 못하고 다른 문장을 찾아볼 확률이다.
Figure 112019104645846-pat00069
는 damping factor의 역할을 수행하며, 0.85로 설정 될 수 있으나, 이에 한정되는 것은 아니다.
그리고,
Figure 112019104645846-pat00070
Figure 112019104645846-pat00071
버텍스에 해당되는 문장의 키워드와의 관련도에 따른 가중치이다. 본 발명의 일 실시예에 따른 중요도 산정부(120)는
Figure 112019104645846-pat00072
버텍스에 해당되는 문장 내에서 키워드의 출현 빈도에 따라,
Figure 112019104645846-pat00073
을 결정할 수 있다. 예를 들어, 중요도 산정부(120)는
Figure 112019104645846-pat00074
버텍스에 해당되는 문장에 키워드의 출현 빈도가 커질수록
Figure 112019104645846-pat00075
을 큰 값으로 설정할 수 있고,
Figure 112019104645846-pat00076
버텍스에 해당되는 문장에 키워드의 출현 빈도가 작아질수록
Figure 112019104645846-pat00077
을 작은 값으로 설정할 수 있다. 그리고, 본 발명의 다른 실시예에 따른 중요도 산정부(120)는
Figure 112019104645846-pat00078
버텍스에 해당되는 문장 내에서 키워드의 출현 위치에 따라,
Figure 112019104645846-pat00079
을 결정할 수 있다. 예를 들어, 중요도 산정부(120)는
Figure 112019104645846-pat00080
버텍스에 해당되는 문장에 총 20개의 토큰이 포함되어 있으며 키워드가 문장의 앞에서부터 4번째의 위치에 출현한 경우,
Figure 112019104645846-pat00081
을 상위 20%에 해당되는 값으로 설정할 수 있다. 또한, 중요도 산정부(120)는
Figure 112019104645846-pat00082
버텍스에 해당되는 문장의 키워드와 관련도에 따라
Figure 112019104645846-pat00083
을 선형적으로 결정할 수 있으나, 이에 한정되지 않고,
Figure 112019104645846-pat00084
버텍스에 해당되는 문장의 키워드와 관련도에 따라
Figure 112019104645846-pat00085
을 비선형적으로 결정할 수도 있다.
마지막으로, 요약문 생성부(125)는 중요도 산정부(120)를 통해 산정된 중요도를 기초로 요약문을 생성한다. 구체적으로, 요약문 생성부(125)는 산정된 중요도를 기준으로, 문서(10)로부터 중요도가 가장 높은 하나의 중요 문장을 추출할 수 있다. 요약문 생성부(125)는 추출된 하나의 중요 문장의 버텍스에 에지를 통해 연결된 다른 버텍스의 문장을 선택할 수 있다. 그리고, 요약문 생성부(125)는 추출된 하나의 중요 문장 및 선택된 다른 버텍스의 문장을 이용하여 요약문을 생성할 수 있다.
요약문 생성부(125)는 문장의 중요도, 유사도 또는 문장의 길이 중 어느 하나 이상을 기초로, 하나의 중요 문장의 버텍스에 에지를 통해 연결된 다른 버텍스의 문장 중 요약문 생성에 이용될 문장을 선택할 수 있다. 예를 들어, 요약문 생성부(125)는 하나의 중요 문장의 버텍스에 에지를 통해 연결된 다른 버텍스의 문장 중 변형된 페이지랭크 알고리즘이 적용되어 산정된 중요도가 최대인 문장에서 상기 중요도가 낮아지는 순서대로 k개의 문장을 선택할 수 있다. 요약문 생성부(125)는 하나의 중요 문장의 버텍스에 에지를 통해 연결된 다른 버텍스의 문장 중 중요 문장과의 유사도가 높은 순서대로 k개의 문장을 선택할 수 있다. 또한, 요약문 생성부(125)는 하나의 중요 문장의 버텍스에 에지를 통해 연결된 다른 버텍스의 문장 중 문장의 길이가 긴 순서대로 k개의 문장을 선택할 수 있다.
또한, 요약문 생성부(125)는 산정된 중요도가 최대인 문장에서 상기 중요도가 낮아지는 순서대로, 문서(10)로부터 k개의 중요 문장을 추출할 수 있다. 요약문 생성부(125)가 추출할 중요 문장의 수 k는 문서 요약 장치(100)에 프리셋 되어 있거나, 또는 문서(10)의 요약을 요청한 사용자 단말(400)에 의해 지정될 수도 있다. 그리고, 요약문 생성부(125)는 중요 문장의 문서(10) 내의 위치를 기준으로, 추출된 k개의 중요 문장을 재배열하여 요약문을 생성할 수 있다.
지금까지, 도 15의 각 구성요소는 소프트웨어(Software) 또는, FPGA(Field-Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
도 16은 본 발명의 일 실시예에 따른 문서 요약 장치(100)의 하드웨어 구성도이다. 도 16을 참조하면, 문서 요약 장치(100)는 프로세서(155), 메모리(160), 네트워크 인터페이스(165), 데이터 버스(170) 및 스토리지(175)를 포함하여 구성될 수 있다.
프로세서(155)는 연산을 수행하기 위한 하나 이상의 CPU(Central Processing Unit)로 구성될 수 있다. 메모리(160)는 본 발명의 일 실시예에 따른 문서 요약 방법을 수행하기 위한 소프트웨어(180a)가 로드될 수 있다. 네트워크 인터페이스(165)는 컨텐츠 저장소(200), 응용 서비스 서버(300) 또는 사용자 단말(400) 중 어느 하나와 데이터를 송수신할 수 있다. 데이터 버스(170)는 프로세서(155), 메모리(160), 네트워크 인터페이스(165) 및 스토리지(175)와 연결되어, 각 구성 요소간의 데이터를 전달하는 이동 통로의 역할을 수행할 수 있다.
그리고, 스토리지(175)는 본 발명의 일 실시예에 따른 문서 요약 방법을 수행하기 위한 소프트웨어(180b)가 저장될 수 있다. 또한, 스토리지(175)는 상기 문서 요약 방법을 수행하기 위한 소프트웨어(180b)의 실행에 필요한 API(Application Programming Interface), 라이브러리(Library) 또는 리소스(Resource) 파일 등을 저장할 수 있다.
보다 구체적으로, 스토리지(175)에는 키워드를 수신하는 오퍼레이션, 복수의 문장을 포함하는 문서를 파싱하여 상기 문서에 포함된 각 문장을 식별하는 오퍼레이션, 상기 각 문장을 버텍스로 하고, 상기 각 문장 간의 유사도를 에지의 가중치로 하는 그래프를 구성하는 오퍼레이션, 상기 그래프에 변형된 페이지랭크 알고리즘을 적용하여 상기 각 문장의 중요도를 산정하되, 상기 변형된 페이지랭크 알고리즘은 상기 키워드와의 관련도에 따른 가중치가 반영되도록 변형된 오퍼레이션, 및 상기 산정된 중요도를 기준으로, 상기 문서로부터 중요 문장을 추출하는 오퍼레이션을 포함하는 컴퓨터 프로그램이 저장될 수 있다.
스토리지(175)에는 사용자 단말로부터 문서의 요약 요청을 수신하는 오퍼레이션, 상기 사용자 단말의 사용자에 대한 프로파일을 기준으로, 상기 사용자의 선호도가 반영된 키워드를 선정하는 오퍼레이션, 상기 선정된 키워드를 반영하여 상기 문서로부터 중요 문장을 추출하는 오퍼레이션, 및 상기 추출된 중요 문장을 기초로 상기 문서의 요약문을 생성하는 오퍼레이션을 포함하는 컴퓨터 프로그램이 저장될 수 있다.
또한, 스토리지(175)에는 제1 키워드 및 제2 키워드를 수신하는 오퍼레이션, 상기 제1 키워드를 반영하여, 복수의 문장을 포함하는 문서로부터 k개의 중요 문장을 추출하는 오퍼레이션, 상기 k개의 중요 문장을 기초로, 제1 요약문을 생성하는 오퍼레이션, 상기 제2 키워드를 반영하여, 제1 요약문으로부터 m개의 중요 문장을 추출하는 오퍼레이션, 및 상기 m개의 중요 문장을 기초로, 제2 요약문을 생성하는 오퍼레이션을 포함하는 컴퓨터 프로그램이 저장될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.

Claims (5)

  1. 제1 키워드 및 제2 키워드를 수신하는 단계;
    상기 제1 키워드를 반영하여, 복수의 문장을 포함하는 문서로부터 k(k는 2 이상의 자연수)개의 제1 중요 문장을 추출하는 단계;
    상기 제2 키워드를 반영하여, 상기 문서로부터 m(m은 2 이상의 자연수)개의 제2 중요 문장을 추출하는 단계;
    상기 k개의 제1 중요 문장 및 상기 m개의 제2 중요 문장 양쪽에 포함되어 있는 동일한 제3 중요 문장을 식별하는 단계; 및
    상기 제3 중요 문장을 기초로 요약문을 생성하는 단계를 포함하고,
    상기 제1 중요 문장을 추출하는 단계는,
    상기 문서에 포함된 각 문장을 버텍스(vertex)로 하고, 상기 버텍스 중 제1 버텍스에 인접한 각 버텍스의 문장에 상기 제1 키워드가 포함되어 있는지 여부와 관련한 가중치를 반영하여 상기 제1 버텍스의 중요도를 산정하는 단계를 포함하는,
    문서 요약 방법.
  2. 제1 항에 있어서,
    상기 k개의 제1 중요 문장에 포함된 문장 중 적어도 하나는 상기 m개의 제2 중요 문장에 포함되지 않는,
    문서 요약 방법.
  3. 제1 항에 있어서,
    상기 k개의 제1 중요 문장을 기초로 제1 요약문을 생성하는 단계;
    상기 m개의 제2 중요 문장을 기초로 제2 요약문을 생성하는 단계; 및
    상기 제1 요약문 및 제2 요약문을 사용자 단말에 송신하는 단계를 더 포함하는,
    문서 요약 방법.
  4. 제1 항에 있어서,
    상기 제1 중요 문장을 추출하는 단계는,
    상기 중요도에 따라 순서대로 상기 문서로부터 상기 k개의 제1 중요 문장을 추출하는 단계를 더 포함하는,
    문서 요약 방법.
  5. 제4 항에 있어서,
    상기 추출된 k개의 제1 중요 문장의 상기 문서 내의 위치를 기준으로, 상기 k개의 제1 중요 문장을 재배열하여 제1 요약문을 생성하는 단계를 더 포함하는,
    문서 요약 방법.
KR1020190127339A 2019-10-14 2019-10-14 문장 추출 방법 및 시스템 KR102125407B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190127339A KR102125407B1 (ko) 2019-10-14 2019-10-14 문장 추출 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190127339A KR102125407B1 (ko) 2019-10-14 2019-10-14 문장 추출 방법 및 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180032307A Division KR102034302B1 (ko) 2018-03-20 2018-03-20 문장 추출 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20190121727A KR20190121727A (ko) 2019-10-28
KR102125407B1 true KR102125407B1 (ko) 2020-06-22

Family

ID=68421781

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190127339A KR102125407B1 (ko) 2019-10-14 2019-10-14 문장 추출 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102125407B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022235073A1 (ko) * 2021-05-07 2022-11-10 김상진 독해와 작문 능력의 향상을 가이드하는 방법 및 그 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102466721B1 (ko) * 2020-10-13 2022-11-14 주식회사 한글과컴퓨터 전자 문서를 지식 데이터 문서로 변환하는 전자 장치 및 그 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101548096B1 (ko) 2015-02-02 2015-08-27 숭실대학교산학협력단 문서 자동 요약 방법 및 서버
KR101549792B1 (ko) 2014-10-01 2015-09-02 삼성에스디에스 주식회사 문서 자동 작성 장치 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100435442B1 (ko) 2001-11-13 2004-06-10 주식회사 포스코 문서 요약 방법 및 시스템
KR100849272B1 (ko) 2001-11-23 2008-07-29 주식회사 엘지이아이 마크업 문서 자동 요약 방법
KR100847376B1 (ko) * 2006-11-29 2008-07-21 김준홍 질의어 자동 추출을 이용한 검색 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101549792B1 (ko) 2014-10-01 2015-09-02 삼성에스디에스 주식회사 문서 자동 작성 장치 및 방법
KR101548096B1 (ko) 2015-02-02 2015-08-27 숭실대학교산학협력단 문서 자동 요약 방법 및 서버

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022235073A1 (ko) * 2021-05-07 2022-11-10 김상진 독해와 작문 능력의 향상을 가이드하는 방법 및 그 장치

Also Published As

Publication number Publication date
KR20190121727A (ko) 2019-10-28

Similar Documents

Publication Publication Date Title
JP6905098B2 (ja) 文抽出方法及びシステム
US9092504B2 (en) Clustered information processing and searching with structured-unstructured database bridge
US11409775B2 (en) Recommending documents sets based on a similar set of correlated features
US10303689B2 (en) Answering natural language table queries through semantic table representation
US20140358879A1 (en) Search engine suggestion
US9940355B2 (en) Providing answers to questions having both rankable and probabilistic components
KR101842274B1 (ko) 문장 추출 방법 및 시스템
US20230034011A1 (en) Natural language processing workflow
US20220261428A1 (en) Selection-based searching using concatenated word and context
KR102125407B1 (ko) 문장 추출 방법 및 시스템
CN113204621A (zh) 文档入库、文档检索方法,装置,设备以及存储介质
US20120106853A1 (en) Image search
US10606909B2 (en) Optimizing searches
CN115687810A (zh) 网页搜索方法、装置及相关设备
KR102034302B1 (ko) 문장 추출 방법 및 시스템
US20160292282A1 (en) Detecting and responding to single entity intent queries
US11042706B2 (en) Natural language skill generation for digital assistants
US10922366B2 (en) Self-adaptive web crawling and text extraction
US11663251B2 (en) Question answering approach to semantic parsing of mathematical formulas
US20180121428A1 (en) Returning search results utilizing topical user click data when search queries are dissimilar

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant