Как отличить код от «человеческого текста» на платформах Apple? - PullRequest
0 голосов
/ 07 мая 2019

Моя проблема в двух словах: для данной строки я хотел бы определить, является ли она фрагментом кода или произвольным текстом на человеческом языке.Это должно работать на устройствах 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платформы?(Определение конкретного языка программирования было бы бонусом, но не обязательно). Не обязательно должно быть основано на машинном обучении, хотя это, кажется, наиболее перспективный путь.

...