Example #1
0
JNIEXPORT jint JNICALL Java_edu_hit_ir_ltp4j_SRL_create
(JNIEnv * env, jclass obj, jstring model_path){
  const char * str = env->GetStringUTFChars( model_path , 0);
  std::string path(str);
  int tag = SRL_LoadResource(path);
  env->ReleaseStringUTFChars( model_path, str); 
  if(0==tag) {
    return 1;
  }
  return -1;
}
Example #2
0
/* ======================================================== *
 * SRL related resource management                          *
 * ======================================================== */
int LTPResource::LoadSRLResource(const char *data_folder) {
    if (m_isSRLResourceLoaded) {
        return 0;
    }

    TRACE_LOG("Loading SRL resource from \"%s\"", data_folder);

    if (0 != SRL_LoadResource(string(data_folder))) {
        ERROR_LOG("Failed to load SRL resource.");
        return -1;
    }

    TRACE_LOG("SRL resource is loaded.");
    m_isSRLResourceLoaded = true;
    return 0;
}
Example #3
0
File: srl.cpp Project: lxj0276/ltp
int main(int argc, char * argv[]) {
    if (argc < 2) {
        return -1;
    }

    SRL_LoadResource(argv[1]);

    std::vector<std::string> words;
    std::vector<std::string> postags;
    std::vector<std::string> nes;
    std::vector<std::pair<int,std::string> > parse;
    std::vector< std::pair< int, std::vector< std::pair<std::string, std::pair< int, int > > > > > srl;
    words.push_back("一把手");
    postags.push_back("n");
    nes.push_back("O");
    parse.push_back(make_pair(2,"SBV"));
    words.push_back("亲自");
    postags.push_back("d");
    nes.push_back("O");
    parse.push_back(make_pair(2,"ADV"));
    words.push_back("过问");
    postags.push_back("v");
    nes.push_back("O");
    parse.push_back(make_pair(-1,"HED"));
    words.push_back("。");
    postags.push_back("wp");
    nes.push_back("O");
    parse.push_back(make_pair(2,"WP"));

    DoSRL(words,postags,nes,parse,srl);

    for(int i = 0; i<srl.size(); ++i) {
        std::cout<<srl[i].first<<":"<<std::endl;
        for(int j = 0; j<srl[i].second.size(); ++j) {
            std::cout<<"\ttype = "<<srl[i].second[j].first
                     <<" beg = "<<srl[i].second[j].second.first
                     <<" end = "<<srl[i].second[j].second.second
                     <<std::endl;
        }
    }

    SRL_ReleaseResource();
    return 0;
}
Example #4
0
 void load(const std::string& model_path) {
   loaded = (SRL_LoadResource(model_path) == 0);
 }