1. An unsupervised training system for an N-gram language model, comprising: a processor configured to: read recognition results obtained as a result of speech recognition of speech data; acquire a reliability for each of the read recognition results; refer to each recognition result's acquired reliability to select a subset of one or more N-gram entries based upon their respective reliabilities; and train an N-gram language model for one of more entries of the subset of N-gram entries using all recognition results, wherein the processing device is further configured to select from a first corpus, a second corpus, and a third corpus, each of the N-gram entries, whose sum of a first number of appearances in the first corpus as a set of all the recognition results, a second number of appearances in a second corpus as a subset of the recognition results with the reliability higher than or equal to a predetermined threshold value, and a third number of appearances in the third corpus as a baseline of the N-gram language model exceeds a predetermined number of times, where each of the first number of appearances, the second number of appearances, and the third number of appearances is given a different weight, respectively.