Автоподбор тегов (в стиле ВИО) на PHP/MySQL

php MySQL оптимизация теги

Порылся в инете, не нашел ничего подобного.ВИО конечно подбирает теги, зачастую не ахти, но как подсказку использовать можно.

Собственно есть база тегов - порядка 20000.
Может кто видел/подскажет алгоритм быстрого получения потенциального набора тегов для входящего текста.

Перебирать все очевидно долго, может наоборот в тексте словам обнулить морфологию и искать соответствующие теги?
ВИО очевидно использует также какие-то данные о близости тематики тегов.

Примечание:
Kein, на словах конечно замечательно, но на практике какая алгоритмическая сложность такого поиска?
Как я вижу он будет выполняться намного дольше, чем нужно для подсказки.
Ответы:
Простейший способ - создание базы ассоциаций (например, слово "компьютерный" может ассоциироваться с тэгами "компьютер", "интернет", "программирование"). Но создать такую базу руками достаточно трудоёмко, нужно писать программу с ИИ.
Берешь текст или заголовок новой темы, убираешься все неопределенные слова, предлоги, глаголы итд итп - по остатку проводишь поиск по базе существующих тем - из результата выбираешь наиболее повторяющиеся тэги
Дополнение #1
Ну так или иначе как стоит задача. есть некий текст к которому нужно предложить тэги. Значит так или иначе этот текст использовать, и искать к его содержимому подходящие тэги.
Можно к примеру сделать так называемую хэш таблицу текстов - таблицу с дублирующию тексты но чистую от не нужных слов(нужен опять же список этих "ненужных" слов) по ней поиск будет вестись в разы быстрее.
Или как альтернативу, выше предложенному способу - составлять базу ассоциаций из готовых тем с тэгами - что бы алгоритм учился.


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.