KR102571209B1 - 문서비교방법 및 그 장치 - Google Patents
문서비교방법 및 그 장치 Download PDFInfo
- Publication number
- KR102571209B1 KR102571209B1 KR1020210107534A KR20210107534A KR102571209B1 KR 102571209 B1 KR102571209 B1 KR 102571209B1 KR 1020210107534 A KR1020210107534 A KR 1020210107534A KR 20210107534 A KR20210107534 A KR 20210107534A KR 102571209 B1 KR102571209 B1 KR 102571209B1
- Authority
- KR
- South Korea
- Prior art keywords
- document
- comparison
- text
- reference document
- text line
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- 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
-
- 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/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/106—Display of layout of documents; Previewing
-
- 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/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
문서비교방법 및 그 장치가 개시된다. 문서비교장치는 기준문서 및 대조문서의 텍스트라인 단위 비교를 통해 동일 텍스트라인을 파악하고, 기준문서와 대조문서의 동일 텍스트라인 사이에 위치한 비동일 텍스트라인을 비교하여 기준문서 대비 대조문서에서 텍스트라인의 삭제, 추가 또는 변경을 파악하고, 삭제 텍스트라인, 추가 텍스트라인 또는 변경 텍스트라인을 기 정의된 표시방법으로 기준문서 또는 대조문서에 반영한 비교문서를 생성하고, 비교문서의 텍스트라인을 기초로 기준문서에 공백을 추가하여 기준문서와 비교문서에서 서로 대응되는 텍스트라인의 위치를 일치시킨다.
Description
본 발명의 실시 예는 문서비교방법 및 그 장치에 관한 것으로, 보다 상세하게는 두 문서의 차이나는 부분을 파악하여 보여줄 수 있는 문서비교방법 및 그 장치에 관한 것이다.
각종 보고서나 법조문, 계약서, 약관, 제품설명서 등 다양한 문서가 컴퓨터의 문서작성프로그램(예를 들어, 마이크로소프트 워드(MS-WORD 파일), 한컴오피스(HWP 파일) 등)을 통해 작성된다. 새로운 문서가 작성된 경우에 기존 문서와 대비하여 어떤 부분이 변경되었는지 살펴보는 것이 새로운 문서를 이해하거나 검증하는데 도움이 될 수 있다. 예를 들어, 법조문이나 계약서, 약관, 제품설명서 등의 내용이 갱신되는 경우에, 기존 문서와 갱신된 문서를 함께 표시하여 어떤 부분이 변경되었는지 제시함으로써 갱신 문서에 변경사항이 제대로 반영되었는지 용이하게 검증할 수 있을 뿐만 아니라 기존 문서 대비 변경된 부분을 용이하게 파악할 수 있어 갱신 문서 전체를 다시 일일이 파악하여야 하는 부담을 덜 수 있다.
그러나 이러한 대조 문서를 생성하기 위해서는 담당자가 기존 문서와 갱신 문서 사이의 변경된 부분을 일일이 파악하여 표시하고 두 문서의 위치를 일치시키는 작업을 수작업으로 하여야 하는 불편함이 존재한다. 만약 빈번한 문서 갱신이 일어나고, 또한 비교하여야 할 문서의 개수가 많아지면 이를 담당자가 일일이 수작업으로 진행하는데 한계가 존재한다.
본 발명의 실시 예가 이루고자 하는 기술적 과제는, 두 문서의 변경된 부분을 자동으로 파악하고 두 문서의 대응되는 문장의 위치를 자동으로 일치시켜 제공할 수 있는 문서비교방법 및 그 장치를 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명의 실시 예에 따른 문서비교방법의 일 예는, 문서비교장치가 수행하는 문서 비교 방법에 있어서, 기준문서 및 대조문서의 텍스트라인 단위 비교를 통해 동일 텍스트라인을 파악하는 단계; 상기 기준문서와 상기 대조문서의 동일 텍스트라인 사이에 위치한 비동일 텍스트라인을 비교하여 상기 기준문서 대비 상기 대조문서에서 텍스트라인의 삭제, 추가 또는 변경을 파악하는 단계; 삭제 텍스트라인, 추가 텍스트라인 또는 변경 텍스트라인을 기 정의된 표시방법으로 상기 기준문서 또는 상기 대조문서에 반영한 비교문서를 생성하는 단계; 및 상기 비교문서의 텍스트라인을 기초로 상기 기준문서에 공백을 추가하여 상기 기준문서와 상기 비교문서에서 서로 대응되는 텍스트라인의 위치를 일치시키는 단계;를 포함한다.
상기의 기술적 과제를 달성하기 위한, 본 발명의 실시 예에 따른 문서비교장치의 일 예는, 기준문서 및 대조문서의 텍스트라인 단위 비교를 통해 동일 텍스트라인을 파악하는 라인비교부; 상기 기준문서와 상기 대조문서의 동일 텍스트라인 사이에 위치한 비동일 텍스트라인을 비교하여 상기 기준문서 대비 상기 대조문서에서 텍스트라인의 삭제, 추가 또는 변경을 파악하는 변경사항파악부; 삭제 텍스트라인, 추가 텍스트라인 또는 변경 텍스트라인을 각각 기 정의된 표시방법으로 상기 기준문서 또는 상기 대조문서에 반영한 비교문서를 생성하는 비교문서생성부; 및 상기 비교문서의 텍스트라인을 기초로 상기 기준문서에 공백을 추가하여 상기 기준문서와 상기 비교문서에서 서로 대응되는 텍스트라인의 위치를 일치시키는 라인일치부;를 포함한다.
본 발명의 실시 예에 따르면, 두 문서의 변경된 부분을 자동으로 파악하여 제공할 수 있다. 또한 기준문서와 함께 대조문서의 변경된 부분을 한 화면에 라인을 일치시켜 표시할 수 있다. 또한 테이블과 이미지의 변경 여부도 파악하여 제공할 수 있다.
도 1은 본 발명의 실시 예에 따른 문서비교장치의 일 예를 도시한 도면,
도 2 내지 도 7은 본 발명의 실시 예에 따른 문서비교장치가 제공하는 사용자 인터페이스의 일 예를 도시한 도면,
도 8은 본 발명의 실시 예에 따른 문서 비교 방법의 일 예를 도시한 흐름도,
도 9는 본 발명의 실시 예에 적용되는 마크업 언어로 구성된 문서의 예를 도시한 도면,
도 10은 본 발명의 실시 예에 따른 문서로부터 리스트를 추출하는 일 예를 도시한 도면,
도 11은 본 발명의 실시 예에 따른 기준문서와 대조문서의 텍스트리스트의 일 예를 비교 도시한 도면,
도 12는 본 발명의 실시 예에 따른 텍스트라인 단위 비교 방법의 일 예를 도시한 도면,
도 13은 본 발명의 실시 예에 따른 비교문서의 생성 방법의 일 예를 도시한 도면,
도 14는 본 발명의 실시 예에 따른 기준문서와 비교문서 사이의 텍스트라인을 일치시키는 방법의 일 예를 도시한 도면,
도 15는 본 발명의 실시 예에 따른 테이블 비교 방법의 일 예를 도시한 흐름도,
도 16은 본 발명의 실시 예에 따른 테이블 비교 결과의 일 예를 도시한 도면,
도 17은 본 발명의 실시 예에 따른 이미지 비교 방법의 일 예를 도시한 흐름도,
도 18은 본 발명의 실시 예에 따른 이미지 비교 결과의 일 예를 도시한 도면, 그리고,
도 19는 본 발명의 실시 예에 따른 문서비교장치의 일 예의 구성을 도시한 도면이다.
도 2 내지 도 7은 본 발명의 실시 예에 따른 문서비교장치가 제공하는 사용자 인터페이스의 일 예를 도시한 도면,
도 8은 본 발명의 실시 예에 따른 문서 비교 방법의 일 예를 도시한 흐름도,
도 9는 본 발명의 실시 예에 적용되는 마크업 언어로 구성된 문서의 예를 도시한 도면,
도 10은 본 발명의 실시 예에 따른 문서로부터 리스트를 추출하는 일 예를 도시한 도면,
도 11은 본 발명의 실시 예에 따른 기준문서와 대조문서의 텍스트리스트의 일 예를 비교 도시한 도면,
도 12는 본 발명의 실시 예에 따른 텍스트라인 단위 비교 방법의 일 예를 도시한 도면,
도 13은 본 발명의 실시 예에 따른 비교문서의 생성 방법의 일 예를 도시한 도면,
도 14는 본 발명의 실시 예에 따른 기준문서와 비교문서 사이의 텍스트라인을 일치시키는 방법의 일 예를 도시한 도면,
도 15는 본 발명의 실시 예에 따른 테이블 비교 방법의 일 예를 도시한 흐름도,
도 16은 본 발명의 실시 예에 따른 테이블 비교 결과의 일 예를 도시한 도면,
도 17은 본 발명의 실시 예에 따른 이미지 비교 방법의 일 예를 도시한 흐름도,
도 18은 본 발명의 실시 예에 따른 이미지 비교 결과의 일 예를 도시한 도면, 그리고,
도 19는 본 발명의 실시 예에 따른 문서비교장치의 일 예의 구성을 도시한 도면이다.
이하에서, 첨부된 도면들을 참조하여 본 발명의 실시 예에 따른 문서비교방법 및 그 장치에 대해 상세히 살펴본다.
도 1은 본 발명의 실시 예에 따른 문서비교장치의 일 예를 도시한 도면이다.
도 1을 참조하면, 문서비교장치(100)는 기준문서(110)와 대조문서(120)를 입력받으면 기준문서(110)와 대조문서(120) 사이의 변경된 부분을 파악하고, 변경된 부분를 기 정의된 방법으로 표시한 비교문서(130)를 생성하고 표시할 수 있다.
기준문서(110)와 대조문서(120)는 모두 컴퓨터가 읽을 수 있는 형태의 전자문서이다. 일 예로, 기준문서(110)와 대조문서(120)는 종래의 다양한 전자문서작성프로그램(예를 들어, MS-Word, 한컴오피스, PDF 등)에 의해 작성된 문서이거나, 마크업 언어(예를 들어, HTML(Hypertext Markup Language), XHTML(Extensible Hypertext Markup Language))로 구성된 문서일 수 있다. 다른 실시 예로, 종래의 다양한 형태의 문서가 마크업 언어 형태로 변환될 수 있다. 예를 들어, 한컴오피스의 문서를 마크업 언어로 변환하거나 MS-word 문서를 마크업 언어로 변환할 수 있다. 이때 종래의 다양한 종류의 문서 파일을 마크업 언어로 변환하는 종래의 다양한 변환 알고리즘이 본 실시 예에 적용될 수 있다.
문서비교장치(100)는 다양한 전자문서작성프로그램으로 작성된 문서를 기초로 본 실시 예의 문서 비교 과정을 수행할 수 있다. 다른 실시 예로, 문서비교장치(100)는 마크업 언어로 구성된 기준문서(110)와 대조문서(120)를 이용하여 문서 비교 과정을 수행할 수 있다. 또 다른 실시 예로, 문서비교장치(100)는 기존의 전자문서작성프로그램으로 작성된 문서를 마크업 언어의 문서로 변환한 후 문서 비교 과정을 수행할 수 있다. 이하에서는 설명의 편의를 위하여 기준문서(110) 및 대조문서(120)는 모두 마크업 언어로 구성된 문서인 경우를 가정하여 설명한다.
비교문서(130)는 기준문서(110)와 대조문서(120) 사이의 차이가 반영된 문서이다. 예를 들어, 문서비교장치는 기준문서를 기준으로 대조문서에 삭제 또는 추가된 부분을 표시한 비교문서(130)를 생성할 수 있다. 일 실시 예로, 기준문서(110) 및 대조문서(120)가 마크업 언어 형태인 경우에 기준문서(110) 또는 대조문서(120)를 기반으로 추가, 삭제, 변경 등의 부분을 기 정의된 태그로 표시하여 반영한 비교문서(130) 또한 마크업 언어 형태일 수 있다. 다른 실시 예로, 비교문서(130)는 종래의 다양항 형태의 문서(예를 들어, PDF 파일 등)일 수 있다. 또 다른 실시 예로, 문서비교장치는 기준문서(110)를 기반으로 삭제 부분을 표시한 제1 비교문서와 대조문서(120)를 기반으로 추가 부분을 표시한 제2 비교문서를 생성할 수 있다. 이하에서는 설명의 편의를 위하여 대조문서(120)를 기반으로 추가, 삭제, 변경된 부분을 모두 표시하여 비교문서(130)를 생성하는 경우를 가정하여 설명한다.
기준문서(110)와 대조문서(120) 비교를 위한 사용자 인터페이스(UI, User Interface)의 예에 대해 도 2 내지 도 7에서 살펴보고, 비교문서(130)를 생성하는 구체적인 방법에 대해 도 8 내지 도 18에서 살펴본다.
도 2 내지 도 7은 본 발명의 실시 예에 따른 문서비교장치가 제공하는 사용자 인터페이스의 일 예를 도시한 도면이다. 도 2 내지 도 7은 본 발명의 이해를 돕기 위한 하나의 예일 뿐 사용자 인터페이스는 실시 예에 따라 다양하게 변형 가능하며 본 실시 예에 한정되는 것은 아니다.
도 2를 참조하면, 문서비교장치(100)는 문서 등록을 위한 사용자 인터페이스(300)를 제공한다. 사용자 인터페이스(200)는 크게 기준문서 영역(210)과 비교문서 영역(220), 그리고 분석결과 표시영역(230)을 포함한다. 사용자는 기준문서 영역(210) 및 비교문서 영역에(220) 존재하는 각각의 사각형 박스(215,225)에 기준문서(110)와 대조문서(120)를 각각 드래그앤드랍(Drag & Drop)으로 옮겨 등록하거나, 사각형 박스(215,225) 내에 위치한 '신규문서'의 버튼 또는 '등록된 문서'의 버튼을 클릭하여 원하는 문서를 검색하여 선택할 수 있다. 여기서 '등록된 문서'는 이전에 문서비교를 위하여 이미 등록한 문서를 의미한다. 일 실시 예로, 등록되는 문서는 MS-word 파일, PDF 파일 등 종래의 다양한 전자문서 파일일 수 있으며, 이 경우 문서비교장치(100)는 해당 파일을 종래의 다양한 마크업 언어 변환 알고리즘을 이용하여 마크업 언어 형태로 변환할 수 있다.
도 3을 참조하면, 문서비교장치(100)는 사용자 인터페이스(200)를 통해 등록된 기준문서(110)와 대조문서(120)를 비교한 결과를 사용자 인터페이스(200)에 표시한다. 문서비교장치(100)는 문서의 비교 결과를 텍스트라인 단위로 표시할 수 있다. 여기서 텍스트라인은 문서에서 줄바꿈(예를 들어, 엔터(enter) 키)에 의해 구분된다. 예를 들어, 줄바꿈후 다음 줄바꿈이 나올 때까지 그 사이에 위치한 텍스트(즉, 문자열)는 하나의 텍스트라인에 속한다. 줄바꿈 이후에는 다시 다른 텍스트라인이 시작된다.
일 실시 예로, 문서비교장치(100)는 기준문서(110)를 기준문서 영역(210) 표시하고, 기준문서(110)와 대조문서(120) 사이의 변경된 부분을 반영한 비교문서를 비교문서 영역(220)에 표시할 수 있다. 다른 실시 예로, 문서비교장치(100)는 기준문서에 삭제 부분(예를 들어, 문자 가운데의 취소선 표시)을 반영하여 기준문서 영역(210)에 표시하고, 추가 부분(예를 들어, 밑줄표시)을 대조문서에 반영하여 비교문서 영역(220)에 표시할 수 있다. 또 다른 실시 예로, 사용자가 사용자 인터페이스에서 특정 텍스트라인(310)을 클릭하면, 문서비교장치(100)는 기준문서(110)와 대조문서(120)의 해당 텍스트라인을 별도의 팝업 창(320)에 표시할 수 있다.
기준문서(110)와 대조문서(120)는 대응되는 텍스트라인의 위치가 서로 일치하지 않을 수 있다. 이를 해결하기 위하여, 문서비교장치(100)는 이후 다시 살펴보겠지만 기준문서 영역(210)에 표시되는 기준문서(110)에 공백을 추가하여 기준문서(110)의 텍스트라인과 비교문서 영역(220)에 표시되는 비교문서(130)의 텍스터라인의 위치를 서로 일치시키는 과정을 수행할 수 있다.
사용자 인터페이스(200)에는 세로의 스크롤바(330)를 포함할 수 있다. 물론 스크롤바(330)는 생략될 수도 있다. 문서비교장치(100)는 스크롤바(330)에 문서의 삭제, 추가된 부분의 위치를 표시할 수 있다. 일 실시 예로, 문서비교장치(100)는 스크롤바(330)에 삭제, 추가, 또는 삭제와 추가가 동시에 발생한 부분의 위치를 색상이나 모양 등으로 서로 구분하여 표시할 수 있다. 또한, 문서비교장치(100)는 분석결과 표시영역(230)에 각각 변경된 부분만을 요약 표시(340)할 수 있다.
도 4를 참조하면, 문서비교장치(100)는 문서 비교 결과를 필터링하여 표시할 수 있다. 예를 들어, 문서비교장치는 수정방식(예를 들어, 삭제, 변경, 추가 등), 비교항목(예를 들어, 텍스트, 표, 이미지 등) 등을 선택할 수 있는 메뉴창(400)을 제공하고, 해당 메뉴창(400)을 통해 선택받은 수정방식이나 비교항목만을 화면 인터페이스에 표시할 수 있다.
도 5를 참조하면, 문서비교장치(100)는 문서 비교결과를 변경대비표(500)로 표시할 수 있다. 예를 들어, 사용자가 도 4의 사용자 인터페이스에서 '변경대비표 산출' 버튼(410)을 클릭하면, 문서비교장치(100)는 텍스트라인별 변경 타입과 변경 내용을 포함하는 문서 변경대비표(500)를 화면 또는 파일 형태로 출력할 수 있다.
도 6을 참조하면, 문서비교장치(100)는 사용자가 문서를 미리 등록할 수 있는 사용자 인터페이스(600)를 제공한다. 예를 들어, 문서비교장치(100)는 문서목록 리스트( 또는 파일 찾기 등을 통해 문서를 미리 등록할 수 있다. 문서비교장치(100)는 등록하는 문서의 미리보기(630) 기능을 제공할 수도 있다.
도 7을 참조하면, 문서비교장치(100)는 사용자 인터페이스(700)를 통해 복수의 기준문서(710) 및 복수의 대조문서(720)를 등록받은 후 이들 문서의 비교를 수행할 수 있다. 다시 말해, 문서비교장치(100)는 비동기 방식으로 여러 쌍의 문서 비교를 수행할 수 있다. 문서비교장치(100)는 문서 비교 결과를 파일 형태(예를 들어, PDF 파일)로 제공하거나 도 2의 사용자 인터페이스 등을 통해 화면으로 제공할 수 있다.
도 8은 본 발명의 실시 예에 따른 문서 비교 방법의 일 예를 도시한 흐름도이다.
도 8을 참조하면, 문서비교장치(100)는 기준문서와 대조문서의 텍스트라인 단위 비교를 통해 동일 텍스트라인을 파악한다(S800). 문서비교장치(100)는 텍스트라인 단위의 비교를 위하여 각 문서를 텍스트라인 단위로 구분할 수 있다. 예를 들어, 문서가 도 9와 같이 마크업 언어로 구성된 경우에 마크업 언어의 특정 태그(예를 들어, <div></div> 등)를 이용하여 각각의 텍스트라인을 파악할 수 있다. 텍스트라인은 줄바꿈에 의해 구분되므로 문서비교장치(100)는 마크업 언어의 태그(예를 들어, <div> 태그 등)를 기초로 줄바꿈 부분을 파악하여 문서의 각 텍스트라인을 구분할 수 있다.
문서비교장치(100)는 기준문서의 각 텍스트라인의 데이터와 대조문서의 각 텍스트라인의 데이터를 서로 비교하여 데이터가 일치하는 텍스트라인을 파악한다. 각 텍스트라인 사이의 비교를 위하여 종래의 다양한 텍스트 비교 알고리즘이 본 실시 예에 적용될 수 있다. 다른 실시 예로, 문서는 문자열 뿐만 아니라 테이블이나 이미지 등을 포함할 수 있다. 이 경우에 문서비교장치(100)는 텍스트라인 단위 비교를 위하여 문서 내 테이블과 이미지를 기 정의된 문자열로 구성된 하나의 텍스트라인으로 대체할 수 있으며, 이에 대해서는 도 9 내지 도 11에서 다시 살펴본다.
문서비교장치(100)는 기준문서와 대조문서의 동일 텍스트라인 사이에 위치한 비동일 텍스트라인을 비교하여 기준문서 대비 대조문서에서 텍스트라인의 삭제, 추가 또는 변경을 파악한다(S810). 다시 말해, 도 12와 같이 기준문서와 대조문서에서 서로 일치하는 복수 개의 텍스트라인이 존재하면, 문서비교장치(100)는 일치하는 두 텍스트라인 사이에 위치한 비동일 텍스트라인에 대한 추가적인 비교를 통해 두 문서 사이의 삭제 텍스트라인, 추가 텍스트라인, 변형 텍스트라인 등을 파악한다. 여기서, 삭제 텍스트라인은 기준문서에 존재하나 대조문서에 존재하지 않은 텍스트라인을 의미하고, 추가 텍스트라인은 기준문서에 존재하지 않으나 대조문서에 존재하는 텍스트라인을 의미하고, 변형 텍스트라인은 기준문서와 대조문서에 유사도가 일정 이상으로 존재하는 텍스트라인을 의미한다. 비동일 텍스트라인의 비교에 대해서는 도 12에서 다시 살펴본다.
문서비교장치(100)는 삭제 텍스트라인, 추가 텍스트라인 또는 변경 텍스트라인을 각각 기 정의된 표시방법으로 기준문서 또는 대조문서에 반영한 비교문서를 생성한다(S820). 예를 들어, 문서가 마크업 언어로 구성된 경우에, 문서비교장치(100)는 대조문서에 삭제를 나타내는 태그(예를 들어, <del>), 추가를 나타내는 태그(예를 들어, <ins>)를 이용하여 삭제 텍스트라인, 추가 텍스트라인, 변경 텍스트라인 등을 반영할 수 있다. 대조문서를 기반으로 문서 변경 사항을 반영한 비교문서를 생성하는 방법의 일 예에 대해서 도 13에 도시되어 있다.
문서비교장치(100)는 비교문서의 텍스트라인을 기초로 기준문서에 공백을 추가하여 기준문서와 비교문서에서 서로 대응되는 텍스트라인의 위치를 일치시킨다(S830). 기준문서 대비 대조문서에서 일부 텍스트라인이 삭제되거나 추가된 경우에 기준문서와 대조문서의 서로 대응하는 텍스트라인의 위치가 서로 다를 수 있다. 예를 들어, 도 12에서 기준문서와 대조문서에서 서로 일치하는 텍스트라인A의 위치가 기준문서와 비교문서에서 서로 다를 수 있다. 문서비교장치(100)는 비교문서를 기준으로 기준문서에 공백을 추가하여 두 문서의 텍스트라인을 맞출 수 있으며, 이에 대한 일 예가 도 14에 도시되어 있다.
다른 실시 예로, 문서는 텍스트 외에 테이블 또는 이미지를 더 포함할 수 있다. 이 경우에 문서비교장치(100)는 기준문서와 대조문서의 테이블 또는 이미지를 비교하여 추가, 삭제, 변형 등을 파악하는 과정을 추가적으로 수행할 수 있다. 테이블을 비교하는 방법에 대해서는 도 15 및 도 16에서 다시 살펴보고, 이미지를 비교하는 방법에 대해서는 도 17 및 도 18에서 다시 살펴본다.
문서비교장치(100)는 기준문서와 대조문서의 비교결과를 도 2 내지 도 7에서 설명한 사용자 인터페이스를 통해 제공할 수 있다(S840).
도 9는 본 발명의 실시 예에 적용되는 마크업 언어로 구성된 문서의 예를 도시한 도면이다.
도 9를 참조하면, 마크업 언어로 구성된 문서(900)는 문서 내 존재하는 텍스트(문자열 등)(910,920), 이미지(930), 테이블(940) 등을 각각 서로 다른 태그로 구분하여 표시한다. 예를 들어, 문서의 본문 내용은 "page"로 구분되는 영역에 포함되고, 본문 내용 중 테이블(940)은 "table" 태그로 표시되고, 이미지(930)는 "img" 태그로 표시된다. 마크업 언어에서 각 태그의 역할 및 내용은 이미 널리 알려진 내용이므로 이에 대한 추가적인 설명은 생략한다.
본 실시 예에서, 문서(900)는 두 텍스트라인으로 구성된 텍스트(910,920), 이미지(930) 및 테이블(940)을 포함한다. 문서가 텍스트 외에 테이블(940)과 이미지(930)를 포함하는 경우에 테이블(940)과 이미지(930)의 변경 여부를 파악할 수 있도록 문서비교장치(100)는 도 10과 같이 텍스트 리스트, 테이블 리스트 및 이미지 리스트를 각각 구분하여 생성할 수 있다.
도 10은 본 발명의 실시 예에 따른 문서로부터 리스트를 추출하는 일 예를 도시한 도면이다.
도 10을 참조하면, 문서비교장치(100)는 문서(1000)에서 텍스트 리스트(1010), 테이블 리스트(1020), 이미지 리스트(1030)를 추출하여 생성한다.
텍스트리스트(1010)는 일반적인 텍스트를 포함하는 일반 텍스트라인(1055)(도 9의 910,920에 대응)과 함께 테이블을 나타내는 테이블 텍스트라인(1060)(도 9의 940에 대응) 또는 이미지를 나타내는 이미지 텍스트라인(1055)(도 9의 930에 대응)을 포함할 수 있다. 물론 문서 내에 테이블이나 이미지가 존재하지 않는다면 텍스트리스트(1010)는 일반 텍스트라인(1050)으로만 구성된다. 테이블 텍스트라인(1060)은 마크업 언어로 구성된 문서 내 테이블(도 9의 940)에서 내용을 제외하고 테이블 틀(구조)에 대한 정보의 문자열로 구성될 수 있다. 테이블 텍스트라인(1060)이 테이블 틀에 대한 정보로만 구성되므로, 텍스트라인 단위 비교에서, 내용을 제외한 동일 구조의 테이블이 기준문서와 대조문서에 존재하는지 비교 파악할 수 있다. 다른 실시 예로, 테이블 텍스트라인(1060)은 기 정의된 문자열(예를 들어, "ThisIsPostionOfTable")로 표현되고, 테이블의 틀(구조)에 대한 정보는 테이블 리스트를 참조하여 파악할 수 있다. 이미지 텍스트라인(1055)은 문서 내 이미지(도 9의 930)가 존재하면 해당 이미지가 존재함을 나타낼 수 있는 기 정의된 문자열(예를 들어, '[ThisIsPositionOfImage]')로 대체된다. 이미지 텍스트라인(1055)을 통해 기준문서와 대조문서에서 서로 대응되는 위치에 이미지가 존재하는지를 파악할 수 있다.
테이블리스트(1020)는 문서에 존재하는 테이블에 대한 정보를 포함하는 텍스트라인(1025)으로 구성된다. 하나의 테이블(도 9의 940)이 테이블리스트(1020)에서 하나의 텍스트라인이 된다. 테이블리스트(1020)에 포함된 텍스트라인에는 테이블의 내용과 테이블의 틀을 포함하는 테이블 전체의 내용이 포함된다.
이미지리스트(1030)는 문서에 존재하는 이미지에 대한 정보를 포함하는 텍스트라인(1035)으로 구성된다. 마크업 언어로 구성된 문서에서 이미지는 도 9와 같이 이미지의 저장 위치를 표시하는 태그로 표현된다. 이미지리스트(1030)의 텍스트라인은 문서 내 이미지 태그의 내용과 동일한다.
문서비교장치(100)는 기준문서 및 대조문서에 대하여 도 10과 같이 각각의 텍스트리스트, 테이블리스트 및 이미지리스트를 추출하여 생성한 후 이를 기초로 서로 비교할 수 있다.
도 11은 본 발명의 실시 예에 따른 기준문서와 대조문서의 텍스트리스트의 일 예를 비교 도시한 도면이다.
도 11을 참조하면, 기준문서(1110)와 대조문서(1120)의 텍스트리스트는 일반 텍스트라인과 함께 테이블의 틀(즉, 구조) 정보만을 포함하는 테이블 텍스트라인(1130)을 포함한다. 문서비교장치(100)는 테이블이 하나의 텍스트라인으로 표시된 기준문서(1110)와 대조문서(1120)의 텍스트리스트를 이용하여 두 문서 사이에서 일치하는 텍스트라인을 파악할 수 있다.
문서에 테이블이 포함된 경우에 테이블은 테이블 텍스트라인(1130)으로 변형되어 텍스트리스트에 포함되므로, 문서비교장치(100)는 텍스트리스트의 비교를 통해 테이블 텍스트라인의 동일 여부를 파악할 수 있다. 다시 말해, 일반 텍스트라인의 동일 여부 뿐만 아니라 테이블 텍스트라인 또는 이미지 텍스트라인의 동일 여부도 텍스트라인 단위 비교를 통해 파악될 수 있다.
도 12는 본 발명의 실시 예에 따른 텍스트라인 단위 비교 방법의 일 예를 도시한 도면이다.
도 12를 참조하면, 문서비교장치(100)는 기준문서(1200)의 텍스트라인과 대조문서(1250)의 텍스트라인을 각각 비교하여 동일 텍스트라인을 파악한다. 이때 문서비교장치(100)는 도 10 및 도 11에서 살핀 바와 같이 텍스트리스트를 기준으로 텍스트라인 단위 비교를 수행할 수 있다.
예를 들어, 문서비교장치(100)는 기준문서(1200)의 텍스트라인A(1210)와 동일한 텍스트라인(대조문서의 텍스트라인A(1260))이 대조문서(1250)에 존재하는지 파악할 수 있다. 이와 같은 방법으로 문서비교장치는 기준문서(1200)의 텍스트라인A(1210) 및 텍스트라인B(1240)와 동일한 텍스트라인(1260,1280)이 대조문서(1260)에 존재하는 것을 파악할 수 있다.
문서비교장치(100)는 기준문서(1200)와 대조문서(1250)의 동일 텍스트라인(1210 vs. 1260, 1240 vs. 1280)이 서로 교차하여 위치하지 않도록 검색할 수 있다. 예를 들어, 기준문서(1200)의 텍스트라인A(1210)와 대조문서(1250)의 텍스트라인A(1260)가 검색된 후에, 문서비교장치(100)는 기준문서(1200)의 텍스트라인B(1240)와 동일한 텍스트라인을 대조문서(1250)의 텍스트라인A(1260) 이후부터 검색할 수 있다. 즉, 대조문서(1250)의 텍스트라인A(1260) 전에 기준문서(1200)의 텍스트라인B(1240)와 동일한 것이 존재하더라도 이는 텍스트라인B(1240)와 대비되는 텍스트가 아니므로 이를 검색에서 제외할 수 있다.
문서비교장치(100)는 동일한 텍스트라인 사이에 위치한 비동일 텍스트라인을 비교하여 텍스트라인의 추가, 삭제, 변경 등을 파악할 수 있다. 예를 들어, 텍스트라인A,B(1210,1240)가 동일 텍스트라인으로 검색되었다면, 문서비교장치(100)는 기준문서(1200)와 대조문서(1250)의 각각의 텍스트라인A,B(1210~1240, 1260~1280)사이에 위치한 비동일 텍스트라인(1220,1230,1270)을 대상으로 추가, 삭제, 변경 여부를 파악한다. 다시 말해, 문서비교장치(100)는 기준문서(1200)의 텍스트라인C1,C2(1220,1230)와 대조문서(1250)의 텍스트라인D1(1270)을 서로 비교하면 된다.
문서비교장치(100)는 기준문서의 비동일 텍스트라인과 일정 비율 이상 유사한 텍스트라인이 대조문서에 존재하지 않으면 해당 비동일 텍스트라인을 삭제 텍스트라인으로 파악하고, 대조문서의 비동일 텍스트라인과 일정 비율 이상 유사한 텍스트라인이 대조문서에 존재하지 않으면 해당 비동일 텍스트라인을 추가 텍스트라인으로 파악하고, 기준문서의 비동일 텍스트라인과 일정 비율 이상 유사한 텍스트라인이 대조문서에 존재하면 해당 비동일 텍스트라인을 변경 텍스트라인으로 파악할 수 있다. 변경 텍스트라인의 경우에, 문서비교장치(100)는 텍스트라인에 포함된 텍스트에서 추가 또는 삭제되는 부분을 파악할 수 있다.
본 실시 예는 동일 텍스트라인을 찾은 후 그 사이의 비동일 텍스트라인을 비교하는 과정을 거치므로 정확한 문서 비교 결과를 얻을 수 있을 뿐만 아니라 문서 비교에 소요되는 시간도 절약할 수 있다.
동일 텍스트라인과 비동일 텍스트라인을 구분하지 않고 순차적으로 모두 비교하는 경우 문서 비교 결과에 오류가 발생할 수 있다. 기준문서(1200)의 텍스트라인A(1210)를 기준으로 대조문서(1250)를 검색하여 동일 텍스트라인A(1260)를 찾은 후 기준문서(1200)의 그 다음 텍스트라인C1(1220)을 기준으로 대조문서(1260)를 검색하여 추가 또는 삭제되었는지 파악하는 경우 텍스트라인C1(1200)과 어떤 텍스트라인을 비교하여야 할지 특정하기가 어렵다. 예를 들어, 대조문서(1250)의 텍스트라인B(1280) 다음에 기준문서의 텍스트라인C1(1220)과 동일하거나 유사도가 높은 텍스트라인D2(1290)가 존재하면, 텍스트라인C1(1220)이 텍스트라인D2(1290)와 비교되는 오류가 발생할 수 있다.
따라서 본 실시 예는 먼저 동일 텍스트라인의 검색을 통해 두 문서 사이의 전반적인 대응 위치 관계를 미리 파악한 후 동일 텍스트라인 사이의 비동일 텍스트라인의 비교 과정을 수행한다.
도 13은 본 발명의 실시 예에 따른 비교문서의 생성 방법의 일 예를 도시한 도면이다.
도 13을 참조하면, 문서비교장치(100)는 기준문서(1300)와 대조문서(1310) 사이의 텍스트라인 단위 비교를 통해 추가 텍스트라인, 삭제 텍스트라인 또는 변경 텍스트라인을 파악하면, 이를 기 정의된 표시방법으로 대조문서에 반영한 비교문서(1320)를 생성한다.
예를 들어, 문서비교장치(100)는 추가되는 내용은 "<ins>...추가 내용...</ins>" 태그(1330)를 이용하여 표시하고, 삭제되는 내용은 "<del>...삭제 내용...</del>" 태그(1340)를 이용하여 표시할 수 있다. 삭제 또는 추가되는 내용의 표시방법은 실시 예에 따라 다양한 형태로 변형될 수 있다.
도 14는 본 발명의 실시 예에 따른 기준문서와 비교문서 사이의 텍스트라인을 일치시키는 방법의 일 예를 도시한 도면이다.
도 14를 참조하면, 문서비교장치(100)는 비교문서(1320)의 텍스트라인을 기초로 기준문서(1300)에 공백을 추가하여 비교문서와 기준문서 사이의 대응되는 텍스트라인의 위치를 서로 일치시킬 수 있다. 예를 들어, 문서비교장치(100)는 비교문서(1320)에서 추가 텍스트라인(1410)이 존재하는 경우 기준문서에는 해당 위치에 공백(1420)을 추가할 수 있다. 공백이 추가된 기준문서(1400)와 비교문서(1320)는 동일 텍스트라인의 위치가 서로 일치한다.
도 15는 본 발명의 실시 예에 따른 테이블 비교 방법의 일 예를 도시한 흐름도이다.
도 15를 참조하면, 문서비교장치(100)는 기준문서와 대조문서에 존재하는 테이블을 비교하여 추가 테이블, 삭제 테이블 또는 변경 테이블인지 파악할 수 있다. 도 14와 같이 기준문서에 공백을 추가하여 비교문서와 기준문서 사이의 텍스트라인의 위치를 일치시킨 경우에, 문서비교장치는 동일 라인에 존재하는 기준문서와 대조문서의 테이블을 서로 비교할 수 있다.
구체적으로 살펴보면, 문서비교장치(100)는 먼저 테이블 구조를 비교한다(S1500). 기준문서와 비교문서가 마크업 언어로 구성된 경우에, 테이블은 도 16과 같이 테이블을 나타내는 태그와 함께 테이블 구조(즉, 행과 열)를 나타내는 각종 태그(예를 들어, <tr> <td>)를 포함한다. 문서비교장치(100)는 문서의 각 셀에 포함된 내용을 제외한 테이블 구조 그 자체만의 비교를 통해 양 테이블의 구조가 동일한지 파악한다.
일 실시 예로, 문서비교장치(100)는 테이블의 구조가 일정 비율 이상 일치(예를 들어, 일정 개수 이상의 행까지의 구조)가 일치하면 테이블 내용의 일치 여부를 상세 비교할 수 있다. 다른 실시 예로, 문서비교장치(100)는 양 테이블의 구조 전체가 일치하지 않으면 기준문서의 테이블이 삭제되고, 대조문서에 새로운 테이블이 추가되었다고 파악하고 테이블 비교 과정을 종료할 수 있다.
문서비교장치(100)는 테이블 구조가 일정 비율 이상 일치하면, 셀 단위의 내용을 비교한다(S1510). 예를 들어, 문서비교장치(100)는 기준문서와 대조문서의 동일 위치의 셀을 서로 비교하여 포함된 내용이 동일한지 파악한다. 즉, 기준문서의 (n,m) 셀과 대조문서의 (n,m) 셀에 포함된 내용이 동일한지 파악한다. 셀 내에 포함된 텍스트의 비교에는 종래의 다양한 텍스트 비교 알고리즘이 적용될 수 있다.
셀의 내용이 서로 다른 경우에, 문서비교장치(100)는 셀 내 포함된 내용에 대해 텍스트라인 단위 비교를 수행한다(S1520). 텍스트라인 단위 비교는 도 12에서 살핀 텍스트라인 단위 비교 과정과 동일한 방법이 적용된다. 예를 들어, 문서비교장치는 동일 텍스트라인 파악 과정(도 8의 S800) 및 비동일 텍스타라인 비교 과정(도 8의 810)을 각 셀 단위에 적용할 수 있다.
문서비교장치(100)는 셀 내 텍스트라인 단위 비교를 통해 추가, 삭제, 변경된 텍스트라인을 파악한 후 이를 비교문서에 반영한다(S1530). 예를 들어, 대조문서의 테이블의 각 셀에 추가, 삭제, 변경된 텍스트라인을 기 정의된 표시방법으로 반영하여 비교문서에 추가한다. 테이블의 각 셀에 텍스트라인의 변경사항을 반영하는 예가 도 16에 도시되어 있다..
문서비교장치(100)는 비교문서의 테이블 내 각 셀의 텍스트라인을 기초로 기준문서의 텍스트 내 각 셀에 공백을 추가하여 기준문서와 비교문서의 테이블 내 텍스트라인의 위치를 일치시킨다(S1540).
도 16은 본 발명의 실시 예에 따른 테이블 비교 결과의 일 예를 도시한 도면이다.
도 16을 참조하면, 마크업 언어로 구성된 기준문서의 테이블(1600)과 대조문서의 테이블(1610)의 일 예가 도시되어 있다. 두 문서의 테이블 내 일부 셀에서 내용 변경(1605 vs. 1615)이 존재한다. 문서비교장치(100)는 도 15에서 살핀 방법을 통해 해당 셀 내 삭제 텍스트라인과 추가 텍스트라인을 파악한 후 이를 반영(1625)한 비교문서의 테이블(1620)을 생성할 수 있다.
도 17은 본 발명의 실시 예에 따른 이미지 비교 방법의 일 예를 도시한 흐름도이다.
도 17을 참조하면, 문서비교장치(100)는 기준문서와 대조문서에 존재하는 이미지를 비교하여 이미지의 변경 여부를 파악할 수 있다. 도 8의 방법으로 기준문서에 공백을 추가하여 비교문서와 텍스트라인의 위치를 일치시킨 경우에, 문서비교장치(100)는 동일 위치에 존재하는 기준문서와 대조문서의 이미지를 서로 비교할 수 있다.
구체적으로, 문서비교장치(100)는 기준문서의 이미지와 대조문서의 이미지를 크기가 서로 상이하면 동일 크기로 조정한다(S1700). 문서비교장치(100)는 기준문서의 이미지와 대조문서의 이미지 중 더 작은 크기(즉, 해상도)의 이미지를 기준으로 크기를 조정할 수 있다. 예를 들어, 기준문서의 이미지가 더 작다면, 문서비교장치는 대조문서의 이미지를 기준문서의 이미지 크기가 되도록 조정한다.
문서비교장치(100)는 동일 크기로 조정된 기준문서의 이미지와 대조문서의 이미지를 비교하여 유사도를 비교한다(S1710). 두 이미지 사이의 유사도 비교를 위해 종래의 다양한 이미지 비교 알고리즘이 본 실시 예에 적용될 수 있다.
문서비교장치(100)는 두 이미지 사이의 유사도가 기 정의된 제1 유사도(예를 들어, 50%) 미만이면 두 이미지는 서로 다른 이미지라고 판단하고, 두 이미지 사이의 유사도가 기 정의된 제2 유사도(예를 들어, 98%) 이상이면 두 이미지는 동일 이미지라고 판단하고, 두 이미지 사이의 유사도가 제1 유사도와 제2 유사도 사이이면 일부가 변형된 이미지라고 판단할 수 있다. 제1 유사도와 제2 유사도는 실시 예에 따라 다양한 값으로 설정될 수 있다.
문서비교장치(100)는 이미지의 비교 결과를 비교문서에 반영한다(S1720). 예를 들어, 이미지가 삭제되었다면, 삭제 태그를 이용하여 이미지 삭제를 비교문서에 반영하고(예를 들어, 도 9의 이미지 텍스트라인에 <del> 등의 삭제 태그 추가), 이미지가 추가되었다면 추가 태그를 이용하여 이미지 추가를 비교문서에 반영할 수 있다. 다른 실시 예로, 이미지의 일부만이 변형되었다면, 문서비교장치는 도 18과 같이 이미지 중 변경된 부분만을 표시하여 비교문서에 반영할 수 있다. 이미지를 비교하여 변경된 부분을 파악하는 종래의 다양한 알고리즘이 본 실시 예에 적용될 수 있다.
도 18은 본 발명의 실시 예에 따른 이미지 비교 결과의 일 예를 도시한 도면이다.
도 18을 참조하면, 기준문서의 이미지(1800)와 대조문서의 이미지(1810) 중 일부에 변경된 부분이 존재한다. 문서비교장치(100)는 기준문서의 이미지와 대조문서의 이미지를 비교하여 변경된 부분(1820)을 사각형 등으로 표시하여 비교문서에 반영할 수 있다. 예를 들어, 문서비교장치(100)는 대조문서의 이미지에 붉은색 등으로 변경된 부분을 표시한 이미지를 생성한 후 이를 비교문서에 반영할 수 있다. 즉, 비교문서의 이미지 태그는 변경 부분이 표시된 이미지의 저장 위치를 포함할 수 있다.
도 19는 본 발명의 실시 예에 따른 문서비교장치의 일 예의 구성을 도시한 도면이다.
도 19를 참조하면, 문서비교장치(100)는 라인비교부(1900), 변경사항파악부(1910), 비교문서생성부(1920), 라인일치부(1930), 테이블비교부(1940), 이미지비교부(1950) 및 비교표시부(1960)를 포함한다. 문서비교장치(100)는 실시 예에 따라 일부 구성(예를 들어, 테이블비교부, 이미지비교부 또는 비교표시부 등)을 생략하거나 다른 구성을 더 포함할 수 있다. 문서비교장치(100)는 메모리 및 프로세서를 포함하는 컴퓨팅 장치로 구현되고, 각 구성은 소프트웨어로 구현되어 메모리에 탑재된 후 프로세서에 의해 수행될 수 있다.
라인비교부(1900)는 기준문서 및 대조문서의 텍스트라인 단위 비교를 통해 동일 텍스트라인을 파악한다. 일 실시 예로 텍스트라인 단위 비교를 위하여 도 10과 같이 텍스트리스트를 추출하여 생성한 후 이를 이용할 수 있다.
변경사항파악부(1910)는 기준문서와 대조문서의 동일 텍스트라인 사이에 위치한 비동일 텍스트라인을 비교하여 기준문서 대비 상기 대조문서에서 텍스트라인의 삭제, 추가 또는 변경을 파악한다. 비동일 텍스트라인을 비교하는 방법의 일 예가 도 12에 도시되어 있다.
비교문서생성부(1920)는 삭제 텍스트라인, 추가 텍스트라인 또는 변경 텍스트라인을 각각 기 정의된 표시방법으로 대조문서에 반영한 비교문서를 생성한다. 비교문서를 생성하는 방법의 일 예가 도 13에 도시되어 있다.
라인일치부(1930)는 비교문서의 텍스트라인을 기초로 기준문서에 공백을 추가하여 상기 기준문서와 상기 비교문서에서 서로 대응되는 텍스트라인의 위치를 일치시킨다. 기준문서에 공백을 추가하는 예가 도 14에 도시되어 있다.
테이블비교부(1940)는 기준문서와 상기 비교문서의 대응되는 텍스트라인이 일치된 상태에서 상기 기준문서와 상기 비교문서의 동일 라인에 위치한 테이블의 동일 여부를 파악한다. 테이블 비교의 일 예가 도 15 및 도 16에 도시되어 있다.
이미지비교부(1950)는 기준문서와 비교문서의 대응되는 텍스트라인이 일치된 상태에서 기준문서와 비교문서의 동일 라인에 위치한 이미지의 동일 여부를 파악한다. 이미지 비교의 일 예가 도 17 및 도 18에 도시되어 있다.
비교표시부(1960)는 공백이 추가된 기준문서와 상기 비교문서를 한 화면을 분할하여 표시한다. 사용자 인터페이스를 통해 비교 결과를 표시하는 예가 도 2 내지 도 7에 도시되어 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, SSD, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
Claims (16)
- 문서비교장치가 수행하는 문서 비교 방법에 있어서,
기준문서 및 대조문서의 텍스트라인 단위 비교를 통해 동일 텍스트라인을 파악하는 단계;
상기 기준문서와 상기 대조문서의 동일 텍스트라인 사이에 위치한 비동일 텍스트라인을 비교하여 상기 기준문서 대비 상기 대조문서에서 텍스트라인의 삭제, 추가 또는 변경을 파악하는 단계;
삭제 텍스트라인, 추가 텍스트라인 또는 변경 텍스트라인을 각각 삭제, 추가 또는 변경을 나타내는 태그로 표시하여 상기 대조문서에 반영한 비교문서를 생성하는 단계; 및
상기 비교문서의 텍스트라인을 기초로 상기 기준문서에 공백을 추가하여 상기 기준문서와 상기 비교문서에서 서로 대응되는 텍스트라인의 위치를 일치시키는 단계;를 포함하는 것을 특징으로 하는 문서비교방법. - 제 1항에 있어서,
상기 기준문서 및 대조문서는 모두 마크업 언어로 구성된 문서인 것을 특징으로 하는 문서비교방법. - 제 1항에 있어서, 상기 동일 텍스트라인을 파악하는 단계는,
상기 기준문서 및 상기 대조문서의 테이블 또는 이미지를 기 정의된 문자열로 구성된 텍스트라인으로 변환하여 동일 텍스트라인을 검색하는 단계;를 포함하는 것을 특징으로 하는 문서비교방법. - 제 3항에 있어서,
상기 테이블을 나타내는 텍스트라인은 테이블의 구조를 나타내는 문자열을 포함하고,
상기 동일 텍스트라인을 파악하는 단계는, 테이블 구조의 동일 여부를 기초로 테이블에 대한 텍스트라인의 동일 여부를 파악하는 것을 특징으로 하는 문서비교방법. - 제 1항에 있어서, 상기 텍스트라인의 삭제, 추가 또는 변경을 파악하는 단계는,
상기 기준문서의 비동일 텍스트라인과 유사도가 기 정의된 일정 비율 이상인 텍스트라인이 상기 대조문서에 존재하지 않으면, 상기 기준문서의 비동일 텍스트라인을 삭제 텍스트라인으로 파악하는 단계;
상기 대조문서의 비동일 텍스트라인과 유사도가 기 정의된 일정 비율 이상인 텍스트라인이 상기 기준문서에 존재하지 않으면, 상기 대조문서의 비동일 텍스트라인을 추가 텍스트라인으로 파악하는 단계; 및
상기 기준문서의 비동일 텍스트라인과 유사도가 기 정의된 일정 비율 이상인 텍스트라인이 대조문서에 존재하면, 상기 기준문서의 비동일 텍스트라인과 상기 대조문서의 비동일 텍스트라인의 변경된 부분을 파악하는 단계;를 포함하는 것을 특징으로 하는 문서비교방법. - 제 1항에 있어서,
상기 기준문서와 상기 비교문서의 대응되는 텍스트라인이 일치된 상태에서 상기 기준문서와 상기 비교문서의 동일 라인에 위치한 테이블의 동일 여부를 파악하는 단계;를 더 포함하는 것을 특징으로 하는 문서비교방법. - 제 6항에 있어서, 상기 테이블의 동일 여부를 파악하는 단계는,
상기 기준문서의 테이블 구조와 상기 비교문서의 테이블 구조의 일치여부를 파악하는 단계;
상기 테이블 구조가 기 정의된 일정 비율 이상 일치하면, 테이블의 셀 단위의 비교를 통해 셀의 동일 여부를 파악하는 단계;
셀의 내부 내용이 상이하면, 셀 내에 포함된 내용을 텍스트라인 단위로 비교하여 텍스트라인의 삭제, 추가 또는 변경을 파악하는 단계;
셀 단위의 삭제 텍스트라인, 추가 텍스트라인 또는 변경 텍스트라인을 기 정의된 표시방법으로 상기 비교문서의 테이블에 반영하는 단계; 및
상기 비교문서의 테이블의 각 셀의 텍스트라인을 기초로 상기 기준문서의 테이블의 각 셀에 공백을 추가하여 테이블의 각 셀의 텍스트라인의 위치를 일치시키는 단계;를 포함하는 것을 특징으로 하는 문서비교방법. - 제 1항에 있어서,
상기 기준문서와 상기 비교문서의 대응되는 텍스트라인이 일치된 상태에서 상기 기준문서와 상기 비교문서의 동일 라인에 위치한 이미지의 동일 여부를 파악하는 단계;를 더 포함하는 것을 특징으로 하는 문서비교방법. - 제 8항에 있어서, 상기 이미지의 동일 여부를 파악하는 단계는,
상기 기준문서의 이미지와 상기 비교문서의 이미지의 크기를 작은 이미지를 기준으로 서로 동일한 크기가 되도록 변형하는 단계;
상기 기준문서의 이미자와 상기 비교문서의 이미지의 유사도를 산출하는 단계;
상기 유사도가 기 정의된 설정값 미만이면 상기 기준문서의 이미지를 삭제로 표시하고 상기 비교문서의 이미지를 추가로 표시하여 상기 비교문서에 반영하는 단계;를 포함하는 것을 특징으로 하는 문서비교방법. - 제 1항에 있어서,
상기 공백이 추가된 기준문서와 상기 비교문서를 한 화면을 분할하여 표시하는 단계;를 더 포함하는 것을 특징으로 하는 문서비교방법. - 제 10항에 있어서, 상기 표시하는 단계는,
화면의 제1 영역에 상기 공백이 추가된 기준문서를 표시하고 화면의 제2 영역에 상기 비교문서를 표시하는 단계; 및
문서의 상하 스크롤바에 문서의 삭제, 추가 또는 변경된 부분을 각각 서로 다른 색상으로 표시하는 단계;를 포함하는 것을 특징으로 하는 문서비교방법. - 기준문서 및 대조문서의 텍스트라인 단위 비교를 통해 동일 텍스트라인을 파악하는 라인비교부;
상기 기준문서와 상기 대조문서의 동일 텍스트라인 사이에 위치한 비동일 텍스트라인을 비교하여 상기 기준문서 대비 상기 대조문서에서 텍스트라인의 삭제, 추가 또는 변경을 파악하는 변경사항파악부;
삭제 텍스트라인, 추가 텍스트라인 또는 변경 텍스트라인을 각각 삭제, 추가 또는 변경을 나타내는 태그로 표시하여 상기 대조문서에 반영한 비교문서를 생성하는 비교문서생성부; 및
상기 비교문서의 텍스트라인을 기초로 상기 기준문서에 공백을 추가하여 상기 기준문서와 상기 비교문서에서 서로 대응되는 텍스트라인의 위치를 일치시키는 라인일치부;를 포함하는 것을 특징으로 하는 문서비교장치. - 제 12항에 있어서,
상기 기준문서와 상기 비교문서의 대응되는 텍스트라인이 일치된 상태에서 상기 기준문서와 상기 비교문서의 동일 라인에 위치한 테이블의 동일 여부를 파악하는 테이블비교부;를 더 포함하는 것을 특징으로 하는 문서비교장치. - 제 12항에 있어서,
상기 기준문서와 상기 비교문서의 대응되는 텍스트라인이 일치된 상태에서 상기 기준문서와 상기 비교문서의 동일 라인에 위치한 이미지의 동일 여부를 파악하는 이미지비교부;를 더 포함하는 것을 특징으로 하는 문서비교장치. - 제 12항에 있어서,
상기 공백이 추가된 기준문서와 상기 비교문서를 한 화면을 분할하여 표시하는 비교표시부;를 더 포함하는 것을 특징으로 하는 문서비교장치. - 제 1항 내지 제 11항 중 어느 한 항에 기재된 방법을 수행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210107534A KR102571209B1 (ko) | 2021-08-13 | 2021-08-13 | 문서비교방법 및 그 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210107534A KR102571209B1 (ko) | 2021-08-13 | 2021-08-13 | 문서비교방법 및 그 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230025245A KR20230025245A (ko) | 2023-02-21 |
KR102571209B1 true KR102571209B1 (ko) | 2023-08-25 |
Family
ID=85328392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210107534A KR102571209B1 (ko) | 2021-08-13 | 2021-08-13 | 문서비교방법 및 그 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102571209B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005228271A (ja) | 2004-02-16 | 2005-08-25 | Fuji Xerox Co Ltd | 文書画像照合装置、文書画像位置合わせ方法及びプログラム |
JP2012008754A (ja) | 2010-06-24 | 2012-01-12 | Internatl Business Mach Corp <Ibm> | 構造化文書の木構造を分割するための方法、プログラムおよびシステム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100965820B1 (ko) * | 2007-01-19 | 2010-06-24 | 삼성전자주식회사 | 데이터 출력을 위한 장치 및 데이터 출력 방법 |
KR101316780B1 (ko) * | 2012-02-21 | 2013-10-17 | 한국과학기술원 | 문서 내의 테이블의 정보를 기반으로 한 테이블 자동분류 시스템 및 그 방법 |
-
2021
- 2021-08-13 KR KR1020210107534A patent/KR102571209B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005228271A (ja) | 2004-02-16 | 2005-08-25 | Fuji Xerox Co Ltd | 文書画像照合装置、文書画像位置合わせ方法及びプログラム |
JP2012008754A (ja) | 2010-06-24 | 2012-01-12 | Internatl Business Mach Corp <Ibm> | 構造化文書の木構造を分割するための方法、プログラムおよびシステム |
Also Published As
Publication number | Publication date |
---|---|
KR20230025245A (ko) | 2023-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6694053B1 (en) | Method and apparatus for performing document structure analysis | |
US10606933B2 (en) | Method and system for document image layout deconstruction and redisplay | |
JP4682284B2 (ja) | 文書差分検出装置 | |
US9135249B2 (en) | Number sequences detection systems and methods | |
JP3427692B2 (ja) | 文字認識方法および文字認識装置 | |
US7991709B2 (en) | Method and apparatus for structuring documents utilizing recognition of an ordered sequence of identifiers | |
US8208737B1 (en) | Methods and systems for identifying captions in media material | |
US9436665B2 (en) | Synchronizing annotations between printed documents and electronic documents | |
US9158833B2 (en) | System and method for obtaining document information | |
US8023740B2 (en) | Systems and methods for notes detection | |
US7668814B2 (en) | Document management system | |
US20090226090A1 (en) | Information processing system, information processing apparatus, information processing method, and storage medium | |
US20060285746A1 (en) | Computer assisted document analysis | |
US20220222292A1 (en) | Method and system for ideogram character analysis | |
JP4785655B2 (ja) | 文書処理装置及び文書処理方法 | |
JP7176246B2 (ja) | 文書解析装置、文書構成解析方法及びプログラム | |
US20210073535A1 (en) | Information processing apparatus and information processing method for extracting information from document image | |
US20080304113A1 (en) | Space font: using glyphless font for searchable text documents | |
US10534846B1 (en) | Page stream segmentation | |
JP2007310501A (ja) | 情報処理装置、その制御方法、及びプログラム | |
KR102571209B1 (ko) | 문서비교방법 및 그 장치 | |
US20200311059A1 (en) | Multi-layer word search option | |
US10049107B2 (en) | Non-transitory computer readable medium and information processing apparatus and method | |
US20210042555A1 (en) | Information Processing Apparatus and Table Recognition Method | |
US10331948B1 (en) | Rules based data extraction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |