지능적 표절에 대한 검출 기능 고도화
이번 포스팅에서는 기존의 연속 어절 기반 (Seg-based)에서 공통 명사 기반 (Noun-based)로 표절 검출 기능을 고도화한 과정을 설명하고자 한다. 해당 고도화 버전은 2023년 8월 사람인 자소서 개편과 동시에 런칭되었다.
[OLD] 연속 어절 기반
기존의 연속 어절 기반 방식은 어절의 첫 음절이 5자 이상 연속으로 일치하는 경우를 표절 의심 기준으로 설정하였다. 기준에 부합하는 후보군들은 어절 전체를 재차 비교하여 최종적으로 표절로 판단하였다. 이 방식은 대량의 문서와 비교하여 신속하게 표절 여부를 검증할 수 있다는 장점이 있지만, 연속 일치를 피한 지능적인 표절의 경우에는 검출이 불가한 한계가 존재하였다 (Fig 1. 참조).
예를 들어, 텍스트를 그대로 카피하는 단순한 표절이 아니라 아래와 같이 단어의 추가/생략을 통해 교묘하게 표절을 피해가는 사례에 대한 대응이 쉽지 않았다.
이에 대한 대처로, 문장의 품사와 품사의 문장 내 위치 변경 여부를 고려하여 공통 명사 기반 방식을 개발하였다.
[NEW] 공통 명사 기반 — Noun-based Plagiarism Detection
이 방식은 언어학적 접근을 통하여 접속사, 조사 등 어미, 어형의 변화가 없는 품사 (즉, 불변화사)가 오히려 표절 시 바꾸어 사용하기 어렵다는 특성에 착안하였다. 불변화사와 결합하는 형태소인 명사를 원본과 표절의심 문서에서 각각 추출하고 중복되는 명사의 빈도수를 이용해 문서의 유사도를 측정하는 방법이다. 자세하게는, 연속성 조건을 제외하고 명사만 계수 후 8 어절 내 6개 이상 중복 명사가 등장하고 명사의 유사도 (Jaccard)가 0.6 이상인 경우를 기준으로 설정하였다 (Fig 3. 참조).
결과적으로, 아래와 같이 기존 연속 어절 기반 방식에서는 검출할 수 없었던 교묘히 위장한 표절 (단어의 위치나 명사를 제외한 단어 치환 등)을 잡아낼 수 있었다.
사람인 표절검사 서비스 적용
공통 명사 기반 방식으로 사람인 자소서 데이터(11,095,279건)를 사용하여 표절 검사 DB를 재구축하였고, 입력되는 자소서와 비교 후 표절 유사도를 노출하는 기능을 자소서 생성 서비스 내 코칭 메뉴에 적용하였다.
Fig 3.에서 볼 수 있듯이 자소서를 작성/생성한 후 코칭 메뉴에서 ‘표절검사’를 클릭 시, 표절 유사도가 ‘안심 (0%), 유의 (1~4%), 의심 (5~29%), 위험 (30~100%)’ 4단계로 표시된다. 표절 의심 문장이 있을 경우 하이라이팅하여 유저가 직접 수정할 수 있도록 유도하였다.
고도화 방안
단순 표절 검출을 넘어 지능적인 표절을 검출하는 데 어느 정도 성과를 보였지만, 아직 넘어야할 한계는 있다. 바로 언어의 의미론적 특성을 활용하여 기준 대상인 명사의 유의어를 다수 사용하여 검사 도구를 우회하는 대처에 대한 대응이 그것이다 — 현재 고도화된 버전으로는 Jaccard 0.6 기준을 사용하여 유의어 치환에 대해 일정 수준으로 대응하고 있다.
이를 위해, 명사 유사도뿐만 아니라 문장 구조 패턴을 추가적으로 고려하여 점점 지능적으로 변하는 표절 근절에 힘쓰고자 한다.