티스토리 툴바



2009/07/06


제가 담당하는 업무는 검색화면구현과 고객 특성에 맞는 검색지원을 고민하는 일입니다.

개발을 하면서 고객의 요구사항을 자주 접하게 되고, 한번쯤 고민하게 되는데요, 
이에 대하여 개인적인 생각을 적어 보겠습니다
잘못된 정보가 있다면 덧글로 정정해 주세요!

"정확도가 뭐에요 ??"

많이 듣는 말입니다. 
검색에 있어 정확도는 어떻게 산정되어야 할까요?
가장 일반적으로 생각 할 수 있는 사항은 다음과 같습니다.

일반적인 정확도 기준 ?!


(1) 키워드의 빈도수
     본문에 검색할 키워드가 많이 노출된다면, 관련된 문서일 확률이 높습니다.

(2) 입력한 키워드들의 간격
    단일 키워드가 아니라, 두 개의 단어를 입력할 때를 생각하시면 됩니다.
     "애니메이션 추천" 이라고 검색했는데

     예1) "애니메이션  추천 해 주세요"
     예2) "애니메이션을 보는데 형이 전화해서 너 요즘  가본 식당중 추천좀 해줘라!"
  
      보통 사용자는 핵심 단어(명사) 위주로 입력하기 때문에, 두 단어가 인접할 수록
      원하는 결과일 확률이 높습니다.


(3) 불필요한 단어는 검색하지 않는다.
      형태소 분석이라고도 합니다. 의미상 불필요한 조사나 특수기호를 빼면
      좀 더 다양한 검색이 가능합니다.
      만약 '에서' 같은 것도 검색키워드로 잡혔다면 본문 1번은 검색되지 않았을겁니다.

       검색어 : 우리나라에서 가장  ?
       본문1   : 우리나라 가장 큰 섬 XX도
       본문2   : 우리나라에서는 많은 이 존재합니다. 이중 가장 큰 섬은 XX도입니다.

이 밖에도 내부적으로 제가 모르는 많은 알고리즘들이 사용이 됩니다.
이런 몇 가지 방법을 통해 많은 사용자가 원하는 결과를 검색할 수 있고...
정확도가 높다고 생각할 수 있습니다.
  

일반적인 정확도의 함정

위와 같은 알고리즘은 언제나 일반적인 경우! 라는 것입니다.
극단적인 예로 (1)번의 "키워드 빈도수"를 생각해볼까요?


검색어) 바람
  내용1) 책제목 : 바람 바람 바람  (정확도 더 높음)
  내용2) 책제목 : 바람 

만약, '바람'으로 검색했는데, 오히려 1번도서가 더 정확도가 높아지게 됩니다. 
(3번이나 '바람'이 노출되었으므로)
우리는 바람이라는 책을 찾으려고 했던것 인데 말이죠.

또, (3)번 형태소 분석의 경우도 의도한 경우와 다른 경우가 발생합니다.

검색어) 꿈에서
  내용1) 책제목 : 꿈에서 내린 비
  내용2) 책제목 : 꿈을 꾸는 사람이 되라
형태소 분석을 하게 되면 '꿈' 만 키워드로 뽑혀서 내용1, 내용2가 같이 검색됩니다.
사용자가 의도한 내용은 1번만 검색되길 바랬을텐데요.
 

즉, 데이터의 특성에 따라 일반적인 정확도의 개념은 달라지게 됩니다.
그래서 이런 문제를 줄이기 위해 "컨설턴트"라는 직함을 가진 개발자가 투입되고 있는 것이죠.


그래서 니가 하고 싶은 말이 뭔데?

키워드 검색의 가장 큰 맹점이라면 
입력은 적되, 결과는 상세하기를 바란다는 것입니다.
 
즉, 1~3개의 단어를 입력(input)으로 하면서 결과는 많이 보여주기를 바란다는 거죠.

사용자 삽입 이미지

하지만, 적은 input으로 디테일한 output을 끌어내는건
휘발유를 1L넣고 부산까지 달리기를 바라는건 아닌가 생각해 봐야합니다. (그거슨 오버스펙?)

즉, 절대적인 정확도에 대한 관점은 없고, 적은 input으로 검색을 하면서
만족스러운 결과를 내기 위해서 어떤 데이터가 더 위로 올라와야 하는가... 
를 생각해 봐야 합니다. (전지전능한 정확도의 방법은 존재하지 않으므로)

즉, 서로 의견을 잘 취합하면
휘발유 1L로 부산은 못가더라도 좀더 근접한 곳까지는 인도 해 줄 수 있답니다.

사족으로 몇가지 더 말하자면
예를 들어 동일 단어에 대한 결과 품질을 위해 분류를 도입하여 카테고리 랭킹을 쓴다던가, 
형태소분석에서 나타날 수 있는 문제를 해결하기 위해 N-gram을 섞는다던가
exact성 데이터를 검색하기 위해 필드를 조율한다거나...그런것이 가능합니다 
저작자 표시
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by (주)코난테크놀로지

트랙백 주소 : http://blog.konantech.com/trackback/6 관련글 쓰기

댓글을 달아 주세요