Czego Twitter mógłby się nauczyć od Polskie.AI?


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:

  1. bazowe (dla wszystkich podstron):
    • overall_quality != 1
    • language_quality != 1
    • advertising != 5
    • subj_politics != 9
  2. 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ść.