KR20240018197A - 워드 프로세서의 문서에 대한 질의응답 시스템 및 방법 - Google Patents

워드 프로세서의 문서에 대한 질의응답 시스템 및 방법 Download PDF

Info

Publication number
KR20240018197A
KR20240018197A KR1020220096164A KR20220096164A KR20240018197A KR 20240018197 A KR20240018197 A KR 20240018197A KR 1020220096164 A KR1020220096164 A KR 1020220096164A KR 20220096164 A KR20220096164 A KR 20220096164A KR 20240018197 A KR20240018197 A KR 20240018197A
Authority
KR
South Korea
Prior art keywords
query
paragraphs
correct answer
paragraph
document
Prior art date
Application number
KR1020220096164A
Other languages
English (en)
Inventor
이형직
임준호
김민호
김현기
류지희
배경만
배용진
임수종
장명길
최미란
허정
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020220096164A priority Critical patent/KR20240018197A/ko
Publication of KR20240018197A publication Critical patent/KR20240018197A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/34Browsing; Visualisation therefor
    • 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/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

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

Abstract

사용자로부터 문서 내에서 정답을 찾기 위한 질의가 입력되면, 상기 질의에 대한 언어분석을 수행하는 단계, 문서 내의 복수의 단락에 대한 언어분석 결과 및 질의에 대한 언어분석 결과를 바탕으로 복수의 단락의 순위를 매기는 단계, 복수의 단락에 대한 언어분석 결과 및 질의에 대한 언어분석 결과를 바탕으로 복수의 단락 내에서 질의에 대한 적어도 하나의 정답을 결정하는 단계, 및 복수의 단락의 순위대로 적어도 하나의 정답을 사용자 인터페이스 상에 표시하는 단계를 통해 워드 프로세서로 작성된 문서에 대한 질의응답을 수행하는 시스템 및 방법이 제공된다.

Description

