OpenNLP MaxEnt를 사용하여 내 자신의 모델을 작성하고 싶습니다. ContextGenerator 및 EventStream 인터페이스 (문서에 언급 된대로)를 구현하고 싶습니다. OpenNLP Chuncker, Postagger 및 NameFinder에 대한 이러한 구현을 살펴 보았지만 모든 구현에서는 'Pair'가 사용되지 않으며 해당 ContextGenerator가 수행하는 작업을 이해하지 못하는 코드를 살펴 보았습니다. 내가 만들 모델은 각 토큰에 대해 POS 태그를보고 각 토큰을 RoomNumber 또는 RoomNumber로 분류합니다. 이 모델에 대해 ContextGenerator 및 EventStream 코딩을 어떻게 시작해야합니까? 컨텍스트가 무엇인지, 어떤 기능이 있는지는 알지만 ContextGenerator의 기능과 EvenStream의 기능에 대해서는 알지 못합니다. openNLP maxent page를 보았지만 도움이되지 않습니다. 이걸 이해하게 도와주세요, 고마워요.OpenNLP MaxEnt - ContextGenerator 및 EventStream
1
A
답변
0
명시 적으로 ContextGenerator
을 사용하지는 않지만 다음 코드가 도움이 될 수 있습니다. 실제로 에는 BasicContextGenerator
이 사용되며 각 입력 문자열을 기능 목록으로 분할합니다.
문자열 "a=1 b=2 c=1"
은 "a=1"
, "b=2"
및 "c=1"
의 세 가지 기능으로 나뉩니다.
package opennlptest;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import opennlp.maxent.GIS;
import opennlp.model.Event;
import opennlp.model.EventStream;
import opennlp.model.ListEventStream;
import opennlp.model.MaxentModel;
public class TestMaxentEvents {
static Event createEvent(String outcome, String... context) {
return new Event(outcome, context);
}
public static void main(String[] args) throws IOException {
// here are the input training samples
List<Event> samples = Arrays.asList(new Event[] {
// outcome + context
createEvent("c=1", "a=1", "b=1"),
createEvent("c=1", "a=1", "b=0"),
createEvent("c=0", "a=0", "b=1"),
createEvent("c=0", "a=0", "b=0")
});
// training the model
EventStream stream = new ListEventStream(samples);
MaxentModel model = GIS.trainModel(stream);
// using the trained model to predict the outcome given the context
String[] context = {"a=1", "b=0"};
double[] outcomeProbs = model.eval(context);
String outcome = model.getBestOutcome(outcomeProbs);
System.out.println(outcome); // output: c=1
}
}
관련 문제
- 1. maxent 분류를
- 2. openNLP
- 3. Playframework 1.2. * EventStream, @PostUpdate 및 @PostPersist
- 4. Set_Weights in NLTK Maxent?
- 5. 는 OpenNLP
- 6. Mac에서 openNLP
- 7. opennlp api 파일을 컴파일로 인식시키는 방법은 무엇입니까?
- 8. OpenNLP Tokenizer의 둥근 브래킷
- 9. Groovy에서 OpenNLP 사용
- 10. opennlp change eos char
- 11. 문제 OpenNLP 설치
- 12. OpenNLP 추출 문법
- 13. OpenNLP 용 파서 태그
- 14. OpenNLP lemmatization 예
- 15. OpenNLP 이름 찾기
- 16. opennlp 이클립스의 스팬 클래스
- 17. 변수를 Bacon.js의 EventStream 또는 Property로 사용하십시오.
- 18. Mallet : Maxent 알고리즘의 신뢰도 값을 얻으십시오.
- 19. MAXent 분류 자 NLTK 산출물 이해
- 20. OpenNLP 숙련 된 모델 저장
- 21. Mahout Classifier v. OpenNLP Documentclassifier
- 22. 키워드 추출을위한 OpenNLP NLP 도구
- 23. Apache OpenNLP POSModel (URL) 생성자
- 24. OpenNLP 이름 시간 및 날짜에 대한 엔티티 인식 모델
- 25. opennlp install - 열차에 적합한 방법이 없습니다.
- 26. TypeInitializationException 처리되지 않았습니다 - IKVM을 사용하는 OpenNLP
- 27. OpenNLP 이름 엔터티 인식 자 출력
- 28. "Parse"클래스에서 텍스트 가져 오기 opennlp
- 29. OpenNLP 생성기에서 피쳐를 추출하는 방법은 무엇입니까?
- 30. OpenNlp 대/소문자 구분 안함 위치 찾기
순수한 Maxent을 사용하는 데 관심이 : 당신은 그냥 분류를 위해 그것을 사용하는 다음 모델을 학습하는 Maxent API를 사용하려면
, 당신은 나를 위해 일한 다음과 같은 방법을 사용할 수 있습니다 OpenNLP의 분류 기준이나 maxent를 사용하는 상위 API? –