Имало едно време едно момче… не, днес няма кой да чете обстоятелствените изречения на Шехерезада, никой няма време за приказки.
Той не е Аладин, а Радостин. От Барутин. Това в ръцете му, с което прави магии, не е вълшебна лампа, а невронна мрежа, изкуствен интелект. И прави доста истински магии, макар да няма страховития вид на многометров джин.
Благодарение на Радостин може би скоро ще имаме възможността да получим всички възможности, които дава изкуственият интелект за езикова обработка, за родния ни език, българския. Приказка? Не, чиста реалност.
Някои дигитални истории са истински приказки. Като тази.
Вълшебното килимче
Направо ми е невъзможно да повярвам, че хлапето от другата страна на мрежата знае и може толкова много. Как да не е така, всъщност само изглежда, че говоря с хлапе. Преди няколко месеца Радостин Чолаков получи най-престижното българско айти отличие – наградата на Българската асоциация за информационни технологии в младежката ѝ категория.
Нещо повече, 15-годишният ми събеседник вече има внушителните 6 години опит като програмист. И, както споменах, в момента работи по един проект, който, без преувеличение, може да е полезен на всеки от нас онлайн. Радостин разработва собствена невронна мрежа: софтуер, който се самообучава, или, както повече обичаме да го наричаме, изкуствен интелект.
Учи я на български език – да разпознава дори правописа, емоционалните окраски на изречението. При това толкова успешно, че вече може да пише по-правилно от мнозина, които ще срещнете онлайн.
Ако това не е смислена дигитална история, не знам коя би могла да бъде.
Буре с барут(ин)
Седим и си говорим през екрана, а от време на време той си играе с пластмасов математически триъгълник в ръка, докато говори зряло и сериозно по изключително сложни теми.
Радостин е от родопското село Барутин, намиращо се близо до брега на язовир „Доспат“. Баща му работи в дърводелския цех в селото, майка му е шивачка. За първи път той среща своята вълшебна лампа, когато е на 9. На гости идват чичо му и леля му, и двамата програмисти, които живеят в Пловдив. Показват му семпла програма, която е достатъчна да го запали по компютрите. Потърква вълшебната лампа и…
Захваща се да учи. Не знае дори базов английски, но му става страшно интересно как се случва всичко под капака на щракащата електронна машина. Във вълшебната ѝ лампа няма джин, а желанията изпълняват логиката и абстрактното мислене. Точно това е програмирането.
В началото дори няма интернет. После изведнъж го залива морето от информация, а той бързо се учи да плува. Докато разбере как са устроени нещата, нерядко „чупи“ настройките на телефони и компютри.
Целта и средствата
Първият му учебен сайт е за планетите в Слънчевата система. После Радостин помага, като прави сайтове за приятели и проекти, които намира за смислени. Например на благотворителна кампания за набиране на средства за училища в Африка.
Докато се учи, създава собствена мобилна апликация за игра на шах. После идва време и за първото му по-мащабно приложение за Android – AnyGoal. Представлява нещо като мини социална мрежа, в която си поставяш определена цел и отбелязваш всяка стъпка от напредъка си. Щом я изпълниш, качваш клипче, за да можеш да се похвалиш и на приятелите.
Доста символично именно като за историята на младежа.
През 2018-а печели конкурс, организиран от „Гугъл“. Надпреварата е за създаването на гласови приложения за техния асистент, подобен на Сири на „Епъл“. Критерият е кое приложение ще бъде свалено и използвано от 10 000 души и Радостин успява да надвие доста сериозна конкуренция.
По онова време едно от забавленията му е да разучава различните виртуални асистенти и технологиите с невронни мрежи, които се крият зад тях. Така се ражда и следващата му голяма идея.
Пещерата на чудесата
Докато работи по различните си проекти, Радостин често се сблъсква с едно сериозно неудобство – онлайн българският език все още получава много малка част от възможностите, които би могъл да има.
Благодарение на модерните технологии, днес е изключително лесно да обработваш текст. Да се откриват правописните грешки, да се поставят запетаи. Звуковият файл бързо да се превърне в написани думи и обратното – писаната реч да зазвучи. Да се анализира всеки един текст – по съдържание, смисъл, емоционална оценка – дали е положителен или отрицателен. На базата на всичко това се открива огромна палитра от възможности. Един съвсем малък пример – тези технологии правят възможно „раждането“ на електронните журналисти.
Всичко това обаче се случва само, ако използвате някой популярен език. Дори не само „лингва франка“ на онлайн живота – английския, но и доста други. Нищо от изброеното обаче не е възможно на български. В най-добрия случай ще попаднете на няколко антични, примитивни програми за проверка на буквени грешки, които разчитат само на това да прекарат думичките през речника си, да подчертаят това, което не намерят и да ви предложат най-близкото. И толкова.
Аз, Буки. Аз, Роботът
Радостин решава да направи каквото може, за да запълни празнотата. Така се ражда актуалният му проект – АзБуки.ML. Какво ли е това “ML“? Machine learning – машинното самообучение. Черешката на тортата, висшият пилотаж в програмирането днес. Това, което в най-голяма степен се покрива с истинския смисъл на използваното за какво ли не определение „изкуствен интелект“.
Невронната мрежа е софтуер, предназначен да приема огромен обем от информация и да го обработва, търсейки закономерности. Неслучайно се нарича така, по асоциация с начина, по който работят собствените ни мозъчни клетки. Това е програма, която се учи сама и на базата на въведените в нея данни се усъвършенства.
За Радостин съвсем не е нещо ново да захване проект в тема, по която няма много опит. Точно така е свикнал да се случва всичко – да се зарови, да учи. Да пробва, да греши и търси съвети, когато е нужно. Независимо дали от StackOverflow, или от БАН.
Тема математика
Така се справя и тук, въпреки че зад подобни проекти стоят знания, които му предстои да изучава в училище след много години. Технологии и парадигми, до които не се е докосвал преди.
„Да, сега съм девети клас и математиката, която ми трябва за тези невронни мрежи и алгоритми, е на по-високо ниво“, казва Радостин. „Но съм свикнал, така беше в началото и с английския. Това не е нов проблем за мен, просто всичко се движи от моето любопитство. Става ми интересно да направя нещо, да науча нещо и започвам да го уча, да чета.
Може в първия момент нищо да не разбирам, но не се отказвам. Търся и просто се опитвам да го измисля. Наложи ми се да разбера нещо по-сложно по математика, просто отворих един сайт за видеоуроци за 12-и клас, разгледах секцията, която ми беше нужна. После се върнах, опитах с „проба-грешка“ и стана. Това е най-вече методът ми на учене“.
Ведя, глаголи
АзБуки.ML прави успешно своите първи крачки, вече се използва дори от студентите по лингвистика в Софийския университет.
Днес АзБуки има няколко работещи модула и море от перспективи за развитие. Можете и сами да пробвате всяка от системите от сайта. Единият от модулите обработва подадения текст и прави т.нар. part of speech tagging – разпределя всяка от думите по максимално много характеристики, които тя носи. Като части от речта, емоционална оценка, но и по много други параметри.
В началото Радостин се нуждае от сериозен обем текст, който да използва, за да „учи“ невронната си мрежа. Решава да се свърже с Българската академия на науките и получава нужното съдействие – дават му достатъчно солиден масив, в който вече е направен part of speech tagging.
Друг от модулите е насочен към запетаите. Може би не сте се замисляли, колко е трудно в българския те да дойдат на точното си място. Разбира се, не е нужен изкуствен интелект, за да сложите познатата завъртулка пред „че“ и да я избегнете, ако „че“-то е част от сложен съюз, но нещата стават по-обтекаеми със сложните изречения.
Език свещен
Трети модул, който вече работи и можете да изпитате сами, е насочен към емоционалните окраски на текста. Дълъг или кратък, невронната мрежа на Радостин го анализира и ви казва какво е основното му настроение – дали е положителен, или или отрицателен.
Това определено е само началото, но пък е много стабилно начало. Невронната мрежа тепърва ще се развива, ще се учи на всичко, което е нужно. Няма предизвикателство, с което Ради да е решил да се справи и да се е отказал.
Постепенно технологията се усложнява. В началото part of speech tagging се прави на базата на справка с речник, преди да заработи същинският анализ, базиращ се на анализа и съпоставката с големи обеми от информация. Постепенно, за да заработи системата за поставяне на запетаи на точните места, се създава и допълнителен модел, напомнящ начина, по който работи краткотрайната ни памет – анализира изреченията, за да потърси къде те се разделят логически.
„Моделът се оказа работещ. В крайна сметка резултатът беше доста добър, започна да слага запетаи, да затваря подчинени изречения в състава на сложните. Нещо, което, честно казано, не очаквах, че ще успея да постигна. Не е перфектно, но е достатъчно добро, за да се покаже, че работи и може да се надгражда“, казва Радостин.
Основната цел на този проект е невронната мрежа да се усъвършенства и да даде сериозни възможности чрез своята удобна API интеграция. С други думи – всички програмисти, които искат да използват възможностите ѝ, да могат да се свързват с нея и да надграждат със свои приложения. Докато в един момент имаме на български език пълната палитра от услуги, които днес изкуственият интелект прави възможни за обработката на текст.
„Аз съм измислил достатъчно приложения, които да реализирам, но оттам нататък всеки може да ги доразвие. Да добави в своя продукт нещо различно, за което аз не съм се сетил. Например – можеш да пуснеш една заявка с изречението „Обичам да ям сладолед“. И аз ще ти кажа – това изречение е позитивно, „обичам“ е глагол и т.н., и т.н. Много неща, които оттам нататък ти можеш да решиш как да използваш“.
Чети, компютъре, чети
Край на мъките с правописа, на журналистическите неудобства с часове да се превръща записът от разговора в набран текст. Освен това, ако нямате време за четене… хоп, и пускате статията, която ви се е сторила интересна, да звучи по колонките на колата ви.
Посоките, в които АзБуки може да се използва, са безбройни. Нашият събеседник дава пример как невронната мрежа може да е полезна дори на онлайн магазин. Интеграцията ще позволи тя да направи анализ на коментарите в сайта, който да покаже кой от продуктите е добър, кой се харесва от посетителите, кой – не, и защо. Така ще се автоматизират задачи, които биха отнели доста часове човешки труд.
С помощта на АзБуки след време ще е възможно и да се прави обобщаване на новините, което вече се предлага от „Гугъл“ на английски. Вместо да четете дълги статии по определена тема, информацията ще бъде обобщена смислено и кратко, с акцент върху това кой източник е писал с определено пристрастие. При това, ще се прави от програма с отворен код. Нещо особено полезно заради днешните опасности в информационната среда, за които подробно стана дума тук.
За „софтуерните хора“ е редно да споменем, че АзБуки.ML използва най-популярната в тази област платформа TensorFlow с Python. Иначе Радостин разчита за фронтенд работата си на React.js. Работил е също с технологии като Kubernetes за хостване на проектите си, с Flutter, Dart и React Native.
Барутен буквар
Радостин работи по проектите си само когато е свободен от училище. Сега е в 9-и клас в Пловдивската математическа гимназия. Но заради ограниченията учи онлайн и отново е при семейството си в Барутин.
Преди това е завършил основно училище в родното си село. Официално то има 1700 жители, но повечето са на гурбет. Хората, които са останали, разчитат на дърводелския цех и шивашката фабрика, където работят и родителите на младежа.
В училището учат 80 деца, не стигат учителите и често няколко класа имат общи часове. Радостин се радвал докато бил в пети клас, че можел да слуша и уроците за шести, за да „хване“ нещо повече.
След всичко изброено, може би сте изрисували в главата си образа на млад зубър, който не се интересува от нищо извън компютрите. Ще сбъркате, той има доста широк светоглед, разнопосочни интереси. И приятели – най-добрият му приятел от Барутин не разбира нищичко от компютри, но всеки път двамата си прекарват супер заедно.
Както подобава на човек от Родопите, той обича природата, планината. И семейството си – по-малкият му брат също малко по малко се учи на програмиране.
Радостин обича да чете художествена литература, но заради достата проекти, по които работи, не му остава много свободно време. Около себе си има три лаптопа, всеки е полезен с нещо за част от работата. Признава, че прекарва онлайн повече време, отколкото трябва.
Хлябът и роботите
В математическата гимназия нашият герой е срещнал доста повече хора със сходни на неговите интереси. А като опитен програмист знае, че онлайн няма как да оцелееш без сътрудничество. Известно време поддържа профил в платформата Medium. В началото, докато започвал с базисните неща, имал профил и в StackOverflow и много често задавал въпроси.
„Случайно попаднах скоро на профила, който използвах в 3-и клас и ми стана много забавно“, разказва Радостин. „Не съм знаел никак английския и съм ползвал „Гугъл транслейт“. Бил съм суперначинаещ в абсолютно всичко и съм задавал най-тъпите въпроси. Обаче като видях сега – някои от тях имат 1,5 милиона четения. Значи са помогнали на още доста хора.“
Трябва ли да ни плаши нещо в технологиите? „Разбира се“, отсича програмистът. „На първо място, не сме готови за автоматизацията. „Дженерал Мотърс“ през миналия век са правели 15 милиарда годишни приходи с 1,5 милиона служители, а „Гугъл“ го постига с 50 000. Може би за човечеството като цяло ще има загуби от автоматизацията от гледна точка на работни места.
Но зависи и от това как ще се ориентира, как ще използва самият изкуствен интелект. Трябва да успеем да го направим по начин, по който не ни застрашава. Ще има роботи, които са суперинтелигентни, но нека те да работят за нас. А ние да въведем някакъв универсален базов доход и всичко ще е наред“.
Мъск от Барутин?
Стигаме до логичния въпрос: а оттук нататък?
Медиите побързаха да пишат за него като за „Бил Гейтс от Барутин“, новия Елън Мъск или Стив Джобс. Това го дразни. За щастие, са попаднали на родопчанче, което знае какво е да си здраво стъпил на земята. Радостин иска да си е просто „Радо от Барутин“ и да напредва в технологиите малко по малко, както го е правил и до момента. Да намира собствен път, воден от смислени начинания.
Струва му се страшно далеч, за да каже какъв ще е на 30, та това е два пъти повече от досегашния му живот. Така или иначе, сигурен е, че в определен момент ще създаде собствена компания, за да се занимава с технологиите, които го вълнуват най-силно – изкуственият интелект, добавената реалност, виртуалната реалност.
Е-сторическо
След няколко дни Радостин очаква екипа на Estorium. Ако не сте чували за това начинание, то е особено смислена и интересна Дигитална история, която скоро ще разкажем подробно. Накратко – дигитален архив, който ще съхранява, събира и представя смислени истории на българи от различни места и поколения. Своеобразен антропологичен лексикон.
Те са избрали нашият събеседник да бъде един от първите им герои, ще му бъде дадена думата в тематично професионално видео. От Барутин през дебрите на интернет до всеки, който има ухо да чуе. (Още за начинанието и възможностите да го подкрепите – тук.)
Оставяме Барутин и невронната му мрежа и обещаваме да запазим връзка, за да следим възможностите, които ще дава АзБуки.ML. И да се радваме на технологиите, които един ден ще създава Радостин със своята вълшебна лампа.
Не знам за вас, но аз силно се надявам бъдещето да принадлежи именно на хора като него.