Поиск совпадений слов одного df в другом df
Есть 2 df. Один с запросами от пользователей, он состоит из колонок: id пользователя и собственно самим запросом от этого пользователя
Второй df состоит из тем которые ищут эти пользователи. В нем так же 2 колонки, одна это название темы, вторая это описание данной темы (набор слов которые ее определяют)
Как сделать так чтобы конкретный запрос пользователя - (список или текст) пробегался по WordCloud из df с темами, считал кол-во совпадений по словам и по итогу выдавал список тем с совпадениями? (и кол-во совпадающих слов)
Если совпадения найдены, то результат должен выдавать тему/ы, если их несколько(от большего кол-ва совпадений слов к меньшему). Если совпадений нет, то выдавать, что совпадений 0, а такой запрос(без совпадений) при этом должен попадать в какой-то список - чтобы понять какую тему искал пользователь но не нашел. 2 df для примера:
theme_df = pd.DataFrame(data={'Theme': ['Животные', 'Города', 'Экономика', 'Статуи', 'Погода'],
'WordCloud': ['Волк, медведь', 'Питер, Москва, Омск', 'питерский экономический форум', 'статуя свободы, Родина-мать', 'облачно, солнечно, погода']},
columns=['Theme','WordCloud'])
queries_df = pd.DataFrame(data={'id': [1, 2, 3, 4, 5],
'queries': ['Мерседес, автомобили', 'Питер, Москва - погода', 'питерский экономический форум', 'заяц, медведь', 'статуя']},
columns=['id','queries'])
Слова в запросе нужно считать по отдельности каждое слово, чем больше совпадений тем лучше, т.е. тем вероятнее попадется нужна тема
Запрос берется какой-то один (от одного пользователя), если есть совпадения, то выдается тема/ы