Автоматический анализ отзывов в рекомендательных системах

Таксономия рекомендательных систем. Алгоритмы рекомендаций в персонализированных рекомендательных системах. Контентный метод или фильтр информации, основанный на содержании. Составление словарей для инструмента анализа отзывов с помощью "Sketch Engine".

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 27.10.2017
Размер файла 167,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Исследования из второй категории авторы разделили на две подгруппы, в зависимости от того, на каком типе мнения акцентируется внимание при составлении рекомендации: основанные на мнениях об атрибутах продукта; основанные на сравнении пользователем одного продукта с другим по его атрибутам (Chen, Chen and Wang, 2015).

2.8.10 Гибридные рекомендательные системы

Гибридные РС совмещают в себе два или более метода рекомендаций для достижения лучших результатов и решения проблем, возникающих при применении только одного метода. Чаще всего используется метод коллаборативной фильтрации и какая-либо другая техника для того, чтобы избежать возникновения проблем при увеличении нагрузки на систему (Burke, 2002).

Во многих работах о гибридных системах авторы акцентируют своё внимание на совместном применении метода коллаборативной фильтрации и метода, основанного на анализе содержания (content-based filtering) (Shih and Liu, 1999; Нефёдова, 2012). Однако в рамках данной работы больший интерес вызывают гибридные РС, которые используют анализ отзывов.

В (Soni, Goyal, Vadera and More, 2017) авторы рассматривают исследования в области рекомендательных систем, которые рекомендуют фильмы, с точки зрения использования в этих системах анализа пользовательских отзывов.

По их мнению, инструмент рекомендации, совмещающий использование таких алгоритмов, как метод коллаборативной фильтрации, контентный метод, и метод, основанный на контексте (Pathak, Matharia and Murthy, 2013), может предоставить, в большинстве случаев, точные рекомендации . Тем не менее, его применение ограничено тем, что в некоторой степени, если фильм был хорошо оценён публикой, он это игнорирует, а также не принимает во внимание текстовые комментарии, которые во многих случаях формируют более точное представление о фильме.

Техники глубинного анализа текста (Liu, Hsaio, Lee, Lu and Jou, 2012), в свою очередь, анализируют только оценки и отзывы для того, чтобы сделать вывод о том, был фильм принят хорошо или плохо, вводя такой параметр, как оценка полярности (Polarity Score). Эта техника хорошо подходит для того, чтобы получить общее мнение о фильме, но она не была должным образом интегрирована в рекомендательную систему.

Рекомендательная система, которая учитывает такие элементы как, информация о фильме, общий рейтинг фильма и собранные отзывы, стала бы гораздо более подходящим ресурсом для создания рекомендательной системы в области кинематографии (Soni, Goyal, Vadera and More, 2017).

Таким образом, авторы упомянутой работы считают, что создание гибридной рекомендательной системы, одним из компонентов которой является инструмент анализа отзыва, может заметно улучшить уровень получаемых рекомендаций.

Глава 3. Анализ созданного механизма рекомендаций на основе вышеизложенной таксономии

Разработанный механизм рекомендаций не является в полной мере рекомендательной системой, скорее он может быть использован как часть гибридной РС, которая направлена на увеличение качества рекомендаций и дополняет другие её компоненты. Однако, несмотря на то, что механизм не является рекомендательной системой, его можно рассмотреть в рамках изложенной ранее классификации.

1. Сфера.

Механизм анализа отзывов был разработан для секции «Ноутбуки» с сайта «Яндекс Маркет», поэтому он относится к сфере электронной торговли.

2. Цель.

В связи со сферой, для которой был разработан механизм, можно считать, что его целью является продажа продукта. Однако более точным определением является скорее помощь в принятии решения, и только как следствие - продажа.

Кроме того, целью создания данного механизма также можно считать увеличение уровня доверия пользователей к системе, и в связи с этим - увеличение верности ресурсу и улучшение его репутации. Доверие пользователей к получаемым рекомендациям может возрасти в связи с тем, что рекомендации строятся на основании отзывов других пользователей, которые уже купили продукт, и, для которых зачастую (или по мнению пользователей) нет никакой выгоды в том, чтобы искусственно завышать или занижать рейтинг продукта.

3. Контекст.

Контекст рекомендации данный инструмент не учитывает.

4. Чьи мнения ложатся в основу рекомендаций.

При построении рекомендаций с помощью разработанного механизма учитываются мнения других пользователей, чаще всего это пользователи, которые приобрели данный продукт.

5. Уровень персонализации.

Механизм предоставляет рекомендации одинаковые для всех пользователей, поэтому, скорее всего, правильнее будет отнести его к неперсонализированным РС. Однако при составлении этих рекомендаций он учитывает мнение каждого пользователя, более того, мнение каждого пользователя о каждой характеристике продукта, в связи с этим его можно также отнести и к персонализированным РС.

В принципе, РС, основанные на отзывах, другие авторы зачастую относят к персонализированным (Jain, Jain and Kapoor, 2016; He, Chen, Kan, and Chen, 2015), так как они, как правило, используются для составления персонализированных рекомендаций, но в данном случае это не совсем верно. Плюс ко всему, созданный механизм не подходит полностью ни под одно из описаний, изложенных в таксономии. В связи с этим, мы считаем целесообразным отнести его к гибридным РС.

