연구/형태소 분석2008. 2. 11. 17:08

구현한 형태소 분석기를 공개하고자 맘 먹은지 한참이 됐지만, 여러가지 이유로 공개를 미뤄왔었다.

  1. 과연 이걸 사용할 사람이 있을것인가?
  2. 테스트가 미진한데, 결과는 제대로 나올 것인가?
  3. 성능이 나올 것인가?

위의 세 가지가 나에게 공개에 대해서 확답을 주지 못했다. 사실 1번은 별 문제되진 않았지만, 2,3 번 때문에 계속 고민하고 있었다. 사실 사전 정비와 같이 추가로 계획하고 있던 일들을 마치고 공개하고자 했지만, 계속해서 미루고 있어서 이를 해결하고, 고민도 마무리가 되고 공개하는건 불가능해보인다.

그래서 문제가 있고, 아직 고민하고 있지만, 일단은 소스를 간단히 정리해서 공개한다.
사전자료가 이곳 저곳에서 긁어모은 것이라 출처도 일정치 않고, 주요 정보들이 아니라 말뭉치만 있으니 그리 문제되진 않을 것 같다.

eclipse로 작업하고 있어서 프로젝트 폴더를 통째로 압축해서 첨부한다.

이전 버젼은 삭제합니다.

관련 글은 연구실 홈페이지에 업데이트 하고 있지만, 언제 끝날지는 장담 못하겠다. ^^;;
Implementing Typo and Spacing Tolerant Korean Morpheme Analyzer

간단히 테스트 해보기 위해서는 eclipse로 프로젝트를 불러 들여서 MorphemeAnalyzer 에 있는 main()함수를 실행하면 된다.

아래의 예는 띄어쓰기 없이 간단히 다음 문장을 넣어서 테스트한 결과이다.
"나는무엇을먹고사는사람이더냐"
띄어쓰기가 안되어 있기에 가능한 결과들을 쭈욱 만들어가다가 적합한 결과를 반환하는데, 최종 결과는 원하는 형태로 딱 나오진 않는다. 그치만 수정하기도 어렵고, 방법이 있다고 해도 많은 자료들을 이용해야 해서 아직은 적용하지 못하고 있다.

PS. 자세한 내용을 알고 싶은 분은 메일로 문의 주세요.
추가해서 블로그 업데이트 하겠습니다. (왠지 없을 듯... ^^)

Posted by 락끄

댓글을 달아 주세요

  1. 멋지네요 ~~ 검개그에서 보고 들어왔습니다.
    형태소분석기가 없어 답답해 하던 분들에게는 샘물같은 존재일 것 같습니다. 이제 정말 힘든 발을 디디신 듯 하네요 .. 힘내시고요 파이팅입니다.

    2008.02.12 09:33 [ ADDR : EDIT/ DEL : REPLY ]
    • 추가로 해보고 싶은 것들은 많은데, 쉽게 엄두가 나질 않네요. 그래도 누군가에게 도움이 된다면 좋을 것 같아요. 격려 말씀 감사합니다. ^^

      2008.02.12 12:30 신고 [ ADDR : EDIT/ DEL ]
  2. 공개 감사합니다. 건승하십시오.

    2008.02.14 10:03 [ ADDR : EDIT/ DEL : REPLY ]
    • 공개한만큼 앞으로 잘 관리가 될 수 있음 좋겠네요. 건승하세요~ ㅎㅎ

      2008.02.17 22:53 신고 [ ADDR : EDIT/ DEL ]
  3. 블로그 하고 계셨네요. 이렇게 타고타고 들어와서 아는 사람을 만난다는게... 묘하네요. 여전히 수고하고 계시는군요. ㅎㅎ

    2008.02.14 10:06 신고 [ ADDR : EDIT/ DEL : REPLY ]
  4. 송우상

    제게 참 소중한 자료가 될듯 합니다 항상 한글 형태소분석기에 목말라 있었는데....대단하시네요

    2008.02.15 13:05 [ ADDR : EDIT/ DEL : REPLY ]
  5. 아.. 정말 감사합니다 ^^

    2008.02.15 19:39 [ ADDR : EDIT/ DEL : REPLY ]
  6. 안녕하세요 아 정말 감사합니다.
    소스를 한번 실행 시켜 보고자 하였는데
    heap 메모리가 모지라네요 흐흐... 어느정도의 메모리를 올려야 하는지 알려주시면 감사하겠습니다.

    2008.02.21 16:59 [ ADDR : EDIT/ DEL : REPLY ]
    • 네. 죄송한 말씀이지만, 사실 전 최소 256 이상줍니다.^^;;; 사전이 올라가게되면 대략 200M로 화장됩니다. 개선해야할 부분인데, 아직 방법을 잘 모르겠네요.

      2008.02.22 01:34 신고 [ ADDR : EDIT/ DEL ]
  7. 멋진데요? 제가 파이썬을 좋아하는데, 파이썬으로 포팅되면 재밌을 듯.

    2008.02.21 22:37 [ ADDR : EDIT/ DEL : REPLY ]
    • 멋지다니 감사합니다. Dynamic Programming이 적용되어서 잘 옮겨갈지 잘 모르겠지만, 머 여러 언어로 포팅되는건 좋은 일이죠~ ㅎㅎ

      2008.02.22 01:35 신고 [ ADDR : EDIT/ DEL ]
  8. 마루아라

    인터넷 뒤지다가 여기까지 왔네요..
    형태소 분석기 함 써 볼려고 했는데요 이클립스 옵션을
    -XX:MaxPermSize=512m -Xmx256m -Xms128m 줘도 heap 가 모자라다고 나옵니다 램이 1024m가 좀 안되는데
    -XX:MaxPermSize=512m -Xmx512m -Xms128m 이렇게 옵션을 주면 이클립스가 에러나나네요
    -XX:MaxPermSize=364m -Xmx364m -Xms128m
    이렇게 줘도 heap 가 모자라다고 나와요 ㅠㅠ
    MorphemeFixed.dic
    MorphemeVerb.dic
    두 파일이 30초 넘게 걸려서 내용을 줄이면 실행은 되긴 하네요..
    테스트 함 해보고 싶은데 어케 해결 방안이 없나요??

    2008.05.15 17:18 [ ADDR : EDIT/ DEL : REPLY ]
    • 음... 아마도 메모리에 올리는거라서, 컴퓨터 사양을 좀 타는 것 같습니다. 지금은 좀더 빨라지긴 했는데.. 올리려면 eclipse 자체가 아니라, 프로그램 실행할 때의 옵션을 수정해주어야 합니다. run하는 부분에서 Open Run Dialog가 나오는데 거기서 다양한 옵션을 줄 수 있습니다. 거기에 직접 최대 메모리 크기를 지정해주십시오. 보통 사전이 차지하는 메모리가 200M가 좀 넘습니다.

      2008.05.27 16:02 신고 [ ADDR : EDIT/ DEL ]