Data Challenge საქართველოს ბანკის მიერ მონაცემთა მიმართულებით წამოწყებული პროექტია, რომელიც ამავე სექტორის განვითარებას და სფეროთი დაინტერესებული ადამიანების აღმოჩენას უწყობს ხელს.
როგორც წესი, Data Challenge-ის შეჯიბრის ფარგლებში, მონაწილეებს შესაძლებლობა ეძლევათ, მარტო, ან გუნდთან ერთად ჩაერთონ კონკურსში, შეასრულონ მოცემული დავალება და გამარჯვების შემთხვევაში მოიგონ ფულადი პრიზი.
საქართველოს ბანკმა აქამდე წარმატებით ჩაატარა შეჯიბრის ერთი სერია, ხოლო მეორე სერია კი სულ ახლახან დასრულდა.
კონკურსში 80-მა გუნდმა მიიღო მონაწილეობა, რომელთაგანაც მეორე ეტაპზე 21 გუნდი გადავიდა. ეს გუნდები კი ერთი თვის განმავლობაში ინოვაციური მეტყველების ტექნოლოგიის შექმნაზე მუშაობდნენ, რომელიც მომხმარებლის დამოკიდებულების იდენტიფიცირებისთვისაა საჭირო.
საბოლოოდ, 6 თებერვალს, დაჯილდოების ცერემონიაზე Data Challenge-მა სამი გამარჯვებული გამოავლინა:
I ადგილის მფლობელი გახდა CharliesAngels (ნიკა ლოსაბერიძე, ალექსანდრე აზიზიანი, ნინო ალანია) და გადაეცა 30 000 ლარი.
II ადგილი დაიკავა N3-მა (ნიკა დოღონაძე, ნიკა ჩხარტიშვილი, ნინო ბასილაია) და მოიპოვა 15 000 ლარი.
III ადგილი კი დაიკავა Synapse NLP-მა (გურამი ქერეჭაშვილი, ნიკა ნიჟარაძე, ერეკლე შიშნიაშვილი), რომელიც 5 000 ლარით დაჯილდოვდა.
როგორ იმუშავეს დასახულ ამოცანაზე გუნდებმა და რა წინაღობები შეხვდათ მათ მუშაობის პროცესში? ამ და სხვა მნიშვნელოვან თემებზე გამარჯვებულებთან გასაუბრება გადავწყვიტეთ:
– გვიამბეთ თქვენ მიერ შემუშავებულ გადაწყვეტაზე..
CharliesAngels: ჩვენი გადაწყვეტა დაფუძნებულია supervised learning-ზე, რაც გულისხმობს მონაცემების დაჭდევებას, რომლის საშუალებითაც შესაბამისად აწყობილი მოდელი ისწავლის მოცემული ამოცანის ამოხსნას, ამ შემთხვევაში, ტექსტის კლასიფიკაციას. ავაწყეთ მარტივი საიტი, სადაც დაჭდევება უფრო მარტივად და სწრაფად იყო შესაძლებელი, შევაგროვეთ დაახლოებით 40,000 ცალი დალეიბლებული კომენტარი. მოდელის განსავითარებლად გამოვიყენეთ fine-tuning მიდგომა, რაც გულისხმობს უკვე არსებული უზარმაზარი ენოვანი მოდელების (რომლებსაც ენების ზოგადი თვისებები შესწავლილი აქვს) გადაწვრთნას და კონკრეტულ ამოცანაზე მორგებას. (მოდელი რომელიც გადავწვრთენით xlm-roberta-large ტრანსფორმერ მოდელი 2.5TB 100 სხვადასხვა ენით შემდგარ ინტერნეტ მონაცემებზეა გაწვრთნილი.
N3: კომენტარების სენტიმენტის ავტომატურად კლასიფიკაციისთვის,
ჩვენ გამოვიყენეთ მულტიმოდალური მანქანური სწავლების მოდელი, რომელიც მაქსიმალურად იყენებდა ყველანაირ ინფორმაციას, რაც საქართველოს ბანკმა მოგვაწოდა. ეს მოიცავს პოსტისა და კომენტარის ტექსტს, პოსტისა და კომენტარის გამოქვეყნების დროს და კომენტარზე მოწონებების (LIKE-ბის) რაოდენობას.
SynapseNLP: ჩვენი გადაწყვეტა, პირველ რიგში, ეფუძნება მონაცემების დამუშავებას, მათ შორის არაქართულად დაწერილი კომენატარების ტრანსლიტერაციას ქართულად. შემდეგ, ვიყენებთ მართლწერის შემმოწმებელ ალგორითმს, რომელიც ცდილობს, ტრანსლიტერაციიდან მიღებული და მართლწერითი შეცდომები გამოასწოროს. საბოლოოდ კი, კომენტარები ინგლისურ ენაზე ითარგმნება და ე.წ უკვე გაწვრთნილი RoBERTa მოდელით გენერირდება თითოეული კომენტარისთვის.
– რა სტრატეგიით იმუშავეთ პრობლემის გადაწყვეტისას?
CharliesAngels: სანამ მონაცემებს შევაგროვებდით, დავიწყეთ unsupervised მიდგომების დატესტვა, რომლებიც უფრო მარტივია და ნაკლებ რესურსს მოითხოვს. ვცდილობდით, შეგვეფასებინა, რა შედეგებს დებდნენ ისინი და გაგვერკვია, მომავალში supervised-თან ერთად დაგვეხმარებოდა თუ არა რამეში ეს მიდგომები.
თავიდანვე ჩვენი მთავარი სტრატეგია ბევრი მონაცემით მიღებული დასწავლილი მოდელი იყო. უკვე საკმარისად მიღებული მონაცებემის შემდგომ, ავაწყვეთ ბევრნაირი მოდელი და ვაკვირდებოდით, ყოველ ჯერზე რა შედეგებს დებდა თითოეული. მათი ანალიზის შემდგომ კი, ვცდილობდით, თითოეული მაქსიმალურ შედეგებამდე მიგვეყვანა და აგვერჩია საუკეთესო. ასევე ვაანალიზებდით, როგორი მონაცემების დამუშავება როგორ შედეგებს გვაძლევდა თითოეული მოდელის ალტერნატივაზე და საბოლოოდ, საკმაოდ ბევრი სხვადასხვა ტექსტის დამუშავების ვარიანტი გამოვცადეთ. ვაანალიზებდით უკვე გაწვრთნილ მოდელს – როგორი ტიპის ტექსტები ეშლებოდათ და ვაანალიზებდით ლოგიკური შეცდომა იყო თუ არა ეს.
N3: თავიდან დავიწყეთ მოცემული კომენტარების ხელით მონიშვნა, სპეციალური web-პლატფორმის საშუალებით, რომელიც ჩვენივე რესურსით მხოლოდ ამ ამოცანისთვის ავაწყვეთ. შემდეგ, ეს მონაცემები გამოვიყენეთ ავტომატიზებული მოდელის შესაქმნელად, რომელმაც ჩვენ მიერ დახარისხებულ მონაცემებზე დაყრდნობით ისწავლა ზოგადი ალგოირთმი და ახალი კომენტარების დახარისხება თავისით, საკმაოდ მაღალი სიზუსტით შეძლო.
SynapseNLP: ჩვენს გუნდში სამი ადამიანი ვიყავით. თითოეულს გვქონდა განაწილებული, რა უნდა გაგვეკეთებინა. ერთი მუშაობდა უფრო კვლევითი მიმართულებით, იძიებდა კვლევით ნაშრომებს, რომლებიც ჩვენი პრობლემის გადასაჭრელად შეიძლება გამოსადეგი ყოფილიყო, ხოლო დანარჩენი ორი კი პრაქტიკულ ექსპერიმენტებს აკეთებდა, თუ რომელი ალგორითმი იმუშავებდა საუკეთესოდ კონკრეტულად ჩვენს მონაცემებზე.
– როგორ მიგაჩნიათ, რამდენად მნიშვნელოვანია, ბუნებრივი ენის დამუშავების ამოცანები დაისვას და ამოიხსნას კონკრეტულად ქართული ენისთვის?
CharliesAngels: ქართული ენა მსოფლიოში ერთ-ერთი კომპლექსური და მრავალფეროვანი ენაა და მისი ტექნიკურად შესწავლა ძალიან საინტერესოა. სამწუხაროდ, ქართულ ენას მწირი ცნობადობა აქვს მსოფლიოში და არ არსებობს ბევრი დოკუმენტი, ტექსტი ქართულ ენაზე; შესაბამისად მისი ტექნიკური შეცნობა იმდენად კარგად ვერ ხდება მსოფლიოში, როგორც სხვა ენების, მაგალითად: ინგლისურის, ესპანურის, ფრანგულის და ა.შ. მოცემული ამოცანის მსგავსი უკვე არსებობს ბევრ ენაზე. ქართული ენის კარგად დამუშავებით ხელოვნური ინტელექტის მიმართულებით უამრავი სახარბიელო საქმის გაკეთება შეიძლება, როგორიცაა: გრამატიკის შემმოწმებელი, ტექსტის შემდგენი, ქართული ბოტი, ტექსტის აუდიოდ გადამყვანი და პირიქით – აუდიოს ტექსტად, წიგნების ანალიტიკოსი და ა.შ. ზოგი რამ არსებობს უკვე, მაგრამ შეიძლება, სხვა ენების დონისაც გაკეთდეს თუ იქნება ამის მონდომება. მაგრამ მაინც, ყველაზე დიდი გამოწვევა ქართული ენისთვის არის მწირი რესურსები. ასევე ის, რომ კარგი მოდელის შექმნა ბევრ ხარჯებთან არის დაკავშირებული და ესეც პრობლემატურია.
N3: ბუნებრივი ენის დამუშავების უკვე არსებული მიდგომების ქართულ ენაზე მორგება ან პირიქით, ახალი, ქართულ ენაზე მორგებული ალგორითმების შექმნა, უმნიშვნელოვანესია ჩვენი მშობლიური ენის გადასარჩენად თანამედროვე ციფრულ სამყაროში. ეს, რა თქმა უნდა, გააუმჯობესებს ქართულ ტექნოლოგიურ პროდუქტებსაც, რომლებიც მომხმარებელთან ურთიერთობისთვის ენას იყენებს, მაგალითად: ხმოვანი ასისტენტები, ჩატბოტები და ასე შემდეგ.
SynapseNLP: იქიდან გამომდინარე, რომ ქართულ ენაზე ბუნებრივი ენის დამუშავების ამოცანების გადაწყვეტა არ არის ბევრი, უაღრესად მნიშვნელოვანია, გაიწრთვნას მანქანური სწავლების მოდელები ქართულ ენაზეც. თუმცა, ეს ყველაფერი მაინც დამოკიდებულია ქართულ ენაზე მონაცემების რაოდენობასა და კომპიუტერული რესურსების ქონაზე.
– გქონიათ თუ არა მსგავს თემაზე მუშაობის გამოცდილება?
CharliesAngels: ქართულ ენასთან დაკავშირებით გვიმუშავია კომპანია ლივინგსტონში (Leavingstone) საკმაოდ ბევრ პროექტზე: text-to-speech, speech recognition, მოდელი, რომელიც წიგნის პასაჟს აანალიზებს ემოციების ჭრილში და გეუბნება მისნაირ სხვა წიგნებსაც რეკომენდაციების სახით, search query clusterization – ბიზნეს ანალიტიკისთვის და ა.შ.
N3: ჩვენი გუნდის თითოეულ წევრს ხელოვნური ინტელექტისა და მანქანური სწავლების ალგორითმებზე მუშაობის მრავალწლიანი გამოცდილება აქვს. ეს გამოცდილება ცალ-ცალკეც დავაგროვეთ და ერთადაც, როცა კურსელები ვიყავით თბილისის თავისუფალ უნივერსიტეტში და შემდეგ – თანამშრომლები ქართული კომპანია ლივინგსტონის ხელოვნური ინტელექტის გუნდში.
SynapseNLP: ჩვენ მსგავს თემასთან დაკავშირებით მუშაობის გამოცდილება გვქონდა. მაგალითად, გაგვიკეთებია ტვიტერის სენტიმენტების ანალიზი, თუმცა, ეს უკანასკნელი ინგლისურ ენაზე იყო.
– რა გამოწვევების წინაშე დადექით პროექტზე მუშაობისას?
CharliesAngels: პროექტზე მუშაობისას საკმაოდ ბევრი გამოწვევა იყო – მაგალითად ის, თუ როგორ მოვქცეოდით მონაცემებს, რომლებიც ორაზროვანი იყო, ასევე იმის გადამოწმება, რამდენად უშეცდომოდ და სწორად იყო დაჭდევებული მონაცემები და შეცდომების გასწორება, რათა მოდელის წინსვლისთვის არასწორ მონაცემებს ხელი არ შეეშალა.
გამოწვევა ასევე იყო რესურსი, რადგან დიდი მოდელის დასწავლა საკმაოდ ძვირი ფუფუნებაა, თან როდესაც წინასწარ არ იცი, რა შედეგს მოგცემს ის, გჭირდება, რომ სწრაფად იწვრთნებოდეს და შემდეგ არ აღმოაჩინო რომ საშინელი შედეგი გაქვს. მოდელის მხრივ დიდი გამოწვევაა შესაფერისი პარამეტრების შერჩევა. შესაბამისად, ბევრი წვრთნა და დროა საჭირო, რომ საუკეთესო შეარჩიო.
N3: ერთ-ერთი მთავარი გამოწვევა იყო შეზღუდული გამოთვლითი რესურსისა და მცირე მონაცემების პირობებში მაქსიმალურად კარგი შედეგის მიღება. ასევე, ქართული ენისთვის მსგავსი ტიპის მოდელებზე მუშაობის პრაქტიკა არც ისე გავრცელებულია, როგორც მაგალითად ინგლისურ ენაზე. ამის გამო მოგვიწია უფრო ინოვაციური და შემოქმედებითი მიდგომების მოფიქრება, ვიდრე არსებული გადაწყვეტების შესწავლა და გამეორება.
SynapseNLP: ჩვენი ძირითადი გამოწვევა იყო ის, რომ მოცემული მონაცემები არ იყო დაჭდევებული. იქიდან გამომდინარე, რომ ამ სახის დავალების ამოსახსნელად საჭიროა დაჭდევებული მონაცემები, მოგვიწია მეთოდის შემუშავება, რომელიც დაგვეხმარებოდა დიდი რაოდენობის მონაცემები მცირე დროში ეფექტურად დაჭდევებულიყო.
– რამდენად არის შესაძლებელი თქვენს მიერ შემუშავებული ალგორითმის განზოგადება?
CharliesAngels: მოცემული ამოცანის ზოგადი დახასიათება არის text classification, რაც ძალიან ცნობილი ამოცანაა და უამრავი სხვადასხვა კლასიფიკაციისთვის შეიძლება გამოვიყენოთ ჩვენი მოდელი. მთავარი ისაა, მონაცემები რა სახის იქნება. მაგალითად, თუ მიზანია, რომ ტექსტის მიხედვით 1 დან 5 მდე აფასებდეს მოდელი რამდენად ტოქსიკური ტექსტია ან რამდენად კეთილად არის განწყობილი მომხმარებელი ჩვენდამი, ეს ამოცანა ავტომატურად იგივე მოდელით შეიძლება გადაიჭრას, მთავარია არსებობდეს შესაბამისად დაჭდევებული მონაცემები.
N3: მოდელის რეალურ ბიზნეს-გარემოში დანერგვადობა ერთ-ერთი მნიშვნელოვანი კრიტერიუმი იყო. ჩვენ მაქსიმალურად შევეცადეთ, გაგვეთვალიწინებინა ეს მოთხოვნა. საბოლოო შედეგში ისეთი მოდელი მივიღეთ, რომელიც ნებისმიერ პატარა ლეპტოპსა თუ ტელეფონზეც კი მარტივად გაეშვება და ტექნიკური შეზღუდვების გარეშე განვითარდება.
SynapseNLP: ჩვენ მიერ შემუშავებული გადაწყვეტის განზოგადება შესაძლებელია. ამჟამად ის კონკრეტულად მუშაობს მხოლოდ სენტიმენტ ანალიზის ამოცანის ამოსახსნელად, თუმცა, მცირე მოდიფიკაციით ასევე შესაძლებელია იმუშაოს ბუნებრივი ენის სხვა ამოცანების ამოსახსნელადაც.