/** * Computes the cosine. */ private static double getFastCosineRelatednessDense(DenseVector vec1, DenseVector vec2) { double score = 0; if (vec1 != null && vec2 != null) { score = vec1.dot(vec2); double norm1 = 0; double norm2 = 0; for (int i = 0; i < vec1.size(); i++) { double v1 = vec1.get(i); double v2 = vec2.get(i); norm1 += v1 * v1; norm2 += v2 * v2; } norm1 = Math.sqrt(norm1); norm2 = Math.sqrt(norm2); score = score / (norm1 * norm2); } if (Double.isNaN(score)) { score = 0; } return score; }
/** * Computes the cosine. */ private static double getFastCosineRelatednessDense(DenseVector vec1, DenseVector vec2) { double score = 0; if (vec1 != null && vec2 != null) { score = vec1.dot(vec2); double norm1 = 0; double norm2 = 0; for (int i = 0; i < vec1.size(); i++) { double v1 = vec1.get(i); double v2 = vec2.get(i); norm1 += v1 * v1; norm2 += v2 * v2; } norm1 = Math.sqrt(norm1); norm2 = Math.sqrt(norm2); score = score / (norm1 * norm2); } if (Double.isNaN(score)) { score = 0; } return score; }
float score = (float) feat.dot(mWeights);
/** * Computes the cosine. */ private static double getFastCosineRelatednessDense(DenseVector vec1, DenseVector vec2) { double score = 0; if (vec1 != null && vec2 != null) { score = vec1.dot(vec2); double norm1 = 0; double norm2 = 0; for (int i = 0; i < vec1.size(); i++) { double v1 = vec1.get(i); double v2 = vec2.get(i); norm1 += v1 * v1; norm2 += v2 * v2; } norm1 = Math.sqrt(norm1); norm2 = Math.sqrt(norm2); score = score / (norm1 * norm2); } if (Double.isNaN(score)) { score = 0; } return score; }
r.mScore = (float) feat.dot(mModelInterm);
@Override public Double apply(IndependentPair<double[], double[]> in) { double[] first = in.firstObject(); double[] second = in.secondObject(); return new DenseVector(first,false).dot(new DenseVector(second,false)); }
CandidateEntry e = resultsAll[rank]; DenseVector feat = allDocFeats.get(e.mDocId); e.mScore = (float) feat.dot(intermModelWeights); if (Float.isNaN(e.mScore)) { if (Float.isNaN(e.mScore)) {