Үлкен тілдік үлгісіз ЖИ: қазақша мәтін үлгісі 7-сабақ (барлығы 20)
7-сабақ. Қысқа сұрақты сөздерге бөлеміз
Кітапханашы іздер алдында кітаптарды жеке тізімге түсіреді. Үлгі де негізді іздемес бұрын сұрақтағы сөздерді ажыратуы керек. Мұндағы сөз бөлшегі — бөліп алынған бір сөз; бөлу — мәтіннен сондай сөздерді алу.
Мәтін ИИ көмегімен аударылды.
Бұл не үшін керек?
Кітапханашы іздер алдында кітаптарды жеке тізімге түсіреді. Үлгі де негізді іздемес бұрын сұрақтағы сөздерді ажыратуы керек. Мұндағы сөз бөлшегі — бөліп алынған бір сөз; бөлу — мәтіннен сондай сөздерді алу.
Толық бағдарлама
ai-course қалтасында UTF-8 жазылымымен words.py файлын жасаңыз. Оны 6-сабақтағы letters.py сияқты іске қосыңыз.
text = input("Сұрақ: ")
clean = text.lower().replace("?", "").replace(",", "")
words = clean.split()
print(words)
Осы қадамның дайын файлы оқу жобасының қалтасында; алдымен осы сабақтағы код түсіндірмесін оқыңыз.
Үйлерде, мектептерде? деп енгізіңіз. Нәтиже: ['үйлерде', 'мектептерде']. Төртбұрышты жақшалар тізімді, яғни реті сақталған бірнеше мәнді білдіреді. Үтір мәндерді бөледі, тырнақшалар әр мәннің мәтін екенін көрсетеді. Бұларды өзіңіз термейсіз: Python нәтижені осылай көрсетеді.
Әр әрекетті түсінеміз
text.lower() бас әріптерді кіші әріпке айналдырған жаңа мәтін береді. Нүкте «сол жағындағы мәтінге осы әрекетті қолдан» дегенді білдіреді. replace("?", "") әр сұрақ белгісін бос мәтінмен ауыстырады; "" — ішінде бірде-бір әріп жоқ мәтін. Келесі replace үтірді де алып тастайды. Әр әрекет жаңа мәтін қайтарады; соңғысын clean деп сақтаймыз. split() мәтінді бос орындар мен жол аралықтары бойынша бөледі. Бос жақшалар бұл әрекетке қосымша нұсқау берілмегенін көрсетеді. Бұл әрекеттер Python анықтамасында сипатталған.
Бұл — шағын оқу ережесі. Ол нүкте, леп белгісі мен тырнақшаны алып тастамайды; сөздің ішіндегі үтір де жай жоғалады. Сондықтан оны кез келген мәтінді толық өңдейді деп ойламаңыз. Бос жол енгізсеңіз, [] шығады: бірде-бір сөз табылмаған.
Тірек сызба
Сұрақ → кіші әріп → ? пен , алып тастау → бос орыннан бөлу → сөздер тізімі. Әр қадамда «тағы қандай белгі қалуы мүмкін?» деп сұраңыз.
Еске түсіру және тапсырма
Кодты жауып, clean = ... жолындағы әр нүкте мен жақшаның қызметін айтыңыз. Одан кейін Мектептерде үйлер бар ма? деп енгізіңіз. Көмек: әуелі тек ? белгісін алып тастап, одан соң бос орындардан бөліңіз. Үлгі жауап: ['мектептерде', 'үйлер', 'бар', 'ма']. бар әзірше жеке сөз ғана; бағдарлама оның мағынасын білмейді. Жиі қате: lower() ұмытылса, бастапқы М бас әріп күйінде қалып, кейінгі кіші әріпті сөздікпен сәйкес келмейді.
Пікірлер (0)
Пікір қалдыру үшін кіріңіз →
Әзірге пікір жоқ. Бірінші болыңыз.