yanyiwu / gojieba

"结巴"中文分词的Golang版本
MIT License
2.39k stars 302 forks source link

RemoveWord方法无效,而且AddWord针对英文词组无效 #108

Open xiaominger opened 1 year ago

xiaominger commented 1 year ago

func main() { var s string var words []string use_hmm := true x := gojieba.NewJieba() defer x.Free()

s = "比特币发财秘诀哈哈脚 you are good"

words = x.Cut(s, use_hmm)
fmt.Println(s)
fmt.Println("精确模式:", strings.Join(words, "/"))

x.AddWord("哈哈脚")
x.AddWordEx("you are", 100000, "")
// `AddWordEx` 支持指定词语的权重,作为 `AddWord` 权重太低加词失败的补充。
// `tag` 参数可以为空字符串,也可以指定词性。
// x.AddWordEx("比特币", 100000, "")
words = x.Cut(s, use_hmm)
fmt.Println(s)
fmt.Println("添加词典后,精确模式:", strings.Join(words, "/"))

x.RemoveWord("哈哈脚")
x.RemoveWord("you are")

words2 := x.Cut(s, use_hmm)
fmt.Println(s)
fmt.Println("删除词典后,精确模式:", strings.Join(words2, "/"))

}

输出: 比特币发财秘诀哈哈脚 you are good 精确模式: 比特/币/发财/秘诀/哈哈/脚/ /you/ /are/ /good 比特币发财秘诀哈哈脚 you are good 添加词典后,精确模式: 比特/币/发财/秘诀/哈哈脚/ /you/ /are/ /good 比特币发财秘诀哈哈脚 you are good 删除词典后,精确模式: 比特/币/发财/秘诀/哈哈脚/ /you/ /are/ /good

you are没有单独拆出来,而且删除哈哈脚后,最后结果哈哈脚还是单独分出来了