Przejdź do głównej treści
engineeringproduct

Dlaczego automatyczne napisy dzielą się w niezręcznych miejscach

Dlaczego automatyczne napisy dzielą się w niezręcznych miejscach i jak CaptionBolt tworzy czytelny szkic, który można poprawić w Editorze.

Kevin Li

Kevin Li

29 marca 20263 min czytania
Dlaczego automatyczne napisy dzielą się w niezręcznych miejscach

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."

Podział według stałej liczby słów może wyglądać tak:

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 problem segmentacji napisów. Łatwo go przeoczyć w krótkim demo, ale staje się widoczny, gdy fraza urywa się, zanim odbiorca otrzyma dość kontekstu. Dlatego traktujemy napisy jako proces edycji, a nie transkrypcję przyklejoną do filmu.

Dlaczego to jest trudniejsze niż wygląda

Dzielenie po stałej liczbie słów jest spójne, ale często tworzy niezręczne fragmenty. Interpunkcja podpowiada lepsze miejsca, choć znaki wygenerowane z mowy nie zawsze są poprawne. Pomaga też czas: wyraźna pauza może wskazywać naturalny podział, a szybki oddech niekoniecznie.

W praktyce trzeba zrównoważyć te sygnały z wygodną długością bloku. Żadna automatyczna reguła nie pasuje do każdego mówcy, języka i sposobu wypowiedzi, dlatego wynik musi pozostać łatwy do edycji.

Czego używamy obecnie

Ulepszyliśmy segmentację w oparciu o kilka prostych, możliwych do sprawdzenia sygnałów:

Interpunkcja, gdy jest dostępna. Wyraźny koniec zdania to mocny kandydat do podziału. Nie zakładamy, że każdy wygenerowany znak jest poprawny.

Wyraźne pauzy w czasie. Znacząca przerwa między słowami może pomóc, gdy brakuje interpunkcji.

Sztywny limit długości bloku. Obecny segmentator dzieli blok, gdy złożony tekst osiągnie lub przekroczy 60 znaków. Interpunkcja lub pauza nadal mogą tworzyć krótkie fragmenty; dlatego wynik pozostaje edytowalny i nie jest przedstawiany jako ostateczny.

Ostateczna decyzja należy do Editora. Segmentacja jest pierwszym szkicem. Przed eksportem można poprawić tekst oraz dzielić lub łączyć bloki, jeśli wymaga tego sposób wypowiedzi.

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 wydaje się mała. W tym przykładzie nowy podział łatwiej śledzić w tempie mowy, bo każdy blok zawiera pełniejszą frazę. To nadal tylko przykład, a nie obietnica, że jedna reguła da najlepszy podział dla każdego mówcy lub języka.

Dlaczego łatwo przeoczyć ten problem

Krótkie demonstracje często zawierają przygotowane zdania i niewiele bloków. Dłuższa, mniej wyreżyserowana mowa ujawnia więcej połączeń interpunkcji, pauz i granic fraz, więc niezręczne podziały stają się widoczne.

Zauważyliśmy ten wzorzec podczas testów CaptionBolt na własnych klipach i dostosowaliśmy segmentator do sprawdzalnych sygnałów. Obecna logika używa kolejno znaków końca zdania, pauz dłuższych niż 300 ms, interpunkcji wewnątrz zdania i sztywnego limitu 60 znaków.

Nowe pliki korzystają już z tej segmentacji. Traktuj wynik jako edytowalny szkic: sprawdź go w Editorze, a następnie podziel lub połącz bloki, które nie pasują do sposobu wypowiedzi.

Powiązane teksty

Jeśli chcesz zobaczyć praktyczną stronę tego problemu, przeczytaj jak dodać napisy do wideo albo jak edytować pliki SRT. Do praktycznych poprawek użyj automatycznego generatora napisów i edytora napisów.

Twój pierwszy short z napisami zaczyna się od jednego przesłania.

Darmowy plan bez karty. Plany płatne od $9/miesiąc. Wszystkie podstawy w cenie.

Używamy plików cookie, aby zapamiętywać ustawienia, mierzyć działanie witryny i ulepszać CaptionBolt.