Blog

Co strona z szablonem jest winna czytelnikowi

Nasze 3926 stron z szablonami renderuje każda około 90 różnych słów. Co zmierzyliśmy przed dodaniem kolejnych, dlaczego próbka była ważona i co wykazały pomiary.

Opublikowano

PPT AI publikuje 3926 szablonów prezentacji, każdy z własną stroną pod adresem ppt.sophoninc.com. Strona, której zadaniem jest pokazanie projektu, musi być czytelna dla kogoś, kto jeszcze nie widzi projektu lub waha się między dwoma. Oznacza to co najmniej: do czego służy prezentacja, co jest na każdym slajdzie, ile jest slajdów i w jakim rozmiarze, co można zmienić i jak zacząć. Ten wpis dotyczy tego, jak sprawdziliśmy, jak daleko nasze strony odbiegały od tego ideału i co zmierzyliśmy przed dodaniem czegokolwiek.

Co strona z szablonem renderuje dzisiaj

16 września 2026 r. pobrano i policzono cztery strony szablonów. Metoda liczenia: usunąć elementy script i style, usunąć pozostałe tagi, zdekodować encje HTML, pobrać tokeny słów pasujące do wyrażenia [A-Za-z0-9][A-Za-z0-9’'&-]* i zamienić je na małe litery przed zliczeniem unikalnych tokenów. Tokenizer jest podany, ponieważ w zależności od niego liczba unikalnych słów zmienia się o kilka.

StronaLiczba słówUnikalne słowaUnikalne słowa poza wspólnymi elementami
brand-agency-book-editorial-dark1489131
medical-blood-test-clean-corporate1428828
resume-illustrator-professional-blue1479030
poster-bold-text-modern-gradient1347919

„Shared chrome” to 60 odrębnych słów wspólnych dla wszystkich czterech stron: nawigacja, stopka, ścieżka nawigacyjna i dwa wezwania do działania. Po ich usunięciu na każdej stronie pozostaje od 19 do 31 odrębnych słów dotyczących danego szablonu. Reszta jest taka sama na 3926 stronach.

Dla kontekstu: w ciągu trzech miesięcy do 16 września 2026 r. strony te wygenerowały 484 wyświetlenia i 7 kliknięć przy średniej pozycji 20,2, obejmując 187 różnych stron i 12 różnych zapytań. Liczba ta pochodzi z Google Search Console dla sc-domain:sophoninc.com, z filtrem ustawionym na ppt.sophoninc.com/templates/. Search Console jest widoczna tylko dla właścicieli usługi; usługa, filtr i zakres dat są podane, aby każda osoba z dostępem mogła odtworzyć wynik, co jest najwyższym możliwym poziomem weryfikowalności dla tego źródła.

Pytanie, na które audyt musiał odpowiedzieć

Slajdy każdego szablonu zawierają tekst: nagłówki, etykiety, treść napisaną w celu wypełnienia projektu. Jest on publicznie dostępny pod adresem /api/v2/templates/<slug>/slides/<n> i jest oczywistym kandydatem do umieszczenia na stronie. Zanim to zrobimy, trzeba odpowiedzieć na jeden zarzut: 3926 stron z wygenerowaną treścią prezentacji może okazać się 3926 niemal identycznymi stronami, co jest gorsze niż 3926 stron o niskiej zawartości.

Pytanie brzmi: jak wiele tekstu szablon dzieli z szablonem, który jest do niego najbardziej podobny?

Dlaczego jednolita próbka daje błędną odpowiedź

Naiwna metoda polega na losowym próbkowaniu szablonów i porównywaniu par. Ta metoda nie jest w stanie znaleźć duplikacji w tym korpusie i warto dokładnie wyjaśnić, dlaczego.

Biblioteka jest uporządkowana według kategorii, przepisu i rodziny stylów. Losowa para wybrana z 3926 elementów to w przeważającej mierze para z różnych kategorii na różne tematy. Takie pary nie mają ze sobą prawie nic wspólnego, niezależnie od tego, jak powtarzalny jest korpus. Zmierzyliśmy to: 392 losowe pary z różnych rodzin mają medianę zawierania 5-gramów na poziomie 0,00% i maksimum 0,3%. Jednolita próbka zwraca „the corpus is unique” jako artefakt próbkowania, a nie jako odkrycie.

Pary, które ujawniłyby duplikację, to najbliżsi sąsiedzi, a stanowią one znikomy ułamek wszystkich par. Dlatego próbka została dociążona w ich kierunku. Szablony pogrupowano według kategorii, identyfikatora przepisu i rodziny stylów, a następnie wylosowano 33 grupy czterech rodzajów:

  • numerowane bliźniaki, w których identyfikatory różnią się tylko końcówką -2 lub -3 (8 grup)
  • ten sam przepis i ta sama rodzina stylów (4 grupy)
  • ta sama rodzina stylów, inny przepis (13 grup)
  • grupy pokrycia, po jednej na kategorię, aby żadna kategoria nie pozostała niezbadana (8 grup)

Następnie pobrano tekst slajdów dla każdego członka każdej grupy: 232 szablony, 1034 slajdy, 0 błędów pobierania, 16 września 2026 r. Stanowi to 5,9% korpusu, wybrane jako najtrudniejsze 5,9%.

Decydujące przejście

Samo ważenie próby nie wystarcza, ponieważ prawdziwym najbliższym sąsiadem szablonu może być ten, który nie został pobrany, co zaniżyłoby stopień nakładania się. Dlatego w drugim przebiegu ograniczono porównanie do klastrów, w których pobrano każdego członka: 46 kompletnych klastrów, 117 szablonów. W ich obrębie najbliższy sąsiad szablonu z całego korpusu 3926 szablonów gwarantowanie znajduje się w mierzonym zbiorze.

Miarą jest zawieranie 5-gramów: odsetek unikalnych pięciowyrazowych sekwencji szablonu, które występują również w jego najbliższym odpowiedniku. Zastosowano zawieranie, a nie współczynnik Jaccarda, ponieważ jest ono asymetryczne — krótki szablon w całości zawarty w długim powinien być odczytany jako w pełni zduplikowany, a współczynnik Jaccarda wykazałby go jako częściowo unikalny.

Wyniki dla tych 117 szablonów w porównaniu z prawdziwym najbliższym sąsiadem z korpusu:

MiaraWartość
Mediana zawierania 5-gramów0,00%
Średnia0,50%
95. percentyl3,46%
Maksimum8,82%
Szablony powyżej 10%0
Zawieranie 3-gramów, mediana / maksimum0,31% / 13,89%

Przebieg dla 3-gramów ma na celu wychwycenie treści, które zostały przeredagowane, a nie użyte ponownie; zmienia on liczby, ale nie wniosek. Najgorszą parą w korpusie jest poster-quote-typography-modern-gradient w porównaniu z poster-bold-text-modern-gradient, z wynikiem 8,82%.

Wśród wszystkich 232 szablonów: z 3448 unikalnych zdań o długości sześciu lub więcej słów, 2 pojawiają się w więcej niż jednym szablonie — „the results relate only to the items tested” oraz „no other graphic elements should intrude into this zone”. W przeliczeniu na slajd, spośród 992 slajdów zawierających 20 lub więcej słów, mediana zawierania z najbliższym slajdem w dowolnym innym szablonie wynosi 0,0%; 8 jest powyżej 20%, a żaden nie przekracza 50%. Podobieństwo tematyczne mierzone za pomocą cosinusa „bag-of-words”, który ignoruje sformułowania, jest wyższe, jak powinno być w przypadku dwóch szablonów CV: mediana 12,7% w porównaniu z najbliższym odpowiednikiem z tej samej rodziny, maksimum 35,3%.

Uczciwe ograniczenie: to jest 232 z 3926 szablonów i 117 w zbiorze z gwarantowanym najbliższym sąsiadem. Jest to dowód dotyczący najtrudniejszej części korpusu, a nie dowód na temat całości.

Co postanowiliśmy

Audyt usuwa zastrzeżenie dotyczące duplikacji przy publikowaniu tekstu slajdów. Nie opublikowaliśmy treści slajdów. Opublikowaliśmy tytuły slajdów, które już istniały w rekordzie szablonu i były pobierane i odrzucane.

Sprawdzono we wszystkich 3926 szablonach przed ich opublikowaniem: 14 969 tytułów, żaden pusty, żaden nie był zwykłym „Slide N” ani „Page N”, a slide_titles.length było równe slide_count w każdym z nich. Zarejestrowano dwa ograniczenia, zamiast je tuszować: 156 tytułów (1,0%) kończy się na „… Page N”, a w 77 szablonach (2%) dotyczy to każdego tytułu. 1321 szablonów (34%) ma pojedynczy slajd i w ogóle nie otrzymuje listy.

Zmiana dotyczy zatem 2605 stron i dodaje do każdej medianę 15 słów, co daje średnią 10,4 słowa na stronę w całym korpusie. Jest to realne, ale niewiele. Samo w sobie nie wyprowadza to strony z kategorii treści o niskiej wartości, a bardziej użyteczne może być to, że tytuły są klikalne: przejście do slajdu 7 wymagało wcześniej sześciokrotnego naciśnięcia przycisku Dalej.

Ta sama gałąź kodu linkowała do szablonów, do których nic innego nie prowadziło. Strony przeglądania miały na sztywno ustawione proporcje obrazu na 16:9, co stanowiło około 45% biblioteki, więc reszta nie pojawiała się na żadnej stronie zbiorczej ani w bloku powiązanych elementów: strony /templates?category=document i ?category=poster zwracały komunikat „coming soon” bez żadnych linków do szablonów. Strona, do której nie prowadzi żaden link wewnętrzny, nic nie jest winna czytelnikowi, ponieważ żaden czytelnik na nią nie trafia.

Niewdrożone i jedna kwestia wciąż otwarta

Nic z tego nie jest jeszcze aktywne. To pull request 10 na Sophon-LLC/ppt-ai, otwarty 15 września 2026 i wciąż otwarty 16 września 2026, trzy commity, zweryfikowany przez type check, lint run i production build uruchomiony na produkcyjnej bazie danych. Dopóki nie zostanie złączony, strony są takie, jak zmierzono na początku tego wpisu.

Otwarta kwestia to ta, na którą audyt nie odpowiada. Mierzony zbiór zawiera medianę 288 słów tekstu głównego na szablon, w porównaniu z 19 do 31 słów specyficznych dla szablonu, które strona renderuje dzisiaj. Audyt mówi, że ten tekst nie jest zduplikowany. Nie mówi jednak, czy tekst napisany w celu wypełnienia układu jest odczytywany przez człowieka jako treść, a nie jako wypełniacz, i nikt tego nie zmierzył. Opublikowanie 3926 stron z takim tekstem, opierając się wyłącznie na wyniku dotyczącym duplikacji, byłoby odpowiedzią na pytanie, którego nie zadaliśmy.

Wszystkie wpisy