Моя проблема в двух словах: для данной строки я хотел бы определить, является ли она фрагментом кода или произвольным текстом на человеческом языке.Это должно работать на устройствах Apple (как macOS, так и iOS) локально на устройстве.
Итак:
- Если строка ввода
body { color: #c00; }
, ее можно классифицировать как css
илиcode
.(То же самое для более сложных фрагментов многострочного кода.) - Если ввод
the quick brown fox jumps over the lazy dog
, его следует классифицировать как text
.
Я думал об использовании CoreML. отличный пример того, как определить язык программирования.В нем отсутствует одна важная часть для моего использования: нет «другой» категории, если обнаружение не соответствует ни одному из языков программирования.CoreML также не обеспечивает достоверность прогноза.(Если бы был низкий уровень достоверности для всех языков, я мог бы предположить, что текст не является кодом.)
Одним из выходов из этого с CoreML было бы обучение моей модели также с использованием человеческого языка рядом с программированием.примеры языков, но я не очень хочу этого делать, я хочу, чтобы размер модели оставался достаточно маленьким.
Существует некоторая связанная работа, основанная на Keras , где я могу видетьон способен выводить оценку достоверности для каждого языка.Я не эксперт в Keras или ML, хотя и не знаю, как донести это до мира Apple.
Какое решение я мог бы использовать, чтобы различать «код» и «текст» в Appleплатформы?(Определение конкретного языка программирования было бы бонусом, но не обязательно). Не обязательно должно быть основано на машинном обучении, хотя это, кажется, наиболее перспективный путь.