kiwigo - 韓国語形態素解析器 kiwi の Go バインディング
(github.com)kiwigo は、C++ で作られた韓国語形態素解析器 kiwi(https://github.com/bab2min/Kiwi) の Golang バインディングです。
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}]
}
4件のコメント
公開ありがとうございます! さまざまなところで使えそうですね。
ご関心をお寄せいただき、ありがとうございます。 :)
Goにもついに形態素解析器が!!
その通りです! さまざまな形態素解析器がいろいろな場所で使えると良いと思います。 :)