我使用了sklearn TFIDFVectorizer来从给定的文档集构建权重矩阵。我想使用基于查询条款的排名函数来执行查询,它可以是一个简单的函数,如查询中术语权重的总和。
有没有办法在sklearn中进行此类查询(最好是以有效的方式)?或者可能是一个python框架来处理这种工作。
到目前为止,我得到的是以下内容:
import pandas as pd
import numpy as np
screen_name_unique = list(set(dataframe1['name']))
for name in screen_name_unique:
dataframe_text = dataframe1[dataframe1.name == name]
count = noun_count(dataframe['text'])
def noun_count (str):
words_len = len(str)
return words_len
所以我根据查询中的条款对项目进行排序。但我想知道是否有内置的方法来做到这一点,当然,更有效率。因为对每个查询进行排序不是一个包含大量请求的选项。
答案 0 :(得分:0)
这个问题可能过于宽泛,我最终使用像lucene这样的框架,以非常有效的方式处理文档搜索和索引,而不是通过计算tf-idf矩阵的天真方法。