Mетоди, примена и теоретски основи на обработка на природен јазик NLP (I дел)

Обработката на природен јазик (NLP) претставува интердисциплинарна научна област во рамките на современата вештачка интелигенција, која се фокусира на интеракцијата помеѓу човечкиот јазик и компјутерските системи. Оваа дисциплина произлегува од напредните генеративни модели и промпт инженерингот (Prompt Engineering). Главната цел на NLP е да овозможи компјутерите да го разберат, интерпретираат и соодветно да одговорат на текстуални и говорни податоци создадени од луѓето. Оваа дисциплина ги обединува знаењата и техниките од лингвистиката, компјутерските науки и вештачката интелигенција, со што се овозможува развој на системи кои можат да извршуваат задачи како автоматски превод, препознавање на говор, анализа на сентимент, екстракција на информации, автоматско резимирање на текст и други.

Јазикот како предмет на компјутерска анализа

Обработката на природен јазик (Natural Language Processing – NLP) ги интегрира лингвистиката, когнитивната наука и компјутерската наука во рамките на современата вештачка интелигенција. Основната цел на NLP е да се развијат методи и системи кои ќе овозможат машините функционално да интерпретираат, разбираат и генерираат јазик на начин приближен до човечката комуникација.

Природниот јазик е сложен когнитивен и општествен феномен, вкоренет во историскиот, културниот и социјалниот контекст на заедниците што го употребуваат. Наспроти тоа, формалните јазици претставуваат вештачки конструирани системи на симболи, развиени за специфични домени како што се математиката, логиката и информатиката. Формалните јазици ги дефинираат недвосмислени синтаксички и семантички правила.

Двосмисленоста, контекстуалноста и фигуративноста на природниот јазик го отежнуваат автоматизираното и прецизно јазично процесирање при компјутерската обработка. Историски гледано, обработката на природен јазик еволуира од симболички пристап, кој го третира јазикот како систем на правила, кон неврален пристап што користи статистички и машински методи за негово моделирање.

Организација на јазикот низ различни структурни нивоа

Јазикот претставува систем за комуникација со сопствени внатрешни правила. Науката што ги проучува општите закони на појавата и развојот на јазикот се нарекува лингвистика. Лингвистиката опфаќа различни дисциплини што го анализираат јазикот од повеќе аспекти, како граматиката и неговата поврзаност со општеството, поединецот, мозокот, идентитетот, културата, комуникацијата, како и современите технологии. Во рамките на лингвистиката се вклучени дисциплини како што се: фонетика, фонологија, морфологија, синтакса, лексикологија, лексикографија, фразеологија, зборообразување, стилистика и дијалектологија. Бидејќи јазикот е систем за комуникација во кој постојат внатрешни правила, задача на лингвистите е да ги откријат и опишат сите својства и функции на тој систем. Тоа значи дека голем дел од лингвистиката е посветен на различните структурни единици на јазикот, како што се гласовите, зборовите или речениците, па затоа за секое ниво од структурата на јазикот постои посебна лингвистичка дисциплина.

Фонологијата е основно и темелно ниво во проучувањето на јазикот, која се занимава со системот на звуци во еден јазик. Таа ги разгледува физичките и акустичните карактеристики на јазикот и нивната улога во јазичниот систем, што значи дека фонологијата ги проучуваз звуците како апстракни единици кои се нарекуваат фонеми. Во контекстот на NLP, фонологијата е особено релевантна за системите за препознавање и синтеза на говор, каде разликите помеѓу акцентите, дијалектите и говорните стилови создаваат значителни технолошки предизвици. Разликите во фонолошките карактеристики меѓу говорниците создаваат комплексност која мора да се моделира и обработи за да се овозможи точна и ефективна комуникација помеѓу човекот и машината.

