Нужна помощь с выстраиванием логики проекта

Hannes

Client
Регистрация
03.02.2016
Сообщения
535
Благодарностей
277
Баллы
63
Здравствуйте!

Не знаю, как реализовать задачу. Буду благодарен за мнения и советы.

Есть база с фотографиями и текстами.
Таблица с фотографиями выглядит так:
Название фото;Путь к фотографии на ПК;тег 1;тег 2;тег 3;тег 4;...

Таблица с текстами выглядит почти так же:
Заголовок;Текст;тег 1;тег 2;тег 3;тег 4;...

Задача подбирать для фото максимально тематический текст на основе максимального совпадения тегов. Например, есть фото с тегами "море", "солнце", "пляж", "девушка". Нужно проверить базу текстов, найти текст, где будет наибольшее совпадение тегов и взять его.

Но как выполнить такую проверку?..
Рад буду любым идеям.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 651
Баллы
113
взять выдачу по каждому из тегов и найти пересечения)
 
  • Спасибо
Реакции: Hannes

Hannes

Client
Регистрация
03.02.2016
Сообщения
535
Благодарностей
277
Баллы
63
Я это понимаю. Но каким инструментом это делать, вот в чём вопрос. Как реализовать поиск пересечений)

У меня сложность вызывает то, что тег у фотографии не один. Проверять по одному тегу текст просто, но как это делать по 3 (например) тегам, а потом брать наиболее подходящий текст?
 
Последнее редактирование:

S16er1um

Client
Регистрация
14.04.2016
Сообщения
826
Благодарностей
240
Баллы
43
Через самый обычный примитивный if... Взял тег, прогнал его через каждый текст. В тексте в котором он встречается рядом поставил единичку. Взял следующий тег. Прогнал через тексты, где встречается - увеличил счётчик на 1. (важно именно увеличить счётчик, а не снова единицу вбить). А потом по результатм берёшь текст у которого самое большое число, а собственно вхождение тегов самое большое. Если таких несколько - то выбираешь рандомно. Всего-то
 
  • Спасибо
Реакции: Hannes

Hannes

Client
Регистрация
03.02.2016
Сообщения
535
Благодарностей
277
Баллы
63
И вправду. А я чего-то усложнял. :dz:
Спасибо!
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)