Ошибка с алгоритмом определения, написаны ли описания приложений на английском языке
Мы индексируем приложения в 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. Если у вас есть вопросы, пожалуйста, дайте мне знать.