250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- exceljs
- pagination
- node
- Remix
- git
- chatGPT
- NextJS
- nft
- 회고
- 라라벨
- nodejs
- threejs
- Kaikas
- miniconda
- nginx
- Ai
- Laravel
- Setting
- 발행
- polygon
- 공연티켓
- CSS
- React
- netfunnel
- metamask
- 블록체인
- Python
- PM2
- 배포
- jquery
Archives
- Today
- Total
박주니 개발 정리
nodejs levenshtein 이용해서 유사도 계산 적용하는 방법 본문
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