Как найти “связанные объекты” в PHP

мы часто видим 'связанные объекты'. Например, в блогах мы связали сообщения, в книгах мы связали книги и т.д. Мой вопрос состоит в том, как мы компилируем те relevency? Если это - просто тег, я часто вижу связанные объекты, который не имеет того же тега. Например, когда поиск 'розового', связанный объект мог иметь 'фиолетовый' тег.

У кого-либо есть какая-либо идея?

16
задан Álvaro González 28 January 2010 в 10:52
поделиться

5 ответов

Есть много способов вычислить сходство двух элементов, но для более простого метода взгляните на коэффициент Жаккара.

http://en.wikipedia.org/wiki/Jaccard_index

Это: J (a, b) = пересечение (a, b) / union (a, b)

So lets say you want to compute the coefficient of two items:

Item A, which has the tags  "books, school, pencil, textbook, reading"
Item B, which has the tags  "books, reading, autobiography"

intersection(A,B) = books, reading
union(A,B) = books, school, pencil, textbook, reading, autobiography

so J(a,b) = 2/6 = .333

So the most related item to A would be the item which results in the highest Jaccard Coefficient when paired with A.
31
ответ дан 30 November 2019 в 16:30
поделиться

Вот некоторые из способов:

  1. вручную подключив их. Разместите таблицу с полями Item_id и , связанные с string_item_id , затем сделайте интерфейс для вставки соединений. Полезно, чтобы связать два элемента, которые связаны, но не имеют сходства или не относятся к одной и той же категории / теге (или в таблице записи без рубрики). Пример: ванна и резина ныки
  2. подтяните некоторые предметы, которые принадлежат к той же категории или имеют подобное тег. Идея состоит в том, что эти предметы должны быть несколько связаны с тех пор, как они находятся в одной категории. Пример: на странице просмотра ЖК-мониторах, есть случайные ЖК-мониторы (с той же ценовым диапазоном / производителем / разрешением) в разделе «Связанные элементы».
  3. Выполните текстовое поиск, сопоставив имя текущего пункта (и или описание) против других элементов в таблице. Вы получаете идею.
4
ответ дан 30 November 2019 в 16:30
поделиться

Классические примеры статического полиморфизма основаны на метапрограммировании шаблона или утином типировании , но не на перегрузке метода.

Статический полиморфизм означает, что назначение производится компилятором (статически), а динамический полиморфизм означает, что назначение производится только во время выполнения (динамически).

-121--2070141-

Мне нравится такая: it - vec.begin () , потому что мне это ясно говорит «расстояние от начала». С итераторами мы привыкли думать в терминах арифметики, так что знак - здесь самый четкий показатель.

-121--1811010-

Может быть больше тэг, например, это может быть среднее значение для каждого произведения, отображаемого в абзаце, а затем заголовков и т.д.

1
ответ дан 30 November 2019 в 16:30
поделиться

Это также может быть основано на «людях, которые купили эту книгу, также купили»

, независимо от того, как, вам понадобится какой-то связь между вашими товарами, и они будут в основном быть сделаны люди

0
ответ дан 30 November 2019 в 16:30
поделиться

Я бы сказал, что они используют онтологию для этого, что добавляет приложению больше возможностей.

1
ответ дан 30 November 2019 в 16:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: