Получить сходство между текстом и текстом набора в Python - PullRequest
0 голосов
/ 24 апреля 2019

Я создаю детектор событий для Twitter, и на него очень сильно влияют спам-твиты, поэтому я планирую немного отфильтровать твиты с помощью алгоритма схожести текста.

Подход, о котором я подумал, - это иметь набор твитов, где я буду хранить разные твиты. Прежде всего, я буду удалять ссылки и упоминания из твитов и проверять, имеет ли твит, который я обрабатываю, значение сходства с любым из твитов набора, превышающим пороговое значение (например, 0,7-0,8). Если это так, я продолжу итерацию и проигнорирую этот твит; в противном случае я добавлю этот твит в набор и буду работать с ним.

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

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

В заключение, что, по вашему мнению, является лучшим способом решения этой проблемы со спамом? Будет ли это Python родной или внешний?

1 Ответ

1 голос
/ 24 апреля 2019

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

...