2015년 12월 20일 일요일

mecab-ko-lucene-analyzer-0.18.0, elasticsesarch-analysis-mecab-ko-2.1.0.0 배포합니다.

mecab-ko-lucene-analyzer-0.18.0, elasticsesarch-analysis-mecab-ko-2.1.0.0이 나왔습니다.

새로운 기능
  • Lucene/Solr 5.3.1, Elasticsearch 2.1에 맞추어 코드 및 문서 수정
주의: Lucene/Solr 5.3.1, Elasticsearch 2.1에서 사용법에 많은 변화가 있습니다. 문서를 확인하시기 바랍니다.

Lucene/Solr 용 분석기
Elasticsearch 용 분석기

2015년 11월 15일 일요일

seunjeon 0.6.0 배포합니다.

조금 더 미루고 릴리즈 하려다가 mecab에서 되는 기능이 안되고 있던 것이라 빠르게 릴리즈합니다.

  • 소스 및 사용법: https://bitbucket.org/eunjeon/seunjeon
  • Maven:
    • <dependencies>
          <dependency>
              <groupId>org.bitbucket.eunjeon</groupId>
              <artifactId>seunjeon_2.11</artifactId>
              <version>0.6.0</version>
          </dependency>
      </dependencies>
새로운 기능
  • Term.posid 추가. 품사를 int 값으로 확인이 가능합니다. pos-id.def 값으로 접근.
  • dicrc:left-space-penalty-factor 적용. 특정 형태소에 한해 띄어쓰기가 되었을 경우 cost penalty를 적용. 특정 경우 오분석을 줄여줍니다.
  • space 형태소를 더이상 뽑지 않습니다. 공백이 있는지는 전후 형태소의 offset값(TermNode.startPos/endPos)으로 확인가능

2015년 11월 1일 일요일

seunjeon 0.5.0 배포합니다.

오랜만에 릴리즈합니다. 개인적으로 시간이 없어서 작업을 미루고 있었습니다. 많이들 사용해주시고 적극 피드백 부탁드립니다~ 기능 추가시 도움이 됩니다. ^^
  • 소스 및 사용법: https://bitbucket.org/eunjeon/seunjeon
  • Maven:
    • <dependencies>
          <dependency>
              <groupId>org.bitbucket.eunjeon</groupId>
              <artifactId>seunjeon_2.11</artifactId>
              <version>0.5.0</version>
          </dependency>
      </dependencies>

새로운 기능
  • charset 혼합 단어. 사전 추가 가능
    • 예) 삼성SDS
  • space가 포함된 단어. 사전 추가 가능
    • 예) LG CNS
기타
  • 약간의 성능 향상.(category.invoke 기능 제거)

2015년 10월 1일 목요일

seunjeon 0.4.0 배포합니다.

기능이 추가되어 배포합니다. interface가 조금 바뀌었습니다. offset 기능을 추가하여 Term 아닌 TermNode를 반환하도록 하였습니다. space 도 형태소에 뽑히게 바꾸었습니다. 분석 품질에 영향을 주는 부분인데, 더 좋은지 더 나쁜지는 더 지켜봐야 할 것 같습니다.
새로운 기능
  • line단위 term offset 기능 추가.
    • TermNode.startPos
  • space도 term으로 뽑히도록 수정.

2015년 9월 20일 일요일

mecab-ko-dic-2.0.1-20150920 배포합니다.

mecab-ko-dic-2.0.1-20150920 나왔습니다.

사전
  • '주의'로 끝나는 단어 (ex: 민주주의, 자연주의) 오분석 방지를 위해 출현 비용 낮춤
오류 수정
  • '주의'로 끝나는 단어 (ex: 민주주의, 자연주의) NNG로 변경하고, 사전 오류 수정
여기에서 받으실 수 있습니다.

2015년 9월 13일 일요일

seunjeon 0.3.0 배포합니다.

새로운 버전 배포합니다. 사용사 사전을 정의할 수 있게 하였습니다.
정의 방법은 저장소에서 README 를 참고해주세요.
새로운 기능
  • 사용사 사전을 정의할 수 있게 기능 추가. 비용 조정 가능
    • 일괄 일반명사(NNG)로 등록. default 비용은 1000-(surface.length*100)
기타
  • guava library 의존성 제거

2015년 9월 6일 일요일

seunjeon 0.2.1 배포합니다.

비용 계산하는 곳에 나름 심각한 버그가 있었습니다. 연접비용를 잘못 계산하는 바람에 오분석이 되는 경우가 있었습니다. 기존 버전을 사용하고 계신분들은 꼭 패치 하시기 바랍니다.
해당 버그는 김선겸님께서 고쳐주셨습니다. 김선겸님께 무한한 감사 드립니다. :)
오류수정
  • 연접비용(connectionCostDict) 사전 위치 포인팅 버그 수정

2015년 9월 1일 화요일

seunjeon 0.2.0 배포합니다.

0.1.0 배포 후 꾸준히 작업하고 있습니다. 그래도 시간이 많이 나질 않네요..
외형상 추가된 기능은 없습니다. 조금 더 안정적으로 돌아간다고 생각하시면 되겠습니다. 구체적인 내용은 아래에 있습니다.


새로운 기능
  • char.def 에서 설정된 charset값들 읽도록 구현, 
  • unknown term 생성 규칙을 char.def 에서 로딩함.
  •  unk.def 에서 unknown term 비용값 읽어오도록 함.

2015년 8월 26일 수요일

mecab-ko-dic-2.0.1-20150825 배포합니다.

mecab-ko-dic-2.0.1-20150825 나왔습니다.

사전
  • 일반 명사로 등록된 인명 제거 or 'NNP/인명'으로 수정
  • 이성계/NNP/인명 출현 비용 낮춤
여기에서 받으실 수 있습니다.

2015년 8월 20일 목요일

seunjeon 0.1.0 배포합니다.

오랜 숙원사업이었던 은전한닢 JVM버전을 만들었습니다. 한번 해본적없는 scala로 해보겠다고 객기를 부려 만들었습니다. 코드가 참 스칼라도 아니고 자바도 아닌 놈이 나왔네요 ^^;  차츰 이뻐지지 않을까 기대를 해 봅니다.


빠르게 세상을 보여주고싶은 마음에 성능적으로나 소스 가독성으로나 많이 튜닝을 하진 못했습니다. (지금보다 앞으로가 더 밝다고 할 수 있겠네요 ^^;) 그래도 성능적인 면에서 은전한닢 native 만큼은 아니더라도 다른 오픈소스 형태소분석기들보다 잘 뽑아줍니다.

분석결과도 mecab-ko-dic 기반으로 했기 때문에 mecab-ko 와 크게 다르지 않습니다. 하지만 정확히 같은 결과를 주지는 않습니다. 아무래도 mecab가 일본에서 만들기도 했고, 워낙 제너릭하게 만들어졌다보니 한국어를 분석하는데는 조금씩 아쉬운 점이 있었습니다. 그래서 굳이 mecab 카피 버전을 만든다기보다는 한국어지향의 형태소분석기를 만들기로 했습니다.

급한 마음에 일단 릴리즈를 하였습니다. feel 받았을 때 빠르게 추가 기능을 구현하려고 합니다. 일단은 사용자 사전 정의가 가능하면 좋을 것 같고, elasticsearch plugin도 개발하면 좋겠네요. 기존 은전한닢이 지원하는 부분이긴 한데 native binary이다보니 elasticsearch에 붙이는데 많은 불편함과 어려움이 있었던 것을 보아왔습니다. 성능도 더 끌어 올릴꺼고요, 사용자 커스터마이징적인 요소도 넣고싶네요.  앞으로 더 재미지게 개발해 나갈 수 있도록 많이들 사용해 주세요 ^^

사용하시면서 불편한 점이나 필요한 기능을 말하고 싶다면 여기로 연락주시면 되겠습니다. 스스로 기능을 구현하여 기여해 주셔도 좋습니다. 아직 틀이 덜 잡혀서 애매하긴 하겠지만 이쁘게 틀을 잡아 놓겠습니다.

