2016년 12월 25일 일요일

mecab-ko-lucene-analyzer-0.21.0, elasticsesarch-analysis-mecab-ko-5.1.1.0 배포합니다.

mecab-ko-lucene-analyzer-0.21.0, elasticsesarch-analysis-mecab-ko-5.1.1.0이 나왔습니다.

새로운 기능
  • Lucene/Solr 6.3.0 지원
  • Elasticsearch 5.1.1 지원 - issue #6
수정
  • 로딩 실패시 UnsatisfiedLinkError throw 하도록 수정 - issue #5
소스 패치를 보내주신 Jaepil Jeong 님과 이슈 등록해주신 devimapreduce 님께 감사드립니다.

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

2016년 12월 24일 토요일

seunjeon1.3.0 / elasticsearch-analysis-seunjeon 5.1.1.1 릴리즈합니다.

사용자 사전에 복합명사 추가가 가능해졌습니다.

'+' 로 복합명사를 표현할 수 있습니다.
  예: "낄끼+빠빠"
escaping은 '\'로 가능합니다.
  예: "c\+\+"

seunjeon

  • https://bitbucket.org/eunjeon/seunjeon
import org.bitbucket.eunjeon.seunjeon.Analyzer

// 형태소 분석
Analyzer.parse("아버지가방에들어가신다.").foreach(println)

// 어절 분석
Analyzer.parseEojeol("아버지가방에들어가신다.").foreach(println)
// or
Analyzer.parseEojeol(Analyzer.parse("아버지가방에들어가신다.")).foreach(println)

/**
  * 사용자 사전 추가
  * surface,cost
  *   surface: 단어명. '+' 로 복합명사를 구성할 수 있다.
  *           '+'문자 자체를 사전에 등록하기 위해서는 '\+'로 입력. 예를 들어 'C\+\+'
  *   cost: 단어 출연 비용. 작을수록 출연할 확률이 높다.
  */
Analyzer.setUserDict(Seq("덕후", "버카충,-100", "낄끼+빠빠,-100", """C\+\+""").toIterator)
Analyzer.parse("덕후냄새가 난다.").foreach(println)

// 활용어 원형
Analyzer.parse("빨라짐").flatMap(_.deInflect()).foreach(println)

// 복합명사 분해
val ggilggi = Analyzer.parse("낄끼빠빠")
ggilggi.foreach(println)  // 낄끼빠빠
ggilggi.flatMap(_.deCompound()).foreach(println)  // 낄끼+빠빠

Analyzer.parse("C++").flatMap(_.deInflect()).foreach(println) // C++

analysis-seunjeon

  • https://bitbucket.org/eunjeon/seunjeon/raw/master/elasticsearch/
#!/usr/bin/env bash

ES='http://localhost:9200'
ESIDX='seunjeon-idx'

curl -XDELETE "${ES}/${ESIDX}?pretty"
sleep 1
curl -XPUT "${ES}/${ESIDX}/?pretty" -d '{
  "settings" : {
    "index":{
      "analysis":{
        "analyzer":{
          "korean":{
            "type":"custom",
            "tokenizer":"seunjeon_default_tokenizer"
          }
        },
        "tokenizer": {
          "seunjeon_default_tokenizer": {
            "type": "seunjeon_tokenizer",
            "index_eojeol": false,
            "user_words": ["낄끼+빠빠,-100", "c\\+\\+", "어그로", "버카충", "abc마트"]
          }
        }
      }
    }
  }
}'

sleep 1

echo "# 삼성/N 전자/N"
curl -XGET "${ES}/${ESIDX}/_analyze?analyzer=korean&pretty" -d '삼성전자'

echo "# 빠르/V 지/V"
curl -XGET "${ES}/${ESIDX}/_analyze?analyzer=korean&pretty" -d '빨라짐'

echo "# 슬프/V"
curl -XGET "${ES}/${ESIDX}/_analyze?analyzer=korean&pretty" -d '슬픈'

echo "# 새롭/V 사전/N 생성/N"
curl -XGET "${ES}/${ESIDX}/_analyze?analyzer=korean&pretty" -d '새로운사전생성'

echo "# 낄끼/N 빠빠/N c++/N"
curl -XGET "${ES}/${ESIDX}/_analyze?analyzer=korean&pretty" -d '낄끼빠빠 c++'





2016년 12월 15일 목요일

elasticsearch-analysis-seunjeon 5.1.1.0 배포합니다.

기능상 변경 없이 elasticsearch 5.1.1 버전에 맞게 새로 빌드하였습니다.

