BLOG main image
분류 전체보기 (46)
Life (4)
Computer Science (3)
Programming (6)
Opensource (6)
Project (17)
Tip (10)
artikel terbaru. berita tekno..
artikel terbaru. berita tekno..
Best way to develop a mobile a..
Best way to develop a mobile a..
123,594 Visitors up to today!
Today 8 hit, Yesterday 36 hit
daisy rss
tistory 티스토리 가입하기!
'KOMORAN 2.0'에 해당되는 글 5건
2014.11.24 02:49

KOMORAN 2.4




  • 주요 업데이트 내용
    • 불규칙 사전 정제
    • 형태소 분석 시 n-best 분석 결과 제공 기능 추가
      • sample code
        • String in = "바람과 함께 사라지다를 봤어.";

          int nbest = 2;

          List<List<List<Pair<String,String>>>> analyzeNbestResult = komoran.analyze(in,nbest);

      • 분석 결과
        • best 1
          • 바람과 함께 사라지다/NNP+/JKO

            /VV+/EP+/EF+./SF

        • best 2
          • 바람과 함께 사라지다/NNP+/JKO

            /VX+/EP+/EF+./SF

      • 기타
        • 어절 단위 n-best 형태소 분석은 분석 대상 문장을 공백 단위로 tokenize하여 어절 단위로 입력
    • 불규칙 사전 빌드 및 처리 방식 변경에 따른 성능 개선
      • 기호 및 숫자 등을 제외한 순수 한글 어절
        • 어절 정확률 : 93.37% -> 93.60%
        • 형태소 별 품사 정확률 : 95.62% -> 95.88%
      • 기호 및 숫자 등을 포함한 전체 어절
        • 어절 정확률 : 91.59% -> 92.12%
        • 형태소 별 품사 정확률 : 95.06% -> 95.36%

  • 버전 히스토리
    • [2.3]
      • 학습 데이터 정제
    • [2.2]
      • 불용 로그 제거
      • 공백 미포함 형태소 분석 기능 추가
    • [2.1.2]
      • 사용자 환경에 따른 용량별 데이터 제공
      • 조사 결합 규칙 적용
      • 연결 어미 품사 확장
      • 기타 버그 수정
    • [2.1.1]
      • 연속된 영어(SL), 숫자(SN), 한자(SH)에 대한 분석 결과 변경
      • 버그 수정 및 안정화
    • [2.1]
      • 형태소 분석기 안정화 및 속도 개선
    • [2.0.4]
      • 띄어쓰기 관련 버그 및 기타 안정화
    • [2.0.3]
      • 사용자 사전 포맷 오류 수정
    • [2.0.1]
      • 분석 중 에러가 발생하는 치명적 오류 수정
    • [2.0.0]
      • komoran 2.0 beta 최초 공개
    • [2.0.0] 미만

    자세한 사용법은 하기 링크 또는 첨부된 메뉴얼을 참조하시기 바랍니다.

    사용법 (글 제목 : KOMORAN ver 2.0.4 beta (자바 한국어 형태소 분석기))

    데모 사이트



저작자 표시 비영리 변경 금지
신고
권순재 | 2014.11.28 11:51 신고 | PERMALINK | EDIT/DEL | REPLY
에러리포트 입니다.
잘생기다 를 형태소 분석하니 아래와 같이 나오네요.
잘 MAG
생기 VV
그런데 국어사전에 '잘생기다'라는 단어가 있는걸 보아 잘생기다 VV 가 되어야 할 것 같습니다.
또 대한독립의 형태소 분석이
대하 VV
독립 NNG
이렇게 나타납니다. 아무리봐도 대한을 대하 VV와 어미 ㄴ으로 나누어서 형태소 분석을 하는 듯 합니다.
언제나 코모란 열심히 쓰고 있습니다. 감사합니다.
shine_ing | 2014.11.28 11:55 신고 | PERMALINK | EDIT/DEL
리포팅 감사합니다!
근데 제가 2.4 ver 기준으로 '잘생기다'를 테스트해보니
'잘생기/VA+다/EC' 로 나오네요.
대한독립의 경우에는 오분석인 것을 확인하였습니다.
관련 항목 참조하여 차기 업데이트에 반영하도록 하겠습니다! 진심으로 감사드립니다!
글로리 | 2015.03.11 17:57 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요!
궁금한 점이 있어서요!!^^
models학습을 HMM을 처리하셨다고하는데요 SVM이나 다른 모델로 변경할려면~
어떻게 해야하는지요?
models 디렉토리에 4개의 파일이 있습니다만~ 규칙이나 방법이나 자료가 있으시면 링크를 좀 부탁합니다
shine_ing | 2015.03.11 19:21 신고 | PERMALINK | EDIT/DEL
안녕하세요. 반갑습니다.
먼저 HMM을 이용해서 models를 생성한 것이여서, SVM을 활용하시려면 거의 새로 만드는 수준이 되야할 것 같습니다 ^^;;
코모란은 속도 향상을 위해서 형태소 분리와 동시에 HMM을 통과시키기 때문에 말씀하신 SVM을 활용하기에는 조금 어려울 것 같습니다 ㅠㅠ
글로리 | 2015.03.12 00:24 신고 | PERMALINK | EDIT/DEL | REPLY
빠른 답변 및 오픈소스에 대해서 감사합니다^^
학생이라 공부하는 재미가 쏠쏠합니당 ㅜㅜ. 관련 분야가 아니라 의지만 ㅜㅜ
그런데요 dic,irregular, dic.word, grammer,in에 대해서 간단한 설명을 부탁합니다.
이 부분을 이해하면 CRF++, SVM 등을 적용해서 간단하게 테스트를 할 수 있을 듯합니다만

shine_ing | 2015.03.30 17:45 신고 | PERMALINK | EDIT/DEL
안녕하세요. 답변이 많이 늦어졌습니다. 죄송합니다 ㅠㅠ
간략히 설명드리자면,
dic.irregular (불규칙 변환 규칙과 관련된 정보를 포함)
dic.word (형태소에 대한 품사 정보를 포함)
grammar (품사 간 결합 규칙 정보를 포함)
이런식으로 구성되어 있습니다.
말씀하신 CRF++나 SVM은 feature를 어떻게 쓸 것인지에 따라 입력될 내용이 많이 달라질 것으로 생각됩니다^^;;
김영 | 2015.03.13 17:26 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요~^^
1.에러 리포트입니다.
부여했다 -> 부여/NNG + 하/XSV+았/EP+다/EF로 나옵니다.

2. 사용하시는 사전이 세종말뭉치 사전인가요?
일반 세종말뭉치 사전에서는 빈도가 나오지 않습니다. 어떻게 빈도를 넣었죠잉??

