Elon Musk zgodnie z obietnicą opublikował algorytm rekomendacji Twittera jako open source (repozytoria the-algorithm i the-algorithm-ml). Setki osób natychmiast rzuciły się do jego analizy, w efekcie czego już po kilkunastu godzinach Internet został zalany artykułami nt. “author_is_elon” – czyli odniesieniami do tego pliku, w którym jasno widać, że tweety Elona są traktowane w niestandardowy sposób.
Przy okazji zaś – i to nas dużo bardziej zaciekawiło – widać osobne regułki “author_is_democrat” i “author_is_republican”, odwołujące się do amerykańskiego podziału partyjnego (odniesienia do Demokratów i Republikanów widać też w innych plikach, np. tym i tym).
Zaczęliśmy szukać głębiej, podejrzewając że takich regułek może być więcej – i faktycznie jest, jednak większość odnosi się nie do analizy treści jako takiej, ale do obserwowania i zliczania różnych reakcji innych użytkowników na tweeta jako całość (treść, autor, data publikacji, załączone obrazki, inny kontekst). Analiza treści jako takiej sprowadza się w zasadzie do trzech spraw:
- próby wykrycia języka, w jakim napisany jest tweet (promowane są tweety napisane w zadeklarowanym w konfiguracji konta języku ojczystym autora, a penalizowane takie, w których w ogóle nie da się rozpoznać jakiegokolwiek języka)
- zliczenia ilości słów niezrozumiałych (albo napisanych z błędami)
- próby wykrycia fraz wprost wskazujących na treści w sposób oczywisty obraźliwe
czy można to zrobić lepiej?
Oczywiście. Tekst można analizować dużo dokładniej, wyciągając z niego dużo więcej informacji – co pokażemy niżej.
Problem Twittera jest taki, że tweety nie są tekstami formalnymi, np. reporterskimi, ale luźnymi wypowiedziami użytkowników, nie związanymi w zasadzie żadnymi regułami. Mogą więc zawierać np. ironię albo treści obraźliwe w sposób nieoczywisty (np. dopiero w kontekście daty publikacji, albo zestawiając je z czymś, czego nie ma w samym tweecie – np. w Polsce mogłoby to być “długopis podpisał ustawę”)
Problem jest o tyle większy, że na Twitterze mieszają się treści w wielu językach – a co więcej, pochodzące z wielu kultur. I to co w jednej kulturze może uchodzić za ironię albo przytyk, w innej jest normalnym sposobem wypowiedzi. Nie wystarczy więc rozpoznawać języka, tłumaczyć treści i analizować wersji przetłumaczonych – dla każdego języka należałoby opracować osobny system klasyfikacji. A utrzymanie takich systemów per język robi się drogie i trudne, nawet w skali Twittera.
W Polskie.AI mamy trochę łatwiej:
- nie analizujemy luźnych, nieformalnych wypowiedzi, ale głównie teksty reporterskie, a więc napisane językiem formalnym – różnymi stylami, ale wszystko to mieści się generalnie w ramach języka formalnego
- skupiamy się od początku na języku polskim – od strony gramatyki, ale też kultury i wszystkich innych czynników specyficznych właśnie dla Polski
Mamy też trochę luźniejszych treści – np. różne felietony i blogi (z nieco luźniejszym językiem, ale nadal bliższym formalnemu niż slangowi), czy zdarzające się teksty po angielsku (dość rzadko) lub w jeszcze języku (to już w ogóle ewenement, ale są). Jest ich jednak na tyle mało, że możemy im przypisać cechy wyliczone na podstawie innych tekstów danego autora, bądź po prostu pominąć niektóre z ocen.
7 osi opisu światopoglądu
W Polskie.AI wypracowaliśmy 7-osiowy systemu opisu światopoglądu wyrażanego przez dany tekst (lub jego autora). Są to:
- polityka
- ekonomia
- ekologia
- seks i aborcja
- wiara
- Rosja
- narkotyki
Dlaczego akurat takie osie? Ponieważ zauważyliśmy, że poglądy wyrażane w jednej osi korelują z innymi – np. sympatyk PiS będzie najczęściej osobą przynajmniej umiarkowanie wierzącą i mniej lub bardziej sceptyczną wobec aborcji oraz przygodnego seksu. I co najważniejsze, zależności pomiędzy tak sprofilowanymi osiami da się wyrazić w postaci konkretnych wzorów matematycznych i współczynników.
To zaś oznacza, że jeśli mamy np. jakiś tekst o prawie aborcyjnym w Indonezji, którego autor stara się przemycać swoje poglądy nt. aborcji w sposób zbyt zawoalowany, aby wykryć to wprost na podstawie analizy fraz, a jednocześnie w tej samej gazecie inni autorzy wychwalają Jarosława i negują tematy związane ze smogiem, to jesteśmy w stanie takie teksty połączyć i wzajemnie uzupełnić oceny dla tych osi, dla których nie da się ich określić wprost.
Czegoś takiego nie potrafi ani Twitter, ani ChatGPT (bądź inne mechanizmy oparte na modelach LLM).
8 osi opisu jakości
Zanim jednak w ogóle zaczniemy oceniać światopogląd, oceniamy dużo prostsze rzeczy. Pierwsze 4 dotyczą całego źródła tekstów (najczęściej domeny lub działu tematycznego), kolejne zaś indywidualnych tekstów:
- poziom zgodności z prawem dla publikacji artykułów
- dotyczy tych domen, które w RSS zamiast fragmentów emitują pełne wersje artykułów
- jeśli wykryjemy taki przypadek, a nie mamy żadnej podstawy prawnej lub faktycznej do emisji pełnych wersji, wówczas automatycznie samodzielnie skracamy artykuł, aby spełniać wymogi art. 29 prawa autorskiego
- średnia długotrwałość treści
- na podstawie tej oceny wyliczamy, ile najnowszych artykułów z danego źródła chcemy pokazywać
- np. artykuły o celebrytach usuwamy z indeksu po 3 dniach, polityczne najczęściej po 14 dniach, a specjalistyczne po 210 dniach lub nigdy
- średnia jakość zdjęć tytułowych
- oceniamy rozmiar i atrakcyjność zdjęć samych w sobie, dzięki czemu wiemy, co nadaje się do wyświetlania na sliderach, a co nie
- penalizujemy zabezpieczenia przed hotlinkowaniem, serwery z problemami sieciowymi, oraz zdjęcia o mikroskopijnej rozdzielczości i zawierające ordynarne reklamy
- średni poziom reklamy lub kryptoreklamy w publikowanych treściach
- jeśli przekracza określony poziom, z artykułu usuwane są wszystkie linki, w skrajnych przypadkach artykuły są całkowicie usuwane
- w przeciwnym razie usuwane są przede wszystkim linki wewnętrzne w ramach tej samej domeny, oraz linki komercyjne: sklepowe, partnerskie, afiliacyjne itp. (szczegółowy algorytm obejmuje ponad 30 kryteriów)
- ocena długości i całościowej jakości tekstu
- ocena jakości tekstu pod względem językowym i innych aspektów czytelności
- intensywność linków
- merytoryczny poziom trudności tekstu (poziom ambicji)
skala ocen
Wszystkie oceny są 1-cyfrowe:
- od 1 do 4/5/9
- 5 osi ma skalę 1-9
- 1 oś ma skalę 1-4
- pozostałe mają skalę 1-5
- 0 oznacza brak oceny
Dzięki tak skonstruowanej skali możemy przełożyć oceny bezpośrednio na kolumny i indeksy w bazie danych, co ułatwia i przyspiesza operowanie na zbiorach już ocenionych artykułów z poziomu stron demonstracyjnych.
jak te oceny są w praktyce stosowane?
Każda z naszych stron (oraz systemów integracyjnych) ma swoją odrębną konfigurację, w której podane są kryteria minimalnej jakości – np. strona polityka.co.pl ma w swojej konfiguracji kryteria:
- bazowe (dla wszystkich podstron):
- overall_quality != 1
- language_quality != 1
- advertising != 5
- subj_politics != 9
- dla strony głównej:
- featured_image != ”
- image_quality != 1
- image_quality != 2
- category != ‘Polityka lokalna’
Mamy też osobne kategorie reguł dla:
- stron kategorii
- sidebara Popularne (można go też całkowicie wyłączyć)
- stron wyszukiwania (są one dostępne tylko w pakietach płatnych)
- feedów RSS (np. na stronie lex.media.pl w feedzie RSS pomijamy artykuły z portali orzeczeń i sejmowe dot. legislacji oraz prac komisji sejmowych)
Wszystkie tego typu reguły są mapowane na:
- parametry WHERE do zapytania SQL ładującego listę artykułów:
-
... AND overall_quality != 1 AND language_quality != 1 AND ...
-
- identyfikator klucza dla memcached – dzięki temu gdy zmieniamy konfigurację strony, zmieniają się też klucze i nie trzeba czekać na wygaśnięcie danych w cache
etykiety ocen
Poniższe zdjęcia przedstawiają zrzuty prosto z naszego wewnętrznego edytora ocen.
Z powodów licencyjnych nie możemy opublikować kodu źródłowego stosowanych przez nas narzędzi, ale poniższe etykiety publikujemy bez żadnego wcześniejszego “ugrzeczniania”. Dokładnie w tej formie, w jakiej my na nich operujemy.
Etykiety te są opisowe, czasem celowo nieco przerysowane, aby łatwiej było można zrozumieć istotę danej oceny. Celem nie było obrażanie nikogo – wszystkie etykiety powstały oryginalnie wyłącznie na użytek wewnętrzny.
oś polityczna
Oczywiście nazwy konkretnych partii politycznych i nazwiska mogą i będą się zmieniać:
- w kolejnych latach (również wstecz)
- pomiędzy krajami
Natomiast ogólna skala od 1 do 9 wydaje się być dość uniwersalna dla realiów Europy i Ameryki Północnej od czasów II wojny światowej wzwyż.
Na tej samej skali można bez problemu odwzorować np. podział polityczny w USA:
- Republikanie 7 (odłamy od 6 do 8)
- Demokraci 4-5 zależnie od obszaru (odłamy od 3 do 6)
- komuniści 1-2
oś gospodarczo-ekonomiczna
Dodajmy w tym miejscu, że ocena [każda, ale w szczególności] gospodarczo-ekonomiczna wcale nie musi dotyczyć wyłącznie artykułów politycznych lub ekonomicznych – równie dobrze może dotyczyć artykułów nt. filmów i seriali telewizyjnych, gdzie autor przemyca swój światopogląd, opisując dany serial. Albo choćby tekstów dotyczących planowania ciąży.
Szczególnie dużo tekstów i całych kategorii dostaje ocenę 6 – czyli treści “bez epatowania”, jednak mogące już drażnić osoby o nastawieniu mocno lewicowym lub wprost roszczeniowym. Dzięki temu, gdy wykryjemy taką osobę, możemy schować przed nią takie artykuły i wyświetlić tylko to, co pasuje do jej światopoglądu.
oś proekologiczna
oś seksualno-aborcyjna
Poniższe etykiety odnoszą się do samej aborcji, ale tak naprawdę oceniamy tutaj także stosunek do seksu niezobowiązującego i traktowanego rekreacyjnie, oraz eksperymentów erotycznych.
oś religijna
oś stosunku do Rosji i Ukrainy
Poniższe etykiety, jak i cała oś, początkowo powstały wokół napaści Rosji na Ukrainę, ale tak naprawdę dotyczą również szerszego spojrzenia na Rosję od czasów Stalina, z punktu widzenia Polski, mniejszych krajów Europy Zachodniej, Kanady i Australii.
W przypadku USA, Niemiec, Francji, Chin, Afryki i Ameryki Południowej, ta oś może znacznie gorzej przekładać się na inne – co najmniej nieliniowo.
Ocena 7 nigdy nie dorobiła się etykiety – ale generalnie oznacza stanowisko “pomiędzy 6 i 8”.
oś nastawienia do narkotyków
kim jesteśmy i co robimy?
Jesteśmy niewielką firmą z całkowicie polskim kapitałem. Zajmujemy się tematami na styku AI oraz bezpieczeństwa komputerowego.
Tworzymy dedykowane serwisy informacyjne, targetowane pod ściśle określone grupy odbiorców, zasilane realnymi treściami z polskiego Internetu, w ponad 200 kategoriach tematycznych. Potrafimy dobrać treści w taki sposób, aby Twój serwis informacyjny zawierał bardzo precyzyjnie określony przekaz – i zarazem aby wszystkie treści były prawdziwe, oraz napisane przez człowieka.
Nasze przykładowe strony demonstracyjne: polityka, gospodarka, prawo, kariera, celebryci, sport, informacje lokalne.
Poza samym serwisem informacyjnym możemy też dla Ciebie założyć dedykowaną spółkę:
- publikującą nawet kilka tysięcy nowych artykułów dziennie, opcjonalnie podzielonych na kilka odrębnych tytułów prasowych (każdy może mieć inaczej dobraną zawartość i grupę odbiorców)
- oficjalnie zarejestrowaną w sądowym Rejestrze Dzienników i Czasopism
- mającą działającą redakcję (z istniejącymi osobami, mającymi umowy itd.)
- mającą siedzibę w Polsce lub Czechach, z możliwością umawiania spotkań w tej siedzibie
- mającą działający telefon i faks, obsługiwane w godzinach biurowych albo przekierowane do Ciebie
- obsługującą fizyczną korespondencję przychodzącą (nawet listy polecone)
- obsługującą kontakty z urzędami
Mamy też zindeksowaną zasadniczą większość polskiego Internetu. Nasze modele wprawdzie nie generują tekstu jak ChatGPT, za to potrafią wyciągnąć z grupy tekstów więcej informacji i je wzajemnie powiązać ze sobą. Jeśli masz pomysł, jak wykorzystać takie możliwości w swojej firmie, możemy uruchomić dla Ciebie dedykowany webservice dostarczający potrzebną funkcjonalność.