Python에서 levenshtein 거리를 계산하는 방법
두 문자열 사이의 Levenshtein 거리는 한 단어를 다른 단어로 변환하는 데 필요한 단일 문자 변경의 최소 수입니다.
“수정”이라는 단어에는 대체, 삽입 및 삭제가 포함됩니다.
예를 들어 다음과 같은 두 단어가 있다고 가정해 보겠습니다.
- 파티
- 공원
두 단어 사이의 Levenshtein 거리(즉, 한 단어를 다른 단어로 변환하기 위해 변경해야 하는 변경 수)는 2 입니다.

실제로 Levenshtein 거리는 퍼지 문자열 일치, 철자 검사, 자연어 처리 등 다양한 응용 분야에서 사용됩니다.
이 튜토리얼에서는 python-Levenshtein 모듈을 사용하여 Python에서 문자열 사이의 Levenshtein 거리를 계산하는 방법을 설명합니다.
이 모듈을 설치하려면 다음 구문을 사용할 수 있습니다.
pip install python-Levenshtein
그런 다음 Levenshtein 거리를 계산하는 함수를 로드할 수 있습니다.
from Levenshtein import distance as lev
다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.
예시 1: 두 문자열 사이의 Levenshtein 거리
다음 코드는 두 문자열 “party”와 “park” 사이의 Levenshtein 거리를 계산하는 방법을 보여줍니다.
#calculate Levenshtein distance lev(' party ', ' park ') 2
Levenshtein 거리는 2 입니다.
예 2: 두 테이블 간의 Levenshtein 거리
다음 코드는 두 개의 서로 다른 배열에 있는 각 문자열 쌍 조합 간의 Levenshtein 거리를 계산하는 방법을 보여줍니다.
#define arrays a = ['Mavs', 'Spurs', 'Lakers', 'Cavs'] b <- ['Rockets', 'Pacers', 'Warriors', 'Celtics'] #calculate Levenshtein distance between two arrays for i,k in zip (a,b): print (lev(i, k)) 6 4 5 5
결과를 해석하는 방법은 다음과 같습니다.
- “Mavs”와 “Rockets” 사이의 Levenshtein 거리는 6 입니다.
- “Spurs”와 “Pacers” 사이의 Levenshtein 거리는 4 입니다.
- “Lakers”와 “Warriors” 사이의 Levenshtein 거리는 5 입니다.
- “Cavs”와 “Celtics” 사이의 Levenshtein 거리는 5 입니다.
추가 리소스
Python에서 해밍 거리를 계산하는 방법
Python에서 유클리드 거리를 계산하는 방법
Python에서 Mahalanobis 거리를 계산하는 방법