engineeringproduct

Problem segmentacji napisów, o którym nikt nie mówi

"Poszedłem do" / "sklepu wczoraj" — dlaczego większość napisów AI łamie zdania w fatalnych miejscach i jak to naprawiliśmy.

Kevin Li

Kevin Li

5 lutego 20263 min czytania
Problem segmentacji napisów, o którym nikt nie mówi

Jest coś, co dręczyło mnie przez miesiące.

Wgrywasz wideo, w którym ktoś mówi: „Poszedłem wczoraj do sklepu spożywczego kupić trochę jajek."

Większość narzędzi do napisów podzieli to na coś w stylu:

Linia 1: „Poszedłem wczoraj"
Linia 2: „do sklepu spożywczego"
Linia 3: „kupić trochę jajek"

Przeczytaj to jeszcze raz. „Poszedłem wczoraj" — dokąd? Twój mózg musi trzymać ten fragment w pamięci roboczej do pojawienia się następnej linii. To jak czytanie książki, w której ktoś ciął każdą linię nożyczkami w losowych miejscach.

To jest problem segmentacji napisów i prawie nikt w przestrzeni narzędzi do napisów o nim nie mówi.

Dlaczego to jest trudniejsze niż wygląda

Naiwne podejście: dziel co N słów. To właśnie robi większość narzędzi. Co 3–5 słów, nowa linia. Proste, spójne, fatalne.

Nieco mniej naiwne podejście: dziel przy znakach interpunkcyjnych. Lepiej, ale naturalna mowa nie zawiera zbyt wiele interpunkcji. Ludzie mówią „więc poszedłem do sklepu i wziąłem trochę jajek i potem wróciłem do domu" jako jedno ciągłe zdanie. Gdzie to podzielić?

Prawdziwa odpowiedź wymaga rozumienia struktury fraz. „sklep spożywczy" to fraza rzeczownikowa — dzielenie jej między wiersze jest jak cięcie słowa w po-łowie. „kupić trochę jajek" to zdanie celowe — powinno pozostać razem. „wczoraj" modyfikuje „poszedłem", a nie „sklepu", więc prawdopodobnie powinno pozostać przy czasowniku.

Co zbudowaliśmy

Przebudowaliśmy nasz algorytm segmentacji od podstaw w zeszłym miesiącu (nazwaliśmy go wewnętrznie Smart Segmentation 2.0, co jest straszną nazwą, ale przyjęła się).

Główne idee:

Łamanie uwzględniające kontekst. Parsujemy transkrypt na fragmenty syntaktyczne — frazy rzeczownikowe, frazy czasownikowe, frazy przyimkowe, nazwane encje. Algorytm nigdy nie łamie wewnątrz fragmentu. „sklep spożywczy" zawsze zostaje razem. „New York City" zawsze zostaje razem.

Rozmiar uwzględniający format. To było spostrzeżenie, które zmieniło wszystko: napisy do TikToka i napisy do YouTube wymagają zupełnie różnych długości linii.

Dla krótkich form (poniżej 3 min): 3–6 słów na blok. Zwięźle, energicznie, pasuje do szybkiego tempa scrollowania. Dwa lub trzy słowa na ekranie jednocześnie. To właśnie widzisz na viralowych TikTokach.

Dla długich form (3+ min): 6–12 słów na blok, często w dwóch liniach. Bardziej jak tradycyjne napisy. Czytelne bez przykuwania uwagi. To działa w filmach YouTube, kursach online, podcastach.

Automatycznie wykrywamy, który tryb zastosować na podstawie czasu trwania wideo.

Brak przerw w środku frazy. To zasada, którą egzekwujemy ponad wszystkim innym. Jeśli algorytm nie może znaleźć czystego miejsca podziału w docelowej liczbie słów, wydłuża blok zamiast ciąć frazę w połowie. Lekko za długi blok napisów jest zawsze lepszy niż zagmatwany.

Przed / Po

Ta sama transkrypcja, stary algorytm vs nowy:

Przed:

„No więc co ostatnio"
„robiłem to pracowałem"
„nad tym nowym projektem"
„który naprawdę mnie ekscytuje"

Po:

„No więc co ostatnio robiłem"
„to pracowałem nad tym nowym projektem"
„który naprawdę mnie ekscytuje"

W tekście różnica wygląda nieznacznie. W wideo, gdy słowa pojawiają się i znikają w tempie mówienia, to różnica jak dzień i noc. Nowa wersja czyta się naturalnie. Stara sprawia, że musisz się wysilać.

Niewygodna prawda

Powodem, dla którego ten problem utrzymuje się w większości narzędzi, jest to, że jest niewidoczny w demach. Kiedy pokazujesz narzędzie do napisów w 5-sekundowym klipie marketingowym, każda segmentacja wygląda dobrze. Tylko gdy przetwarzasz prawdziwy 60-sekundowy film z naturalnym wzorcem mowy, złe podziały stają się oczywiste.

Zauważyliśmy to, bo używamy CaptionBolt do własnych treści. Każdy zły podział w naszych własnych filmach doprowadzał nas trochę bardziej do szału, aż w końcu zdecydowaliśmy się przebudować całą rzecz.

Jeśli używasz CaptionBolt, nowa segmentacja jest już aktywna. Nie musisz nic robić — wszystkie nowe filmy automatycznie używają ulepszonego algorytmu. Przetwórz film i porównaj go z czymś, co zrobiłeś kilka miesięcy temu. Różnica powinna być oczywista.

Gotowy, żeby Twoje napisy się wyróżniały?

Zacznij za darmo — bez karty kredytowej, bez zobowiązań. Sprawdź jakość samodzielnie.