Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ustalanie słów kluczowych dla danego tekstu
smook
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 21.03.2003

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


Zakładam, że dla strony z artykułami chciałbym zastosowac jakiś sposób grupowania ich na zasadzie podobieństw. Doszedłem, że najwygodniejszym (i automatycznym) sposobem byłoby ustalanie słów kluczowych dla danego tekstu. Wtedy wyświetlając jakiś artykuł pokazywał bym tez linki do artykułów zawierających takie same słowa kluczowe. Ponieważ liknów mogło by być całlkiem sporo kolejnych rokiem będzie wyswietlanie ich np. w zależności od ich czasu dodania, czytelności itp. - mniejsza o kryteria to jest sprawa wtórna.

Problem jednak w tym, że dla każdego dodawanego tekstu pasowało by utworzyć słowa kluczowe i wpisać je do odpowiedniego pola (uniknę wtedy sporych opóźnień przy szukaniu tych słów podczas każdego wyświetlenia artykułu). I teraz pytanie w jaki sposób to robić, jak szukać tych słów?

Dla uproszczenia pomijam odmianę przez przypadki itp..
Rozumiem, że mógłbym podzielić string na słowa, każde dodawać do tablicy i liczyć ile razy w tej tablicy wystąpiło. Czy dobrze rozumuje, czy są może lepsze sposoby?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
spenalzo
post
Post #2





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


[php:1:ac2d8aa87c]<?php
// Ilosc wystapien, zeby wyraz byl slowem kluczowym
$prog=2;

// Minimalna dlugosc wyrazu
$len=5;

$text="Zakładam, że dla strony z artykułami chciałbym zastosowac jakiś sposób grupowania ich na zasadzie podobieństw. Doszedłem, że najwygodniejszym (i automatycznym) sposobem byłoby ustalanie słów kluczowych dla danego tekstu. Wtedy wyświetlając jakiś artykuł pokazywał bym tez linki do artykułów zawierających takie same słowa kluczowe. Ponieważ liknów mogło by być całlkiem sporo kolejnych rokiem będzie wyswietlanie ich np. w zależności od ich czasu dodania, czytelności itp. - mniejsza o kryteria to jest sprawa wtórna.

Problem jednak w tym, że dla każdego dodawanego tekstu pasowało by utworzyć słowa kluczowe i wpisać je do odpowiedniego pola (uniknę wtedy sporych opóźnień przy szukaniu tych słów podczas każdego wyświetlenia artykułu). I teraz pytanie w jaki sposób to robić, jak szukać tych słów?

Dla uproszczenia pomijam odmianę przez przypadki itp..
Rozumiem, że mógłbym podzielić string na słowa, każde dodawać do tablicy i liczyć ile razy w tej tablicy wystąpiło. Czy dobrze rozumuje, czy są może lepsze sposoby?";

$org = Array(",", ".", ":", ";", "(", ")", "?", "!", "n", "r","-",""","'");
$zam = Array('', '', '', '', '', '', '', '', ' ', '','','','');

$text=str_replace($org, $zam, $text);
$tab=explode(" ",$text);
foreach($tab as $k=>$wyraz)
{
$wyraz=strtolower($wyraz);
if(strlen($wyraz)>=$len)
{
$slowa[$wyraz]+=1;
}
}
foreach ($slowa AS $wyraz=>$ilosc)
{
if($ilosc<$prog)
{
unset($slowa[$wyraz]);
}
}
arsort($slowa);
?>[/php:1:ac2d8aa87c]
potem
[php:1:ac2d8aa87c]<?php
print_r($slowa);
?>[/php:1:ac2d8aa87c]
co zwróci
Cytat
Array
(
[słowa] => 3
[tekstu] => 2
[wtedy] => 2
[sposób] => 2
[kluczowe] => 2
[każdego] => 2
[tablicy] => 2
[jakiś] => 2
)
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: 7.10.2025 - 00:43