Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Klasyfikator treści, automatyczny dobór pokategorii
nimda
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 2.11.2010

Ostrzeżenie: (0%)
-----


Witam,
zabiram się do napisania skryptu, a właściwie systemu ekspertowego, do klasyfikowania wpisów na podkategorie wg ich treści. Założenia są ogólnie proste, dodajemy wpisy, wpis zawiera treść, temat oraz kategorie główną, np. Rodzina. Po dodaniu wpisu dokonywana jest analiza treści i tematu, w zależności od kategorii (wstępna klasyfikacja podana przez uzytkownika) wybierany jest zestaw podkategorii (np. dla kategorii Rodzina byłoby to mama, tata, dziadek, babcia itd.) i wśród nich odpowiednio do treści wybieranybyłby najbardziej pasujący. Zastanawiam się jak się do tego zabrać, na pewno potrzebna będzie duża baza słownikowa, mam 10 kategorii głównych, no i sam algorytm będzie rzeczą najtrudniejszą. Jeśli ktoś z Was spotkał się z takim problemem, albo ma jakis pomysł na rozwiązanie tego zagadnienia, byłbym bardzo wdzięczny za pomoc,

pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
cudny
post
Post #2





Grupa: Zarejestrowani
Postów: 387
Pomógł: 66
Dołączył: 31.03.2005
Skąd: Kielce

Ostrzeżenie: (0%)
-----


A ja wiem czy nie da ci odzwierciedlenia ? Dla mnie to jedyne logiczne rozwiązanie, komputer to nie człowiek, trzeba po prostu nadać punkty i zliczyć je aby dowiedzieć się, które ze słów kluczowych jest najlepiej punktowane do textu.
Przejrzałem funkcje mysql dotyczące stringów i nie znalazłem nic sensownego co by mogło nam pomoc wiec... zostają wiec funkcje php lub wyrażenia regularne (IMG:style_emoticons/default/smile.gif)

Ostatnio thek z tego forum w innym poście podsuną funkcję, która fajnie się do tego nadaje: http://pl.php.net/str_word_count lub jeśli nie chce ci się bawić i wystarczy ci w miarę proste rozwiązanie to szybko i sprawnie będzie to załatwić tym: http://pl.php.net/manual/en/function.substr-count.php

Czyli tak:
Pobierasz z bazy wszystkie podkategorie z tej wskazanej przez użytkownika, pobierasz keywordsy i parsujesz explode(',', $keywords); i potem oczywiście pętelka dla każdej z podkategorii i używasz swojego algorytmu opartego, na którejś z funkcji podanych wyżej (do pierwszej musisz napisać sobie obsługę z użyciem in_array(); druga zwróci ci gotowy wynik ale nie odzwierciedla rzeczywistości, która w tym wypadku w cale moim zdaniem nie jest taka ważna.
Potem już wiadomo - wyłaniamy zwycięzcę i skrypt skończony (IMG:style_emoticons/default/biggrin.gif)
Sorki że nie mogłem wcześniej odpisać ale nie miałem jak (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 16:26