Предобработка

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

Убираем стоп-слова и оставшиеся не нужные нам данные.

Считаем метрику 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 рекомендация

<какие переменные использованы, какая логика рекомендации + код> В нашей рекомендательной системе 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

Примеры

Примеры collaborative filtering

Пример 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
Примеры content-based

Предложеннный пример 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 уже на примерах можно заметить, что рекомендации предлагаются не самые логичные, что говорит о том, что система также постороена не слишком удачно. Это связано с признаками, которые мы выбрали. Возможно, систему сбивали такие характеристики как количестиво страниц в комиксе или наличие жанра фэнтези, о чем наши коллеги оставляли свои комментарии. В итоге, обе наши рекомендательные системы нуждвются в доработке и исправлении, что, конечно же, хотелось бы исправить когда-нибудь в будующем.

Ответы на вопросы peer review

Вопрос: Какие выводы можно сделать из длины названия комикса?

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

Вопрос: Есть ли ограничения для выдачи рекомендаций (например, пользователь должен оценить более скольки-то комиксов и тд)?

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

Вопрос: А почему в 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 комиксов по популярности. В ином случае пользователь может просто поменять метод. Два метода использованы, чтобы дать пользователю возможность самому выбрать метод и выбрать для себя лучший.