parent
41f7a89993
commit
a8b40dd0c1
File diff suppressed because it is too large
Load Diff
@ -1,49 +0,0 @@
|
|||||||
package gse
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"unicode"
|
|
||||||
"unicode/utf8"
|
|
||||||
|
|
||||||
"github.com/go-ego/gse"
|
|
||||||
"github.com/go-ego/gse/hmm/pos"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
seg gse.Segmenter
|
|
||||||
posSeg pos.Segmenter
|
|
||||||
loadedDict = false
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
go loadDict()
|
|
||||||
}
|
|
||||||
|
|
||||||
func loadDict() {
|
|
||||||
err := seg.LoadDictEmbed()
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println("seg.LoadDictEmbed", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
err = seg.LoadStopEmbed()
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println("seg.LoadStopEmbed", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
loadedDict = true
|
|
||||||
}
|
|
||||||
|
|
||||||
func SegWords(text string) (words []string) {
|
|
||||||
if !loadedDict {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
wds := seg.Cut(text)
|
|
||||||
for _, wd := range wds {
|
|
||||||
// 跳过单字、空格、标点、数字
|
|
||||||
if utf8.RuneCountInString(wd) == 1 || unicode.IsSpace(rune(wd[0])) || unicode.IsPunct(rune(wd[0])) || unicode.IsDigit(rune(wd[0])) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
words = append(words, wd)
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
Loading…
Reference in new issue