Liniowe wyszukiwanie istniejących słów jest zdecydowanie za wolne. Z tego co widzę, masz algorytm o złożoności kwadratowej, co jest jeszcze gorsze, niż myślałem. Proponuję od razu zliczać ilość wystąpień danego słowa, już podczas ich wczytywania.
Dodatkowo poczytaj sobie o kontenerach map i unordered map.