Инвертированный индекс против TfidfVectorizer - PullRequest
0 голосов
/ 24 октября 2018

Я создаю приложение, способное ранжировать в режиме онлайн документы по ранее заданному запросу.Для простоты давайте рассмотрим, у меня уже есть все документы для данного запроса.

После выполнения шагов предварительной обработки, таких как токенизация и извлечение именованных объектов, каждый документ (включая запрос) представляет собой массив токенов.

Чтобы использовать TfIdfVectorizer, я преобразовываю каждый документ в строку, просто чтобы прояснить:

# corpus include the query and doc is an array of tokens
vectorizer_input = [' '.join(doc) for doc in corpus]

Затем, для расчета самого ранжирования, я вычисляю некоторые метрики, такие как косинусСходство для запроса и всеобщая норма.Я мог бы добавить больше метрик в будущем, но пока это все.

Итак, как я могу воспользоваться инвертированным индексом ?Я понимаю, что использование позиционно-инвертированного индекса может принести пользу для вычисления метрик, которые зависят от расстояния между терминами.Кроме того, TfIdfVectorizer уже делает большую часть того, что делал бы инвертированный индекс.

Я что-то упустил?Есть ли преимущество в использовании инвертированного индекса над TfidfVectorizer?

...