我们在Apple App Store上索引应用程序,但需要过滤掉那些描述不是用英语编写的应用程序。
但是,我们目前的算法失败了。例如,它无法将这个游戏打成不是用英语写的。
以下是我们用来确定某些内容是否被视为英语的布尔方法和正则表达式:
NonEnglishRegex = /[^ 40-176u2000-u206Fu2100-u214Fu2E00-u2E7Fu3000-u303Fu00AEu2605u272b-u272es]/
def not_english?(text)
text.gsub(NonEnglishRegex, '').length.to_f / text.length < 0.95
end
有没有更好的方法?我们正在使用 Ruby。
查看 WhatLanguage gem。这是一个YouTube演示。例如:
"This is a test".language # => "English"
我开发了一个专门用于检测文本语言的 Web 服务。它可以告诉你一种语言是否是英语。您可以在 http://www.whatlanguage.net/en/api/language_identification_made_easy .如果您有任何疑问,请告诉我。