언제나 코모란 재미나게 사용하고 있습니다. 감사요
shine_ing | 2015.03.30 17:47 신고 | PERMALINK | EDIT/DEL
안녕하세요. 답변이 많이 늦어져서 죄송합니다.
먼저 에러리포트 감사드립니다! 추후 버전에서 관련 내용을 포함시켜 꼭 개선시키겠습니다!
사용하고 있는 말뭉치는 세종 말뭉치입니다. 빈도수는 말뭉치에서 나오는 단어의 빈도수를 직접 세서 만들었습니다 ^^
감사합니다!
쓰레드 | 2015.06.02 15:32 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요, 오류가 있어서 문의드립니다.
제가 한글형태소 분석을 쓰레드를 이용하여 하려고 하는데요... 잘 안되네요 ^^
NullPointerException도 나고 ConcurrentModificationException 에러도 나고요...
쓰레드를 이용할순 없는건가요???

shine_ing | 2015.06.03 00:56 신고 | PERMALINK | EDIT/DEL
analyze에 synchronized 를 거시면 됩니다.
값진인생 | 2015.06.16 09:44 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요. KOMORAN을 R에서 한국어 텍스트 마이닝(문서 군집과 분류)에 사용하고 싶습니다.
테스트 해 보니 KOMORAN 라이브러리가 R에서도 잘 실행되지만, 색인어를 추출하는 함수가 없어 아쉽습니다. 명사를 품사정보 없이 단어만 문자열 배열(또는 리스트)로 리턴하는 함수가 있었으면 좋겠습니다.

그리고 사용자 사전을 시스템 사전과 중복이 없도록 DB로 관리하려 하는데요. 시스템 사전에 어떤 단어가 등록되어 있는지 알 수 있는 방법이 있을까요?

좋은 자료를 공유해 주셔서 감사합니다.
shine_ing | 2015.06.16 14:14 신고 | PERMALINK | EDIT/DEL
안녕하세요. 먼저 말씀하신 것처럼 색인어만을 추출하는 함수에 대한 개발이 예정되어 있습니다.
사용자 사전과 시스템 사전 간의 중복 문제는 고민을 조금 많이 해봐야할 것 같습니다. 시스템 사전에 "다음"이라는 단어와 사용자 사전에 "다음"이라는 단어는 서로 다른 방식으로 동작합니다. 사용자 사전에 우선순위가 매우 높기 때문에 시스템 사전에 단어가 있더라도 추가적으로 사용자 사전에 넣는 경우도 많이 있거든요. 이 부분에 대해서는 어떤식으로 적용할지 고민을 많이 해보겠습니다.
피드백 주셔서 감사합니다. :)
값진인생 | 2015.06.17 18:13 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요. 개발이 예정되어 있다니 다음 버전이 기다려지네요 ^^
우선은 결과에서 명사만 추출하는 로직을 추가해서 테스트를 진행하고 있습니다.
그런데 사용자 사전에 추가한 단어가 적용이 되지 않네요.
예제에 있는 것처럼
Komoran 생성 -> setUserDic("사용자 사전 파일") -> analyze("문장")
순으로 실행했는데, 사용자 사전에 추가한 "보건복지부"가 "보건" "복지부"로 분석됩니다. 또한 공백이 포함된 단어도 분석되지 않고요. R에서 테스트를 하다보니 소스를 올려도 도움이 안될 것 같네요. 혹시 필요하시면 댓글 달아 주세요. 감사합니다.
==========================
수정> 사용자 사전 파일 인코딩을 UTF-8로 했다고 생각했는데, 다시 확인해 보니 CP949로 되어 있었네요. 인코딩 변경 후 잘 되네요 ^^
지구민 | 2016.01.22 14:03 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요. 저기 뭐좀 물어보려고 하는데요
혹시 1.6으로 재컴파일 해서 사용가능할까요?
가능하다면
https://github.com/shineware/komoran-2.0
여기 공개한 소스를 그대로 사용해도 되는건지요?
Name
Password
Homepage
Secret
2014.08.26 18:18

KOMORAN 2.1.2


    • 주요 업데이트 내용
      • 사용자 환경에 따른 용량별 데이터 모델 제공
        • models-light
          • 순수 학습 코퍼스만 사용
          • 기존 버전의 데이터들과 같은 내용
        • models-full
          • 위키피디아의 제목(타이틀)을 추가 학습
          • 최소 메모리 1G 이상 필요
      • 일부 특수 문자 NA로 태깅되는 문제 수정
      • 조사 결합 규칙 적용
        • 한글 특성에 따라 부적절한 조사가 오는 경우는 후보에서 제외
          • ver. 2.1.1 : 그을 -> 그/NP+을/JKO (대명사 + 목적격조사)
          • ver. 2.1.2 : 그을 -> 그을/VV(동사)
      • 연결 어미 품사 확장
        • 학습 코퍼스 부족으로 인해 연결 어미(EC)만 존재하고 종결 어미(EF)가 존재하지 않는 경우 종결 어미도 후보로 추가
          • ver 2.1.1 : 놔! -> 놔!/NA
          • ver 2.1.2 : 놔! -> 놓/VV+아/EF+!/SF
      • 성능 향상
        • 위 내용에 따른 전체적인 성능 향상
          • 기호 및 숫자 등을 제외한 순수 한글 어절
            • 어절 정확률 : 93.37% (변동 없음)
            • 형태소 별 품사 정확률 : 95.60% -> 95.62%
          • 기호 및 숫자 등을 포함한 전체 어절
            • 어절 정확률 : 91.40% -> 91.59%
            • 형태소 별 품사 정확률 : 94.60% -> 95.06%

    • 버전 히스토리
      • [2.1.1]
        • 연속된 영어(SL), 숫자(SN), 한자(SH)에 대한 분석 결과 변경
        • 버그 수정 및 안정화
      • [2.1]
        • 형태소 분석기 안정화 및 속도 개선
      • [2.0.4]
        • 띄어쓰기 관련 버그 및 기타 안정화
      • [2.0.3]
        • 사용자 사전 포맷 오류 수정
      • [2.0.1]
        • 분석 중 에러가 발생하는 치명적 오류 수정
      • [2.0.0]
        • komoran 2.0 beta 최초 공개
      • [2.0.0] 미만

자세한 사용법은 하기 링크를 참조하시기 바랍니다.

사용법 (글 제목 : KOMORAN ver 2.0.4 beta (자바 한국어 형태소 분석기))


KOMORAN과 관련된 문의 사항은 ceo@shineware.co.kr로 연락주시기 바랍니다.


저작자 표시 비영리 변경 금지
신고
origoni | 2014.09.03 10:15 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요. 요사이 회사일이 좀 바빠서 개인 프로젝트를 진행을 못하고 있어서 이제야 방문했습니다 ^^

지난번에 제주생활 여쭤보셨는데.. 답변을 이제 드리네요 ㅠㅠ

