Hierachischer Matchwert

335 days ago by PatrickHammer


P(1,1)=['hallo', 'wie', 'gehts']
P(2,1)=['hallo', 'wie']
P(2,2)=['wie', 'gehts']
P(3,1)=['hallo']
P(3,2)=['wie']
P(3,3)=['gehts']



Hierbei wurde dieser Algorithmus verwendet, welcher sich den Matchwert eines gegebenen Strings "In",
für jeden String in der Stringliste "patterns" errechnet, und den best-gematchten String zurückgibt.
def maxOf(result): max=0; biggest=None for x in result.keys(): if result[x]>max: biggest=x; max=result[x] return biggest ######################hierachical text matching######################## def find_hierachical(In,patterns): auswertung = {} splits = (In+" ").split(" ") len_splits = len(splits) for j in xrange(len_splits-1,min(len_splits-1,1)-1,-1): for k in range(len_splits+1): parsIt = "" for z in range(j): if z + k >= len_splits: break; parsIt += splits[min(z+k, len(splits)-1)]; if z+1 != j: parsIt+=" " if parsIt != "" and parsIt!=" ": for i in range(len(patterns)): if parsIt in patterns[i]: if not patterns[i] in auswertung.keys(): auswertung[patterns[i]] = j else: auswertung[patterns[i]] += j return maxOf(auswertung) 
       
Sprich zu Gabai - Lehrt ihm bitte nur Korrektes. Der Source.