Skip to content

5. 덧붙이는 말 (Comments)

Bugeun Kim edited this page Sep 23, 2017 · 3 revisions

참고

  1. 한나눔, 아리랑, RHINO의 경우는, 소스코드 형태로 공개되어있지 않았습니다. Decompile을 통해 구조를 파악하고 최대한 원본을 사용하려 하였습니다.

  2. 한나눔, RHINO의 경우는 decompile된 결과를 보았을 때, 자바의 코딩 convention을 따른 것 같지 않았습니다. 한나눔은 C에 가깝게 코딩되어 있었으며, RHINO의 경우는 각 클래스 또는 메소드가 매우 강한 결합을 가지고 있어 객체지향적인 코드로 보기 어려웠습니다. 코드의 질과 안정성을 판단하실 때 참고하시길 바랍니다.

  3. 아리랑의 경우는 검색이 목적이므로 본래 품사 분석은 부차적인 기능입니다. 품사 분석 결과를 얻기 위해, toString 메서드의 기능을 가져왔습니다.

  4. RHINO의 경우는 규칙 중심으로 구현되어있으며, 모든 규칙이 동적 클래스 로딩을 통해 구현되어 있습니다. 때문에, 런타임 오류의 위험성이 있으니 참고하시길 바랍니다.

  5. 한나눔은 내부적으로 Single-thread를 가정하고 있어, KoalaNLP가 덧붙인 Multi-thread 처리가 안정적이지 않을 가능성이 높습니다. Single-thread 처리시에만 사용하시는 것을 권장합니다.