제주생활 정말 좋습니다.
아이 키우기에도 좋구요~ 여유롭고 공기 좋습니다.
날씨 좋으면 주말마다 바다 가구요 ^^ (그런데 제주는 날씨가 좀 변덕스러워서 ^^;;;;;;;) 휴향림등도 있구요.
교통채증도 거의 없구요, 출퇴근도 차끌고 20분 통근버스도 30분이면 충분하게 가능하구요.(편도입니다. 이건 가까운분들은 10분도 안걸리신다고 ㅎㅎ)
근무환경도(공간) 여유롭구요. 땅값에 대한 차이라그런지.. 회사에 어린이집, 작업장 등도 있구요.

단점은. 역시... 서울과 멀어지는것에 대한 불편함(지인 만나기, 쇼핑, 택배 등 ㅎㅎ) 을 빼고는 좋습니다.

음 주저리주저리 쓰긴 했는데요 결론은 좋습니다!!

멋있는 형태소 분석기 항상 감사드립니다.
즐거운 추석 연휴 보내세요 ^^
shine_ing | 2014.09.03 11:39 신고 | PERMALINK | EDIT/DEL
여유로운 삶을 즐기고 계시는 것 같아서 부럽습니다!
간간히 소식 들려주세요! ㅎㅎ
Name
Password
Homepage
Secret
2014.08.11 14:10

KOMORAN 2.1


    • 주요 업데이트 내용
      • 형태소 분석기 안정화 및 속도 개선
    • 버전 히스토리
      • [2.0.4]
        • 띄어쓰기 관련 버그 및 기타 안정화
      • [2.0.3]
        • 사용자 사전 포맷 오류 수정
      • [2.0.2]
        • 띄어쓰기 관련 오류 수정
      • [2.0.1]
        • 분석 중 에러가 발생하는 치명적 오류 수정
      • [2.0.0]
        • komoran 2.0 beta 최초 공개
      • [2.0.0 미만]


자세한 사용법은 하기 링크를 참조하시기 바랍니다.

- 사용법 (글 제목 : KOMORAN ver 2.0.4 beta (자바 한국어 형태소 분석기))


저작자 표시 비영리 변경 금지
신고
obama | 2014.08.11 17:56 신고 | PERMALINK | EDIT/DEL | REPLY
릴리즈 감사합니다. 잘 사용하겠습니다. ;-)
shine_ing | 2014.08.11 18:44 신고 | PERMALINK | EDIT/DEL
피드백 많이 주세요 :)
origoni | 2014.08.11 22:14 신고 | PERMALINK | EDIT/DEL | REPLY
감사합니다!!
요즘 갑자기 바빠지긴 했는데요 ㅠㅠ 시간 나는대로 사용해보고 피드백 드리겠습니다!!!
shine_ing | 2014.08.11 23:04 신고 | PERMALINK | EDIT/DEL
제가 오히려 감사드리죠 :)
본의아니게 얼마전에 제주도로 옮기신걸 알게됐습니다~ 제주도 어떤가요?!
shine_ing | 2014.08.11 23:04 신고 | PERMALINK | EDIT/DEL
본의아니게 옮겼다는 뜻이 아니라 제주도로 옮기신걸 본의아니게 알게 되었다는 의미입니다..-ㅁ-..자연어처리..하...ㅠㅠ
hare | 2014.08.12 18:01 신고 | PERMALINK | EDIT/DEL | REPLY
버전이 점점 올라가는군요! 언제나 감사드립니다!
shine_ing | 2014.08.12 18:21 신고 | PERMALINK | EDIT/DEL
제가 감사드리죠! 사용해보시고 피드백 부탁드립니다 ^^
lancif | 2014.08.12 21:07 신고 | PERMALINK | EDIT/DEL | REPLY
매번 감사합니다. 잘 쓸게요!
shine_ing | 2014.08.12 23:00 신고 | PERMALINK | EDIT/DEL
사용하시다가 불편한점 있으시면 알려주세요~
lancif | 2014.08.14 22:57 신고 | PERMALINK | EDIT/DEL | REPLY
한 문장을 통채로 분석하는 것과 각 단어별로 따로 분석해서 합친 결과에 차이가 있나요?

예를 들어, "안녕하세요. 제 이름은 김철수입니다. 잘 부탁 드립니다." 라는 문장을 통채로 입력해서 분석했을 때와,
"안녕하세요.","제","이름은","김철수입니다","잘","부탁","드립니다."를 각각 따로 입력해서 분석한 후 결과를 합쳤을 때,

결과가 달라질 수도 있나요? (위의 경우는 똑같은 결과가 나옵니다만, 혹시 다른 문장을 넣었을 때 달라질 수도 있는지 궁금합니다)
shine_ing | 2014.08.14 23:30 신고 | PERMALINK | EDIT/DEL
현재 알고리즘 상으로는 같은 결과가 나올 것 같네요~ 문장 단위로 분석하는 알고리즘을 추가할 예정인데 그때는 아마 달라질것 같습니다~
lancif | 2014.08.15 07:24 신고 | PERMALINK | EDIT/DEL
그렇군요. 감사합니다! ^^
shine_ing | 2014.08.15 11:03 신고 | PERMALINK | EDIT/DEL
참고로 사용자 사전에 "이름은 김철수"라고 있다고 한다면 결과가 다르겠네요~ 또 문의사항있으시면 알려주세요~^^
lancif | 2014.08.15 15:32 신고 | PERMALINK | EDIT/DEL | REPLY
하나 더 물어볼게요. ^^
태그 중에 'NA'가 새로 생긴것 같은데요, Not Available, No Answer, 뭐 그런 뜻인가요?

예를 들어, '<DATE>까지 놀다 온다.' 라는 문장을 돌리면 이전 버전에서는 '<DATE>'가 특수기호, 영어 각각으로 분리됐었는데,
이번 버전에서는 '<DATE>까지/NA' 라고 나오네요.
shine_ing | 2014.08.16 00:21 신고 | PERMALINK | EDIT/DEL
현재 영어나 숫자등이 특별한 의미가 없다면 기존과는 다르게 개별적(single character)으로 태깅이 됩니다만, 이 때 조합할 수 없는 경우가 나타나면 단어 전체가(word)NA로 태깅이 됩니다. 이 부분은 현재 어떤식으로 출력을 하는 것이 맞을지에 대해서 고민중에 있습니다만...이전 버전과 동일한 형태로 가야할 것 같습니다^^ 피드백 감사드리며 이는 재빨리 수정하여 다시 업데이트하도록 하겠습니다. 감사합니다!
shine_ing | 2014.08.17 01:13 신고 | PERMALINK | EDIT/DEL
위에 있는 댓글과는 별개로 말씀하신대로 "<DATE>까지 놀다 온다."로 테스트 해 본 결과 NA 태그가 발생하지 않네요..죄송하지만 다시한번만 확인해보시고 알려주시면 감사드리겠습니다!
lancif | 2014.08.19 19:29 신고 | PERMALINK | EDIT/DEL
죄송합니다. 제가 이것저것 테스트하다가 예제를 잘못올렸네요. ^^;;

