在Elasticsearch中是否有规范英国和美国英语的最佳做法?
使用Synonym Token Filter需要一个非常长的配置文件。在英国和美国英语中实际上有几千个拼写不同的单词,而且几乎不可能找到一个非常全面的单词列表。这是一个list of almost 2.000 words,但它还远未完成。
最好,我想创建一个rules to transform US to UK英语的ES分析器/过滤器。也许这是更好的方法,但我不知道从哪里开始 - 我需要哪种类型的过滤器?它不必涵盖所有内容 - 它应该只是标准化大多数搜索术语。例如。 “灰色” - “灰色”,“颜色” - “颜色”,“中心” - “中心”等。
答案 0 :(得分:2)
我意识到这个答案与OP的初始问题有所不同,但是如果你只想将美式英语与英式英语拼写变体标准化,你可以在这里查看一个可管理的大小列表(约1,700个替换):http://www.tysto.com/uk-us-spelling-list.html。我确信还有其他人可以用来创建合并的主列表。
除了拼写变异之外,你必须非常小心,不要轻易地用美国英语中的(假设!)对应词单独替换单词。除了最实用的词法替换之外,我会建议你。例如,我无法从这个发现任何不良事件
"逆时针,逆时针,逆时针=>逆时针"
但是这个
" hobo,无家可归者,tramp =>烧伤"
指数"一个无家可归的人" => *"一个笨蛋",这是胡说八道。 (更不用说流浪汉,无家可归者和"流浪汉"非常截然不同 - http://knowledgenuts.com/2014/11/26/the-difference-between-hobos-tramps-and-bums/。)
总之,除了拼写变异之外,美国与英国的方言划分是复杂的,不能简化为简单的列表查找。
P.S。如果你真的想要做到这一点(即考虑语法上下文等),你可能需要一个上下文敏感的释义模型来"翻译"英国人到美国英语(或反过来,取决于你的需要)才能达到ES指数。这可以使用现成的统计翻译模型完成(使用足够的并行数据),甚至可以使用自然语言解析,POS标记,分块等自定义内部软件。