1. An apparatus for speech recognition, comprising: a recognition unit configured to recognize a speech signal by utilizing a client recognition dictionary and to generate a first recognition result, the client recognition dictionary including vocabularies recognizable in the recognition unit; a transmitting unit configured to transmit at least one of the speech signal and a recognition feature extracted from the speech signal to a server before the first recognition result is generated by the recognition unit; a receiving unit configured to receive a second recognition result from the server, the second recognition result being generated by the server; a result generating unit configured to generate a third recognition result, the third recognition result being generated by utilizing the first recognition result when the first recognition result is generated before receiving the second recognition result, otherwise by at least utilizing the second recognition result; a result storage unit configured to store the third recognition result; a dictionary update unit configured to update, by utilizing a history of the third recognition result, the client recognition dictionary so that the client recognition dictionary includes a first vocabulary prior to a second vocabulary in the case that the history of the third recognition result includes both the first and the second vocabularies and the second vocabulary is generated before the first vocabulary, wherein the client recognition dictionary comprises a variable and a non-variable dictionaries, the variable dictionary being updatable by the dictionary update unit, the non-variable dictionary being non-updatable by the dictionary update unit, the recognition unit recognizes the speech signal by utilizing both the variable and the non-variable dictionaries, the dictionary update unit updates the variable dictionary, wherein the dictionary update unit updates the client recognition dictionary by utilizing a vocabulary of the third recognition result which is not included in the non-variable dictionary, and an output unit that outputs the third recognition result to a user; wherein the result generating unit generates the third recognition result which includes top M candidates (M is greater than or equal to two) by utilizing the first recognition result when the first recognition result is generated before receiving the second recognition result, and generates a fourth recognition result when the result generating unit receives the second recognition result after generating the third recognition result, the fourth recognition result being generated by replacing at least one of the top M candidates other than a first candidate with the second recognition result, the output unit outputs the fourth recognition result to the user after outputting the third recognition result.