gpt4 book ai didi

ruby-on-rails - 如何将整个单词与 Aho corasick 匹配?

转载 作者:行者123 更新时间:2023-12-05 06:17:07 37 4
gpt4 key购买 nike

我们的 ruby​​ on rails 应用程序使用 aho corasick gem 来查找任何给定文本是否包含任何预先列出的坏词(这些是在加载应用程序时从静态配置中挑选出来的)。

但是,使用它会产生一些误报。例如,如果我在配置中的坏词是“abc”,那么包含“habcd”的文本也会被标记,这不是本意。

因此,我尝试将配置词从“abc”更改为“abc”(在词前后添加空格)。然而,这有另一个缺点,即像“abc is xyz”这样的文本不会被标记,而这是应该的。所以,我还必须在我的配置中添加另外两个词 - “abc”和“abc”,同样我需要在我的配置中添加“-abc”,“abc-”,“:abc”等,使配置非常大,因为除了 abc 之外还有很多这样的词。

所以,我在想是否可以在我的配置中输入某种正则表达式,例如 [",-""]abc[",-""] 以便涵盖所有上述情况,而不是会发现误报。

我们使用 gem 'aho_corasick', '0.1.0' 以及 ruby​​ - 1.9.3 和 rails - 3.2.8

非常感谢任何帮助。提前致谢!! :)

最佳答案

解决此问题的最简单方法是使用标准实现获取所有匹配项,然后删除第一个和最后一个字符前后没有单词分隔符的匹配项。在一般情况下,不会对性能造成重大影响,因为您的匹配项很少。

关于ruby-on-rails - 如何将整个单词与 Aho corasick 匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61782209/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com