入门使用
例1:使用编译好的kenlm工具手动生成file.arpa,然后测试如下代码
#include "lm/model.hh"
#include <iostream>
#include <string>
int main() {
using namespace lm::ngram;
Model model("file.arpa");
State state(model.BeginSentenceState()), out_state;
const Vocabulary &vocab = model.GetVocabulary();
std::string word;
while (std::cin >> word) {
std::cout << model.Score(state, vocab.Index(word), out_state) << '\n';
state = out_state;
}
}
g++ t.cpp -I . -DKENLM_MAX_ORDER=6 -L build/lib/ -lkenlm -lkenlm_builder -lkenlm_filter -l:libkenlm_util.a -lz -lbz2 -llzma