Мой сценарий довольно прост: у меня есть куча статей новостей (~ 1k на данный момент), для которых я знаю, что некоторые охватывают одну и ту же историю/тему. Теперь я хотел бы сгруппировать эти статьи на основе общей истории/темы, т.е. Основываясь на их сходстве.
То, что я делал до сих пор, - это применять основные методы НЛП, включая удаление и прекращение замедленного воспроизведения. Я также вычислил вектор tf-idf для каждой статьи, и с этим можно также вычислить, например, косинус-подобие, основанное на этих tf-idf-векторах. Но теперь с группировкой статей я немного борется. Я вижу два основных способа - возможно, связанный - сделать это:
1) Machine Learning/Clustering: я уже немного играл с существующими библиотеками кластеров с большим или меньшим успехом; см. здесь. С одной стороны, алгоритмы, такие как k-mean, требуют количества кластеров в качестве входных данных, чего я не знаю. Другие алгоритмы требуют параметров, которые также не интуитивно понятны (для меня это).
2) Алгоритмы графа: я могу представить свои данные в виде графика со статьями, являющимися узлами и взвешенными адгеями, представляющими попарно (косинус) сходство между статьями. При этом, например, я могу сначала удалить все ребра, которые опускаются ниже определенного порога, а затем могут применять алгоритмы графа для поиска сильносвязанных подграфов.
Короче говоря, я не уверен, куда лучше идти отсюда - я все еще довольно новый в этой области. Интересно, есть ли для этого какие-то передовые методы или какие-то рекомендации, которые методы/алгоритмы могут (не) применяться в определенных сценариях.
(EDIT: забыл ссылаться на связанный мой вопрос)