여기에는 프로그래머가 아닌 분들이 많을 텐데, 키워드 검색과 의미 기반 검색의 차이는 혼란스럽게 느껴지거나, 그 작동 방식에 대해 더 깊이 알고 싶으신 분들이 계실 수 있습니다. 다음 내용은 프로그래머를 대상으로 한 것이지만, 프로그래머가 아니더라도 두 검색 방식의 차이점에 대한 핵심 개념을 배울 수 있을 정도로 기초적인 수준입니다.
@EricGT 링크 감사합니다. 이미 머신러닝(ML)에 대해 상당한 지식을 갖추고 있는 사람들을 제외하면, 그 논문은 꽤 어렵게 느껴질 수 있습니다.
핵심은 다음과 같습니다. 여기에서 적용되는 HyDE 방식은 먼저 LLM을 사용하여 질문을 기반으로 “가상의” 답변을 생성합니다. 이 답변은 실제 포럼 게시글과 같은 _형식_을 가질 수 있지만, 내용이 정해진 문서 집합이 아닌 LLM에서 생성되기 때문에 환각(hallucination)을 포함하거나 사실적으로 틀릴 수 있습니다. 이 문서는 사용자에게 표시되지 않지만, 흥미로운 점은 이 문서가 사이트의 실제 문서나 주제와 의미적으로 유사하다는 것입니다. 검색은 이 “가상의” 문서와 가장 유사한 실제 문서를 반환하며, 경험적으로 이는 검색어를 임베딩 데이터베이스의 의미적으로 유사한 문서와 단순히 매칭하는 것보다 더 잘 작동하는 것으로 보입니다.
@sam HyDE 기반 검색은 흥미롭고 직접 사용해 보고 싶습니다. 이러한 AI 기능 중 일부에 대해 조정 가능한 옵션(knobs)을 구상하고 계신가요? 예를 들어, 가상의 문서를 생성하는 데 사용되는 프롬프트와 요약/답변을 제어하는 프롬프트를 모두 편집할 수 있으면 좋을 것 같습니다. 현재 챗봇은 답변을 찾을 때 다소 장황한 편입니다. (제가 ChatGPT를 사용할 때처럼) 프롬프트 앞에 “간결하게” 또는 “요약하여” 같은 단어를 추가할 수 있으면 좋겠습니다.
많은 분들이 이 발언에 주목하지 않을 수 있지만, 프롬프트 실행에 실제 비용을 지불하고 있다면, 이는 이해해야 할 가장 가치 있는 내용 중 하나입니다.
참고:
프롬프트
40-90%: 프롬프트 끝에 “간결하게”를 추가함으로써 절약되는 비용
응답에 대해 토큰 단위로 비용을 지불한다는 점을 기억하는 것이 중요합니다. 즉, LLM에게 간결하게 답변하도록 요청하면 상당한 금액을 절약할 수 있습니다 [1]. 이는 단순히 프롬프트에 “간결하게”를 추가하는 것 이상으로 확장될 수 있습니다. GPT-4를 사용하여 10가지 대안을 생성하려 한다면, 5개만 요청하고 나머지 절반의 비용을 아끼는 것도 방법입니다.
정말 좋습니다! 특히 정확히 일치하는 검색에서 "결과 없음"을 반환하는 검색어를 입력할 때 더욱 그렇습니다.
마감된 Marketplace 주제에 대해 의미적으로 올바른 매칭이 꽤 많이 나오고 있습니다. 이러한 결과를 반환하는 것이 유용할 수도 있지만, 목록의 하단에 표시되는 것이 더 나을 수도 있습니다.
검색을 특정 카테고리나 태그로 좁힐 수 있다면 좋겠습니다. 예를 들어:
"사용자가 워드프레스에서 로그인할 때 활성화 이메일이 전송되지 않도록 하는 방법은 무엇입니까?"라고 검색할 경우, 가장 좋은 결과는 Documentation 또는 #support:wordpress에서 발견될 것입니다.
"가장 많은 '좋아요’를 받은 주제를 반환하는 Data Explorer 쿼리를 작성하는 방법은 무엇입니까?"라고 검색할 경우, 가장 좋은 결과는 #data-reporting 및 Documentation 카테고리에서 발견될 것입니다.
가능하다면, 초기 검색은 가장 가능성이 높은 카테고리에서 결과를 반환하고, 다른 카테고리로 검색을 확장해 보라는 제안이 주어질 수 있습니다.
Discourse를 고객 지원 포럼으로 사용할 때 의미 기반 검색을 첫 단계로 고려해 보면, 특정 카테고리나 태그를 우선순위로 설정할 수 있으면 좋겠습니다. 예를 들어, Meta의 경우 초기 검색에서 Documentation 카테고리를 우선적으로 검색하도록 설정할 수 있습니다.
이 새로운 기능을 통해 해결하고자 했던 문제 중 하나가 바로 그것입니다. 의미론적 검색은 항상 어떤 결과를 찾아냅니다.
현재 의미론적 검색은 매우 기본적인 상태입니다. 백엔드에서 몇 줄의 코드로 구성되어 있으며, 의미론적으로 가장 가까운 결과를 반환합니다. 지난 10년 동안 표준 검색에 추가된 검색 기능, 예를 들어 2.3 버전의 검색 개선 사항 등 많은 기능이 빠져 있습니다. 이 때문에 현재는 보완적인 결과 집합으로 제공되고 있습니다.
이 기능이 잘 받아들여지고 제품에서 UI를 완벽하게 다듬을 수 있다면, 의미론적 검색 결과에 Discourse 고유한 부분들을 통합해 보려 합니다.