Следното ниво, морфологијата, ја проучува внатрешната структура на зборовите и начинот на кој минималните значењски единици, наречени морфеми, се комбинираат за да создадат зборовни форми. Разликата помеѓу типологиите на јазиците (аглутинативните, флективните и аналитичките јазици) претставува значителен предизвик за автоматската морфолошка анализа во NLP системите. Аглутинативните јазици формираат зборови преку јасно одделени морфеми, каде секоја морфема има специфична функција, додека аналитичките јазици користат повеќе независни зборови и помалку морфолошки промени. Флективните јазици, меѓу кои спаѓаат повеќето словенски јазици, вклучувајќи го и македонскиот, како и турскиот и финскиот, се карактеризираат со сложени морфолошки системи каде една морфема може да носи повеќе граматички значења истовремено. Токму поради оваа комплексност, при развојот на алгоритми кои можат прецизно да ги идентификуваат и обработуваат морфемите во флективните јазици потребно е лингвистичко знаење и напредни техники за машинско учење.

Синтаксата се занимава со правилата и структурите според кои зборовите се комбинираат за да формираат реченици и поголеми синтаксички единици. Таа ја дефинира организацијата и редоследот на зборовите, што директно влијае на значењето на изразите. Во рамките на теоретската лингвистика, формалните граматики имаат централна улога во објаснувањето на синтаксичките структури. Особено значајна е Чомскиевата трансформациско-генеративна граматика, која ја поставува основата за идејата дека постои универзална граматичка длабинска структура, заедничка за сите човечки јазици. Оваа теорија била доминантна парадигма во раните фази на обработката на природен јазик (NLP), бидејќи овозможува формално и систематско моделирање на јазичните структури.

Синтаксичкото расчленување, или parsing, е процес на автоматско идентификување и анализа на синтаксичката структура на речениците, што е клучна задача во NLP бидејќи преку овој процес ги разбираме граматичките односи помеѓу зборовите и нивната улога во реченицата, што е неопходно за понатамошни задачи како што се машински превод, анализа на значењето и генерација на текст. Со развојот на современите невронски мрежи и длабокото учење, традиционалните формализми базирани на строгите граматички правила се поместени во позадина. Невронските пристапи овозможуваат модели кои учат од големи количини на податоци и можат да обработуваат јазик на пофлексибилен и адаптивен начин, без потреба од експлицитно дефинирани граматички правила.

Семантиката како гранка на лингвистиката се занимава со проучување на значењето на јазичните изрази, односно како зборовите, фразите и речениците ја пренесуваат содржината и како тие се поврзани со вонјазичната стварност. Семантиката ја истражува лексичката содржина на поединечните зборови и нивната меѓусебна поврзаност и контекстуалната употреба во речениците.

За да се објасни овој сложен процес, низ историјата се развиени неколку клучни пристапи кои нудат различни перспективи на природата на зборовите. Лексичката семантика, како една од основните теоретски рамки, се фокусира на значењето на поединечните зборови и нивните меѓусебни односи, како што се синонимијата, антонимијата и хипонимијата. Компонентната анализа, пак, се обидува да го разложи значењето на зборовите на помали, базични семантички компоненти, со цел да се разбере нивната структура и функција. Теоријата на прототипови, ја нагласува идејата дека значењето не е фиксирано и строго дефинирано и дека категориите имаат централни, типични примери (прототипови) околу кои се организираат појдовните значења, што овозможува поголема флексибилност и динамичност во разбирањето на јазикот.

Во современата компјутерска семантика доминираат дистрибуциските хипотези. Според овие хипотези, значењето на еден збор може да се изведе од контекстите во кои тој збор се јавува, односно од неговата употреба во различни јазични ситуации. Овој пристап ја премостува класичната теорија на значењето и овозможува развој на техники како што се вградувањата на зборови (word embeddings), каде што зборовите се претставуваат како вектори во повеќедимензионален простор, базирани на нивната контекстуална појава. На овој начин машините можат да „разбираат“ значење на еден пофлексибилен и статистички начин, што е основа за многу современи апликации во NLP, како што се машински превод, анализа на текст и генерација на јазик.

