Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] wychwycenie z tekstu listy najczęstrzych słów.
Octobus
post 11.10.2011, 10:46:54
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

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


Mam za zadanie wychwycić z tekstu listę najczęściej występujących słów i posegregować je względem ilości występowania. Spotkał się ktoś z podobnym problemem bo zastanawiam się właśnie jak do tego podejść ;/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
mortus
post 11.10.2011, 11:32:34
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Trzeba:
1. usunąć wszystkie znaki interpunkcyjne (preg_replace),
1.a. usunąć wyrazy (przysłówki, zaimki itp.), które nie będą zliczane (również preg_replace),
2. zamienić wszystkie litery na małe (strtolower),
3. wczytać wyrazy do tablicy (explode(' ', $tekst)),
4. zliczyć wszystkie wartości (i tutaj PHP daje nam do dyspozycji funkcję array_count_values).

Jeśli tekst jest długi (waga powyżej dajmy na to 50MB), to najprawdopodobniej trzeba będzie go podzielić na fragmenty i wykorzystać więcej funkcji operujących na tablicach.
Go to the top of the page
+Quote Post
Octobus
post 12.10.2011, 11:48:17
Post #3





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

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


array_count_values właśnie tego nie znałem smile.gif

Mam jeszcze jeden motyw. W pobranych słowach są znaki których nie chciałbym ;/ czyli np
Cytat
[międzynarodowej,]
["Wyobraźmy]
[nas:]
[„Nasz]
[©] <-- na to nie dziala mb_strlen


Nie wiem jak "złapać" wszystkie te niechciane rzeczy zeby je pozniej usunac ;/
Go to the top of the page
+Quote Post
thek
post 12.10.2011, 13:27:06
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Przeczytaj raz jeszcze dokładnie punkt 1. i 1.a. bo to jest rozwiązanie Twojego problemu.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
Octobus
post 12.10.2011, 15:14:21
Post #5





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

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


Wiem jak to usunac ale nie wiem jak "chwycic" wszystkie nieinteresujace mnie slowa. Jedyny pomysl to tablica z nimi ...
Go to the top of the page
+Quote Post
Pawel_W
post 12.10.2011, 18:03:21
Post #6





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


odnośnie usuwania, prościej chyba http://www.php.net/manual/pl/function.str-word-count.php
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 05:03