一个敏感词过滤包,使用它你可以:
- 判断文本中是否包含敏感词。
- 查找文本中包含了哪些敏感词。
- 将查找到的敏感词替换为指定的字符串。
目前支持中英文,后续打算添加对多音词支持。
go get -u github.com/usual2970/lad
添加模式串
machine := lad.New()
machine.Add("hello")
machine.Add("world")
machine.Build()
从文件中加载模式串,格式为一行一个词组
machine := lad.New()
if err := machine.Load("data path"); err != nil {
t.Error(err)
}
machine.Build()
匹配字符串
machine.Match(text)
查找字符串
machine.Find(text)
替换字符串
machine.Replacee(text,target)
2017版macbook pro,2核8gb,1k个模式串,文本长度100个字符,benchmark结果如下。
goos: darwin
goarch: amd64
pkg: lad
cpu: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
BenchmarkAcMachine_Find
BenchmarkAcMachine_Find/find
BenchmarkAcMachine_Find/find-4 322304 3736 ns/op
- 添加模式串,构建ac自动机
- 从文件中加载模式串,构建ac自动机
- 匹配字符串
- 支持英文
- 支持多音字
- 词组支持
Released under the MIT License.