繁体   English   中英

Whoosh,Python中的余弦评分

[英]Cosine scoring in whoosh, python

我已经实现了一些python代码,以使用BM25在whoosh上运行搜索,但一切正常,但是现在我试图将评分机制更改为Cosine,却遇到了以下错误:

tfidf中的文件“ TFIDF.py”,第18行,以ix.searcher(weighting = whoosh.scoring.Cosine())作为搜索者:AttributeError:'module'对象没有属性'Cosine'

如果我导入余弦

from whoosh.scoring import Cosine

我得到这个:

File "TFIDF.py", line 4, in <module>
    from whoosh.scoring import Cosine
ImportError: cannot import name Cosine

我的代码如下:

import whoosh
from whoosh.scoring import Cosine
from whoosh.fields import *
from whoosh.scoring import *
from whoosh.qparser import *
from whoosh.query import *
from whoosh.index import open_dir

#Index path
lab3dir= "../lab3/Aula3_1/"
ix = open_dir(lab3dir + "indexdir") #Index generated in previous lab


def cosine(queryTerms):
    list=[]
    dict={} # dict com ID do doc e Similiaridade 
    with ix.searcher(weighting=whoosh.scoring.Cosine()) as searcher:
        query = QueryParser("content", ix.schema, group=OrGroup).parse(u(queryTerms))
        results = searcher.search(query, limit=100)
        for i,r in enumerate(results):
            list.append(r["id"])
            print r, results.score(i)
            dict[r["id"]]= results.score(i)
    return dict

任何想法?

谢谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM