首页 > 解决方案 > 如何在 PostgreSQL 的文本列中检测除英语以外的其他语言(非拉丁语)?

问题描述

我有一个包含两列的表:一列是 id,另一列是文本列。我只想保留文本值为英文的行。

我所说的语言是使用非拉丁字母的语言,例如阿拉伯语、汉语和西里尔语。这个问题在 2012 年左右被问到,我想知道是否有一些新的解决方案,而不是用另一种编程语言来处理它!

标签: postgresqlnon-englishlanguage-recognition

解决方案


这不是一个容易的问题。那里有几个用于语言检测的库(例如 langdetect),但它们在数据库中不起作用,因此您必须通过选择它们来处理所有记录,用另一种语言处理它们,然后在测试失败时删除它们. 此外,准确率不是很高,并且随着文本变短而降低;如果您的文本只是几个单词,那么准确性非常可怕。


推荐阅读