⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pivotednormsmoother.java

📁 dragontoolkit用于机器学习
💻 JAVA
字号:
package dragon.ir.search.smooth;import dragon.ir.index.*;import dragon.ir.query.SimpleTermPredicate;/** * <p>Pivoted Normalization Smoother</p> * <p>Smoother for Vector Space Model </p> * <p>Copyright: Copyright (c) 2005</p> * <p>Company: IST, Drexel University</p> * @author Davis Zhou * @version 1.0 */public class PivotedNormSmoother extends AbstractSmoother{    private int docTermCount;    private int docNum;    private double s, avgDocLength;    private double idf;    public PivotedNormSmoother(IRCollection collection) {        useLog=false;        s=0.20;        docNum=collection.getDocNum();        avgDocLength=collection.getTermCount()*1.0/docNum;        this.docFirstOptimal=true;        this.querytermFirstOptimal=true;    }    public PivotedNormSmoother(IRCollection collection,double s) {        useLog=false;        this.s=s;        docNum=collection.getDocNum();        avgDocLength=collection.getTermCount()*1.0/docNum;        this.docFirstOptimal=true;        this.querytermFirstOptimal=true;    }    public boolean setParameters(double[] params){        s=params[0];        return true;    }    public void setQueryTerm(SimpleTermPredicate queryTerm){        this.queryWeight =queryTerm.getWeight();        idf=Math.log((docNum+1.0)/queryTerm.getDocFrequency());    }    public void setDoc(IRDoc doc){        docTermCount=doc.getTermCount();    }    protected double computeSmoothedProb(int termFrequency){        return queryWeight*(1+Math.log(1+Math.log(termFrequency)))*idf/(1-s+s*docTermCount/avgDocLength);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -