Разработка программы анализа отзывов
Программа открывает файл со словарём для первого параметра, в нашем случае это параметр «Цена». Затем она открывает список отзывов для первого продукта и в каждом отзыве сравнивает содержание блока «Достоинства» с содержанием словаря параметра «Цена». Происходит подсчёт совпадений для каждого отзыва. Номер продукта: 10 781 899; Цена: 1; Внешний вид: 5; Звук: 2; Экран: 5; Батарея: 3; Тачпад: 1… Читать ещё >
Разработка программы анализа отзывов (реферат, курсовая, диплом, контрольная)
В процессе данного исследования был разработан механизм автоматического анализа отзывов, который на основании словарей, составленных на предшествующих этапах, и на основании пользовательских отзывов формирует для пользователей рекомендации. Рекомендации представляют собой оценки по 5-тибальной шкале каждому параметру оцениваемого объекта. Для исследуемых объектов было выявлено 16 основных параметров: тачпад, клавиатура, система охлаждения, экран, видеокарта, производительность и скорость работы, оперативная память, габариты, операционная система, корпус, батарея, процессор, внешний вид, жёсткий диск, цена, звук. Следовательно, каждому продукту на основании анализируемых отзывов система выставляет 16 оценок.
Алгоритм работы программы:
1) На вход программа получает корпус отзывов. Каждый отзыв в корпусе представлен в следующем виде:
«ссылка на отзыв» + оценка продукта + блок «Достоинства» + блок «Недостатки» + блок «Комментарий».
Пример (стрелкой обозначается символ табуляции):
«https://market.yandex.ru/product/12 711 629/reviews?hid=91 013&CAT_ID=432 460&show-old=1&page_num=11 Отсутствуют полностью Плохое качество сборки. Плохой дешевый пластик. При перевороте ноутбука, перестает определяться жесткий диск. Лечится еще одним переворотом. Ноутбук приносили на настройку. Все что плохое может быть в ноутбуках, в этом есть: плохое качество, слабое железо и брак. Никому не рекомендую к покупке».
Кроме корпуса отзывов на вход программа получает словари для каждого параметра продукта. На предыдущем этапе исследования было отобрано 16 основных параметров, чаще всего упоминающихся в отзывах. Соответственно, было составлено 16 словарей. Подробное описание процесса составления словарей можно найти в предыдущем разделе этой работы. В результате исследования было принято решение добавлять элементы в словари не всегда в виде целых слов, иногда опуская окончания, так как такие элементы отсылают к любой форме подразумеваемого слова, при этом помогая уменьшить количество времени, требуемое программе для анализа отзывов.
К примеру, словарь для параметра «Батарея» включает следующие элементы: заряд, заряжают, заряжать, заряжен, заряжая, заряжает, батарее, аккум, блок питан, блоке питан, блоком питан, блока питан, блоки питан, разряжается, разряжался, разряжалась, разряжались, разряжен, разряди, разряжая.
- 2) В первом фрагменте отзыва, то есть в ссылке на отзыв после фрагмента «product/» указан номер продукта. Сначала программа сортирует отзывы по этому номеру и добавляет все отзывы с одинаковым номером в отдельный список.
- 3) Затем каждый отзыв разделяется на несколько блоков: ссылка, оценка, достоинства, недостатки, комментарий. Разделение на блоки происходит по знаку табуляции.
- 4) Для каждого продукта создаётся определённое количество переменных, каждая из которых представляет собой оценку тому или иному параметру продукта. Изначально каждому параметру присваивается значение 0.
- 5) Затем система приступает к выставлению оценки по каждому параметру. Сначала формируется оценка для первого параметра для каждого из продуктов, потом программа переходит к оценке второго параметра, и т. д. Рассмотрим этот этап более подробно.
- 5.1) Программа открывает файл со словарём для первого параметра, в нашем случае это параметр «Цена». Затем она открывает список отзывов для первого продукта и в каждом отзыве сравнивает содержание блока «Достоинства» с содержанием словаря параметра «Цена». Происходит подсчёт совпадений для каждого отзыва.
- 5.2) Происходит сравнение содержания блока «Недостатки» для анализируемого отзыва с содержанием словаря параметра «Цена» и подсчёт совпадений.
- 5.3) Сравнивается количество совпадений, найденных в пункте 5.1 и в пункте 5.2. В случае если количество совпадений, найденных на этапе 5.1 больше количества совпадений, найденных на этапе 5.2, система делает вывод, что автор анализируемого отзыва считает цену данного продукта его достоинством, и увеличивает значение параметра «Цена-Достоинство» для данного продукта. В случае если количество совпадений, найденных на этапе 5.2, больше количества совпадений, найденных на этапе 5.1, система увеличивает значение параметра «Цена-Недостаток». В случае равенства увеличиваются значения обоих параметров (кроме случаев, когда количество совпадений, найденных на обоих этапах, равно нулю).
- 5.4) Проанализировав все отзывы, система получает два значения для каждого параметра, то есть количество положительных оценок и количество отрицательных оценок. Затем высчитывается процент положительных оценок по формуле:
5.5) Так как оценка для всего продукта на сайте «Яндекс Маркет» выставляется по 5-тибальной шкале, где 1 — «ужасная модель», 5 — «отличная модель», оценки для отдельных параметров продуктов приводятся к такому же формату. Если процент положительных оценок находится в диапазоне от 0% до 20%, анализируемому параметру присваивается оценка 1, от 20% до 40% оценка 2, от 40% до 60% оценка 3, от 60% до 80% оценка 4, от 80% до 100% оценка 5.
В том случае, если для выставления оценки по данному параметру недостаточно данных, то есть и количество положительных оценок и количество отрицательных оценок равно нулю, параметру присваивается значение «нет отзывов».
- 6) После сравнения содержания отзывов со словарём первого параметра, программа переходит к сравнению содержания отзывов со словарём следующего параметра.
- 7) Полученные оценки сохраняются в файл вместе с соответствующими им номерами продуктов. На выходе получаем список следующего вида:
Номер продукта: 10 781 899; Цена: 1; Внешний вид: 5; Звук: 2; Экран: 5; Батарея: 3; Тачпад: 1; Скорость и производительность: 5; Клавиатура: 4; Система охлаждения: 5; Видеокарта: нет отзывов; Оперативная память: нет отзывов; Габариты: 3; Операционная система: 1; Корпус: 5; Процессор: нет отзывов; Жёсткий диск: 3.
Фрагменты программы с пояснениями можно найти в Приложении 2.