feat(Go-StudyExample):2020/12/17:新增yanyiwu中文分词工具使用示例

This commit is contained in:
Huangzj
2020-12-17 09:15:56 +08:00
parent a97c2c9bcc
commit dc67bc0a60
4 changed files with 90 additions and 6 deletions
+64
View File
@@ -0,0 +1,64 @@
/*
* @Author : huangzj
* @Time : 2020/12/16 14:27
* @Description
*/
package participle
import (
"fmt"
"strings"
"testing"
"github.com/yanyiwu/gojieba"
)
const (
separator = "|" //字符串拼接,和该工具无关
)
func TestParticipleUseHMM(t *testing.T) {
var seg = gojieba.NewJieba()
defer seg.Free()
var resWords []string
var sentence = "万里长城万里长"
resWords = seg.CutAll(sentence)
fmt.Printf("%s\t全模式:%s \n", sentence, strings.Join(resWords, separator))
resWords = seg.Cut(sentence, true)
fmt.Printf("%s\t精确模式:%s \n", sentence, strings.Join(resWords, separator))
var addWord = "万里长"
seg.AddWord(addWord)
fmt.Printf("添加新词:%s\n", addWord)
resWords = seg.Cut(sentence, true)
fmt.Printf("%s\t精确模式:%s \n", sentence, strings.Join(resWords, separator))
sentence = "北京鲜花速递"
resWords = seg.Cut(sentence, true)
fmt.Printf("%s\t新词识别:%s \n", sentence, strings.Join(resWords, separator))
sentence = "北京鲜花速递"
resWords = seg.CutForSearch(sentence, true)
fmt.Println(sentence, "\t搜索引擎模式:", strings.Join(resWords, separator))
sentence = "北京市朝阳公园"
resWords = seg.Tag(sentence)
fmt.Println(sentence, "\t词性标注:", strings.Join(resWords, separator))
sentence = "鲁迅先生"
resWords = seg.CutForSearch(sentence, false)
fmt.Println(sentence, "\t搜索引擎模式:", strings.Join(resWords, separator))
words := seg.Tokenize(sentence, gojieba.SearchMode, false)
fmt.Println(sentence, "\tTokenize Search Mode 搜索引擎模式:", words)
words = seg.Tokenize(sentence, gojieba.DefaultMode, false)
fmt.Println(sentence, "\tTokenize Default Mode搜索引擎模式:", words)
word2 := seg.ExtractWithWeight(sentence, 5)
fmt.Println(sentence, "\tExtract", word2)
}