выделение групп «близких» по составу новостей
Это скорее задачи кластеризации а не похожести.
Готовые библиотеки на php не скажу, а если интересен python то запросто.
Известные алгоритмы
к-ближайших соседей
неотрицательная факторизация матриц
и много много других
Подробнее можно почитать тут:
scikit-learn.org/stable/modules/clustering.html#overview-of-clustering-methods