コード例 #1
0
ファイル: kenlm.cpp プロジェクト: rasendubi/noisy-text
static inline
void part1_probabilities(const char * const part1[], int part1_len, const char * const candidates[], int candidates_len, double results[]) {
    State state(model.BeginSentenceState());
    State out_state;

    for (int i = 0; i < part1_len; ++i) {
        model.Score(state, vocab.Index(part1[i]), out_state);
        state = out_state;
    }

    for (int i = 0; i < candidates_len; ++i) {
        results[i] = model.Score(state, vocab.Index(candidates[i]), out_state);
        /* Don't update state now */
    }
}
コード例 #2
0
ファイル: kenlm.cpp プロジェクト: rasendubi/noisy-text
double get_sentence_probability(const char * const sentence[], int len) {
    State state(model.BeginSentenceState());
    State out_state;
    return std::exp(sentence_probability(state, sentence, len, out_state));
}