소중한 첫 NLP기반 검색 서비스 프로젝트 쿠글.
소중한만큼 더 좋게 발전시킬 수 있을까 고민하고 강창성 멘토님께 자문을 얻은 결과를 정리한다.
*버티컬 : 하나의 분야에 특화된 검색셜과를 제공하는 검색 개념
버티컬 검색에 대해 더 알아보기
https://www.venturesquare.net/1697
검색어 토큰화 방식과 임베딩 토큰화 방식 그리고 엘라스틱서치의 토큰화 방식이 모두 다르다.
과연 이게 괜찮은지? 구현의 편의성을 넘어 성과지표를 가지고 판단하고 싶어 구상중
내 쿼리DSL이 실제쿼리타임을 충분히 만족하는가?에 대한 생각
결론적으로 만족하지 못함. 사용자의 검색어가 길어졌을 때 지금 조합의 방식은 굉장히 위험하고, 엘라스틱서치를 활용하기는 했으나 효율적으로 사용하지 못하고 있다. 쿼리부분에서도 인덱싱과정에서도...
쿼리부분에 대한 문제와 해결방안
https://velog.io/@du-du-zi/TILDay-183
그외 개선 방안
요즘 검색에서의 트렌드
Embedding-based Retrieval
https://arxiv.org/abs/2006.11632
간단히 이야기하면 문서를 인덱싱할때(inverted indexing) 검색어와 비슷한 임베딩을 퀀타이즈한다(비슷한것기리 묶는다).
인덱싱을 임베딩에 기초해서 하는 방식
*inverted indexing(역색인) : 문서를 프로세싱 할때 용어 하나하나에 대해서 테이블을 만듦. ES가 이 방식.
알아두어야 하는 베이스 개념
Quantization
https://ieeexplore.ieee.org/document/5432202
https://mccormickml.com/2017/10/13/product-quantizer-tutorial-part-1/