Exemple #1
0
from gravity.tae.match import lev_distance
from gravity.tae import distance
from gravity.tae.match.c_lev_distance import fLevDistanceDiag
from gravity.tae.match.c_lev_distance import fLevPath

s1 = "Test Den   Haag entity"
s2 = "Test Den Haag entity"
m1 = fLevDistanceDiag(2).matrix(s1, s2, 111)
print m1.toString(s1, s2)

m2 = lev_distance.fLevDistanceDiag(2).matrix(s1, s2, 111)
print m2.toString(s1, s2)
print m1 == m2

p1_1 = fLevPath()(m1)
p1_2 = fLevPath()(m2)
print p1_1
print p1_2

p2_1 = lev_distance.fLevPath()(m1)
p2_2 = lev_distance.fLevPath()(m2)
print p2_1
print p2_2

print m2.toString(s1, s2, p1_2)

assert m1 == m2
assert p1_1 == p1_2 and p1_2 == p2_1 and p2_1 == p2_2

##    01234567890123456
s1 = "Test  amsterdamm    entity"
Exemple #2
0
from gravity.tae.match import lev_distance 
from gravity.tae.match.c_lev_distance import fLevTextsAligner
from gravity.tae.match.c_lev_distance import fLevPath
from gravity.tae.match.c_lev_distance import fLevDistanceDiag


## Offsets:  01234567890123456789012345
s1    =     "Test  Amsterdamm    entity"  # original string 
s2    =     "Test amsterdam entity"       # processed string 
loc   =  [5, 13]                          # "Amsterdamm" entity locations in processed string 
delta = 2                                 # diagonal size is 2*delta + 1  

res = fLevTextsAligner(delta)(s1, s2, loc)
print "Location of 'Amsterdamm' entity in original string is ", res
print "Text is '%s'" % s1[res[0]:res[1]+1]


# to visualize the results build and show levenshtein matrix
# together with calculated minimal path
m = fLevDistanceDiag(2).matrix(s1, s2, 111)
print m.toString(s1, s2, fLevPath()(m))
Exemple #3
0
from gravity.tae.match import lev_distance
from gravity.tae.match.c_lev_distance import fLevTextsAligner
from gravity.tae.match.c_lev_distance import fLevPath
from gravity.tae.match.c_lev_distance import fLevDistanceDiag

## Offsets:  01234567890123456789012345
s1 = "Test  Amsterdamm    entity"  # original string
s2 = "Test amsterdam entity"  # processed string
loc = [5, 13]  # "Amsterdamm" entity locations in processed string
delta = 2  # diagonal size is 2*delta + 1

res = fLevTextsAligner(delta)(s1, s2, loc)
print "Location of 'Amsterdamm' entity in original string is ", res
print "Text is '%s'" % s1[res[0]:res[1] + 1]

# to visualize the results build and show levenshtein matrix
# together with calculated minimal path
m = fLevDistanceDiag(2).matrix(s1, s2, 111)
print m.toString(s1, s2, fLevPath()(m))
Exemple #4
0
from gravity.tae import distance
from gravity.tae.match.c_lev_distance import fLevDistanceDiag
from gravity.tae.match.c_lev_distance import fLevPath


s1 = "Test Den   Haag entity"
s2 = "Test Den Haag entity"
m1 = fLevDistanceDiag(2).matrix(s1, s2, 111)
print m1.toString(s1, s2)

m2 = lev_distance.fLevDistanceDiag(2).matrix(s1, s2, 111)
print m2.toString(s1, s2)
print m1 == m2


p1_1 = fLevPath()(m1)
p1_2 = fLevPath()(m2)
print p1_1
print p1_2


p2_1 = lev_distance.fLevPath()(m1)
p2_2 = lev_distance.fLevPath()(m2)
print p2_1
print p2_2


print m2.toString(s1, s2, p1_2)

assert m1 == m2
assert p1_1 == p1_2 and p1_2 == p2_1 and p2_1 == p2_2