박주니 개발 정리

nodejs levenshtein 이용해서 유사도 계산 적용하는 방법 본문

node

nodejs levenshtein 이용해서 유사도 계산 적용하는 방법

박주니 2024. 7. 24. 18:01
728x90
반응형

1. fast-levenshtein을 설치합니다. 

npm i fast-levenshtein

 

2. 유사도 계산을 위한 Levenshtein 거리 계산 코드를 적용합니다. 

const levenshtein = require("fast-levenshtein");

function test() {
  let name = "test"; //저장된값
  let extractedName = "test"; //입력값
  const distance = levenshtein.get(name, extractedName);
  const similarity =
    1 - distance / (Math.max(name.length, extractedName.length) + 1);
  console.log("similarity: ", similarity);
}

test();
  • 추가 설명 
    • similarity가 1이면 100%일치이고 그 밑으로 내려갈수록 유사도가 떨어지는 것을 의미합니다. 

3. 유사도 임계값을 설정해서 유사도가 그 이상일경우 출력할 수 있게 만듭니다. 

const levenshtein = require("fast-levenshtein");

function test() {
  let name = "test";
  let extractedName = "test";
  const distance = levenshtein.get(name, extractedName);
  const similarity =
    1 - distance / (Math.max(name.length, extractedName.length) + 1);
  let similarTitle = null;
  let maxSimilarity = 0.7; // 유사도 임계값 설정
  if (similarity >= maxSimilarity) {
    similarTitle = extractedName;
    maxSimilarity = similarity;
  }
  console.log("similarTitle: ", similarTitle);
}

test();

 

입력값이 오타가 있거나 speech to text를 적용했을 때 음성 전환이 제대로 안되었을경우 유사도 허용 범위를 정할 때 

유용하게 사용하실 수 있습니다. 

728x90
반응형
Comments