При автоматическом синомайзинге текста, часто возникает необходимость работать с базами человеческого использования языка. Практический интерес представляют большие базы, размером > 10 гигабайт. При поиске в лоб происходят просто огромные потери машинного времени.
Нас не интересует поиск в каком предложении использовано это слово и даже в каком предложении использованы два слова одновременно. Данные, которые нас интересуют частота использования слова и двух слов в базе. Поэтому, нам нужно построить своеобразный Кеш, как у современных поисковых машин:
Строиться он так: разбирается предложение и всем “под предложениям” присваивается уникальный индифекатор. Потом в БД для слова добавляется этот индифекатор. Индефекаторы сортируются, чтобы можно организовать по ним быстрый поиск.
Для того чтобы найти частоту использования слова достаточно посмотреть, к-во записей. Для того чтобы найти частоту употребления двух слов одновременно нужно сравнить индифекаторы обеих слов. Берем менее частотное слово и ищем быстрым поиском все его ключи.
Поскольку ключи у менее частотного слова тоже упорядочены, можно ускорить второй и далее поиски, начиная их не с середины, а с места, где мы в прошлый раз остановились.
Печи для саун Tylo Combi;Отель Grandview Hotel, Macau