'porter'에 해당되는 글 1건

  1. 2014.04.20 C++ Porter's Stemmer 구현.

Information retrieval(정보 검색)에서 자주 이용되는 방법중에 하나로 스테밍이 있다.

Stemming은 같은 어미를 가진 단어들을 하나의 색인어로 맵핑하는 것이다.

이러한 일을 하는 이유는 파일크기 감소에 있다. 같은 의미를 지니는

여러 품사의 단어를 하나하나 다 색인어로 사용하게 되면 스테밍 된 단어에 몇배에 달하는

파일 크기를 가지게 되고 검색에 있어서 같은 의미를 지니는 단어에 대해 검색결과로 출력해주는데 있어

비효율적이다.


대표적인 알고리즘으로 Porter Algorithm이 존재한다. (형태소로의 복원은 아니다.)


스테머의 테스트 및 관련 링크가 잘 된 사이트가 있다.


http://jinsuk.memozee.com/articles/porter_stemmer.php?words=Unless+expressly+provided+otherwise+the+present+Regulations+apply+voyages

이곳에 들어가면 더 많은 정보를 얻을 수 있을것이다.


정보검색 시간에 공부한 내용 그대로 포터 스테머를 구현해 이곳에 첨부한다.


※배포는 자유롭게 허락하나 수정배포는 허용하지 않습니다. 수정해야 할 부분은 제게 알려주세요.

Porter.zip


몇일 전에 구현해놨는데 사실 올리기가 부끄럽다. 코드란게 그렇지 않나?
누군가에게 내 것을 보여준다는게... 라이브러리로 코드를 정리해놓았다. 부디 많은 사람이 써주면 그건 그거대로 기쁠것 같다. 조만간 어떠한 문자열 인코딩에서도 동작하도록 수정해보겠다.

Posted by 태리정
,