gpt4 book ai didi

indexing - More_like_this elasticsearch如何工作(进入整个索引)

转载 作者:行者123 更新时间:2023-12-02 23:35:50 26 4
gpt4 key购买 nike

因此,首先我们获得一个termVectors列表,其中包含所有标记,然后创建一个map<token, frequency in the document>.然后createQueue方法将通过删除,出现的单词不足的stopWords和word来确定分数,计算idf,然后计算给定 token 的等于其 token 的idf * doc_frequency,然后保留25个最佳 token ,但是之后如何这行得通?与整个指数相比如何?我读了http://cephas.net/blog/2008/03/30/how-morelikethis-works-in-lucene/,但没有解释,或者我没说清楚。

最佳答案

它从每个术语中创建一个TermQuery,并将它们全部切成一个简单的BooleanQuery,以先前计算的tfidf分数(boostFactor * myScore / bestScore,用户可以设置boostFactor)提升每个术语。

这是the source (version 5.0):

private Query createQuery(PriorityQueue<ScoreTerm> q) {
BooleanQuery query = new BooleanQuery();
ScoreTerm scoreTerm;
float bestScore = -1;

while ((scoreTerm = q.pop()) != null) {
TermQuery tq = new TermQuery(new Term(scoreTerm.topField, scoreTerm.word));

if (boost) {
if (bestScore == -1) {
bestScore = (scoreTerm.score);
}
float myScore = (scoreTerm.score);
tq.setBoost(boostFactor * myScore / bestScore);
}

try {
query.add(tq, BooleanClause.Occur.SHOULD);
}
catch (BooleanQuery.TooManyClauses ignore) {
break;
}
}
return query;
}

关于indexing - More_like_this elasticsearch如何工作(进入整个索引),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31070830/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com