2016-12-26 4 views

답변

0
try { 
     propFile = new File(System.getProperty("user.dir") + "/src/edu/stanford/nlp/ie/crf/propfile.prop"); 
     properties = new Properties(); 
     properties.load(new FileInputStream(propFile)); 

     String to = properties.getProperty("serializeTo"); 

     properties.setProperty("serializeTo", "ner-customModel.ser.gz"); 
     properties.setProperty("trainFile",System.getProperty("user.dir") + "/src/edu/stanford/nlp/ie/crf/outputTokenized.tsv"); 
     CRFClassifier crf = new CRFClassifier(properties); 
     crf.train(); 
     String s2 = "apples are apples"; 

     System.out.println(crf.classifyToString(s2)); 

     crf.serializeClassifier(System.getProperty("user.dir") + "/src/edu/stanford/nlp/ie/crf/ner-customModel.ser.gz"); 

    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

을하고 선언 교육 파일 및 속성 파일의 다른 속성 나를 위해 일했습니다.

1

스탠포드의 도구는 일반적으로 여러 가지 NLP 작업에 매우 효과적이지만, 내 경험에 따르면 자신의 모델을 교육하는 것이 opennlp에서 훨씬 쉽습니다. 즉 당신을위한 옵션이 있다면 (당신은 귀하의 질문에 "스탠포드 - NLP를"태그,하지만 어쩌면 당신은 단지 그것을 사용 제한하지 않는), 여기 꽤 좋은 문서를 찾을 수 있습니다 https://opennlp.apache.org/documentation/1.5.3/manual/opennlp.html#tools.namefind.training.tool