<DATE_A>까지 놀다 온다.

이 문장을 입력으로 넣으면 '<DATE_A>까지/NA'라고 결과가 나옵니다.
(제가 이걸 옮겨 쓴다는게 실수를 했습니다.)
(참고로 이 문제는, 태깅된 코퍼스로 개체명 인식기 트레이닝 시키다가 생겼던 문제입니다. 지금은 모든 개체명 태그셋을 사용자 사전에 넣어서 처리했습니다.)

신경써주셔서 감사합니다. 2.1.1 버전도 감사히 쓰겠습니다!
shine_ing | 2014.08.20 01:11 신고 | PERMALINK | EDIT/DEL
죄송하실 필요까지야..^^;;;
방금 알려주신 내용으로 테스트를 해보니 NA 태그가 나오네요. 확인 결과 언더바(_)를 처리하지 못해서 해당 어절이 NA로 태깅되버리는 결과가 나오는 것으로 확인했습니다. 조만간 업데이트할 예정인데 그때 반드시 반영하도록 하겠습니다! 피드백 감사합니다!
Name
Password
Homepage
Secret
2014.08.05 02:46
1. KOMORAN 2.0

 KOMORAN 2.0은 SHINEWARE에서 제작한 한국어 형태소 분석기로서 자바 라이브러리 형태(.jar)로 제공됩니다. 기존 KOMORAN 1.0 대비 속도, 정확률(accuracy)이 개선되었으며, 사용자 사전에 의해 추가된 내용은 여러 어절이 하나의 품사로 분석이 가능하도록 설계되었습니다.


2. KOMORAN 2.0 특징

 

 KOMORAN 2.0은 1.0과 마찬가지로 자소 단위, 확률 기반의 형태소 분석기 입니다. 속도, 성능, 사전 관리 측면에서 기존 형태소 분석기와 차별되는 특징은 아래와 같습니다. 또한 기존 형태소 분석기와 달리 여러 어절을 하나의 품사로 분석 가능함으로써 형태소 분석기의 적용 도메인에 따라 공백이 포함된 고유명사(영화 제목, 음식점명, 노래 제목 등)를 더 정확하게 분석 할 수 있습니다.


- 속도

● 자소 단위 TRIE 사전 구성으로 사전 재탐색 횟수를 최소화하여 사전 탐색 속도 향상

● 내부 연산시 자료형을 정수로 치환하여 처리함으로써 연산 속도 향상

● Hash 기반의 Viterbi 알고리즘을 이용하여 분석 후보 탐색 속도 향상


- 성능

● 한국어에서 나타나는 불규칙을 학습 코퍼스 내에서 자동으로 추출하여 불규칙 어절에 대한 분석 정확률 향상

● TRIE 및 압축된 사전 정보를 사용하여 메모리 사용률 최소화 (50MB 이하에서도 동작)


- 사전 관리

● 사용자 사전을 추가하여 신조어, 고유명사 등의 분석 가능

● 기분석 사전을 적용하여 정확률 및 분석 속도 향상 가능


- 고유명사 분석(사용자 사전 적용)

● 기존 어절 단위 형태소 분석기와는 달리 복수 어절 단위 형태소 분석이 가능함으로써 사용자 도메인에 맞는 유연한 결과 제공

◆ 사용자 사전 등록 내용

바람과 함께 사라지다/NNP

운명처럼 널 사랑해/NNP

◆ 입력 문장

바람과 함께 사라지다랑 운명처렁 널 사랑해 중에 뭐가 더 재밌어?

◆ 분석 결과

바람과 함께 사라지다/NNP+랑/JKB

운명처럼 널 사랑해/NNP

중/NNB+에/JKB

뭐/NP+가/JKS

더/MAG

재밌/VA+어/EF+?/SF



3. KOMORAN 2.0 성능 평가

KOMORAN 2.0의 성능을 평가하기 위해 아래와 같이 속도 및 정확률에 대한 실험을 진행하였습니다.

- 속도 평가
● 평가에 사용된 컴퓨터 Spec.
◆ 프로세서 : 2.3GHz Intel Core i5
◆ 메모리 : 8GB 1600MHz DDR3
● 초당 3만 어절 분석(word/sec)
● 초당 6천 문장 분석(line/sec)
● 초당 0.3MB 분석(MB/sec)

- 정확률 평가
● 기호 및 숫자 등을 제외한 순수 한글 어절 ( 약 17만 어절, 33만 형태소 )
◆ 어절 정확률 : 93.37%
◆ 형태소 별 품사 정확률 : 95.60%
● 기호 및 숫자 등을 포함한 전체 어절 ( 약 20만 어절, 46만 형태소 )
◆ 어절 정확률 : 91.40%
◆ 형태소 별 품사 정확률 : 94.60%


4. 사용 방법

 KOMORAN 2.0을 사용하기 위해서는 먼저 필요한 라이브러리 및 데이터를 다운 받아야 합니다. 라이브러리 및 데이터는 아래 경로에서 다운로드 받으실 수 있습니다. 

- library 
- data file
(1) 기본 사용 방법

//압축해제된 data file(models.zip)의 경로를 지정하여 객체 생성

Komoran komoran = new Komoran("D:\\4_Shineware\\05_KOMORAN_2.0\\models");

List<List<Pair<String,String>>> result = komoran.analyze("안녕하세요? 좋은 아침입니다.");

for (List<Pair<String, String>> eojeolResult : result) {

for (Pair<String, String> wordMorph : eojeolResult) {

System.out.println(wordMorph);

}

System.out.println();

}


위 소스를 실행한 결과는 아래와 같습니다.


Pair [first=안녕, second=NNG]

Pair [first=, second=XSV]

Pair [first=, second=EP]

Pair [first=어요, second=EF]

Pair [first=?, second=SF]

 

Pair [first=, second=VA]

Pair [first=, second=ETM]

 

Pair [first=아침, second=NNG]

Pair [first=, second=VCP]

Pair [first=ㅂ니다, second=EF]

Pair [first=., second=SF]


(2) 기분석 사전 적용

기분석 사전은 아래와 같이 setFWDic(“기분석 사전 파일명”)을 이용하여 적용 가능합니다.

Komoran komoran = new Komoran("D:\\4_Shineware\\05_KOMORAN_2.0\\models");

//기분석 사전 적용

komoran.setFWDic("fwd.user");

기분석 사전의 구조는 아래와 같습니다.
- 구조
 [분석할 어절]\t[분석 결과(형태소 사이 구분은 공백 사용)]
