Ошибка с алгоритмом определения, написаны ли описания приложений на английском языке

Мы индексируем приложения в 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.

2 ответа

Проверьте драгоценный камень WhatLanguage. Вот демоверсия YouTube. Например:

"This is a test".language   # => "English"

Я разработал веб-сервис специально для определения языка текста. Он может сказать вам, является ли язык английским или нет. Вы можете прочитать больше об этом на http://www.whatlanguage.net/en/api/language_identification_made_easy. Если у вас есть вопросы, пожалуйста, дайте мне знать.

Другие вопросы по тегам