사용법 및 상세한 내용은 https://bitbucket.org/eunjeon/seunjeon 로 방문하세요.

감사합니다.

2015년 7월 7일 화요일

mecab-ko-dic-2.0.1-20150707 배포합니다.

mecab-ko-dic-2.0.1-20150707 나왔습니다.

사전
  • 길들이/VV 출현 비용 줄임 -> 3000
  • '내'로 시작하는 인명, 지명 출현 비용 줄임 ('내방' -> '내' + '방'으로 오분석 방지)
  • 의/JKG -> BOS/EOS 연결 비용 올림
  • 몇몇 단어 추가
오류 수정
  • 학습 데이터에서 문장 중간을 문장의 끝으로 인식했던 오류 수정하여 재학습
  • 인명, 지명 비용 조정 스크립트 오류 수정

여기에서 받으실 수 있습니다.

추가: 오류 보고해주신 서지현님. 감사합니다. :)

2015년 5월 17일 일요일

mecab-ko-lucene-analyzer-0.17.0 배포합니다.

mecab-ko-lucene-analyzer-0.17.0이 나왔습니다.

새로운 기능

  • mecab-ko-dic-2.0.0 의 변경된 사전 포멧에 따른 변경.
  • 동사와 형용사 원형을 사용하여 검색할 수 있는 기능 추가
  • StandardIndexTokenizerFactory, StandardQueryTokenizerFactory 제거하고 StandardTokenizerFactory로 합침
  • Tokenizer 실행 옵션 변경 (Solr, ElasticSearch 모두)
    • mecabDicDir -> mecabArgs로 변경하면서 사전 경로가 아니라, mecab 옵션을 지정하도록 수정
    • useAdjectiveAndVerbOriginForm 동사와 형용사 원형을 사용하여 검색할지 여부
  • 복합명사 분해 로직 변경
  • 체언 접두사 처리 로직 변경
주의: mecab-ko-dic-2.0.0에 적용하여 사용되어야 합니다.
tokenizer의 클래스 이름과 사용방식이 변경되었습니다. 설치방법 문서를 참고하여, 사용해 착오 없으시기 바랍니다.

Lucene/Solr 용 분석기
Elasticsearch 용 분석기

mecab-ko-dic-2.0.0-20150517 배포합니다.

mecab-ko-dic-2.0.0-20150517가 나왔습니다.

새로운 기능
  • 체언 POS ID 세분화
    • 기존: NNG|NNP|NNB|NNBC|NR|NP->150
    • 변경: NNG->150, NNP->151, NNB->152, NNBC->153, NR->154, NP->155
  • UNKNOWN POS ID 0에서 999로 변경
사전
  • 사전 포맷(csv) 형식 변경 (원형과 인덱싱 표현 필드 통합) -표층형,0,0,0,품사 태그,의미 부류,종성 유무,읽기,타입,첫번째 품사,마지막 품사,표현
    • 표현 필드의 형식: 표층형/품사태그/의미부류+...
  • 우리나라 지하철역명 사전 추가
  • 몇몇 단어 추가
오류 수정
  • 단위를 나타내는 의존 명사를 다른 의존 명사로 학습한 오류 수정

여기에서 받으실 수 있습니다.

주의: 사전 형식의 변경으로, mecab-ko-lucene-analyzer도 0.17.0으로 버전 업그레이드가 필요합니다.

2015년 2월 26일 목요일

mecab-ko-lucene-analyzer-0.16.1 배포합니다.

mecab-ko-lucene-analyzer-0.16.1이 나왔습니다.

elasticsearch에서 색인시 메모리가 해제되지 않아 메모리가 계속 늘어나는 버그가 있었습니다. 색인을 자주 수행하는 시스템에서는 신속한 패치가 필요합니다.

오류 수정
  • elasticsearch 에서 tagger와 lexicon이 해제되지 않아 메모리 사용이 계속적으로 증가하는 문제.
Lucene/Solr 용 분석기
Elasticsearch 용 분석기