Tf idf 如何使用whoosh获取文档中某个术语的tf idf分数和bm25f分数?

Tf idf 如何使用whoosh获取文档中某个术语的tf idf分数和bm25f分数?,tf-idf,whoosh,Tf Idf,Whoosh,我正在使用whoosh为数据集编制索引。我想检索给定术语和文档的td idf分数和bm25f分数?我已经看到了scoring.TFIDF()和scoring.TFIDFScorer()。为了调用TFIDFScorer().score()方法,我们应该传递一个matcher对象。我应该将哪个匹配器对象传递给它 同样,我应该将哪些参数传递给BM25FScorer()。_分数(自我、体重、长度)?什么是重量和长度参数?默认情况下传递的值是什么?最终能够计算出来。这是给以后来这里的人的 用于查找术语和文

我正在使用whoosh为数据集编制索引。我想检索给定术语和文档的td idf分数和bm25f分数?我已经看到了scoring.TFIDF()和scoring.TFIDFScorer()。为了调用TFIDFScorer().score()方法,我们应该传递一个matcher对象。我应该将哪个匹配器对象传递给它


同样,我应该将哪些参数传递给BM25FScorer()。_分数(自我、体重、长度)?什么是重量和长度参数?默认情况下传递的值是什么?

最终能够计算出来。这是给以后来这里的人的

用于查找术语和文档的TFIDF和BM25F分数

qp = QueryParser('content', ix.schema)
q = qp.parse(unicode('id:1'))
with ix.searcher(weighting=scoring.TF_IDF()) as searcher_tfidf:
    scoring.TFIDF().scorer(searcher_tfidf, 'body', 'algebra').score(q.matcher(searcher_tfidf))
with ix.searcher(weighting=scoring.BM25F()) as searcher_bm25f:
    scoring.BM25F().scorer(searcher_bm25f, 'body', 'algebra').score(q.matcher(searcher_bm25f))

ix是使用open_dir()方法或create_in()获得的IndexReader对象。关键是获取与所需文档完全匹配的Matcher对象。因此,使用模式中的id或任何唯一字段,使用qp.parse()方法获取特定文档。

最终能够找到它。这是给以后来这里的人的

用于查找术语和文档的TFIDF和BM25F分数

qp = QueryParser('content', ix.schema)
q = qp.parse(unicode('id:1'))
with ix.searcher(weighting=scoring.TF_IDF()) as searcher_tfidf:
    scoring.TFIDF().scorer(searcher_tfidf, 'body', 'algebra').score(q.matcher(searcher_tfidf))
with ix.searcher(weighting=scoring.BM25F()) as searcher_bm25f:
    scoring.BM25F().scorer(searcher_bm25f, 'body', 'algebra').score(q.matcher(searcher_bm25f))
ix是使用open_dir()方法或create_in()获得的IndexReader对象。关键是获取与所需文档完全匹配的Matcher对象。因此,使用模式中的id或任何唯一字段,使用qp.parse()方法获取特定文档