인프런 커뮤니티 질문&답변
LLM 기반 문서 유사도 산출 가능성 관련 문의드립니다
작성
·
26
0
안녕하세요.
LLM 관련 강의 잘 듣고 있습니다. 실무 적용에 많은 도움이 되고 있어 감사드립니다.
강의 내용과 직접적인 연계는 아니지만, 강의를 듣는 중 궁금한 점이 생겨 문의드립니다.
현재 문서 분류 강의를 들으며 생각해본 부분인데, LLM을 이용해 문서 분류가 가능한 것처럼, 퍼지 해시(Fuzzy Hashing)처럼 문서 간 유사도를 하나의 점수 형태(예: 0~100, 혹은 정규화된 점수 등)로 산출하는 것이 가능한지 궁금합니다.
점수가 의미론적 유사도이든, 어떤 방식이든 상관없이, LLM이 두 문서를 입력받아 정량적 점수(Scoring Output)를 생성할 수 있는지 알고 싶습니다.
만약 가능하다면, 어떤 방식으로 접근하는 것이 적절한지(예: 모델 형태, 프롬프트 전략, 파인튜닝 여부, 평가 기준 등), 방향성을 조언해주시면 도움이 될 것 같습니다.
참고로 제가 언급한 퍼지 해시(Fuzzy Hashing)는 다음 개념을 의미합니다.
퍼지 해시는 일반적인 해시 함수와 달리, 입력 데이터가 일부 변형되더라도 서로 유사한 해시 값을 생성하여 문서 또는 파일 유사도를 비교하기 위한 기술입니다.
조언 주시면 감사하겠습니다.
좋은 강의 계속 기대하겠습니다.
감사합니다.
답변 1
0
안녕하세요~. 반갑습니다.
먼저 강의가 도움이 되셨다니 기쁘네요^^.
말씀해주신 부분에 대해 답변드리면
일반적으로 두 문서를 입력 받아서 두 문서간의 유사도를 비교하는데 가장 많이 사용되는 방법은 2개 문서를 임베딩 벡터(Embedding Vector)로 변환하고 2개 문서의 임베딩 벡터값간의 코사인 유사도(Cosine Similarity)를 계산하는 것입니다. 2개 문서를 임베딩 벡터로 변환하고 Cosine Similarity를 계산하면 2개 문서의 의미론적인 유사도에 대한 값이 0~100 사이의 정규화된 값으로 계산되어서 정량적으로 유사한 정도를 측정할 수 있습니다. (이때 임베딩 벡터 변환을 어떤 모델을 사용하느냐에 따라 성능이 달라질 수 있는데 가장 많이 사용되는 모델은 강의에서 설명드리는 OpenAI Embedding 모델들 입니다. https://platform.openai.com/docs/models/text-embedding-3-large )
범용적인 도메인에 대해서 의미론적인 유사도를 기준으로 2개 문서의 정량화된 점수를 측정해야하는 상황이면 위에 언급드린 [문서의 텍스트를 임베딩 벡터 변환 -> 코사인 유사도 비교]가 가장 보편적인 선택이지만 좀더 도메인에 특화된 형태로 작업을 진행하고 싶다면 2개 문서의 유사도에 대한 나만의 기준 점수산정공식을 ground truth로 만들어서(어떤 맥락에서 퍼지 해시를 언급해주신지에 대해서는 말씀해주신 내용만으로는 정확히 알수없지만 나만의 퍼지 해시 공식같은걸 사용하실 수도 있을것입니다.) [2개 문서를 input, 내가 산정한 ground truth값]을 트레이닝 데이터로 모아서 GPT와 같은 모델들을 내 트레이닝 데이터셋에 맞게 Fine-Tuning하고 이 파인튜닝된 모델을 활용하는 방법도 사용할 수 있습니다. 다만 이경우 좀더 많은 시간과 노력이 들어갈 수 있기 때문에 1번 방법으로 먼저 테스트한후 만족스럽지 않은 성능이 나올경우 2번안으로 고려해볼 수 있는 선택지일 것 같습니다.
그럼 오늘도 좋은 하루되세요~.
감사합니다.





