띄어쓰기가 되어 있지 않은 문자열을 비교하여 중복인지 여부를 판단하는 프로세스를 만들었다.
주로 행정안전부 - 인허가 데이터에서 '중식 음식점' 카테고리에 있는 상호명을 가져와 비교하였다.
상호명에 있던 특수문자를 제거한다.
ex) MR.탕수육 → MR탕수육
중국집-실크로드 → 중국집실크로드
맛있는짜장&짬뽕 → 맛있는짜장짬뽕
네이버 맞춤법 검사기로 교정해주는 spell_checker 라이브러리 설치 후 교정
ex) 마라싸롱 → 마라살롱
헬로우마라 → 헬로마라
쭝국집 → 중국집
컬럼 정보
데이터 탐색
POI_NM을 바로 TOKENIZING하는 것 보다 맞춤법 교정 및 띄어쓰기 후 TOKENIZING을 했을 때 품질이 더 높았다.
ex. 춘리마라탕: ‘춘‘, ‘리‘, ‘마라’, ‘탕’ vs. ‘춘리’, ‘마라탕’ 8월의중식: ‘8월‘, ‘의중식‘ vs. ‘8월의’, ‘중식‘
자주 등장하는 키워드가 어떤건 지 확인하기 위해 SPELL_TOKEN을 하나의 말뭉치로 저장한 후 최빈어를 확인하였다.
SPELL_TOKEN에 있는 단어들을 하나의 리스트로 묶은 후(말뭉치) 키워드 빈도순으로 나열한 결과
'반점': 6255, '짬뽕': 5792, '양': 2592, '꼬치': 2534, '짜장': 2399, '마라탕': 1646,
'중화요리': 1029, '손': 979, '차이나': 965, '각': 703, '마라': 702…
키워드 중 ‘중식’과 연관된 카테고리성 키워드(반점, 짬뽕, 중화요리 등)를 소거 후 브랜드성 단어만 남김
ex) 청솔반점 → ‘반점’ 제거 → ‘청솔’만 남음
동일 주소(addr)를 갖는 상호명의 텍스트 유사도 (wsim) 측정 결과 0이 아닌 값이 약 25% 검출되었다!
(wsim이 1에 가까울 수록 문자열 사이의 유사도가 높다는 의미. wsim = 1은 두 문자열이 완전 동일.)
기존 키워드 소거법만으로 중복을 측정하던 방식보다 유사도로 비교하는 방식이 2배 이상의 중복 검출 결과를 내놓아 작업 퀄리티가 훨씬 상승했다.
다만 유사도 측정 방식의 경우 값이 0이상이라고 해도 반드시 중복이라고 판단할 수는 없기 때문에 검수 시간이 좀 더 소요되는 편이다.