Највисокото ниво прагматиката, се занимава со проучување на начинот на кој контекстот (ситуационен, интерперсонален и дискурзивен) влијае врз интерпретацијата на јазичните искази. Прагматиката ја истражува динамиката на јазикот како средство за интеракција, каде што значењето е резултат на лингвистичката структура, намерите, очекувањата и социјалните условувања кои го придружуваат говорот. Теориските концепти како говорните чинови, импликатурите, принципот на кооперативност и теоријата на релевантност, објаснуваат како говорителите преку своите изјави пренесуваат информации, создаваат имплицитни значења, координираат интеракција и управуваат со социјалните односи.

За компјутерските системи, кои се обидуваат да ја моделираат и автоматизираат обработката на природниот јазик, прагматиката претставува голем предизвик бидејќи разбирањето на намерите, верувањата и општественото знаење на говорителот бара комплексна интерпретација која не е директно присутна во самиот јазичен исказ. Овие фактори се често неексплицитни и зависат од контекстуални и културни знаења кои машините тешко можат да ги реконструираат.

Двосмисленост, контекстуалност и фигуративност

Природниот јазик се одликува со три фундаментални карактеристики кои го издвојуваат од формалните јазици и го поставуваат основниот предизвик за обработката на природен јазик (NLP). Првата од овие карактеристики е двосмисленоста, која се манифестира во фактот дека ист збор или израз може да има повеќе значења во зависност од контекстот во кој се употребува. Оваа особина ја отежнува автоматизираната интерпретација бидејќи машините мораат да ги разликуваат и правилно да ги толкуваат различните можни значења, што бара сложени модели на разбирање и контекстуална анализа.

На лексичко ниво, полисемијата (феноменот при кој еден збор носи повеќе сродни значења) и хомонимијата (при која еден збор опфаќа повеќе несродни значења) создаваат ситуации во кои компјутерскиот систем мора да избере меѓу конкурентни интерпретации. Задачата на разрешување на лексичката двосмисленост (Word Sense Disambiguation) е интензивно истражувана проблематика во NLP. Она што за луѓето во конкретен дискурс е очигледна интерпретација, за компјутерскиот систем кој нема пристап до ситуациониот контекст може да претставува нерешлива неодреденост.

Втората карактеристика, контекстуалноста, ја нагласува зависноста на значењето од конкретната ситуација, говорниот или писмениот контекст, како и од културните и социјалните фактори кои го опкружуваат јазикот. Значењето на еден израз може да се разбере само во рамките на поширокиот контекст, што ја прави задачата на NLP системите особено комплексна, бидејќи тие мораат да интегрираат и интерпретираат различни видови контекстуални информации за да обезбедат точна и релевантна интерпретација. Значењето произлегува од интеракцијата помеѓу јазичниот исказ, неговиот лингвистички контекст, ситуацискиот контекст и заедничкото знаење на учесниците во комуникацијата. Заменките и другите анафорни изрази го илустрираат проблемот на кореференцијалност (coreference resolution), кој е еден од потешките проблеми во обработката на јазикот.

Фигуративноста пак, се однесува на употребата на метафори, идиоми, и други стилски фигури кои не се толкуваат буквално и бараат когнитивна и културна интерпретација за да се разбере нивното вистинско значење. Фигуративниот јазик опфаќа различни стилски и семантички феномени како метафори, метонимии, иронија, сарказам, хипербола и идиоматски изрази, кои по својата природа се одликуваат со значително отстапување од буквалното значење на зборовите. Фигуративното значење е по дефиниција неидентично со буквалното, што значи дека едноставното лексичко толкување не е доволно за правилна интерпретација. Фигуративниот јазик бара когнитивно и контекстуално знаење, кое е тешко да се формализира и имплементира во компјутерски модели.

Иронијата и сарказмот зе особено проблематични за обработка во автоматизираните системи за анализа на сентимент и мислења. Овие стилски фигури често користат позитивни изрази за да пренесат негативна или критичка порака, што буквалното читање го прави неадекватно и може да доведе до дијаметрално спротивна интерпретација. Неспособноста на системите да ги препознаат овие фигури резултира со значајни грешки во разбирањето на вистинската емоционална и социјална порака на текстот.

Еволуцијата на NLP од симболички кон невронски пристапи

На почетокот, NLP се темелел на рачно кодирани правила и формални граматики, кои се обидувале да ја моделираат јазичната структура преку строги и недвосмислени правила. Со развојот на статистичките методи и појавата на големи корпуси на текст, доминантна станала парадигмата на машинско учење, каде што системите почнале да учат статистички обрасци од податоците, наместо да се потпираат исклучиво на рачно дефинирани правила.

Во последната деценија, со напредокот во длабокото учење и воведувањето на трансформаторската архитектура, NLP доживува нова револуција. Големите јазични модели (LLM) како BERT, GPT и нивните наследници, тренирани на масивни текстуални корпуси, покажуваат резултати кои ги достигнуваат или надминуваат човековите перформанси. Сепак, овие модели и понатаму се соочуваат со предизвици како што се недостатокот на вистинско разбирање на значењето, репродукција на пристрасности и ограничувања во логичкото и каузалното резонирање.

Во симболичката ера (1950–1980-ти), јазикот се третира како формален систем на симболи управуван со прецизно дефинирани правила, а компјутерските системи се засноваат на рачно конструирани граматики, речници и логички правила за инференција. Раните машински преведувачи и системите за разбирање на ограничен домен го демонстрираат потенцијалот, но и суштинските граници на симболичкиот пристап затоа што рачно конструираните системи на правила не можат да го покријат богатството, исклучоците и варијабилноста на реалниот јазик.

Статистичката ера (1980-ти–2000-ти) носи радикална промена бидејќи системите почнуваат да учат статистички податоци од големи корпуси на текст наместо од рачно кодирани правила. Во овој период клучни достигнувања се Скриените Марковљеви модели (Hidden Markov Models) за препознавање на говор, статистичкото машинско преведување и статистичките парсери. Принципот дека „алгоритам со повеќе податоци ги победува алгоритмите со повеќе знаење”, значително го поместува фокусот на областа.

Невронската ера (2010-ти — денес) се карактеризира со примена на длабоките невронски мрежи. Доминантна парадигма е претренирањето на огромни јазични модели врз масивни текстуални корпуси со подесување на специфичните задаачи. Претренирањето овозможува моделот да научи сложени јазични обрасци и контекстуални значења преку задачи како предвидување на следниот збор во реченица или пополнување на пропуштени зборови.

Меѓутоа, и покрај овие технолошки достигнувања, современите LLM системи учат статистички обрасци од податоците, но не поседуваат вистинско разбирање на значењето, што ги ограничува во задачи кои бараат семантичко и логичко резонирање. Овие модели често ги репродуцираат пристрасностите (bias) кои се присутни во текстуалните корпуси на кои се тренирани, што може да доведе до непредвидливи и проблематични резултати, особено во контексти поврзани со родови, расни или културни прашања. Исто така, тие покажуваат систематски слабости во задачи кои бараат каузално резонирање и разбирање на комплексни логички структури, што укажува на ограничувања во нивната способност за вистинско когнитивно моделирање.

Векторска репрезентација на јазикот

Репрезентацијата на јазикот во обработката на природен јазик (NLP) ја одредува способноста на компјутерските системи да разберат и интерпретираат човечки јазик. Традиционалните статистички методи, како Bag-of-words и TF-IDF, иако корисни за основна анализа, се ограничени поради нивната неспособност да зачуваат контекстуална и семантичка информација. Тие третираат зборови како независни единици, без да ја земат предвид нивната позиција или значење во рамките на реченицата, што резултира со губење на суштинскиот контекст и нијанси на јазикот.

Современите пристапи, базирани на вградувања на зборови (word embeddings), како Word2Vec, GloVe и FastText ги трансформираат зборови во вектори во високо-димензионален простор, каде што семантичките сличности меѓу зборовите се манифестираат како близина во тој простор. Ова овозможува моделирање на сложени лингвистички односи и значења, како што се синонимијата или антонимијата, што претходните методи не можеа да ги опфатат. Особено FastText, со својата иновација да ги моделира зборовите преку карактерни н-грами, овозможува подобра обработка на морфолошки богати јазици и зборови кои не се појавиле во тренирачкиот корпус.

Сепак и овие техники имаат ограничувања, особено во третманот на полисемични зборови, кои имаат различни значења во зависност од контекстот. Токму тука контекстуалните вградувања, како BERT и GPT, претставуваат револуционерен исчекор. Тие создаваат динамични репрезентации на зборовите кои зависат од нивната околина во реченицата, овозможувајќи понапредна и прецизна обработка на јазикот. Овие модели користат длабоки невронски мрежи и трансформер архитектури кои ги земаат предвид сите зборови во реченицата, овозможувајќи двонасочно разбирање на контекстот и значењето.

Проблемот на репрезентацијата во обработката на природниот јазик (NLP) се протега надвор од чисто техничките аспекти на компјутерската наука. Најпрвин, јазикот како систем на симболи и знаци е контекстуално богат и динамичен феномен, кој не може едноставно да се сведе на фиксни и апстрактни единици. Значењето во јазикот е нераскинливо поврзано со социјалниот, културниот и когнитивниот контекст, што го прави неговото формализирање и математичко моделирање исклучително комплексно.

Историски, развојот на NLP ја следи трансформацијата од симболичките кон статистичките и невралните модели на јазична репрезентација. Симболичките пристапи, доминантни во раните фази на полето, се базираа на рачно кодирани правила и формални граматики, кои претпоставуваа дека јазикот може да се опише преку строги и недвосмислени структури. Со појавата на статистичките методи, особено во периодот на машинското учење, NLP се насочува кон модели кои учат од големи корпуси текстови, користејќи веројатносни распределби и статистички обрасци.

Клучни NLP задачи и нивни решенија

Обработката на природен јазик (NLP) опфаќа широк спектар на задачи кои се клучни за разбирање и автоматска обработка на човечкиот јазик. Меѓу најзначајните задачи се класификацијата на текст, анализа на сентимент, именувано препознавање на ентитети (NER), машинско преведување, како и генерирање и сумаризација на текст.

Класификацијата на текст претставува процес на категоризација на текстуални податоци во однапред дефинирани категории, што е основа за многу апликации како филтрирање на спам, тематска класификација и автоматско препознавање на жанрови. Анализата на сентимент овозможува автоматско препознавање и класификација на емоционалниот тон на текстот, што е особено корисно во маркетинг, социјални медиуми и истражување на јавното мислење.

Именуваното препознавање на ентитети (NER) е процес кој се фокусира на идентификување и категоризација на клучни информации во текстот, како што се имиња на луѓе, места, организации и други специфични ентитети.  Машинското преведување, кое има долг историски развој, денес достигнува високо ниво на прецизност благодарение на напредокот во невронските мрежи и контекстуалните модели. Генерирањето и сумаризацијата на текст се задачи кои овозможуваат автоматско создавање и кондензирање на содржини, што е особено важно за обработка на големи количини информации и олеснување на пристапот до релевантни податоци.

Родова и критичка анализа на NLP системите

NLP системите не се создаваат во вакум, тие се производ на општествените, културните и историските контексти кои ги вградуваат постоечките предрасуди и пристрасности. Јазичните модели, како Word2Vec и GPT, се тренираат на огромни корпуси од текстови кои содржат родови стереотипи и дискриминаторски наративи. Моделите автоматски ги репродуцираат и засилуваат овие пристрасности, што има сериозни импликации за нивната примена во реалниот свет, особено во области како што се автоматското препознавање, класификација и генерирање на текст. На пример, модели може несвесно да поврзат одредени професии или карактеристики со специфичен род, што ја рефлектира и репродуцира родовата нееднаквост во општеството. 

Родова и критичка анализа на NLP системите ја открива нивнаата технолошката природа и нивната длабока поврзаност со општествените структури на моќ, родови стереотипи и системски нееднаквости. Методологиите за детекција и митигација на овие пристрасности се во фокусот на современите истражувања вклучуваат техники за препознавање на родово пристрасни патерни во податоците и моделите, како и развој на алгоритми кои се обидуваат да ги неутрализираат или минимизираат овие ефекти. Феминистичката критика на NLP системите го истакнува јазикот како простор на моќ и контрола. Во оваа смисла, NLP технологиите, кои автоматски обработуваат и генерираат јазик, имаат потенцијал да ја реформираат или, пак, да ја репродуцираат доминацијата на одредени групи.

