レーベンシュタインと Difflib の類似性を簡単に視覚的に比較したい場合のために、約 230 万の書籍タイトルについて両方を計算しました。
import codecs, difflib, Levenshtein, distance
with codecs.open("titles.tsv","r","utf-8") as f:
title_list = f.read().split("\n")[:-1]
for row in title_list:
sr = row.lower().split("\t")
diffl = difflib.SequenceMatcher(None, sr[3], sr[4]).ratio()
lev = Levenshtein.ratio(sr[3], sr[4])
sor = 1 - distance.sorensen(sr[3], sr[4])
jac = 1 - distance.jaccard(sr[3], sr[4])
print diffl, lev, sor, jac
次に、R を使用して結果をプロットしました。

厳密に言えば、Difflib、Levenshtein、Sørensen、および Jaccard の類似値も比較しました。
library(ggplot2)
require(GGally)
difflib <- read.table("similarity_measures.txt", sep = " ")
colnames(difflib) <- c("difflib", "levenshtein", "sorensen", "jaccard")
ggpairs(difflib)
結果:

Difflib とレーベンシュタインの類似性は非常に興味深いものです。
2018 年編集: 類似の文字列の識別に取り組んでいる場合は、minhashing も確認してください。ここに概要があります。Minhashing は、大量のテキスト コレクションの類似点を線形時間で見つけることに優れています。私のラボでは、ミンハッシングを使用してテキストの再利用を検出および視覚化するアプリをまとめました: https://github.com/YaleDHLab/intertext