Beam Search – algorytm poszukiwania najbardziej prawdopodobnej sekwencji słów.
Algorytm Beam Search stanowi heurystyczną metodę przeszukiwania wykorzystywaną w zadaniach generowania najbardziej prawdopodobnych sekwencji słów, szczególnie w modelach językowych oraz systemach rozpoznawania mowy i tłumaczenia maszynowego. Jego celem jest znalezienie najbardziej prawdopodobnej ścieżki w przestrzeni możliwych sekwencji, przy jednoczesnym ograniczeniu stopnia eksploracji, co pozwala na efektywną pracę nawet przy dużej liczbie możliwych rozwiązań. Zamiast eksplorować wszystkie możliwe kombinacje, metoda ta utrzymuje na każdym kroku tylko określoną liczbę najbardziej obiecujących hipotez (zwanych wiązkami – ang. beam), które są sukcesywnie rozwijane.
Proces działania polega na wielokrotnym rozszerzaniu wybranych ścieżek poprzez dodanie kolejnych elementów sekwencji i ocenianiu powstałych nowych hipotez według funkcji prawdopodobieństwa. Następnie spośród wszystkich rozszerzeń wybierana jest tylko wąska grupa najlepszych kandydatów, które przechodzą do następnego kroku. Parametr określający maksymalną liczbę utrzymywanych hipotez nazywany jest szerokością wiązki i stanowi kompromis między dokładnością a czasem obliczeń. Zbyt mała szerokość może prowadzić do pominięcia globalnie najlepszej sekwencji, natomiast zbyt duża znacznie zwiększa koszty obliczeniowe.
Beam Search jest powszechnie stosowany w nowoczesnych systemach generowania tekstu opartych na modelach neuronowych, takich jak sieci rekurencyjne czy transformery. Metoda ta pozwala na efektywne wykorzystanie dostępnej informacji probabilistycznej, zapewniając równowagę pomiędzy jakością generowanych wyników a zasobami obliczeniowymi, co czyni ją jednym z podstawowych narzędzi w dziedzinie przetwarzania języka naturalnego.