1. A method for modifying a voice file comprising a plurality of words, the method comprising: applying a language model to the voice file as a whole, the language model comprising a plurality of feature units, a preliminary punctuation state, and a preliminary weight of the preliminary punctuation state, each of the feature units including a word or phrase, a part of speech or sentence element of the word or phrase, the application of the language model to the voice file as a whole identifying in the voice file as a whole one or more first feature units of the plurality of feature units; generating a first aggregate weight R1 based on a combination of the preliminary weights of the preliminary punctuation states corresponding to the identified one or more first feature units; detecting silences in the voice file; dividing the voice file into multiple segments based on at least the detected silences; identifying in the segments one or more second feature units of the plurality of feature units; applying the language model to the segments, the application of the language model to the segments for generating a second aggregate weight R2 including a combination of the preliminary weights of the preliminary punctuation states corresponding to the identified one or more second feature units; generating a third aggregate weight R3 determined according to R3=a×R1+(1−a)×R2 where 0<a<1; and modifying the voice file so as to include one or more final punctuations based on at least the third aggregate weight R3.