3P by mrchypark 2021-10-31 | favorite | 댓글 4개

kiwigo는 cpp로 제작된 한글 형태소 분석기인 kiwi(https://github.com/bab2min/Kiwi)의 golang binding 입니다.

kiwi는 쉬운 사용자 사전 등록과 고속 처리가 장점이라고 할 수 있습니다.

Golang 에서는 cgo를 통해 c 소스를 활용할 수 있는데요. 감사하게도 kiwi에서 c api를 오픈해두셔서 잘 활용할 수 있었습니다.

kiwigo는 최대한 kiwi의 c 인터페이스를 그대로 노출하려고 노력하였습니다.

많은 분들의 관심 부탁드리며, pr, 참견, 스타, 좋아요, 업보트, 댓글 무엇이든 환영합니다.

마지막으로 실행 가능한 예시 코드를 공유합니다.

```
package kiwi_test

import (
"fmt"

kiwi "github.com/codingpot/kiwigo"
)

func Example() {
kb := kiwi.NewBuilder("./ModelGenerator", 1 /*=numThread*/, kiwi.KIWI_BUILD_INTEGRATE_ALLOMORPH /*=options*/)
kb.AddWord("코딩냄비", "NNP", 0)

k := kb.Build()
defer k.Close() // don't forget to Close()!

results, _ := k.Analyze("안녕하세요 코딩냄비입니다. 부글부글.", 1 /*=topN*/, kiwi.KIWI_MATCH_ALL)
fmt.Println(results)
// Output:
// [{[{0 NNG 안녕} {2 XSA 하} {4 EP 시} {3 EC 어요} {6 NNP 코딩냄비} {10 VCP 이} {11 EF ᆸ니다} {13 SF .} {15 NNP 부글부} {18 NNG 글} {19 SF .}] -69.74997}]
}
```

공개 감사합니다! 다양한 곳에서 쓰일 수 있을 것 같아요.

관심 가져주셔서 감사합니다. :)

고에도 드디어 형태소 분석기가 !!

맞습니다! 여러 형태소 분석기가 다양한 곳에서 사용할 수 있으면 좋을 것 같습니다. :)