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 티스토리 가입하기!
'Project'에 해당되는 글 17건
2016.05.12 02:00

KOMORAN 3.0에 대한 안정성 및 피드백을 받기 위해서 베타 버전을 공개합니다.


2.0 대비 주요 변화는 아래와 같습니다.


  • 속도 개선
    • KOMORAN 2.0 : 초당 0.4MB 분석 (MB/sec)
    • KOMORAN 3.0 : 초당 1.0MB 분석 (MB/sec)
  • 기능 추가
    • 형태소 분석 결과로 입력 문장 내 형태소 위치 정보 제공
    • 형태소 분석 결과 중 명사 추출 기능 제공
    • 형태소 분석 결과를 plain text로 제공
    • training 모듈 추가 (직접 training/tuning 하실 수 있습니다!!!!)
  • gradle 적용
  • wiki title을 사전에 적용


기존의 자료 구조를 trie에서 aho-corasick으로 변경하여 속도를 개선하였습니다. (aho-corasick을 찾는데까지 오래 걸림...ㅠㅠ)

또한 lucene 기반의 analyzer에서 쉽게 적용할 수 있도록 분석 결과 token의 position 정보를 제공합니다. (개선해야 될 부분이 많습니다...ㅠ)

아직 KOMORAN 2.0처럼 많이 부족합니다.

그러나 KOMORAN 2.0 처럼 많이 사용해주시고 많은 피드백을 주신다면 감사드리겠습니다. (_ _)

사용법 및 소스는 아래 링크에서 확인하실 수 있습니다.

https://github.com/shin285/KOMORAN


덧, 있어보이려고 github repository에 badge를 2개나 붙였으나....개발 능력 부족으로 인해 coverage가 매우 낮지만....동작에는 문제가 없습니다..ㅠㅠ


저작자 표시 비영리 변경 금지
신고
코랄칼슘 | 2016.05.16 21:51 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요!! 코모란 잘 쓰고 있습니다.
에러리포트요!
싸이/VV+는/ETM 가수/NNG+다/JX
가수 싸이는 항상 VV로 나오네요 ㅠㅠ
shine_ing | 2016.05.18 11:40 신고 | PERMALINK | EDIT/DEL
싸이가 사전에는 있지만 싸이/VV가 확률이 더 높게 나와서 생기는 현상이네요. 학습 데이터를 도메인에 맞게 수정하는 방법 밖에는 없을 것 같습니다만...어떻게 하면 도메인에 맞게 자동으로 확률 값을 수정할 수 있게 할지 계속 고민하고 있겠습니다~ 피드백 감사드립니다 :)
김간지 | 2016.05.26 18:07 신고 | PERMALINK | EDIT/DEL | REPLY
회사에서 써보려고 하는데 3.0 beta 버전 혹시 상업적 이용불가 인가요???
shine_ing | 2016.05.26 18:09 신고 | PERMALINK | EDIT/DEL
아파치 라이센스여서 사용하셔도 무방합니다만, 아직 beta여서 안정성이 조금 떨어질 수 있습니다 :)
mjxaone | 2016.06.18 01:29 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요.
개인적으로 검색엔진의 기초부분을 작업하고 싶어서
형태소 분석기를 찾던도중 KOMORAN을 보게 되었습니다.
조만간 열심히 사용하고, 많은 요청(?) 하겠습니다.
좋은 자료 감사합니다.
:D
개발개발 | 2016.08.13 18:23 신고 | PERMALINK | EDIT/DEL | REPLY
"바이든 부통령, 포로셴코과 대통령과 크림 사태 논의 통화" 라는 String 값으로 돌리는데요 ㅠㅠ
java.lang.NullPointerException 이 뜨네요...
바이든 부통령 이라는 단어 때문인거 같은데 해결법좀 알려주세요. ㅠ
그리고 그 포로셴코와 같은 단어는 명사 결과로 안나오는데 어떻게 해야하죠??

해보니 2.4버전에서는 되는데요 혹시 2.4버전에서 3.0버전의 analyzeResultList.getNouns() 같은게 있나요??
shine_ing | 2016.08.18 01:31 신고 | PERMALINK | EDIT/DEL
개인적인 사정 때문에 답변이 많이 늦어졌네요. 죄송합니다 ㅠㅠ말씀해주신 소중한 피드백으로 아주 치명적인 버그를 찾아냈습니다. 진심으로 감사드립니다. 방금 릴리즈한 최신 버전에서는 해결되었습니다. 번거로우시겠지만 앞으로도 피드백 부탁드립니다!
덧, 포로셴코와 같은 단어는 사용자 사전에 추가하시면 됩니다 :)
최신 버전 링크 : https://github.com/shin285/KOMORAN/releases/tag/3.0.2
카일로 | 2016.10.04 04:07 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요.
예전에 띄어쓰기 무시한 사전은 아직 3.0에 들어가지 않았나요?

예를들어
바람과 함께 사라지다 이거가 사용자 사전에 있을 경우

바람과함께사라지다
바람과 함께사라지다
바람과함께 사라지다

등등이 2.4에는 고유명사로 잘 분류 되었던것 같습니다. (제 착각일 수도 있어 보입니다만..)
shine_ing | 2016.10.04 09:08 신고 | PERMALINK | EDIT/DEL
해당기능은 따로 제공하지 않습니다~ 물론 가능한 조합만들어서 사전에 넣으시면 원하시는 분석 결과를 얻으실 수 있습니다~
kwon | 2016.12.08 17:47 신고 | PERMALINK | EDIT/DEL | REPLY
komoran3.0 사용을 위해 테스트 하고 있습니다.
동작은 잘 하는데 특정 글자에서 java.lang.NullPointerException 에러가 발생하고 있습니다.
테스트한 글자는 '센', '센트롤이' 두가지 이구요 '센트롤' 이라고 하면 에러없이 정상작동 합니다.
KomoranResult.java 에서 Second 에 셋팅되지 않아서 에러가 나는것 같습니다.
if(jasoBeginIdx >= syllableAreaList.get(i).getSecond()){
syllableAreaPair.setSecond(i+1);
}

좀 더 추척해봤지만 소스 전체를 다 이해하지 못해서 어떻게 수정해야할지를 모르겠습니다~~
도움 부탁드려요~
shine_ing | 2016.12.09 11:14 신고 | PERMALINK | EDIT/DEL
리포팅 감사드립니다. 이슈는 확인을 하였습니다. 최대한 빠른 시일 내로 fix하도록 하겠습니다. 감사합니다.
LEE | 2017.03.20 13:09 신고 | PERMALINK | EDIT/DEL
안녕하세요
혹시 위 이슈 사항이 수정이 되었나요?

수정 되었으면
관련파일을 받을수 있는 곳을 알려주셨으면 합니다.

감사합니다
shine_ing | 2017.03.20 13:10 신고 | PERMALINK | EDIT/DEL
네 수정하였습니다~깃헙에서 클론 받으시면 적용되어 있습니다^^
Freeman | 2017.03.02 17:21 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요. 코모란을 잘 사용하고 있습니다.
테스트로 Thread를 적용해 보니, 아래와 같은 오류가 발생하네요....

코모란 라이브러리 Thread 적용해서 수행이 가능한지 궁금합니다.....

java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextNode(HashMap.java:1429)
at java.util.HashMap$KeyIterator.next(HashMap.java:1453)
at kr.co.shineware.nlp.komoran.core.analyzer.Komoran.regularParsing(Komoran.java:641)
at kr.co.shineware.nlp.komoran.core.analyzer.Komoran.analyze(Komoran.java:295)
shine_ing | 2017.03.02 17:24 신고 | PERMALINK | EDIT/DEL
2.x 버전을 쓰신다면 anayle 메소드에 synchronized를 붙여주셔야 합니다. 3.x버전은 thread safe 합니다~ 혹시 어떤 버전을 사용하고 계신지요?
hyon86 | 2017.03.24 15:28 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요. 코모란 3.0을 사용해 보고 있습니다.

