Jak rozpoznać język tekstu i jak robią to maszyny?

Nie zawsze możemy mieć przyjemność czytać tekst w języku ojczystym. Co więcej czasami znaleziona interesująca treść nie jest w języku, którym się posługujemy lub nawet go po prostu nie znamy. Wtedy zachodzi potrzeba wykrycia z jakim językiem naturalnym mamy do czynienia. Jak można to w zrobić przedstawię w dwóch prostych sposobach. Następnie postaram się wytłumaczyć jak ogólnie maszyny mogą tego dokonywać i jaki ma to związek z SEO.

Co znajdziesz w tym wpisie?

Rozpoznawanie języka Google Translate

Google Tłumacz to proste w obsłudze narzędzie oferujące funkcję wykrywania języka. Wystarczy wejść pod adres: https://translate.google.pl/?hl=pl i korzystając z domyślnej funkcji wkleić pożądany do tłumaczenia tekst (lub wskazać dokument).

Przykład tłumaczenia z rozpoznaniem języka w Google Translate
Przykład zastosowania Google Translate

Warto pamiętać, że w niektórych przypadkach Google Translate może źle określić język i wtedy lepiej jest wybrać go manualnie, albo na większej partii tekstu.

Rozpoznawanie języka online Bing Translate

Alternatywne rozwiązanie oferuje konkurent Google – Bing. Aby z niego skorzystać wystarczy udać się pod adres: https://www.bing.com/translator i korzystając z wbudowanej funkcji wkleić tekst, który chce się przetłumaczyć lub sprawdzić jego język.

Przykład tłumaczenia z rozpoznaniem języka w Bing Translate
Przykład zastosowania Bing Translate

Oczywiście należy mieć na uwadze, że czasem język może zostać źle rozpoznany zwłaszcza przy krótkich wstawkach treści.

Przetwarzanie języka naturalnego – czyli jak maszyny rozpoznają tekst

NLP (natural language processing), bo tym w oryginale jest właściwie przetwarzanie języka naturalnego jest kluczem do rozpoznawania oraz rozumienia języków, którymi człowiek posługuje się w komunikacji z innymi ludźmi. Jest to interdyscyplinarna dziedzina z pogranicza sztucznej inteligencji oraz językoznawstwa. Dobrze jest mieć tego świadomość, gdyż Google coraz bardziej idzie w tym kierunku, aby jeszcze lepiej rozumieć to co jest przedstawiane na stronach i jeszcze lepiej rozumieć konstrukcje gramatyczne oraz kontekst w tekstach tworzonych przez człowieka.

Jednak w celu rozpoznania języka danego tekstu nie trzeba iść aż tak głęboko i wystarczy wykorzystać dużo prostsze metody nie bezpośrednio powiązane z NLP, ale pokrewne.

Analiza częstotliwości występowania znaków

Okazuje się, że każdy język w różnym stopniu wykorzystuje poszczególne litery. Co ciekawe rozkład występowania poszczególnych liter zależy od języka w jakim dany tekst jest napisany. Dla przykładu w języku angielskim najczęściej występuje litera e, natomiast w polskim litera a. Co ciekawe, przecinek w języku Polskim jest stosowany częściej niż litera b.

Niedowiarków odsyłam do:

Oznacza to, że posiadając rozkłady częstości liter dla wszystkich języków można ustalić w jakim języku został napisany tekst. Jednak taka analiza wymaga odpowiednio dużych próbek tekstu. Im mniejsza próbka tym większe odstępstwa od standardowych częstości mogą wystąpić.

Ciekawostką w tym temacie jest Manuskrypt Wojnicza, który do tej pory nie został rozszyfrowany i nie określono w jakim języku został napisany. Wnioskować można, że o ile nie jest on bełkotem to został napisany w języku obecnie wymarłym (albo jednocześnie wymarłym i zaszyfrowanym oraz napisanym niepoprawnie gramatycznie).

Ataki statystyczne na szyfry podstawieniowe

W ramach częstości występowania znaków warto wspomnieć, że tą wiedzę można wykorzystać w ramach rozszyfrowywania danych. Ma to przede wszystkim zastosowanie przy prostych szyfrach podstawieniowych.

Gwoli wyjaśnienia szyfr podstawieniowy to taki, w którym każdy znak z oryginalnej wiadomości zastępowany jest innym odpowiadającym mu znakiem. Dla przykładu gdyby zestawić wszystkie litery alfabetu i przypisać im odpowiednie liczby to zaszyfrowana wiadomość składała się z odpowiadających liczb dla przypisanych liter.

Jednym z najbardziej znanych szyfrów podstawieniowych jest tak zwany szyfr Cezara. Polega on na podstawianiu dla każdej litery innej oddalonej o określoną liczbę pozycji w alfabecie. Do dzisiaj się takie szyfry czasem stosuje, najczęściej z przesunięciem o 13 pozycji (tak zwane ROT13).

Atak statystyczny polega na określeniu częstości występowania poszczególnych znaków w zaszyfrowanej wiadomości. Następnie można dopasować go do określonego języka i odszyfrować wiadomość. O ile robienie tego manualnie jest uciążliwe i czasochłonne to przy odpowiedniej mocy obliczeniowej dość łatwo określić język i złamać taki szyfr.

Więcej w tym temacie można przeczytać:

Statystyka liczby znaków w słowie

