У меня есть набор заголовков новостей. Я хотел бы удалить дубликаты или очень похожие заголовки на основе текстового сходства с заголовками за последние десять дней. Для очень похожих заголовков я хочу сохранить самые ранние. Например, я сохраню "SECTION:BUSINESS; Business; Events; Pg.2"
только для 2014-08-04
.
Я думаю сделать объединение на основе даты и заголовка, где дата в течение последних десяти дней, что-то вроде этого (в выражении SQL):
create table df_joined as
select a.*, b.date as date_b, b.Headline as Headline_b from
df a inner join df[["Date", "Headline"]] b on a.date - b.date <= 10
Далее я могу вычислить меру подобия:
df_joined["Similarity"] = similar_function (df_joined.Headline, df_joined.Headline_b)
Затем, для каждой группы (date, headline)
, если какая-либо строка имеет сходство выше, чем выбранный тест, я отбрасываю всю группу. Наконец, я разрушаю группы.
Не уверен, как это сделать в Пандах. Спасибо!
он