2017-03-26 10 views
0

java에서 PorterStemmer를 사용하여 동사의 기본형을 얻었습니다.하지만 동사 "동사"와 "도박"에 문제가 있습니다. 그것을 "도둑질"하고 "도박"하기 위해 형태소 분석을하는 대신에, "도둑질"과 "도박"을 초래합니다. -e와 -ed로 끝나는 동사를 처리 할 수있는 더 나은 도구가 동사의 기본 형식을 검색 할 수 있습니까? wordnet java를 사용하는 P.S JAWS도 그렇게합니다. 여기 동사가 -es 및 -ed java로 끝나는 PorterStemmer

public class verb 
{ 
    public static void main(String[] args) 
    { 
     PorterStemmer ps = new PorterStemmer(); 
     ps.setCurrent("gambles"); 
     ps.stem(); 
     System.out.println(ps.getCurrent());   
    } 
} 

가 콘솔에 출력됩니다 : 여기 내 코드입니다 gambl

+0

스템 밍 (stemming) 알고리즘이 스템을 제거한 후에 실제 단어를 남기지 않는 것은 종종 실수로 간주됩니다. 그러나 형태소 분석의 목적은 변종 형태의 단어를 모아 '패러다임 (paradigm)'형태로 단어를 연결하지 않는 것입니다. 출처 - https://tartarus.org/martin/PorterStemmer/ – ProgrammersBlock

+0

당신이하고 싶은 일을 명확히하십시오. 귀하의 질문에서 PorterStemmer를 사용하여 무언가를 수행 할 것인지 PorterStemmer에 대한 오류를 기록 할 것인지를 결정하기가 어렵습니다. 여러분이 지향하는 방향은 PorterStemmer의 결과물을 가져 와서 루트 단어와 연관시키는 것입니다. – ProgrammersBlock

답변

0

https://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html

당신은 찾을 수 스탠포드 NLP 그룹이 자습서를 읽어 몇 분 받아 스 트리머는 실제로 생각하는대로 작동하지 않습니다. 그것은 원유이므로 항상 끝이 잘리는 동사를 완전한 기본 형태로 제공하지는 않습니다. 귀하의 경우에는 동사의 완전한 기본 형식을 얻는 것에 관심을 갖고 있기 때문에 문자화가 더 나은 것으로 보입니다.

+0

시간 내 주셔서 대단히 감사합니다. – noobProgrammer