2013-01-25 16 views
5

Potrzebuję sposobu na uzyskanie powiązanych treści bez użycia tagów, ponieważ w moim przypadku istnieje zbyt wiele tagów i te tagi są wstawiane przez użytkowników (w większości przypadków zapomnieli ich użyć).Jak zdobyć powiązane treści BEZ używania tagów?

Youtube robi to samo: jeśli na przykład oglądasz zabawne wideo, youtube pokazuje inne śmieszne filmy w powiązanej treści.

Na przykład, jeśli tytuł artykułu brzmi: "Barack Obama, prezydent USA, idź do Miami", muszę uzyskać inne artykuły zawierające słowa "Barack Obama", "USA", "prezydent" lub "Miami" w tytuł i, jeśli to możliwe, inne artykuły o tym samym temacie.

TO MOŻE BYĆ BARDZO KOMPLEKSOWA, więc poprosiłem o poradę.

+1

To będzie poważnie trudno zdobądź rację, chyba że zrobisz coś o wątpliwej jakości, np. po prostu przeszukuj każdy termin z wyjątkiem artykułów/popularnych słów (np. filmów odnoszących się do "[" Barack "," Obama "," prezydent "," USA "," Miami "]'). Co ciekawe, kończy się to po prostu dając tagi. Myślę, że jeśli pozwolisz użytkownikom na określenie tagów, otrzymasz wyższą jakość. –

+1

Pierwszą rzeczą, którą mogę zasugerować, jest wykonanie zadania cron, które je oblicza (i może to być bardzo nieefektywne, ponieważ będzie to jeden dzień lub coś podobnego) - i wstawisz swoje relacje do tabeli. Pomyślę o aktualnej części wyszukiwania :) –

+1

Na pierwszym etapie możesz przygotować listę złych słów (a, a, an, itd.), Znać nieplanowaną wersję każdego słowa (może mógłbyś znaleźć stronę internetową usługa) i wygenerować system tagowania od tego początku. Zważ na wykonanie takiego podejścia. –

Odpowiedz

1

Możliwe rozwiązanie to użycie Zend Lucene.
http://framework.zend.com/manual/1.12/en/zend.search.lucene.html

To łatwa do wdrożenia wyszukiwarka, która działa całkowicie w php. Można go użyć jako komponentu oddzielnego od Zend Framework i jest dość łatwy w implementacji.

Indeksuj całą swoją zawartość. Użyj (z jakiegoś powodu Nieudokumentowana) funkcji wzmocnienia, aby części treści, które bardziej istotne (IE tytuł, tagi użytkownika.)
Przykład tutaj: http://davedash.com/2007/05/29/boosting-terms-in-zend-search-lucene/

Następnie użyj tytuł jako zapytanie słowa kluczowego i wyświetlić x najwyższe wyniki punktacji dla użytkowników. (upewniając się, że filtrujesz zawartość, której aktualnie szuka użytkownik):

W celu przeprowadzenia optymalizacji możesz przelać wyniki wyszukiwania na stronę.

Można dostosować wyniki:
- Jakie treści najlepiej opisuje treść - Zwiększ te elementy podczas indeksowania
- Podczas poszukiwania tego, co będziesz używać (tytuł, Tag użytkownika, łącznie)

Powiązane problemy