Проблема, которую я пытаюсь решить: у меня есть миллион слов (несколько языков) и несколько классов, которые они классифицируют как мои учебные корпуса.Учитывая совокупность слов для тестирования (число которых со временем должно увеличиваться), я хочу получить наиболее близкое совпадение каждого из этих слов в обучающей совокупности и, следовательно, классифицировать это слово как соответствующий класс его ближайшего совпадения.
Мое решение: Первоначально я использовал эту грубую силу, которая не масштабируется.Теперь я думаю, что строю дерево суффиксов для конкатенации обучающих корпусов (O (n)) и запрашиваю тестирующие корпуса (постоянное время).Попытка сделать это в Python.
Я ищу инструменты или пакеты, которые помогут мне начать работу, или другие более эффективные способы решения проблемы.Заранее спасибо.
Редактировать 1: Что касается того, как я нахожу самое близкое совпадение, я подумал о комбинации точного выравнивания совпадения (из дерева суффиксов), а затем о той части входной строки, которая осталасьЯ подумал о том, чтобы выполнить локальное выравнивание с функциями штрафов за аффинный пробел.