Бизнесът ще усвои придобиването на данни за взаимодействие с потребителите до 2021 г.
Прекаленото разчитане на тези точки от данни, от друга страна, често води до организации, които третират информацията от клиентите като статистика – доста едноизмерен подход за вслушване в гласа на клиента.
Гласът на клиента не може да бъде маркиран или преобразуван в число.
Тя трябва да бъде прочетена, съкратена и най-вече разбрана.
Факт е, че компаниите трябва активно да слушат какво имат да кажат техните потребители по всеки канал, чрез който взаимодействат с тях, независимо дали става дума за телефонни обаждания, имейли или чат на живо.
Всяка компания трябва да даде приоритет на мониторинга и оценката на настроенията на обратната връзка на потребителите, но компаниите традиционно се борят да боравят с тези данни и да ги трансформират в значима информация.
Това вече не е случаят с анализа на настроението.
В този урок ще разгледаме по-отблизо анализа на настроението, неговите предимства и как да използвате NLTK библиотека за извършване на анализ на настроението върху данните.
Какво е анализ на настроението?
Анализът на настроенията, често известен като копаене на разговори, е метод за анализиране на чувствата, мислите и възгледите на хората.
Анализът на настроението позволява на бизнеса да разбере по-добре своите потребители, да увеличи приходите и да подобри своите продукти и услуги въз основа на приноса на клиентите.
Разликата между софтуерна система, способна да анализира настроенията на клиентите, и продавач/представител за обслужване на клиенти, който се опитва да ги изведе, е чистата способност на първата да извлича обективни резултати от необработения текст - това се постига основно чрез обработка на естествен език (NLP) и машинно обучение техники.
От идентифициране на емоции до категоризиране на текст, анализът на настроението има широк спектър от приложения. Използваме анализ на настроенията върху текстови данни, за да помогнем на фирмата да наблюдава настроенията на оценките на продуктите или обратната връзка на потребителите.
Различни сайтове за социални медии го използват, за да оценят настроението на публикациите и ако емоцията е твърде силна или бурна или падне под техния праг, публикацията или се изтрива, или се скрива.
Анализът на настроението може да се използва за всичко - от идентифициране на емоции до категоризиране на текст.
Най-популярното използване на анализа на настроенията е върху текстови данни, където се използва, за да помогне на компанията да проследи настроенията на оценките на продукта или коментарите на потребителите.
Различни сайтове за социални медии също го използват, за да оценят настроението на публикациите и ако емоцията е твърде силна или бурна или падне под техния праг, те изтриват или скриват публикацията.
Ползи от анализа на настроението
По-долу са някои от най-важните предимства на анализа на настроението, които не бива да се пренебрегват.
- Помощ при оценката на възприемането на вашата марка сред вашата целева демографска група.
- Предоставя се директна обратна връзка с клиентите, за да ви помогне в разработването на вашия продукт.
- Увеличава приходите от продажби и търсенето.
- Възможностите за скъпи продажби за шампионите на вашия продукт се увеличиха.
- Проактивното обслужване на клиенти е практичен вариант.
Числата могат да ви предоставят информация като суровото представяне на маркетингова кампания, степента на ангажираност в обаждане за търсене и броя на билетите, чакащи в поддръжката на клиенти.
Той обаче няма да ви каже защо се е случило конкретно събитие или какво го е причинило. Инструментите за анализ като Google и Facebook, например, могат да ви помогнат да оцените ефективността на вашите маркетингови усилия.
Но те не ви предоставят задълбочени познания за това защо тази конкретна кампания е била успешна.
Анализът на настроението има потенциала да промени играта в това отношение.
Анализ на настроението – Постановка на проблема
Целта е да се определи дали един туит има благоприятна, отрицателна или неутрална емоция по отношение на шест американски авиокомпании въз основа на туитове.
Това е стандартна задача за контролирано обучение, в която трябва да категоризираме текстов низ в предварително определени категории, дадени на текстов низ.
Решение
Ще използваме стандартния процес на машинно обучение, за да се справим с този проблем. Ще започнем с импортиране на необходимите библиотеки и набори от данни.
След това ще извършим проучвателен анализ на данните, за да определим дали има някакви модели в данните. След това ще предприемем предварителна обработка на текст, за да превърнем текстови входни цифрови данни, които a машинно обучение системата може да използва.
И накрая, ще обучим и оценим нашите модели за анализ на настроението, използвайки методи за машинно обучение.
1. Импортиране на библиотеки
Заредете необходимите библиотеки.
2. Импортиране на набор от данни
Тази статия ще се основава на набор от данни, който може да бъде намерен на Github. Наборът от данни ще бъде импортиран с помощта на функцията за четене на CSV на Pandas, както се вижда по-долу:
Използвайки функцията head(), прегледайте първите пет реда на набора от данни:
Изход:
3. Анализ на данните
Нека разгледаме данните, за да определим дали има някакви тенденции. Но първо ще променим размера на диаграмата по подразбиране, за да направим диаграмите по-видими.
Нека започнем с броя на туитовете, получени от всяка авиокомпания. Ще използваме кръгова диаграма за това:
Процентът на публичните туитове за всяка авиокомпания се показва в резултата.
Нека да разгледаме как се разпределят чувствата във всички туитове.
Изход:
Нека сега разгледаме разпределението на настроенията за всяка конкретна авиокомпания.
Според резултатите по-голямата част от туитовете за почти всички авиокомпании са неблагоприятни, като следват неутрални и добри туитове. Virgin America е може би единствената авиокомпания, където делът на трите чувства е сравним.
Изход:
И накрая, ще използваме библиотеката на Seaborn, за да получим средното ниво на доверие за туитове от три категории настроения.
Изход:
Резултатът показва, че нивото на доверие за отрицателните туитове е по-високо, отколкото за положителните или неутралните туитове.
4. Почистване на данните
Много жаргонни термини и препинателни знаци могат да бъдат намерени в туитове. Преди да можем да обучим модела за машинно обучение, трябва да изчистим нашите туитове.
Въпреки това, преди да започнем да почистваме туитовете, трябва да разделим нашия набор от данни на набори от функции и етикети.
Можем да изчистим данните, след като ги разделим на функции и набори за обучение. За това ще се използват регулярни изрази.
5. Числово представяне на текст
За да обучават модели за машинно обучение, статистическите алгоритми използват математика. Математиката, от друга страна, работи само с числа.
Първо трябва да трансформираме текста в числа, за да могат статистическите алгоритми да се справят с него. Има три основни начина за това: Bag of Words, TF-IDF и Word2Vec.
За щастие, класът TfidfVectorizer в модула Scikit-Learn на Python може да се използва за трансформиране на текстови характеристики във вектори на характеристики TF-IDF.
6. Създаване на управлявани от данни набори за обучение и тестове
И накрая, трябва да разделим нашите данни на набори за обучение и тестване, преди да обучим нашите алгоритми.
Учебният набор ще се използва за обучение на алгоритъма, а тестовият набор ще се използва за оценка на производителността на модела за машинно обучение.
7. Разработване на модел
След като данните са разделени на набори за обучение и тестове, се използват техники за машинно обучение, за да се учат от данните за обучение.
Можете да използвате всеки алгоритъм за машинно обучение. Подходът Random Forest обаче ще бъде използван поради способността му да се справя с ненормализирани данни.
8. Прогнози и оценка на модела
След като моделът е обучен, последният етап е да се направят прогнози. За да направим това, трябва да приложим метода за прогнозиране към обекта на класа RandomForestClassifier, който обучихме.
И накрая, мерки за класификация като показатели за объркване, F1 мерки, точност и т.н. могат да се използват за оценка на ефективността на моделите за машинно обучение.
Изход:
Нашият алгоритъм постигна точност от 75.30, както се вижда от резултатите.
Заключение
Анализът на настроенията е една от най-честите задачи в НЛП, тъй като помага да се идентифицира общото обществено мнение по конкретен въпрос.
Видяхме как няколко библиотеки на Python могат да помогнат с анализа на настроението.
Проведохме проучване на публични туитове за шест американски авиокомпании и достигнахме точност от приблизително 75%.
Предлагам ви да опитате друг алгоритъм за машинно обучение, като логистична регресия, SVM или KNN, за да видите дали можете да постигнете по-добри резултати.
Оставете коментар