სარჩევი[დამალვა][ჩვენება]
ბიზნესები 2021 წლისთვის აითვისებენ მომხმარებელთა ურთიერთქმედების მონაცემების შეძენას.
მეორეს მხრივ, ამ მონაცემების ზედმეტად დამოკიდებულება ხშირად იწვევს იმ ფაქტს, რომ ორგანიზაციები განიხილავენ მომხმარებელთა შეყვანას, როგორც სტატისტიკას - საკმაოდ ერთგანზომილებიან მიდგომას მომხმარებლის ხმის მოსასმენად.
მომხმარებლის ხმის ბეჯი ან რიცხვად გადაქცევა შეუძლებელია.
ის უნდა იყოს წაკითხული, შეკუმშული და, უპირველეს ყოვლისა, გაგება.
ფაქტია, რომ კომპანიებმა აქტიურად უნდა მოუსმინონ იმას, თუ რას ამბობენ მათი მომხმარებლები ყველა არხზე, რომლითაც ისინი ურთიერთობენ მათთან, იქნება ეს სატელეფონო ზარების, ელექტრონული ფოსტის, თუ პირდაპირი ჩატის საშუალებით.
თითოეულმა კომპანიამ პრიორიტეტი უნდა მიანიჭოს მომხმარებელთა გამოხმაურების მონიტორინგს და შეფასებას, მაგრამ კომპანიებს ტრადიციულად უჭირთ ამ მონაცემების დამუშავება და მათი მნიშვნელოვანი ინტელექტის გადაქცევა.
ეს აღარ ხდება სენტიმენტის ანალიზში.
ამ გაკვეთილზე ჩვენ უფრო დეტალურად განვიხილავთ განწყობის ანალიზს, მის უპირატესობებს და როგორ გამოვიყენოთ NLTK ბიბლიოთეკა, რათა გააკეთოს სენტიმენტალური ანალიზი მონაცემებზე.
რა არის განწყობის ანალიზი?
სენტიმენტების ანალიზი, რომელიც ხშირად ცნობილია როგორც საუბრის მოპოვება, არის მეთოდი ხალხის გრძნობების, აზრებისა და შეხედულებების გასაანალიზებლად.
განწყობის ანალიზი საშუალებას აძლევს ბიზნესებს უკეთ გაიგონ თავიანთი მომხმარებლები, გაზარდონ შემოსავალი და გააუმჯობესონ თავიანთი პროდუქტები და სერვისები კლიენტის შეტანის საფუძველზე.
განსხვავება პროგრამულ სისტემას შორის, რომელსაც შეუძლია გააანალიზოს მომხმარებელთა განწყობები და გამყიდველი/მომხმარებელთა მომსახურების წარმომადგენელი, რომელიც ცდილობს მის დასკვნას, არის პირველის უნარი, გამოიტანოს ობიექტური შედეგები ნედლეული ტექსტიდან - ეს, პირველ რიგში, მიიღწევა ბუნებრივი ენის დამუშავების (NLP) მეშვეობით და მანქანა სწავლის ტექნიკა.
ემოციების იდენტიფიკაციიდან ტექსტის კატეგორიზაციამდე, სენტიმენტების ანალიზს აპლიკაციების ფართო სპექტრი აქვს. ჩვენ ვიყენებთ სენტიმენტის ანალიზს ტექსტურ მონაცემებზე, რათა დავეხმაროთ ფირმას აკონტროლოს პროდუქტის შეფასების ან მომხმარებელთა გამოხმაურება.
სხვადასხვა სოციალური მედიის საიტი იყენებს მას პოსტების განწყობის შესაფასებლად და თუ ემოცია ძალიან ძლიერია ან ძალადობრივია, ან მათ ზღვარს ქვემოთ ეცემა, პოსტი ან წაიშლება ან იმალება.
სენტიმენტების ანალიზის გამოყენება შესაძლებელია ყველაფრისთვის, ემოციის იდენტიფიკაციიდან ტექსტის კატეგორიზაციამდე.
სენტიმენტის ანალიზის ყველაზე პოპულარული გამოყენება ტექსტურ მონაცემებზეა, სადაც ის გამოიყენება კომპანიის დასახმარებლად პროდუქტის შეფასების ან მომხმარებელთა კომენტარების განწყობის თვალყურის დევნებაში.
სხვადასხვა სოციალური მედიის საიტები ასევე იყენებენ მას პოსტების განწყობის შესაფასებლად და თუ ემოცია ძალიან ძლიერია ან ძალადობრივია, ან ზღურბლს ქვემოთ ეცემა, ისინი წაშლიან ან მალავენ პოსტს.
სენტიმენტების ანალიზის სარგებელი
ქვემოთ მოცემულია სენტიმენტების ანალიზის ზოგიერთი ყველაზე მნიშვნელოვანი უპირატესობა, რომელიც არ უნდა იყოს უგულებელყოფილი.
- დაეხმარეთ თქვენი ბრენდის აღქმის შეფასებას თქვენს სამიზნე დემოგრაფიულ წრეებში.
- კლიენტის პირდაპირი გამოხმაურება მოწოდებულია, რათა დაგეხმაროთ თქვენი პროდუქტის განვითარებაში.
- ზრდის გაყიდვების შემოსავალს და ძიებებს.
- გაიზარდა გაყიდვის შესაძლებლობები თქვენი პროდუქტის ჩემპიონებისთვის.
- მომხმარებელთა პროაქტიული მომსახურება პრაქტიკული ვარიანტია.
ნომრებს შეუძლიათ მოგაწოდოთ ინფორმაცია, როგორიცაა მარკეტინგული კამპანიის ნედლეული შესრულება, საძიებო ზარის ჩართულობის ოდენობა და მომხმარებელთა მხარდაჭერაში მომლოდინე ბილეთების რაოდენობა.
თუმცა, ის არ გეტყვით, რატომ მოხდა კონკრეტული მოვლენა ან რამ გამოიწვია იგი. მაგალითად, ანალიტიკის ინსტრუმენტები, როგორიცაა Google და Facebook, დაგეხმარებათ შეაფასოთ თქვენი მარკეტინგული ძალისხმევა.
მაგრამ ისინი არ გაძლევენ სიღრმისეულ ცოდნას იმის შესახებ, თუ რატომ იყო ეს კონკრეტული კამპანია წარმატებული.
სენტიმენტის ანალიზს აქვს პოტენციალი, რომ თამაშის შეცვლა ამ მხრივ.
განწყობის ანალიზი - პრობლემის განცხადება
მიზანია დადგინდეს, აქვს თუ არა ტვიტს დადებითი, ნეგატიური ან ნეიტრალური ემოციები აშშ-ის ექვს ავიაკომპანიაზე ტვიტების საფუძველზე.
ეს არის სტანდარტული ზედამხედველობითი სასწავლო სამუშაო, რომელშიც ჩვენ უნდა დავყოთ ტექსტის სტრიქონი წინასწარ განსაზღვრულ კატეგორიებად, მოცემული ტექსტის სტრიქონით.
Solution
ჩვენ გამოვიყენებთ სტანდარტული მანქანური სწავლის პროცესს ამ პრობლემის მოსაგვარებლად. ჩვენ დავიწყებთ საჭირო ბიბლიოთეკებისა და მონაცემთა ნაკრების იმპორტით.
შემდეგ ჩვენ შევასრულებთ საძიებო მონაცემების ანალიზს, რათა დავადგინოთ არის თუ არა რაიმე ნიმუში მონაცემებში. ამის შემდეგ, ჩვენ განვახორციელებთ ტექსტის წინასწარ დამუშავებას ტექსტური შეყვანის ციფრული მონაცემების გადასაქცევად მანქანა სწავლის სისტემას შეუძლია გამოიყენოს.
და ბოლოს, ჩვენ მოვამზადებთ და შევაფასებთ ჩვენი განწყობის ანალიზის მოდელებს მანქანური სწავლების მეთოდების გამოყენებით.
1. ბიბლიოთეკების იმპორტი
ჩატვირთეთ საჭირო ბიბლიოთეკები.
2. მონაცემთა ნაკრების იმპორტი
ეს სტატია დაფუძნებულია მონაცემთა ბაზაზე, რომელიც შეგიძლიათ ნახოთ Github. მონაცემთა ნაკრები იმპორტირებული იქნება Pandas-ის წაკითხვის CSV ფუნქციის გამოყენებით, როგორც ეს ჩანს ქვემოთ:
head() ფუნქციის გამოყენებით, შეისწავლეთ მონაცემთა ნაკრების პირველი ხუთი მწკრივი:
გამოყვანის:
3. მონაცემთა ანალიზი
მოდით შევამოწმოთ მონაცემები იმის დასადგენად, არის თუ არა რაიმე ტენდენციები. მაგრამ პირველ რიგში, ჩვენ შევცვლით ნაგულისხმევი ნახაზების ზომას, რათა დიაგრამები უფრო ხილული გავხადოთ.
დავიწყოთ თითოეული ავიაკომპანიის მიერ მიღებული ტვიტების რაოდენობით. ამისათვის ჩვენ გამოვიყენებთ ტორტის დიაგრამას:
გამომავალში ნაჩვენებია საჯარო ტვიტების პროცენტი თითოეული ავიაკომპანიისთვის.
მოდით შევხედოთ როგორ ნაწილდება გრძნობები ყველა ტვიტზე.
გამოყვანის:
მოდით ახლა განვიხილოთ სენტიმენტების განაწილება თითოეული კონკრეტული ავიაკომპანიისთვის.
შედეგების მიხედვით, ტვიტების უმეტესობა თითქმის ყველა ავიაკომპანიისთვის არახელსაყრელია, ნეიტრალური და კარგი ტვიტები მოჰყვება. Virgin America არის ალბათ ერთადერთი ავიაკომპანია, სადაც სამი გრძნობის პროპორცია შედარებითია.
გამოყვანის:
და ბოლოს, ჩვენ გამოვიყენებთ Seaborn ბიბლიოთეკას, რათა მივიღოთ ტვიტების ნდობის საშუალო დონე სამი განწყობის კატეგორიიდან.
გამოყვანის:
შედეგი აჩვენებს, რომ ნეგატიური ტვიტების ნდობის დონე უფრო მაღალია, ვიდრე პოზიტიური ან ნეიტრალური ტვიტებისთვის.
4. მონაცემთა გაწმენდა
ბევრი ჟარგონის ტერმინი და პუნქტუაციის ნიშნები შეგიძლიათ იხილოთ ტვიტებში. სანამ მანქანათმცოდნეობის მოდელს მოვამზადებთ, უნდა გავწმინდოთ ჩვენი ტვიტები.
თუმცა, სანამ დავიწყებთ ტვიტების გაწმენდას, ჩვენ უნდა გავყოთ ჩვენი მონაცემთა ნაკრები ფუნქციების და ეტიკეტების ნაკრებებად.
ჩვენ შეგვიძლია გავწმინდოთ მონაცემები მას შემდეგ რაც დავყოფთ მათ ფუნქციებსა და სასწავლო კომპლექტებად. ამისათვის გამოყენებული იქნება რეგულარული გამონათქვამები.
5. ტექსტის რიცხვითი წარმოდგენა
მანქანური სწავლის მოდელების მოსამზადებლად, სტატისტიკური ალგორითმები იყენებენ მათემატიკას. მეორეს მხრივ, მათემატიკა მუშაობს მხოლოდ რიცხვებთან.
ჩვენ ჯერ ტექსტი უნდა გადავაქციოთ რიცხვებად, რათა სტატისტიკური ალგორითმები გაუმკლავდნენ მას. ამის გაკეთების სამი ძირითადი გზა არსებობს: სიტყვების ჩანთა, TF-IDF და Word2Vec.
საბედნიეროდ, Python-ის Scikit-Learn მოდულში TfidfVetorizer კლასის გამოყენება შესაძლებელია ტექსტის მახასიათებლების TF-IDF ფუნქციების ვექტორებად გადაქცევისთვის.
6. მონაცემთა ბაზაზე მომუშავე ტრენინგისა და ტესტირების კომპლექტების შექმნა
და ბოლოს, ჩვენ უნდა დავყოთ ჩვენი მონაცემები სასწავლო და ტესტირების კომპლექტებად, სანამ მოვამზადებთ ჩვენს ალგორითმებს.
სავარჯიშო ნაკრები გამოყენებული იქნება ალგორითმის მოსამზადებლად, ხოლო ტესტის ნაკრები გამოყენებული იქნება მანქანათმცოდნეობის მოდელის მუშაობის შესაფასებლად.
7. მოდელის შემუშავება
მას შემდეგ, რაც მონაცემები დაყოფილია ტრენინგებსა და ტესტებში, მანქანური სწავლების ტექნიკა გამოიყენება ტრენინგის მონაცემების შესასწავლად.
თქვენ შეგიძლიათ გამოიყენოთ მანქანური სწავლების ნებისმიერი ალგორითმი. თუმცა, შემთხვევითი ტყის მიდგომა გამოყენებული იქნება არანორმალიზებულ მონაცემებთან გამკლავების უნარის გამო.
8. პროგნოზები და მოდელის შეფასება
მოდელის მომზადების შემდეგ, საბოლოო ეტაპი არის პროგნოზების გაკეთება. ამისათვის ჩვენ უნდა გამოვიყენოთ პროგნოზის მეთოდი RandomForestClassifier კლასის ობიექტზე, რომელიც ჩვენ მოვამზადეთ.
დაბოლოს, კლასიფიკაციის ზომები, როგორიცაა დაბნეულობის მეტრიკა, F1 ზომები, სიზუსტე და ასე შემდეგ, შეიძლება გამოყენებულ იქნას მანქანათმცოდნეობის მოდელების მუშაობის შესაფასებლად.
გამოყვანის:
ჩვენმა ალგორითმმა მიაღწია 75.30 სიზუსტეს, როგორც ეს შედეგებიდან ჩანს.
დასკვნა
სენტიმენტების ანალიზი არის ერთ-ერთი ყველაზე გავრცელებული NLP სამუშაო, რადგან ის ეხმარება განსაზღვროს საერთო საზოგადოებრივი აზრი კონკრეტულ საკითხზე.
ჩვენ ვნახეთ, თუ როგორ შეუძლია Python-ის რამდენიმე ბიბლიოთეკა დაგეხმაროთ სენტიმენტების ანალიზში.
ჩვენ ჩავატარეთ შესწავლა საჯარო ტვიტერების შესახებ ექვსი ამერიკული ავიაკომპანიის შესახებ და მიაღწიეთ დაახლოებით 75% სიზუსტეს.
მე გირჩევთ, სცადოთ მანქანური სწავლების სხვა ალგორითმი, როგორიცაა ლოგისტიკური რეგრესია, SVM ან KNN, რათა ნახოთ, შეგიძლიათ თუ არა უკეთესი შედეგების მიღწევა.
დატოვე პასუხი