Генеративни модели и структура на промпт (prompt engineering)

Генеративните модели (како јазичните модели од типот на трансформери) создаваат нова содржина преку статистичко предвидување на следниот збор/токен врз основа на претходниот контекст. Тие не „знаат“ или „разбираат“ на начинот на кој човекот знае или разбира. Наместо тоа, нивната работа се заснова на пресметување на веројатности. За секој нареден збор или симбол, моделот пресметува која е најверојатната опција врз основа на претходниот контекст и на статистичките обрасци што ги има идентификувано во фазата на обука. Резултатот е текст кој изгледа кохерентно, но чиј квалитет е директно условен од начинот на кој е поставено барањето.

Кога се зборува за „генеративност“ во контекст на јазичните модели, потребно е да се направи јасна разлика од поимот „креативност“. Креативноста кај луѓето подразбира свесно творештво, оригиналност, иновација и подлабоко разбирање на значењата. За разлика од тоа, генеративноста кај јазичните модели се однесува на нивната способност да продуцираат нови, претходно невидени низи од симболи (зборови, реченици или текстови), кои се статистички кохерентни со она што моделот го има научено за јазикот преку анализа на големи количини податоци. Генеративниот модел не „знае”, тој пресметува веројатности.

Што е токен?

Токенот е основната единица со која оперира јазичниот модел. Тој не е нужно еднаков на збор, може да биде цел збор („куќа”), дел од збор („ком” + “плексен”), интерпункциски знак, празно место или специјален симбол. Процесот на претворање на текст во токени се нарекува токенизација, и тој претходи на секое понатамошно пресметување. Секој модел поседува фиксен речник (vocabulary) кој е збир на сите токени кои тој може да ги препознае и произведе. Кај современите модели, овој речник брои десетици илјади токени. Секогаш кога моделот треба да „избере” следен токен, тој всушност пресметува веројатносна дистрибуција над целиот речник, т.е. на секој можен токен му доделува веројатност дека тој е „следниот”.

Структура на промпт (Prompt engineering)

Prompt engineering е систематска практика на конструирање, оптимизација и итерирање на влезни инструкции упатени кон јазичен модел, со цел добивање прецизен, релевантен и проверлив излез. Таа претставува дизајн на комуникацијата помеѓу човекот и веројатносниот систем, притоа земајќи ги предвид архитектурните карактеристики на моделот, неговите ограничувања и неговите стохастички тенденции. Тоа подразбира разбирање на тоа како моделот реагира на различни лингвистички и структурни обрасци.

Системски промпт (System Prompt)

Во системите за вештачка интелигенција, особено кај јазичните модели, однапред се дефинираат насоките и границите во рамките на кои моделот ќе функционира. Ова се прави со цел да се обезбеди доследност, безбедност и соодветност на одговорите што моделот ги генерира. Во овој контекст, системскиот промпт претставува инструкциска рамка која се иницира пред започнувањето на секој разговор. Во типичните имплементации, тој останува невидлив за крајниот корисник и служи како конфигурациски слој што го регулира однесувањето на моделот. Метафорично кажано, системскиот промпт го дефинира карактерот на моделот за дадениот контекст.

Системскиот промпт се поставува од страна на развивачот или операторот на системот. Тој го дефинира персоналитетот, тонот, вредностите и ограничувањата. Системскиот промпт е постојан низ целиот разговор и има приоритет над корисничките инструкции. На пример: „Ти си академски асистент специјализиран за филозофија. Секогаш одговарај формално, во структурирана форма, наведувај извори кога е можно и избегнувај спекулативни тврдења без епистемичко оправдување.”

Кориснички промпт (User Prompt)