앞으로는 기능추가 없이 단순 elasticsearch 버전에 맞추는 릴리즈는 따로 공지하지 않겠습니다.
릴리즈 목록은 bitbucket README 에 명시하겠습니다.

감사합니다.

2016년 11월 6일 일요일

elasticsearch-analysis-seunjeon 5.0.0.0 배포합니다.

elasticsearch 5.0.0 지원 plugin 배포합니다. 추가된 기능은 없습니다. elastic팀 가이드대로 java 8 이상에서 실행해야 합니다.

추가나 수정된 기능은 없습니다.

소스 및 메뉴얼



설치

./bin/elasticsearch-plugin install https://oss.sonatype.org/service/local/repositories/releases/content/org/bitbucket/eunjeon/elasticsearch-analysis-seunjeon/5.0.0.0/elasticsearch-analysis-seunjeon-5.0.0.0.zip

seunjeon-1.2.0 배포합니다.

추가된 기능은 없습니다. scala 2.12을 새롭게 지원합니다. 호환성 문제로 scala2.10은 더이상 지원하지 않습니다. 2.10을 사용하시려면 seunjeon-1.1.1 을 사용하시면 됩니다.



versionscala(java)note
1.2.02.11(1.7), 2.12(1.8)추가기능 없음
1.1.12.10(1.7), 2.11(1.7)

Maven

<dependencies>
    <dependency>
        <groupId>org.bitbucket.eunjeon</groupId>
        <artifactId>seunjeon_2.11</artifactId>
        <version>1.2.0</version>
    </dependency>
</dependencies>

SBT

libraryDependencies += "org.bitbucket.eunjeon" %% "seunjeon" % "1.2.0"

변경내용

  • scala-csv 라이브러리 제거.
  • scala2.12 지원

2016년 9월 28일 수요일

elasticsearch-analysis-seunjeon 2.4.0.1 배포합니다.

elasticsearch plugin 2.4.0.1 배포합니다.

수정내용:

몇몇 단어에대해 deinflect 안되는 문제 해결.

소스 및 메뉴얼


설치

./bin/plugin install org.bitbucket.eunjeon/elasticsearch-analysis-seunjeon/2.4.0.1

seunjeon-1.1.1 배포합니다.

버그 수정합니다. 일부 활용어(Inflect) 중 deinflect 가 되지 않는 문제 해결.

Maven

<dependencies>
    <dependency>
        <groupId>org.bitbucket.eunjeon</groupId>
        <artifactId>seunjeon_2.11</artifactId>
        <version>1.1.1</version>
    </dependency>
</dependencies>

SBT

libraryDependencies += "org.bitbucket.eunjeon" %% "seunjeon" % "1.1.1"

변경내용

  • deinflect 안되는 문제 해결.
    • https://groups.google.com/forum/#!topic/eunjeon/H2yLE97pNt8
    • https://bitbucket.org/eunjeon/seunjeon/issues/6/es-index-analyzer-indexing

2016년 9월 11일 일요일

elasticsearch-analysis-seunjeon 2.3.5.0 / 2.4.0.0 배포합니다.

elasticsearch 2.3.5 / 2.4.0 용 플러그인 배포합니다.

수정내용:

없음.

소스 및 메뉴얼


설치

./bin/plugin install org.bitbucket.eunjeon/elasticsearch-analysis-seunjeon/2.4.0.0

./bin/plugin install org.bitbucket.eunjeon/elasticsearch-analysis-seunjeon/2.3.5.0

2016년 5월 22일 일요일

elasticsearch-analysis-seunjeon 2.3.3.0 / 2.2.0.1 / 2.3.2.1 배포합니다.

elasticsearch 2.3.3 용 플러그인 배포합니다. 버그수정도 있습니다.

수정내용:


  • 복합명사가 길게 쓰여져있을 경우 하나의 UNK로 뽑히는 문제 해결. 예를 들어 "농어촌체험휴양하누리마을" 를 분석할 경우 그대로 "농어촌체험휴양하누리마을/UNK"로 분석 되었던 것을 "농어촌/체험/휴양/하누리/마을" 로 분석하게 수정. 관련 이슈: https://groups.google.com/forum/#!topic/eunjeon/eRZvjP-U69I
  • max_unk_length 옵션 추가. 설정할수있게 해두었지만 사용할일은 거의 없을 것 같습니다.

소스 및 메뉴얼


설치

./bin/plugin install org.bitbucket.eunjeon/elasticsearch-analysis-seunjeon/2.3.3.0

./bin/plugin install org.bitbucket.eunjeon/elasticsearch-analysis-seunjeon/2.3.2.1

./bin/plugin install org.bitbucket.eunjeon/elasticsearch-analysis-seunjeon/2.2.0.1

seunjeon-1.1.0 배포합니다.

새로운 버그가 발견되어 새롭게 릴리즈합니다. 리포팅해주신 이윤희님께 감사드립니다. 관련이슈

Maven

<dependencies>
    <dependency>
        <groupId>org.bitbucket.eunjeon</groupId>
        <artifactId>seunjeon_2.11</artifactId>
        <version>1.1.0</version>
    </dependency>
</dependencies>

SBT

libraryDependencies += "org.bitbucket.eunjeon" %% "seunjeon" % "1.1.0"

변경내용



  • "농어촌체험휴양하누리마을" 와 같이 긴 음절의 미등록 복합명사가 분해되지 않는 문제 해결.
    • Analyzer.setMaxUnkLength(length:Int) interface 추가

2016년 5월 7일 토요일

elasticsearch-analysis-seunjeon 2.3.2.0 배포합니다.

elasticsearch 2.3.2 용 플러그인 배포합니다. 변경사항은 없습니다.

소스 및 메뉴얼


설치

./bin/plugin install org.bitbucket.eunjeon/elasticsearch-analysis-seunjeon/2.3.2.0

2016년 4월 26일 화요일

elasticsearch-analysis-seunjeon 2.3.0.0 / elasticsearch-analysis-seunjeon 2.3.1.0 배포합니다

elasticsearch 가 plugin하위 호환을 맞춰주지 않아 새로운 버전이 나올때마다 plugin도 새롭게 릴리즈를 해줘야 합니다. 사실 해주는거라곤 plugin-descriptor.properties 파알안에 elasticsearch.version=x.x.x 값만 바꿔주는 정도인데, 참 귀찮게 하네요.

혹시 은전한닢 버전이 늦게 나오더라도 파일 다운받으셔서 직접 plugins/analysis-seunjeon/ 디렉토리에 복사해주셔도 되고, 아니면 zip파일에서 plugin-descriptor.properties 파일을 수정해서 설치하여 사용하셔도 됩니다.

소스 및 메뉴얼


설치

./bin/plugin install org.bitbucket.eunjeon/elasticsearch-analysis-seunjeon/2.3.0.0

./bin/plugin install org.bitbucket.eunjeon/elasticsearch-analysis-seunjeon/2.3.1.0

2016년 4월 6일 수요일

mecab-ko-lucene-analyzer-0.20.1, elasticsesarch-analysis-mecab-ko-2.3.1.0 배포합니다.

mecab-ko-lucene-analyzer-0.20.1, elasticsesarch-analysis-mecab-ko-2.3.1.0이 나왔습니다.

새로운 기능
  • Elasticsearch 2.3.1지원
mecab-ko-lucene-analyzer에는 변화가 없으므로, 업그레이드하지 않으셔도 됩니다.

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

2016년 4월 5일 화요일

mecab-ko-lucene-analyzer-0.20.0, elasticsesarch-analysis-mecab-ko-2.3.0.0 배포합니다.

mecab-ko-lucene-analyzer-0.20.0, elasticsesarch-analysis-mecab-ko-2.3.0.0이 나왔습니다.

새로운 기능
  • Elasticsearch 2.3.0지원
mecab-ko-lucene-analyzer에는 변화가 없으므로, 업그레이드하지 않으셔도 됩니다.

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

mecab-ko-lucene-analyzer-0.19.2, elasticsesarch-analysis-mecab-ko-2.2.2.0 배포합니다.

mecab-ko-lucene-analyzer-0.19.2, elasticsesarch-analysis-mecab-ko-2.2.2.0이 나왔습니다.

새로운 기능
  • Elasticsearch 2.2.2지원
mecab-ko-lucene-analyzer에는 변화가 없으므로, 업그레이드하지 않으셔도 됩니다.

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

mecab-ko-lucene-analyzer-0.19.1, elasticsesarch-analysis-mecab-ko-2.2.1.0 배포합니다.

mecab-ko-lucene-analyzer-0.19.1, elasticsesarch-analysis-mecab-ko-2.2.1.0이 나왔습니다.

새로운 기능
  • Elasticsearch 2.2.1 지원
mecab-ko-lucene-analyzer에는 변화가 없으므로, 업그레이드하지 않으셔도 됩니다.

