go-ego / gse

Go efficient multilingual NLP and text segmentation; support English, Chinese, Japanese and others.
Apache License 2.0
2.57k stars 215 forks source link

老哥,停止词典的那个方法一直无法生效,咋回事呀 #141

Closed ColorfulDick closed 2 years ago

ColorfulDick commented 2 years ago

package main

import ( "fmt"

"github.com/go-ego/gse"

)

var ( text = "第一次爱的人是谁演唱的" new, _ = gse.New("dict.txt")

seg gse.Segmenter

)

func main() { cut() }

// loadDictEmbed supported from go1.16 func loadDictEmbed() { seg.LoadDictEmbed() seg.LoadStopEmbed() }

func cut() { new.LoadStop("stop.txt") new.IsStop("是") //将“是“加入停止词典以后,“是”仍然出现在了分词结果中 fmt.Println("cut: ", new.Cut(text, true)) fmt.Println("cut all: ", new.CutAll(text)) fmt.Println("cut for search: ", new.CutSearch(text, true)) fmt.Println(new.String(text, true)) }

// 输出结果如下: // cut: [第一次爱的人 是 谁 演唱 的] //cut all: [第一次爱的人 是 谁 演 唱 的] //cut for search: [第一次爱的人 是 谁 演唱 的] // 第一次爱的人/n 是/x 谁/x 演/x 唱/x 的/x

vcaesar commented 2 years ago

Closed because of duplication and non-standard. You should use new.AddStop("xxx").

ColorfulDick commented 2 years ago

谢谢好哥哥