В дальнейшем результаты, полученные в ходе работы механизма анализа отзывов, планируется использовать также и для составления персонализированных рекомендаций.

6. Личная информация и степень доверия к системе.

Личная информация пользователей при работе данного механизма не разглашается. Для составления рекомендаций используются только те данные и мнения, которыми пользователь счёл разумным поделиться с другими пользователями, то есть мнения, описанные в его отзывах.

Как уже было сказано ранее, мы предполагаем, что использование такого типа рекомендаций приведёт к увеличению уровня доверия к системе, так как пользователи точно будут знать, на основании чего формируются эти рекомендации, и конечно же, они всегда смогут сверить рейтинги, полученные в результате работы программы с отзывами к данному продукту, чтобы убедиться в честности системы.

7. Интерфейс.

7.1. Тип выходных данных (вид рекомендации).

По типу выходных данных разработанный инструмент можно отнести к РС, предоставляющим в качестве рекомендации средний рейтинг продукта. Однако в связи с тем, что данный механизм относится к мультиатрибутивным РС, то он предоставляет средний рейтинг не для всего продукта, а средний рейтинг для каждого из его атрибутов.

7.2. Тип входных данных (на основании чего строится рекомендация).

По типу входных данных инструмент можно отнести к РС, использующим явные данные, то есть данные полученные от пользователя напрямую.

Для составления рекомендаций программа использует данные, полученные от всех пользователей, когда-либо оценивших анализируемый продукт с помощью отзыва.

8. Алгоритм.

Система относится к РС, основанным на пользовательских отзывах. При этом, она также является мультиатрибутивной, так как при проводимом анализе делается вывод не о мнении пользователя о продукте в целом, а о его мнении о каждом из атрибутов продукта.

На основании классификации, предложенной в (Chen, Chen and Wang, 2015), созданный механизм можно охарактеризовать как а) ориентированный на создание профиля продукта и б) основанный на мнениях об атрибутах продукта. В ходе данного исследования был создан только один компонент РС, то есть инструмент автоматического анализа отзывов. В будущем планируется интегрировать разработанный инструмент в гибридную рекомендательную систему, которая будет использовать и другие методы рекомендаций в своей работе.

Глава 4. Исследование

Разработка программы, которая будет анализировать отзывы пользователей и на основании результатов проведённого анализа составлять рекомендации в виде оценок для каждого параметра исследуемого товара.

Этапы исследования:

1. Сбор отзывов с сайта.

2. Составление словарей, на основании которых будет проводиться анализ отзывов.

3. Разработка программы.

4. Оценка результатов.

Рассмотрим перечисленные этапы более подробно.

4.1 Сбор отзывов с сайта

В качестве материала для эксперимента были использованы отзывы с сайта «Яндекс Маркет» из секции «Ноутбуки». Этот сайт был выбран, так как отзывы на нём поделены на три блока: «Достоинства», «Недостатки» и «Комментарий». Этот факт упрощает работу программы, так как ей нет необходимости анализировать то, как именно оценил пользователь тот или иной параметр продукта, достаточно просто того, в каком блоке он его упомянул. Естественно, существует возможность того, что пользователь может описать какое-либо достоинство продукта в блоке «Недостатки», или наоборот, но такая вероятность достаточно мала, и ей можно пренебречь. Блок «Комментарий» программа не учитывает, так как в большинстве случаев в этом блоке пользователи просто повторяют то, что уже описано в других блоках, только более подробно. Для составления рекомендаций эти детали не существенны.

Секция «Ноутбуки» была выбрана в связи с тем, что этот тип товара достаточно популярен, при этом относится к той категории товаров, в отношении которых пользователям зачастую требуется помощь в принятии решения. Следственно, при выборе ноутбука они часто обращаются к рекомендациям.

На основании этих отзывов было составлено две выборки - тренировочная и тестовая.

Тренировочная выборка легла в основу двух корпусов - «Достоинства» и «Недостатки». Эти корпусы были использованы для составления словарей, на которые опирается программа при анализе отзывов. Объём выборки составил 600 отзывов. Отзывы были собраны вручную, затем поделены на блоки с помощью программы, написанной на языке Python. Текст отзывов из блоков «Достоинства» добавлялся в корпус «Достоинства», текст отзывов из блоков «Недостатки» - в корпус «Недостатки», текст из блоков «Комментарий» в корпусы не добавлялся.

Впоследствии, два полученных корпуса были проанализированы с помощью инструмента “Sketch Engine”. Объём корпуса «Достоинства» составил 18,807 слов (25, 928 токенов), объём корпуса «Недостатки» - 25,763 слов (33, 442 токена).

Объём тестовой выборки составил 1000 отзывов. Данные отзывы были собраны автоматически, с помощью программы “Humpty-Dumpty”. Отзывы добавлялись в корпус в следующем виде: ссылка на отзыв - оценка продукта (от 1 до 5) - текст из блока «Достоинства» - текст из блока «Недостатки» - текст из блока «Комментарий».

Пример: «https://market.yandex.ru/product/12711629/reviews?hid=91013&CAT_ID=432460&show-old=1&page_num=1 4 гиговая видюха экран .2 usb ноут не оправдал ожидания иногда лагает не понятно и за чего . wot тянет на средних 20-30 fps. думаю вернуть»

Дальнейшее деление на блоки происходит по символу табуляции.

4.2 Составление словарей для инструмента анализа отзывов с помощью “Sketch Engine”

На следующем этапе, то есть в ходе работы программы, вывод о том, считает ли определённый пользователь какой-либо параметр продукта его достоинством или недостатком, делается в зависимости от того, найдёт ли программа в тексте отзыва слово или словосочетание из соответствующего словаря. В качестве примера рассмотрим параметр «Экран». Естественно, что не всегда пользователи выражают своё мнение однозначно, например, фразой «Мне нравится экран этого ноутбука». Он может выразить это и другими словами. Например, он может сказать, что у этого ноутбука «великолепные углы обзора» или «прекрасное разрешение». Всё это указывает на то, что пользователь считает экран данной модели её достоинством, но слово «экран» в отзыве не фигурирует. Следовательно, программа должна учитывать этот момент для получения более точных и качественных результатов. С этой целью был произведён анализ тренировочной выборки, в результате чего для каждого параметра был составлен словарь слов и словосочетаний, которые отсылают к данному параметру. В случае с параметром «Экран» в такой словарь входят такие слова и словосочетания, как «угол обзора», «разрешение», «full hd» и т.д.

