Ответ 1
ОК, я думаю, что понимаю, что вы ищете, и вот несколько возможных решений для вас:
- Каков наилучший алгоритм автозаполнения/предложения, datastructure [С++/C] (ответы достаточно общие, несмотря на то, что это вопрос C/С++)
- Как реализовать автозаполнение в массивном наборе данных
- Автозаполнение с помощью trie
- Алгоритм для автозаполнения?
- Trie based addressbook и эффективный поиск по имени и номеру контакта
- Как вы автозаполняете имена, содержащие пробелы?
По сути, кажется, что вы ищете функцию автозаполнения (если я правильно понял ваш вопрос). Вдоль этих строк приведенные выше вопросы и их ответы также содержат множество ссылок о том, как делать более сложные предложения (т.е. На основе контента, семантики, намерения и т.д.).
Это, вероятно, не будет решать ваш вопрос, если вы ищете алгоритм, который делает "связанные" предложения, например:
- "вода" может предлагать kool-aid, gatorade, витаминную воду.
- "море" может предлагать океан, озеро, реку.