이전 글에 이어서 써보는 기초 검색 기획이다. 텍스트 전처리가 필요한 이유와 그 방식에 대해 공부한 내용을 정리해보려고 한다.
검색 시스템의 효율성과 정확도를 높이기 위해 텍스트 전처리는 필수적인 작업이다. 검색 쿼리가 다양하고 복잡할수록 이를 제대로 처리하지 않으면 검색 속도가 느려지고, 결과의 정확도도 떨어질 수 있다. 이번 글에서는 검색기획에서 활용되는 주요 텍스트 전처리 방법을 알아보자.
1. 띄어쓰기로 분절하기
문서를 검색할 때 각 단어를 정확히 구분하려면 띄어쓰기를 기준으로 텍스트를 분절해야 한다. 하지만, 쿼리가 길어질수록 처리 시간이 길어진다. 예를 들어, Apple pie, Apple iphone, Apple ipad, Apple jam과 같이 다양한 조합이 있다면 매 쿼리마다 이런 모든 조합을 처리하기에는 상당히 많은 시간이 소요된다. 이 문제를 해결하기 위해 효율적인 분절 알고리즘이 필요하다.
2. 형태소로 분절하기
형태소 분절은 단어를 더 작은 단위로 나누는 작업이다. 하지만 형태소 분절기가 지나치게 세밀하게 작동하면 문제가 생길 수 있다. 예를 들어, 선글라스가 선+글라스로 쪼개지는 경우가 있다. 이렇게 분절되면 고유명사나 상품명을 정확히 검색하기 어려워진다.
이러한 문제를 방지하기 위해 형태소 어드민에 고유명사(브랜드나 상품명 포함)를 등록하여 정확도를 높이는 방법이 필요하다.
3. 오탈자 교정하기
사용자가 입력한 검색어에 오탈자가 포함되는 경우, 검색 엔진이 이를 교정할 수 있어야 한다. 일반적으로 검색 엔진은 다음과 같은 경우를 자동으로 인식하고 수정한다.
한영 전환을 하지 않은 경우
예: tjsrmffktm → 선글라스
키패드 입력 중 옆 키를 잘못 누른 경우
예: 선굴라스 → 선글라스
자모를 빼먹은 경우
예: 서그라스 → 선글라스
이 과정에서 오탈자 사전을 활용하거나 자동 교정 알고리즘을 적용하면 더 효과적인 검색이 가능하다.
4. 동의어 확장하기
사람마다 동일한 사물을 지칭할 때 사용하는 단어가 다를 수 있다. 예를 들어, 뽁뽁이, 에어캡, 완충제는 모두 같은 제품을 의미한다. 이러한 차이를 보완하기 위해 동의어 사전을 관리하는 것이 중요하다. 서비스에서 제공하는 상품 종류나 자주 검색되는 키워드를 동의어로 묶어 관리하면 검색 결과의 범위가 확장된다.
4-1. 동의어 관리의 주요 사례
- 동의어: 잠옷/파자마, 미백/화이트닝, 전자시계/디지털시계
- 줄임말: 파운데이션/파데, 디지털카메라/디카
- 혼동되기 쉬운 외래어 표기: 블러셔/블러쉬/블러시, 토드백/토트백
이렇게 동의어 사전을 활용하면 사용자 경험이 개선되고, 검색 결과의 다양성과 정확성이 높아진다.
텍스트 전처리는 검색 시스템의 기반이 되는 중요한 작업이다. 띄어쓰기를 기준으로 단어를 분리하고, 형태소를 정확히 분절하며, 오탈자와 동의어를 적절히 관리하면 더 나은 검색 서비스를 제공할 수 있다. 효율적이고 정확한 검색을 위해 전처리 단계부터 철저히 준비하는 것이 필요하다.