Для составления словарей был использован инструмент “Sketch Engine” (https://the.sketchengine.co.uk), затем полученные с его помощью результаты были проанализированы и подкорректированы экспертами в области лингвистики и электроники.

В качестве примера рассмотрим процесс составления словарей на основании корпуса «Достоинства».

4.2.1 Извлечение ключевых слов и словосочетаний из корпуса. Функция “Keywords/terms”

Первым этапом стало использование функции “Keywords/terms” для выявления параметров, которые чаще всего встречаются в отзывах. Однако, это помогло выявить не только параметры, для которых в дальнейшем будут составлены словари (названия словарей), но и те слова и словосочетания, которые в них войдут, к примеру, синонимы заголовков или слова, которые имеют отношение к данному параметру. К примеру, наряду со словом «видеокарта», который станет заголовком словаря, в список ключевых слов для этого параметра были включены слова «дискретка», «geforce» и т.д., которые будут добавлены в файл словаря «Видеокарта».

Выделение ключевых слов и словосочетаний в Sketch Engine происходит по следующему принципу: программа считает, сколько раз определённое слово встретилось в исследуемом корпусе и сколько раз в справочном корпусе, затем полученные числа умножаются либо на тысячу, либо на миллион, чтобы предоставить информацию о частоте на тысячу или на миллион, а затем одно число делится на другое, чтобы получить их соотношение (Kilgarriff, 2009). Это соотношение является коэффициентом «терминологичности» данного слова, то есть указывает, насколько данное слово близко к понятию ключевого слова по отношению к исследуемому корпусу. В результате использования функции “Keywords/terms” мы получаем два списка - список ключевых слов типа “Single-word”, то есть состоящих из одного слова, и список ключевых слов типа “Multi-word”, то есть список терминологических словосочетаний. В полученных списках вышеупомянутый коэффициент обозначается словом “Score”. Формула, по которой считается параметр Score, выглядит следующим образом:

где это нормализованная частота (на миллион) слова в целевом корпусе, нормализованная частота (на миллион) слова в справочном корпусе, а N - так называемый параметр сглаживания (значение по умолчанию равно 1).

Рассмотрим результаты применения данной функции на корпусе «Достоинства».

Были установлены следующие настройки:

Исследуемый корпус: Достоинства

Справочный корпус: Russian Web 2011 (ruTenTen11)

Параметр сглаживания N: 1 (При увеличении значения параметра слова с более высокой частотой добавляются в список ключевых слов)

Атрибут корпуса (атрибут корпуса, который используется для извлечения ключевых слов): lc

Минимальная частота: 1 (в исследуемом корпусе)

Максимальное количество ключевых слов: 100

Максимальное количество словосочетаний: 100

Справочный корпус для словосочетаний: Russian Web 2011 sample (ruTenTen11)

Релевантные слова типа Single-word (отобрано вручную из первоначального списка)

Score - коэффициент «терминологичности» данного слова

F - частота в исследуемом корпусе

RefF - частота в справочном корпусе

Single-word

Score

F

RefF

Тачпад

1,167.89

43

7,694

клавиатура

870.18

118

77,348

Греется

796.83

40

17,135

Fullhd

524.57

16

3,259

видеокарта

486.50

32

28,132

оперативки

431.70

16

7,893

производительный

397.64

16

10,135

шустрый

391.13

17

12,410

оперативы

302.28

9

2,772

Лёгкий

301.84

29

49,519

Экран

276.15

166

405,600

Fhd

259.26

7

826

клавиатуры

256.63

49

116,409

Win

253.33

23

45,804

Люфтов

250.16

8

4,340

оперативка

245.97

7

1,859

Трекпад

220.72

6

968

Тонкий

210.33

60

182,937

мультитач

199.43

7

6,558

Батарея

195.37

28

82,861

Тачпада

194.14

6

3,604

процессор

181.56

50

175,983

Клавы

180.66

6

5,236

цветопередача

174.85

7

10,050

дискретной

174.02

7

10,185

Сборка

170.79

38

138,700

Скрипов

160.38

5

3,814

стильный

158.82

25

92,819

Клава

153.20

7

14,053

Легкий

152.87

78

341,592

Тач

150.46

5

5,270

Люфтит

142.99

4

1,570

Маркий

139.23

4

2,106

Retina

135.97

4

2,595

Ddr

134.64

10

34,221

Geforce

131.58

11

40,798

Зарядка

127.86

13

53,547

батарейка

127.34

6

15,084

Винды

123.43

6

16,141

Фпс

122.54

6

16,389

Шустрая

121.05

4

5,168

Клавиш

118.94

18

88,571

Шустро

116.85

5

12,044

дискретка

116.46

3

39

Релевантные слова типа Multi-word (отобрано вручную из первоначального списка)

Multi-word

Score

F

RefF

жёсткий диск

695.23

18

0

лучший звук

463.82

12

0

угол обзора

339.57

26

2,453

алюминиевый корпус

183.34

7

600

система охлаждения

158.58

23

5,769

красивейший дизайн

155.27

4

0

приятный материал

150.75

4

38

матовый покрытие

116.70

3

0

высшее разрешение

116.70

3

0

лучшая цена

116.70

3

0

мощное железо

113.75

3

33

оперативная память

116.53

20

7,057

максимальная яркость

100.44

3

204

заряд батареи

96.92

4

756

ценовой категория

80.03

6

2,388

скорость работы

78.54

7

3,073

качество материалов

75.78

4

1,316

внешний вид

37.33

34

42,830

блок питания

22.41

4

7,434

операционная система

11.89

5

19,186

тишайший вентилятор

78.14

2

0

разумнейший деньга

78.14

2

0

пошире диапазон

78.14

2

0

неплохой динамика

78.14

2

1

Распределение ключевых слов по словарям.

1. Тачпад: тачпад, трекпад, мультитач, тачпада, тач

2. Клавиатура: клавиатура, клавиатуры, клавы, клава, клавиш

3. Система охлаждения: не греется, система охлаждения, вентилятор

4. Экран: fullhd, экран, fhd, цветопередача, retina, угол обзора, разрешение, яркость

5. Видеокарта: видеокарта, дискретной, geforce, фпс, дискретка

6. Производительность и скорость работы: производительный, шустрый, шустрая, шустро, скорость работы

7. Оперативная память: оперативки, оперативы, оперативка, ddr, оперативная память

8. Габариты: лёгкий, тонкий, легкий

9. Операционная система: win, винды, операционная система

10. Корпус: люфтов, скрипов, сборка, люфтит, маркий, корпус, материал, матовое покрытие, материалов

11. Батарея: батарея, зарядка, батарейка, заряд, батареи, блок питания

12. Процессор: процессор, железо

13. Внешний вид: стильный, дизайн, внешний вид

14. Жёсткий диск: жёсткий диск

15. Цена: ценовой категории, разумные деньги

16. Звук: динамики, звук

С целью экономии места в словарях и соответственно с целью ускорения работы программы в будущем, некоторые словосочетания (из списка Multi-word) в словари добавляются не полностью, а только одним словом, так как даже если в тексте отзыва встречается только одно это слово, оно всё равно указывает на упоминание данного параметра. К примеру, в корпусе часто встречаются словосочетания типа «неплохой звук», «прекрасный звук», «лучший звук» и т.д. В таком случае, в словарь будет добавлено только слово «звук», так как любое из этих словосочетаний, как и просто упоминание параметра «звук» в блоке «Достоинства» говорит о том, что пользователь считает звук устройства его положительным качеством.

Устойчивые словосочетания были добавлены полностью, так как части таких словосочетаний вне данного словосочетания приобретают другое значение (пример: жёсткий диск, внешний вид).

4.2.2 Составление тезаурусов для каждого параметра. Функция “Thesaurus”

Тезаурус создаётся следующим образом: исследуется корпус; производится поиск контекстов для каждого слова; производится поиск слов, которые встречаются в одинаковом контексте. Для каждого слова, слова, которые разделяют с этим словом наибольшее количество контекстов (в соответствии со статистикой, которая также учитывает частоту их встречаемости), являются его ближайшими соседями (Rychlэ and Kilgarriff, 2007).

Алгоритм работает так: если при построении тезауруса обнаруживаются такие примеры, как «пить кофе» и «пить чай», это может свидетельствовать о том, что слова «кофе» и «чай» похожи. Можно сказать, что они имеют общий коллокат «пить» (глагол), в связи типа “OBJECT-OF” (Kilgarriff, Baisa, Buљta, Jakubнcek, Kovбш, Michelfeit, Rychlэ and Suchomel, 2014).

Функция «Тезаурус» применялась к каждому параметру продукта, отобранному на предыдущем этапе анализа корпусов. В качестве таких параметров были выделены: тачпад, клавиатура, система охлаждения, экран, видеокарта, производительность и скорость работы, оперативная память, габариты, операционная система, корпус, батарея, процессор, внешний вид, жёсткий диск, цена, звук.

В качестве примера того, как эта применялась для составления словарей, рассмотрим процесс составления тезауруса для параметра «Батарея» и его последующую корректировку.

При использовании этой функции были установлены следующие настройки:

Лемма: видеокарта

Часть речи: существительное

Максимальное количество элементов: 60

Минимальное значение параметра “Score”: 0.0

Минимальное значение меры сходства между элементами кластера: 0.15

Тезаурус для параметра «Батарея» на материале корпуса «Достоинства»

Lemma - лемма

Score - коэффициент сходства

Freq - частота встречаемости слова в исследуемом корпусе

Lemma

Score

Freq

аккумулятор

0.738

19

заряд

0.489

21

зарядка

0.256

29

ноутбук

0.088

132

Из полученного списка в словарь параметра «Батарея» было добавлено только слово «аккумулятор», так как слова «заряд» и «зарядка» были добавлены в него на предыдущем этапе анализа, а слово «ноутбук» не является синонимом слова «батарея» и его упоминание в тексте отзыва не поможет программе сделать вывод о параметре «Батарея».

В связи с размером исследуемого корпуса для некоторых параметров система не смогла составить тезаурусы. В случае, когда они всё же были составлены, полученные данные лишь незначительно обогатили созданные словари. Впоследствии, синонимы и слова, близкие по смыслу к теме словарей, были добавлены в них вручную, тем не менее, использование тезаурусов помогло избежать упущения некоторых элементов, релевантных для составляемых словарей.

В будущем планируется увеличить объём корпусов с целью составления более подробных тезаурусов и добавления новых элементов в словари.

4.2.3 Извлечение слов, которые часто встречаются вместе с исследуемыми словами. Функции “Word Sketch” и “Sketch diff”

“Word Sketch” представляет собой краткое описание грамматического поведения слова и коллокаций, в которых оно встречается, на одной странице. В этом кратком описании перечисляются леммы, которые встречаются вместе с целевым словом. Эти леммы разделяются на группы в зависимости от того, в каких отношениях они находятся с исследуемым словом (Kilgarriff, Rychlэ, Kovбш and Baisa, 2012).

«Ворд-скетчи» можно рассматривать как устойчивые словосочетания, содержание которых, с одной стороны, обусловлено синтаксисом, ограничивающим формирование словосочетаний в данном языке, а с другой стороны, вероятностью, которая тесно связана с семантикой и/или словоупотреблением (Khokhlova, Zakharov, 2010).

При работе с функцией “Sketch diff” сравниваются «ворд-скетчи» двух слов. Полученные результаты также сортируются в зависимости от того, в каких отношениях отобранные леммы находятся с исследуемыми словами. В итоге, пользователь получает несколько списков. В заголовке каждого списка фигурирует название типа отношений между полученными леммами и исследуемыми словами. К примеру, отношения типа «и/или» (добрый или злой), «subject_of» (человек идёт), «inst_modifies» (обливается водой) и т.д. В самом списке формируются три блока: зелёный - леммы, которые встречаются в контексте только с первым исследуемым словом или чаще всего вместе с ним; белый - леммы, которые встречаются примерно в одинаковом объёме и с первым и со вторым словом; красный - леммы, которые встречаются только вместе со вторым словом или чаще всего вместе с ним.

Для экономии времени в данном исследовании чаще использовалась именно функция “Sketch diff”, так как она позволяет анализировать «ворд-скетчи» сразу для двух слов. Анализ проводился на материале корпуса Russian Web 2011 (ruTenTen11), так как использование этого корпуса позволило добавить в словари большее количество слов и учесть те коллокаты, которые не распространены в корпусах, составленных на базе отзывов, но которые также имеют отношение к рассматриваемым параметрам.

После формирования таких списков для уже добавленных в словари слов были получены другие слова, тесно связанные с темами словарей. В качестве примера рассмотрим часть списка “Sketch diff”, составленного для слов «батарея» и «аккумулятор».

Список “Sketch diff” для слов «батарея» и «аккумулятор» (типы отношений «и/или» и «subject_of»)

Второй столбец - общая частота встречаемости с первым словом

Третий столбец - общая частота встречаемости со вторым словом

Четвёртый столбец - коэффициент схожести относительно первого слова

Пятый столбец - коэффициент схожести относительно второго слова

и/или

39,339

33,992

0.07

0.08

Ветряк

160

0

6.8

--

эскадрон

227

0

6.8

--

дивизион

557

0

6.6

--

Стояк

232

0

6.5

--

Ветрогенераторы

104

0

6.4

--

обогреватель

271

0

6.2

--

Рота

459

0

6.0

--

Взвод

294

0

5.8

--

Ветряков

63

0

5.6

--

ветрогенераторов

59

0

5.5

--

подоконник

226

0

5.4

--

радиатор

664

49

5.8

2.1

аккумулятор

2,064

196

7.3

3.9

инвертор

99

102

5.6

5.7

электромотор

152

182

6.3

6.6

генератор

406

877

4.6

5.7

инверторы

20

51

3.9

5.4

Стартер

92

390

5.0

7.1

атомайзера

12

51

3.3

5.6

зарядник

11

56

3.1

5.6

Батарея

330

2,063

4.1

6.7

батарейка

17

2,258

2.0

9.1

автошины

0

61

--

5.7

Автошин

0

65

--

5.8

атомайзер

0

66

--

5.9

subject_of

47,689

42,372

0.08

0.11

Греть

467

0

6.9

--

Село

539

0

6.5

--

Топить

86

0

4.9

--

Потечь

94

0

4.9

--

садиться

660

682

5.4

5.5

подзаряжаются

45

50

4.9

5.2

прослужить

82

104

4.6

5.0

заряжаться

962

1,218

8.7

9.2

разряжаться

594

824

8.4

9.0

подзаряжается

79

135

5.7

6.7

разрядиться

570

1,086

8.4

9.5

зарядиться

109

234

6.1

7.3

сдохнуть

145

367

6.1

7.5

отключить

31

112

3.3

5.2

Сесть

382

2,052

4.8

7.2

подзарядить

14

69

3.2

5.6

подсесть

16

85

2.9

5.4

заряжать

79

626

4.6

7.6

подзаряжает

10

111

2.8

6.4

разряжать

12

255

2.4

6.9

отсоединить

0

41

--

4.9

Сажать

0

202

--

5.2

Заряжается

0

58

--

5.5

разрядить

0

108

--

6.2

зарядить

0

250

--

6.2

В этой главе рассмотрены только два вида отношений, которые были выделены для исследуемых слов. В процессе анализа корпусов с помощью этой функции были также получены элементы, связанные с исследуемыми словами другими типами отношений, однако, здесь они приводиться не будут, так как все полученные леммы из других списков были признаны нерелевантными.

В данном исследовании не имеет большого значения, к какому из исследуемых слов относится та или иная лемма, поэтому цвет блоков не учитывался. Имеет значение только то, относится ли рассматриваемая лемма к теме словаря.

Впоследствии из полученного списка были отобраны и учтены при составлении словарей слова, которые имеют отношение к теме исследуемого материала, то есть к ноутбукам, и к параметру, для которого был составлен список, то есть, в данном случае к параметру «Батарея». Были отобраны следующие слова: зарядник, подзаряжаются, заряжаться, разряжаться, подзаряжается, разрядиться, зарядиться, подзарядить, заряжать, подзаряжает, разряжать, заряжается, разрядить, зарядить.

Затем, на основании отобранных элементов были выделены части, общие для нескольких слов, чаще всего относящихся к одной части речи, и добавлены в словари. Словарь для параметра «Батарея», полученный после трех этапов исследования, представлен ниже:

заряд

заряжают

заряжать

заряжен

заряжая

заряжает

батаре

аккум

блок питан

блоке питан

блоком питан

блока питан

блоки питан

разряжается

разряжался

разряжалась

разряжались

разряжен

разряди

разряжая

В результате, программа будет искать в отзывах не слова, а вышеперечисленные части слов. Это было сделано для того, чтобы не перегружать словари формами слов и обеспечить более быструю работу программы. Однако некоторые элементы были добавлены целиком, чтобы избежать в результатах однокоренных слов, не имеющих отношения к анализируемому параметру.

Результаты анализа корпусов «Достоинства» и «Недостатки» в системе “Sketch Engine” описаны в Приложении.

4.2.4 Проверка релевантности элементов словаря с помощью конкорданса. Функция “Concordance”

Для того чтобы убедиться, что при дальнейшей работе программы будут делаться правильные выводы относительно мнения пользователя о том или ином параметре, все полученные элементы словарей были проверены с помощью функции “Concordance”. Было необходимо проверить, что все элементы словарей указывают именно на упоминание определённого параметра, а не отсылают к каким-либо другим деталям анализируемого объекта или к явлениям, не имеющим отношения к сфере рекомендации. К примеру, важно получить подтверждение тому, что упоминание слова «батарея» всегда (или почти всегда) отсылает именно к детали ноутбука, а не подразумевает военное подразделение.

Конкорданс, то есть список употреблений какого-либо слова в определённом окружении, это основа использования корпусов и очень важная часть лексикографического анализа. Строки конкорданса могут быть представлены в формате предложения или в формате KWIC (“Key Word in Context” Ключевое Слово в Контексте). При использовании формата KWIC, предпочитаемого в лексикографии, система демонстрирует строку с контекстом для каждого употребления слова с этим словом посередине. Используя функцию составления конкорданса, лексикографы могут просмотреть данные и быстро получить представление о моделях словоупотребления, семантике, составных словах и т.д. (Kilgarriff and Kosem, 2012).

В случае если на предшествующих этапах какой-либо элемент словаря был добавлен ошибочно, то есть употребляется зачастую не в том значении, которое отсылает к заголовку словаря, этот элемент из него исключается.

4.2.5 Использование вышеперечисленных функций на материале корпуса «Недостатки»

После анализа корпуса «Достоинства» те же самые функции были применены и к корпусу «Недостатки». В случае, если при анализе второго корпуса были выделены какие-либо релевантные слова или словосочетания, которые не были обнаружены на этапе анализа корпуса «Достоинства», они были добавлены в словари. Словари для всех отобранных параметров можно найти в Приложении 1.

4.3 Разработка программы анализа отзывов

В процессе данного исследования был разработан механизм автоматического анализа отзывов, который на основании словарей, составленных на предшествующих этапах, и на основании пользовательских отзывов формирует для пользователей рекомендации. Рекомендации представляют собой оценки по 5-тибальной шкале каждому параметру оцениваемого объекта. Для исследуемых объектов было выявлено 16 основных параметров: тачпад, клавиатура, система охлаждения, экран, видеокарта, производительность и скорость работы, оперативная память, габариты, операционная система, корпус, батарея, процессор, внешний вид, жёсткий диск, цена, звук. Следовательно, каждому продукту на основании анализируемых отзывов система выставляет 16 оценок.

Алгоритм работы программы:

1) На вход программа получает корпус отзывов. Каждый отзыв в корпусе представлен в следующем виде:

«ссылка на отзыв» + оценка продукта + блок «Достоинства» + блок «Недостатки» + блок «Комментарий»

Пример (стрелкой обозначается символ табуляции):

«https://market.yandex.ru/product/12711629/reviews?hid=91013&CAT_ID=432460&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) Полученные оценки сохраняются в файл вместе с соответствующими им номерами продуктов. На выходе получаем список следующего вида:

Номер продукта: 10781899; Цена: 1; Внешний вид: 5; Звук: 2; Экран: 5; Батарея: 3; Тачпад: 1; Скорость и производительность: 5; Клавиатура: 4; Система охлаждения: 5; Видеокарта: нет отзывов; Оперативная память: нет отзывов; Габариты: 3; Операционная система: 1; Корпус: 5; Процессор: нет отзывов; Жёсткий диск: 3

Фрагменты программы с пояснениями можно найти в Приложении 2.

4.4 Оценка результатов. Правильность, точность, полнота

После выполнения алгоритма и сохранения полученных результатов в файл, был проведён анализ тестовой выборки вручную, то есть с точки зрения пользователей.

Затем были сравнены результаты, полученные после обработки выборки программой, и результаты, полученные после анализа, проведённого вручную.

На основании этого сравнения для каждого параметра были подсчитаны следующие величины:

TP (true-positive) - истинно-положительные решения (продукты, для которых совпала положительная оценка пользователем и системой)

FP (false-positive) - ложно-положительные решения (продукты, которые система порекомендовала, но которые не понравились пользователю)

FN (false-negative) - ложно-отрицательные решения (продукты, которые система не порекомендовала, но которые понравились пользователю)

Рекомендацией считается оценка равная 3 или выше 3, параметры с оценкой ниже 3 считаются не рекомендованными.

Всего в тестовой выборке было рассмотрено 29 продуктов, поэтому максимальное число совпадений для какого-либо параметра - 29.

Параметр

tp

fp

fn

цена

23

3

2

внешний вид

29

6

5

звук

18

0

2

экран

17

4

2

батарея

21

1

3

тачпад

22

2

1

скорость

19

2

6

клавиатура

19

1

4

система охлаждения

23

1

0

видеокарта

24

2

1

оперативная память

23

1

2

габариты

25

2

2

операционная система

15

5

3

корпус

17

5

3

процессор

23

1

3

жёсткий диск

17

1

5

На основании этих величин для каждого параметра были высчитаны меры правильности, точности и полноты по следующим формулам:

1. Accuracy (правильность):

,

где P - количество совпадений оценок пользователя с оценками системы, а N - общее количество продуктов

