Я не могу распараллелить алгоритм сравнения нечетких строк с помощью метода Winnowing с использованием библиотеки Numba. Как это можно реализовать? При попытке исправить проблему я сталкиваюсь с множеством ошибок. Где data
- это массив строк, dataHash
- массив хешей строк.
@njit
def winnowing( data, # an array of strings
dataHash, # an array of hashes of strings
threshold = 0.85 # a threshold for jaccard()
):
for i in range( len( dataHash ) ):
for j in range( len( dataHash ) ):
if ( i == j or dataHash[j] == None ):
continue
if ( threshold <= jaccard( str( dataHash[i] ),
str( dataHash[j] )
)
):
dataHash[j] = None
data[ j] = None
return( data )
Ошибки обычно имеют вид:
numba.core.errors.TypingError: Failed in nopython mode pipeline
(step: nopython frontend)
non-precise type array(pyobject, 2d, C)