Sha256: 42ea5ac194dc7c383ee0cbc7a79ca8b83a4866623e292da7080218e8f2fd016b

Contents?: true

Size: 1.52 KB

Versions: 3

Compression:

Stored size: 1.52 KB

Contents

#include <iostream>
#include <fstream>

#define LOGGER_LEVEL LL_WARN

#include "../src/MPSegment.hpp"
#include "../src/HMMSegment.hpp"
#include "../src/MixSegment.hpp"

using namespace CppJieba;

const char * const TEST_FILE = "../test/testdata/testlines.utf8";
const char * const JIEBA_DICT_FILE = "../dict/jieba.dict.utf8";
const char * const HMM_DICT_FILE = "../dict/hmm_model.utf8";
const char * const USER_DICT_FILE = "../dict/user.dict.utf8";

void cut(const ISegment& seg, const char * const filePath)
{
    ifstream ifile(filePath);
    vector<string> words;
    string line;
    string res;
    while(getline(ifile, line))
    {
        if(!line.empty())
        {
            words.clear();
            seg.cut(line, words);
            join(words.begin(), words.end(), res, "/");
            cout<< res <<endl;
        }
    }
}


int main(int argc, char ** argv)
{
    {
        printf("\e[32m%s\e[0m\n", "[demo] MPSegment"); // colorful
        MPSegment seg(JIEBA_DICT_FILE);
        cut(seg, TEST_FILE);
    }
    {
        printf("\e[32m%s\e[0m\n", "[demo] HMMSegment"); // colorful
        HMMSegment seg(HMM_DICT_FILE);
        cut(seg, TEST_FILE);
    }
    {
        printf("\e[32m%s\e[0m\n", "[demo] MixSegment"); // colorful
        MixSegment seg(JIEBA_DICT_FILE, HMM_DICT_FILE);
        cut(seg, TEST_FILE);
    }
    {
        printf("\e[32m%s\e[0m\n", "[demo] MixSegment with UserDict"); // colorful
        MixSegment seg(JIEBA_DICT_FILE, HMM_DICT_FILE, USER_DICT_FILE);
        cut(seg, TEST_FILE);
    }
    return EXIT_SUCCESS;
}

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
jieba_rb-0.0.5 ext/cppjieba/test/segment_demo.cpp
jieba_rb-0.0.2 ext/cppjieba/test/segment_demo.cpp
jieba_rb-0.0.1 ext/cppjieba/test/segment_demo.cpp