3 Punkte von mrchypark 2021-10-31 | 4 Kommentare | Auf WhatsApp teilen

kiwigo ist ein Golang-Binding für kiwi (https://github.com/bab2min/Kiwi), einen auf C++ basierenden koreanischen morphologischen Analysator.

Zu den Stärken von kiwi zählen die einfache Registrierung benutzerdefinierter Wörterbücher und die hohe Verarbeitungsgeschwindigkeit.

In Golang kann man über cgo C-Quellcode nutzen. Glücklicherweise stellt kiwi eine C-API offen bereit, sodass sie sich gut verwenden ließ.

kiwigo versucht, die C-Schnittstelle von kiwi so weit wie möglich unverändert bereitzustellen.

Ich freue mich über das Interesse vieler Nutzer; PRs, Hinweise, Stars, Likes, Upvotes und Kommentare sind alle willkommen.

Zum Schluss teile ich ein ausführbares Beispiel.


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 Kommentare

 
xguru 2021-11-02

Vielen Dank für die Veröffentlichung! Ich glaube, dass es an vielen verschiedenen Stellen eingesetzt werden kann.

 
mrchypark 2021-11-02

Vielen Dank für Ihr Interesse. :)

 
kkweon 2021-10-31

Endlich gibt es auch für Go einen Morphologie-Analysator!!

 
mrchypark 2021-10-31

Stimmt! Es wäre schön, wenn mehrere morphologische Analysatoren an verschiedenen Stellen eingesetzt werden könnten. :)