2013-07-30 5 views
0

자바 애플리케이션에서 인도네시아어 텍스트를 처리 중이므로이를 줄여야합니다.인도네시아어 언어 스머머를 찾고 있습니다.

현재 내가 루씬 인도네시아어 형태소 분석기를 사용하고 있습니다. org.apache.lucene.analysis.id.IndonesianAnalyzer;

그러나 결과는 만족스럽지 않습니다.

사람은 나에게 다른 형태소 분석기를 제안 할 수 있을까요?

+0

'IndonesianAnalyzer'는 명백한 올바른 선택처럼 보입니다. 왜 만족스럽지 않은지 설명해 주시겠습니까? – femtoRgon

+0

그것도 인도네시아 사전에 존재하지 않는 단어를 제공. "berenang"과 "pemenang"과 같이 "enang"은 둘 다 존재하지 않습니다 (google translate에 의해 확인 됨). –

답변

2

"enang는"줄기입니다. 줄기는 실제 단어 일 필요는 없습니다. 예를 들어, 영어에서는 "논쟁"하고 "논쟁하다"는 줄기 "argu"로 줄입니다. "argu"는 영어 단어가 아니지만 의미있는 줄기입니다. 이것은 형태소 분석기가 작동하는 방식입니다. 스 트리머를 인덱싱 된 데이터와 쿼리에 동일한 방식으로 적용하는 한 잘 작동합니다. 당신이 그런 행동을하지 않을 경우

, 그것은 전혀 형태소 분석기를 사용하는 이해가되지 않습니다. 이외에도 형태소 분석기에서

는 IndonesianAnalyzer은 비교적 쉽게 복제됩니다. 그것은 다른 구성 요소 그냥 StandardTokenizer, StandardFilter, LowercaseAnalyzerStopFilter을 포함합니다. 당신이 바로 아래로에 도착하면 즉, 단지 인도네시아 스톱 워드 세트와 StandardAnalyzer, 그래서 당신은 단순히 형태소 분석기없이 Indonesiananalyzer를 만들 수 있습니다 : 당신이 문제에 실행 것인지 확실하지 않다

//If you are using the default stopword location defined in the IndonesianAnalyzer you could load them like this. 
CharArraySet defaultStopSet = StopwordAnalyzerBaseloadStopwordSet(false, IndonesianAnalyzer.class, IndonesianAnalyzer.DEFAULT_STOPWORD_FILE, "#"); 
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_43, defaultStopSet); 

단지 판독기를 기본 중지 단어 파일로 StandardAnalyzer 생성자로 전달합니다.