Exemple #1
0
OrderedCover fullOrderedCoverFromCorpus(Corpus const& corpus) {
    std::map<std::string, OrderedDocCover> _map;
    for (auto i=corpus.begin() ; i!=corpus.end() ; ++i) {
        _map.insert(_map.end(),
                    {i->first, fullOrderedDocCoverFromDoc(i->second)});
    }
    return OrderedCover(_map);
}
Exemple #2
0
void writeCorpusToStream(std::ostream& os, Corpus const& corpus) {
    for (auto i=corpus.begin() ; i!=corpus.end() ; ++i) {
        if (i!=corpus.begin()) {
            os << std::endl;
        }
        os << i->first << std::endl;
        writeDocToStream(os, i->second, i->first);
    }
}
Exemple #3
0
Corpus
corpusSample(Corpus const& corpus, std::vector<std::string> const& docIds)
throw(std::runtime_error) {
    Corpus _sample;
    for (auto i=docIds.begin() ; i!=docIds.end() ; ++i) {
        auto j = corpus.find(*i);
        if (j == corpus.end()) {
            throw std::runtime_error(ERR_DOCUMENT_NOT_FOUND);
        } else {
            _sample[*i] = j->second;
        }
    }
    return _sample;
}
Exemple #4
0
Corpus readCorpusFromStream(std::istream& is) {
    Corpus corpus;
    std::string docName;
    Document doc;

    doc = readDocFromStream(is, docName);
    while (!is.eof() && !is.fail()) {
        corpus[docName] = doc;
        doc = readDocFromStream(is, docName);
    }
    if (corpus.find(docName) == corpus.end()) {
        corpus[docName] = doc;
    }
    return corpus;
}