● 시작 기호 '#'로 주석 처리 가능
- 예제
#2014.07월 기분석 사전 적용
수입불가    수입/NNG 불가/NNG
사람이라고    사람/NNG 이/VCP 라고/EC

(3) 사용자 사전 적용
사용자 사전은 아래와 같이 setUserDic("사용자 사전 파일명")을 이용하여 적용 가능합니다.

Komoran komoran = new Komoran("D:\\4_Shineware\\05_KOMORAN_2.0\\models");

//기분석 사전 적용

komoran.setUserDic("dic.user");

사용자 사전의 구조는 아래와 같습니다.
- 구조
 [단어]\t[품사]
 시작 기호 '#'로 주석 처리 가능
- 예제
#주석은 라인의 가장 앞에 #을 표시하여 사용
#단어는 공백 포함 가능
너희들은 포위됐다.    NNP
캐리비안의 해적    NNP
한국어 정보처리학회    NNP


5. 문의 사항
KOMORAN과 관련된 문의 사항은 ceo@shineware.co.kr로 연락주시기 바랍니다.

6. 라이센스
[아파치 2.0]

7. 기타
웹 상에서 데모를 사용할 수 있도록 준비 중에 있습니다. 조만간 준비해서 공지하도록 하겠습니다.
KOMORAN과 관련해서 다양한 피드백 부탁드립니다! 

현재 베타버전이므로 안정성에 문제가 있을 수 있습니다. 사용하시다가 문제점이 생기면 연락부탁드립니다.

 

=========================[2014-07-26 추가]=========================

분석 중 에러가 발생하는 치명적인 오류를 발견하여, 소스 수정 후 komoran-2.0.1-beta.jar 버전으로 변경하였습니다. 기존의 komoran-2.0-beta.jar를 사용하시는 분은 신규 버전으로 업데이트 하셔서 사용하시기 바랍니다.

(소중한 피드백 주신 강재용님께 진심으로 감사드립니다!)


=========================[2014-07-27 추가]=========================

공백이 여러개 포함된 경우에 에러를 발생시키는 오류를 발견하여, 소스 수정 후 komoran-2.0.2-beta.jar 버전으로 변경하였습니다. 

(소중한 피드백 주신 origoni 님께 감사드립니다!)


=========================[2014-07-29 추가]=========================

사용자 사전 포맷이 잘못되어 있던 오류를 발견하여, 소스 수정 후 komoran-2.0.3-beta.jar 버전으로 변경하였습니다. (나옹님 감사드립니다)


=========================[2014-08-05 추가]=========================

기타 버그 및 안정화 작업을 진행하여, 소스 수정 후 komoran-2.0.4-beta-e.jar 버전으로 변경하였습니다.

저작자 표시 비영리 변경 금지
신고
이전 댓글 더보기
김창환 | 2014.07.24 20:54 신고 | PERMALINK | EDIT/DEL | REPLY
네 이번에 2.0 버전으로 새로 출시할 계획입니다.
그런데 이번에 출시할 버전에 KOMORAN 2.0 을 사용해도 될까요?~
물론 상업적 목적은 아닙니다 ^^..
shine_ing | 2014.07.25 09:38 신고 | PERMALINK | EDIT/DEL
당연히 사용하셔도 됩니다~ 상업적 목적이 아니라면 어디에서 쓰던지 무방합니다..ㅎㅎ 2.0 나오면 꼭 알려주세요!
김창환 | 2014.07.25 10:07 신고 | PERMALINK | EDIT/DEL | REPLY
네 감사합니다! ^^
origoni | 2014.07.26 23:24 신고 | PERMALINK | EDIT/DEL | REPLY
방금 테스트를 시작하다가 에러가 발생하였습니다.

komoran.analyze("1_2__3"); <- underbar가 공백입니다 ^^;
위와같이 공백이 두칸이면 아래와 같은 에러가 발생합니다.

java.lang.NullPointerException
at kr.co.shineware.nlp.komoran.core.lattice.Lattice.backTracking(Lattice.java:158)
at kr.co.shineware.nlp.komoran.core.lattice.Lattice.getMax(Lattice.java:134)
at kr.co.shineware.nlp.komoran.core.analyzer.Komoran.analyze(Komoran.java:109)
at org.jobcoding.presentation.support.parser.impl.TagParserImplTest.testList(TagParserImplTest.java:38)
....

전처리를해 사용 중 입니다.
replaceAll("(\\p{Space}){1,}", " ");

확인 부탁드립니다 ^^

지금 사용해보니 속도가 엄청 빨라진것 같네요!!
감사합니다!!!
shine_ing | 2014.07.27 13:03 신고 | PERMALINK | EDIT/DEL
어절단위 분석기능을 추가하다보니 에러들이 많네요ㅠ얼렁 수정해서 릴리즈하도록 하겠습니다!! 피드백 감사합니다!
origoni | 2014.07.27 17:16 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요 ^^
이번엔 사용자 사전을 못 찾는 이슈가 있어서 댓글 드립니다.

101 : Komoran analyzer = new Komoran(ResourceUtils.getURL(SystemBean.MORPHOLOGY_ANALYZER_DIC_PATH).getPath().toString());
102 : analyzer.setUserDic("dic.user");

이와같이 사용자 사전을 사용하려하니 아래와 같이 에러가 발생했습니다.

java.io.FileNotFoundException: dic.user (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:131)
at java.io.FileInputStream.<init>(FileInputStream.java:87)
at java.io.FileReader.<init>(FileReader.java:58)
at kr.co.shineware.nlp.komoran.core.analyzer.Komoran.setUserDic(Komoran.java:299)
at org.jobcoding.presentation.support.parser.impl.TagParserImpl.mkr(TagParserImpl.java:102)
...

참고로 OSX환경이며
실제 path는 /Java/tomcat/apache-tomcat-7.0.54/webapps/ROOT/WEB-INF/classes/datas/models/dic.user 로
파일 존재 여부는 확인 하였습니다.

