KR20240018197A - 워드 프로세서의 문서에 대한 질의응답 시스템 및 방법 - Google Patents
워드 프로세서의 문서에 대한 질의응답 시스템 및 방법 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000004458 analytical method Methods 0.000 claims abstract description 93
- 238000007781 pre-processing Methods 0.000 claims description 20
- 238000013136 deep learning model Methods 0.000 claims description 12
- 238000012549 training Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000007373 indentation Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/34—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning 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
본 기재는 워드 프로세서의 문서에 대한 질의응답 시스템 및 방법에 관한 것이다.
질의응답 기술은 자연어 질의가 입력되면 문서 컬렉션으로부터 질의와 유사한 문서 또는 단락들을 검색하고 순위화 하여 기계독해 기술을 이용하여 질의에 대응하는 정답을 추출할 수 있다. 대용량의 문서 또는 단락을 빠르고 효율적으로 검색하기 위해서는 색인이라는 과정이 필요하다. 색인은 대용량의 문서 컬렉션에 대해 키워드 또는 의미 단위의 구, 절, 또는 실수값으로 이루어진 벡터 단위 정보와 문서 번호 등을 저장하는 과정을 의미한다. 자연어 질의가 입력되면 질의에 포함된 키워드 또는 벡터를 이용하여 색인된 정보에서 질문과 가장 유사한 문서 또는 단락이 BM25, 코사인 유사도 등을 통해 추출되고, 추출된 결과는 딥러닝 모델 등에 의해 순위화되고, 기계독해 기술을 이용하여 정답이 추출될 수 있다. 이러한 질의응답 시스템은 사전에 대용량의 문서 컬렉션의 색인 이후에 사용되므로, 컬렉션 정보가 추가되거나 업데이트되면 별도의 증분 색인 또는 업데이트 색인 기술을 이용하여 주기적으로 추가 색인된 이후 질의응답 서비스가 제공될 수 있다.
현재의 질의응답 시스템에 따르면, 사용자가 현재 자신이 보고 있는 문서 내에서 질의응답을 하기 위해서 그 문서가 미리 색인되어 있을 필요가 있다. 문서가 색인되지 않으면 사용자는 직접 문서 내에서 특정 키워드로 검색한 후 검색된 모든 지점에서 직접 내용을 읽고 정보를 얻어야 한다.
한 실시예는, 워드 프로세서로 작성된 문서에 대한 질의응답 시스템을 제공한다.
다른 실시예는, 워드 프로세서로 작성된 문서에 대한 질의응답 방법을 제공한다.
한 실시예에 따르면 질의응답 시스템이 제공된다. 상기 질의응답 시스템은 프로세서 및 메모리를 포함하고, 상기 프로세서는 메모리에 저장된 프로그램을 실행하여, 사용자로부터 문서 내에서 정답을 찾기 위한 질의가 입력되면, 질의에 대한 언어분석을 수행하는 단계, 문서 내의 복수의 단락에 대한 언어분석 결과 및 질의에 대한 언어분석 결과를 바탕으로 복수의 단락의 순위를 매기는 단계, 복수의 단락에 대한 언어분석 결과 및 질의에 대한 언어분석 결과를 바탕으로 복수의 단락 내에서 질의에 대한 적어도 하나의 정답을 결정하는 단계, 및 복수의 단락의 순위대로 적어도 하나의 정답을 사용자 인터페이스 상에 표시하는 단계를 수행한다.
한 실시예에서, 사용자로부터 문서 내에서 정답을 찾기 위한 질의가 입력되면, 질의에 대한 언어분석을 수행하는 단계를 수행할 때, 프로세서는 프로그램을 실행하여, 문서를 전처리하는 단계를 수행할 수 있다.
한 실시예에서, 문서를 전처리하는 단계를 수행할 때, 프로세서는 프로그램을 실행하여, 문서를 마크업 언어 형식의 파일로 변환하고, 마크업 언어 형식의 파일에서 인식된 결과를 자바스크립트 객체 표현 포맷으로 저장하는 단계를 수행할 수 있다.
한 실시예에서, 복수의 단락의 순위대로 적어도 하나의 정답을 사용자 인터페이스 상에 표시하는 단계를 수행할 때, 프로세서는 프로그램을 실행하여, 적어도 하나의 정답이 위치하는 정답 단락의 순위, 적어도 하나의 정답, 및 정답 단락의 위치로 이동하기 위한 바로가기 링크를 인터페이스 상에 표시하는 단계를 수행할 수 있다.
한 실시예에서, 복수의 단락에 대한 언어분석 결과 및 질의에 대한 언어분석 결과를 바탕으로 복수의 단락 내에서 질의에 대한 적어도 하나의 정답을 결정하는 단계를 수행할 때, 프로세서는 프로그램을 실행하여, 질의, 단락, 및 정답 정보로 구성된 학습데이터를 사용하여 기계학습된 딥러닝 모델을 사용하여 단락 내에서 적어도 하나의 정답을 결정하는 단계를 수행할 수 있다.
한 실시예에서, 문서 내의 복수의 단락에 대한 언어분석 결과 및 질의에 대한 언어분석 결과를 바탕으로 복수의 단락의 순위를 매기는 단계를 수행할 때, 프로세서는 프로그램을 실행하여, 질의에 대한 정답을 포함하는 단락 및 질의에 대한 정답이 포함되어 있지 않은 단락의 쌍을 학습데이터로서 사용하여 기계학습된 딥러닝 모델을 사용하여 복수의 단락의 순위를 매기는 단계를 수행할 수 있다.
다른 실시예에 따르면, 워드 프로세서로 작성된 문서에 대한 질의응답 방법이 제공된다. 상기 질의응답 방법은, 사용자로부터 문서 내에서 정답을 찾기 위한 질의가 입력되면, 질의에 대한 언어분석을 수행하는 단계, 문서 내의 복수의 단락에 대한 언어분석 결과 및 질의에 대한 언어분석 결과를 바탕으로 복수의 단락의 순위를 매기는 단계, 복수의 단락에 대한 언어분석 결과 및 질의에 대한 언어분석 결과를 바탕으로 복수의 단락 내에서 질의에 대한 적어도 하나의 정답을 결정하는 단계, 및 복수의 단락의 순위대로 적어도 하나의 정답을 사용자 인터페이스 상에 표시하는 단계를 포함한다.
다른 실시예에서, 사용자로부터 문서 내에서 정답을 찾기 위한 질의가 입력되면, 질의에 대한 언어분석을 수행하는 단계는, 문서를 전처리하는 단계를 포함할 수 있다.
다른 실시예에서, 문서를 전처리하는 단계는, 문서를 마크업 언어 형식의 파일로 변환하고, 마크업 언어 형식의 파일에서 인식된 결과를 자바스크립트 객체 표현 포맷으로 저장하는 단계를 포함할 수 있다.
다른 실시예에서, 복수의 단락의 순위대로 적어도 하나의 정답을 사용자 인터페이스 상에 표시하는 단계는, 적어도 하나의 정답이 위치하는 정답 단락의 순위, 적어도 하나의 정답, 및 정답 단락의 위치로 이동하기 위한 바로가기 링크를 인터페이스 상에 표시하는 단계를 포함할 수 있다.
다른 실시예에서, 복수의 단락에 대한 언어분석 결과 및 질의에 대한 언어분석 결과를 바탕으로 복수의 단락 내에서 질의에 대한 적어도 하나의 정답을 결정하는 단계는, 질의, 단락, 및 정답 정보로 구성된 학습데이터를 사용하여 기계학습된 딥러닝 모델을 사용하여 단락 내에서 적어도 하나의 정답을 결정하는 단계를 포함할 수 있다.
다른 실시예에서, 문서 내의 복수의 단락에 대한 언어분석 결과 및 질의에 대한 언어분석 결과를 바탕으로 복수의 단락의 순위를 매기는 단계는, 질의에 대한 정답을 포함하는 단락 및 질의에 대한 정답이 포함되어 있지 않은 단락의 쌍을 학습데이터로서 사용하여 기계학습된 딥러닝 모델을 사용하여 복수의 단락의 순위를 매기는 단계를 포함할 수 있다.
사용자가 문서 내에서 자연어 질의를 입력하면, 색인이나 검색 기술 등을 사용하지 않고 사용자에게 사용자가 원하는 정답 및 정답이 위치한 단락이 순위화하여 제공될 수 있다.
도 1은 한 실시예에 따른 질의응답 시스템이 동작하는 워드 프로세서의 UI를 나타낸 도면이다.
도 2는 한 실시예에 따른 질의응답 시스템을 나타낸 블록도이다.
도 3은 한 실시예에 따른 질의응답 방법을 나타낸 흐름도이다.
도 4는 한 실시예에 따른 질의응답 시스템의 문서 전처리 방법을 나타낸 개념도이다.
도 5는 다른 실시예에 따른 질의응답 시스템을 나타낸 블록도이다.
도 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항에서,
상기 복수의 단락의 순위대로 상기 적어도 하나의 정답을 사용자 인터페이스 상에 표시하는 단계를 수행할 때, 상기 프로세서는 상기 프로그램을 실행하여,
상기 적어도 하나의 정답이 위치하는 정답 단락의 순위, 상기 적어도 하나의 정답, 및 상기 정답 단락의 위치로 이동하기 위한 바로가기 링크를 상기 인터페이스 상에 표시하는 단계
를 수행하는, 질의응답 시스템. - 제1항에서,
상기 복수의 단락에 대한 언어분석 결과 및 상기 질의에 대한 언어분석 결과를 바탕으로 상기 복수의 단락 내에서 상기 질의에 대한 적어도 하나의 정답을 결정하는 단계를 수행할 때, 상기 프로세서는 상기 프로그램을 실행하여,
질의, 단락, 및 정답 정보로 구성된 학습데이터를 사용하여 기계학습된 딥러닝 모델을 사용하여 상기 단락 내에서 상기 적어도 하나의 정답을 결정하는 단계
를 수행하는, 질의응답 시스템. - 제1항에서,
상기 문서 내의 복수의 단락에 대한 언어분석 결과 및 상기 질의에 대한 언어분석 결과를 바탕으로 상기 복수의 단락의 순위를 매기는 단계를 수행할 때, 상기 프로세서는 상기 프로그램을 실행하여,
질의에 대한 정답을 포함하는 단락 및 질의에 대한 정답이 포함되어 있지 않은 단락의 쌍을 학습데이터로서 사용하여 기계학습된 딥러닝 모델을 사용하여 상기 복수의 단락의 순위를 매기는 단계
를 수행하는, 질의응답 시스템. - 워드 프로세서로 작성된 문서에 대한 질의응답 방법으로서,
사용자로부터 문서 내에서 정답을 찾기 위한 질의가 입력되면, 상기 질의에 대한 언어분석을 수행하는 단계,
상기 문서 내의 복수의 단락에 대한 언어분석 결과 및 상기 질의에 대한 언어분석 결과를 바탕으로 상기 복수의 단락의 순위를 매기는 단계,
상기 복수의 단락에 대한 언어분석 결과 및 상기 질의에 대한 언어분석 결과를 바탕으로 상기 복수의 단락 내에서 상기 질의에 대한 적어도 하나의 정답을 결정하는 단계, 및
상기 복수의 단락의 순위대로 상기 적어도 하나의 정답을 사용자 인터페이스 상에 표시하는 단계
를 포함하는 질의응답 방법. - 제7항에서,
상기 사용자로부터 문서 내에서 정답을 찾기 위한 질의가 입력되면, 상기 질의에 대한 언어분석을 수행하는 단계는,
상기 문서를 전처리하는 단계
를 포함하는, 질의응답 방법. - 제8항에서,
상기 문서를 전처리하는 단계는,
상기 문서를 마크업 언어 형식의 파일로 변환하고, 상기 마크업 언어 형식의 파일에서 인식된 결과를 자바스크립트 객체 표현 포맷으로 저장하는 단계
를 포함하는, 질의응답 방법. - 제7항에서,
상기 복수의 단락의 순위대로 상기 적어도 하나의 정답을 사용자 인터페이스 상에 표시하는 단계는,
상기 적어도 하나의 정답이 위치하는 정답 단락의 순위, 상기 적어도 하나의 정답, 및 상기 정답 단락의 위치로 이동하기 위한 바로가기 링크를 상기 인터페이스 상에 표시하는 단계
를 포함하는, 질의응답 방법. - 제7항에서,
상기 복수의 단락에 대한 언어분석 결과 및 상기 질의에 대한 언어분석 결과를 바탕으로 상기 복수의 단락 내에서 상기 질의에 대한 적어도 하나의 정답을 결정하는 단계는,
질의, 단락, 및 정답 정보로 구성된 학습데이터를 사용하여 기계학습된 딥러닝 모델을 사용하여 상기 단락 내에서 상기 적어도 하나의 정답을 결정하는 단계
를 포함하는, 질의응답 방법. - 제7항에서,
상기 문서 내의 복수의 단락에 대한 언어분석 결과 및 상기 질의에 대한 언어분석 결과를 바탕으로 상기 복수의 단락의 순위를 매기는 단계는,
질의에 대한 정답을 포함하는 단락 및 질의에 대한 정답이 포함되어 있지 않은 단락의 쌍을 학습데이터로서 사용하여 기계학습된 딥러닝 모델을 사용하여 상기 복수의 단락의 순위를 매기는 단계
를 포함하는, 질의응답 방법.
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) |
-
2022
- 2022-08-02 KR KR1020220096164A patent/KR20240018197A/ko unknown
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) | 一种搜索结果展示方法、装置、计算机设备及存储介质 |