SetFitABSA არის ეფექტური ტექნიკა ტექსტში კონკრეტული ასპექტების მიმართ სენტიმენტის აღმოსაჩენად. ABSA (ასპექტზე დაფუძნებული სენტიმენტის ანალიზი) ფართოდ გამოიყენება ორგანიზაციების მიერ ღირებული ინფორმაციის მოსაპოვებლად მომხმარებელთა გამოხმაურების გაანალიზებით პროდუქტების ან სერვისების ასპექტების მიმართ სხვადასხვა დომენში. თუმცა, ABSA-სთვის საწვრთნელი მონაცემების ეტიკეტირება დამღლელი ამოცანაა მისი დეტალური ბუნების (ტოკენის დონე) გამო, რაც გულისხმობს ასპექტების ხელით იდენტიფიცირებას საწვრთნელ ნიმუშებში. Intel Labs-ი და Hugging Face სიხარულით წარმოადგენენ SetFitABSA-ს, ფრეიმვორკს დომენის სპეციფიკური ABSA მოდელების მცირე მონაცემებით (few-shot) წვრთნისთვის; SetFitABSA კონკურენტუნარიანია და უმჯობესდება კიდეც გენერაციულ მოდელებს, როგორიცაა Llama2 და T5, მცირე მონაცემების სცენარებში. LLM-ზე დაფუძნებულ მეთოდებთან შედარებით, SetFitABSA-ს ორი უნიკალური უპირატესობა აქვს: 🗣 არ არის საჭირო პრომპტები: LLM-ების გამოყენებით მცირე მონაცემებით კონტექსტში სწავლა მოითხოვს ხელით შექმნილ პრომპტებს, რაც შედეგებს მყიფეს, ფრაზირების მიმართ მგრძნობიარეს და მომხმარებლის ექსპერტიზაზე დამოკიდებულს ხდის. SetFitABSA მთლიანად უარს ამბობს პრომპტებზე, უშუალოდ მცირე რაოდენობის ეტიკეტირებული ტექსტური მაგალითებიდან მდიდარი ემბედინგების გენერირებით. 🏎 სწრაფი წვრთნა: SetFitABSA-სთვის საჭიროა მხოლოდ მცირე რაოდენობის ეტიკეტირებული საწვრთნელი ნიმუშები; გარდა ამისა, ის იყენებს მარტივ საწვრთნელი მონაცემების ფორმატს, რაც გამორიცხავს სპეციალიზებული მარკირების ხელსაწყოების საჭიროებას. ეს მონაცემების ეტიკეტირების პროცესს სწრაფსა და მარტივს ხდის. ამ ბლოგპოსტში, ჩვენ განვმარტავთ, თუ როგორ მუშაობს SetFitABSA და როგორ შეგიძლიათ გაწვრთნათ თქვენი საკუთარი მოდელები SetFit ბიბლიოთეკის გამოყენებით. მოდით დავიწყოთ! **SetFitABSA-ს სამსაფეხურიანი წვრთნის პროცესი** SetFitABSA სამი საფეხურისგან შედგება. პირველი საფეხური ამოიღებს ასპექტ-კანდიდატებს ტექსტიდან, მეორე საფეხური განასხვავებს ასპექტებს ასპექტ-კანდიდატების კლასიფიკაციით, როგორც ასპექტები ან არა-ასპექტები, ხოლო საბოლოო საფეხური თითოეულ ამოღებულ ასპექტს უთანაბრებს სენტიმენტის პოლარობას. მეორე და მესამე საფეხურები ეფუძნება SetFit მოდელებს. 1. **ასპექტ-კანდიდატების ამოღება** ამ ნაშრომში ჩვენ ვარაუდობთ, რომ ასპექტები, რომლებიც ჩვეულებრივ პროდუქტებისა და სერვისების მახასიათებლებია, ძირითადად არსებითი სახელები ან არსებითი სახელების რთული შენაერთები (თანმიმდევრული არსებითი სახელების სტრიქონები) არიან. ჩვენ ვიყენებთ spaCy-ს წინადადებების ტოკენიზაციისთვის და არსებითი სახელების/რთული არსებითი სახელების ამოსაღებად (მცირე მონაცემების) საწვრთნელი ნაკრებიდან. რადგან ყველა ამოღებული არსებითი სახელი/რთული არსებითი სახელი არ არის ასპექტი, ჩვენ მათ ვუწოდებთ ასპექტ-კანდიდატებს. 2. **ასპექტი/არა-ასპექტის კლასიფიკაცია** ახლა, როდესაც გვაქვს ასპექტ-კანდიდატები, საჭიროა მოდელის გაწვრთნა, რათა შეძლოს განასხვავოს არსებითი სახელები, რომლებიც ასპექტებია, და არსებითი სახელები, რომლებიც არა-ასპექტებია. ამ მიზნით, ჩვენ გვჭირდება საწვრთნელი ნიმუშები ასპექტის/არა-ასპექტის ეტიკეტებით. ეს ხდება საწვრთნელ ნაკრებში ასპექტების ჭეშმარიტ ასპექტებად მიჩნევით, ხოლო სხვა გადაფარვის გარეშე კანდიდატი ასპექტები განიხილება არა-ასპექტებად და შესაბამისად ეტიკეტირდება როგორც მცდარი: ახლა, როდესაც ყველა ასპექტ-კანდიდატი ეტიკეტირებულია, როგორ გამოვიყენოთ ეს კანდიდატი ასპექტების კლასიფიკაციის მოდელის გასაწვრთნელად? სხვა სიტყვებით რომ ვთქვათ, როგორ გამოვიყენოთ SetFit, წინადადების კლასიფიკაციის ფრეიმვორკი, ცალკეული ტოკენების კლასიფიკაციისთვის? ხრიკი იმაშია: თითოეული ასპექტ-კანდიდატი ერთიანდება მთელ საწვრთნელ წინადადებასთან, რათა შეიქმნას საწვრთნელი ინსტანცია შემდეგი შაბლონის გამოყენებით: შაბლონის ზემოთ მოცემულ მაგალითზე გამოყენება შექმნის 3 საწვრთნელ ინსტანციას – ორს ჭეშმარიტი ეტიკეტებით, რომლებიც წარმოადგენენ ასპექტის საწვრთნელ ინსტანციებს, და ერთს მცდარი ეტიკეტით, რომელიც წარმოადგენს არა-ასპექტის საწვრთნელ ინსტანციას: საწვრთნელი ინსტანციების გენერირების შემდეგ, მზად ვართ გამოვიყენოთ SetFit-ის ძალა, რათა გავწვრთნათ მცირე მონაცემებით დომენის სპეციფიკური ბინარული კლასიფიკატორი ასპექტების ამოსაღებად შეყვანილი ტექსტური მიმოხილვიდან. ეს იქნება ჩვენი პირველი დაზუსტებული SetFit მოდელი. 3. **სენტიმენტის პოლარობის კლასიფიკაცია** მას შემდეგ, რაც სისტემა ამოიღებს ასპექტებს ტექსტიდან, მან უნდა დაუკავშიროს სენტიმენტის პოლარობა (მაგ., დადებითი, უარყოფითი ან ნეიტრალური) თითოეულ ასპექტს. ამ მიზნით, ჩვენ ვიყენებთ მე-2 SetFit მოდელს და ვწვრთნით მას ასპექტის ამოღების მოდელის მსგავსად, როგორც ეს ნაჩვენებია შემდეგ მაგალითში: გაითვალისწინეთ, რომ ასპექტის ამოღების მოდელისგან განსხვავებით, ჩვენ არ ვრთავთ არა-ასპექტებს ამ საწვრთნელ ნაკრებში, რადგან მიზანია სენტიმენტის პოლარობის კლასიფიკაცია რეალური ასპექტების მიმართ. დასკვნის ეტაპზე, სატესტო წინადადება გადის spaCy ასპექტ-კანდიდატების ამოღების ფაზას, რაც იწვევს სატესტო ინსტანციებს შაბლონის გამოყენებით: aspect_candidate:test_sentence. შემდეგ, არა-ასპექტები იფილტრება ასპექტი/არა-ასპექტის კლასიფიკატორის მიერ. საბოლოოდ, ამოღებული ასპექტები გადაეცემა სენტიმენტის პოლარობის კლასიფიკატორს, რომელიც პროგნოზირებს სენტიმენტის პოლარობას თითოეული ასპექტისთვის. პრაქტიკაში, ეს ნიშნავს, რომ მოდელს შეუძლია მიიღოს ნორმალური ტექსტი შეყვანად და გამოიტანოს ასპექტები და მათი სენტიმენტები: მოდელის შეყვანა: მოდელის გამოყვანა: SetFitABSA შეფასდა AWS AI Labs-ისა და Salesforce AI Research-ის უახლეს მიღწევებთან შედარებით, რომლებიც T5-სა და GPT2-ს პრომპტების გამოყენებით აზუსტებენ. უფრო სრულყოფილი სურათის მისაღებად, ჩვენ ასევე შევადარეთ ჩვენი მოდელი Llama-2-chat მოდელს კონტექსტში სწავლის გამოყენებით. ჩვენ ვიყენებთ პოპულარულ Laptop14 და Restaurant14 ABSA მონაცემთა ნაკრებებს 2014 წლის სემანტიკური შეფასების გამოწვევადან (SemEval14). SetFitABSA შეფასებულია როგორც ასპექტის ტერმინების ამოღების შუალედურ ამოცანაზე (SB1), ასევე ABSA-ს სრულ ამოცანაზე - ასპექტების ამოღებასა და მათ სენტიმენტებთან ერთად.