Сначала обрабатываем текст, чтобы получить из него содержательные результаты, а именно убираем цифры и пунктуацию. (сохраняем текст с пунктуацией в другую переменную, так как он ещё нам понадобится). После этого делаем лемматизацию текста отзывов и разбиваем на токены.
Убираем стоп-слова и оставшиеся не нужные нам данные.
Считаем метрику tf-idf, убирая слова, которые больше всего встречаются и меньше всего. Также перед подсчётом убираем отзывы, где осталось слвсем мало слов.
Далее считаем тональность для нашего текста. Здесь используем словарь “afinn”. Разбиваем текст на предложения (для этого текст с пунктуацией был создан в отдельную переменную) и для каждого комикса считаем средную тональность (степень положительности отзывов, исходя из оценки тональности на каждое предложение).
Продолжаем изучать тональность отзвов на комиксы. В данном случае используем словарь “nrc”, где собрано 10 разных эмоций, на основе которых мы создали эмоциональный индекс. Ниже представлены числовые значения, которые были даны каждой эмоцие. Для каждой книги было посчитано среднее значение данной метрики, используя слова, которые были в отзывах к соответсвующим книгам. Данный показатель будет использован при посмтроении рекомендационной системы методом content-based.
anger - 0.1 anticipation - 0.7 disgust - 0.2 fear - 0.5 joy - 1.0 sadness 0.4 surprise - 0.6 trust - 0.8 negative - 0.3 positive - 0.9
Следующим шагом в работе является тематическое моделированиею Мы решили в тексте отзывов выделить 5 тем. результаты представлены ниже на графиках.
В итоге принадлежность того или иного отзыва к конкретной теме не будет использовано в рекомендации, так как нельзя выделить такие темы, где бы хараетерные слова сильно различались. Как видно на графиках, в разных темах встречаются похожие слова.
Также с помощью метрики tf-idf были построены облака слов. Таким образом мы пытались найти различия в сипользовании различных слов в отзывах с высокой оценкой и низкой. В рекомендациях эта часть не будет использоваться, так как весомых различий не было выявлено. Облака слов строились с идеей н дальнейшем этапе выразить характерные слова для отзывов с высокой и низкой оценками и посчитать количество таких слов в каждом отзыве.
Были использованы два метода: IBCF и UBCF, чтобы пользователь сам мог выбрать какой-угодно, так как каждый метод имеет свои преимущества. В случае, если выбранный метод не дает удовлетворительного результата, то ему будет предоставлен топ-10 комиксов по популярности или же пользователь может попробовать другой метод. Все комиксы на выходе будут иметь средний рейтинг для наглядности.
функция для рекомендации CF Предсказание для пользователя с id: 21a787a1a24f28275fb6f0b281cf964e method: IBCF or UBCF
## Recommendation for user with id: 57bc780fa5034e6c6e8ac64e732ef1f3
## comics rating
## 1 Paper Girls #7 4.32
## 2 American Widow 3.31
## 3 It Was the War of the Trenches 4.19
## 4 Power Man and Iron Fist, Vol. 2: Civil War II 3.55
## 5 The Left Bank Gang 3.94
## 6 The Punisher MAX, Vol. 5: The Slavers 4.38
## 7 FreakAngels, Volume 2 (FreakAngels, #2) 4.12
Оценивание рекомендации: <как проводилось оценивание системы, какие результаты>
Формальная оценка
## 28 x 305 rating matrix of class 'realRatingMatrix' with 720 ratings.
## RMSE MSE MAE
## 8273fc29780c84559cbd533fc969c0a6 0.9515152 0.9053811 0.9515152
## c05512c006dd9ccb49b147ce619621d5 0.5099020 0.2600000 0.5000000
## f8019b36ddc20e8062a4260851a1efe0 0.8421980 0.7092975 0.6045455
## 1dcc10935c0022c1bd9c7a3067b883c8 1.7250804 2.9759024 1.5126921
## d294115d617159a6c0ae345bf3908868 0.1500000 0.0225000 0.1500000
## 8c1c357c3d46bf3dcf7051ba98559c7d 0.8474226 0.7181250 0.8375000
## RMSE MSE MAE
## 1.2914654 1.6678829 0.9561565
## RMSE MSE MAE
## 8273fc29780c84559cbd533fc969c0a6 0.000000 0.0000000 0.0000000
## c05512c006dd9ccb49b147ce619621d5 1.105542 1.2222222 1.0000000
## f8019b36ddc20e8062a4260851a1efe0 1.752549 3.0714286 1.4285714
## 1dcc10935c0022c1bd9c7a3067b883c8 2.882786 8.3104575 2.4705882
## d294115d617159a6c0ae345bf3908868 1.462494 2.1388889 1.3666667
## 8c1c357c3d46bf3dcf7051ba98559c7d 0.977762 0.9560185 0.7638889
## RMSE MSE MAE
## 1.711920 2.930669 1.310051
Вывод из формальной оценки: Исходя из обеих табличек, можно заключить, что рекомендация давольно часто выдает ошибки. Такое, скорее всего, случилось из-за не очень подходящих признаков, которые не в полной мере отражают похожесть на дургие комиксы своеги или других жанров. Однаков стоит заметить, что рекомендация по методу UBCF ошибалась меньше, что явно свидетельствует о ее предпочтительности.
Внутрепользовательская оценка коллаборативной рекомендательной системы по IBCF
## # A tibble: 7 x 17
## book_id user_id rating title_without_s… authors.0.autho… authors.0.role
## <chr> <chr> <dbl> <chr> <chr> <chr>
## 1 1409195 6852e7… 5 Absolute Batman… 32594 ""
## 2 313530… 6852e7… 5 Superman, Volum… 171132 "Writer"
## 3 105958 6852e7… 4 Ultimate Spider… 12424 "Writer"
## 4 754100 6852e7… 4 Marvel Zombies … 93094 ""
## 5 6676791 6852e7… 4 Criminal: The D… 37450 ""
## 6 7939733 6852e7… 4 Batman: The Wid… 8236 ""
## 7 8569435 6852e7… 4 DMZ, Vol. 9: M.… 20493 ""
## # … with 11 more variables: authors.1.author_id <chr>, authors.1.role <chr>,
## # average_rating <chr>, link <chr>, popular_shelves.0.name <chr>,
## # popular_shelves.1.name <chr>, popular_shelves.2.name <chr>,
## # popular_shelves.3.name <chr>, publication_year <chr>, publisher <chr>,
## # ratings_count <chr>
## user_id book_id rating
## 1 6852e76e61b386ae76b5b9799b8f6ca5 21325 3.333333
## 2 6852e76e61b386ae76b5b9799b8f6ca5 22339 2.600000
## 3 6852e76e61b386ae76b5b9799b8f6ca5 22373 3.181818
## 4 6852e76e61b386ae76b5b9799b8f6ca5 33486 3.125000
## 5 6852e76e61b386ae76b5b9799b8f6ca5 43718 3.750000
## 6 6852e76e61b386ae76b5b9799b8f6ca5 52841 2.600000
## 7 6852e76e61b386ae76b5b9799b8f6ca5 59962 3.166667
## title_without_series
## 1 Fables, Vol. 4: March of the Wooden Soldiers
## 2 Death: The Time of Your Life
## 3 Kill Your Boyfriend
## 4 Conan, Vol. 1: The Frost Giant's Daughter and Other Stories
## 5 Hellblazer: Haunted
## 6 A Right to Be Hostile: The Boondocks Treasury
## 7 Wolverine
## authors.0.author_id authors.0.role authors.1.author_id authors.1.role
## 1 12444 Writer 55811 Artist
## 2 1221698 12726 Illustrator
## 3 12732 783790 Illustrator
## 4 7338 18832 Illustrator
## 5 12772 106526 Illustrator
## 6 29851 3154596 Foreword by
## 7 15091 15085 Illustrator
## average_rating
## 1 4.29
## 2 4.21
## 3 3.58
## 4 4.20
## 5 4.20
## 6 4.40
## 7 4.00
## link
## 1 https://www.goodreads.com/book/show/21325.Fables_Vol_4
## 2 https://www.goodreads.com/book/show/22339.Death
## 3 https://www.goodreads.com/book/show/22373.Kill_Your_Boyfriend
## 4 https://www.goodreads.com/book/show/33486.Conan_Vol_1
## 5 https://www.goodreads.com/book/show/43718.Hellblazer
## 6 https://www.goodreads.com/book/show/52841.A_Right_to_Be_Hostile
## 7 https://www.goodreads.com/book/show/59962.Wolverine
## popular_shelves.0.name popular_shelves.1.name popular_shelves.2.name
## 1 to-read graphic-novels comics
## 2 to-read graphic-novels comics
## 3 to-read comics graphic-novels
## 4 to-read comics graphic-novels
## 5 to-read comics graphic-novels
## 6 to-read comics humor
## 7 to-read comics graphic-novels
## popular_shelves.3.name publication_year publisher ratings_count
## 1 fantasy 2004 Vertigo 23879
## 2 fantasy 1997 Vertigo 11618
## 3 graphic-novel 1998 DC Comics Vertigo 1191
## 4 fantasy 2005 Dark Horse Books 2294
## 5 horror 3353
## 6 graphic-novels 2003 Three Rivers Press 1362
## 7 marvel 2007 Marvel Comics Group 5974
Вывод из внутрепользовательской оценки по IBCF: В общем-то пользователю нравились классические комиксы, ему система их и выдала. Конечно оценки ниже, чем у тех, что ему прям совсем понравились, но исходя из среднего рейтинга по всем пользователям, рекомендация сработала успешно и ему порекомендовали такие же классические комиксы, которые ему до этого нравились
<какие переменные использованы, какая логика рекомендации + код> В нашей рекомендательной системе content based используются следующие признаки: средняя оценка, популярность, количество страниц в комиксе, наличие в жанрах фэнтези, длина названия комикса, тональность текста отзывов с использованием словаря “afinn”, тональность текста отзывов с использованием словаря “nrc”
Создаем матрицу схожести Также нам пришлось дополнительно привести датасет к матричному виду, иначе возниками проблемы с функцией rownames
## 43718 46908 52841 54585 54596 57897
## 43718 0.0000000 0.9999916 0.9996236 0.9994371 0.9999972 0.9997621
## 46908 0.9999916 0.0000000 0.9995039 0.9992923 0.9999797 0.9996654
## 52841 0.9996236 0.9995039 0.0000000 0.9999807 0.9996840 0.9999841
## 54585 0.9994371 0.9992923 0.9999807 0.0000000 0.9995113 0.9999304
## 54596 0.9999972 0.9999797 0.9996840 0.9995113 0.0000000 0.9998097
## 57897 0.9997621 0.9996654 0.9999841 0.9999304 0.9998097 0.0000000
Наша рекомендация для пользователя 1dcc10935c0022c1bd9c7a3067b883c8, взяли за основу, что у комиксов должна быть оценка выше трех
## title
## 1: Kimi ni Todoke: From Me to You, Vol. 5
## 2: Death: The Time of Your Life
## 3: Batman: War on Crime
## 4: Superman for All Seasons
## 5: The Underwater Welder
## 6: Lost & Found
## 7: Nightwing, Volume 2: Night of the Owls
## 8: Escape from Lucien (Amulet, #6)
## 9: Battle Angel Alita, Volume 01: Rusty Angel
## 10: Emiko Superstar
Отсортировали рекомендованные комиксы по схожести(сначала наиболее схожие) и получили итоговый результат - топ 10 комиксов по схожести, который будет выводиться пользователю в рекомендательной системе
## Joining, by = "book_id"
## Joining, by = c("book_id", "title")
## book_id title similar
## 1 106859 Superman for All Seasons 1.0000000
## 2 22339 Death: The Time of Your Life 0.9999999
## 3 9539092 Lost & Found 0.9999999
## 4 13602241 The Underwater Welder 0.9999991
## 5 20578979 Escape from Lucien (Amulet, #6) 0.9999962
## 6 107150 Batman: War on Crime 0.9999896
## 7 844422 Battle Angel Alita, Volume 01: Rusty Angel 0.9999580
## 8 7326755 Kimi ni Todoke: From Me to You, Vol. 5 0.9999580
## 9 17137617 Nightwing, Volume 2: Night of the Owls 0.9999525
## 10 2322339 Emiko Superstar 0.9999409
Далее мы решили, что для пользователя, которого нет в системе будет выводиться топ 10 самых популярных комиксов
## title
## 1: Saga, Vol. 2 (Saga, #2)
## 2: March: Book Three (March, #3)
## 3: Fullmetal Alchemist, Vol. 21 (Fullmetal Alchemist, #21)
## 4: Skip Beat!, Vol. 09
## 5: Yotsuba&!, Vol. 06 (Yotsuba&! #6)
## 6: Fruits Basket, Vol. 23
## 7: The Complete Peanuts, Vol. 6: 1961-1962
## 8: Saga: Book Two
## 9: The Wicked + The Divine #11
## 10: Locke & Key Slipcase Set
Непосредственно сама функция Пользователю необходимо ввести свой id, чтобы получить рекомендацию из 10 комиксов При условии, что пользователь новый, ему необходимо ввестии 0 вместо id
Проверяем на работоспособность нашу функцию: введем айди пользователя 37b3e60b4e4152c580fd798d405150ff, к примеру
## book_id title similar
## 1 744615 Scott Pilgrim, Volume 4: Scott Pilgrim Gets It Together 1.0000000
## 2 6662883 Oz: The Wonderful Wizard of Oz 0.9999998
## 3 18667307 Tokyo Ghoul, tome 1 (Tokyo Ghoul, #1) 0.9999994
## 4 23093367 Saga, Vol. 4 (Saga, #4) 0.9999992
## 5 20898019 Ms. Marvel, Vol. 1: No Normal 0.9999991
## 6 20898019 Ms. Marvel, Vol. 1: No Normal 0.9999991
## 7 17131869 Saga, Vol. 2 (Saga, #2) 0.9999989
## 8 3134981 The Joker 0.9999989
## 9 17671913 Batman, Volume 3: Death of the Family 0.9999967
## 10 21325 Fables, Vol. 4: March of the Wooden Soldiers 0.0000000
Оценивание рекомендации: <как проводилось оценивание системы, какие результаты>
## # A tibble: 0 x 17
## # … with 17 variables: userId <chr>, book_id <chr>, rate <dbl>,
## # title_without_series <chr>, authors.0.author_id <chr>,
## # authors.0.role <chr>, authors.1.author_id <chr>, authors.1.role <chr>,
## # average_rating <chr>, link <chr>, popular_shelves.0.name <chr>,
## # popular_shelves.1.name <chr>, popular_shelves.2.name <chr>,
## # popular_shelves.3.name <chr>, publication_year <chr>, publisher <chr>,
## # ratings_count <chr>
## book_id title
## 1 3202876 Alien Hunter (Daniel X, #1.5)
## 2 20697563 Attack on Titan: No Regrets, Volume 02
## 3 4788225 Batman: Heart of Hush
## 4 156532 Y: The Last Man, Vol. 9: Motherland (Y: The Last Man, #9)
## 5 511240 Yotsuba&!, Vol. 01 (Yotsuba&! #1)
## 6 18465601 The Shadow Hero
## 7 184040 Y: The Last Man, Vol. 4: Safeword (Y: The Last Man, #4)
## 8 22339 Death: The Time of Your Life
## 9 156533 Y: The Last Man, Vol. 5: Ring of Truth (Y: The Last Man, #5)
## 10 106859 Superman for All Seasons
## similar title_without_series
## 1 0.9999999 Alien Hunter (Daniel X, #1.5)
## 2 0.9999999 Attack on Titan: No Regrets, Volume 02
## 3 0.9999089 Batman: Heart of Hush
## 4 0.9999049 Y: The Last Man, Vol. 9: Motherland (Y: The Last Man, #9)
## 5 0.9999026 Yotsuba&!, Vol. 01 (Yotsuba&! #1)
## 6 0.9999023 The Shadow Hero
## 7 0.9999008 Y: The Last Man, Vol. 4: Safeword (Y: The Last Man, #4)
## 8 0.9999006 Death: The Time of Your Life
## 9 0.9999003 Y: The Last Man, Vol. 5: Ring of Truth (Y: The Last Man, #5)
## 10 0.9998991 Superman for All Seasons
## authors.0.author_id authors.0.role authors.1.author_id authors.1.role
## 1 3780 1577182
## 2 5365396 Original Author 7476990
## 3 61935 306735 Illustrator
## 4 24514 90560 Illustrator
## 5 24610 4457930
## 6 68959 295142 Illustrations
## 7 24514 90560 Illustrator
## 8 1221698 12726 Illustrator
## 9 24514 90560 Illustrator
## 10 32594 Writer 61388 Artist
## average_rating
## 1 3.88
## 2 4.53
## 3 4.03
## 4 4.27
## 5 4.34
## 6 3.93
## 7 4.25
## 8 4.21
## 9 4.27
## 10 4.08
## link
## 1 https://www.goodreads.com/book/show/3202876-alien-hunter
## 2 https://www.goodreads.com/book/show/20697563-attack-on-titan
## 3 https://www.goodreads.com/book/show/4788225-batman
## 4 https://www.goodreads.com/book/show/156532.Y
## 5 https://www.goodreads.com/book/show/511240.Yotsuba_Vol_01
## 6 https://www.goodreads.com/book/show/18465601-the-shadow-hero
## 7 https://www.goodreads.com/book/show/184040.Y
## 8 https://www.goodreads.com/book/show/22339.Death
## 9 https://www.goodreads.com/book/show/156533.Y
## 10 https://www.goodreads.com/book/show/106859.Superman_for_All_Seasons
## popular_shelves.0.name popular_shelves.1.name popular_shelves.2.name
## 1 to-read james-patterson daniel-x
## 2 to-read manga currently-reading
## 3 to-read comics graphic-novels
## 4 to-read graphic-novels comics
## 5 to-read mangá graphic-novels
## 6 to-read graphic-novels graphic-novel
## 7 graphic-novels to-read graphic-novel
## 8 to-read graphic-novels comics
## 9 to-read graphic-novels comics
## 10 to-read comics graphic-novels
## popular_shelves.3.name publication_year publisher
## 1 graphic-novels 2008 Little, Brown and Company
## 2 favorites 2014 Kodansha Comics
## 3 batman 2009 DC Comics
## 4 graphic-novel 2007 Vertigo
## 5 favorites 2005 ADV Manga
## 6 comics 2014 First Second
## 7 comics 2004 Vertigo
## 8 fantasy 1997 Vertigo
## 9 graphic-novel 2005 Vertigo
## 10 graphic-novel 2002 DC Comics
## ratings_count
## 1 1785
## 2 2371
## 3 7021
## 4 20811
## 5 12924
## 6 6005
## 7 22531
## 8 11618
## 9 24880
## 10 10460
## # A tibble: 0 x 17
## # … with 17 variables: userId <chr>, book_id <chr>, rate <dbl>,
## # title_without_series <chr>, authors.0.author_id <chr>,
## # authors.0.role <chr>, authors.1.author_id <chr>, authors.1.role <chr>,
## # average_rating <chr>, link <chr>, popular_shelves.0.name <chr>,
## # popular_shelves.1.name <chr>, popular_shelves.2.name <chr>,
## # popular_shelves.3.name <chr>, publication_year <chr>, publisher <chr>,
## # ratings_count <chr>
## # A tibble: 6,020 x 2
## user_id count
## <chr> <int>
## 1 37b3e60b4e4152c580fd798d405150ff 116
## 2 b00c1d9dc54763b9b365b54dc68485f8 85
## 3 0abbdc6dd66cbe4e52e9123f58a86e6e 52
## 4 6852e76e61b386ae76b5b9799b8f6ca5 52
## 5 70da424cfb5d9e0e9839651405092f56 51
## 6 1dcc10935c0022c1bd9c7a3067b883c8 45
## 7 f42991d78ab19209d969358ac58e670e 45
## 8 1d945500234cbc7a6138a4d017dbfe4b 42
## 9 6305fa58820260714d2ca097d7cb82ac 38
## 10 8c1c357c3d46bf3dcf7051ba98559c7d 38
## # … with 6,010 more rows
## book_id title
## 1 744615 Scott Pilgrim, Volume 4: Scott Pilgrim Gets It Together
## 2 13227319 Wonder Woman, Volume 1: Blood
## 3 46908 Fruits Basket, Vol. 14
## 4 9539092 Lost & Found
## 5 10088114 Morning Glories, Vol. 1: For a Better Future
## 6 371997 Captain America: Winter Soldier, Volume 1
## 7 18711980 Sex Criminals #1: Suzie Down in the Quiet
## 8 18687079 Avatar: The Last Airbender: The Rift, Part 1 (The Rift, #1)
## 9 12092375 Big Nate Goes for Broke (Big Nate Novels, #4)
## similar title_without_series
## 1 1.0000000 Scott Pilgrim, Volume 4: Scott Pilgrim Gets It Together
## 2 1.0000000 Wonder Woman, Volume 1: Blood
## 3 1.0000000 Fruits Basket, Vol. 14
## 4 0.9999999 Lost & Found
## 5 0.9999939 Morning Glories, Vol. 1: For a Better Future
## 6 0.9999933 Captain America: Winter Soldier, Volume 1
## 7 0.9999933 Sex Criminals #1: Suzie Down in the Quiet
## 8 0.9999932 Avatar: The Last Airbender: The Rift, Part 1 (The Rift, #1)
## 9 0.9999929 Big Nate Goes for Broke (Big Nate Novels, #4)
## authors.0.author_id authors.0.role authors.1.author_id authors.1.role
## 1 16807 Writer, Artist 703677 Colorist
## 2 17029 Writer 674079 Artist
## 3 26306 17406 Translator
## 4 38954 28756 Contributor
## 5 255466 3057364 Artist
## 6 37450 Writer 61366 Artist
## 7 61382 Writer 7359829 Illustrator
## 8 68959 Writer 90808 Writer
## 9 815278 5147040 Typography
## average_rating
## 1 4.32
## 2 3.87
## 3 4.46
## 4 4.18
## 5 3.79
## 6 4.14
## 7 3.81
## 8 4.33
## 9 4.43
## link
## 1 https://www.goodreads.com/book/show/744615.Scott_Pilgrim_Volume_4
## 2 https://www.goodreads.com/book/show/13227319-wonder-woman-volume-1
## 3 https://www.goodreads.com/book/show/46908.Fruits_Basket_Vol_14
## 4 https://www.goodreads.com/book/show/9539092-lost-found
## 5 https://www.goodreads.com/book/show/10088114-morning-glories-vol-1
## 6 https://www.goodreads.com/book/show/371997.Captain_America
## 7 https://www.goodreads.com/book/show/18711980-sex-criminals-1
## 8 https://www.goodreads.com/book/show/18687079-avatar
## 9 https://www.goodreads.com/book/show/12092375-big-nate-goes-for-broke
## popular_shelves.0.name popular_shelves.1.name popular_shelves.2.name
## 1 to-read graphic-novels comics
## 2 to-read comics graphic-novels
## 3 to-read manga fantasy
## 4 to-read graphic-novels graphic-novel
## 5 to-read graphic-novels comics
## 6 to-read currently-reading graphic-novels
## 7 to-read comics graphic-novels
## 8 to-read graphic-novels comics
## 9 to-read currently-reading big-nate
## popular_shelves.3.name publication_year publisher ratings_count
## 1 cómics 2007 Oni Press 27989
## 2 graphic-novel 16991
## 3 romance 13208
## 4 picture-books 2011 Arthur A. Levine Books 6585
## 5 cómics 2011 Image Comics 8263
## 6 comics 2006 Marvel 7500
## 7 currently-reading 2013 Image Comics 7487
## 8 fantasy 2014 Dark Horse Comics 10667
## 9 humor 2012 HarperCollins 8086
Пример 1: Если в нашем датасете нет данных о пользователе, то какие фильмы система ему порекомендует? И всегда ли система рекомендует одни и те же фильмы для новых пользователей? Скорее всего я ожидаю, что у фильмов формируется общий рейтинг и будут реомендоваться топ 10 фильмов
Покажем на примере: для пользователя о которых нет данных будет порекомендован топ 10 популярных фильмов
## User id not found
## Top 10 comics by average rating:
## title
## 1: March: Book Three (March, #3)
## 2: Saga: Book Two
## 3: Locke & Key Slipcase Set
## 4: Fullmetal Alchemist, Vol. 21 (Fullmetal Alchemist, #21)
## 5: The Complete Peanuts, Vol. 6: 1961-1962
## 6: Skip Beat!, Vol. 09
## 7: The Wicked + The Divine #11
## 8: Saga, Vol. 2 (Saga, #2)
## 9: Yotsuba&!, Vol. 06 (Yotsuba&! #6)
## 10: Fruits Basket, Vol. 23
Пример 2: 65ca67032027d600b819386d895fb6b4 - вот такой вот пользователь, оценил 2 комикса на 0, скорее всего сентимент у отзыва комикса будет отрицательный, и порекомендуете вы ему такое же… что-то плохое, тк есть схожесть по среднему рейтингу - 0, если брали из good reviews и составляли средний рейтинг. Если же это ср рейтинг в goodread comics, то сойдет, но не было дано разъяснений. Скорее всего этому пользователю порекомендуется что-то не из fantasy, тк он оценил из graphic-novel. По длине названия фильма там и короткое что-то и длинное (Embroideries, Wonder Woman, Volume 1: Blood) поэтому выдаст что-то среднее, напрмер, Sing No Evil или Tales of the Wild East (Klezmer #1), или Axe Cop, Vol. 1
Как мы можем увидеть, данному пользователю не были порекомендованы те варианты, которые предполагал наш коллега из другой группы, при том названия встречаются в рекомендации как длинные, так и короткие.
## Recommendation for user with id: 65ca67032027d600b819386d895fb6b4
## comics rating
## 1 A Right to Be Hostile: The Boondocks Treasury 4.40
## 2 Scott Pilgrim, Volume 4: Scott Pilgrim Gets It Together 4.32
## 3 Nat Turner 3.94
## 4 Local 4.01
## 5 Oz: The Wonderful Wizard of Oz 4.08
## 6 The Underwater Welder 4.04
## 7 March: Book Three (March, #3) 4.71
Предложеннный пример 1: Если пользователю нравится длинные фэнтэйзиные комиксы, я ожидаю что рекомендация будет так же все/или в основном комиксы в жанре фэнтэйзи, вероятно так же с большим количеством страниц Мы нашли пользователя с id f9f5fe32aef71f81257dd07de9689e84, у которого как раз есть длинные фэнтези комиксы в понравишихся Смотрим рекомендацию для него: Проверим первые 5 комиксов: Escape from Lucien - действительно фэнтези комикс и длинный - 224 стр Demon Diary - тоже фэнтези комикс с большим количеством страниц - 192 стр А вот третье место уже сплоховало - Avengers: Heroes Welcome - количество страниц неизвестно, и комикс не фэнтези(если смотреть на полки) Четвертое место аналогично - Signal to Noise - не фэнтези и без страниц The Return of Superman - количество страниц большое - 480, но жанра фжнтези не наблюдается
## book_id title similar
## 1 20578979 Escape from Lucien (Amulet, #6) 0.9999999
## 2 29497 Demon Diary, Volume 01 0.9999999
## 3 25749038 Avengers: Heroes Welcome #1 0.9999999
## 4 166570 Signal to Noise 0.9999999
## 5 116197 The Return of Superman 0.9999999
## 6 325752 Promethea, Vol. 4 0.9999998
## 7 107117 Batman: Venom 0.9999998
## 8 1111162 Skip Beat!, Vol. 09 0.9999997
## 9 17671913 Batman, Volume 3: Death of the Family 0.9999997
Предложеннный пример 2: Если бы был пользователь, которому нравятся комиксы про бэтмена, порекомендовала бы ему система комиксы про человека-паука?
Мы нашли подходящего пользователя с id 37b3e60b4e4152c580fd798d405150ff, у которого есть понравившиеся комиксы по Бэтмену В рекомендации мы видим, что Человек-Паук не был порекомендован. В топе мы видим комиксы не marvel, и не dc, что, конечно, не радует: топ 4 на первый взгляд мало пересекается с Бэтменом. Однако далее мы видим таки комикс Ms. Marvel, который хоть и не dc, но уже похожая вселенная, а ниже находятся Джокер и одна из частей Бэтмена - вполне логичная рекомендация. Стоит учесть, конечно, тот факт, что и наш пользователь оценвал далеко не только Бэтмена, а много других комиксов
## book_id title similar
## 1 744615 Scott Pilgrim, Volume 4: Scott Pilgrim Gets It Together 1.0000000
## 2 6662883 Oz: The Wonderful Wizard of Oz 0.9999998
## 3 18667307 Tokyo Ghoul, tome 1 (Tokyo Ghoul, #1) 0.9999994
## 4 23093367 Saga, Vol. 4 (Saga, #4) 0.9999992
## 5 20898019 Ms. Marvel, Vol. 1: No Normal 0.9999991
## 6 20898019 Ms. Marvel, Vol. 1: No Normal 0.9999991
## 7 17131869 Saga, Vol. 2 (Saga, #2) 0.9999989
## 8 3134981 The Joker 0.9999989
## 9 17671913 Batman, Volume 3: Death of the Family 0.9999967
## 10 21325 Fables, Vol. 4: March of the Wooden Soldiers 0.0000000
Обе рекомендательные системы оказались не очень хоршими в нашем исследовании: 1) Мы построили рекомендательную системы двумя методами. Так как каждый метод определено имеет своё преимущество. Пользователь имеет возможность самостоятельно выбрать метод, но стоит упомянуть, что ubcf предпочтительное, так как если пользователь отставил мало отзывов, то ibcf не даст результатов. Однако мы решили эту проблему добавив возможность получить топ 10 комиксов по популярности в случае, если выбранный метод не даст результата. Формальная оценка коллаборативной фильтрации также показала, что метод UBCF оказался более удачным, но все-равно не слишком хорошим. Однако внутрепользовательская оценка показала, что система довольно неплохая. 2) При анализе рекомендательной системы content based уже на примерах можно заметить, что рекомендации предлагаются не самые логичные, что говорит о том, что система также постороена не слишком удачно. Это связано с признаками, которые мы выбрали. Возможно, систему сбивали такие характеристики как количестиво страниц в комиксе или наличие жанра фэнтези, о чем наши коллеги оставляли свои комментарии. В итоге, обе наши рекомендательные системы нуждвются в доработке и исправлении, что, конечно же, хотелось бы исправить когда-нибудь в будующем.
Вопрос: Какие выводы можно сделать из длины названия комикса?
Ответ: Длины названия комиксов естественно отличаются, мы решили, что пусть содержательных выводов данная переменная не дает, но может оказаться полезной в построении рекомендательной системы, ведь вполне может быть такое, что пользователь не любит слишком длинные названия, и даже из-за этого может занизить оценку, потому необходимо учесть такую особеннность
Вопрос: Есть ли ограничения для выдачи рекомендаций (например, пользователь должен оценить более скольки-то комиксов и тд)?
Ответ: Нет, даннного ограничения нет, так как мы выбрали довольно большой диапазон оценок: мы считали, что если пользователь поставил оценку от трех и выше - это уже неплохо. Конечно, это не отменяет того факта, что есть пользователи, которые, в принципе, ставили мало оценок, но в данном исследовании мы не учли даннный аспект
Вопрос: А почему в content based системе наличие в жанрах fantasy является важным признаком?
Также, настолько высокие значения не есть хорошо - фэнтази и ср рейтинг влияют на адекватность модели. В особенности фэнтези очень спорная переменная для рекомендации, потому что она увеличивает схожесть комиксов. Длина названия комикса тоже спорная переменная в реальных условиях … кол-во стр ещё куша не шло, вдруг пользователь любит много читать или наоборот.
Ответ: Мы решили ипользовать данную переменную, так как по результатам домашней работы оказалось, что жанр фэнтези один из самых частых и полезных харнактеристик, так как часто шло разбиение на группы в зависимосмти от наличия жанра фэнтези.
Про похожий вопрос про фэнтези: возможно, данные признаки действительно оказали сильное влияние на нашу рекомендательную сисьему, но нам они показались вполне ролевантными, про длину комикса также комментировали в другом вопросе
Вопрос: Каким образом метрика TF-IDF сокращала ваш датасет?
Ответ: Изначально данная метрика была посчитана для каждого отзыва, при подсчётах были удалены слова, которые встречались очень часто или очень редко. После такой очистки некоторые отзывы состояли из слишком маленького количества слов и были удвлены, поэтому в конечном итоге выборка очень сокращалась.
Вопрос: Как облако слов связано с вашим проектом?
Ответ: С помошью облаков слов мы пытались показать результаты нахождения важных слов. Идея состояла в том, чтобы выявить данные слова и посчитать их количество в каждом отзыве, а затем использовать в рекомендационной системе. Однако данный метод не дал полезных результатов, и мы их не использовали в последующих частях.
Вопрос: Я, честно говоря, не поняла почему для подсчета сентимента был выбран текст отзыв, и далее он использовался в рекомендации. Чисто теоретически, если отзыв негативный, то рек ему будут комиксы с той же тональностью. Частично проблема решается рейтингом, но ребята не объяснили как получен этот рейтинг или же откуда взят. И не значит ли, что если пользователь оценивал такой-то фильм на такую-то оценку, то ему будут выпадать схожие по оценке. А если он оставлял только негативные отзывы и низко оценивал?
Не совсем поняла, как высчитывались числовые эквиваленты для словаря с эмоциями “nrc” (anger, anticipation, disgust, fear, joy, sadness, surprise, trust). Эмоции все разные, интересно, как авторы проекта проранжировали их от самого положительного до самого негативного? И почему нельзя было оставить, например, наиболее часто встречающуюся эмоцию по отзывам к 1 книге, чтобы использовать уже факторы уже в рекомендательных моделях?
Ответ: Данная метрика использовалась при построении рекомендационной системы методом content-based, где использовалось достаточное количество других показателей, соответственно, наш вручную сгенерированный индекс не был единственным критерием для пользователей, а служил дополнением. Он был построен на основе меры положительности и эмоциональности, то есть для эмоций, которым мы присвоили положительный окрас, мы дали большее значение, более нейтральным (страх, грусть) - среднее (так как нельзя точно сказать, какой у них окрас) и отрицательным - более низкое. Важным здесь явдяется то, что он явдяется дополняющем звеном при построении системы рекомендаций. Идея, которая была предложена в замечании также употребима в данном случае, но в нашей работе была иная задумка.
Вопрос: Рекомендательная модель методом content-based: На матрице схожести [10:15] видно, что схожесть всех комиксов очень высокая и почти равна 1. В рекомендациях пользователю в топе на слайде рядом стоят комикс про Batman и Kimi ni todoke, милая манга про любовь парня и девушки, что просто кажется очень странным на первый взгляд. Поэтому хотелось бы увидеть оценку этой модели каким-нибудь способом, чтобы проверить, насколько хорошо она выдаёт рекомендации.
Ответ: Оценка была проведена. К сожалению, рекомендательная система не идеальная, и , действительно, часто можно встретить рекомендации комиков, которые по логике мало похожи друг на друга
Вопрос: Замечание по поводу коллобаративной фильтрации, метод IBCF стандартно считает для 25 и больше оценок, поэтому можно было задать параметр и снизить число оценок например к 10 и тогда посчитать для двух методик и из полученных результатов выбрать лучшую.
Ответ: В код уже введена возможность пользователю самостоятельно выбрать количество комиксов, которое он хочет получить на выходе.
Вопрос: После просмотра у меня сразу возник вопрос касательно сетевого анализа. Почему его не провели? Его результаты могли привнести значительные результаты при рассмотрении в рекомендаци
Ответ: После обсуждения наша команда решила, что текстовый анализ даст больше содержательной информации, особенно исходя из рассматриваемых в ней признаков, потиому мы решили сосредоточиться именно на нем. Однако замечание хорошее, и в при дальнейших исследованиях можно будет попробовать и сетевой анализ
Вопрос: Очень странное сравнение IBCF и UBCF. Сначала говорится о том, что каждая модель имеет свои преимущества, однако на деле это связано просто с тем, что реализация функции не предполагает (раз уж команда решила использовать обе модели одновременно) переключение между системами, если рекомендация не может быть выдана. Например, если по ibcf порекомендовать нечего, почему бы на уровне внутренней логики (а не пользовательского ввода) не переключиться на ubcf?
Ответ: Если рекомендация не может быть выполнена, значит пользователь будет предложен топ-10 комиксов по популярности. В ином случае пользователь может просто поменять метод. Два метода использованы, чтобы дать пользователю возможность самому выбрать метод и выбрать для себя лучший.