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++'





댓글 1개:

  1. 고생하셨습니다~
    감사히 잘 사용하겠습니다. ^^

    답글삭제