Корисничкиот промпт е конкретното барање или прашање кое корисникот го формулира во реално време, најчесто во процесот на комуникација со дигитален асистент, софтвер или друг интерактивен систем. Тој претставува иницијална точка на интеракција преку која корисникот го изразува својот интерес, потреба или проблем. Овој промпт функционира внатре во рамките што ги поставува системскиот промпт.

Динамичноста и индивидуалноста на корисничкиот промпт произлегува од конкретната интеракција и потребите на корисникот. Дихотомијата помеѓу системскиот промпт и корисничкиот промпт овозможува флексибилност во комуникацијата, но истовремено гарантира дека одговорите и обработката на информациите се во согласност со поставените правила и стандарди на системот.

Еден добро конструиран промпт типично содржи четири компоненти:

Улога — Дефинирање на идентитетот и регистарот на моделот. Му се доделува идентитет на моделот („Ти си експерт за…”), со цел активирање на соодветен регистар и знаење.

Задача — Специфицирање на очекуваниот излез, односно јасно и прецизно формулирање на она што се очекува да биде произведено.

Контекст — обезбедување на релевантните позадински информации. Тоа се информации кои го ограничуваат или насочуваат просторот на можни одговори.

Ограничувања — Поставување на границите на одговорот: должина, формат, теми кои треба да се избегнат, ниво на сложеност итн.

Корисничкиот промпт се поставува од страна на корисникот и потребно е да биде специфичен, контекстуален и вообичаено е еднократен. За да се активира генеративниот процес во рамките на веќе дефинираните параметри, препорачливо е да содржи прашање, задача, барање за анализа или примери. Вклучувањето на овие елементи корелира со квалитетот на генерираниот одговор иако не е задолжително сите да се опфатени при креирањето на промптот.

Интеракцијата помеѓу двата типа

Системскиот промпт и корисничкиот промпт не функционираат независно, нивната поврзаност е таква каде што едниот може да има предност или да влијае на другиот создавајќи т.н. „хиерархиска тензија“. Тоа значи дека кога ќе се зададе инструкција на системот, моделот истовремено ги обработува обете инструкции и ги зема во предвид и двата промпта па генерира одговор кој ги задоволува барањата и на двете инструкции. Доколку корисничкиот промпт е во конфликт со системскиот, моделот типично дава приоритет на системската инструкција.

Системскиот промпт е местото каде на суптилен и невидлив начин се вгнездуваат вредностите, пристрасностите и нормативните рамки на оние кои го дизајнираат системот. Тие се носители на одредени општествени, политички и аксиолошки ставови. Во нив се судираат различните етички, политички и идеолошки позиции и тие директно влијаат на начинот на кој ВИ ќе се однесува кон различни групи, идентитети или општествени прашања.

Формат на Излез и Проверливост

Формулињето на промптот се сведува на тоа која содржина се бара и начинот на кој одговорот треба да биде претставен. Во промптот може јасно да се наведе форматот на излезот, дали одговорот треба да биде структуриран текст со наслови, кратко набројување со точки, тебела или во машински читлив формат, како што е JASON. Форматот на излезот е важен кога податоците треба да се зачуваат, споредуваат, обработуваат со помош на програма или да се интегрираат во поголем систем, како што се апликации, извештаи, аналитички процеси или автоматизирани одлучувачки системи.

Една од предностите на вака структурираниот излез е тоа што ја подобрува проверливоста на информациите. Доколку одговорот е организиран на јасен начин тврдењата лесно се издвојуваат од објаснувањата, претпоставките и заклучоците и со тоа се олеснува проверката на точноста на тврдењата. На пример, ако се користи табела во која посебно се наведени тврдење, доказ/извор и метод на проверка, текстот станува појасен и полесен за разбирање.

Проверливоста на дадените тврдења подразбира дека тие можат да се потврдат или побијат преку надворешни извори или преку логичка и методолошка анализа, односно дали заклучокот следи од претпоставките, дали има скриени генерализации, дали термините се користат конзистентно итн. Треба да се направи дистинкциија помеѓу проверливоста и убедливоста на излезите. Еден одговор може да звучи убедливо, но истовремено да е тешко проверлив доколку е напишан без јасни криетриумим, извори и разграничувања помеѓу факти и интерпретации. Во овој контекст, конректетниот формат на промпт го насочува моделот да ги артикулира тврдењата експлицитно, да ги одвои од агрументацијата и да посочи како одговорот може да се провери.

