오류 수정
- NNG/장소의 출현 비용이 비정상적으로 높았던 문제(학습 데이터) 수정 후 재학습
사전
여기에서 받으실 수 있습니다.
- 오피스/NNG/장소 추가
검색에서 쓸만한 오픈소스 한국어 형태소 분석기를 만들자!
# download plugin $ bash <(curl -s https://bitbucket.org/eunjeon/seunjeon/raw/master/elasticsearch/scripts/downloader.sh) -e <es-version> -p <plugin-version> # install plugin $ ./bin/elasticsearch-plugin install file://`pwd`/elasticsearch-analysis-seunjeon-<plugin-version>.zip
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++
#!/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++'