Shanraq.org Shanraq.org
IT

ИИ без 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)

Пока нет комментариев. Будьте первым.