Budowany jest słownik wszystkich unikalnych słów w korpusie. Każdy dokument jest reprezentowany jako wektor o długości słownika, gdzie każda pozycja zawiera liczbę wystąpień danego słowa w dokumencie (lub 0/1 dla binarnej wersji). Kolejność słów jest całkowicie ignorowana.
Surowy tekst musi być skonwertowany na reprezentację numeryczną do przetwarzania przez algorytmy ML. BoW dostarcza najprostszą taką reprezentację bez skomplikowanego przetwarzania wstępnego.
BoW traktuje "pies gryzie człowieka" i "człowiek gryzie psa" identycznie. Dla zadań zależnych od kolejności (sentyment, pytania) to krytyczne ograniczenie.
Dla słownika 100k słów każdy dokument to wektor 100k wymiarów — większość zer (sparse). Wymaga algorytmów obsługujących sparse vectors lub redukcji wymiarowości.