2. Precision (точность):

3. Recall (полнота):

Рисунок 1. Меры правильности, точности и полноты для параметров продуктов

Параметр

Правильность

Точность

Полнота

цена

83%

88%

92%

внешний вид

100%

83%

85%

звук

93%

100%

90%

экран

79%

81%

89%

батарея

86%

95%

87%

тачпад

90%

92%

96%

скорость

72%

90%

76%

клавиатура

83%

95%

83%

система охлаждения

97%

96%

100%

видеокарта

90%

92%

96%

оперативная память

90%

96%

92%

габариты

86%

93%

93%

операционная система

72%

75%

83%

корпус

72%

77%

85%

процессор

86%

96%

88%

жёсткий диск

79%

94%

77%

Как видно на графике, результаты, полученные в ходе работы программы, достаточно близки к пользовательским предпочтениям. Больше всего ошибок было допущено при анализе следующих параметров:

1. Экран (низкие правильность и точность).

2. Скорость (низкие правильность и полнота).

3. О...


Подобные документы

  • Исследование рынка банковских программ. Анализ эффективности различных рекомендательных алгоритмов. Обзор имеющихся подходов выработки рекомендаций. Архитектура разрабатываемой системы. Методы коллаборативной фильтрации. Использование контентных методов.

    курсовая работа [678,2 K], добавлен 31.08.2016

  • Принципы функционирования электронных платежных систем. Основные понятия, алгоритмы и способы защиты информации в электронных платежных системах. Персональный идентификационный номер. Реализация метода генерации PIN-кода из номера счета клиента.

    курсовая работа [631,2 K], добавлен 13.07.2012

  • Разработка алгоритма автоматического создания отзывов на русском языке с использованием лексико-синтаксических шаблонов. Процесс создания текста при помощи цепей Маркова. Принцип работы Томита-парсера. Применение автоматических генераторов текстов.

    курсовая работа [150,6 K], добавлен 27.09.2016

  • Анализ нормативно-правовой базы, обоснование направлений создания обеспечения комплексной защиты информации в автоматизированных системах. Разработка методики оценки, выбор путей повышения эффективности защитных мероприятий в автоматизированных системах.

    дипломная работа [368,5 K], добавлен 17.09.2009

  • Понятия в области метрологии. Представление знаний в интеллектуальных системах. Методы описания нечетких знаний в интеллектуальных системах. Классификация интеллектуальных систем, их структурная организация. Нечеткие системы автоматического управления.

    курсовая работа [768,2 K], добавлен 16.02.2015

  • Метод аналитического описания экспериментальных данных, основанный на использовании в качестве аппроксимирующих операторов ОДУ. Разработка итерационного МАЧ, в котором предложен критерий качества подстройки неизвестных параметров объектов управления.

    дипломная работа [953,3 K], добавлен 14.07.2012

  • Факторы угроз сохранности информации в информационных системах. Требования к защите информационных систем. Классификация схем защиты информационных систем. Анализ сохранности информационных систем. Комплексная защита информации в ЭВМ.

    курсовая работа [30,8 K], добавлен 04.12.2003

  • Механизм разработки общих рекомендаций для исследуемого учреждения, по обеспечению защиты информации в системах обработки данных и разработке типового пакета документов по недопущению несанкционированного доступа к служебной и секретной информации.

    доклад [102,9 K], добавлен 30.04.2011

  • Виды угроз безопасности в экономических информационных системах: цель, источники, средства реализации. Основные пути несанкционированного доступа к информации. Методы и средства защиты, используемые в АИТ маркетинговой деятельности, их классификация.

    реферат [30,1 K], добавлен 12.03.2011

  • Математические процессы, происходящие в системах автоматического управления. Определение передаточных функций разомкнутой и замкнутой систем, критерии устойчивости. Физический смысл логарифмических асимптотических амплитудных частотных характеристик.

    курсовая работа [2,3 M], добавлен 12.05.2014

  • Основные виды угроз безопасности экономических информационных систем. Воздействие вредоносных программ. Шифрование как основной метод защиты информации. Правовые основы обеспечения информационной безопасности. Сущность криптографических методов.

    курсовая работа [132,1 K], добавлен 28.07.2015

  • Определение назначения, характеристика типов операционных систем и анализ многозадачности в системах пакетной обработки. Ознакомление с приемами управления работой печатающих устройств в MS-DOS и формирование новых команд и символов матричного принтера.

    курсовая работа [421,0 K], добавлен 22.06.2011

  • Формы и системы представления информации для ее машинной обработки. Аналоговая и дискретная информация, представление числовой, графической и символьной информации в компьютерных системах. Понятие и особенности файловых систем, их классификация и задачи.

    реферат [170,3 K], добавлен 14.11.2013

  • Проблема использования криптографических методов в информационных системах. Алгоритмы шифрования – асимметричный и симметричный. Методы, используемые для получения зашифрованных сообщений и их расшифрования. Программное средство, выполняющее шифрование.

    курсовая работа [1,2 M], добавлен 19.07.2012

  • Значение сетевых структур в системах искусственного интеллекта, их применение для построения семантических сетей, фреймов и других логических конструкций. Составление программного кода на языке программирования Pascal, тестирование с ручном просчетом.

    курсовая работа [1,2 M], добавлен 31.07.2010

  • Особенности формирования растрового изображения. Графические примитивы, которые используются наиболее часто в современных графических системах (линии и фигуры). Основные алгоритмы создания растровых изображений в графических компьютерных программах.

    презентация [883,6 K], добавлен 26.01.2015

  • Рассмотрение и анализ моделей и алгоритмов семантического поиска в мультиагентной системе поддержки пользователей. Ознакомление с интерфейсом чата с ботом. Изучение и характеристика экспериментальных оценок релевантности и пертинентности запросов.

    дипломная работа [3,0 M], добавлен 13.10.2017

  • Подсистема управления процессами как часть операционной системы, непосредственно влияющая на функционирование вычислительной машины. Алгоритмы планирования процессов. Общие сведения о матричных принтерах, проектирование для них символов с помощью матриц.

    курсовая работа [117,1 K], добавлен 22.06.2011

  • Этапы развития моделирования явлений, процессов, объектов, устройств и систем. Примеры математического, имитационного и физического построения. Воспроизведение транспортных систем городов с помощью программы для визуализации транспортной схемы VISUM.

    реферат [29,5 K], добавлен 16.12.2010

  • Симметричные криптосистемы; алгоритмы шифрования и дешифрования данных, их применение в компьютерной технике в системах защиты конфиденциальной и коммерческой информации. Основные режимы работы алгоритма DES, разработка программной реализации ключа.

    курсовая работа [129,6 K], добавлен 17.02.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.