diff --git a/utils/gse.go b/utils/gse.go index 74f42de..64539a6 100644 --- a/utils/gse.go +++ b/utils/gse.go @@ -2,7 +2,6 @@ package utils import ( "context" - "path/filepath" "sort" "sync" @@ -37,56 +36,25 @@ type gseTool struct { tr *extracker.TextRanker } -// newGseTool 初始化工具(使用外部数据文件) +// newGseTool 初始化工具(内置词典 + 停用词) func newGseTool() (tool *gseTool, err error) { // 1. 初始化分词器 var seg gse.Segmenter - - // gse数据文件在可执行文件同级的gse/dict目录下 - gseDataPath := "gse" - dictPath := filepath.Join(gseDataPath, "dict", "zh") - idfPath := filepath.Join(dictPath, "idf.txt") - stopPath := filepath.Join(dictPath, "stop.txt") - - // 加载词典 - err = seg.LoadDict(filepath.Join(dictPath, "dict.txt")) + // 内置词典(无外部文件) + err = seg.LoadDictEmbed() if err != nil { - glog.Warning(context.Background(), "加载gse词典失败,尝试embed模式:", err) - // 回退到embed模式 - err = seg.LoadDictEmbed() - if err != nil { - return - } - err = seg.LoadStopEmbed() - if err != nil { - return - } - tfidf := &extracker.TagExtracter{} - tfidf.WithGse(seg) - err = tfidf.LoadIdf() - if err != nil { - return - } - tr := &extracker.TextRanker{} - tr.WithGse(seg) - tool = &gseTool{ - seg: seg, - tfidf: tfidf, - tr: tr, - } return } - - // 加载停用词 - err = seg.LoadStop(stopPath) + // 内置停用词(v1.0.2 标准) + err = seg.LoadStopEmbed() if err != nil { - glog.Warning(context.Background(), "加载停用词失败,继续:", err) + return } // 2. 初始化 TF-IDF 提取器 tfidf := &extracker.TagExtracter{} tfidf.WithGse(seg) - err = tfidf.LoadIdf(idfPath) + err = tfidf.LoadIdf() if err != nil { return }