0
我在想如何根據Levenshtein distance
(字符串編輯距離)生成一組類似的字符串。理想情況下,我喜歡傳入一個源字符串(即用於生成與其類似的其他字符串的字符串),需要生成的字符串數量以及閾值作爲參數,即在字符串之間的相似性生成的集合應該大於閾值。我想知道我應該用什麼Python
包來實現這個目標?或者任何想法如何實現這個?如何在python中生成一組類似的字符串
我在想如何根據Levenshtein distance
(字符串編輯距離)生成一組類似的字符串。理想情況下,我喜歡傳入一個源字符串(即用於生成與其類似的其他字符串的字符串),需要生成的字符串數量以及閾值作爲參數,即在字符串之間的相似性生成的集合應該大於閾值。我想知道我應該用什麼Python
包來實現這個目標?或者任何想法如何實現這個?如何在python中生成一組類似的字符串
我認爲你可以用另一種方式思考問題(顛倒過來)。
k
。例如,假設K = 2,並承擔了允許edit modes你是:
,則邏輯是類似下面的東西:
input = 'sittin'
for num in 1 ... n: # suppose you want to have n strings generated
my_input_ = input
# suppose the edit distance should be smaller or equal to k;
# but greater or equal to one
for i in in 1 ... randint(k):
pick a random edit mode from (delete, add, substitute)
do it! and update my_input_
如果你需要堅持使用預定義的字典,這增加了一些複雜性,但它仍然是可行的。在這種情況下,編輯必須有效。
https://en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Levenshtein_distance#Python – Whud