Installation
The module requires Go 1.26.
go get github.com/tericcabrel/keyphrase@v0.1.0
A blank import registers a language. Import only the languages you need. Each one embeds its own part-of-speech model and rarity table.
One language:
import (
"fmt"
"github.com/tericcabrel/keyphrase/extractor"
_ "github.com/tericcabrel/keyphrase/lang/en"
)
kws, err := extractor.Extract(text, "en", 10)
if err != nil {
panic(err)
}
for _, kw := range kws {
fmt.Printf(
"The keyword %s is located between %d and %d\n",
kw.Text, kw.StartByte, kw.EndByte,
)
}
Two languages:
import (
"fmt"
"github.com/tericcabrel/keyphrase/extractor"
_ "github.com/tericcabrel/keyphrase/lang/en"
_ "github.com/tericcabrel/keyphrase/lang/fr"
)
kws, err := extractor.Extract(text, "fr", 10)
if err != nil {
panic(err)
}
for _, kw := range kws {
fmt.Printf(
"The keyword %s is located between %d and %d\n",
kw.Text, kw.StartByte, kw.EndByte,
)
}
lang/all embeds and registers every built-in language.
import (
"fmt"
"github.com/tericcabrel/keyphrase/extractor"
_ "github.com/tericcabrel/keyphrase/lang/all"
)
kws, err := extractor.Extract(text, "de", 10)
if err != nil {
panic(err)
}
for _, kw := range kws {
fmt.Printf(
"The keyword %s is located between %d and %d\n",
kw.Text, kw.StartByte, kw.EndByte,
)
}
Call extractor.Extract. ExtractWithCounts returns the same phrases plus a count summary. lang, postag, and rarity are public packages. lang.Pack is how you add a language.
Package docs: pkg.go.dev/github.com/tericcabrel/keyphrase.