https://github.com/ztane/python-Levenshtein/
在處理文字資料時,我們經常需要比較兩個字串的相似度,無論是在自然語言處理、資料清洗還是使用者輸入驗證中。這時,Levenshtein距離(又稱編輯距離)就顯得尤為重要。它衡量的是,將一個字串轉換成另一個字串所需的最少編輯操作次數,包括插入、刪除和替換字元。Python社群提供了一個名為python-Levenshtein
的庫,它能夠高效地計算Levenshtein距離及相關操作。
安裝python-Levenshtein
在開始之前,我們需要確保已經安裝了python-Levenshtein
庫。開啟你的終端或命令提示符,輸入以下命令進行安裝:
pip install python-Levenshtein
這條命令會從Python包索引(PyPI)下載並安裝python-Levenshtein
。
使用python-Levenshtein進行文字比較
python-Levenshtein
庫提供了多種函式來計算Levenshtein距離及執行相關操作。讓我們透過兩個示例來探索其使用方法。
示例1:計算Levenshtein距離
假設我們想比較兩個字串的相似度,以下是如何使用python-Levenshtein
來計算它們之間的Levenshtein距離的程式碼:
import Levenshtein
str1 = "kitten"
str2 = "sitting"
# 計算Levenshtein距離
distance = Levenshtein.distance(str1, str2)
print(f"'{str1}' 和 '{str2}' 之間的Levenshtein距離為:{distance}")
執行這段程式碼,你的終端將會顯示出兩個字串之間的Levenshtein距離。在這個例子中,我們使用了Levenshtein.distance
函式來進行計算。
示例2:計算相似度比率
除了計算距離外,我們也許對比較兩個字串的相似度比率更感興趣。python-Levenshtein
同樣提供了這種功能:
import Levenshtein
str1 = "apple"
str2 = "appel"
# 計算相似度比率
ratio = Levenshtein.ratio(str1, str2)
print(f"'{str1}' 和 '{str2}' 之間的相似度比率為:{ratio:.2f}")
執行這段程式碼,你的終端將會顯示出兩個字串之間的相似度比率。我們使用了Levenshtein.ratio
函式來進行計算,它返回一個介於0到1之間的數值,數值越接近1表示兩個字串越相似。
小結
python-Levenshtein
是一個功能強大且易於使用的庫,它能幫助我們在Python中高效地進行文字比較。無論是需要計算兩個字串之間的Levenshtein距離,還是比較它們的相似度比率,python-Levenshtein
都能滿足我們的需求。