워드 프로세서의 문서에 대한 질의응답 시스템 및 방법{SYSTEM AND Method for ANSWERING OF QUERY FOR DOCUMENT IN WORD PROCESSOR}
본 기재는 워드 프로세서의 문서에 대한 질의응답 시스템 및 방법에 관한 것이다.
질의응답 기술은 자연어 질의가 입력되면 문서 컬렉션으로부터 질의와 유사한 문서 또는 단락들을 검색하고 순위화 하여 기계독해 기술을 이용하여 질의에 대응하는 정답을 추출할 수 있다. 대용량의 문서 또는 단락을 빠르고 효율적으로 검색하기 위해서는 색인이라는 과정이 필요하다. 색인은 대용량의 문서 컬렉션에 대해 키워드 또는 의미 단위의 구, 절, 또는 실수값으로 이루어진 벡터 단위 정보와 문서 번호 등을 저장하는 과정을 의미한다. 자연어 질의가 입력되면 질의에 포함된 키워드 또는 벡터를 이용하여 색인된 정보에서 질문과 가장 유사한 문서 또는 단락이 BM25, 코사인 유사도 등을 통해 추출되고, 추출된 결과는 딥러닝 모델 등에 의해 순위화되고, 기계독해 기술을 이용하여 정답이 추출될 수 있다. 이러한 질의응답 시스템은 사전에 대용량의 문서 컬렉션의 색인 이후에 사용되므로, 컬렉션 정보가 추가되거나 업데이트되면 별도의 증분 색인 또는 업데이트 색인 기술을 이용하여 주기적으로 추가 색인된 이후 질의응답 서비스가 제공될 수 있다.
현재의 질의응답 시스템에 따르면, 사용자가 현재 자신이 보고 있는 문서 내에서 질의응답을 하기 위해서 그 문서가 미리 색인되어 있을 필요가 있다. 문서가 색인되지 않으면 사용자는 직접 문서 내에서 특정 키워드로 검색한 후 검색된 모든 지점에서 직접 내용을 읽고 정보를 얻어야 한다.
한 실시예는, 워드 프로세서로 작성된 문서에 대한 질의응답 시스템을 제공한다.
다른 실시예는, 워드 프로세서로 작성된 문서에 대한 질의응답 방법을 제공한다.
한 실시예에 따르면 질의응답 시스템이 제공된다. 상기 질의응답 시스템은 프로세서 및 메모리를 포함하고, 상기 프로세서는 메모리에 저장된 프로그램을 실행하여, 사용자로부터 문서 내에서 정답을 찾기 위한 질의가 입력되면, 질의에 대한 언어분석을 수행하는 단계, 문서 내의 복수의 단락에 대한 언어분석 결과 및 질의에 대한 언어분석 결과를 바탕으로 복수의 단락의 순위를 매기는 단계, 복수의 단락에 대한 언어분석 결과 및 질의에 대한 언어분석 결과를 바탕으로 복수의 단락 내에서 질의에 대한 적어도 하나의 정답을 결정하는 단계, 및 복수의 단락의 순위대로 적어도 하나의 정답을 사용자 인터페이스 상에 표시하는 단계를 수행한다.
한 실시예에서, 사용자로부터 문서 내에서 정답을 찾기 위한 질의가 입력되면, 질의에 대한 언어분석을 수행하는 단계를 수행할 때, 프로세서는 프로그램을 실행하여, 문서를 전처리하는 단계를 수행할 수 있다.
한 실시예에서, 문서를 전처리하는 단계를 수행할 때, 프로세서는 프로그램을 실행하여, 문서를 마크업 언어 형식의 파일로 변환하고, 마크업 언어 형식의 파일에서 인식된 결과를 자바스크립트 객체 표현 포맷으로 저장하는 단계를 수행할 수 있다.
한 실시예에서, 복수의 단락의 순위대로 적어도 하나의 정답을 사용자 인터페이스 상에 표시하는 단계를 수행할 때, 프로세서는 프로그램을 실행하여, 적어도 하나의 정답이 위치하는 정답 단락의 순위, 적어도 하나의 정답, 및 정답 단락의 위치로 이동하기 위한 바로가기 링크를 인터페이스 상에 표시하는 단계를 수행할 수 있다.
한 실시예에서, 복수의 단락에 대한 언어분석 결과 및 질의에 대한 언어분석 결과를 바탕으로 복수의 단락 내에서 질의에 대한 적어도 하나의 정답을 결정하는 단계를 수행할 때, 프로세서는 프로그램을 실행하여, 질의, 단락, 및 정답 정보로 구성된 학습데이터를 사용하여 기계학습된 딥러닝 모델을 사용하여 단락 내에서 적어도 하나의 정답을 결정하는 단계를 수행할 수 있다.
한 실시예에서, 문서 내의 복수의 단락에 대한 언어분석 결과 및 질의에 대한 언어분석 결과를 바탕으로 복수의 단락의 순위를 매기는 단계를 수행할 때, 프로세서는 프로그램을 실행하여, 질의에 대한 정답을 포함하는 단락 및 질의에 대한 정답이 포함되어 있지 않은 단락의 쌍을 학습데이터로서 사용하여 기계학습된 딥러닝 모델을 사용하여 복수의 단락의 순위를 매기는 단계를 수행할 수 있다.
다른 실시예에 따르면, 워드 프로세서로 작성된 문서에 대한 질의응답 방법이 제공된다. 상기 질의응답 방법은, 사용자로부터 문서 내에서 정답을 찾기 위한 질의가 입력되면, 질의에 대한 언어분석을 수행하는 단계, 문서 내의 복수의 단락에 대한 언어분석 결과 및 질의에 대한 언어분석 결과를 바탕으로 복수의 단락의 순위를 매기는 단계, 복수의 단락에 대한 언어분석 결과 및 질의에 대한 언어분석 결과를 바탕으로 복수의 단락 내에서 질의에 대한 적어도 하나의 정답을 결정하는 단계, 및 복수의 단락의 순위대로 적어도 하나의 정답을 사용자 인터페이스 상에 표시하는 단계를 포함한다.
다른 실시예에서, 사용자로부터 문서 내에서 정답을 찾기 위한 질의가 입력되면, 질의에 대한 언어분석을 수행하는 단계는, 문서를 전처리하는 단계를 포함할 수 있다.
다른 실시예에서, 문서를 전처리하는 단계는, 문서를 마크업 언어 형식의 파일로 변환하고, 마크업 언어 형식의 파일에서 인식된 결과를 자바스크립트 객체 표현 포맷으로 저장하는 단계를 포함할 수 있다.
다른 실시예에서, 복수의 단락의 순위대로 적어도 하나의 정답을 사용자 인터페이스 상에 표시하는 단계는, 적어도 하나의 정답이 위치하는 정답 단락의 순위, 적어도 하나의 정답, 및 정답 단락의 위치로 이동하기 위한 바로가기 링크를 인터페이스 상에 표시하는 단계를 포함할 수 있다.
다른 실시예에서, 복수의 단락에 대한 언어분석 결과 및 질의에 대한 언어분석 결과를 바탕으로 복수의 단락 내에서 질의에 대한 적어도 하나의 정답을 결정하는 단계는, 질의, 단락, 및 정답 정보로 구성된 학습데이터를 사용하여 기계학습된 딥러닝 모델을 사용하여 단락 내에서 적어도 하나의 정답을 결정하는 단계를 포함할 수 있다.
다른 실시예에서, 문서 내의 복수의 단락에 대한 언어분석 결과 및 질의에 대한 언어분석 결과를 바탕으로 복수의 단락의 순위를 매기는 단계는, 질의에 대한 정답을 포함하는 단락 및 질의에 대한 정답이 포함되어 있지 않은 단락의 쌍을 학습데이터로서 사용하여 기계학습된 딥러닝 모델을 사용하여 복수의 단락의 순위를 매기는 단계를 포함할 수 있다.
사용자가 문서 내에서 자연어 질의를 입력하면, 색인이나 검색 기술 등을 사용하지 않고 사용자에게 사용자가 원하는 정답 및 정답이 위치한 단락이 순위화하여 제공될 수 있다.
도 1은 한 실시예에 따른 질의응답 시스템이 동작하는 워드 프로세서의 UI를 나타낸 도면이다.
도 2는 한 실시예에 따른 질의응답 시스템을 나타낸 블록도이다.
도 3은 한 실시예에 따른 질의응답 방법을 나타낸 흐름도이다.
도 4는 한 실시예에 따른 질의응답 시스템의 문서 전처리 방법을 나타낸 개념도이다.
도 5는 다른 실시예에 따른 질의응답 시스템을 나타낸 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 기재의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 기재는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 기재를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.
본 명세서에서 "및/또는"은 언급된 구성 요소들의 각각 및 하나 이상의 모든 조합을 포함한다.
본 명세서에서, 제1, 제2 등과 같이 서수를 포함하는 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
본 명세서에서 도면을 참고하여 설명한 흐름도에서, 동작 순서는 변경될 수 있고, 여러 동작들이 병합되거나, 어느 동작이 분할될 수 있고, 특정 동작은 수행되지 않을 수 있다.
도 1은 한 실시예에 따른 질의응답 시스템이 동작하는 워드 프로세서의 UI를 나타낸 도면이다.
도 1을 참조하면, 한 실시예에 따른 질의응답 시스템은 워드 프로세서의 UI에 사용자의 질의를 위한 질의응답 버튼(10)을 표시할 수 있다. 질의응답 버튼(10)은 워드 프로세서 UI의 위쪽, 아래쪽, 왼쪽, 오른쪽 등에 표시되거나 또는 워드 프로세서 UI 상에 표시될 수 있다.
사용자가 질의응답 버튼(10)을 디스플레이 상에서 누르면(마우스 클릭, 손가락 탭 등), 질의응답 시스템은 질의응답을 입력하기 위한 입력 창(20)을 표시할 수 있다. 입력 창(20)은 워드 프로세서 UI의 위쪽, 아래쪽, 왼쪽, 오른쪽 등에 표시되거나 또는 워드 프로세서 UI 상에 표시될 수 있다. 또는 입력 창(20)은 질의응답 버튼(10)의 주변에 표시될 수 있다.
사용자가 입력 장치(키보드, 마이크 등)를 통해 입력 창(20)에 질의를 입력하면, 한 실시예에 따른 질의응답 시스템은 질의에 대한 응답(30)을 출력할 수 있다. 한 실시예에 따른 질의응답 시스템은 워드 문서(40)의 단락을 인식하고, 인식된 각 단락마다 언어분석을 수행하며, 언어분석의 수행 결과를 저장할 수 있다.
한 실시예에서, 질의응답 시스템은 디스플레이 상의 질의응답 버튼(10)이 사용자에 의해 눌러지면 자동으로 언어분석을 수행하거나 또는 사용자가 언어분석 버튼을 클릭할 때 언어분석을 수행할 수 있다. 동일한 워드 문서(40)에 대한 언어분석은 1회 수행되고 언어분석의 수행 결과는 저장될 수 있다. 이후 사용자가 동일한 워드 문서(40)에 대해 질의를 입력하면, 이전에 수행된 언어분석의 결과가 호출될 수 있다.
질의에 대한 응답은, 정답 순위, 정답 텍스트, 정답의 신뢰도, 정답이 추출된 단락에 관한 정보(단락 위치, 단락 번호 등), 바로가기 버튼 중 적어도 하나를 포함할 수 있다. 예를 들어, 사용자가 바로가기 버튼을 디스플레이 상에서 누르면 해당 정답이 위치한 단락으로 화면이 이동될 수 있다.
도 2는 한 실시예에 따른 질의응답 시스템을 나타낸 블록도이다.
한 실시예에 따른 질의응답 시스템(100)은 문서 전처리부(110), 언어분석부(120), 파일 저장부(130), 단락 재순위화부(140), 기계독해부(150), 및 정답 표시부(160)를 포함할 수 있다.
문서 전처리부(110)는 워드 프로세서의 문서의 전체 텍스트를 단락 단위의 데이터로 변환할 수 있다. 한 실시예에서 단락은 재순위화 및 기계독해의 단위가 될 수 있다. 문서 전처리부(110)는 문서를 미리 결정된 언어 형식의 파일로 변환하고, 변환된 파일에서 단락을 인식하고, 단락의 정보를 생성할 수 있다.
언어분석부(120)는 문서 전처리부(110)에 의해 인식된 단락과 사용자의 질문에 대해 언어분석을 수행할 수 있다. 언어분석부(120)는 언어분석을 통해 텍스트에 형태소 태그 등의 태그를 부착하고, 태그가 부착된 텍스트를 토큰 단위로 나누어 딥러닝 모델에 입력할 수 있다. 예를 들어, 워드 문서가 한국어로 작성된 경우, 언어분석부(120)는 형태소 태그 등의 태그가 부착된 텍스트를 토큰 단위로 나누어 딥러닝에 적용함으로써 언어처리 성능을 개선시킬 수 있다.
한 실시예에서, 언어분석부(120)는 딥러닝을 통해 단락 내용에 대해 언어분석을 수행하며, 문서 전처리부(110)에 의해 태그가 부착된 텍스트를 딥러닝에 활용할 수 있다. 또한 언어분석부(120)는 사용자의 질의에 대한 언어분석을 수행할 수 있다.
파일 저장부(130)는 문서 내에서 인식된 단락에 관한 정보 및 단락에 대해 수행된 언어분석의 결과를 저장할 수 있다. 동일한 워드 문서에 대한 언어분석은 1회 수행된 후 저장될 수 있고, 동일한 워드 문서에 대해 질의가 입력되면, 저장된 언어분석 결과가 호출될 수 있다. 사용자로부터 질의가 입력되면, 파일 저장부(130) 내에 저장된 단락 및 언어분석 결과가 재순위화 및 기계독해를 위해 사용될 수 있다. 파일 저장부(130)는 문서의 전체 텍스트, 문서의 전체 단락, 및 단락별 언어분석 결과를 구조화하여 저장할 수 있다.
단락 재순위화부(140)는 질의의 언어분석 결과 및 단락의 언어분석 결과의 목록을 입력으로 하여 질의에 대한 정답 확률이 높은 단락의 순위를 결정할 수 있다. 단락 재순위화부(140)는 질의에 대한 정답을 포함하는 단락 및 질의에 대한 정답이 포함되어 있지 않은 단락의 쌍을 학습데이터로서 사용하여 기계학습된 딥러닝 모델을 포함할 수 있다.
기계독해부(150)는 질의의 언어분석 결과 및 단락의 언어분석 결과가 입력되면, 정답 확률이 높은 단락의 순서대로 단락 내에서 정답을 결정할 수 있다. 기계독해부(150)는 질의, 단락, 및 정답 정보로 구성된 학습데이터를 사용하여 기계학습된 딥러닝 모델을 포함할 수 있다.
정답 표시부(160)는 단락 재순위화부(140) 및 기계독해부(150)에 의해 순위화된 단락 및 정답을 사용자에게 표시할 수 있다. 사용자에게 표시되는 정답은, 순위, 정답 텍스트, 정답 신뢰도, 단락 텍스트, 바로가기 링크 중 적어도 하나를 포함할 수 있다. 사용자가 바로가기 링크를 디스플레이 상에서 누르면 해당 정답이 포함된 단락으로 이동될 수 있다.
도 3은 한 실시예에 따른 질의응답 방법을 나타낸 흐름도이고, 도 4는 한 실시예에 따른 질의응답 시스템의 문서 전처리 방법을 나타낸 개념도이다.
도 3을 참조하면, 사용자가 질의응답 시스템(100)을 실행하고 입력 창(20) 내에 질의를 입력하면, 질의응답 시스템(100)은 기존에 저장된 언어분석 결과가 있는지 여부를 판단할 수 있다(S110). 질의응답 시스템(100) 내의 파일 저장부(130) 내에 저장된 언어분석 결과가 있으면, 질의응답 시스템(100)은 바로 질의에 대한 재순위화와 기계독해를 수행할 수 있다.
하지만, 질의응답 시스템(100) 내에 저장된 언어분석 결과가 없으면, 질의응답 시스템(100)은 문서에서 단락을 인식하고, 인식된 단락에 대한 언어분석을 수행할 수 있다(S120). 질의응답 시스템(100)의 문서 전처리부(110)는 문서의 전체 텍스트를 마크업 언어(예를 들어, xml(eXtensible Markup Language)) 형식의 파일로 변환하고, 변환된 xml 파일에서 문서의 구조 및 규칙을 나타내는 정보(예를 들어, 제목, 소제목, 단락, 테이블 등)를 사용하여 단락을 인식할 수 있다.
도 4를 참조하면, 문서 전처리부(110)는 문서를 XML 형식의 파일로 변환하고, XML 파일에서 단락을 인식하고, 단락의 정보를 생성할 수 있다.
한 실시예에서, 문서 전처리부(110)는 hwp, docs, pdf 파일 등을 xml 파일로 변환할 수 있다. xml 파일에는 문서 내 텍스트의 들여쓰기 정보, 텍스트 정보, 테이블 정보 등을 나타내는 태그가 포함된다. 예를 들어, 텍스트는 <P> 태그, 테이블은 <TABLE> 태그로 표시될 수 있다. 들여쓰기 값은 마진(Margin) 관련 태그 내에 포함될 수 있다. 문서 내에서 제목 또는 소제목은 기호 또는 숫자 등으로 표시될 수 있으므로, 문서 전처리부(110)는 동일한 유형의 숫자 또는 기호 이후의 텍스트는 제목 또는 소제목으로 인식할 수 있다. 인식된 제목 또는 소제목에 의해 단락이 인식될 수 있다. 문서 전처리부(110)는 테이블 전체를 하나의 단락으로서 인식할 수 있다.
문서 전처리부(110)는 xml 파일에서 인식된 결과를 미리 결정된 포맷(예를 들어, JSON 포맷)의 구조로 변환하고, 변환된 포맷으로 단락의 정보를 파일 저장부(130)에 저장할 수 있다. 단락의 정보는 문서 제목, 문서 소제목, 단락 텍스트, 단락 내 문장 정보를 포함할 수 있고, 단락이 테이블일 경우에는 단락의 정보는 단락 텍스트 대신에 테이블 태그(TABLE xml 정보)가 포함된 텍스트를 포함할 수 있다.
한 실시예에서, 문서처리의 결과의 저장을 위한 미리 결정된 포맷은 자바스크립트 객체 표현(JavaScript Object Notation, JSON) 포맷일 수 있다. JSON 포맷은 속성-값 쌍(attribute-value pairs and array data types(또는 임의의 다른 직렬화 가능한 값(any other serializable value)) 또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다.
질의응답 시스템(100)의 언어분석부(120)는 미리 결정된 포맷의 구조로 저장된 각 단락에 대해 언어분석을 수행할 수 있다. 언어분석부(120)의 언어분석 결과는 파일 저장부(130)에 저장될 수 있다.
또한 질의응답 시스템(100)의 언어분석부(120)는 질의에 대한 언어분석도 수행할 수 있다(S130). 위에서 설명한 대로, 질의응답 시스템(100) 내에 기저장된 언어분석 결과가 있을 때, 질의응답 시스템(100)은 바로 사용자의 질의에 대한 언어분석만을 수행할 수 있다.
사용자의 질의의 언어분석 결과 및 단락의 언어분석 결과가 단락 재순위화부(140)에 입력되면, 단락 재순위화부(140)는 문서 내의 전체 단락에서 정답이 추출될 확률 또는 가능성이 높은 단락의 순서대로 순위화를 수행할 수 있다(S140).
그리고, 사용자의 질의의 언어분석 결과 및 단락들의 언어분석 결과가 기계독해부(150)에 입력되면, 기계독해부(150)는 각 단락에 대해 기계독해를 수행함으로써, 질의에 대응하는 정답을 결정할 수 있다(S150).
이후 정답 표시부(160)는 질의에 대응하는 정답과 정답을 포함하는 단락에 관한 정보를 UI 상에 표시할 수 있다(S160). 예를 들어, 정답 표시부(160)는 단락의 순위 - 단락 내 정답 - 단락의 재순위화 점수 - 바로가기 링크를 UI 상에 표시할 수 있다. 사용자가 바로가기 링크를 누르면, 바로가기 링크에 대응하는 정답과 정답이 위치한 단락으로 문서가 표시될 수 있다.
위에서 설명된 대로, 한 실시예에 따른 질의응답 시스템은 사용자가 문서 내에서 정답을 찾기 위한 자연어 질의를 입력하면, 기존에 필요했던 문서의 색인, 업데이트 등이 없이, 사용자에게 사용자가 원하는 정답 및 정답이 위치한 단락을 순위화하여 제공할 수 있다.
도 5는 다른 실시예에 따른 질의응답 시스템을 나타낸 블록도이다.
한 실시예에 따른 질의응답 시스템은, 컴퓨터 시스템, 예를 들어 컴퓨터 판독 가능 매체로 구현될 수 있다. 도 5를 참조하면, 컴퓨터 시스템(500)은, 버스(570)를 통해 통신하는 프로세서(510), 메모리(530), 입력 인터페이스 장치(550), 출력 인터페이스 장치(560), 및 저장 장치(540) 중 적어도 하나를 포함할 수 있다. 컴퓨터 시스템(500)은 또한 네트워크에 결합된 통신 장치(520)를 포함할 수 있다. 프로세서(510)는 중앙 처리 장치(central processing unit, CPU)이거나, 또는 메모리(530) 또는 저장 장치(540)에 저장된 명령을 실행하는 반도체 장치일 수 있다. 메모리(530) 및 저장 장치(540)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(read only memory) 및 RAM(random access memory)를 포함할 수 있다. 본 기재의 실시예에서 메모리는 프로세서의 내부 또는 외부에 위치할 수 있고, 메모리는 이미 알려진 다양한 수단을 통해 프로세서와 연결될 수 있다. 메모리는 다양한 형태의 휘발성 또는 비휘발성 저장 매체이며, 예를 들어, 메모리는 읽기 전용 메모리(read-only memory, ROM) 또는 랜덤 액세스 메모리(random access memory, RAM)를 포함할 수 있다.
따라서, 본 발명의 실시예는 컴퓨터에 구현된 방법으로서 구현되거나, 컴퓨터 실행 가능 명령이 저장된 비일시적 컴퓨터 판독 가능 매체로서 구현될 수 있다. 한 실시예에서, 프로세서에 의해 실행될 때, 컴퓨터 판독 가능 명령은 본 기재의 적어도 하나의 양상에 따른 방법을 수행할 수 있다.
통신 장치(520)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다.
한편, 본 발명의 실시예는 지금까지 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 상술한 실시예의 기재로부터 본 발명이 속하는 기술 분야의 통상의 기술자라면 쉽게 구현할 수 있는 것이다. 구체적으로, 본 발명의 실시예에 따른 방법(예, 네트워크 관리 방법, 데이터 전송 방법, 전송 스케줄 생성 방법 등)은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은, 본 발명의 실시예를 위해 특별히 설계되어 구성된 것이거나, 컴퓨터 소프트웨어 분야의 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체는 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치를 포함할 수 있다. 예를 들어, 컴퓨터 판독 가능 기록 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 롬(ROM), 램(RAM), 플래시 메모리 등일 수 있다. 프로그램 명령은 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라, 인터프리터 등을 통해 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (12)

  1. 질의응답 시스템으로서,
    프로세서 및 메모리를 포함하고, 상기 프로세서는 상기 메모리에 저장된 프로그램을 실행하여,
    사용자로부터 문서 내에서 정답을 찾기 위한 질의가 입력되면, 상기 질의에 대한 언어분석을 수행하는 단계,
    상기 문서 내의 복수의 단락에 대한 언어분석 결과 및 상기 질의에 대한 언어분석 결과를 바탕으로 상기 복수의 단락의 순위를 매기는 단계,
    상기 복수의 단락에 대한 언어분석 결과 및 상기 질의에 대한 언어분석 결과를 바탕으로 상기 복수의 단락 내에서 상기 질의에 대한 적어도 하나의 정답을 결정하는 단계, 및
    상기 복수의 단락의 순위대로 상기 적어도 하나의 정답을 사용자 인터페이스 상에 표시하는 단계
    를 수행하는 질의응답 시스템.
  2. 제1항에서,
    상기 사용자로부터 문서 내에서 정답을 찾기 위한 질의가 입력되면, 상기 질의에 대한 언어분석을 수행하는 단계를 수행할 때, 상기 프로세서는 상기 프로그램을 실행하여,
    상기 문서를 전처리하는 단계
    를 수행하는, 질의응답 시스템.
  3. 제2항에서,
    상기 문서를 전처리하는 단계를 수행할 때, 상기 프로세서는 상기 프로그램을 실행하여,
    상기 문서를 마크업 언어 형식의 파일로 변환하고, 상기 마크업 언어 형식의 파일에서 인식된 결과를 자바스크립트 객체 표현 포맷으로 저장하는 단계
    를 수행하는, 질의응답 시스템.
  4. 제1항에서,
    상기 복수의 단락의 순위대로 상기 적어도 하나의 정답을 사용자 인터페이스 상에 표시하는 단계를 수행할 때, 상기 프로세서는 상기 프로그램을 실행하여,
    상기 적어도 하나의 정답이 위치하는 정답 단락의 순위, 상기 적어도 하나의 정답, 및 상기 정답 단락의 위치로 이동하기 위한 바로가기 링크를 상기 인터페이스 상에 표시하는 단계
    를 수행하는, 질의응답 시스템.
  5. 제1항에서,
    상기 복수의 단락에 대한 언어분석 결과 및 상기 질의에 대한 언어분석 결과를 바탕으로 상기 복수의 단락 내에서 상기 질의에 대한 적어도 하나의 정답을 결정하는 단계를 수행할 때, 상기 프로세서는 상기 프로그램을 실행하여,
    질의, 단락, 및 정답 정보로 구성된 학습데이터를 사용하여 기계학습된 딥러닝 모델을 사용하여 상기 단락 내에서 상기 적어도 하나의 정답을 결정하는 단계
    를 수행하는, 질의응답 시스템.
  6. 제1항에서,
    상기 문서 내의 복수의 단락에 대한 언어분석 결과 및 상기 질의에 대한 언어분석 결과를 바탕으로 상기 복수의 단락의 순위를 매기는 단계를 수행할 때, 상기 프로세서는 상기 프로그램을 실행하여,
    질의에 대한 정답을 포함하는 단락 및 질의에 대한 정답이 포함되어 있지 않은 단락의 쌍을 학습데이터로서 사용하여 기계학습된 딥러닝 모델을 사용하여 상기 복수의 단락의 순위를 매기는 단계
    를 수행하는, 질의응답 시스템.
  7. 워드 프로세서로 작성된 문서에 대한 질의응답 방법으로서,
    사용자로부터 문서 내에서 정답을 찾기 위한 질의가 입력되면, 상기 질의에 대한 언어분석을 수행하는 단계,
    상기 문서 내의 복수의 단락에 대한 언어분석 결과 및 상기 질의에 대한 언어분석 결과를 바탕으로 상기 복수의 단락의 순위를 매기는 단계,
    상기 복수의 단락에 대한 언어분석 결과 및 상기 질의에 대한 언어분석 결과를 바탕으로 상기 복수의 단락 내에서 상기 질의에 대한 적어도 하나의 정답을 결정하는 단계, 및
    상기 복수의 단락의 순위대로 상기 적어도 하나의 정답을 사용자 인터페이스 상에 표시하는 단계
    를 포함하는 질의응답 방법.
  8. 제7항에서,
    상기 사용자로부터 문서 내에서 정답을 찾기 위한 질의가 입력되면, 상기 질의에 대한 언어분석을 수행하는 단계는,
    상기 문서를 전처리하는 단계
    를 포함하는, 질의응답 방법.
  9. 제8항에서,
    상기 문서를 전처리하는 단계는,
    상기 문서를 마크업 언어 형식의 파일로 변환하고, 상기 마크업 언어 형식의 파일에서 인식된 결과를 자바스크립트 객체 표현 포맷으로 저장하는 단계
    를 포함하는, 질의응답 방법.
  10. 제7항에서,
    상기 복수의 단락의 순위대로 상기 적어도 하나의 정답을 사용자 인터페이스 상에 표시하는 단계는,
    상기 적어도 하나의 정답이 위치하는 정답 단락의 순위, 상기 적어도 하나의 정답, 및 상기 정답 단락의 위치로 이동하기 위한 바로가기 링크를 상기 인터페이스 상에 표시하는 단계
    를 포함하는, 질의응답 방법.
  11. 제7항에서,
    상기 복수의 단락에 대한 언어분석 결과 및 상기 질의에 대한 언어분석 결과를 바탕으로 상기 복수의 단락 내에서 상기 질의에 대한 적어도 하나의 정답을 결정하는 단계는,
    질의, 단락, 및 정답 정보로 구성된 학습데이터를 사용하여 기계학습된 딥러닝 모델을 사용하여 상기 단락 내에서 상기 적어도 하나의 정답을 결정하는 단계
    를 포함하는, 질의응답 방법.
  12. 제7항에서,
    상기 문서 내의 복수의 단락에 대한 언어분석 결과 및 상기 질의에 대한 언어분석 결과를 바탕으로 상기 복수의 단락의 순위를 매기는 단계는,
    질의에 대한 정답을 포함하는 단락 및 질의에 대한 정답이 포함되어 있지 않은 단락의 쌍을 학습데이터로서 사용하여 기계학습된 딥러닝 모델을 사용하여 상기 복수의 단락의 순위를 매기는 단계
    를 포함하는, 질의응답 방법.


KR1020220096164A 2022-08-02 2022-08-02 워드 프로세서의 문서에 대한 질의응답 시스템 및 방법 KR20240018197A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220096164A KR20240018197A (ko) 2022-08-02 2022-08-02 워드 프로세서의 문서에 대한 질의응답 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220096164A KR20240018197A (ko) 2022-08-02 2022-08-02 워드 프로세서의 문서에 대한 질의응답 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20240018197A true KR20240018197A (ko) 2024-02-13

Family

ID=89899590

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220096164A KR20240018197A (ko) 2022-08-02 2022-08-02 워드 프로세서의 문서에 대한 질의응답 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20240018197A (ko)

Similar Documents

Publication Publication Date Title
US10642938B2 (en) Artificial intelligence based method and apparatus for constructing comment graph
US11210468B2 (en) System and method for comparing plurality of documents
US10664530B2 (en) Control of automated tasks executed over search engine results
US10380149B2 (en) Question sentence generating device and computer program
US8849725B2 (en) Automatic classification of segmented portions of web pages
CN101878476B (zh) 用于查询扩展的机器翻译
Kowalski Information retrieval architecture and algorithms
WO2019229769A1 (en) An auto-disambiguation bot engine for dynamic corpus selection per query
US11106873B2 (en) Context-based translation retrieval via multilingual space
US20160171094A1 (en) Answering Questions Via a Persona-Based Natural Language Processing (NLP) System
CN109101533B (zh) 自动化阅读理解
US11977589B2 (en) Information search method, device, apparatus and computer-readable medium
US20070219945A1 (en) Key phrase navigation map for document navigation
US20150113388A1 (en) Method and apparatus for performing topic-relevance highlighting of electronic text
US20140101544A1 (en) Displaying information according to selected entity type
US20140101606A1 (en) Context-sensitive information display with selected text
CN103064956A (zh) 用于搜索电子内容的方法、计算系统和计算机可读介质
US20140101542A1 (en) Automated data visualization about selected text
CN110647618A (zh) 对话查询应答系统
US11562593B2 (en) Constructing a computer-implemented semantic document
CN117688163B (zh) 基于指令微调和检索增强生成的在线智能问答方法及装置
JP2024091709A (ja) 文作成装置、文作成方法および文作成プログラム
US20170075915A1 (en) Search suggestions using fuzzy-score matching and entity co-occurrence
US11681732B2 (en) Tuning query generation patterns
CN115730158A (zh) 一种搜索结果展示方法、装置、计算机设备及存储介质