확인 부탁드립니다!!!
감사합니다 ^^
관심 | 2014.07.27 21:40 신고 | PERMALINK | EDIT/DEL
하드코딩으로 한번넣어보세요 전 잘되네용
shine_ing | 2014.07.27 22:40 신고 | PERMALINK | EDIT/DEL
관심님께서 말씀해주신대로 setUserDic에 경로를 full path로 넣어주시면 깔끔하게 해결될 것 같습니다^^ 사용자 사전은 komoran 생성자의 하위 경로(models)가 아닌 별도의 경로로 구성되기 때문에 경로를 잘 잡아주셔야 합니다~ 그래도 안되시면 다시 댓글 부탁드립니다! 감사합니다~
skyer9 | 2014.07.28 20:12 신고 | PERMALINK | EDIT/DEL | REPLY
제가 맞춤법 교정기 앱을 제작중인데요 위 라이브러리를 쓰고싶어서요 원래는 부산대학교애서 제공하는 맞춤법 교정 서바스를 아용하려 하였눈데 사용자사전 등록이 크네요 ㅡㅡ
shine_ing | 2014.07.28 23:16 신고 | PERMALINK | EDIT/DEL
먼저 관심을 가져주시고 이렇게 댓글을 달아주셔서 감사드립니다. 철자 오류 보정기(맞춤법 교정기)가 비상업적이라면 사용하셔도 무방합니다만, 철자 오류 보정은 형태소 분석기로 접근하는게 맞나요? 제가 생각하기로는 철자가 포함된 내용은 형태소 분석을 해도 오분석이 나오기 때문에 조금 힘들지 않을까 싶습니다만......
skyer9 | 2014.07.28 23:36 신고 | PERMALINK | EDIT/DEL
일단 무료 앱이 될거고요. 위 라이브러리가 표준말과 무관하게 형태소만 분석하는 것도 생각하고 있어요 아마 두가지를 짬뽕해야 하지 않나 생각하네요
shine_ing | 2014.07.29 01:25 신고 | PERMALINK | EDIT/DEL
네 그러시군용~ 뭐 무료 앱(광고 X)이라면 어떻게 이용하셔도 무방합니다. 좋은 앱이 나왔으면 좋겠네요!
skyer9 | 2014.07.29 21:59 신고 | PERMALINK | EDIT/DEL
혹시 자동 띄어쓰기 한 결과 String 반환하는 API 만드실 계회 없으신가요?

요즘 사람들 글쓰는거 보면 당황스러울 정도로 띄어쓰기가 엉망이라...
선처리로 자동띄어쓰기 한 이후에 맞춤법 교정 들어가야 하거든요.

형태소 분석된 결과를 가지고 자동 띄어쓰기 문자열 만들어 낼 수도 있지만 제가 막상 하려니까 배워야 할것도 많고... 견적이 좀 나올거같아서요.
shine_ing | 2014.07.29 23:19 신고 | PERMALINK | EDIT/DEL
만들 계획은 있습니다만, 서버 트래픽비용이 만만치 않아서 데모형식으로만 운영할 계획입니다..ㅠ
나옹님 | 2014.07.29 10:31 신고 | PERMALINK | EDIT/DEL | REPLY
사용자 사전 로딩할때 이런 에러가 뜨네요~물론 프로그램은 계속 진행 되지만... 형식에 맞추어서 했는데 그러네요~ 어떤 부분이 문제인지 확인 부탁드립니다. 사용자 사전으로 썼던 데이터는 50만개의 한글 위키피디아 단어 리스트들입니다.
User dic loading : D:\workspace\library\komoran-2.0\models\dic.user
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1911)
at kr.co.shineware.nlp.komoran.core.analyzer.Komoran.setUserDic(Komoran.java:310)

________________________________________________________
+ 추가로 사용자 사전 등록할때
넷 nnp
마블 nnp
넷마블 nnp
이렇게 세게의 고유명사가 등록되어있으면 문장에서 넷마블 라는 단어가 나옴에도(띄어쓰기 없이) 넷마블이 아닌 넷 이랑 마블 따로 두개의 별다른 단어가 뽑히는거 같네요. 예전 버전 고유명사 포함된 Komoran 1.12 을 사용하니 넷마블, 서든어택 등이 잘 뽑혀나오긴 하네요~
shine_ing | 2014.07.29 11:05 신고 | PERMALINK | EDIT/DEL
안녕하세요. 지금 확인해보니 제가 메뉴얼에 써놓은 내용과 실제 사용자 사전을 파싱하는 방법이 다르네요 -_-;;수정해서 올리도록 하겠습니다. 더불어서 넷,마블,넷마블과 관련된 이슈도 추가적으로 수정하겠습니다. 정말 좋은 피드백 감사드립니다!
shine_ing | 2014.07.29 11:21 신고 | PERMALINK | EDIT/DEL
추가 질문에 대한 답변을 다시 드리자면, 사전 로딩이 제대로 안되서 사용자 사전이 없는 상태로 분석이 되다 보니까 따로따로 분석되서 나온 것 같습니다. 사용자 사전을 이용해서 테스트 한 결과 원하시는 분석 결과가 나오네요~ 번거롭게 해드려서 죄송합니다. 금일 오후 내로 사용자 사전 관련하여 업데이트 하도록 하겠습니다!
origoni | 2014.07.29 22:01 신고 | PERMALINK | EDIT/DEL
앗 저도 사전주소 full path로 넣었더니 저런에러가 나서 보고하려했습니다~
나옹님께서 먼저 적어주셨네요 ^^

기분석 사전 응용해 "밀키/NNP" 이런식으로 하니 잘 되는것 같네요~^^;;
origoni | 2014.07.30 08:27 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요.
사용자 사전에 정의된 영문자의경우 대소문자를 구분하고 있는것 같은데요.
혹시 대소문자 상관없이 적용되도록 할 수 있을까요?

추가적으로 사용자 사전 사용시 User dic loading : ~~ 이렇게 나오는것이 갑자기 보이는것 같은데요 ^^;
이부분 출력 안되게 하려면 어떻게 해야 할까요?

