Это определенно не так просто решить проблему, которая может быть решена с помощью:
- интеллектуальные функции синтаксического анализа текста
- Сырая аппаратная мощность
- оба из них
- тестирование, тестирование, тестирование
- точная настройка в конце
Прежде всего, я бы сгруппировал разные источники новостей в какую-то относительно широкую категорию. Вы можете легко определить, что источник новостей Tech не будет публиковать новости в экономической категории. (Или это проблема.)
В большинстве случаев заголовок новостей не будет затронут, в большинстве случаев он останется в исходном виде. Поэтому Category, Title и Publish Date - хорошая отправная точка для группировки новостей в один.
Если вы обнаружите проблемы с описанными выше методами, вам нужно немного подкорректировать под капотом.
Может быть, вам нужно прочитать всю статью и сравнить две (тысячи) статей слово за словом.
- Есть много стоп-слов, которые могут исказить сравнение, поэтому вам придется их игнорировать.
- Возможно, вы захотите определить синонимы (J Lo = Дженнифер Лопес)
Если исходные тексты новостей похожи (вы можете определить пороговое значение), вы можете снова сравнить другие факторы (описанные выше).
Некоторые источники новостей предоставляют хорошие теги в RSS-источнике, возможно, вы тоже можете использовать это, но не полагаться на это.
И помните, вам понадобится много настроек в начале (около 1 года), тогда все будет хорошо.