Какую нейросеть и какой метод обучения выбрать при такой задаче?
Есть язык CSS (Cascading Style Sheets), он имеет очень простой синтаксис и структуру.
Почти весь код состоит из блоков, где записаны свойства со значениями. Блок выглядит следующим образом:
div {
width: 50px;
height: 100px;
font-family: Times New Romance;
}
Меня интересует то, что в скобках (блоках). В примере есть width, height, font-family, это называется свойства и с ними мне предстоит работать.
Модель должна предлагать варианты автозавершения свойствам. Например я ввожу букву 'w', она предлагает 'width'. Обычно варианты для автозавершения выдаются в алфавитном порядке, мне же надо их ранжировать в зависимости от контекста.
Модели в каком-то виде будет подано много кода, она должна проанализировать его и научиться понимать например такие вещи:
если в самом начале блока пишется 'w', то надо подсказать 'width' (потому что обычно в начале блока на 'w' пишут width)
или если в блоке уже есть 'font-falimy', то он предложит 'font-size' (потому что после font-family обычно идёт font-size
Смысл в том чтобы модель поняла все зависимости сама.
В итоге 3 вопроса:
Какую нейросеть использовать?
Какой метод обучения выбирать?
Каким способом разметить данные?
Или такой: где я могу больше об этом узнать?
Всё что я знаю на данный момент, что мне надо использовать рекуррентные сети, потому что они могут анализировать контекст, но LSTM и GRU работают только при обучении с учителем(вроде). Может показаться, что я полный дилетант в этом, так и есть, мой уровень - 10-ти часовой курс. Но у меня есть задание и я должен его сделать. Пожалуйста, помогите.