სირთულე
თქვენი საუკეთესო შედეგი
არ არის
ნებადართულია წინასწარ დატრენინგებული ენობრივი მოდელების (მაგ: BERT, RoBERTa, sentence-transformers) გამოყენება ჩატვირთული წონებით (weights). GPU აჩქარება ტრენინგისა და ინფერენსისთვის სრულად დაშვებულია. TF-IDF-ზე დაფუძნებული კლასიკური NLP ფაიფლაინები (pipelines) ასევე დაშვებული და წახალისებულია.
სადღაც ნიუ-მექსიკოს მშრალ ველებზე, 1883 წელი.
მოხუც შერიფ კლემ დადლის ჰქონდა ჩვევა, რომელიც მის არცერთ თანაშემწეს არ ესმოდა: ყოველ საღამოს, რაც არ უნდა გრძელი ყოფილიყო დღე, ის ქუდს ცხენის უნაგირზე დებდა, საბანზე წვებოდა და პირდაპირ ცას უყურებდა.
„ვარსკვლავები არ ტყუიან“, — იტყოდა ხოლმე. „ნებისმიერი გაქცეული, ნებისმიერი მაწანწალა, ნებისმიერი პატიოსანი ადამიანი — ყველა ერთსა და იმავე ცას უყურებს“.
აგვისტოს ერთ ღამეს, უდაბნოში ვეგას ბანდის სამდღიანი დევნისგან დაქანცული კლემი მელანივით შავ ცის ქვეშ დაწვა, რომელიც იმაზე მეტი ვარსკვლავით იყო მოჭედილი, ვიდრე ოდესმე დაეთვალა. ჩაძინებას ცდილობდა, როცა ვარსკვლავებმა მოძრაობა დაიწყეს — თავიდან ნელა, როგორც მომაკვდავი კოცონიდან ქარის მიერ წაღებული ნაპერწკლები. შემდეგ სულ უფრო სწრაფად. მათ შორის ხაზები გაიბნა. სამკუთხედები. სპირალები. ცხოველები. ციფრები. ფორმები, რომელთა სახელებიც არ იცოდა.
„ალბათ სიცხის ბრალია“, — ჩაიბურტყუნა მან. მაგრამ მაინც აგრძელებდა ყურებას.
ფორმები სიტყვებად იქცა. არა წარმოთქმულ, არამედ ნაგრძნობ სიტყვებად. თითოეულ თანავარსკვლავედს თითქოს თავისი მნიშვნელობა, წონა და ისტორია ჰქონდა მიბმული, როგორც ძებნილი დამნაშავის პლაკატს შერიფის დაფაზე. ფანქრისკენ გაიწია მათ ჩასაწერად და სწორედ მაშინ — ყველაფერი გაქრა.
ის სხვაგან გამოფხიზლდა.
სამყარო ვარსკვლავებს შორის. ასე ეძახდნენ მას.
ეს იყო ვრცელი და ჩუმი ტერიტორია, სადაც ცა მიწა იყო, ხოლო თანავარსკვლავედები — სოფლები. თითოეული მათგანი გარკვეული ფორმით განლაგებული ვარსკვლავების ჯგუფი იყო და თითოეულ ფორმას ჰქონდა სახელი, რომელიც თავის ისტორიასთან შესაბამისობას ელოდა. ამ მხარის მცხოვრებლები, ვარსკვლავების გადამწერები, საუკუნეების განმავლობაში აწარმოებდნენ ზედმიწევნით ჩანაწერებს: დღიურებს, პოემებს, გზის ჟურნალებს, ლეგენდებს — ყველაფერს, რაც დაწერილი იყო იმ ადამიანების მიერ, რომლებიც ქვემოდან, მიწიდან უყურებდნენ ვარსკვლავების ამ ფორმებს.
მაგრამ რაღაც არასწორად წავიდა. დიდმა ციურმა შტორმმა — ადგილობრივები მას გაფანტვას ეძახდნენ — თითოეულ თანავარსკვლავედს იარლიყი მოგლიჯა და ქარს გაატანა. ახლა ათასობით ტექსტი დაფრინავდა უმისამართოდ იმ ვარსკვლავების ფორმების თავზე, რომლებსაც ოდესღაც აღწერდნენ, და ვარსკვლავების გადამწერებს აღარ შეეძლოთ ეთქვათ, რომელი ისტორია რომელ ცას ეკუთვნოდა.
კლემს ვარსკვლავის შუქისგან დამზადებული ნიშანი და მარტივი ინსტრუქცია გადასცეს:
„შეუსაბამე სიტყვები ვარსკვლავებს, შერიფო. სანამ შემდეგი შტორმი მოვა“.
მოცემული გაქვთ თანავარსკვლავედების ნაკრები, რომელთაგან თითოეული აღწერილია 2D წერტილების თანმიმდევრობით, რომლებიც ქმნიან გეომეტრიულ ფორმას (მაგ: ჯვარი, სპირალი, ხუთკუთხა ფიგურა, ციფრები 6, 7, 8, ციფრების კომბინაციები და ა.შ.). ასევე მოცემულია კანდიდატი ტექსტური ფრაგმენტების დიდი ბაზა — ჩანაწერები დღიურიდან, ლეგენდები, აღწერები — თითოეული თავდაპირველად დაწერილი ერთი კონკრეტული თანავარსკვლავედის შესახებ.
თქვენი მიზანია შექმნათ მოდელი, რომელიც შეძლებს ბაზიდან თითოეულ ტექსტს სწორად მიაკუთვნოს შესაბამისი თანავარსკვლავედი, მხოლოდ კოორდინატების გეომეტრიასა და ტექსტის შინაარსს შორის სემანტიკურ და სტრუქტურულ კავშირზე დაყრდნობით.
train.csv შეიცავს 300 დალეიბლებულ წყვილს (თანავარსკვლავედი-ტექსტი):
| სვეტი | აღწერა |
|---|---|
id | თანავარსკვლავედის ID (0-299) |
coords | 728-განზომილებიანი კოორდინატების ვექტორი, გამოყოფილი ხაზებით: \|x1\|x2\|...\|x728\| |
text | შესაბამისი ლიტერატურული ფრაგმენტი |
test.csv შეიცავს 50 თანავარსკვლავედის თანმიმდევრობას ლეიბლების გარეშე (datapointID 1-50):
| სვეტი | აღწერა |
|---|---|
datapointID | მთელი რიცხვი 1-დან 50-მდე |
coords | იგივე ფორმატი, რაც სატრენინგო ნაკრებში |
თითოეული datapointID გვხვდება 40-65-ჯერ. ტექსტური ლეიბლები არ არის მოცემული.
candidates.csv შეიცავს 500 ტექსტურ ფრაგმენტს:
| სვეტი | აღწერა |
|---|---|
text_id | მთელი რიცხვი 0-499 |
text | ლიტერატურული ფრაგმენტი (დღიური, პოემა, ლეგენდა) |
წარდგენის ფაილი უნდა იყოს CSV ფორმატში შემდეგი სვეტებით:
| ველი | აღწერა |
|---|---|
subtaskID | უნდა იყოს 1 ყველა სტრიქონისთვის |
datapointID | მთელი რიცხვი 1-50, სატესტო თანავარსკვლავედის იდენტიფიკატორი |
answer | ნაპროგნოზები text_id (მთელი რიცხვი 0-499) |
თითოეული 50 სატესტო datapointID-დან უნდა გამოჩნდეს ზუსტად ერთხელ.
მაგალითი:
subtaskID,datapointID,answer1,1,421,2,3171,3,467...თითოეული პროგნოზი ფასდება როგორც single-label კლასიფიკაცია 500 კანდიდატ ტექსტურ ID-ზე. პროგნოზი არის ან სწორი (1) ან არასწორი (0).
საბოლოო მეტრიკა არის სწორი პროგნოზების რაოდენობა / 50.
ნედლი ქულები კონვერტირდება საკონკურსო ქულებად წრფივი ფუნქციის გამოყენებით მინიმალური ზღვარით:
| Accuracy | ქულა |
|---|---|
| < 0.30 | 0 ქულა |
| >= 0.85 | 100 ქულა |
| შუალედური (0.30 - 0.85) | წრფივი სკალირება 0-დან 100-მდე |
მოკლედ: ქულების მისაღებად საჭიროა სწორად შეუსაბამოთ მინიმუმ 15 თანავარსკვლავედი 50-დან (accuracy = 0.30), ხოლო 43 ან მეტის სწორად შესაბამისობა (accuracy >= 0.85) მოგიტანთ მაქსიმალურ ქულას.
„ვარსკვლავები არ ტყუიან. ვარსკვლავს უფრო მეტად შეიძლება ენდო, ვიდრე ადამიანს...“ — შერიფი კლემ დადლი, 1883 წელი