Skocz do zawartości

Jak rozpoznać w prosty sposób język strony.


Daniel Kędzierski

Rekomendowane odpowiedzi

Pisze w pogaduszkach bo w sumie nigdzie nie pasuje.

Jaką metądą najprościej a zarazem skutecznie rozpoznać, że mamy doczynienia z www w j. polskim.

Próbowałem metody wykrywania "ąłóśćńźż" lecz to zawodzi wpadają strony .es. ua japonskie bo jak się krzaczą to są znaczki tego typu.

2 metoda jaka wpadła mi do głowy to wykrywanie stopwordsów polskich - jak tutaj:

https://83.19.186.29/kc.php?url=https://www.szook.tv - i np. jak wiecej jak 3 stop wordsy PL to sterona PL badz procentowy stosunek stop words do treści.

Wykrywanie iso-8859-2 odpada bo masa stron ma UTF-8

wykrywanie tagu content PL odpada - zbyt mało stron posiada taki tag.

Może macie jakieś pomysły jak w dość prosty sposób dokonać detekcji języka polskiego bo mi poza stop wordsami nie przychodzi nic do głowy.

Odnośnik do komentarza
Udostępnij na innych stronach

O, to miłe Mariusz że wreszcie nie piszesz głupot, może na jakiś czas wyłączę ignora. ;)

Masz 2 metody określenia języka:

- Słowo po słowie sprawdzasz w jakim jest słowniku - cóż, trzeba wyjść na poziom wyżej niż słownik j. polskiego, limit słów które wystarczą Ci do detekcji musisz sobie dobrać, czym mniej słów tym większy margines błędu

- Analizujesz skąd są linki i dokąd linkuje - generalnie (zaznaczam: generalnie) można przyjąć, że jeżeli większość (dobierz limit) linków pochodzi z i prowadzi do stron o określonym języku, to strona ma taki sam język. Język stron docelowych/źródłowych możesz określić na podstawie domeny krajowej (wbrew pozorom stosunkowo dobrze (!) działa), lub, co działa nieco lepiej, po prostu przeskanować cały internet określając lokalizację każdej ze stron - ty będziesz pewnie zwolennikiem tego rozwiązania. :D

Pozdrawiam, J.

Odnośnik do komentarza
Udostępnij na innych stronach

Prosta baza polskich słów - jeśli na stronie jest kilka to znaczy, że strona ma polski content.

- - - -
StudioTypo3.com - tworzenie stron w oparciu o TYPO3, aplikacji mobilnych i programów desktopowych. Po ciężkiej pracy zapraszam do odwiedzenia gabinetu kosmetycznego znajdującego się w Rzeszowie na ul. Lwowskiej 6. Więcej informacji o ofercie gabinetu znajdziesz na stronie kamidabrowska.pl, polecam makijaż lub zabiegi na twarz - można się zrelaksować i trochę odmłodzić lub wymalować. Dla facetów też jest kilka zabiegów (depilacja) polecam baaardzo boli ;) ale czego się nie robi dla swojej kobiety.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chodzi tylko o strony polskojęzyczne, to najlepiej rozdzielić wykrywanie na dwa etapy.

Najpierw szukasz polskich znaków diakrytycznych i jeśli są, to wyszukujesz jakieś polskie słowa najczęściej pojawiające się, np. "jak", "gdzie", "dlaczego", itd.

Polecam linki stałe w Seomatik.pl oraz dopalacz stron Gotlink.pl.

obrazek.jpg

Odnośnik do komentarza
Udostępnij na innych stronach

To pokazuje tylko encoding

pl2.php.net/manual/pl/function.mb-detect-encoding.php

A teraz wszystkie strony UTF-8 wiec kiepsko.

Z tymi znaczkami to powinna być najlepsza metoda. A to ze strony japońskie wpadają to znaczy że parser jest jakis z defektem

Bo ja na japonskich nie widziałem polskich znaków.

1)Wczytaj stronę WWW

