Search in sources :

Example 11 with structures._Node

use of structures._Node in project IR_Base by Linda-sunshine.

the class PairwiseSimCalculator method constructNearestGraph.

void constructNearestGraph() {
    _Doc di, dj;
    double similarity;
    MyPriorityQueue<_RankItem> kUL = new MyPriorityQueue<_RankItem>(m_GFObj.m_k);
    MyPriorityQueue<_RankItem> kUU = new MyPriorityQueue<_RankItem>(m_GFObj.m_kPrime);
    _Node node;
    for (int i = m_start; i < m_end; i++) {
        di = m_GFObj.getTestDoc(i);
        node = m_GFObj.m_nodeList[i];
        // find the nearest unlabeled examples among all candidates since the similarity might not be symmetric
        for (int j = 0; j < m_GFObj.m_U; j++) {
            if (i == j)
                continue;
            dj = m_GFObj.getTestDoc(j);
            similarity = m_GFObj.getSimilarity(di, dj);
            kUU.add(new _RankItem(j, similarity));
        }
        for (_RankItem it : kUU) node.addUnlabeledEdge(m_GFObj.m_nodeList[it.m_index], it.m_value);
        kUU.clear();
        // find the nearest labeled examples
        for (int j = 0; j < m_GFObj.m_L; j++) {
            dj = m_GFObj.getLabeledDoc(j);
            similarity = m_GFObj.getSimilarity(di, dj);
            kUL.add(new _RankItem(m_GFObj.m_U + j, similarity));
        }
        for (_RankItem it : kUL) node.addLabeledEdge(m_GFObj.m_nodeList[it.m_index], it.m_value);
        kUL.clear();
        // sort the edges to accelerate debug output
        node.sortEdges();
    }
    System.out.format("[%d,%d) finished...\n", m_start, m_end);
}
Also used : structures._RankItem(structures._RankItem) structures._Doc(structures._Doc) MyPriorityQueue(structures.MyPriorityQueue) structures._Node(structures._Node)

Aggregations

structures._Node (structures._Node)10 structures._Edge (structures._Edge)6 structures._Doc (structures._Doc)4 IOException (java.io.IOException)2 DoubleMatrix2D (cern.colt.matrix.tdouble.DoubleMatrix2D)1 DenseDoubleAlgebra (cern.colt.matrix.tdouble.algo.DenseDoubleAlgebra)1 SparseDoubleMatrix2D (cern.colt.matrix.tdouble.impl.SparseDoubleMatrix2D)1 MyPriorityQueue (structures.MyPriorityQueue)1 structures._RankItem (structures._RankItem)1