2016-07-11 5 views
0

Я использовал sklearn TFIDFVectorizer для построения весовой матрицы из заданного набора документов. Я хочу выполнять запросы, используя функцию ранжирования, основанную на условиях запроса, она может быть простой функцией, такой как сумма весов терминов в запросе.Функции ранжирования в TFIDF sklearn

Есть ли способ делать такие запросы в sklearn (желательно эффективным образом) ?, или, возможно, структуру python для обработки такого рода работ.

Пока что у меня есть следующий:

items.sort(key= lambda x : -sum(tfidf_matrix[x, term_id]) for term_id in query_terms)) 

Так я сортировка элементов в соответствии с условиями запроса. Но я хотел бы знать, есть ли встроенный способ сделать это и, конечно, более эффективно. Потому что сортировка с каждым запросом не является вариантом с большим количеством запросов.

ответ

0

Этот вопрос, возможно, был слишком широким, я в конечном итоге использовал фреймворк, такой как lucene, который обрабатывает индексирование поиска документов в очень эффективном виде, вместо того, чтобы выполнять наивный подход, вычисляющий матрицы tf-idf.

Смежные вопросы