kr.co.shineware.nlp.komoran.core.Komoran.java
아래 메서드 여러 스레드에서 동시 접근 해도 문제가 없는지 문의 드립니다.
public KomoranResult analyze(String sentence) <= 해당 메서드가 thread safety 한지?
shine_ing | 2017.03.24 15:31 신고 | PERMALINK | EDIT/DEL
아마 문제없을 것 같습니다~ 해보시고 댓글부탁드릴게요~
PDK | 2017.03.28 15:47 신고 | PERMALINK | EDIT/DEL | REPLY
복합어 분석이 가능한 코모란 3.0을 파이썬에서 사용하고 싶은데, 어떻게 안 될까요...
shine_ing | 2017.03.30 11:07 신고 | PERMALINK | EDIT/DEL
댓글이 늦어졌네요. 복합어 분석이 가능하다는 말씀이 사과나무 -> 사과+나무 이런 형태를 말씀하시는 건가요? 일단 해당 내용을 한번 고민해보겠습니다! 쉽지 않은 문제여서요.. 그리고 3.0을 파이썬에서 사용할 수 있도록 빠른 시간 내에 작업하겠습니다!
STEVE | 2017.07.03 15:24 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요. 코모란3.0을 git에서 받아 코드 분석하면서 스터디 중입니다.
빌드 하면서 코드를 하나씩 쫓아가다 보니 AhoCorasickDictionary<> 부분은 코드를 열어볼 수 없는데, 알고리즘 구현 후 별도로 관리되는 부분인지요?
그리고 models_full 리소스 안의 model 파일은 어떻게 만들어진 것인지 문의 드려도 될까요?
아무것도 모르고 코드만 쫓아서 보려다 보니 바로 막히는 것이 있어 문의 드립니다.
답변이 힘드신 내용이라면, 궃이 답신 없으셔도 됩니다.
잘 보고 있으며, 코드 공개해 주신점 정말 감사합니다.
shine_ing | 2017.07.03 17:11 신고 | PERMALINK | EDIT/DEL
안녕하세요. Ahocorasick 부분은 https://github.com/shineware/aho-corasick 에 구현되어 있습니다.

models_full 부분은 ModelBuilder라는 클래스를 찾아서 보시면 어떻게 바이너리 파일이 만들어졌는지 확인하실 수 있습니다.

관련되서 문의 사항이 있으시면 언제든지 문의부탁드립니다! 감사합니다.
LSH | 2017.07.11 19:47 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요 KOMORAN 3.0 유용하게 잘 사용하고 있습니다.
관련해서 여쭤보고 싶은것이 있는데 2.4버전에서 지원하던
n-best 분석결과는 3.0에서 지원하지 않는지 여쭤보고 싶습니다.
또한 analzeTextfile 을 이용할 때 inputfilename에 들어가는 textfile의 경로를
어디에 위치해야하는지도 궁금합니다.
바쁘시겠지만 답변 부탁드리겠습니다. 감사합니다!
shine_ing | 2017.07.15 01:18 신고 | PERMALINK | EDIT/DEL
댓글이 늦었습니다. 죄송합니다.
3.0 버전에서는 현재 n-best 결과를 지원하지 않고 있습니다. 추후 버전에 n-best 결과를 지원할 수 있도록 하겠습니다. 더불어 analyzeTextfile을 이용하실 때 경로는 원하시는 곳에 파일을 위치시킨 후 그 파일의 경로를 inputfilename으로 지정해주시면 됩니다. 감사합니다.
LSH | 2017.07.31 16:34 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요 친절한 답변 감사드립니다.
다름이 아니라 현재 코모란 3.0 beta 버전의 정확성이 대략 어느정도인지를 알 수 있을까요?
그리고 training과 tunning 의 개념이 무엇인지 궁금합니다.
| 2017.11.08 11:34 | PERMALINK | EDIT/DEL | REPLY
비밀댓글입니다
Name
Password
Homepage
Secret
2014.12.26 13:27

한국어 형태소 분석기 KOMORAN 2.4의 파이썬 버전을 릴리즈 하였습니다.


Jpype를 이용하여 기존 komoran 라이브러리들을 python3에서 사용할 수 있습니다.


소스 코드는 아래 url에서 확인하실 수 있습니다.


https://github.com/shineware/komoranPy_2.0



저작자 표시 비영리 변경 금지
신고
webnautes | 2015.04.18 13:11 신고 | PERMALINK | EDIT/DEL | REPLY
파이썬 2.x에서 태스트해봤는데 잘 동작합니다.. 공개해주셔서 갑사합니다~
shine_ing | 2015.05.08 13:50 신고 | PERMALINK | EDIT/DEL
사용하시다가 불편한점 있으시면 꼭 알려주세요^^
ykhfree | 2015.05.07 22:01 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요^^ 혹시 루씬용 분석기는 개발 중이신지요?
shine_ing | 2015.05.08 13:52 신고 | PERMALINK | EDIT/DEL
우선순위를 두고 계획중이였습니다만..개인적인 일들이 너무 많아서 그동안 개발을 못하고 있었습니다..ㅠ최대한 빨리 개발하도록 하겠습니다!
가판이 | 2015.10.20 17:27 신고 | PERMALINK | EDIT/DEL | REPLY
검색하면서 타고타고 들어오다보니 좋은곳을 발견!

더 충격적인 사실은 D사의 입사동기였다는 ㅋㅋ

잘쓸게요~ㅋㅋㅋ
shine_ing | 2015.11.11 21:24 신고 | PERMALINK | EDIT/DEL
엇 그렇다면.. 현재는 N사에 계시는 그 분이신가요?! ㅎㅎ
궁금해요 | 2016.11.28 16:05 신고 | PERMALINK | EDIT/DEL | REPLY
KoNLPy의 komoran을 잘 쓰고 있습니다. 늘 감사드립니다.

KoNLPy에서 사용자 사전을 추가하고, 이를 바탕으로 분석하도록 설정하려면 어떻게 해야 하는지 궁금합니다.

이와 관련된 python script를 어떻게 해야 하는지 알려주시면 진심으로 감사하겠습니다.
shine_ing | 2016.12.09 11:13 신고 | PERMALINK | EDIT/DEL
답변이 늦어졌네요. 죄송합니다.

KoNLPy에서는 사용자 사전에 대한 핸들링 기능이 없는 것으로 알고 있습니다.

사용자 사전을 적용하시려면 komoranpy를 사용하시길 추천드립니다.. 물론 소스가 깨끗하진 않습니다 ㅠ
Name
Password
Homepage
Secret
2014.12.08 02:36

자바 형태소 분석기 KOMORAN-2.0을 Apache License 2.0으로 공개합니다.

개발실력이 미천하여 이번에도 부끄러운 마음을 갖고 공개하였습니다. 

많은 채찍질과 도움으로 자연어처리 비전공자분들도 다양하게 활용할 수 있기를 희망합니다. 

아래 링크에서 소스코드를 다운 받으실 수 있습니다.

https://github.com/shineware/komoran-2.0


왜 갑자기 공개하나요?

- 저는 이제 3.0을 만들겁니다....?! 응?!?!


이제 개발실력이 다 들통났으니 어떻게 먹고 사실건가요?

- 사실 저도 걱정입니다. 대단한 알고리즘이 들어간것도 아니고 그렇다고 소스를 기가 막히게 짜놓은 것도 아닌데.. 이렇게 공개해버리면 제 실력만 들통나서..하....



사실 대단한걸 오픈한건 아닙니다만, 제 개인적으로는 2년여 간의 연구와 노력의 산물입니다.

형태소 분석 성능은 사실 비슷합니다. 그러나 저는 정말로 유연하고 실제 필드에 적합한 형태소 분석기가 나오기를 원했습니다. 그러나 대부분의 형태소 분석기는 지금도 "성능"만을 위해서 연구되고 있는 실정입니다. 기다리다 못해 만들어보기 시작하였고 그 결과 2년 이라는 시간이 흘러 지금 이 글을 쓰고 있습니다. 


제가 만들고자 하는 형태소 분석기의 목표는 이뤘습니다. 그렇기 때문에 오픈 소스로 공개하고 다양한 사람들의 참여로 인해 진화하였으면 하는 바램에서 이렇게 공개하게 되었습니다. 저 스스로도 2.0을 뛰어넘는 3.0을 만들기 위해 연구를 계속이어 갈 예정입니다. 앞으로도 지속적인 관심과 채찍질 부탁드리겠습니다. 감사합니다.


마지막으로 라이센스 비용과 관련하여 문의 주셨던 분들께는 라이센스 정책 변경과 관련된 메일을 일일이 드리지 못하였습니다. 양해부탁드립니다. 