2)Wytnij HTML pozostaw TEKST

3)Sprawdz ENCODING mb-detect-encoding

4)Zamien na unicode

5)I tutaj juz pozostaje nam szukanie dwu-bajtowych znaków dla danego języka

Całej strony nie warto czytać , mysle ze 1kB tekstu wystarczy

Odnośnik do komentarza
Udostępnij na innych stronach

Dlatego narazie opieram sie na stop wordsach a dokładnie stosunek słów do stopwords a nie sama ich występowanie.

NP. 1000 słów - nie mniej niż 0,5% stop words.

Jeżu żeby wykryć skad domena ma linki - najpierw te strony które linkują musza tez byc sprawdzone czy są PL.

Analiza słownika - w sumie mam słowniki, pytanie tylko czy to nie zbyt mocno obciazy zasoby.

Kwestia stop wordsów wydawała mi się najtrafniejsza - mam soft AI ale okienkowy który wykrywa język na bazie próbki tekstu porównuje i analizuje strukture wystepowania znaków w słowach - działa super - ale okienkowy a ja musze miec phpowy.

Zaraz dokoncze tego detektora PL i dam do sprawdzenia.

https://83.19.186.29/kc.php?url=https://www....tymalizacja.com

tutaj już zamienia - czyli jak trafi na stronie z kodowaniem iso to zamienia na UTF jak na strone z UTF to nie rusza. Formatem wyjsciowym jest utf - chcialem zeby byl jeden standard kodowania wyjsciowego.

Pytanie tylko czy kazda normalna strona ma stop wordsy.

Pogrubienie to stop words.

Maximus Rex zapodaj jak mozesz - bede wdzieczny oczywiscie fukncji detekcji kodowania uzywam ona jedynie pokazuje mi czy to iso czy utf bym wiedzial czy konwertowac do utf.

Choć o funkcji typowo do rozpoznawania jezyka nie slyszalem. CHoc w PHP jest tyle modułów - ile mnie zdrowia kosztowało przejscie mb_preg_replace z preg_replace które sypie kodowanie zanim :D poprzepisywalem boty.

MAXIMUS REX tak wlasnie teraz robie - jak napisales - zerknij na linka co dałem - tyle ze sprawdzam stopwordsy.

KOD czytam i tak caly wiec nie jest zle bo parsuje z niego linki. Kwestia czy zostana dodane do bazy to kwestia potwierdzenia PL.

Parser jest ok, czasem coś sie krzaczy, uzywam mb detect mb convert mb_preg - problem jednak z domenami czeskimi, hiszpanskimi itp. zawierają polskie ogonki czasem. Nie wiem z czego to wynika ze zawieraja - jak sprawdziłem parserem około 40 tys stron probnie to mimo że parser jest OK to strony maja czesto w swoim kodzie rozne kodowanie. Np. 70% tekstu maja w ISO a 30% w utf, albo 5% roznie.

Odnośnik do komentarza
Udostępnij na innych stronach

jaki_to_jezyk($strona);

O te funkcje PHP Ci chodzi? :D

Ja pierwsze słyszę, żeby była w PHP taka funkcja...

Edit: Nie musisz całym słownikiem jechać po treści strony. Wystarczą charakterystyczne słowa, najlepiej z polskimi znakami. No chyba, że trafisz na blog piętnastolatki, wtedy to już żaden soft nie pomoże, bo czasem człowiek nie wie jaki to język.

Odnośnik do komentarza
Udostępnij na innych stronach

Lesiu i w sumie dobrze jak blogaska omine, mi chodzi o strony z tekstem :D najlepiej spelniajacym jakies normy.

Powalcze jeszcze ze stopwordsami, zrobie test i dojde do tego.

Lesiu wiem, słownik to by zbyt obciazało - wydaje mi sie że kazda strona ma jakies stop wordsy pl. Kazda na ktorej jest w miare sensowna treść.

Zobacze na probce co z tego wyjdzie.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności