본문 바로가기

Lucene

[lucene] 한글 analyzer 컨셉을 잡아봤습니다.

루씬에서 사용 할 색인어 추출기..
컨셉을 잡아봤습니다.

명사만 뚝뚝 추출 할 것이냐, 문장 그대로를 검색 시킬 것이냐..

예를 들면

"쇼핑몰 포인트를 어디서 받을 수 있을까요" 라는 검색어가 들어올 경우

키워드만 추출하는 (쇼핑몰/ 포인트)가 아닌

"어디서 받을 수 있을까요" 라는 문장만으로도 검색이 가능하게 하는

그런것이 트렌드인듯 합니다. 네이버도 그렇고.. 구글도 그렇고...

일단.. 이렇게 가려고 합니다.

Tokenizer를 상속받은 KoreanTokenizer 클래스를 만들어서

어절분리(띄어쓰기..), 특수문자제거, 한글-영어/숫자 분리(삼성mp3 -> 삼성, mp3),
소문자 정규화를 시키고

명사사전을 사용하여 명사를 분리하는 Filter 클래스를 만들고..

필요없는 어미를 제거하는 Filter 클래스 만들고

불용어 제거 하는 Filter와 (이건 추가 할지 말지...)

동의어사전을 사용하여 동의어를 뽑아내는 Filter.

이렇게 만들어보려고 합니다.


형태소분석 기반이 아닌지라..결과가 상당히 제멋대로 일 수 있을 것 같아요..

명사사전을 뒤져본다해도 .. 어떻게 처리할지..

사전은 회사 내부에서 사용을 하기에

내부에서 명사로 가장 많이 사용되는 단어들을 사전으로 만들어 보려고 합니다.