Share my experiences in MCS Artificial Intelligence



This is hard code for calculating minimum edit distance between 2 words by Levenshtein method in Python. You can write more userfriendly code by Numpy package.

 

word1 = str("$#"+input('Please insert first word: '))
word2 = str("#"+input('Please insert second word: '))
#------------------------------------------------------
def Min(a,b,c):
    result =a
    if(b<a):
        result =b
    elif(c<b):
        result = c
    elif(c<a):
        result=c
    
    return result
#------------------------------------------------------           
def Define():
    
    resultList=[]
    resultList.append(list(word1))
    for i in range(0,len(word2)):
        resultList.append(list(word2[i]+("0"*(len(word1)-1))))
        
    return resultList
#------------------------------------------------------
def Initial():
    
    resultList = Define()
    for i in range(1,len(word1)):
        resultList[1][i]=i-1
    for j in range(0,len(word2)):
        resultList[j+1][1]=j
        
    return resultList
#------------------------------------------------------
def Calculate():
    resultList = Initial()
    for y in range(2,len(resultList[0])):
         for x in range(2,len(resultList)):
                if(resultList[x][0]==resultList[0][y]):
                    resultList[x][y]=int(resultList[x-1][y-1])
                else:
                    resultList[x][y]=Min(int(resultList[x-1][y-1])+2,
                                            int(resultList[x-1][y])+1,
                                            int(resultList[x][y-1])+1)
                    
    
    return resultList
#------------------------------------------------------
levenshteinMatrix = Calculate() 
for item in levenshteinMatrix:
        print(item)
        
print("Minimum Edit Distance is {0}".format(levenstienMatrix[-1][-1]))
 


تبلیغات

آخرین ارسال ها

آخرین جستجو ها

من و کودک من دوربین مدار بسته | فروش انواع دوربین های مدار | بهترین قیمت filemanager پترو سازه تدبیر گستر (پتساکو) مجموعه فونت آرشید کانون تخصصی مهدویت اراک دانشگاه آزاد سیرجان dubai تقویم 1399 مشهد سالنامه سررسید my word