저작자 표시 비영리 변경 금지
신고
CharSyam | 2014.12.08 17:18 신고 | PERMALINK | EDIT/DEL | REPLY
대왕박수를 드립니다. 짝짝짝 감사합니다.
shine_ing | 2014.12.10 13:36 신고 | PERMALINK | EDIT/DEL
감사합니다. 아직 실력이 많이 부족합니다만 계속 발전시키도록 하겠습니다.
origoni | 2014.12.08 19:17 신고 | PERMALINK | EDIT/DEL | REPLY
정말정말 감사합니다!! 미약하지만 코드에 도움이 되어보도록 노력하겠습니다!!!!
shine_ing | 2014.12.10 13:37 신고 | PERMALINK | EDIT/DEL
제가 진심으로 감사드립니다^^; 소스를 보셨으면 아시겠지만 아직 실력이 많이 부족합니다. 저도 더 노력해서 좋은 엔진 만들겠습니다!
tuning-java | 2015.01.22 23:11 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요?
프로그램을 오픈소스로 만들어 주셔서 감사합니다.
다름이 아니라 제가 이 코드를 사용하여 간단한 앱을 만들고 있는데,
메모리 이슈 및 로딩 시간이 많이 걸리는 이슈가 있어 리펙토링 / 튜닝을 하려는데
shineware-common-2.0.jar 및 shineware-ds-1.0.jar 라이브러리 소스가 없으면 거의 손을 댈 수가 없는 상황이네요.
혹시 두개의 추가 라이브러리를 오픈할 계획은 없으신지 조심스럽게 여쭤 봅니다. ^^;
shine_ing | 2015.01.22 09:14 신고 | PERMALINK | EDIT/DEL
안녀하세요! 리펙토링을 해주신다는데 공개를 꺼릴이유가 없죠~ ㅎㅎ 내일까지 github에 올려놓도록 하겠습니다^^ 소스가 더러운건 함정입니다...ㅠ
tuning-java | 2015.01.22 23:13 신고 | PERMALINK | EDIT/DEL
감사합니다.
천천히 올려주셔도 됩니다.

제가 Github을 잘 못쓰는게 함정입니다.
공부해 가면서 해 보져 ~~~
shine_ing | 2015.01.22 23:20 신고 | PERMALINK | EDIT/DEL
제가 지금 보고 있는 책에 저자이실줄이야..ㅎㄷㄷ하네요..책에 나온대로 코딩안했다고 혼날것 같은 기분이네요ㅎㅎㅎgithub에도 올리고 이곳에도 올리겠습니다^^ 소중한댓글 감사드립니다~
shine_ing | 2015.01.24 02:28 신고 | PERMALINK | EDIT/DEL
말씀하신 라이브러리들을 아래 github에 올려두었습니다^^
https://github.com/shineware/DS_Library
https://github.com/shineware/common_library
tuning-java | 2015.01.25 07:40 신고 | PERMALINK | EDIT/DEL
ㅋㅋㅋ 네
(저자라고 뭐 별거 있나요? )
이제 보고 있는데 책에 나온대로 코딩 안했다고 혼내겠습니까? ㅎㅎ
좋은 코드 공유 감사합니다.

좋은 하루 되세요.
shine_ing | 2015.01.27 14:16 신고 | PERMALINK | EDIT/DEL
보잘 것 없는 코드로 눈을 오염시켜드리는 것 같아서 죄송하네요 -ㅁ-
죽어가는 코드에 새생명을 불어넣어주신다니 진심으로 감사드립니다! ㅎ
| 2015.01.28 13:10 | PERMALINK | EDIT/DEL | REPLY
비밀댓글입니다
eizt | 2015.03.13 18:42 신고 | PERMALINK | EDIT/DEL | REPLY
감사합니다
ssssslow | 2015.05.26 23:59 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요.
git을 이클립스에서 받아서 실행시켜 보려 했는데,,, 도무지 방법을 모르겠습니다.
KOMORAN_2.0_beta 를 import 시킨 후, 다음 과정이 어떻게 되나요??
what? | 2015.05.28 09:30 신고 | PERMALINK | EDIT/DEL
실행파일이 아니라 프로그램 소스인데요..
LEE | 2015.08.04 16:05 신고 | PERMALINK | EDIT/DEL | REPLY
우와~!
지금 자바소스 분석하는중인데 감탄밖에 안나와네요~
(이 많은걸 해내셨다는점과 이걸 공개하기로 결심했다는 점에서)

또 NLP를 공부하는 학생입장으로서 이렇게 좋은 학습예제를 쉽게 공개해 주신점에서
매우 감사합니다!

지금 JAVA는 처음보는거라서 여러가지 해매가며
해당 코드 내용들을 C#으로 재코딩하고 있는데
몇가지 궁금한점이 있네요.

제가 이해하기론 입력받은 문장을 형태소 단위로 분리해서
사전에서 찾아가며 모든 가능한 경우의 수를 추출하고 ("감기는"을 "감", "기", "감기", "는")
여기에 미리 학습시켜논 HMM을 이용해 가장 확률이 높은 형태소를 출력하는걸로 알고있습니다만.....

이 사전데이터는 어디서 구하셨나요?
아직 완전히 파악한건 아니지만 각 형태소별로 "이게 무슨 형태소이다!" 라는 정보까지 저장되있는게
50MB넘게 있는걸로 보이는데 (Trie구조 썼다해도 상당히 많은양의 데이터라 생각됩니다만...)
아무리 찾아봐도 이정도로 양질의 데이터는 않보이네요......

특히 HMM학습시킨 데이터의경우 제 생각엔 문장단위로 모든 형태소를 나눠놓은 데이터들도 엄청많이 필요할꺼 같은데 이걸 직접하셨다면...... 감탄사밖에 안나오네요..... (대단하십니다.....)

또 한가지 궁금한것은
NF
NV
NA
이 세가지는 어떻게 추측하는건가요? 이것도 학습데이터로 구현한건가요?
shine_ing | 2015.08.05 17:46 신고 | PERMALINK | EDIT/DEL
많이 창피하네요;; 분석까지 하실 줄은 ㅠ..
일단 엄청 많은 양의 사전 데이터 및 학습데이터는 세종코퍼스를 이용하였습니다.
그리고 NA의 경우에는 미분석인 경우에 대해서만 출력하게 되는 품사이고,
나머지 NF와 NV는 학습에 기반되어 있습니다.
이 부분에 대해서 추후 버전에서 많은 노력을 들일 예정입니다 :)
마지막으로 C#으로 코딩하시면 저도 좀 알려주세요 ㅠㅠ
LEE | 2015.08.08 01:25 신고 | PERMALINK | EDIT/DEL
창피하다는 말이 겸손인줄 알았지만 실제 뜯어보니 겸손이 아니란걸 깨달았습니다....(하하하.....)

그래도 어찌어찌 분석은 하고있는데 정말.... 약오릅니다....

전체적인 구조를 일단 살펴보고
일단 trie구조를 살펴보는데
1단부터가 2000개가 넘는 노드가 있고 다 특수문자 아니면 한자길레
"이게 뭥미?" 하는 느낌으로 "이클립스가 UTF-8 지원 안하나?"같은 정 다른길로 찾아보다가 대략 200번 근처에 에있는 한글 자음들을 발견......... 한글 글자 유니코드범위가 44031에서 55204, 한글 자모 유니코드 범위가 12592에서 12687 범위안에만 있으니 해당사항 없는건 검색 안하는게 더 좋지 않을까? 살며시 제안해 봅니다.....

그나저나 한가지 또 궁금한 부분이
이 사전에서 "개"를 검색했을때
[first=13, second=-3.7723501034284803]
[first=21, second=-1.8425814442300394]
[first=38, second=-4.258758302238106]]
가 같이 나오는데 first는 태그 second는 HMM에 사용하는것 같은데
어떤구조인지 잘 모르겠네요.... ㅜㅠ
second에 대한 설명좀 해주세요.