패치를 제공해주신 'MooYoul Lee'님 감사드립니다.

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

2016년 2월 24일 수요일

elasticsearch-analysis-seunjeon 2.2.0.0 배포합니다.

elasticsearch 2.2.0 버전용 플러그인 릴리즈합니다. elasticsearch 버전별로 플러그인도 릴리즈해줘야 하는 번거로움이 있네요. 조금 대응이 늦더라도 이해부탁드립니다.

기능적으로 새롭게 추가한 것은 없습니다.
다만 기존에는 내부적으로 사전 탐색에  https://github.com/takawitter/trie4j 를 사용하고 있었는데, trie4j가 값 저장에 boxed Integer를 사용하고 있어 성능상 아쉬움이 있었습니다. 그래서  double array trie를 직접 구현하게 되었습니다. 성능이 눈에 띄게 좋아진건 아니지만 다소 개선되었습니다. 버그가 보이면 주저하지마시고 빠르게 알려주세요 ^^

소스 및 메뉴얼


설치

./bin/plugin install org.bitbucket.eunjeon/elasticsearch-analysis-seunjeon/2.2.0.0


2016년 2월 20일 토요일

elasticsearch-analysis-seunjeon 2.1.1.3 배포합니다.

버그 fix 버전 새롭게 릴리즈합니다. 버그리포팅 및 의견 주신분들 감사합니다.

소스 및 메뉴얼


설치

./bin/plugin install org.bitbucket.eunjeon/elasticsearch-analysis-seunjeon/2.1.1.3


변경내용

  • 활용어 원형 추출시 offet 오류로 exception 나는 문제 해결
  • 영문 소문자로 변환해서 분석. 영어 단어는 소문자로 관리하면 됨

seunjeon-1.0.4 배포합니다.

버그 fix 버전 새롭게 릴리즈합니다. 요즘은 버그때문에 너무 자주 릴리즈하는 것 같네요.

Maven

<dependencies>
    <dependency>
        <groupId>org.bitbucket.eunjeon</groupId>
        <artifactId>seunjeon_2.11</artifactId>
        <version>1.0.4</version>
    </dependency>
</dependencies>

SBT

libraryDependencies += "org.bitbucket.eunjeon" %% "seunjeon" % "1.0.4"


변경내용
  • deinflect 시 offset 버그 해결

2016년 2월 8일 월요일

elasticsearch-analysis-seunjeon 2.1.1.2 배포합니다.

seunjeon 1.0.3 패치내용 적용하여 새로 릴리즈합니다.

흔히 발생할 수 있는 버그에 대한 패치입니다. 형태소분석 자체가 안되는 경우가 있었으니 모두 업그레이드 하여 사용하세요~

소스 및 메뉴얼

https://bitbucket.org/eunjeon/seunjeon/src/.../elasticsearch/?at=es-2.1.1.2

설치


./bin/plugin install org.bitbucket.eunjeon/elasticsearch-analysis-seunjeon/2.1.1.2

변경내용

  • 특정 키워드가 들어간 문장에서 분석이 다 되지 않는 문제 해결

seunjeon-1.0.3 배포합니다.

역시 Wan-Hee Lee 도움으로 새로운 버전 릴리즈 합니다.

특정 키워드가 들어간 문장을 분석할때 분석이 다 되지 않는 문제가 있었습니다.

Maven

<dependencies>
    <dependency>
        <groupId>org.bitbucket.eunjeon</groupId>
        <artifactId>seunjeon_2.11</artifactId>
        <version>1.0.3</version>
    </dependency>
</dependencies>

sbt

libraryDependencies += "org.bitbucket.eunjeon" %% "seunjeon" % "1.0.3"


변경내용

  • 특정 키워드가 들어간 문장에서 분석이 다 되지 않는 문제 해결

2016년 2월 5일 금요일

mecab-ko-lucene-analyzer-0.19.0, elasticsesarch-analysis-mecab-ko-2.2.0.0 배포합니다.

mecab-ko-lucene-analyzer-0.19.0, elasticsesarch-analysis-mecab-ko-2.2.0.0이 나왔습니다.

새로운 기능
  • Elasticsearch 2.2.0지원
mecab-ko-lucene-analyzer에는 변화가 없으므로, 업그레이드하지 않으셔도 됩니다.

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

2016년 2월 4일 목요일

mecab-ko-lucene-analyzer-0.18.2, elasticsesarch-analysis-mecab-ko-2.1.2.0 배포합니다.

