我正在使用德语语言分析器对一些内容进行标记。我知道它基本上是一个“小写”,"german_stop","german_keywords","german_normalization","german_stemmer“的宏过滤器。
第二个转换是好的,但第一个导致的问题比它解决的问题更多。在德语文本中,通常没有ae,ue,oe真正代表ä,ü,ö。它们实际上出现的大多数时候都是在外来词中,源自拉丁语或英语,比如'Aearodynamik‘(空气动力学)。然后,过滤器将'Ae‘解释为’Ae‘,然后将其转换为'A’。这会产生“arodynamik”作为令牌。通常这不是问题,因为搜索词也使用该过滤器进行了标准化。然而,如果与通配符搜索结合使用,这确实会成为一个问题:
想象一下像“FooEdit”这样的单词,它将被标记为“foodit”。搜索'edit OR *edit*‘(这是我在用户搜索'edit’时的常规搜索)不会得到结果,因为‘edit’的'e‘丢失了。因为我的内容有很多这样的词,而且人们都在搜索部分词,所以并不像看起来的那样是一种边缘情况。
所以我的问题是,有没有办法摆脱'ae -> a‘转换?我的理解是,这是German2 snowball algorithm的一部分,所以这可能无法更改。这是否意味着我必须摆脱整个标准化步骤,或者我可以提供我自己的雪球算法版本,其中我只是剥离了我不喜欢的部分(没有找到任何关于如何使用自定义雪球算法进行标准化的文档)?
THE END