- рыжая лиса - адрес1
- ласка - адрес2
- лисицы - адрес3
- лисица - адрес3
и т. д.
и список фраз, например
"сегодня рыжая лиса дома"
"лис сегодня нет"
и т. д.
Учитывая, что в словаре около тысячи статей, есть ли лучший подход, чем поиск методом перебора?
Приведенные выше примеры должны возвращать:
"рыжая лиса" - адрес1
"лисы" - адрес3
У меня есть решение методом перебора ключей, но ввиду количества ключей и необходимости выполнять поиск в десятках фраз, я ищу более умный подход.
-1
Я провел некоторые измерения производительности.
Со словарем из 100 ключей поиск совпадений в 100 фразах занял много времени. в среднем 65 мс.
Если время выполнения линейно зависит от длины словаря и количества фраз, то весь процесс займет около 20 секунд (только время поиска).
Учитывая время, необходимое для чтения фраз из файлов и использования совпадений, на весь прогон уйдет, наверное, 3-4 минуты.
Пользователю придется поискать какую-нибудь анимацию на это время, или она могла бы выпить стакан чего-нибудь.
Будет ли это приемлемо?
Если да, то подход грубой силы подойдет.
Если нет, я открыт для предложений.
Подробнее здесь: https://stackoverflow.com/questions/787 ... n-a-phrase