3.2차 중간 보고

                 종합설계 프로젝트 2차 중간보고서 요약

팀명

Detective

제출일

2014 5 1

프로젝트 제목

COPYDET

설계프로젝트 개요

프로젝트 수행 내용 및 중간 결과


프로젝트 요약문

  •   본 프로젝트의 목표는 학교 및 여러 교육기관들과 공공기관들에서 문서 표절 여부를 쉽게 찾아낼 수 있는 프로그램을 만드는 것이다. 사용자들은 이 프로그램을 통해서 손쉽게 문서들의 표절여부를 찾아낼 수 있으며 또한 사용자가 문서표절에 소비하는 시간과 비용을 절감할 수 있다. 또한 이 프로그램을 통해서 아래 그림들과 같이 사회 전반적으로 만연해 있는 표절에 대한 경각심을 일으키고, 표절 근절에 앞장설 수 있다. 
  •   본 프로젝트에서는 유사 문서 추출 과정을 통해 유사 문서 탐색에 소요되는 시간을 줄이고자, 수많은 문서군 사이에서 Source-Retrieval을 통해 유사도가 높은 문서들을 선별한 뒤 Text-Alignment로 각 문서간의 표절구간을 정밀하게 탐색한다.


마일스톤 수행 내용

  • Source-Retrieval Module
  1. Query 생성 최적화 : 현재 사용하고 있는 POS-TAGGER와 STOP-WORD를 통해 QUERY로 제출하기 부적합한 단어들을 QUERY 후보군에서 제외 시켰다. 그리고 남은 후보군들의 TF-IDF 값을 측정한 후에 TF-IDF 상위 20개를 추출 하였다. 그 후 개수 별로 QUERY를 제출 후 실험한 결과 5개 단위로 QUERY를 제출하는 것이 가장 성능이 좋아서 현재 TF-IDF 상위 20개의 단어를 5개의 쿼리로 조합하여 제출 하는 방법을 사용하고 있으며 나중에 좀 더 좋은 방법을 찾을 경우에 수정할 수 도 있다.
  2. 다운로드 URL개수 조절 : 1차 보고서에서 쓰였던 URL다운로드 함수를 리스트화 시켜서 다운로드 할 수 있는 URL의 개수를 JSON형식을 통해 조절할 수 있게 만들었다. 현재 사용하고 있는 다운로드 개수는 200개로 너무 많이 과도한 시간이 걸리는 관계로 50~200개 중 실험을 통해서 가장 적합한 개수를 찾고 있다.
  • Text-Alignment Module 
  1. 한 번에 비교하는 단어의 수 최적화 문제 : 초기 비교 리스트의 단어 수는 20으로 고정하였으며, 20 단어가 넘어가는 표절에 대해서는 리스트에 단어를 하나씩 추가하면서 표절의 비율이 일정 수준 이하(50%)로 떨어질 때까지 검사하도록 하였다.
  2. Cosine 유사도 함수를 통한 유사도 추출의 부정확성 개선 : 기존의 유사도 검사는 cosine 유사도 함수를 이용하여 문서의 벡터 스페이스 모델을 추출하는 방식이었다. 하지만 이는 문서 간의 유사도가 어느 정도인지 사람이 직관적으로 이해하기 어렵고, 단어들의 배열에 따라 결과값이 다르게 나왔다. 이를 개선하기 위해 python의 symmetric_difference 함수를 쓰도록 한다.


동영상

YouTube 동영상


다음 마일스톤 일정

  • Source-Retrieval Module
  1. Text Alignment 모듈과의 연동 문제Source Retrieval 과정을 거치면 표절 의심 문서가 표절한 웹 상의 소스 문서 후보군을 알 수 있다. 하지만 정확히 어떤 문서를 표절했는가는 Text Alignment 모듈과의 적절한 연동을 통해 알 수 있다. 후보군의 모든 문서에 대해 Text Alignment 모듈을 적용할 것인가 혹은 몇 개의 문서에 대해서만 적용할 것인가에 대한 실험이 필요하다.
  2. 가장 효율이 좋은 Query추출 및 URL 다운로드 개수 찾기 : 실험 조건은 갖춰졌고 앞으로 남은 기간 동안 계속되는 실험을 통해서 가장 효율이 좋은 Query추출방법과 URL다운로드 개수를 찾아야 할 것이다.
  • Text-Alignment Module
  1. 정확도 개선 : 현재 Text Alignment는 소스 문서와 의심 문서에서 같은 단어부터 시작하여 20개의 단어씩 정렬하여 비교하고 있다. 이는 단어의 순서를 교묘히 바꿔 표절하였을 때 표절 여부를 가려내기 위함이다. 몇 개의 단어를 정렬하여 비교할 것인가에 대한 실험이 필요하다.
  2. 모듈의 구체화 : 코사인 유사도를 이용한 문서 간 유사도 비교는 리스트를 벡터화하여 비교하는 것이므로 지역 정렬로 비교하였을 때보다 정확도가 떨어진다. 유사도가 어떤 상황에서 떨어지는가, 다른 비교 기법을 사용하면 성능이 올라가는가에 대한 실험이 필요하다.
  3. Algorithm 개선 및 최적화 : 현재 알고리즘의 취약점인 속도를 개선하고 다양한 실험을 통해 최적화 과정을 진행할 예정이다.

  • User Interface 구현


첨부화일 

Ċ
7조 캡스톤,
2014. 5. 1. 오전 6:02