Допустим, у меня есть набор ключевых слов в массиве {"олимпийские игры", "лучший теннисный спорт", "теннис", "правила тенниса"}
У меня тогда есть большой список (до 50 за раз) строк (или фактически твитов), так что они не более 140 символов.
Я хочу посмотреть на каждую строку и посмотреть, какие ключевые слова там присутствуют. В случае, когда ключевое слово состоит из нескольких слов, таких как «лучший теннисный спорт», слова не обязательно должны быть вместе в строке, но все они должны отображаться.
У меня проблемы с поиском алгоритма, который делает это эффективно.
У вас, ребята, есть предложения, как это сделать? Спасибо!
Edit:
Чтобы объяснить это немного лучше, каждому ключевому слову соответствует идентификатор, поэтому {1: «Олимпийские игры», 2: «Лучший теннисный спорт», 3: «Теннис», 4: «Правила тенниса»}
Я хочу просмотреть список строк / твитов и посмотреть, какая группа ключевых слов соответствует. Вывод должен быть, этот твит принадлежит ключевому слову # 4. (Можно сделать несколько совпадений, поэтому все, что соответствует ключевому слову 2, также будет соответствовать 3, поскольку они оба содержат теннис).
Если в ключевом слове несколько слов, например, «лучший спортивный теннис», они не должны появляться вместе, но должны появляться все. например это будет правильно соответствовать: «я только что играл в теннис, я люблю спорт, это лучшее» ... так как эта строка содержит «лучший теннисный спорт», она будет соответствовать и ассоциироваться с ключевым словом ID (в данном примере это 2).
Редактировать 2: без учета регистра.