瀏覽代碼

feat:中文分词

wangshan 3 年之前
父節點
當前提交
ab3a621918
共有 3 個文件被更改,包括 36 次插入0 次删除
  1. 1 0
      src/github.com/yanyiwu/gojieba
  2. 8 0
      src/qfw/util/participle/README.md
  3. 27 0
      src/qfw/util/participle/participle.go

+ 1 - 0
src/github.com/yanyiwu/gojieba

@@ -0,0 +1 @@
+Subproject commit a30c1dcd29bb0cb07919b5aa169963c24bf44182

+ 8 - 0
src/qfw/util/participle/README.md

@@ -0,0 +1,8 @@
+### golang中文分词
+# ## 参考:go get github.com/yanyiwu/gojieba
+
+* 精确模式:将句子精确切开,适合文本字符分析
+* 全模式:把短语中所有的可以组成词语的部分扫描出来,速度非常快,会有歧义
+* 搜索引擎模式:精确模式基础上,对长词再次切分,提升引擎召回率,适用于搜索引擎分词
+
+# 1、NPS 用户提交信息分词记录 建议精确模式

+ 27 - 0
src/qfw/util/participle/participle.go

@@ -0,0 +1,27 @@
+package participle
+
+import (
+	"strings"
+
+	"github.com/yanyiwu/gojieba"
+)
+
+//sw 1:全模式;2:精确模式;3:搜索引擎模式
+func Participle(sw int, word string) []string {
+	x := gojieba.NewJieba()
+	defer x.Free()
+	return func(word string) []string {
+		use_hmm := true
+		switch sw {
+		case 1:
+			return x.CutAll(word)
+		case 2:
+			return x.Cut(word, use_hmm)
+		case 3:
+			return x.CutForSearch(word, !use_hmm)
+		default:
+			return strings.Split(word, " ")
+		}
+	}(word)
+
+}