| Version 4 (modified by , 2 days ago) ( diff ) |
|---|
Чекор 8 - Тестирање на препораките
Пример повик:
SELECT * FROM recommend_books_for_member_pgvector(10835, 10);
Функцијата успешно враќа листа од препорачани книги за членот, сортирани според cosine similarity.
Recommended Books Generated by the System
| Similarity | Recommended Book | Genres | Categories | Authors |
| 0.751 | Confirmation | Fantasy, Philosophy | Creative, Home 2, Garden, Art, Science, Health 1, Urban, Music | James Thomas |
| 0.748 | My First Book: My First Steps to Reading | Physics | Art, Creative 1, Creative, Digital 1, Kids, Garden 2 | Samantha Mason |
| 0.739 | Write Source 2000: A Guide to Writing, Thinking & Learning | Classic Literature | Fashion, Health 1, Premium, Health, Urban, Global 2 | Eric Stevens, James Foster |
| 0.735 | Publication Manual of the American Psychological Association | Mystery, Philosophy, Travel | Art, Sports, Digital, Classic 1, Garden, Home 2 | Michael Cardenas, Stephen Hill |
| 0.731 | The Everyday Writer | Romance, Young Adult | History, Advanced 1 | Melissa Allen, Melissa Boone |
| 0.731 | American Literary Criticism From the Thirties to the Eighties | Biography, Physics | Books, Science, Global | Gabriel García Márquez, Nikola White |
| 0.730 | The Art and Craft of Handmade Paper | Children, Horror | Garden, Tech 1, Global, Food | Donald Jackson, Sierra Thomas |
| 0.730 | Ethics & National Defense: The Timeless Issues | Computer Science, Crime | Fashion, Nature | Anna Anderson |
| 0.729 | Encyclopedia of Discovery: Science and History | Autobiography, Children | Digital, Art 1, Music, Premium 1, Smart, Health 3, Sports, Classic 2 | Olivia Shaw, Peter Anderson |
| 0.727 | Achieving Authentic Success | Cooking, Romance | Books, Nature 2 | Jason Reed |
Чекор 9 - Доказ дека не се препорачуваат веќе позајмени книги
Беше извршена дополнителна проверка за да се потврди дека системот не препорачува книги кои членот веќе ги има позајмено.
SELECT COUNT(*) FROM loan_history lh JOIN book_copy bc ON bc.copy_id = lh.copy_id WHERE lh.member_user_id = 10835 AND bc.barcode IN ( SELECT barcode FROM recommend_books_for_member_pgvector(10835, 10) );
Резултат:
0
Ова докажува дека ниту една од препорачаните книги не се појавува во претходната историја на позајмувања на членот.
[PLACEHOLDER: Screenshot од COUNT = 0]
Чекор 10 - Валидација на препораките
За да се покаже дека препораките не се случајни, беа анализирани книгите што членот претходно ги има позајмено и препораките што ги генерира системот.
Прво беа прикажани книгите од loan history за членот:
SELECT DISTINCT b.title, string_agg(DISTINCT g.name, ', ') AS genres, string_agg(DISTINCT c.name, ', ') AS categories, string_agg(DISTINCT a.first_name || ' ' || a.last_name, ', ') AS authors FROM loan_history lh JOIN book_copy bc ON bc.copy_id = lh.copy_id JOIN book b ON b.barcode = bc.barcode LEFT JOIN book_genre bg ON bg.barcode = b.barcode LEFT JOIN genre g ON g.genre_id = bg.genre_id LEFT JOIN category_book cb ON cb.barcode = b.barcode LEFT JOIN category c ON c.category_id = cb.category_id LEFT JOIN book_author ba ON ba.barcode = b.barcode LEFT JOIN author a ON a.author_id = ba.author_id WHERE lh.member_user_id = 10835 GROUP BY b.barcode, b.title LIMIT 10;
[PLACEHOLDER: Screenshot од loan history книги]
Потоа беа прикажани препорачаните книги со нивните жанрови, категории и автори.
[PLACEHOLDER: Screenshot од препораки со genre/category/author]
Конкретни примери
Пример 1
Loan history: A Wizard Alone: The Sixth Book in the Young Wizards Recommended: My First Book: My First Steps to Reading
Иако не се исти книги, двете се поврзани со литература наменета за помлади читатели и содржини поврзани со читање и едукација.
Пример 2
Loan history: Sharing the Pie: A Citizen's Guide to Wealth Recommended: Publication Manual of the American Psychological Association The Everyday Writer
Во овој случај системот препознава интерес за едукативни, академски и информативни книги. Иако жанровите не се идентични, содржината и намената на книгите се слични.
Пример 3
Loan history: The Oxford Dictionary of Popes Recommended: Encyclopedia of Discovery: Science and History
Двете книги припаѓаат на групата reference-oriented книги, односно книги кои служат за информирање, истражување и стекнување знаење.
Recommendation Analysis
Системот генерираше препораки со similarity вредности помеѓу 0.72 и 0.75.
При споредба на loan history и препорачаните книги беше забележано преклопување во повеќе жанрови и категории, како што се:
Young Adult Classic Literature Children Physics Horror Nature Books Global Food Art Kids Health Creative Smart
Ова покажува дека препораките не се случајни, туку се базирани на семантичка сличност помеѓу книгите.
Screenshots / Proof of Work
Проверка дека pgvector екстензијата е успешно инсталирана.
Потврда дека се генерирани embeddings за 10000 книги.
Резултат од функцијата recommend_books_for_member_pgvector.
Проверка дека не се препорачуваат веќе позајмени книги.
Пример книги од претходната историја на позајмувања.