Дефинирањето на форматот на одговорите го прави текстот поуреден и појасен и има основа за валидирање, автоматизација и интеграција. Структурираниот излез придонесува за полесно споредување на одговорите, препознавање на можните противречности и вклучување на одговорите во работните процеси.

Техники на структура на промпт (prompt engineering)

Few-shot учење

Во промпт-инженерството, few-shot учење е техника во која генеративниот модел не се обучува експлицитно на нова задача, тоа значи дека во самиот промпт на моделот му се даваат неколку јасни примери од типот влез-излез парови во рамките на самиот промпт. Оваа техника најчесто се нарекува учење од контекстот (in-context learning), моделот го препознава образецот и го применува аналогно, но не се дообучува трајно само се ориентира според примерите што ги има во моментот.

Chain-of-thought (ланец на мисли)

Chain-of-thought (CoT) во промпт-инженерство е техника со која се насочува моделот да размислува чекор по чекор наместо веднаш да даде финален одговор. Кај задачи што бараат логика, пресметки, план, споредување или дедукција, подобро работи ако моделот вака размислува отколку да „погоди“ одговор. Ваквиот начин на размислување често ја подобрува точноста кај математика, логички задачи, сложени класификации, анализа на текст и сл. Кога задачата е составена од повеќе под-чекори CoT го тера моделот да не прескокнува важни „меѓучекори“, помалку да халуцинира врски што не следат логички, да биде поконзистентен кога има услови и ограничувања, подобро да „држи“ контекст на подолги проблеми.

Самокритика (self-critique) и Итерација

Еден од понапредните пристапи е самокритика на моделот, тоа значи дека по иницијалниот одговор, на моделот му се бара да го оцени сопствениот излез, да идентификува слабости и да го ревидира. Со овој пристап од моделот се бара да идентификува потенцијални слабости, нејаснотии или недостатоци во дадениот одговор, да предложи подобрувања или корекции врз основа на сопствената анализа и да го ревидира одговорот, со цел да ја зголеми неговата точност, релевантност и јасност.

Итерацијата подразбира дека промптот не е финален при првото испраќање. Наместо тоа промптот се усовршува врз основа на добиените резултати, односно одговорите што ги генерира моделот. Се врши постепено прецизирање на барањето, со додавање на нови детали или со коригирање на формулацијата и процесот продолжува сè додека не се постигне посакуваниот квалитет или релевантност на одговорот.

Со комбинирањето на самокритика и итерација се добиваат поквалитетни, поточни и поадекватни резултати. Најчесто се користат при развој на производи, графички дизајн, архитектура, за анализа на резултати и повторување на експерименти, подобрување на текстови, уметнички дела и други креативни процеси, подобрување на код, функционалности и корисничко искуство. Во суштина, овие техники се дел од процесот на континуирано подобрување (continuous improvement), каде што се анализира сопствената работа, се бараат недостатоци и се прават повторени измени со цел постигнување повисок квалитет.

Заклучок

Во ерата на вештачката интелигенција, промптот е место каде што се среќаваат инженерството и хуманистиката. Поради комуникацијата со веројатносен систем, prompt engineering е истовремено инженерска дисциплина и културна/критичка писменост. Ваквиот вид на писменост се појавува таму каде што традиционалната претстава за „софтвер“ почнува да попушта пред нешто повеќе налик на јазичен соговорник. Наместо на компјутерот да се дават јасни, детерминистички инструкции што секогаш даваат ист резултат, се разговара со модел што генерира, што предвидува следна можност, во зависност од контекст, тон, ограничувања и примери.

Добриот промпт е композиција на контекст, цел, ограничувања и критериуми. Prompt engineering личи на инженерство затоа што бара тестирање, итерација и валидација, но истовремено личи и на реторика поради јазичните избори како редоследот на инструкции, прецизноста на поимите, примерите што се даваат го менуваат исходот.