(참고로 제가 C#으로 만든것은 임시적으로 자연어 처리랑 전혀 상관없어보이는 "라즈베리파이카페"에 올리고 있습니다. 조언자분들이 좀 있어서 이쪽에 연재식으로 올리고 있습니다.ㅎ)
shine_ing | 2015.08.08 02:14 신고 | PERMALINK | EDIT/DEL
일단 자세히 봐주셔서 감사하네요ㅎㅎ일단 트라이는 어떻게 확인하신건가요? 파일을 보신거라면 바이너리화 되어있어서 그렇게 보일 수 있을 것 같은데요..메모리를 보신거라면 2000개 이상의 노드를 갖는 depth는 안보이네요..이 부분에 대해서 저도 자세한 피드백을 얻고 개선을 할 필요가 생기면 좋겠습니다!ㅎㅎ그리고 second 값은 관측 확률값에 로그를 씌운것입니다. 이 부분은 글로 설명드리기에는 조금 난해한 부분이 있네요..ㅠfirst값은 품사의 아이디를 나타냅니다. 도움이 되셨을지 모르겠네요. 저도 다시한번 쭉 보고 이상한점이 있으면 말씀드리겠습니다
LEE | 2015.08.08 09:45 신고 | PERMALINK | EDIT/DEL
사전은 메모리에서 추출했습니다. (함수를 통채로 저장한걸 본 시점에서 모델파일 추출은 포기했습니다....ㅎ)
(full버전 모델을 써서 그런지 사전(observation)의 첫단부터 2000개가 넘는 노드가 있더군요.)
오리지널코드정의중 몇개를 public으로 바꾸고 빼오며 50메가 조금 안되는 텍스트 파일로 추출해서 쓰고있습니다 ㅎ (자모가 분리된상태로)

참고로 이 사전을 불러오는데 윈도우 환경의 C#이라 그런지 불러오는 시간이 30초정도로 줄었습니다.(Java는 대략 1분20초정도 걸리더군요....) 메모리는 현재 200메가정도 점유중!

그리고 second말입니다만..... 확실히 기계학습은 언어로 설명하기엔 너무 추상적이긴 하네요..... 일단 가능한 소스를 보며 최대한 파악해보도록 하겠습니닷~!
shine_ing | 2015.08.08 10:36 신고 | PERMALINK | EDIT/DEL
2000개 노드 확인했습니다 ㅎㅎㅎㅎ한글 유니코드 범위만 트라이로 들고 있으면 한글에 대해서만 형태소 분석이 가능하게 되어 추후 한국어 뿐만이 아닌 영어, 일본어, 중국어에도 가능한 general한 형태소 분석기로 확장하기가 어렵겠다는 판단을 하여 별도의 처리를 하지 않았습니다. 말씀하신대로 한글, 숫자 등을 분리하여 별도로 처리한다면 한글 분석 시에는 더 빠르고 더 나은 성능을 보일 수 있을 것입니다. 말씀해주신 내용에 대해서 한번 심도있게 고민해보겠습니다 ㅎㅎ 감사합니다! 혹시 또 관련된 문의 사항이나 내용 있으시면 알려주세요! 다 완성하셔도 알려주세요! ㅎㅎ
shine_ing | 2015.08.08 10:59 신고 | PERMALINK | EDIT/DEL
아 더불어서 메모리 같은 경우에는 충분히 줄이실 수 있으실겁니다. 품사 정보를 갖고있는 int를 char형이나 byte형태로만 바꿔도 확줄어들 거에요.ㅎㅎㅎ 아 그리고 full버전 보다는 light버전의 리소스 사용을 권장드립니다..full버전은 용량 대비 성능 향상 폭이 미미합니다..
LEE | 2015.08.08 12:38 신고 | PERMALINK | EDIT/DEL
이미 byte사용중이라....ㅠㅠ
아마 더 메모리를 줄일려면 char를 다른걸로 바꿔야 하는데 (C#은 char가 16비트공간 할당.....) 이걸 바꾸기보단 사전데이터를 줄이는쪽으로 가야겠습니다. (라이트버전으로!)
(나중에 한가하면 한글 자모만 사전데이터로 byte형식으로 저장하면 계산상으론 30~50메가까지 줄일수는 있는데 이건 나중에 완성하고나서 고민해도 늦지 않겠죠 ㅎㅎ)
LEE | 2015.08.08 12:42 신고 | PERMALINK | EDIT/DEL | REPLY
그나저나 티스토리는 댓글 수정을 못하네요........
(잘못썼는데 지우지못하는 흑역사....)
(어색한 표현은 분위기로 넘어갑시다!)
(비밀번호는 맞게 썼는데 내부 오류라면서 안지워지네요....)
shine_ing | 2015.08.08 12:48 신고 | PERMALINK | EDIT/DEL | REPLY
ㅎㅎㅎ완성하시면 꼭 알려주세요!ㅎㅎ
LEE | 2015.08.11 02:15 신고 | PERMALINK | EDIT/DEL | REPLY
으아아아..... 코드분석이 너무 힘듭니다..... 일단 제가 이해한대로 정리해볼테니 틀린거 있으면 좀 알려주세요!
(현재 코드를 그대로 구현하기보다는 코드를 이해한뒤 더 간단하게 C#코드를 짜는방법으로 가고있습니다.)

1. 모든 사전 (불규칙, 일반(Observation), PosID테이블, 전이 확률 상수들) 로딩
2. (analyze함수 기준) 입력받은 문장을 "사용자사전, 비한국어, 불규칙 확장, 일반,불규칙"순으로 검색해 Lattice에다가 저장(단 저장하면서 함수에 확률값의 합도 같이 저장)(불규칙 확장파싱은 중간에 Transition에서의 정보를 활용하던데 이게 어떤의미를 가지는지 모르겠네요.)
3. Lattice에서 가장 확률이 높은 집합을 출력

일단 제가 이해한것은 여기까지 입니다.
그리고 불규칙 확장에 대해서는 완전히 이해한것 같지 않네요.....

"가버리" 라는 단어가 포함하는 정보는 2가지로
ㅂㅓㄹㅣ 42 42 -6.172016302802016 {ㄱㅏ 42} {ㅇㅏ 2} {ㅂㅓㄹㅣ 42} ㄱㅏ/VX ㅇㅏ/EC ㅂㅓㄹㅣ
ㅂㅓㄹㅣ 38 42 -6.092817879878462 {ㄱㅏ 38} {ㅇㅏ 2} {ㅂㅓㄹㅣ 42} ㄱㅏ/VV ㅇㅏ/EC ㅂㅓㄹㅣ
(lastMorph firstPosId lastPosId innerScore irrNodeTokens{fisrt, second} morphFormat 순서)
입니다. 제 추측으론 순서대로
"어미", "어간의 문장성분", "어미의 문장성분", "이 단어의 확률상수", {이 단어를 쪼갠 성분들}, 출력 편하게 할려고 미리 구성한것들?
인데 맞나요?

여기까지중에 제가 잘못알고있는게 있다면 지적좀 해주세요.... (사실 보고도 햇갈리는 상황....)
그리고 불규칙확장파싱?(irregularExpandParsing)와 불규칙파싱(irregularParsing)의 차이점좀 알려주세요...
(불규칙확장파싱은 observation 사전 가지고 탐색하던데 정작 무얼하는지는 짐작이 안가네요....)


참고로 현재 진행상황은 이제서야 사전데이터 입력및 저장을 마친상태입니다.....
라이트버전 기준으로 램은 40메가정도 먹고 로딩시간은 제 노트북 기준 6초정도 되네요.
오리지널버전에 비해선 둔하지만 데이터를 통째로 저장해놓은것이 아닌 눈에보기 좋은 형태로 저장한걸 불러오는거라 시간걸리는건 감수할려고 합니다. (위의 "가버리"를 저런형태로 저장시켜놨습니다. 원본은 1메가도 안되는데 변환하니 5메가가 조금 넘어가네요 ㅎㅎ) (참고로 위는 싱글스레드 기준이고 불러올때 멀티스레드도 지원하는데 스레드 4개정도로 하면 2초정도로 오리지널 반응속도랑 비슷합니다.)(참고로 별로 의도한건 아니지만 C#의 멀티스레드함수가 JAVA보다 간단하고 확장성이 좋더군요. 단어 분석할때 멀티스레드로 진행 가능할것 같습니다.)
shine_ing | 2015.08.11 02:20 신고 | PERMALINK | EDIT/DEL
저도 다시 분석하기 귀찮아서 3.0으로 업데이트를 할거라능....?!
불규칙 확장에 대한 부분은 진짜 글로 설명하기 매우 어려운 부분들이 있네요.
안그래도 이 부분에 대해서 조금 더 명확하게 설명할 수 없을까 고민했던 부분인데요. 조만간 정리해서 올리도록 할게요! 아니면 직접 만나 뵙고 설명을 드릴수도....
그 외적으로 분석하신 부분들은 모두 맞습니다! ㅎㅎ
LEE | 2015.08.12 01:02 신고 | PERMALINK | EDIT/DEL
오~! 틀린방향으로 가고있지는 않았군요!

그리고 3.0!!?! 기대되는군요! (문장성분간의 호응관계기능이라도 추가되나요? ㅎㅎ)(성능개선이 주축이라 생각되지만 위의 기능 있으면 활용도가 엄청 높아질꺼 같네요.)

불규칙확장은 아마 직접 구상해서 구현하신것 같은데 설명해주시기 어렵다면 이 "불규칙확장파싱"이 큰 활약을 하게되는 문장좀 알려주세요. Lattice내부 데이터가 디버깅으로 한눈에 보기는 힘들어서 현재 각 파싱결과가 어떤건지 파악도 제대로 못하고 있습니다....
불규칙확장파싱이 잘 활용되는 문장이 있으면 이것의 역할을 이해하는데 도움이 될것 같네요.

(이건 그냥 추측인데 혹시 이것이 Observation사전에서 형태는 같으나 다의적 혹은 동음이의어적 관계에있는 언어를 골라내는것과 관련있나요?)
shine_ing | 2015.08.13 00:46 신고 | PERMALINK | EDIT/DEL
"찾아와도"의 경우 "찾아와"가 "찾아오아"의 형태로 변환됩니다. 이 상태로 분석을 진행하게 되면 "찾아오+아+도"의 형태가 됩니다. 이때 불규칙확장 모듈을 통해서 실제 올바른 분석 결과인 "찾아오+아도"의 형태로 가능하게 됩니다. 쉽게 말하면 불규칙변환이 된 후 마지막 형태소가 다음 형태소와 결합이 가능한지 체크합니다.
"찾아와도"에 대해서 분석을 해보시면 조금 도움이 되실지 모르겠네요..ㅠ

아 더불어 3.0은 속도 개선이 주 목적입니다 ㅎㅎ.. 문장성분간의 관계기능은 형태소 분석기의 기능이 아니라서... 형태소 분석된 결과를 토대로 뭔가 해야되는 작업이라..ㅠㅠ빨리 형태소 분석기부터 잘 만들어야겠네요. ㅠ
LEE | 2015.08.13 20:24 신고 | PERMALINK | EDIT/DEL
오! 감사합니다!
그 말하나로 이것이 무엇을 위한것인지 명쾌하게 파악이 됬네요!
말그대로 불규칙활용된 문장에서 "축약"된걸 "확장"하는군요!ㅋㅋ

observation 사전에서 어떻게 그 정보를 찾는지는 아직 감도 안잡히지만, 그걸 또 알아내는게 삽질의 재미죠 ㅎㅎ
(이 코드는 보면 볼수록 놀라움의 연속입니다!)
(이 코드 분석 한번으로 대학에서 지금까지 배운 모든것에대한 꺠우침을 얻는 느낌입니다! trie구조부터 시작해서 말이죠)

그리고 문장성분간의 관계기능은 사실 저의 목적입니다 ㅎㅎ
라즈베리파이라는 개발보드를 활용해 할만한게 없을까?
고민하던차에 "서버와 대화를 하면서 명령을 내리면 재미있겠네~"
라는 심정으로 시작한 프로젝트죠!

저 혼자쓰고 말아도 되긴하지만 범용성을 생각하면 많은사람이 기능을 추가할수있는 오픈소스형태가 좋을꺼라 생각, 현재 한국어 명령문을 제3의 컴퓨터가 이해할만한 언어로 바꾸기위해 그 첫번째로 형태소 분석기를 리버스 엔지니어링 해보는거죠. (지금 시간 날때마다 이 제3의 언어에대한 정의를 내려가면서 코모란도 C#으로 포팅하고 있습니다.)

나중에 공개할만큼 코드가 완성되면 그때는 조언 부탁드리겠습니다 ㅎ.
(C#모르는사람도 보면 이해할만큼 주석 왕창달고있습니다. 아무레도 코딩은 자기 취향대로 해버리는 버릇때문에 남이보면 이해하기 어려우니깐요)
shine_ing | 2015.08.14 01:22 신고 | PERMALINK | EDIT/DEL
꼭! 오픈 소스로 잘 활용되었으면 좋겠네요! 제가 도움이 될지는 모르겠지만 도움이 필요하시다면 언제든지 찾아주세요! 물론 소스를 직접 개선해주시면 더욱 좋지만요 ㅎㅎ C# 버전의 코모란도 기대하겠습니다! 덕분에 좋은 개선책을 많이 얻어갑니다 :)
LEE | 2015.08.26 00:08 신고 | PERMALINK | EDIT/DEL | REPLY
으.... 점점 일상이 다가와지면서 이걸 끝내기가 힘들어지네요 ㅎㅎ.....

일단 현재 Lattice를나 사전검색이나 기존의 Komoran을 따라가지 않고 저만의 방식으로 새롭게 구현해버렸습니다 ㅎㅎ.... 그래도 최종적으로 확률계산하는건 같으니 이경우 결과적으로 하는작업은 같지만 목적을 향해 가는 길이 다른형태가 되버린거 같네요.
(사실 Lattice의 구조나 기존 함수가 정확히 어떻게 작동하는지 이해못해서 이렇게 된거지만요....ㅎ)

그래도 어찌어찌 저만의 Lattice에 불규칙 활용된 문장이나 일반 명사같은 모든 경우의 수를 넣고 사전에 단어가 있는경우 Komoran과 똑같은 출력물을 내놓는것에는 성공했습니다만....

사전에 없는 단어의 경우 아주 결과를 내놓지를 못하고
"가나다라마바사아자차카차"같은경우 Komoran은 바로 답을 내놓는 반면 제꺼는 모든 경우의수를 생각하느라 거의 시간단위로걸리는 문제점도 있네요.....

쩝..... 열심히 노력하고 있습니다만 확실히 어렵네요.

그래서 염치를 불구하고 몇가지 질문좀 하겠습니다.......(komoran 코드분석은 이미 한계인것 같습니다....)
1. 띄어쓰기는 어떻게 처리하나요? 기분석사전이나 사용자사전은 미리 탐색해서 빼버린다 치고 나머지는 단어단위로 형태소를 분석하는건가요? (제가 테스트해본것중 띄어쓰기를 해서 문장단위로 분석시킨거랑 어절단위로 분석시킨거랑 차이가 없어보이기는 합니다만 혹시나해서 질문합니다.)
2. "가나다라마바사아자차카차"의경우 모든 경우의수를 생각하지 않고 대부분은 고려조차하지 않는것 같은데 그 판단기준이 무엇인가요? (저도 속도좀 늘리고싶네요ㅎㅎ)
3. 마지막으로 "NF NV NA" 이 세가지는 어떻게 알아내나요?

짧은 글로 바로 설명할수있는 범주가 아니란건 어느정도 예상됩니다만.....
그래도 이 세가지는 좀 알고싶네요.

설명해주시기 곤란하시다면 영감을 받게된 논문이나 알고리즘정도만이라도 좀 소개해주세요.
이부분에서 꽉막혀서 더이상 진행을 못하고있네요 ㅠㅜ
(역시 대단하네요..... 이런 딜레마들을 뚫고 형태소 분석기들을 만드신분들이 존경스러워집니다.)
shine_ing | 2015.08.26 01:50 신고 | PERMALINK | EDIT/DEL | REPLY
1. 일단 띄어쓰기 처리라는 것이 정확히 어떤 것을 말씀하시는 건지 조금 모호하네요~ 공백이 포함된 하나의 형태소를 만드는 알고리즘을 말씀하시는 건가요? 아니면 자동 띄어쓰기를 말씀하시는건가요?
2. 음 이 부분은 비터비 알고리즘을 통해서 해결하기 때문에 아무래도 시간 단위로 걸리지는 않을 것 같아요. 특별히 속도를 개선하기 위해서 엄청난 알고리즘을 쓰진 않았습니다 ^^;; 속도를 올리기 위해서 3.0 버전에서 엄청난 알고리즘을 쓰고 싶어하고 있습니다 -ㅁ-;
3. NA는 내부 알고리즘을 통해서 분석이 불가능한 경우에 한해서만 출력을 합니다. 나머지 NF, NV는 전에 말씀드린 것처럼 학습 코퍼스 내부에 태그 형태로 이미 존재하기 때문에 다른 품사들과 동일한 알고리즘을 통합니다.

아무래도 이번 답변은 큰 도움이 되지 못 할 것 같네요 ㅠ
LEE | 2015.08.26 18:38 신고 | PERMALINK | EDIT/DEL
이번답변은 이미 제게 큰 도움이 된거 같네요 ㅎㅎ
2. 저는 누적확률이 0인곳도 계산하려고해서 경우의수가 지수배수적으로 증가, 컴퓨터가 처리하기 어려운지경까지 가버렸네요...ㄷㄷ...
(으...... 직접 올려주신 HMM에대한 설명글도 읽었는데도 이런 간단한걸 놓칠줄이야.... 역시 직접 경험해보지 않으면 중요성을 못느끼는 모양입니다.)

1. 띄어쓰기의경우 전후 문맥에따라 어절이 달라지는경우는 어떻게 체크하는가? 에대한 질문이었습니다. 사실 이런경우에 해당되는 문장이 생각나질 않아서 테스트는 못해보고 있는데 일단 저는 현재 각 어절단위로만 분석을 행하고 있는데 이게 옳은건지는 모르겠네요.
("나는 프로그래밍을 한다"에서 "나는"분석하고, "프로그래밍을"분석하고 "한다"분석하는 식으로)
3. NA는.... 실수로 적어버렸네요. NF,NV의 경우 그냥 Lattice안에다가 NF일 경우랑 NV일 경우를 넣어주는걸로 행하는건가요? (이럴경우 어찌됬든 둘중 하나로 확률은 나올텐데 NA는 또 어떻게 내놓는지가 궁금해지지만 정상적인 문장이라면 어지간해서는 NA가 않나오니 나중에 생각해보도록 하겠습니다 ㅎ)
kim | 2015.10.12 05:46 신고 | PERMALINK | EDIT/DEL | REPLY
소스 잘보겠습니다. 갑사합니다.
정말 마음가지심도 대단하신것같습니다.
jeong | 2015.11.11 20:36 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요 코모란을 알고 이용해보고 있습니다. 코모란을 이용해서 대학교 졸업 프로젝트를 하고 있는데요. 사용하던 도중에 oracle같은 dbms에 넣어서 활용할수 있는 방법이 있을지 한번 여쭤보고 싶습니다. observation.model 파일로 그안에서 위키에서 추출한 데이터를 탐색하는 걸로 알고있는데 이를 컴파일해보니 시간이 오래걸려서 혹시 차라리 dbms안에 observation.model 내부 데이터를 넣어서 활용하면 빨라지지 않을까 해서 여쭤보게 되었습니다. 답변 해주시면 감사합니다
shine_ing | 2015.11.11 21:22 신고 | PERMALINK | EDIT/DEL
먼저 코모란에 관심을 가져주셔서 진심으로 감사드립니다. 해당 observation은 단순히 데이터의 저장 뿐만이 아니라 분석 속도 향상을 위해서 트리 형태의 자료 구조로 되어 있습니다(TRIE). 그러나 dbms를 사용한 결과와 비교실험을 한 적은 없었습니다. 가능하다면 말씀하신 내용을 이용하여 추후 결과를 비교하도록 하겠습니다. 감사합니다.
모군 | 2016.03.14 10:30 신고 | PERMALINK | EDIT/DEL | REPLY
공개 감사합니다.
재난관련 빅데이터 논문중 형태소 분석이 필요했는데 잘 쓰도록 하겠습니다
| 2016.03.22 14:01 | PERMALINK | EDIT/DEL | REPLY
비밀댓글입니다
shine_ing | 2016.03.22 16:52 신고 | PERMALINK | EDIT/DEL
물론 가능합니다!

메뉴얼을 바꿔야되는데 귀차니즘으로 인해 바꾸고 있질 못하네요..ㅠ

걱정 안 하시고 쓰셔도 됩니다~

사용하시다가 불편한 점은 피드백 부탁드립니다
밀래 | 2016.12.13 21:33 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요. 라이센스에 관련해서 문의드릴 사항이 있습니다.
라이센스가 아파치 2.0으로 변경 이후 기존에 있던 3년미만 10명이하 사업장에게만 무료 공개 조항은 그대로 인가요?
shine_ing | 2016.12.13 22:20 신고 | PERMALINK | EDIT/DEL
아닙니다. 제약없이 사용하실 수 있습니다.
Name
Password
Homepage
Secret
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.11.06 01:14

자바로 만든 영어 형태소 분석기를 공개합니다.


이름은 EN-POSTA (ENglish POS TAgger) 입니다. 


자체 동작 테스트는 완료하였습니다.


아직 안정화 단계에 접어들기 위해선 많은 피드백들이 반영되어야 할 것으로 보입니다. 

사용하시다가 불편하신 점이나 이상하다고 느껴지시는 부분에 대해서 알려주시면 바로 반영할 수 있도록 하겠습니다.




기본적인 사용법은 아래와 같습니다.

 

public static void main(String[] args) throws Exception {

       EnPosta posta = new EnPosta();

       posta.load("model");

       //사용자 사전 추가

       posta.appendUserDic("dic.user");

       posta.buildFailLink();

      

       List<String> resultList = posta.analyze("Launch a new institute at the University of Washington to conduct independent, rigorous evaluations of health programs worldwide.");

       for (String result : resultList) {

             System.out.println(result);

       }

}

 

 

객체 생성 후 data file 경로를 지정하여 분석기에서 사용될 데이터들을 로딩합니다.

사용자 사전을 추가할 경우에는 appendUserDic 메소드를 통해 사용자 사전 파일을 추가합니다.

load 및 appendUserDic 단계가 끝나면 반드시 buildFailLink 메소드를 실행해줘야 합니다. 


사용사 사전의 구성은 아래와 같습니다.

■ 구조

◆ [단어]\t[품사]

◆ 시작 기호 '#'로 주석처리 가능

■ 예제

University of Washington NNP


위의 기본적인 사용법 예제와 같이 사용자 사전을 적용한 경우에는 아래와 같은 결과를 얻을 수 있습니다. 


Launch/NNP

a/DT

new/JJ

institute/NN

at/IN

the/DT

University of Washington/NNP

to/TO

conduct/VB

independent/JJ

,/,

rigorous/JJ

evaluations/NNS

of/IN

health/NN

programs/NNS

worldwide/NN

./.

 

사용자 사전을 적용하지 않는 경우에는 아래와 같은 결과를 얻을 수 있습니다. 

 Launch/NNP

a/DT

new/JJ

institute/NN

at/IN

the/DT

University/NNP

of/IN

Washington/NNP

to/TO

conduct/VB

independent/JJ

,/,

rigorous/JJ

evaluations/NNS

of/IN

health/NN

programs/NNS

worldwide/NN

./.

 


기본적으로 HMM을 사용하였으며 기존 영어 품사 태거와의 가장 큰 차이점은 사용자 사전을 통해 여러 어절로 구성된 고유 명사를 하나로 묶을 수 있다는 점입니다. (KOMORAN 2.0이 갖고 있는 특징이기도 합니다)


word 단위 accuracy는 96.47% 이며, 초당 1.3MB 정도 처리 가능합니다. 단 넉넉한(?) 메모리를 필요로 합니다. 


사용해보시고 피드백 많이 부탁드립니다. 감사합니다.


※ 문서가 너무 두서 없이 작성된 점에 대해서 죄송하다는 말씀을 드립니다. 안정화 시키는대로 최대한 빨리 다시 한번 위 내용을 정리하도록 하겠습니다.



저작자 표시 비영리 변경 금지
신고
김진오 | 2015.05.21 16:03 신고 | PERMALINK | EDIT/DEL | REPLY
라이센스정책은 어떻게 되나요??
shine_ing | 2015.05.22 10:13 신고 | PERMALINK | EDIT/DEL
몰론 아파치 2.0을 따르고 있습니다만, 안정화단계까지는 시간이 걸릴것 같습니다..ㅠ
염정완 | 2015.10.29 17:02 신고 | PERMALINK | EDIT/DEL | REPLY
동사의 원형을 가지고 올 수 는 없나요?
shine_ing | 2015.11.11 21:23 신고 | PERMALINK | EDIT/DEL
데이터가 있다면 동사의 원형을 가지고 오게끔 변형이 가능합니다만, 관련된 데이터를 구하기가 쉽지 않네요..죄송합니다..ㅠ
염정완 | 2015.11.30 15:57 신고 | PERMALINK | EDIT/DEL
아닙니다. 답변 감사드립니다.
김덕주 | 2016.03.31 05:14 신고 | PERMALINK | EDIT/DEL | REPLY
동사의 원형을 복원하고 싶은데 혹시 어떤 흐름으로 해야할지 좋은 아이디어 있으면 알 수 있을까요??
lynn | 2016.07.28 17:40 신고 | PERMALINK | EDIT/DEL
[한글 원형복원] 코모란의 결과를 input으로 받아 원형 복원 후처리하는 코드 공유해드립니다. 저도 원형복원 로직을 못 찾아서 연구에 쓰기 위해 그냥 제가 만들었습니다 파이썬이라 KomoranPy 결과와 연동됩니다

https://github.com/lynn-hong/ko_restoration
서정원 | 2016.10.02 01:19 신고 | PERMALINK | EDIT/DEL | REPLY
영어 버전 원형 복원은 없나요..?
Name
Password
Homepage
Secret
2014.09.29 20:46

KOMORAN 2.3




  • 주요 업데이트 내용
    • 불규칙 사전 정제
    • models-full에 포함된 단어 중 오분석을 유발할 수 있는 단어 정제

  • 버전 히스토리
    • [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 (자바 한국어 형태소 분석기))

    - 데모 사이트


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


저작자 표시 비영리 변경 금지
신고
lancif | 2014.10.02 15:37 신고 | PERMALINK | EDIT/DEL | REPLY
감사합니다! 요번 버전도 잘 쓸게요. ^^

버그 리포트 하나 더 합니다.

입력 : 어떠신지
출력 : 어떠/XR 신/NNG 이/VCP 지/EC
shine_ing | 2014.10.02 15:43 신고 | PERMALINK | EDIT/DEL
감사합니다.
매번 이렇게 피드백 주셔서 감사합니다!!
lancif | 2014.10.09 16:36 신고 | PERMALINK | EDIT/DEL | REPLY
버그 리포트할게요 ^^

"회신주시기 바랍니다"에서 따온건데요,

입력 : 회신주시기
출력 : 회/NNB 신주/NNG 시기/NNG

이렇게 나옵니다. 여기서, '주'가 동사로 뽑혔으면 하거든요.
입력했던 문장에 제대로 띄어쓰기를 해서 "회신 주시기"로 쓰면 제대로 됩니다.

감사합니다.
shine_ing | 2014.10.13 11:53 신고 | PERMALINK | EDIT/DEL
개인적인 일 때문에 답변이 늦었네요. 죄송합니다 ^^;;
리포팅하신 내용은 띄어쓰기가 올바르지 않아서 나타나는 문제인데, 사실 komoran에는 띄어쓰기 모듈이 들어있지 않습니다..ㅠㅠ 그래서 말씀하신 내용은 프로그램 측면에서 버그라기보다는 데이터 오류로 보여집니다만..말씀하신 내용들도 잘 처리를 해야겠죠! 조만간 띄어쓰기 모듈 추가해서 업데이트 하도록 하겠습니다! 항상 감사합니다!
lancif | 2014.10.15 10:54 신고 | PERMALINK | EDIT/DEL
감사합니다 ^^
Curycu | 2014.10.19 00:21 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요/ komoran 유저입니다 :) 요번에 코모란 및 여러 형태소 분석기들을 이용해서 텍스트마이닝 프로그램을 작성 중인데요, 코모란이 제공하는 메소드 중에서는 "추출된 형태소의 원문 내에서의 위치" 를 알려주는 메소드가 없는 것 같더라구요/ 내부적으로는 형태소 분석 시에 분명 사용되고 있는 정보일 듯 한데, 차후 업데이트에서 해당 정보를 제공하는 메소드를 추가해주실 수 있을까요?
shine_ing | 2014.10.19 01:17 신고 | PERMALINK | EDIT/DEL
분석된 형태소가 입력된 텍스트에서 몇번째위치인지 알려달라는 말씀이신가요? 만약에 맞다면 이 부분은 형태소분석기의 기능이 아니라서 조금 힘들것 같습니다^^;;
Curycu | 2014.10.19 02:01 신고 | PERMALINK | EDIT/DEL | REPLY
엇... 그렇군요 ㅠ.ㅠ 알겠습니다~
shine_ing | 2014.10.19 02:04 신고 | PERMALINK | EDIT/DEL
형태소 분석기를 쉽게 응용 및 적용 가능하게끔 라이브러리들을 개발 예정 중에 있습니다. 말씀해주신 피드백 성실히 반영하도록 하겠습니다! 감사합니다^^;
lancif | 2014.10.27 17:03 신고 | PERMALINK | EDIT/DEL | REPLY
버그 리포트 하나 할게요. ^^

입력: "가. 일정: 10/20"
출력: "가/VV 아/EF ./SF 일정/NNG :/SP 10/SN //SP 20/SN"

문제는 '가.'입니다. 목차를 표현하려고 쓰인 것인데, 동사가 뽑혀버렸습니다.
'나.', '라.' 에서도 같은 현상이 나타납니다.

Ambiguity 문제라 해결하기 어려울 수도 있겠지만, 일단은 리포팅해봅니다. ^^

매번 감사합니다!
shine_ing | 2014.10.27 18:11 신고 | PERMALINK | EDIT/DEL
매번 감사드립니다. 현재 영어 품사 태거를 만들고 있어서 코모란 업데이트가 지연되고 있네요..ㅠㅠ 조만간 빨리 반영하도록 하겠습니다!
lancif | 2014.10.28 09:45 신고 | PERMALINK | EDIT/DEL
감사합니다 ^^
lancif | 2014.10.30 10:21 신고 | PERMALINK | EDIT/DEL | REPLY
버그 리포팅 하나 더 할게요.

입력: "보내주셔요"
출력: "보/NNG 내주/NNG 시/VA 어요/EC"

입력: "주셔요"
출력: "주/NNG 시/VA 어요/EC"

피드백 매번 잘 반영해주셔서 감사합니다. ^^
shine_ing | 2014.11.04 18:14 신고 | PERMALINK | EDIT/DEL
감사합니다! 아마 금주 내로 업데이트 될 것 같습니다! 감사합니다!
정담 | 2014.11.04 18:13 신고 | PERMALINK | EDIT/DEL | REPLY
이쪽 분야는 전혀 몰라서 어떻게 할지 난감했는데
덕분에 수고를 많이 줄였습니다.
정말 큰 도움 되었습니다. 감사합니다.
^_^b
shine_ing | 2014.11.04 18:15 신고 | PERMALINK | EDIT/DEL
도움이 되었다니 다행이네요. 사용하시다가 불편하신 점이나 이상한 점은 망설이지 마시고 바로 알려주시면 적극 반영하겠습니다. 감사합니다!
Name
Password
Homepage
Secret
2014.09.12 10:21

KOMORAN 2.2


    • 주요 업데이트 내용
      • 일부 문장 분석 시 특정 로그가 출력되는 현상 제거
      • 형태소 분석 시 공백 포함/미포함 분석 기능 추가
        • 공백 포함 분석(2.2 이전 버전과 동일한 메소드 사용)
          • sample code
            • String in="바람과 함께 사라지다를 봤어.";            

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

          • 분석 결과

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

              보/VV+았/EP+어/EF+./SF

        • 공백 미포함 분석(2.2 버전 신규 메소드)

          • sample code

            • String in="바람과 함께 사라지다를 봤어.";            

              List<List<Pair<String,String>>> analyzeResultList = komoran.analyzeWithoutSpace(in);

          • 분석 결과

            • 바람/NNG+과/JC

              함께/MAG

              사라지/VV+다/EC+를/JKO

              보/VV+았/EP+어/EF+./SF

    • 버전 히스토리
      • [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 (자바 한국어 형태소 분석기))


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


저작자 표시 비영리 변경 금지
신고
얍얍 | 2014.09.18 19:48 신고 | PERMALINK | EDIT/DEL | REPLY
위에있는 프로그램 다섯개 다운받은다음에 어떻게 해야 되나요...?
도저히 사용법을봐도..잘 이해가 안가네요
shine_ing | 2014.09.24 00:57 신고 | PERMALINK | EDIT/DEL
완전한 프로그램이 아닌 자바 라이브러리 형태입니다. 자바 프로그래밍에 대한 이해가 있으셔야 사용이 가능하십니다. 프로그래밍과 관련 없이 사용할 수 있도록 완전한 프로그램을 조만간 추가하도록 하겠습니다. 불편을 드려서 죄송합니다..
권순재 | 2014.09.19 14:17 신고 | PERMALINK | EDIT/DEL | REPLY
버그 리포트 할게요
큰따옴표와 작은따옴표의 대표적인 용례를 소개해 주세요.
[큰따옴표 NNP, 작은따옴표 NNP, 대표 NNG, 적 XSN, 이 VCP, ㄴ ETM, 용례 NNG, 소개 NNG, 하 XSV, 아 EC, 주 VX, 시 EP]
큰따옴표 같은 경우 큰따옴표 NNP <- 요런식으로 잡히네용
shine_ing | 2014.09.24 01:00 신고 | PERMALINK | EDIT/DEL
models-full과 같은 경우에는 위키피디아에 있는 제목들이 고유명사로 추가되었습니다. 그 과정에서 말씀하신 큰따옴표가 위키페이지에 존재하여 고유명사로 인식되는 것을 확인하였습니다. 이 부분은 위키피디아 데이터를 검수하여 수정하도록 하겠습니다. models-light 버전을 사용하시면 큰따옴표가 NNP로 분석되지 않을 것입니다^^ 감사합니다.
lancif | 2014.09.24 14:28 신고 | PERMALINK | EDIT/DEL | REPLY
코모란 매번 잘 쓰고 있습니다. ^^
저도 버그리포트 하나 할게요.

입력: 않을게요
출력: 않/VX 으시/EP ㄹ게요/EC

여기서 '으시'가 잘못나온것 같아요. '시'가 빠져야할것 같아요
shine_ing | 2014.09.24 15:20 신고 | PERMALINK | EDIT/DEL
불규칙 사전에 잘못된 정보가 있는 것 같네요~ 업데이트 시 반드시 반영하도록 하겠습니디ㅏ. 감사합니다!
lancif | 2014.09.25 16:40 신고 | PERMALINK | EDIT/DEL | REPLY
질문하나 더 드릴게요. ^^

입력: 가능
출력: 가능/XR

이렇게 나오는데요, 이것도 버그인가요?
아니면, XR('어근' 맞나요?)로 나오는게 맞는건가요?
shine_ing | 2014.09.25 16:45 신고 | PERMALINK | EDIT/DEL
글쎄요..어근이라는 품사 자체가 매우 애매한 부분이죠..학습한 데이터를 살펴보니 어근이라고 태깅되어 있네요^^ 개인적으로 어근이라는 태그를 명사로 변경할까 생각중입니다..애매하죠 참..ㅎㅎ
lancif | 2014.09.25 17:33 신고 | PERMALINK | EDIT/DEL
그렇군요. 감사합니다 ^^
lancif | 2014.09.29 11:07 신고 | PERMALINK | EDIT/DEL | REPLY
버그 리포트 하나 더 드립니다. ^^

입력: 주셔요
출력: 어/EC 주/VX 시/EP 어요/EC
shine_ing | 2014.09.29 13:13 신고 | PERMALINK | EDIT/DEL
정말 감사드립니다! 사실 이런 부분은 학습데이터 자체에 의한 버그라서 정말 찾기 힘든 부분인데.. 진심으로 감사드립니다!
lancif | 2014.09.29 14:02 신고 | PERMALINK | EDIT/DEL
저야 말로, 좋은 형태소분석기 만들어주셔서 감사합니다 ^^
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.18 18:06

KOMORAN 2.1.1


    • 주요 업데이트 내용
      • 연속된 영어(SL), 숫자(SN), 한자(SH)에 대한 분석 결과 변경
        • input : DATE
        • ver 2.1의 분석 결과 : D/SL+A/SL+T/SL+E/SL
        • ver 2.1.1의 분석 결과 : DATE/SL
      • 일부 어절에 대해서 NA로 태깅되던 버그 수정
        • 품사 태거 동작 시 사용되는 score 변경
      • 데이터 정제로 인한 확률 모델 변경
        • 일부 부적절한 사전/품사 정보 제거 ( ㅂ/NNG, ㅑ/NNG 등)
      • 기타 조잡한 버그 수정 및 코드 정리


    • 버전 히스토리
      • [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로 연락주시기 바랍니다.


저작자 표시 비영리 변경 금지
신고
moai | 2014.08.18 19:40 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요. 혹시 komoran 형태소 분석기 결과 tag-set을 알 수 있을까요??

사용자 정의 사전은 정말 유용하게 사용하고 있습니다!!
좋은 프로그램 제작/공유 정말 감사 드려요!!
shine_ing | 2014.08.19 00:17 신고 | PERMALINK | EDIT/DEL
세종태그셋을 사용하고 있습니다.
링크에서 좌측 열에 세종 품사 태그 부분을 참고하시면 될 것 같습니다. 감사합니다! http://kkma.snu.ac.kr/documents/?doc=postag
Geinna | 2014.08.20 00:58 신고 | PERMALINK | EDIT/DEL | REPLY
클리앙에서 우연히 발견하여 들어왔습니다. 굉장히 흥미로운 프로그램입니다. 재밌어 보이네요.

println 방식으로 테스트하기가 약간 어려워보여 간단하게 스윙으로 테스트 도구를 허접하나마 만들어 보았습니다. 조금이나마 테스트에 도움이 되셨으면 좋겠습니다 ^^; 메일 확인해주시면 감사하겠습니다.
shine_ing | 2014.08.20 01:09 신고 | PERMALINK | EDIT/DEL
감사합니다! 메일 확인 후에 회신드렸습니다. 큰 관심 가져주시고 이렇게 도와주셔서 진심으로 감사드립니다! 큰 도움이 됐습니다^^
lancif | 2014.08.21 13:11 신고 | PERMALINK | EDIT/DEL | REPLY
NA 관련해서 버그리포팅(?) 하나 드립니다.

"철수님 11시에 만나요♥"

라는 문장을 분석했을 때, 이전 버전에서는 "만나요♥" 부분이,

만나/VV 요/EC ♥/NNP

라고 분석됐는데, 이번 버전(2.1.1)에서는

만나요♥/NA

라고 나오네요.
확인 부탁드립니다. ^^

감사합니다!
shine_ing | 2014.08.21 13:46 신고 | PERMALINK | EDIT/DEL
항상 피드백 주셔서 감사드립니다! ㅎㅎ..혹시 1.x 버전 대비 말씀하시는건가요?
shine_ing | 2014.08.22 01:19 신고 | PERMALINK | EDIT/DEL
아마 금주나 차주 중에 있을 업데이트에 포함시키겠습니다~ 감사합니다!
lancif | 2014.08.22 14:38 신고 | PERMALINK | EDIT/DEL
예. "이전 버전"은 1.x 버전입니다.
jsjw | 2014.08.22 14:29 신고 | PERMALINK | EDIT/DEL | REPLY
안녕하세요~
2.1.1 버전에서 종종 아래와 같은 에러로그가
여러 문장을 루프돌리며 분석메서드를 호출할때 발생합니다.
에러 발생시 입력되었던 문장만 따로 돌려봤더니 그땐 안뜨구요
(=.,=) 헐헐헐;

도움이 되실까 해서 올립니다.
당시 입력문장에 /NA 태그 걸린건 감사히/NA 였습니다.

kr.co.shineware.nlp.komoran.a.a: Lattice Parse Answer Format Error. /NA
at kr.co.shineware.nlp.komoran.core.lattice.Lattice.parseAnswer(Unknown Source)
at kr.co.shineware.nlp.komoran.core.lattice.Lattice.backTracking(Unknown Source)
at kr.co.shineware.nlp.komoran.core.lattice.Lattice.getMax(Unknown Source)
at kr.co.shineware.nlp.komoran.core.analyzer.Komoran.analyze(Unknown Source)
shine_ing | 2014.08.22 15:33 신고 | 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
prev"" #1 #2 next