확인 부탁드립니다~!
shine_ing | 2014.07.30 09:31 신고 | PERMALINK | EDIT/DEL
대소문자 적용은 입력 전에 전처리를 해주시는게 어떨까요?^^ 사용자 사전 로딩시 생기는 로그 같은 경우엔 가끔 사용자 사전이 로딩이 되지않는다는 분들이 계셔서 일단 강제로 지정한 위치가 보이게끔 해놨습니다~ 베타 버전을 떼면 각종 로그들은 잘 숨기겠습니다~ ㅎㅎ 항상 피드백주셔서 감사합니다~
origoni | 2014.08.05 05:46 신고 | PERMALINK | EDIT/DEL | REPLY
아침부터 좋은 소식이네요 ^^ 감사합니다!!
shine_ing | 2014.08.05 09:52 신고 | PERMALINK | EDIT/DEL
제가 감사하죠^^ 소중한 피드백 많이 주셔서 다시 한번 감사드립니다~
| 2014.08.05 16:30 | PERMALINK | EDIT/DEL | REPLY
비밀댓글입니다
obama | 2014.08.11 18:05 신고 | PERMALINK | EDIT/DEL | REPLY
사전 구조를 TRIE -> TST(Ternary Search Tree) 로만 변경해도 속도 많이 향상 됩니다.
shine_ing | 2014.08.11 18:08 신고 | PERMALINK | EDIT/DEL
피드백감사합니다. 음절단위가 아니라 자소단위로 처리를 하기때문에 테스트결과 일반 트라이가 더 빠른속도른 보여줘서 TST를 사용하지 않고 있습니다^^ 조언 감사드립니다!
인간미 | 2014.10.15 20:01 신고 | PERMALINK | EDIT/DEL | REPLY
자동 띄어쓰기 API는 없는거죠? 이곳저곳에서 분석기 찾고있는데 루씬 에도 없는거같고...
그리고 라이브러리에 API DOC 포함안되어있는건가요?
shine_ing | 2014.10.15 20:04 신고 | PERMALINK | EDIT/DEL
넵 현재는 자동 띄어쓰기는 없는 상태입니다. public으로 사용 가능한 메소드가 몇개 안되서 API DOC는 따로 포함하지 않았습니다. 최대한 잘 만들어서 올리겠습니다!
인간미 | 2014.10.16 00:37 신고 | PERMALINK | EDIT/DEL | REPLY
초스피드 답변 감사드립니다.
shine_ing | 2014.10.16 00:38 신고 | PERMALINK | EDIT/DEL
자동 띄어쓰기도 초스피드로 조만간 만들어서 적용하겠습니다!
인간미 | 2014.10.16 01:09 신고 | PERMALINK | EDIT/DEL | REPLY
혹시, 루씬에서 동작하는 Analyzer 를 포함한 jar 형태의 라이브러리는 제공하시지 않나요?
shine_ing | 2014.10.16 01:12 신고 | PERMALINK | EDIT/DEL
루씬 4.x 버전에서 사용하게끔 만들어놓은게 있긴합니다만..글쎄요..제공할 예정이긴합니다만 다른 내용들에 비해서 우선순위가 조금 떨어지네요..조금더 단단하게 만든다음에 제공하도록 하겠습니다!
인간미 | 2014.10.16 01:32 신고 | PERMALINK | EDIT/DEL | REPLY
네 그런데 혹시 제가 따로 인덱싱을위해 문장이나 글에서 명사를 추출하려면 NNP로 표시된 형태소를 일일이 확인해야되는건가요? 아니면 메서드가 제공되나요? 메뉴얼에는 없어서요ㅎㅎ

그리고 최신버전 글에나온것 가지고 실험해보고있는데..
java.lang.NoClassDefFoundError: kr/co/shineware/ds/trie/TrieDictionary
왜 이럴까요..

아아 그리고 상당히 인상적인게 사용자 사전인데요,
여기에는 영화제목이나 책제목등 신조어 NNP를 넣으면 좋겠는데
만약 세상에 존재하는 모든 영화나 책 노래 제목을 모두 넣으면 속도에 문제는 없을까요? 파일사이즈가 엄청커질텐데..
shine_ing | 2014.10.16 01:31 신고 | PERMALINK | EDIT/DEL
앗..생각해보니 품사에 대한 정보가 찾기 어렵겠네요..명사류만 사용하신다면 NNP,NNG 로 표시되는 놈들만 사용하시면 될 것 같습니다. 명사류 추출하는 메소드는 따로 만들어야겠네요.

그리고 저 부분은 라이브러리가 제대로 추가되지 않았을 때 나오는 에러로 보여집니다. .jar 파일을 모두 받으셔서 라이브러리로 추가해주시면 됩니다~
인간미 | 2014.10.16 01:33 신고 | PERMALINK | EDIT/DEL
새벽까지 친절한 답변감사드립니다. 해보고 더 궁금한점 여쭈어볼께요~ 편안한밤되시길 빕니다!
shine_ing | 2014.10.16 01:34 신고 | PERMALINK | EDIT/DEL
댓글로 관심 받으려고 하는 프로젝트라..ㅎㅎㅎㅎ다양한 피드백 감사드립니다~
인간미 | 2014.10.16 01:46 신고 | PERMALINK | EDIT/DEL | REPLY
그동안 구버전쓰다 최신버전 쓰는데 소름돋는 성능이네욥..
엣지 오브 투모로우 쳤는데 NNP로 분류해버리네...

그런데 모델인자로 Komoran 인스턴스 만들때 2초이상걸리네요..
shine_ing | 2014.10.16 11:43 신고 | PERMALINK | EDIT/DEL
감사합니다. 위키에 있는 데이터를 사용하다보니 아무래도 영화명은 잘 판단합니다만..말씀하신 것처럼 객체 생성시에 시간이 조금 걸린다는 단점이 있습니다..ㅠ 보완하겠습니다!
인간미 | 2014.10.16 13:48 신고 | PERMALINK | EDIT/DEL
시스템 시작할 때 로딩과정에서 로드하고 시작해야겠네요
빅테이블 | 2015.12.30 11:36 신고 | PERMALINK | EDIT/DEL | REPLY
한국어 텍스트에서 주요 키워드를 뽑아내는 용도로 사용하려고 합니다. 좋은 라이브러리 만들어주셔서 감사합니다! 근데 메이븐 리파지토리에 있으면 쓰기가 훨씬 편할 것 같아요.
빅테이블 | 2015.12.30 16:53 신고 | PERMALINK | EDIT/DEL | REPLY
사용자 사전의 인코딩이 UTF-8 일 경우 사용자 사전이 반영되지 않는 버그가 있습니다.
setUserDic() 의 디컴파일된 코드를 보니 UTF-8 파일 맨 앞의 식별문자를 처리해주지 않아서 그런듯 하네요.
Java8 스타일로 파일 입출력을 하시면 UTF-8만 예외처리 하거나 하지 않아도 될 듯합니다.
신준수 | 2016.01.04 16:51 신고 | PERMALINK | EDIT/DEL
사용자 사전과 프로젝트 설정이 모두 UTF-8로 설정되어 있습니다.
말씀하신 충돌 현상은 프로젝트 설정이 UTF-8이 아닌 상태에서 사용자 사전만 UTF-8인 경우에 빈번하게 발생했었습니다. 확인 한번만 부탁드립니다^^
분석분석 | 2016.01.12 18:08 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요 다운 받아서 사용중인데 처음 로딩 속도가 너무 오래 걸립니다.
저 같은 경우는 komoran = new Komoran("C://Programming//models-light//");
이런 식으로 경로를 지정해 주었는데 제가 혹시 틀리게 지정해 주었나요??
답변좀 부탁드리겠습니다!
shine_ing | 2016.01.12 21:54 신고 | PERMALINK | EDIT/DEL
로딩속도가 얼마나 걸리나요?
분석분석 | 2016.01.13 09:44 신고 | PERMALINK | EDIT/DEL
로딩하는데 약 40초정도 소요됩니다.
shine_ing | 2016.01.13 16:13 신고 | PERMALINK | EDIT/DEL
음 40초면 너무 오래 걸리네요.
혹시 자바 실행시 메모리 설정을 따로 하신게 있으신가요?
따로 하신게 없으시다면 소스 파일을 보내주시면 확인해보겠습니다.
분석분석 | 2016.01.14 11:27 신고 | PERMALINK | EDIT/DEL
확인결과 단일로 돌릴경우 소요시간은 길지 않습니다만
멀티쓰레드방식으로 돌리다보니 리로딩 속도가 오래걸려 그랬던것 같습니다.
혹시 멀티쓰레드 사용시 적용할 수 있게 사전정보를 미리 인스턴스화 할 수 있는 방법도 있나요?
shine_ing | 2016.01.18 17:31 신고 | PERMALINK | EDIT/DEL
리소스 로딩은 한번만 하시고 anaylze 메소드에 syncronized 걸어주시면 됩니다~
지구민 | 2016.01.22 14:25 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요 뭐 하나 물어보려고 하는데요.
홈페이지 납품할때 검색어 입력시 명사만 추출하는데 사용하려고 합니다.
이럴때 라이센스 비용을 지불해야 하는건가요?
그리고 jdk 1.6으로 재컴파일 하고 싶은데 어찌 해야하나요?
개발자 | 2016.08.02 18:14 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요 테스트 중에 사용자 사전을 사용하려고 하는데 적용이 안되어 문의 여쭙니다.

