ИИ без LLM: казахская модель с нуля Урок 8 из 20
Урок 8. Создаём словарь известных основ
Список гостей на входе помогает узнать, кого пригласили; похожее имя не даёт права впустить человека. Наш словарь основ — список форм, которые модель уже умеет узнавать. Пока мы подаём ей одну основу без окончаний. Слова үйлер и мектепте станут понятны позже.
Текст переведён с помощью ИИ.
Зачем это нужно
Список гостей на входе помогает узнать, кого пригласили; похожее имя не даёт права впустить человека. Наш словарь основ — список форм, которые модель уже умеет узнавать. Пока мы подаём ей одну основу без окончаний. Слова үйлер и мектепте станут понятны позже.
Целая программа
Создайте roots.py в той же папке и кодировке, что прошлые файлы. Запустите python3 roots.py или py roots.py.
roots = {"үй": "баспана", "мектеп": "оқу орны"}
word = input("Негіз: ").lower()
if word in roots:
print(roots[word])
else:
print("білмеймін")
Готовый файл этого шага доступен в папке учебного проекта; сначала прочитайте объяснение кода в этом уроке.
Для ввода үй ответ баспана («жилище»); для мектеп — оқу орны («место учёбы»); для кітап — білмеймін («не знаю»). Запускайте файл заново для каждого опыта.
Каждый новый знак
Фигурные скобки {...} задают словарь: пары «ключ → значение», как подписи на ящиках. Ключ "үй" указывает на значение "баспана". Двоеточие между ними связывает пару, запятая отделяет следующую пару. Внутри roots[word] квадратные скобки означают: «достань значение по ключу, лежащему в word». Это не тот же список, что в уроке 7: действие скобок зависит от того, что стоит слева.
if word in roots: спрашивает, есть ли такой ключ в словаре. if — «если», in — «содержится». Двоеточие после условия начинает блок действий. Четыре пробела перед print показывают, что эта строка выполняется только при выполненном условии. else: значит «иначе»; её строка с четырьмя пробелами выполняется при неизвестном ключе. lower() нужен потому, что ключи записаны маленькими буквами. Сравнение здесь точное: похожее слово не становится известным автоматически.
Пустой ввод тоже неизвестен. Удалять пробелы вокруг слова и узнавать окончания мы ещё не научились. Не подменяйте неизвестное слово угадыванием: отказ сохраняет доверие к будущему ответу.
Опорная карта
Одна введённая основа → маленькие буквы → ключ есть в словаре? → известное значение или білмеймін.
Вспомните и выполните
Скройте код, нарисуйте два «ящика» с подписями үй и мектеп и восстановите блок if/else. Затем попробуйте ҮЙ, үй, үйлер, кітап. Подсказка: большая буква уменьшается, окончание не удаляется. Эталон: первые два ввода дают баспана, последние два — білмеймін. Частая ошибка: убрать отступ перед print(roots[word]) — тогда Python не поймёт, какая строка относится к if. Если ошибка на строке со скобками, проверьте, что использованы обычные " и все скобки закрыты.
Если вы нашли ошибку или опечатку в тексте статьи, то сообщите нам об этом
Комментарии (0)
Войдите, чтобы оставить комментарий →
Пока нет комментариев. Будьте первым.