Innym sposobem określania języka, ale bardziej pomocniczym jest przyrównanie długości słów w tekście. Okazuje się, że poszczególne języki mają swoje średnie ilości znaków w poszczególnych wyrazach. Dla języka polskiego często podaje się, że statystyczne słowo ma 7 znaków. Przykład takiej analizy można znaleźć w artykule na diuna.biz: statystyka ilości znaków w wyrazie, gdzie autor przedstawia statystki dla kilkunastu popularniejszych języków (dla Polski wyszło 7.21).

Z powodów statystycznych im większą próbkę tekstów się przeanalizuje tym dokładniejsze wyniki się otrzyma. Jednak ta statystyka samodzielnie nie jest jednoznacznym kryterium oceny w jakim języku jest napisany tekst, ale może być pomocniczym elementem.

Jeśli nie wierzysz, sprawdź samemu na kilku swoich tekstach jak to się rozkłada (sam to planuję w ramach bloga seoit.pl).

Stylistyka kwantytatywna

Czym jest stylistyka kwantytatywna i dlaczego o niej wspominam? Jest to dziedzina nauki z pogranicza matematyki i gramatyki, której zadaniem jest badanie stylu tekstów i formułowanie na podstawie badań praw dotyczących pisania. Brzmi skomplikowanie? Przejdźmy zatem do jednego z podstawowych praw jakie ta dziedzina udowodniła.

Podstawowym twierdzeniem wywodzącym się ze stylistyki kwantytatywnej jest to, że wyrazy w danym języku występują ze stałą częstotliwością oraz, że 85% treści w dowolnym języku jest opisane przy pomocy 1000 słów najczęściej wykorzystywanych w danym języku.

Przechowywanie dla każdego języka 1000 najczęściej występujących słów i przetwarzanie ich w celu sprawdzenia w jakim języku dany tekst został napisany nie wydaje się skomplikowanym problemem obliczeniowym. Oczywiście tekst musi być w miarę poprawnie gramatycznie napisany.

Warto zwrócić na udział występowania najczęstszych słów (80 – 85 %). Jest on bardzo zbliżony do wniosków z reguły Pareto, traktującej, że 20% obiektów jest odpowiedzialnych za 80% zasobów (na przykład: 20% klientów przynosi 80% zysków).

Znaczenie rozpoznawania języka a SEO

Poprawne rozpoznanie języka ma jak najbardziej wpływ na SEO. Przede wszystkim ze względu na wyszukiwanie semantyczne, które stanowi próbę przedstawienia przez wyszukiwarkę jak najdokładniejszych wyników poprzez zrozumienie kontekstu oraz intencji użytkownika.

Oczywistym jest, że aby to było możliwe, Google musi umieć rozpoznać język w jakim jest tekst napisany. Co więcej poprawne rozumienie kontekstu wypowiedzi jest dla maszyny łatwiejsze, gdy tekst jest napisany schludnie i poprawnie gramatycznie (przecież żaden algorytm nie będzie się zastanawiał co autor miał na myśli i co jest podmiotem domyślnym). Dlatego warto ułatwiać robotom pracę przez poprawne pisanie (co autorowi tego wpisu nie zawsze wychodzi, ale próbuje).

Pozycjonowanie stron a NLP

Od dłuższego czasu wzbogacane są algorytmy Google i sposoby segregowania wyników o elementy NLP (przetwarzania języka naturalnego). O ile jeszcze kilka lat temu przed algorytmem Google Panda królowały zapytania stricte pod wyszukiwarkę a teksty na stronach były bardzo spamerskie to teraz sytuacja jest bardziej skomplikowana.

Warto też zobaczyć wpis: Co to jest pozycjonowanie stron?

Google z roku na rok coraz lepiej sobie radzi z rozumieniem języka ludzkiego i wyniki wyszukiwań w zależności czy zadamy pytanie naturalnie czy stricte pod wyszukiwarkę aż tak się od siebie nie różnią.

Wynika to z tego, że coraz bliżej nam do technologii, gdzie maszynowo będzie można zawsze rozpoznać kontekst i znaczenie tekstu. Przyczynił się do tego między innymi algorytm RankBrain a niedawno dołączył do niego tak zwany algorytm BERT.

Całkiem możliwe, że za kilka następnych lat technologia pójdzie tak do przodu, że w wyszukiwarce będzie miała miejsce wojna na „spam” nie w wykonaniu ludzi i copywriterów a wyspecjalizowanych automatów do pisania semantycznie poprawnych tekstów. Cóż, historia lubi się powtarzać i zataczać koło.

Zanim roboty będą to robić za nas, zobacz wpis opisujący Jak optymalizować treść artykułu pod SEO?

Podsumowanie rozpoznawania języka tekstu

Obecnie zarówno Google jak i Bing oferują nam darmowe narzędzia online do rozpoznawania języka tekstu. Technologia bardzo idzie w tym kierunku, wraz z coraz lepszym rozumieniem kontekstu i możliwością tłumaczenia treści na inne języki. Wspomniane aspekty mają też wpływ na pozycjonowanie, gdyż misją Google jest sprawienie prezentowanych wyników użytecznymi a do tego konieczne jest rozumienie tego co znajduje się na stronach internetowych.

Kto wie, może w przyszłości nie będziemy musieli niczego tłumaczyć ani nawet pisać, bo będą to robiły za nas maszyny. Jednak jeśli do tego dojdzie to z pewnością jako ludzie znajdziemy sposób by wykorzystywać to w zachłanny sposób i będzie trzeba wymyślić sposoby rozróżniania tekstu napisanego przez człowieka od tego, który przygotowała maszyna. Jest to przykra rzeczywistość, ale który specjalista SEO, nie chciałby aby teksty same się pisały? 🙂

Może Ci się również spodoba

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *