KR100999488B1 - 문서 표절 탐색 방법 및 장치 - Google Patents
문서 표절 탐색 방법 및 장치 Download PDFInfo
- Publication number
- KR100999488B1 KR100999488B1 KR1020080129948A KR20080129948A KR100999488B1 KR 100999488 B1 KR100999488 B1 KR 100999488B1 KR 1020080129948 A KR1020080129948 A KR 1020080129948A KR 20080129948 A KR20080129948 A KR 20080129948A KR 100999488 B1 KR100999488 B1 KR 100999488B1
- Authority
- KR
- South Korea
- Prior art keywords
- document
- words
- word
- plagiarism
- consecutive
- 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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/268—Morphological analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 문서 표절 탐색 방법 및 장치를 개시한다. 본 발명은 비교 문서와 원본 문서에 포함된 문장들의 형태소를 분석하고, 각 형태소에 대해서 색인어와 해당 형태소가 나타나는 문장내의 위치 정보를 포함하는 색인 정보를 포함하여 구성되는 색인을 생성하며, 표절 여부를 판단하기 위해서 형태소와 색인을 이용하여 공통되는 어절들을 복원하여 비교함으로써 원본 문서와 비교 문서를 일일이 비교하는 종래 기술의 문제점을 해결하여 문서 표절 판정을 보다 신속하고 정확하게 수행할 수 있는 효과가 나타난다.
Description
본 발명은 표절 탐색 방법 및 장치에 관한 것으로서, 보다 구체적으로는 자유로운 어순을 특징으로 하는 한국어의 특성을 반영하여, 문서의 표절을 탐색하는 방법 및 장치에 관한 것이다.
본 인터넷의 활발한 보급으로 인터넷을 통해 다른 사람의 글을 쉽게 접할 수 있으며, 간단한 조작만으로 그 글을 복사하여 사용할 수 있는 환경이 마련되었다. 이러한 환경으로 인하여 인터넷에는 내용이 같은 복사된 글이 무수히 많이 생성되고 있으며, 학생들의 리포트 표절이나 논문 표절 등이 문제가 사회적으로 큰 문제가 되고 있는 실정이다. 따라서 표절을 탐색하는 시스템의 필요성이 증가하고 있다. 영어권에서 사용되는 표절탐색 방법이 존재하지만, 한국어는 영어와 다른 몇 가지 언어적 특성을 갖기 때문에 영어권에서 사용되는 표절탐색 방법을 한국어에 적용하는 것에는 한계가 있다.
영어와 다른 한국어의 특성은 다음과 같다.
첫째, 어순이 자유롭다. 영어는 어순이 정형화 되어 있으므로 어순을 바꾸면 제대로 된 문장이 되지 않는다. 그러나 한글은 술어만 마지막에 기술한다면 다른 문장 성분은 어디에 배치하여도 모두 옳은 문장이 된다.
둘째, 단어 구분이 어렵다. 영어는 띄어쓰기 단위로 단어를 구분할 수 있다. 영어에서 말하는 단어는 한국어에서는 형태소에 해당되는데, 하나 이상의 형태소가 한국어에서 띄어쓰기로 구분되는 하나의 어절을 이룬다. 이 형태소는 한국어에서 하나의 글자를 의미하는 음절단위로 분리되지 않고 하나의 자음이나 모음을 의미하는 음소단위로 분리되는 경우도 있기 때문에 형태소 분리 과정은 다소 복잡하다. 또한 형태소 분리 과정에서 존재하는 애매성 때문에 형태소 분석의 성능과 수행 시간을 증가시킨다. 따라서 일반적으로는 형태소 분석 과정을 생략하고 음절 단위 n-gram 언어 모델을 사용하여 일정 음절을 묶어 단어처럼 처리하는 방법을 취한다. 그러나 상기 n-gram 방법은 음정 정보만 이용하고 형태소 정보는 이용할 수 없어 한국어의 언어적 특성을 잘 반영하기 힘든 단점을 갖는다.
셋째, 비정형 문장이 많다. 한국어는 중국어나 일본어와 달리 띄어쓰기가 존재하는데, 띄어쓰기를 완벽하게 지키는 사람이 드물다. 또한 인터넷의 발달과 함께 생겨난 신조어나 약어, 비속어나 은어 형태의 국어사전에 등재되지 않은 단어가 많이 사용되고 있으며, 마침표로 문장이 구분되지 않거나 아예 띄어쓰기를 하지 않는 문서도 많이 존재하여 한국어의 처리를 어렵게 하고 있다. 영어의 경우 띄어쓰기를 하지 않으면 단어의 의미를 정확하게 알 수 없으나 한국어의 경우, 사람은 기능어의 존재로 띄어쓰기를 하지 않더라도 대략적인 단어 구분이 가능하여 그 의미를 파악할 수 있다. 그러나 컴퓨터로는 그러한 처리가 어렵다.
본 발명이 해결하고자 하는 과제는 한국어의 특성을 반영하여 정확도가 높으며, 고속으로 표절탐색을 수행할 수 있는 문서 표절 탐색 방법 및 장치를 제공하는 것이다.
상술한 과제를 해결하기 위한 본 발명의 문서 표절 탐색 장치는, 원본 문서와 비교 문서에 포함된 각 문장의 형태소를 분석하는 형태소 분석부; 상기 원본 문서 및 상기 비교 문서에 포함된 형태소에 대해서 색인을 생성하는 색인 생성부; 원본 문서와 비교 문서간의 형태소를 비교하여, 공통되는 형태소를 검색하고, 공통된 형태소들의 색인을 이용하여 공통된 형태소가 포함된 어절들을 복원하여 원본 문서와 비교 문서간의 동일한 어절들을 복원하는 어절 복원부; 및 상기 동일한 어절들이 상기 원본 문서에서 차지하는 비율과 상기 비교 문서에서 차지하는 비율을 이용하여 비교문서의 원본 문서에 대한 표절 여부를 판정하는 표절 판정부를 포함한다.
또한, 상기 색인 생성부는 형태소 및 품사 정보를 결합한 색인어와 상기 색인어가 포함된 문서내의 위치를 나타내는 색인 정보를 포함할 수 있다.
또한, 상기 어절 복원부는 비교 문서 중 어절에 포함된 형태소가 모두 상기 공통된 형태소인 어절들을 복원하고, 복원된 어절이 연속되는 구간을 조사하여 어절 연속 구간이 사전에 설정된 최소 개수 이상인 어절들로 구성되는 연속 구간 리스트를 생성할 수 있다.
또한, 상기 어절 복원부는 상기 연속 구간 리스트에 등록된 각 어절 연속 구간의 형태소 및 상기 원본 문서의 색인을 이용하여, 상기 연속 구간 리스트에 등록된 각 어절 연속 구간과 동일한 원본 문서의 어절을 복원할 수 있다.
또한, 상기 어절 복원부는 상기 복원된 원본 문서의 어절이 연속되는 어절 연속 구간을 조사하고, 원본 문서의 어절 연속 구간이 사전에 설정된 최소 개수 이상인 어절들로 구성되는 최종 연속 구간 리스트를 생성하고, 상기 표절 판정부는 상기 최종 연속 구간 리스트에 등록된 어절들이 원본 문서에 포함된 어절수를 조사하여 원본 문서 유사도를 생성하고, 상기 최종 연속 구간 리스트에 등록된 어절들이 비교 문서에 포함된 어절수를 조사하여 비교 문서 유사도를 생성하며, 상기 원본 문서 유사도와 상기 비교 문서 유사도의 평균값을 소정의 임계치와 비교하여 상기 비교 문서의 상기 원본 문서에 대한 표절 여부를 판정할 수 있다.
한편, 상술한 과제를 해결하기 위한 본 발명의 문서 표절 탐색 방법은, (a) 비교 문서에 포함된 문장들의 형태소를 분석하여, 상기 비교 문서에 대해서 색인을 생성하는 단계; (b) 원본 문서에 포함된 문장들의 형태소를 분석하여, 상기 원본 문서에 대한 색인을 생성하는 단계; (c) 상기 원본 문서와 상기 비교 문서간의 형태소를 비교하여 공통되는 형태소를 검색하고, 공통된 형태소들의 색인을 이용하여 공통된 형태소만으로 구성되는 어절들을 복원하여 표절 부분을 조사하는 단계; 및 (d) 원본 문서의 전체 구간에서 표절 부분이 차지하는 비율 및 비교 문서의 전체 구간에서 표절 부분이 차지하는 비율을 계산하여 표절 여부를 판단하는 단계를 포함한다.
또한, 상기 색인은 형태소 및 품사 정보를 결합한 색인어와 상기 색인어가 포함된 문서내의 위치를 나타내는 색인 정보를 포함할 수 있다.
또한, 상기 (c) 단계는 (c1) 상기 원본 문서와 상기 비교 문서의 색인을 이용하여 공통된 형태소를 추출하는 단계; (c2) 추출된 공통된 형태소들만으로 구성되는 어절을 복원하고, 복원된 어절이 연속되는 구간을 조사하여 어절 연속 구간이 사전에 설정된 최소 개수 이상인 어절들로 구성되는 연속 구간 리스트를 생성하는 단계; 및 (c3) 상기 연속 구간 리스트에 등록된 어절 구간과 상기 원본 문서를 비교하여 표절 부분을 조사하는 단계를 포함할 수 있다.
또한 상기 (c3) 단계는 (c31) 상기 연속 구간 리스트에 등록된 어절의 연속 구간별로 연속 구간에 포함된 형태소를 추출하여 원본 문서의 공통 형태소를 검색하는 단계; (c32) 상기 (c31) 단계에서 검색된 공통 형태소를 이용하여 연속 구간의 어절과 동일한 원본 문서의 어절을 복원하는 단계; 및 (c33) 상기 (c32) 단계에서 복원된 어절들의 연속 어절 수가 사전에 설정된 최소 연속 어절 수(n) 이상인지 조사하여 최소 연속 어절 수 이상인 경우에 최종 연속 구간 리스트에 등록하여 표절 부분을 조사하는 단계를 포함할 수 있다.
또한, 상기 (d) 단계는 (d1) 상기 최종 연속 구간 리스트에 등록된 어절들이 원본 문서에 포함된 어절수를 조사하여 원본 문서 유사도를 생성하는 단계; (d2) 상기 최종 연속 구간 리스트에 등록된 어절들이 비교 문서에 포함된 어절수를 조사하여 비교 문서 유사도를 생성하는 단계; (d3) 상기 원본 문서 유사도와 상기 비교 문서 유사도의 평균값을 소정의 임계치와 비교하여 상기 비교 문서의 상기 원본 문 서에 대한 표절 여부를 판정하는 단계를 포함할 수 있다.
본 발명은 비교 문서와 원본 문서에 포함된 문장들의 형태소를 분석하고, 각 형태소에 대해서 색인어와 해당 형태소가 나타나는 문장내의 위치 정보를 포함하는 색인 정보를 포함하여 구성되는 색인을 생성하며, 표절 여부를 판단하기 위해서 형태소와 색인을 이용하여 공통되는 어절들을 복원하여 비교함으로써 원본 문서와 비교 문서를 일일이 비교하는 종래 기술의 문제점을 해결하여 문서 표절 판정을 보다 신속하고 정확하게 수행할 수 있는 효과가 나타난다.
또한, 본 발명은 원본 문서와 비교 문서 쌍의 비교를 위해 공통 형태소를 각각 검색하는 시간을 획기적으로 줄 일 수 있다.
또한, 본 발명은 다양한 색인 정보를 이용하여 다시 문서를 스캔하지 않고도 유연하고 신속하며, 정확하게 표절 여부를 검사할 수 있다.
그리고 필요에 따라 기능어를 생략하여 더욱 빠르고 유연하게 표절 여부를 검사할 수 있으며, 기능어를 포함하여 기능어 생략 시보다 속도는 저하되나 완벽하게 일치되는 표절 구간을 검사할 수 있다.
또한 모든 기호를 제거하지 않고 불필요한 기호만 제거하여 표절 구간을 탐색할 수 있다.
또한, 최소 연속 어절 수의 조절에 따라 연속 구간의 길이를 달리 하여 표절 구간을 탐색할 수 있다.
또한, 본 발명은 표절 유사도 임계값을 조절하여 많은 구간이 일치되는 표절 문서 쌍이나 약간의 구간만 일치되는 표절 문서 쌍을 탐색할 수 있다.
또한, 본 발명은 기능어 생략, 기호 생략 , 최소 연속 어절 수, 표절 유사도 임계값 등의 기능들은 모두 사용자가 필요에 따라 수정할 수 있도록 구현되어 사용자가 원하는 표절 탐색을 가능하게 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 설명한다.
도 1 은 본 발명의 바람직한 실시예에 따른 문서 표절 탐색 장치의 구성을 도시하는 블록도이다. 도 1을 참조하면, 본 발명의 표절 탐색 장치는 입력부(110), 형태소 분석부(120), 색인 생성부(130), 어절 복원부(140), 표절 판정부(150), 출력부(160), 및 데이터 베이스(170)를 포함한다. 또한, 데이터 베이스(170)는 문서 저장부(172), 색인 저장부(174), 및 연속 구간 리스트 저장부(176)를 포함한다.
입력부(110)는 사용자로부터 설정 정보 또는 제어 명령을 입력받을 뿐만 아니라, 표절 탐색의 대상이 되는 원본 문서와 비교 대상 문서를 입력받아 문서 저장부(172)에 저장한다. 입력부(110)는 사용자로부터 문서 저장부(172)에 저장할 원본 문서와 비교 대상 문서를 검색하기 위한 검색 정보를 입력받는데, 문서를 검색할 수 있도록 데이터베이스의 고유키(Primary Key)나 문서가 저장된 경로, 처리 대상 문서 목록이 저장되어 있는 파일이 입력될 수 있다.
데이터베이스의 고유키가 입력되면, 입력부(110)는 해당 테이블을 검색하여 처리 대상 문서의 본문을 추출하고, 문서가 저장된 경로가 입력되면 해당 경로 아래의 모든 파일을 검색하여 각 파일에서 본문을 추출하며, 문서 목록이 입력되면 해당 목록에 포함된 모든 파일을 검색하여 각 파일에서 본문을 추출하여 문서 저장부(172)에 저장한다.
한편, 형태소 분석부(120)는 문서에 포함된 각 문장의 형태소를 분석하여 출력하는데, 구체적으로, 형태소 분석부(120)는 문서에서 불필요한 기호를 문자열 치환을 이용하여 처리하고, 기호 처리가 끝난 문서를 문장 단위로 분리한 후, 각 문장의 형태소를 분석하여 출력한다.
색인 생성부(130)는 형태소 분석이 완료된 문서에 포함된 각 형태소에 대해서 색인을 생성하여 색인 저장부(174)로 출력한다. 색인은 색인어 및 색인어가 포함된 문서와 문서내 위치를 나타내는 색인 정보를 포함한다. 먼저, 색인어는 "나:N"와 같이 형태소와 품사 태그의 첫 글자를 결합한 형태로 생성된다. 또한, 색인 정보는 '문서번호', '문장번호', '문장 내 어절번호', '어절 내 형태소 번호', '문서 내 형태소 번호', '어절 내 다음 형태소 존재 여부'를 숫자로 표현하도록 생성된다.
또한, 색인 생성부(130)는 형태소에 대해서 색인정보를 생성하는 것 외에 문서에 대한 색인을 하나 더 생성한다. 색인어는 "문서번호:문장번호"이고, 색인정보는 문장 내 총 형태소 수와 총 어절 수를 포함한다.
어절 복원부(140)는 원본 문서와 비교 문서간의 형태소를 비교하여, 공통되는 형태소를 검색하고, 공통된 형태소들의 색인정보를 이용하여 해당 형태소가 포함된 어절을 복원한다.
보다 구체적으로 설명하면, 비교 문서의 어절을 복원하는 경우에, 어절 복원 부(140)는 공통된 형태소를 색인 정보에 따라서 문장내의 순서대로 정렬하고, 어절에 포함된 형태소가 모두 원본 문서와 공통된 형태소인 어절들을 복원하고, 어절이 연속되는 구간을 조사하여, 연속 구간이 사전에 설정된 최소 개수(n) 이상의 어절로 구성되는 경우에 연속 구간 리스트에 포함시켜 연속 구간 리스트 저장부(176)에 저장한다.
또한, 비교 문서의 어절이 복원된 후, 원본 문서의 어절을 복원하는 경우에, 어절 복원부(140)는 연속 구간 리스트에서 하나씩 연속 구간을 판독하여, 연속 구간 내 모든 형태소를 추출하여 원본 색인을 검색하여 공통 형태소를 검색하고, 원본 색인 내 공통 형태소의 색인 정보를 이용하여 원본 문서에서 어절을 복원한다. 이 때, 복원하려는 어절이 비교 문서의 어절과 동일하면 완성된 어절로서 복원하지만 비교 문서의 어절과 동일하지 않으면 버린다.
또한, 어절 복원부(140)는 복원된 어절들 중 연속된 어절수가 사전에 설정된 개수 이상인 경우에는 최종 연속구간 리스트에 등록하고, 최종 연속 구간 리스트는 연속 구간 리스트 저장부(176)에 저장된다.
표절 판정부(150)는 최종 연속구간 리스트에 등록된 어절들이 원본 문서에 포함된 어절수를 조사하고, 이 어절수를 원본 문서내의 전체 어절수로 나누어 원본문서 유사도를 생성한다. 또한, 표절 판정부(150)는 최종 연속구간 리스트에 등록된 어절들이 비교 문서에 포함된 어절수를 조사하고, 이 어절수를 원본 문서내의 전체 어절수로 나누어 원본문서 유사도를 생성한다.
그 후, 원본 문서 유사도와 비교문서 유사도를 평균하여 문서쌍 표절 유사도 를 측정하고, 표절 유사도가 소정의 임계값 이상인 경우에는 표절로서 판정한다.
출력부(160)는 표절 문서 쌍으로 판정된 원본 문서와 비교 문서의 표절 구간을 소정의 색깔로 표시하여 사용자에게 표시한다. 그리고, 출력부(160)는 사용자에게 출력된 결과를 파일 형식으로 출력하거나 데이터 베이스에 저장할 수 있다.
한편, 데이터 베이스(170)의 문서 저장부(172)는 표절 여부를 검토할 원본 문서 그룹과 비교 문서 그룹을 저장한다. 원본 문서 그룹 및 비교 문서 그룹은 복수의 문서들을 포함할 수 있고, 하나의 문서만을 포함할 수도 있다.
색인 저장부(174)는 원본 문서와 비교 문서의 색인을 저장하고, 연속구간 리스트 저장부(176)는 어절 복원부(140)에서 생성된 비교 문서의 연속구간 리스트와 최종 연속 구간 리스트를 저장한다.
표절 정보 저장부(178)는 출력부(160)에서 출력한 표절 정보를 저장한다. 표절 정보는 표절로 판명된 어절이나 해당 어절이 포함된 단락을 소정의 색깔로 표시하여 저장할 수 있고, 표절로 판명된 문서를 형식이 있는 파일 형태로 저장할 수도 있다.
지금까지 본 발명의 바람직한 실시예에 따른 문서 표절 탐색 장치의 구성 및 각 구성의 기본적인 기능에 대해서 설명하였다. 문서 표절 탐색 장치의 구성 요소들의 더욱 상세한 기능들은 이하에서 설명되는 본 발명의 바람직한 실시예에 따른 문서 표절 탐색 방법과 관련하여 보다 상세하게 설명될 것이다.
이하, 도 2 내지 도 11을 참조하여, 본 발명의 바람직한 실시예에 따른 문서 표절 탐색 방법에 대해서 설명한다.
도 2는 본 발명의 바람직한 실시예에 따른 문서 표절 탐색 방법의 전체 흐름도이다. 도 2를 참조하면, 먼저, 표절 여부를 판정할 원본 문서와 비교 문서가 각각 표절 탐색 장치로 입력되고(S100), 표절 탐색 장치는 비교 문서에 대해서 색인어와 색인 정보를 포함하는 색인을 생성한다(S200).
그 후, 표절 탐색 장치는 원본 문서에 대해서 형태소를 분석하여 색인을 생성하고, 원본 문서의 색인과 비교 문서의 색인을 비교하여 공통된 형태소를 추출하고, 비교 문서에서 공통된 형태소를 포함하는 어절을 복원하고, 복원된 어절들의 연속된 구간을 조사한 후, 비교 문서의 연속된 어절 구간과 동일한 연속된 어절 구간을 원본 문서에서 조사하여 원본 문서와 비교 문서에 공통된 연속된 어절 구간 리스트를 생성함으로써 표절 부분을 조사한다(S300).
표절 부분이 조사되면, 표절 탐색 장치는 원본 문서의 전체 구간에서 표절 부분이 차지하는 비율 및 비교 문서의 전체 구간에서 표절 부분이 차지하는 비율을 계산하여 표절 여부를 판단한다(S400).
마지막으로, 비교 문서가 원본 문서의 표절로 판정되면, 표절 탐색 장치는 표절로 판명된 어절들을 소정의 색깔로 표시하여 사용자에게 표시하는 한편, 데이터 베이스에 저장한다(S500).
이하에서는, 도 3 내지 도 10을 참조하여, 상술한 각 단계에 대해서 보다 상세하게 설명한다.
먼저, 도 2 의 제 S100 단계를 상세하게 설명하는 상세 흐름도인 도 3을 참조하면, 본 발명의 표절 탐색 방법에서는 입력으로부터 처리 대상을 원본 문서 그 룹과 비교 문서 그룹을 구분하여 저장한다. 원본 문서는 하나의 기준 문서를 의미하고, 비교 문서는 기준 문서와 비교될 문서를 의미한다. 원본 문서 그룹과 비교 문서 그룹은 원본 문서와 비교 문서의 집합이라 할 수 있다.
문서는 데이터베이스의 테이블 내에 저장되어 있거나 컴퓨터 내부 보조기억장치에 특정 디렉토리 아래에 저장되어 있을 수 있다.
본 발명의 시스템에서 문서를 검색할 수 있도록 데이터베이스의 고유키(Primary Key)나 문서가 저장된 경로, 처리 대상 문서 목록이 저장되어 있는 파일이 입력될 수 있다.
구체적으로, 데이터베이스의 고유키가 입력되면 해당 테이블을 검색하여(S110), 처리 대상 문서의 본문을 추출한다(S120). 문서가 저장된 경로가 입력되면 해당 경로 아래의 모든 파일을 검색하여(S110), 각 파일에서 본문을 추출한다(S120). 문서 목록이 입력되면 해당 목록에 포함된 모든 파일을 검색하여(S110), 각 파일에서 본문을 추출한다(S120).
추출된 문서는 원본문서로 처리할 것인지 비교문서로 처리할 것인지 구분되어 있어야 하고, 입력부(110)는 이를 조사하여(S130), 그 구분에 따라 원본 문서 그룹에 포함시키거나(S140), 비교 문서 그룹에 포함시킨다(S150).
원본 문서 그룹과 비교 문서 그룹은 하나 이상의 문서를 포함하고 있어야 하며, 원본 문서 그룹과 비교 문서 그룹은 서로 동일할 수도 있고 동일하지 않을 수도 있다. 단, 원본 문서와 비교 문서가 동일한 경우에 한 해서, 비교 문서를 구분하지 않고 입력하면, 원본 문서 그룹을 복사하여 비교 문서 그룹으로 사용할 수 있 다.
원본 문서와 비교 문서들은 각각 입력되어 데이터 베이스(170)의 문서 저장부(172)에 저장 된다(S160).
도 4 는 도 2 의 제 S200 단계를 설명하는 상세 흐름도이다. 도 4를 더 참조하면, 먼저, 문서에서 불필요한 기호를 문자열 치환을 이용하여 처리한다(S210). 기호 목록이 저장된 파일로부터 처리할 기호를 읽을 수 있으며 필요에 따라 수정이 가능하다. 단, 마침표(.) 처리는 기호 목록과 상관없이 처리되며 0.3에서와 같이 소수점에 사용되는 마침표를 제외한 모든 마침표는 줄바꿈 문자로 치환된다.
기호 처리가 끝난 문서를 문장 단위로 분리한다(S220). 문장은 줄바꿈 문자를 기준으로 분리하며, 문장이 너무 긴 경우에 일정한 길이 단위로 분리한다. 이는 문장을 구분 할 수 없는 마침표가 없이 작성된 문서에서도 동작하도록 하기 위함이다. 문장 분리 과정까지 끝난 문서를 결과 출력 단계(S500)에서 사용하기 위하여 기억 수단에 저장한다.
그 후, 표절 탐색 장치의 형태소 분석부(120)는 비교 문서에 포함된 각 문장의 형태소 분석을 수행한다(S230).
형태소 분석은 어절을 이루는 형태소의 품사를 분석하는 것으로 "나는 집에 갔다."라는 문장을 형태소 분석하면 다음의 표 1과 같은 결과를 얻는다.
어절 | 형태소 분석 결과 |
나는 | 나/NP+는/JX |
집에 | 집/NNG+에/JKB |
갔다. | 가/VV+았/EP+다/EF+./SF |
표 1에서 "나는"이라는 어절에 대한 형태소 분석 결과를 보면 '나'라는 형태소는 품사가 대명사(NP), '는'이라는 형태소는 품사가 보조사(JX)라는 정보를 알 수 있다.
형태소 분석이 끝나면, 색인 생성부(130)는 사전에 설정된 기능어 생략 여부를 조사하여 기능어 생략이 설정되지 않은 경우에는 색인 생성 과정으로 직접 진행하고(S240), 기능어 생략이 설정된 경우에는 분석된 형태소들에서 기능어를 제거한 후 색인 생성 과정으로 진행한다(S250).
본 발명의 시스템에서 기능어는 형태소 분석 결과에서 품사 정보가 'E'로 시작되는 어미 종류의 형태소와 'J'로 시작되는 조사 종류의 형태소를 의미한다.기능어를 제거하면 좀 더 유연하게 표절을 탐색할 수 있고, 기능어를 포함하면 완벽한 표절을 탐색할 수 있다.
기능어는 영어권에서 사용되는 불용어와 같이 문서의 내용을 판단하는데 중요한 역할을 하지 않으면서 문서 내에서 빈번하게 출현하므로, 제거하면 색인 속도 및 표절 검사 속도를 높일 수 있다.
기능어 처리가 끝나면 색인 생성부(130)는 비교 문서에 대해서 색인을 생성한다(S270).
색인은 색인어와 대응되는 색인 정보를 포함하도록 생성되고, 색인어로 "나:N"와 같이 형태소와 품사 태그의 첫 글자를 결합한 형태로 생성된다. 이는 '나'라는 형태소의 품사가 대명사일 수도 있지만 "여름을 나다"에서 '나'와 같이 동사일 수도 있기 때문에 이를 서로 구분하기 위함이다.
색인 정보는 '문서번호', '문장번호', '문장 내 어절번호', '어절 내 형태소 번호', '문서 내 형태소 번호', '어절 내 다음 형태소 존재 여부'가 숫자로 표현되도록 생성된다.
색인 정보들에서 사용되는 번호는 '0'부터 시작되며, 어절 내 다음 형태소 존재 여부는 0/1의 불리언(Boolean) 값을 갖는다. 색인 구조는 색인어를 키로 하는 해시테이블이며 색인 정보를 저장할 수 있는 연결 리스트를 값으로 갖는다.
형태소를 색인하는 것 외에 문서의 정보를 색인하는 색인 구조를 하나 더 생성한다. 색인어는 "문서번호:문장번호"이다. 색인정보는 문장 내 총 형태소 수와 총 어절 수이다.
색인 구조는 형태소 색인과 마찬가지로 색인어를 키로하고 색인 정보 하나를 값으로 하는 해시 테이블이다.
상술한 제 S210 단계 내지 제 S270 단계를 예시적으로 설명하면 다음과 같다.
<<예시 문서 1>>
나는 잘 들어갔어. 너는 어떠니?
상기 문서 1의 기호 처리 후 문서 분리 결과는 다음과 같다.
<<예시 문서 1의 기호 처리 및 문장 분리 결과>>
[0번 문장] 나는 잘 들어갔어
[1번 문장] 너는 어떠니
상기 결과의 형태소 분석 결과는 다음과 같다.
<<예시 문서 1 형태소 분석 결과>>
[0번 문장] 나/NP+는/JX // 잘/MAG // 들어가/VV+았/EP+어/EF
[1번 문장] 너/NP+는/JX // 어떻/VA+니/EF
상기 결과에서 색인어를 추출하면 다음과 같다.
<<예시 문서 1의 색인어 추출 결과(기능어 포함)>>
나:N // 는:J // 잘:M // 들어가:V // 았:E // 어:E // 너:N // 어떻:V // 니:E
<<예시 문서 1의 색인어 추출 결과(기능어 제거)>>
나:N // 잘:M // 들어가:V // 너:N // 어떻:V
상기 기능어를 포함하는 색인어를 색인하면 다음 표 2와 같은 색인 구조가 만들어진다.
색인어 | 색인 정보 첫 번째 링크 | 색인 정보 두 번째 링크 | 색인 정보 세 번째 링크 |
나:N | 0, 0, 0, 0, 0, 1 | null | |
는:J | 0, 0, 0, 1, 1, 0 | 0, 1, 0, 0, 7, 0 | null |
잘:M | 0, 0, 1, 0, 2, 0 | null | |
들어가:V | 0, 0, 2, 0, 3, 1 | null | |
았:E | 0, 0, 2, 1, 4, 1 | null | |
어:E | 0, 0, 2, 2, 5, 0 | null | |
너:N | 0, 1, 0, 0, 6, 1 | null | |
어떻:V | 0, 1, 1, 0, 8, 1 | null | |
니:E | 0, 1, 1, 1, 9, 0 | null |
<<문서 정보 색인 구조>>
색인어 | 색인 정보 |
0:0 | 3, 6 |
0:1 | 2, 4 |
상기 기능어를 제거한 색인어를 색인하면 다음 표 3과 같은 색인 구조가 만들어진다.
색인어 | 색인 정보 첫 번째 링크 | 색인 정보 두 번째 링크 |
나:N | 0, 0, 0, 0, 0, 0 | null |
잘:M | 0, 0, 1, 0, 1, 0 | null |
들어가:V | 0, 0, 2, 0, 2, 0 | null |
너:N | 0, 1, 0, 0, 3, 0 | null |
어떻:V | 0, 1, 1, 0, 4, 0 | null |
<<문서 정보 색인 구조>>
색인어 | 색인 정보 |
0:0 | 3, 3 |
0:1 | 2, 2 |
비교 문서들에 대한 색인은 하나 이상의 문서에 대해 색인을 하므로 색인 구조를 확장하게 된다(S280). 문서 번호는 색인되는 순서에 따라 0부터 차례대로 순번을 부여한다.
비교 문서 그룹의 모든 문서에 대해서 색인이 생성될 때까지 상술한 제 S210 단계 내지 제 S280 단계는 반복적으로 수행된다(S290).
한편, 도 5 는 도 2 의 제 S300 단계를 상세하게 설명하는 도면이다. 도 5를 참조하면, 비교 문서 그룹에 포함되는 모든 비교 문서에 대해서 색인이 생성되면, 원본 문서에 대해서 비교 문서와 동일한 방식으로 색인이 생성된다(S310). 원본 문서에 대해서 색인을 생성하는 과정은 비교 문서에 대해서 색인을 생성하는 과정과 동일하므로 구체적인 설명은 생략한다.
원본 문서에 대해서 색인이 생성되면, 어절 복원부(140)는 원본 문서 색인("원본 색인"이라 칭함)의 모든 색인어를 추출하고 비교 문서 색인("비교 색인"이라 칭함)을 검색하여 공통 형태소를 검색한다(S320).
색인 정보에는 문서 번호가 포함되어 있으므로 비교 색인 내 공통 형태소의 색인 정보를 이용하여 비교 문서별로 공통 형태소를 추출한다(S330).
그 후, 어절 복원부(140)는 각 비교 문서별로 추출된 형태소들을 이용하여 연속되는 어절 구간을 탐색(S340)한다.
도 6은 비교 문서에서 연속되는 어절 구간 탐색 단계(S340)의 상세 흐름도이다. 도 6을 참조하여 제 S340 단계를 상세하게 설명하면, 먼저, 어절 복원부(140)는 공통 형태소의 색인 정보를 이용하여 비교문서에 포함된 어절을 복원(S341)한다. 어절 복원은 같은 문장의 같은 어절 내 모든 형태소가 공통 형태소로 검색된 경우에만 이루어진다.
예를 들어, 하나의 비교 문서에서 다음 표 4와 같이 "나:N"와 "너:N"의 색인어가 공통 형태소로 검색되었다고 가정해보자.
공통 형태소 | 색인 정보 |
나:N | 0, 0, 0, 0, 0, 1 |
너:N | 0, 0, 1, 0, 2, 0 |
"나:N"의 색인정보를 분석해보면 0번 문서의 0번 문장의 0번 어절의 첫 번째 형태소이며, 어절 내 다음 형태소가 존재한다는 것을 알 수 있다. 이는 문서에서 '나'가 포함된 어절에서 '나' 외의 형태소가 더 존재한다는 것을 의미하지만, 다음의 공통 형태소로 추출된 형태소 "너:N"는 "나:N"와 동일한 어절에 포함되지 않으므로, 비교 문서에서"나:N"가 포함된 어절은 모두 공통 형태소로 구성되는 어절이 아니므로 "나:N"는 어절 복원 대상에서 배제한다.
한편, "너:N"는 '너'가 포함된 어절에서 '너' 외의 형태소가 더 없다는 것을 알 수 있으므로 "너:N"가 포함된 어절은 공통 형태소만으로 구성된 어절이므로 어절 복원을 수행한다. 어절 복원은 어절을 이루는 형태소를 순서대로 정렬하여 리스트에 추가하여 수행한다.
어절 복원이 끝나면, 어절 복원부(140)는 복원된 어절의 문장 내 어절 번호 색인 정보를 이용하여 어절이 연속되는 어절인지 아닌지 검사한다(S342). 복원된 어절들은 어절 번호 순서대로 정렬되어 있으므로 어절 번호가 중간에 끊어지지 않고 차례대로 증가하면 연속 구간으로 판단할 수 있다. 본 발명의 시스템에서 문장을 초월하는 연속 구간은 존재하지 않는다.
어절이 연속된다면 연속 구간을 확장하고(S343), 어절이 연속되지 않으면 이미 만들어진 연속 구간의 총 길이가 최소 연속 어절 수 이상인지를 검사한다(S344). 이는 표절 여부를 판정함에 있어서, 하나 또는 두 어절만 연속해서 일치한다고해서 표절로 인정하기 어렵고, 최소한 몇 어절 이상이 연속적으로 동일해야 표절로 인정되기 때문이다. 단, 문장의 총 어절 수가 최소 연속 어절 수 미만인 경우 최소 연속 어절 수가 해당 문장의 총 어절 수로 임시로 수정된다. 문장의 어절 수는 색인 정보로부터 얻는다.
제 S343 단계에서 생성된 연속 구간이 최소 연속 어절 수 이상이면, 연속된 어절 구간을 연속 구간 리스트 저장부(176)에 저장하여 연속 구간 리스트를 등록한다(S345).
제 S344 단계에서 판단한 결과 연속 구간이 최소 연속 어절 수 미만이거나, 연속 구간 리스트에 등록이 끝나면 연속 구간을 초기화하고(S346), 복원된 마지막 어절까지에 대해서 상술한 제 S342 단계 내지 S346 단계를 반복한다.
다시 도 5를 참조하면, 각 비교 문서에서 연속 어절 탐색이 끝나고 연속 구간 리스트가 완성되면, 비교 문서의 연속 어절 구간 리스트에 등록된 연속 어절 구간을 원본 문서와 비교하여 원본 문서와 비교 문서의 표절 부분을 조사한다(S350).
도 7은 연속 구간 리스트와 원본 문서를 비교하여 표절 부분을 조사하는 제 S350 단계의 상세 흐름도이다.
도 7을 참조하면, 연속 구간 리스트에서 하나씩 연속 구간을 판독하여 연속 구간 내 모든 형태소를 추출하여 원본 색인을 검색하여 공통 형태소를 검색한다(S351).
그 후, 원본 색인 내 공통 형태소의 색인 정보를 이용하여 원본 문서에서 어절을 복원한다(S352). 이 때, 어절 복원부(140)는 복원된 원본 문서의 어절이 비교 문서의 어절과 동일한지 여부를 조사하여, 동일한 어절에 대해서만 후술하는 과정이 수행된다.
어절이 복원되면, 복원된 연속 어절 수가 사전에 설정된 최소 연속 어절 수(n) 이상인지 조사하여 최소 연속 어절수에 미달하면 상술한 제 S351 단계로 진행하여 연속 구간 리스트의 다음 연속 구간을 조사한다(S353).
복원된 어절들의 연속 어절수가 최소 연속 어절 수 이상인 경우에, 사전에 어순을 고려하도록 설정되었는지 여부를 조사하여, 어순을 고려하지 않는 경우에는 제 S356 단계로 진행한다(S354).
한편, 어순을 고려하도록 설정된 경우에는 원본 문서에서 복원된 어절의 연속 구간이 비교 문서로부터 생성된 어절의 연속 구간과 어순까지 일치하는지 여부를 조사하여 일치하지 않으면 제 S351 단계로 진행한다(S355).
어순을 고려하지 않는 경우이거나 어순까지 일치하는 경우에, 현재 원본 문서로부터 복원된 어절의 연속 구간은 최종 연속 구간 리스트에 등록된다(S356). 최종 연속 구간 리스트에 등록된 연속 어절들은 원본 문서와 비교 문서에 모두 동일하게 포함된 연속된 어절들이 된다.
상술한 제 S351 단계 내지 제 S356 단계는 연속 구간 리스트에 등록된 마지막 연속 어절 구간이 될 때가지 반복적으로 수행된다(S357).
도 8 은 도 2 의 표절 여부 판정을 수행하는 제 S400 단계의 상세 흐름도이다. 상술한 제 S300 단계를 수행하여 생성된 최종 연속 구간 리스트를 통해서 원본 문서와 비교문서간의 동일한 연속 어절들이 확정되면, 도 8 에 도시된 바와 같이 표절 판정부(150)는 먼저 최종 연속 구간 리스트에 등록된 연속 어절들이 원본 문서에 몇 번이나 반복되는지를 조사하여 원본 문서의 유사도를 산출한다(S410). 원본 문서의 유사도는 다음의 수학식 1 에 의해서 계산된다(S410).
한편, 원본 문서와 동일한 방식으로 다음의 수학식 2 에 따라서 비교 문서의 유사도를 계산한다(S420).
그 후, 원본 문서 유사도와 비교 문서 유사도를 이용하여 문서 쌍 표절 유사도를 다음의 수학식 3 과 같이 계산한다(S430).
한편, 표절 판정부(150)는 문서 쌍 표절 유사도를 사전에 설정된 임계값과 비교하여(S440), 문서쌍 표절 유사도가 임계값 미만이면 비표절 문서쌍으로 판정하여 결과 출력에서 배제하고(S450), 임계값 이상이면 표절로 판정하여 결과를 출력한다(S460).
도 9 는 도 2 의 표절 판정 결과를 출력하는 제 S500 단계를 상세하게 설명하는 흐름도이다. 도 9를 참조하여 결과 출력 단계를 설명하면, 비교 문서가 표절로 판정되면, 표절 문서 쌍으로 판정된 원본 문서와 비교 문서의 표절 구간을 표시한다(S510). 표절 구간을 표시하는 방법은 다양하게 적용가능하고, 가장 대표적인 예로서, 소정 색깔로 표시하거나, 표절 영역을 반전시켜 표시하는 등의 방식이 이용될 수 있다.
도 10은 표절 구간 표시 방법의 일예를 설명하는 상세 흐름도이다.
도 10을 참조하면, 색인 과정에서 저장된 기호처리와 문장 분리가 끝난 문서 로부터 공백 단위로 어절을 분리한다(S511).
문서의 첫 어절부터 차례대로 연속 구간 내 어절과 일치하는지 검사한다(S512).
일치한다면 해당 어절을 HTML <FONT> 태그를 사용하여 붉은 색으로 표시한다(S513).
문서의 마지막 어절까지 상기 과정을 반복하여 연속 구간을 표시한다(S514).
표절 구간의 표시가 끝나면 하나의 어절마다 <FONT> 태그가 붙어있으므로 연속된 <FONT> 태그를 하나로 치환한다(S515).
표절 구간 표시가 끝나면 결과를 데이터베이스로 출력(S540)하거나 HTML 형식의 파일로 출력할 수 있다(S530).
지금까지 본 발명의 바람직한 실시예에 따른 문서 표절 탐색 방법 및 장치에 대해서 설명하였다. 당업자라면 본 발명의 기술적 사상의 범위 내에서 다양한 변형 실시예들이 도출될 수 있음을 알 수 있을 것이다.
예컨대, 상술한 실시 예에 있에서는, 원본 문서 그룹과 비교 문서 그룹으로 고정하여 설명하였으나 본 발명은 이에 한정하지 않는다. 원본 문서 그룹과 비교 문서 그룹을 서로 바꾸거나 원본 문서 그룹이 아닌 원본 문서 하나로 처리하는 것도 가능하다.
또한, 연속 구간을 탐색할 때, 바로 인접한 연속 구간만 탐색하도록 설명하였으나, 갭(Gap)의 개념을 도입하여 일정 거리 이하의 떨어진 구간도 연속 구간으로 판정할 수 있도록 수정하여 중간에 불필요한 수식어가 삽입된 경우도 처리할 수 있다.
또한, 형태소 분석 과정을 생략하고 공백 단위로 단어를 구분하여 색인을 하면 간단하게 본 발명을 영어 문서 표절 탐색에 적용할 수 있다.
또한, 형태소 분석 대신에 컴퓨터 언어의 어휘 분석기(Tokenizer)를 적용하면 본 발명을 소스 코드 표절 탐색에도 적용할 수 있다.
또한, 띄어쓰기나 오탈자 교정을 전처리 과정으로 수행하면 좀 더 한국어의 특성을 반영한 표절 탐색을 가능하게 할 수 있다.
또한, 아래아 한글이나 MS 워드프로세서, PDF와 같은 형식의 파일 포맷을 텍스트 형태 변환하는 필터를 이용하여 다양한 형식의 문서로부터 표절 탐색을 가능하게 할 수 있다.
또한, 본 발명은 스탠드 얼론 방식으로 수행되는 것에 한하지 않으며, 서버-클라이언트 모델에 의해 서버에서 표절을 검사하고 결과를 클라이언트의 사용자 인터페이스를 통해 결과를 확인 할 수 있다. 또는 네트워크를 통하여 자료의 처리를 여러 컴퓨터로 분산하여 처리하는 방법도 적용 가능하다. 이 경우 비교 문서 그룹 색인을 A 시스템, 표절 검사는 B 시스템, 결과 출력은 C 시스템 식으로 분산할 수도 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1 은 본 발명의 바람직한 실시예에 따른 문서 표절 탐색 장치의 구성을 도시하는 블록도이다.
도 2는 본 발명의 바람직한 실시예에 따른 문서 표절 탐색 방법의 전체 흐름도이다.
도 3 은 도 2 의 문서를 입력받는 제 S100 단계를 상세하게 설명하는 상세 흐름도이다.
도 4 는 도 2 의 비교 문서에 대해서 색인을 생성하는 제 S200 단계를 설명하는 상세 흐름도이다.
도 5 는 도 2 의 표절 부분을 조사하는 제 S300 단계를 상세하게 설명하는 상세 흐름도이다.
도 6은 비교 문서에서 연속되는 어절 구간 탐색 단계(S340)의 상세 흐름도이다.
도 7은 연속 구간 리스트와 원본 문서를 비교하여 표절 부분을 조사하는 제 S350 단계의 상세 흐름도이다.
도 8 은 도 2 의 표절 여부 판정을 수행하는 제 S400 단계의 상세 흐름도이다.
도 9 는 도 2 의 표절 판정 결과를 출력하는 제 S500 단계를 상세하게 설명하는 흐름도이다.
도 10은 표절 구간 표시 방법의 일예를 설명하는 상세 흐름도이다.
Claims (11)
- 원본 문서와 비교 문서에 포함된 각 문장의 형태소를 분석하는 형태소 분석부;상기 원본 문서 및 상기 비교 문서에 포함된 형태소에 대해서 색인을 생성하는 색인 생성부;원본 문서와 비교 문서간의 형태소를 비교하여, 공통되는 형태소를 검색하고, 공통된 형태소들의 색인을 이용하여 공통된 형태소가 포함된 어절들을 복원하여 원본 문서와 비교 문서간의 동일한 어절들을 복원하는 어절 복원부; 및상기 동일한 어절들이 상기 원본 문서에서 차지하는 비율과 상기 비교 문서에서 차지하는 비율을 이용하여 비교문서의 원본 문서에 대한 표절 여부를 판정하는 표절 판정부를 포함하는 것을 특징으로 하는 문서 표절 탐색 장치.
- 제 1 항에 있어서, 상기 색인 생성부는형태소 및 품사 정보를 결합한 색인어와 상기 색인어가 포함된 문서내의 위치를 나타내는 색인 정보를 포함하는 것을 특징으로 하는 문서 표절 탐색 장치.
- 제 1 항에 있어서, 상기 어절 복원부는비교 문서 중 어절에 포함된 형태소가 모두 상기 공통된 형태소인 어절들을 복원하고, 복원된 어절이 연속되는 구간을 조사하여 어절 연속 구간이 사전에 설정 된 최소 개수 이상인 어절들로 구성되는 연속 구간 리스트를 생성하는 것을 특징으로 하는 문서 표절 탐색 장치.
- 제 3 항에 있어서, 상기 어절 복원부는상기 연속 구간 리스트에 등록된 각 어절 연속 구간의 형태소 및 상기 원본 문서의 색인을 이용하여, 상기 연속 구간 리스트에 등록된 각 어절 연속 구간과 동일한 원본 문서의 어절을 복원하는 것을 특징으로 하는 문서 표절 탐색 장치.
- 제 4 항에 있어서,상기 어절 복원부는 상기 복원된 원본 문서의 어절이 연속되는 어절 연속 구간을 조사하고, 원본 문서의 어절 연속 구간이 사전에 설정된 최소 개수 이상인 어절들로 구성되는 최종 연속 구간 리스트를 생성하고,상기 표절 판정부는 상기 최종 연속 구간 리스트에 등록된 어절들이 원본 문서에 포함된 어절수를 조사하여 원본 문서 유사도를 생성하고, 상기 최종 연속 구간 리스트에 등록된 어절들이 비교 문서에 포함된 어절수를 조사하여 비교 문서 유사도를 생성하며, 상기 원본 문서 유사도와 상기 비교 문서 유사도의 평균값을 소정의 임계치와 비교하여 상기 비교 문서의 상기 원본 문서에 대한 표절 여부를 판정하는 것을 특징으로 하는 문서 표절 탐색 장치.
- (a) 비교 문서에 포함된 문장들의 형태소를 분석하여, 상기 비교 문서에 대 해서 색인을 생성하는 단계;(b) 원본 문서에 포함된 문장들의 형태소를 분석하여, 상기 원본 문서에 대한 색인을 생성하는 단계;(c) 상기 원본 문서와 상기 비교 문서간의 형태소를 비교하여 공통되는 형태소를 검색하고, 공통된 형태소들의 색인을 이용하여 공통된 형태소만으로 구성되는 어절들을 복원하여 표절 부분을 조사하는 단계; 및(d) 원본 문서의 전체 구간에서 표절 부분이 차지하는 비율 및 비교 문서의 전체 구간에서 표절 부분이 차지하는 비율을 계산하여 표절 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 문서 표절 탐색 방법.
- 제 6 항에 있어서,상기 색인은 형태소 및 품사 정보를 결합한 색인어와 상기 색인어가 포함된 문서내의 위치를 나타내는 색인 정보를 포함하는 것을 특징으로 하는 문서 표절 탐색 방법.
- 제 6 항에 있어서, 상기 (c) 단계는(c1) 상기 원본 문서와 상기 비교 문서의 색인을 이용하여 공통된 형태소를 추출하는 단계;(c2) 추출된 공통된 형태소들만으로 구성되는 어절을 복원하고, 복원된 어절이 연속되는 구간을 조사하여 어절 연속 구간이 사전에 설정된 최소 개수 이상인 어절들로 구성되는 연속 구간 리스트를 생성하는 단계; 및(c3) 상기 연속 구간 리스트에 등록된 어절 구간과 상기 원본 문서를 비교하여 표절 부분을 조사하는 단계를 포함하는 것을 특징으로 하는 문서 표절 탐색 방법.
- 제 8 항에 있어서, 상기 (c3) 단계는(c31) 상기 연속 구간 리스트에 등록된 어절의 연속 구간별로 연속 구간에 포함된 형태소를 추출하여 원본 문서의 공통 형태소를 검색하는 단계;(c32) 상기 (c31) 단계에서 검색된 공통 형태소를 이용하여 연속 구간의 어절과 동일한 원본 문서의 어절을 복원하는 단계; 및(c33) 상기 (c32) 단계에서 복원된 어절들의 연속 어절 수가 사전에 설정된 최소 연속 어절 수(n) 이상인지 조사하여 최소 연속 어절 수 이상인 경우에 최종 연속 구간 리스트에 등록하여 표절 부분을 조사하는 단계를 포함하는 것을 특징으로하는 문서 표절 탐색 방법.
- 제 9 항에 있어서, 상기 (d) 단계는(d1) 상기 최종 연속 구간 리스트에 등록된 어절들이 원본 문서에 포함된 어절수를 조사하여 원본 문서 유사도를 생성하는 단계;(d2) 상기 최종 연속 구간 리스트에 등록된 어절들이 비교 문서에 포함된 어절수를 조사하여 비교 문서 유사도를 생성하는 단계; 및(d3) 상기 원본 문서 유사도와 상기 비교 문서 유사도의 평균값을 소정의 임계치와 비교하여 상기 비교 문서의 상기 원본 문서에 대한 표절 여부를 판정하는 단계를 포함하는 것을 특징으로 하는 문서 표절 탐색 방법.
- 제 6 항 내지 제 10 항 중 어느 한 항의 문서 표절 탐색 방법을 컴퓨터에서 판독할 수 있고, 실행 가능한 프로그램 코드로 기록한 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080129948A KR100999488B1 (ko) | 2008-12-19 | 2008-12-19 | 문서 표절 탐색 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080129948A KR100999488B1 (ko) | 2008-12-19 | 2008-12-19 | 문서 표절 탐색 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100071287A KR20100071287A (ko) | 2010-06-29 |
KR100999488B1 true KR100999488B1 (ko) | 2010-12-09 |
Family
ID=42368806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080129948A KR100999488B1 (ko) | 2008-12-19 | 2008-12-19 | 문서 표절 탐색 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100999488B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240013650A (ko) | 2022-07-22 | 2024-01-30 | 주식회사 투비유니콘 | 전자기록물 검증 시스템 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2474870C1 (ru) * | 2011-11-18 | 2013-02-10 | Общество С Ограниченной Ответственностью "Центр Инноваций Натальи Касперской" | Способ автоматизированного анализа текстовых документов |
KR101453866B1 (ko) * | 2012-07-25 | 2014-10-23 | 주식회사 와이즈넛 | 고속 모사 구간 검출을 위한 문서의 사전화 장치 및 그 방법 |
KR101453867B1 (ko) * | 2012-08-02 | 2014-10-23 | 주식회사 와이즈넛 | 통합보기 형태로 모사구간을 가시화하는 모사 검출 방법 |
KR101448803B1 (ko) * | 2013-01-23 | 2014-10-08 | 부산대학교 산학협력단 | 버로우즈-휠러 변환과 fm-인덱스를 이용한 초고속 유사구간 탐색 장치 및 방법 |
KR101470547B1 (ko) * | 2014-08-29 | 2014-12-10 | 주식회사 무하유 | 독음데이터를 이용한 문서 표절률 산출 방법 및 이 방법을 수행하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 저장매체 |
KR101634681B1 (ko) * | 2015-09-03 | 2016-06-29 | 주식회사 무하유 | 검사문서 내 인용구문 탐색 방법 및 프로그램 |
KR101663454B1 (ko) * | 2016-08-03 | 2016-10-07 | 주식회사 비욘드테크 | 키워드 가중치를 이용한 문장 유사도 산출 장치 및 그 방법 |
KR101663453B1 (ko) * | 2016-08-03 | 2016-10-07 | 주식회사 비욘드테크 | 문장 순서 및 구조 변경을 이용한 문장 유사도 산출 장치 및 그 방법 |
KR101869362B1 (ko) | 2016-11-15 | 2018-06-21 | 한국과학기술원 | 함의 문장 생성 기술을 활용한 문장 표절 판단 장치, 이를 구현하기 위한 프로그램 및 기록 매체 |
KR101994901B1 (ko) * | 2017-05-19 | 2019-06-28 | 윤택기 | 인공지능 키워드 등록 방법 및 장치 |
CN112380834B (zh) * | 2020-08-25 | 2023-10-31 | 中央民族大学 | 藏语论文剽窃检测方法和*** |
KR102394095B1 (ko) * | 2021-02-16 | 2022-05-09 | 비플라이소프트(주) | 문서 데이터를 비교하는 장치 및 방법 |
KR102297721B1 (ko) * | 2021-02-18 | 2021-09-03 | 주식회사 투비유니콘 | 표절구간 탐색을 통한 표절률 산출방법을 적용하여 표절의 타당성을 평가하는 시스템 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001014342A (ja) | 1999-07-02 | 2001-01-19 | Hitachi Ltd | 文書検索方法および装置 |
JP2003085099A (ja) | 2001-09-12 | 2003-03-20 | Sony Corp | 情報処理装置および情報処理方法、記録媒体、並びにプログラム |
KR100406671B1 (ko) | 2000-07-24 | 2003-11-21 | 주식회사 유니마이다스 | 문장 표절 및 도용 검색 방법 |
-
2008
- 2008-12-19 KR KR1020080129948A patent/KR100999488B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001014342A (ja) | 1999-07-02 | 2001-01-19 | Hitachi Ltd | 文書検索方法および装置 |
KR100406671B1 (ko) | 2000-07-24 | 2003-11-21 | 주식회사 유니마이다스 | 문장 표절 및 도용 검색 방법 |
JP2003085099A (ja) | 2001-09-12 | 2003-03-20 | Sony Corp | 情報処理装置および情報処理方法、記録媒体、並びにプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240013650A (ko) | 2022-07-22 | 2024-01-30 | 주식회사 투비유니콘 | 전자기록물 검증 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR20100071287A (ko) | 2010-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100999488B1 (ko) | 문서 표절 탐색 방법 및 장치 | |
US9575955B2 (en) | Method of detecting grammatical error, error detecting apparatus for the method, and computer-readable recording medium storing the method | |
CN102214189B (zh) | 基于数据挖掘获取词用法知识的***及方法 | |
El-Shishtawy et al. | An accurate arabic root-based lemmatizer for information retrieval purposes | |
Chaabi et al. | Amazigh spell checker using Damerau-Levenshtein algorithm and N-gram | |
Dahab et al. | A comparative study on Arabic stemmers | |
US20120124467A1 (en) | Method for automatically generating descriptive headings for a text element | |
Thabet | Stemming the Qur’an | |
Barrett et al. | Cross-lingual transfer of correlations between parts of speech and gaze features | |
Osman et al. | Plagiarism detection using graph-based representation | |
Tufiş et al. | DIAC+: A professional diacritics recovering system | |
Shafi et al. | UNLT: Urdu natural language toolkit | |
JP6541239B2 (ja) | 主語動詞の一致誤り検出装置及び一致誤り検出用プログラム | |
Mahmoud et al. | Artificial method for building monolingual plagiarized Arabic corpus | |
Tesfaye et al. | Designing a rule based stemmer for Afaan Oromo text | |
Doush et al. | Improving post-processing optical character recognition documents with Arabic language using spelling error detection and correction | |
Saini et al. | Intrinsic plagiarism detection system using stylometric features and DBSCAN | |
Kariyawasam et al. | A rule based stemmer for Sinhala language | |
Mekki et al. | Tokenization of Tunisian Arabic: a comparison between three Machine Learning models | |
US20110106849A1 (en) | New case generation device, new case generation method, and new case generation program | |
Hirpassa | Information extraction system for Amharic text | |
Reddy et al. | POS Tagger for Kannada Sentence Translation | |
JP2536633B2 (ja) | 複合語抽出装置 | |
KR100617317B1 (ko) | 복합 명사 전문용어 사전 엔트리의 재분석 방법 및 그 장치 | |
Al-Zyoud et al. | Arabic stemming techniques: comparisons and new vision |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20131031 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141231 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20161116 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20190226 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20191211 Year of fee payment: 10 |