Страница 1 от 1

Подобни произведения

Пуснато: 25 ноември 2009, 14:23
от Борислав
Скалъпих набързо един груб алгоритъм за изчисляване на подобни произведения и го пуснах в действие. В края на всеки текст в момента се показват първите пет подобни текста, а на отделна страница за всеки текст могат да се разгледат малко повече бройки от подобните. Ето пример с „Чужда принуда“ от Филип Хосе Фармър.

Все още никъде няма връзка към новата страница просто защото не ми хрумва къде да сложа такава. Дори се чудя дали въобще е нужна тази отделна страница…

Подобните творби се изчисляват въз основа на отбелязаните като прочетени. Това значи, че алгоритъма не връща резултати за текстове, които никой не е маркирал като прочетени.

Ето как работи долу-горе алгоритъма:
0. Имаме ограничение от X за броя върнати текстове. Имаме даден базов текст.
1. Търсят се всички читатели на дадения текст и се взимат всички техни прочетени творби.
2. За всяка творба от този списък се изчислява броя на читателите й и списъка се сортира по тази бройка.
3. После се взимат всички текстове от сортирания списък до X-то място.
4. В случай че повече от X текста отговарят на критерия, се прави пресявка по етикет на последните текстове с еднакъв брой читатели. Печелят творбите, които имат най-много общи етикети с дадения базов текст.

Ето пример:
Даден е текст № 1. Искаме първите пет подобни творби.

Търсим читателите на текст № 1. Търсим всички техни прочетени текстове и ги сортираме по брой срещания. Получава се този списък:
  • 1. № 3 — 4 читатели
  • 2. № 6 — 3 читатели
  • 2. № 8 — 3 читатели
  • 4. № 2 — 2 читатели
  • 4. № 7 — 2 читатели
  • 4. № 4 — 2 читатели
  • 4. № 9 — 2 читатели
  • 8. № 10 — 1 читател
Взимаме всички от първо до пето място. Това са:
  • 1. № 3 — 4
  • 2. № 6 — 3
  • 2. № 8 — 3
  • 4. № 2 — 2
  • 4. № 7 — 2
  • 4. № 4 — 2
  • 4. № 9 — 2
Имаме повече от пет текста, затова тези, които са на последното място (четвърто), ги пресяваме по етикет. Получаваме следния списък:
  • 1. № 7 — два общи етикета с № 1
  • 2. № 9 — един общ етикет с № 1
  • 2. № 2 — един общ етикет с № 1
  • 4. № 4 — няма общи етикети с № 1
Взимаме първите два от списъка (7 и 9), защото толкова са ни нужни, за да си попълним бройката от пет подобни текста. № 2 просто е без късмет в случая.

Това е.

Пуснато: 25 ноември 2009, 18:38
от Гост
не би ли трябвало да вземеш под внимание и етикетите към произведенията?

Пуснато: 25 ноември 2009, 19:16
от Борислав
Гост написа:не би ли трябвало да вземеш под внимание и етикетите към произведенията?
Как?

Пуснато: 25 ноември 2009, 22:41
от Гост
ами например, ако етикета на едно произведение е трилър,а на друго любовен роман, не би трябвало да ги смяташ за подобни, независимо че ги е чел един и същ човек

Пуснато: 26 ноември 2009, 00:12
от Борислав
Ако само един човек ги е прочел, най-вероятно няма да се вземе предвид, но ако са 5–10, тогава може и да има истина в подобността им. :)

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

Re: Подобни произведения

Пуснато: 04 септември 2014, 18:22
от Бам Бам
Предлагам тази функция да се направи по-видима чрез вграждането й като отделен таб към информационната част на произведенията. Прилагам картинка с пример.

Изображение

Re: Подобни произведения

Пуснато: 04 септември 2014, 19:07
от FuneralPyre
Аз предлагам да се премахне азбучното подреждане, а класирането да е според броя на общите читатели.