mecab-ko-lucene-analyzer-0.18.2, elasticsesarch-analysis-mecab-ko-2.1.2.0이 나왔습니다.

새로운 기능
  • Elasticsearch 2.1.2지원
mecab-ko-lucene-analyzer에는 변화가 없으므로, 업그레이드하지 않으셔도 됩니다.

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

2016년 2월 1일 월요일

mecab-ko-lucene-analyzer-0.18.1, elasticsesarch-analysis-mecab-ko-2.1.1.0 배포합니다.

mecab-ko-lucene-analyzer-0.18.1, elasticsesarch-analysis-mecab-ko-2.1.1.0이 나왔습니다.

새로운 기능
  • Elasticsearch 2.1.1지원
mecab-ko-lucene-analyzer에는 변화가 없으므로, 업그레이드하지 않으셔도 됩니다.

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

2016년 1월 30일 토요일

elasticsearch-analysis-seunjeon 2.1.1.1 배포합니다.

seunjeon 1.0.2 패치내용 적용하여 새로 릴리즈합니다.

흔히 발생할 수 있는 버그에 대한 패치입니다. 형태소분석 자체가 안되는 경우가 있었으니 모두 업그레이드 하여 사용하세요~

소스 및 메뉴얼

https://bitbucket.org/eunjeon/seunjeon/src/.../elasticsearch?at=es-2.1.1.1

설치


./bin/plugin install org.bitbucket.eunjeon/elasticsearch-analysis-seunjeon/2.1.1.1

변경내용

  • 특수문자 연속해서 나올 경우 형태소분석이 안되는 문제 해결

seunjeon-1.0.2 배포합니다.


Wan-Hee Lee 님께서 기여해준신 내용 릴리즈합니다. 도움을 주셔서 감사합니다.

특수문자가 연속해서 나오는 경우 형태소분석 자체가 안되는 경우가 있었습니다. 중요한 버그 해결이라 모두 업그레이드 해서 사용하셔야 합니다.

Maven

<dependencies>
    <dependency>
        <groupId>org.bitbucket.eunjeon</groupId>
        <artifactId>seunjeon_2.11</artifactId>
        <version>1.0.2</version>
    </dependency>
</dependencies>

sbt

libraryDependencies += "org.bitbucket.eunjeon" %% "seunjeon" % "1.0.2"


변경내용

  • 특수문자가 연속해서 나오는 경우 형태소분석이 되지 않는 버그 고침

2016년 1월 19일 화요일

elasticsearch-analysis-seunjeon 2.1.1.0 배포합니다.

이윤희님 의견과 커뮤니티에서 나오는 이야기를 듣고 기능 추가 합니다.

소스 및 메뉴얼

https://bitbucket.org/eunjeon/seunjeon/src/.../elasticsearch?at=es-2.1.1.0

설치


./bin/plugin install org.bitbucket.eunjeon/elasticsearch-analysis-seunjeon/2.1.1.0

변경내용


  • 사용자사전을 파일에서 읽을 수 있는 기능 추가. user_dict_path 옵션
  • 항상 키워드와 품사태그를 함께 토크나이징 하던 것(예:자전거/N)을 옵션으로 선택할 수 있게 함. pos_tagging 옵션. stopword filter나 synonym filter 사용시 주의해야 합니다.


seunjeon-1.0.1 배포합니다.

Wan-Hee Lee 님께서 기여해준신 내용 릴리즈합니다. 도움을 주셔서 감사합니다.

Maven

<dependencies>
    <dependency>
        <groupId>org.bitbucket.eunjeon</groupId>
        <artifactId>seunjeon_2.11</artifactId>
        <version>1.0.1</version>
    </dependency>
</dependencies>

sbt

libraryDependencies += "org.bitbucket.eunjeon" %% "seunjeon" % "1.0.1"

변경 내용

  • 사용자 사전 로딩 보그 수정. 추천하는 방식은 아니나, mecab-ko-dic-2.0.1-20150920 에서 사용하던 csv 사전을 그대로 사용하실 수 있습니다. 이용하시던 사용자 사전이 있다면 그대로 사용하실수 있습니다. 하지만 사전 버전이 다르면 문제가 될 수 있습니다. 사전버전에따라 좌/우문맥ID가 다를 수 있기 때문에 주의해서 사용해야 합니다.
  • Scala 1.10, Scala 1.11 모두 지원합니다.

2016년 1월 5일 화요일

elasticsearch-analysis-seunjeon 2.1.0.0 배포합니다.

한국어 형태소분석기 elasticsearch plugin입니다. 기존 mecab-ko-lucene-analyzer 가 있지만 설치의 불편함때문에 순수 jvm에서 돌아가는 seunjeon을 가지고 만들었습니다. 설치가 편리한것이 가장 큰 장정입니다. 많은 피드백 부탁드립니다.

설치

./bin/plugin install org.bitbucket.eunjeon/elasticsearch-analysis-seunjeon/2.1.0.0

사용방법 (자세히..)

#!/bin/bash

ES='http://localhost:9200'
ESIDX='seunjeon-idx'

curl -XDELETE $ES/$ESIDX?pretty

curl -XPUT $ES/$ESIDX/?pretty -d '{
  "settings" : {
    "index":{
      "analysis":{
        "analyzer":{
          "korean":{
            "type":"custom",
            "tokenizer":"seunjeon_tokenizer"
          },
          "korean_noun": {
            "type":"custom",
            "tokenizer":"noun_tokenizer"
          }
        },
        "tokenizer": {
          "seunjeon_tokenizer": {
            "type": "seunjeon_tokenizer",
            "user_words": ["낄끼빠빠,-100", "버카충"]
          },
          "noun_tokenizer": {
            "type": "seunjeon_tokenizer",
            "index_eojeol": false,
            "index_poses": ["N"]
          }
        }
      }
    }
  }
}'

sleep 1

echo "========================================================================"
curl -XGET $ES/$ESIDX/_analyze?analyzer=korean\&pretty -d '낄끼빠빠'
echo "========================================================================"
curl -XGET $ES/$ESIDX/_analyze?analyzer=korean\&pretty -d '삼성전자'
echo "========================================================================"
curl -XGET $ES/$ESIDX/_analyze?analyzer=korean\&pretty -d '슬픈'
echo "========================================================================"
curl -XGET $ES/$ESIDX/_analyze?analyzer=korean_noun\&pretty -d '꽃이피다'

주요기능

  • 사용자 사전
  • 복합명사 분해
  • 활용어의 원형 추출
  • 어절추출
  • 추출함 품사 지정

seunjeon 1.0.0 배포합니다.

많은 부분 변경되었습니다. 클래스명도 바뀌고 멤버변수들도 많이 바뀌었습니다. 업그레이드 하시는분은 조금 신경을 써야할 것 같습니다.

* 소스 및 사용법: https://bitbucket.org/eunjeon/seunjeon

Maven

<dependencies>
    <dependency>
        <groupId>org.bitbucket.eunjeon</groupId>
        <artifactId>seunjeon_2.11</artifactId>
        <version>1.0.0</version>
    </dependency>
</dependencies>

사용

scala

import org.bitbucket.eunjeon.seunjeon.Analyzer

// 형태소 분석
Analyzer.parse("아버지가방에들어가신다.").foreach(println)

// 어절 분석
Analyzer.parseEojeol("아버지가방에들어가신다.").foreach(println)
// or
Analyzer.parseEojeol(Analyzer.parse("아버지가방에들어가신다.")).foreach(println)

/**
  * 사용자 사전 추가
  * surface,cost
  *   surface: 단어
  *   cost: 단어 출연 비용. 작을수록 출연할 확률이 높다.
  */
Analyzer.setUserDict(Seq("덕후", "버카충,-100", "낄끼빠빠").toIterator)
Analyzer.parse("덕후냄새가 난다.").foreach(println)

// 활용어 원형
Analyzer.parse("슬픈").flatMap(_.deInflect()).foreach(println)

// 복합명사 분해
Analyzer.parse("삼성전자").flatMap(_.deCompound()).foreach(println)
품사태그는 여기를 참고하세요.

java

https://bitbucket.org/eunjeon/seunjeon/src/34ede59563e24fa051f5f325f91a8b1e6d1e0f12/?at=v0.1.0


새로운 기능

  • Windows OS 지원(by 이항령 https://bitbucket.org/akaroice/)
  • offset 값을 문장단위에서 전체 문서 기준으로 변경 
  • 사전 - endPos 를 substring에 잘 어울리도록 1을 더해줬음.
  • 사전 - POS id 를 int 에서 enum 타입으로 변경
  • 사전 - pos 를 poses로 변경. compound, inflect, preanalysis 처리에 적합
  • 사전 로딩 시간 다소 단축
  • preAnalysis 사전 자동 분해
  • 복합명사 분해 기능 지원 (deCompound)
  • 활용어의 원형 추출 기능 지원 (deInflect)
  • 형태소분석 속도 개선(for/map -> while 문 사용)