В сумке слов (doc_bow) есть два токена, t0 и t1. Мы не знаем, появляются ли t0 и t1 в документе или в двух документах. И мы даже не знаем, построена ли модель (tfidf) поверх документов, содержащих токены. Пакет doc_bow - это просто запрос (тестовые данные) и модель, построенная из обучающих данных, которые могут содержать или не содержать t0 или t1.
Итак, давайте сделаем предположение. Модель tfidf построена на 2 документах, d0 и d1, и d0 содержит t0, d1 содержит t1. Таким образом, общее количество документов (N) равно 2, частота терминов и частота документов t0 и t1 становятся равными 1.
Gensim использует базу 2 журнала для расчета IDF по умолчанию (см. Функцию df2idf ), и преобразованный вектор tfidf из doc_bow будет выглядеть как [(0, 1), (0, 1)]. (напр., tfidf (t0) = 1 * log_2 (| 2 | / 1) = 1)
Кроме того, мы должны рассмотреть нормализацию L2, выполняемую по умолчанию, и конечный результат становится [(0, 1/2 ^ (1/2)), (0, 1/2 ^ (1/2))].