Распараллеливание алгоритма сравнения нечетких строк - PullRequest
1 голос
/ 16 июня 2020

Я не могу распараллелить алгоритм сравнения нечетких строк с помощью метода 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...