Что такое лучшая библиотека обнаружения языка или веб-api? [даже оплачено] [закрыто]
Во-первых, у меня есть много текста. Скажем, у меня есть 10000 символов для каждой попытки. Скрипт основан на php, но я могу использовать все, что захочу. C++, java, никаких проблем.
Google language api не может быть использован: их лимиты использования низки.
Я уже 6 часов пытаюсь придумать что-нибудь замечательное, но пока ничего. Может кто-нибудь указать мне на мой лучший шанс?7 ответов:
Существует API обнаружения языков, который предоставляет как бесплатный, так и премиум-сервис.
Он принимает текст через GET или POST и обеспечивает вывод JSON с баллами.
Java-инструменты:
Apache Tika : не все языковые профили, но вы можете добавить их самостоятельно
public String detectLangTika(String text) throws SystemException { LanguageIdentifier li = new LanguageIdentifier(text); if (li.isReasonablyCertain()) return li.getLanguage(); else throw new Exception("Tika lang detection not reasonably certain"); }
Language-detection : много языковых профилей, отлично работает для меня.
DetectorFactory.loadProfile(new File(LangDetector.class.getClassLoader().getResource("profiles").toURI())); public String detectLangLD(String text) throws SystemException { Detector detector; String lang; try { detector = DetectorFactory.create(); detector.append(text); lang = detector.detect(); } catch (LangDetectException e) { throw new SystemException("LangDetector Failure", e); } return lang; }
Наиболее точный инструмент был API-интерфейса Google Ланг обнаружения, которая была прекращена и заменена платной Гугл транслейт АПИ.
Здесь есть еще один API freemium: API обнаружения языков
Вы можете легко проверить конечные точки с этой страницы.
Он принимает как GET, так и POST запросы (для более длительного ввода) и ответ JSON со следующей структурой:
{ language: "eng", isReliable: "true", confidence: "0.9979894639898946" }
Отказ от ответственности: я предоставляю этот API.
Я бы рекомендовал использовать languagelayer.com , они предлагают бесплатный веб-сервис RESTful JSON API, который может обнаружить около 170 языков. Пакетные запросы также предлагаются.
Запрос GET API (POST promoted) выглядит примерно так:
https://apilayer.net/api/detect ? access_key = YOUR_ACCESS_KEY & query = I like apples and oranges
И вот ответ JSON:
5 000 ежемесячных запросов бесплатны, если вам нужно больше (как я сделал), то самая дешевая подписка составляет $4,99/mo для 50 000 запросов. (Подробнее здесь){ "success": true, "results": [ { "language_code": "en", "language_name": "English", "probability": 83.896703655741, "percentage": 100, "reliable_result": true } ] }
Вы можете использовать Rosoka. Он обнаруживает 230 различных языков. Вы можете попробовать его через Amazon AWS Market в Rosoka Cloud
Вы платите за использованное время.