Я читаю данные из 2 таблиц кустов. В таблице токенов есть токены, которые необходимо сопоставить с входными данными. Входные данные будут иметь столбец описания вместе с другими столбцами. Мне нужно разделить входные данные и сравнить каждый разделенный элемент со всеми элементами из таблицы токенов. в настоящее время я использую библиотеку me.xdrop.fuzzywuzzy.FuzzySearch для нечеткого соответствия.
ниже мой фрагмент кода-
val tokens = sqlContext.sql("select token from tokens")
val desc = sqlContext.sql("select description from desceriptiontable")
val desc_tokens = desc.flatMap(_.toString().split(" "))
Теперь мне нужно перебрать desc_tokens, и каждый элемент desc_tokens должен быть нечетко сопоставлен с каждым элементом токенов, и если совпадение превышает 85%, мне нужно заменить элемент из desc_tokens элементом из токенов.
Пример --
Мой список токенов
hello
this
is
token
file
sample
и мое входное описание
helo this is input desc sampl
код должен вернуться
hello this is input desc sample
так как hello и helo нечетко совпадают > 85%, поэтому helo будет заменен на hello. Аналогично для сэмпл.