wiki:АdvancedPhase

Version 4 (modified by 231077, 2 days ago) ( diff )

--

Чекор 8 - Тестирање на препораките

Пример повик:

SELECT *
FROM recommend_books_for_member_pgvector(10835, 10);

Функцијата успешно враќа листа од препорачани книги за членот, сортирани според cosine similarity.

No image "recommend_books_for_member_pgvector.png" attached to АdvancedPhase

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

No image "vector_extension.png" attached to АdvancedPhase

Проверка дека pgvector екстензијата е успешно инсталирана.

No image "embeddings_generated.png" attached to АdvancedPhase

Потврда дека се генерирани embeddings за 10000 книги.

No image "recommendation_results.png" attached to АdvancedPhase

Резултат од функцијата recommend_books_for_member_pgvector.

No image "validation_result.png" attached to АdvancedPhase

Проверка дека не се препорачуваат веќе позајмени книги.

No image "loan_history.png" attached to АdvancedPhase

Пример книги од претходната историја на позајмувања.

Note: See TracWiki for help on using the wiki.