지능적 표절에 대한 검출 기능 고도화

나옹
saraminlab
Published in
4 min readAug 16, 2023

이번 포스팅에서는 기존의 연속 어절 기반 (Seg-based)에서 공통 명사 기반 (Noun-based)로 표절 검출 기능을 고도화한 과정을 설명하고자 한다. 해당 고도화 버전은 2023년 8월 사람인 자소서 개편과 동시에 런칭되었다.

[OLD] 연속 어절 기반

기존의 연속 어절 기반 방식은 어절의 첫 음절이 5자 이상 연속으로 일치하는 경우를 표절 의심 기준으로 설정하였다. 기준에 부합하는 후보군들은 어절 전체를 재차 비교하여 최종적으로 표절로 판단하였다. 이 방식은 대량의 문서와 비교하여 신속하게 표절 여부를 검증할 수 있다는 장점이 있지만, 연속 일치를 피한 지능적인 표절의 경우에는 검출이 불가한 한계가 존재하였다 (Fig 1. 참조).

Fig 1. 검출 성공 (왼쪽), 검출 실패 (오른쪽)

예를 들어, 텍스트를 그대로 카피하는 단순한 표절이 아니라 아래와 같이 단어의 추가/생략을 통해 교묘하게 표절을 피해가는 사례에 대한 대응이 쉽지 않았다.

이에 대한 대처로, 문장의 품사와 품사의 문장 내 위치 변경 여부를 고려하여 공통 명사 기반 방식을 개발하였다.

[NEW] 공통 명사 기반 — Noun-based Plagiarism Detection

이 방식은 언어학적 접근을 통하여 접속사, 조사 등 어미, 어형의 변화가 없는 품사 (즉, 불변화사)가 오히려 표절 시 바꾸어 사용하기 어렵다는 특성에 착안하였다. 불변화사와 결합하는 형태소인 명사를 원본과 표절의심 문서에서 각각 추출하고 중복되는 명사의 빈도수를 이용해 문서의 유사도를 측정하는 방법이다. 자세하게는, 연속성 조건을 제외하고 명사만 계수 후 8 어절 내 6개 이상 중복 명사가 등장하고 명사의 유사도 (Jaccard)가 0.6 이상인 경우를 기준으로 설정하였다 (Fig 3. 참조).

Fig 2. 공통 명사 기반 표절 검출 순서도

결과적으로, 아래와 같이 기존 연속 어절 기반 방식에서는 검출할 수 없었던 교묘히 위장한 표절 (단어의 위치나 명사를 제외한 단어 치환 등)을 잡아낼 수 있었다.

사람인 표절검사 서비스 적용

공통 명사 기반 방식으로 사람인 자소서 데이터(11,095,279건)를 사용하여 표절 검사 DB를 재구축하였고, 입력되는 자소서와 비교 후 표절 유사도를 노출하는 기능을 자소서 생성 서비스 내 코칭 메뉴에 적용하였다.

Fig 3. 자소서 생성 서비스 내 표절검사 기능

Fig 3.에서 볼 수 있듯이 자소서를 작성/생성한 후 코칭 메뉴에서 ‘표절검사’를 클릭 시, 표절 유사도가 ‘안심 (0%), 유의 (1~4%), 의심 (5~29%), 위험 (30~100%)’ 4단계로 표시된다. 표절 의심 문장이 있을 경우 하이라이팅하여 유저가 직접 수정할 수 있도록 유도하였다.

고도화 방안

단순 표절 검출을 넘어 지능적인 표절을 검출하는 데 어느 정도 성과를 보였지만, 아직 넘어야할 한계는 있다. 바로 언어의 의미론적 특성을 활용하여 기준 대상인 명사의 유의어를 다수 사용하여 검사 도구를 우회하는 대처에 대한 대응이 그것이다 — 현재 고도화된 버전으로는 Jaccard 0.6 기준을 사용하여 유의어 치환에 대해 일정 수준으로 대응하고 있다.

이를 위해, 명사 유사도뿐만 아니라 문장 구조 패턴을 추가적으로 고려하여 점점 지능적으로 변하는 표절 근절에 힘쓰고자 한다.

--

--