3 คะแนน โดย mrchypark 2021-10-31 | 4 ความคิดเห็น | แชร์ทาง WhatsApp

kiwigo เป็น golang binding ของ kiwi (https://github.com/bab2min/Kiwi) ซึ่งเป็นเครื่องมือวิเคราะห์หน่วยคำภาษาเกาหลีที่พัฒนาด้วย cpp

จุดเด่นของ kiwi คือสามารถลงทะเบียนพจนานุกรมผู้ใช้ได้ง่ายและประมวลผลได้รวดเร็ว

ใน Golang สามารถใช้ซอร์สภาษา C ผ่าน cgo ได้ และต้องขอขอบคุณที่ kiwi เปิด c api ไว้ ทำให้สามารถนำมาใช้งานได้อย่างดี

kiwigo พยายามเปิดเผย c interface ของ kiwi ให้คงรูปแบบเดิมไว้ให้มากที่สุด

ขอฝากให้ทุกท่านช่วยติดตามกันด้วย และยินดีต้อนรับทั้ง pr, ความเห็น, star, like, upvote และคอมเมนต์ทุกรูปแบบ

สุดท้ายนี้ขอแชร์ตัวอย่างโค้ดที่สามารถรันได้


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 ความคิดเห็น

 
xguru 2021-11-02

ขอบคุณที่เผยแพร่ครับ! ดูแล้วน่าจะนำไปใช้ได้ในหลากหลายที่เลยครับ

 
mrchypark 2021-11-02

ขอบคุณที่ให้ความสนใจครับ :)

 
kkweon 2021-10-31

ใน Go ก็มีตัววิเคราะห์เชิงสัณฐานวิทยาแล้วในที่สุด!!

 
mrchypark 2021-10-31

ถูกต้องเลยครับ! น่าจะดีถ้ามีตัววิเคราะห์หน่วยคำหลาย ๆ ตัวที่สามารถนำไปใช้ได้ในหลากหลายที่ครับ :)