2024/09 3

Elasticsearch (엘라스틱서치)의 기본 랭킹 알고리즘 - BM25

TF-IDF정보 검색과 텍스트 마이닝 등에서 사용되는 가중치이다.여러 문서로 이루어진 문서군에서 특정 문서 내에서 어느 단어가 얼마나 중요한지를 나타내는 통계적 수치이다.TF: Term Frequency하나의 문서 내에 여러 번 등장하는 단어의 중요도는 어떨까?예를 들면 ChatGPT를 설명하는 글에서는 "ChatGPT" 라는 단어가 아주 잦은 빈도로 등장할 것이다.이것은 굉장히 중요한 단어이다. IDF: Inverse Document Frequency많은 문서에서 등장하는 단어는 어떨까?예를 들면 "굉장히", "다양한" 같은 문서일 것이다.이것은 중요하지 않은 단어이다. TF-IDF는 이에 착안하여 특정 단어의 중요도를 나타내는 계산 방식이다.다만 문서의 숫자가 너무 많아질수록 기하급수적으로 값이 커지..

Java의 Slf4j, Logging Framework와 Dependency

SLF4J (The Simple Logging Facade for Java)Java에는 Logback, Log4j2와 같은 다양한 Logging Framework이 있다.내가 예를 들면 Apache Project를 개발하고 있다고 해보자.실제 사용자가 어떤 Framework을 사용할지 모르니 Logback에 대한 코드, Log4j2에 대한 코드 등을 모두 추가해야할까?  이런 때에 가장 적합한 Design Pattern이 Facade Pattern이다. 공통된 기능을 가지는 여러 Library를 단일 API를 이용하여 활용하도록 해주는 것이다.이름에서도 알 수 있듯이 이 Facade Pattern 이용하여 여러 Framework에 대한 고려를 해주는 것이 SLF4J이다! SLF4J를 이용한다면 코드 내부..

기타 주제 2024.09.02

Maven / Gradle의 Dependencies Conflicts

Maven DependenciesLibrary 들을 project files인 pom.xml 내의 선언하게 된다.Maven에서는 이 Library 들을 Dependencies에 선언하고,이를 일반적으로 Library가 아닌 Dependencies(Dependency)라고 부른다. 프로젝트에 사용되는 모든 dependencies는 그 자체가 선언되거나 parents에 의해 dependencies로 선언되어 있다.. ... group-a artifact-a 1.0 group-c excluded-artifact group-a artifact-b 1...

기타 주제 2024.09.02
반응형