현재 Apache Lucene을 기반으로 작은 사내 검색 엔진을 구축 중입니다. 그 목적은 간단합니다. 일부 키워드를 기반으로 회사 내부에서 작성된 일부 기사를 제안합니다. 상당히 표준적인 TF-IDF 스코어링을 기본 메트릭으로 사용하고 있으며 그 위에 자체 스코어링 메커니즘을 구축했습니다. 순위가 엉망으로 보이는 코너 사례를 제외하고는 모두 훌륭하게 작동하는 것 같습니다.
그래서 내가 계획하고있는 것은 검색 결과 페이지에 작은 관련성 / 관련성이 없음 링크를 추가하여 사용자가 결과가 처음에 포함되어야했는지에 대한 인식에 따라 그중 하나를 클릭 할 수 있도록하는 것입니다.
내 생각
- 이러한 관련성 / 관련성이 없음을 레이블로 취급하고 교육 데이터를 작성하십시오.
- 이 데이터를 사용하여 분류기를 훈련시킵니다 (예 : SVM)
- 이 모델을 검색 엔진에 통합하십시오. 즉, 모든 새로운 결과는 분류자를 통과하고 관련 여부에 대한 레이블이 지정됩니다.
이 접근법은 나에게 직관적으로 보이지만 실제로 작동하는지 확실하지 않습니다. 두 가지 구체적인 질문이 있습니다.
- 추출해야 할 모든 기능은 무엇입니까?
- 기계 학습 구성 요소를 검색 엔진에 통합하는 더 좋은 방법이 있습니까? 마지막으로 비즈니스 로직과 사용자 피드백을 바탕으로 순위 기능을 "학습"하는 것이 목표입니다.