Komoran komoran = new Komoran("D:/models-light/");

List<List<Pair<String, String>>> result = komoran.analyze("텍스트");

komoran.setUserDic("D:/models-light/user_data/dic.user");

현재 위와같이 해놓았습니다.

에러도 없이 잘 돌아가긴하는데 사용자사전이 적용이 안되네요.

어떻게 해야할까요..?
====================================
댓글보면 깨달았습니다!
사용자 사전 인코딩을 UTF-8로 변경하니 잘됩니다 감사합니다^^
Name
Password
Homepage
Secret
2014.07.21 11:37

안녕하세요. 거의 1년만에 공개 포스팅을 작성합니다.


다름이 아니라 내부적으로 계속 KOMORAN에 대해서 업데이트를 진행 중에 있었으며, 

이제 그에 따른 결과물을 다시 한번 공유하고자 이렇게 글을 작성합니다.


1.x 버전과 마찬가지로 이번 버전도 많은 분들의 피드백과 도움이 있어야 더 좋은 형태소 분석기로써의 면모를 갖출 수 있을 것 같습니다.


먼저 속도, 정확률 측면에서 성능이 좋아졌으며 부가적으로 아래와 같이 공백이 포함된 고유명사를 분석할 수 있는 기능이 추가되었습니다.


  • 입력 문장 : 바람과 함께 사라지다를 봤습니다.
  • 사용자 사전 : 바람과 함께 사라지다/NNP
  • 분석 결과
    • 바람과 함께 사라디자/NNP+를/JKO
    • 보/VV+았/EP+습니다/EF+./SF


 위와 같은 기능을 추가한 이유는 기존의 어절 단위로 분석 결과를 제공하는 형태소 분석기의 경우 영화명, 상품명, 행사명 등과 같이 띄어쓰기가 포함된 고유명사를 분석하는데 큰 걸림돌이 되었습니다. 어절 단위 형태소 분석 결과를 토대로 기계 학습, 규칙 등을 사용하는 후처리 모듈을 통해서만 처리가 가능하였습니다. 이에 대한 근본적인 문제를 해결하기 위해서 위와 같은 기능을 추가하였습니다.


현재 마무리 단계에 있으며 기분석 사전에 대한 적용 방법에 대해서 고민 중입니다. 기존 1.x 버전이 어절 단위 기분석 사전이였다면 현재 2.0 버전 부터는 문장 단위 기분석 사전이 될 확률이 높습니다. 이와 관련된 이슈는 추후에 정리하여 공지하도록 하겠습니다.


공개는 이번달 말쯤으로 예정되어있습니다.

빨리 마무리 지어서 공개하도록 하겠습니다.

이번에도 많은 분들이 도움을 주시길 바라겠습니다. 감사합니다.








저작자 표시 비영리 변경 금지
신고
origoni | 2014.07.22 07:01 신고 | PERMALINK | EDIT/DEL | REPLY
정말 감사합니다.
이달 말이 너무 기다려지네요.
잘 사용해보고 피드백 드리겠습니다.
shine_ing | 2014.07.23 10:31 신고 | PERMALINK | EDIT/DEL
감사합니다. 피드백 적극 반영하도록 하겠습니다!
obama | 2014.07.23 10:28 신고 | PERMALINK | EDIT/DEL | REPLY
분석속도는 많이 향상 되었는지요?
이전 버전은 KLT, MACH 2.0 대비 엄청 느렸는데 이부분에 대한 개선이 있었으면 좋겠습니다.
shine_ing | 2014.07.23 10:45 신고 | PERMALINK | EDIT/DEL
안녕하세요. 댓글 감사드립니다.
먼저 분석 속도는 기존 1.0에 비해서 많이 향상되었습니다만,
말씀하신 KLT나 MACH 2.0 대비해서는 아직도 많이 느립니다. 그 이유 중 첫번째는 태그셋의 차이입니다. 아시다시피 세종태그셋 대비 KLT와 MACH에서 분석되는 태그의 종류가 적습니다. 그렇기 때문에 일단 연산 속도 및 정확률 측면에서 높은 성능을 보일 수 있습니다. 또 다른 이유로는 KLT와 MACH 2.0은 C,C++로 만들어졌다는 것입니다. 이러한 근본적인 문제 때문에 현재 C,C++ 버전을 계획 중에 있습니다. 좋은 지적 감사드리며, 항상 속도 문제 때문에 신경이 쓰였었는데 조금 더 고민을 많이 해보겠습니다~ 감사합니다.
shine_ing | 2014.07.23 13:53 신고 | PERMALINK | EDIT/DEL
아 다른 분들이 댓글만으로 판단하실까봐 추가적으로 댓글을 답니다. KLT, MACH 2.0에 비해서는 느리지만 공개된 타 형태소 분석기와는 비슷하거나 더 빠른 처리 속도를 보여줍니다. 감사합니다~
obama | 2014.08.11 17:54 신고 | PERMALINK | EDIT/DEL | REPLY
태그셋이 세종 태그셋 이군요. POS도 사용자 옵션으로 빼면 Full 사용할 경우보다 Minimum으로 사용할 경우의 속도를 높일 수도 있겠죠.
Java라면 꼬꼬마 보단 이미 빠르니 KAIST의 HanNanum과 Lucene의 arirang 속도만 넘기시면 국내 최고가 될 것 같습니다. ^^
shine_ing | 2014.08.11 17:50 신고 | PERMALINK | EDIT/DEL
조만간 슈퍼스피드로 보답하겠습니다!! 커밍순~
Name
Password
Homepage
Secret
prev"" #1 next