标签:kenlm

kenlm linux延迟加载模型的问题

前几天介绍了kenlm训练语言模型,使用语言模型以及多线程等问题。今天我又遇到一个新的问题,就是发现一个很大的语言模型,代码立马就加载完了,然后对于少量的查询,一下子就返回了。但是我后来发现,用大量的查询的时候,程序会缓慢的增长。经过分析发现,原来kenlm默认是采用mmap加载内存,程序一起来的时候,可以看到占用一大块的虚拟存储,但是内存却占得不多,然后……

kenlm多线程测试

在之前的文章中,我介绍了如何利用kenlm训练语言模型和如何在自己的程序中使用kenlm训练得到的语言模型。在kenlm的官方介绍中,号称其是thread safe的,所以有必要测试一下其对多线程的支持程度。废话少说,直接上码: 1: #include <cstdio> 2: #include <string>……

如何使用kenlm训练出来的模型

上次介绍了一下,如何用kenlm来训练语言模型。这次来说说如何使用kenlm训练出来的语言模型。kenlm训练出来的语言模型为arpa格式,是一个一种比较通用的语言模型格式,是文本格式的,比较容易阅读。为了效率,kenlm还支持二进制的格式。在上一次的文章中,我已经讲过,利用build_binary可以把arpa格式的语言模型转化成二进制的格式。使用二进制……

使用kenlm训练语言模型

最近在研究语言模型,想自己动手训练一个语言模型,并试下效果。在网上搜集的相关的资料,常用的训练语言模型的工具,大概有SRILM、KenLM、berkeleylm等几种。KenLm号称比SRILM要好一些,支持单机大数据的训练。berkeleylm是用java写的,号称跟KenLM差不多。KenLM是用c++写的,所以我尝试用它来训练一个语言模型。我的环境是……