Как сделать автозаполнение связанных вопросов - PullRequest
4 голосов
/ 10 января 2010

Я хочу получить связанные [вещи / вопросы] в моем приложении, аналогично тому, что делает StackOverflow, когда вы выходите из поля Название.

Я могу придумать только один способ сделать это, который, я думаю, может быть достаточно быстрым

  1. Выполнить поиск заголовка в совокупности заголовков всех [вещей] и вернуть первые x совпадений. Мы можем использовать любой поиск, используемый для поиска по сайту.

Каковы другие способы сделать это, которые достаточно быстры, так как это будет отправлено на вкладке, поэтому большая обработка на стороне сервера для этого невозможна.

Я просто ищу способ сделать это, но я использую mysql и DJango, так что, если ваш ответ использует это, тем лучше.

[Я не могу придумать хорошие теги для него, поэтому, пожалуйста, не стесняйтесь их редактировать]

1 Ответ

1 голос
/ 10 января 2010

Вы смотрите на алгоритм рекомендаций, основанный на контенте. AFAICT StackOverflow просматривает теги и слова в заголовке и находит вопросы, которые разделяют некоторые из них. Это может быть реализовано как поиск ближайшего соседа в пространстве, где документы представлены в виде векторов TF-IDF .

В отношении реализации используйте любую поисковую систему Django, которая поддерживает стволовые, стоп-слова, нестрогие совпадения и веса tf-idf. Алгоритмическая сложность невелика (всего несколько просмотров индекса), поэтому не имеет значения, написана ли она на Python.

Если вы не нашли, что поисковая система делает то, что вы хотите, оставьте поисковую систему в качестве основы и стоп-слов, вызовите поисковую систему по отдельным словам и сделайте свою собственную оценку tf-idf со счетом, который поддерживает подобные теги .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...