def compute_info_gain(word_list, language_model):

    word_dict = dict()
    for word in word_list:
        if word in word_dict:
            word_dict[word] +=1
        else:
            word_dict[word] = 1
    wlm = LanguageModel(term_dict = word_dict)

    ig = 0.0

    for word in word_dict:
        pw = wlm.get_term_prob(word)
        pwc = language_model.get_term_prob(word)
        g = 0.0
        if pwc > 0.0:
            g = pw * (math.log(pwc)- math.log(pw))
        ig += g


    return ig