2

我们对 Apple App Store 上的应用程序进行索引,但需要过滤掉那些描述不是用英文写成的应用程序。

但是,我们当前的算法失败了。例如,它在为这场比赛打分时失败了,因为它不是用英文写的。

这是我们用来确定某些内容是否被视为英语的布尔方法和正则表达式:

  NonEnglishRegex = /[^\040-\176\u2000-\u206F\u2100-\u214F\u2E00-\u2E7F\u3000-\u303F\u00AE\u2605\u272b-\u272e\s]/

  def not_english?(text)
     text.gsub(NonEnglishRegex, '').length.to_f / text.length < 0.95
  end

有没有更好的办法?我们正在使用 Ruby。

4

2 回答 2

2

查看WhatLanguage gem。这是一个 YouTube 演示。例如:

"This is a test".language   # => "English"
于 2014-03-02T04:02:09.377 回答
0

我开发了一个专门用于检测文本语言的 Web 服务。它可以告诉你一种语言是否是英语。您可以在http://www.whatlanguage.net/en/api/language_identification_made_easy阅读更多相关信息。如果您有任何问题,请告诉我。

于 2014-03-02T10:06:57.313 回答