Centos中安装kenlm

使用KenLM训练n-gram语言模型 (中文) N-gram语言模型构建KenLM工具使用KenLM构建中文语言模型流程 KenLM工具 相比于SRILM训练工具包,KenLM的诞生更later,训练速度更快,支持单机大数据集训练,相关链接如下: KenLM开源github KenLM 工具包主页 KenLM各参数命令的含义 工具包下载地址:http://kheafield.com/code/kenlm.tar.gz 下载KenLM wget ... 阅读详情

注意:下面缺少任何一个依赖包都不能安装成功,建议在线安装,让系统自动配置。CentOS和Ubuntu安装的包有所不同

# Linux中离线下载软件包网站,主要提供RPM包:https://rpm.pbone.net/ ,https://pkgs.org/

1、安装boost

yum install boost-devel boost-test boost
# 如果boost的依赖包没有安装完整,安装过程中可能会出现以下错误
# /usr/share/cmake/Modules/FindBoost.cmake:1138 (message):   Unable to find the requested Boost libraries

2、安装 zlib、bzip2和xz

yum install zlib bzip2 xz

3、安装cmak和make

yum install cmake make

4、安装kenlm

# kenlm介绍
http://kheafield.com/code/kenlm/

# 下载kenlm
https://github.com/kpu/kenlm/

# 将kenlm-master.zip下载到/usr/local目录下
# 解压zip
unzip kenlm-master.zip
# 重新命名为kenlm
mv kenlm-master kenlm
# 进入kenlm
cd kenlm
# 建立目录
mkdir bulid
# 进入bulid,使用cmake编译,生成程序库
cmake ..
# 接着进行make编译
make

5、安装kenlm的python安装包

# 进入kenlm
python setup.py install 

6、简单使用

6.1 数据

# test数据,注意词必须要用空格隔开

# test
河南大学 真棒
中国 人民 我 爱 你
北京 欢迎 您

6.2 训练模型

# 训练模型,输出的模型为test.arpa
# 注意:lmplz是在bulid的bin目录下,不是在kenlm下,“<”表示将文件作为命令的参数输入,“>”表示输出到指定文件
bin/lmplz -o 3  <test  >test.arpa
# 也可以使用如下命令
bin/lmplz -o 3 --verbose_header --text test --arpa test.arpa

# 如果出现下面问题,添加--discount_fallback参数,即   bin/lmplz -o 3 --discount_fallback  <test >test.arpa 
Could not calculate Kneser-Ney discounts for 3-grams with adjusted count 4 because we didn't observe any 3-grams with adjusted count 3; Is this small or artificial data?
Try deduplicating the input.  To override this error for e.g. a class-based model, rerun with --discount_fallback


6.3 使用python

# test.py
import kenlm
model = kenlm.Model('test.arpa')
print(model.score('中国', bos=False, eos=False))

参考网站: https://kexue.fm/archives/3956

Whisper本地部署实战指南:95%准确率语音转文字落地方法 语音转文字是AI工程落地的关键基础能力,其核心在于模型推理的可控性、实时性与场景适配性。Whisper作为开源语音识别标杆,原生支持多语言但需深度优化才能满足中文工业级需求。本地部署不仅保障数据安全,更赋予音频预处理、模型量化、解码策略与标点恢复等全链路调优自由度。通过ONNX Runtime加速、INT8量化、VAD动态裁剪及中文热词注入等技术组合,可在CPU/GPU/边缘设备上实现低延迟、高WER鲁棒性与业务级准确率收敛。本文聚焦真实产线语音场景,提供从tiny到small模型选型、预处理避坑、推理加速 阅读详情

相关推荐

Python安装之(linux mac windows)

Python的3种安装方式, 有mac版 有windows版 还有Linux版(写的shell可一键安装)

kenlm运行不通过(已放弃,核心已转储)

最近自然语言处理可老师让我们用kenlm训练语料库,装了之后运行不了,不过终端也给出了解决问题的方法,最后一行(已放弃,核心已转储,的上面一行)告诉你说要 rerun with --discount_fallback 所以说,在执行命令 bin/lmplz -o 3 -S 50% --verbose_header --text text/text.txt --arpa MyModel/jisuan...

wangchengjiea的博客 1416

kenlm.tar.gz

kenlm模型

基于python3.9.2环境CentOS7安装pycorrector

安装时会询问是否同意,输入 y 即可。

我有故人折剑去,斩尽春风不曾归 378

MATLAB2022b安装

图文并茂,手把手教会你怎么安装MATLAB2022b

1万+

SpyGlass Lint脚本实战:如何用TCL自动化RTL代码检查(附完整配置模板)

本文详细介绍了如何利用TCL脚本实现SpyGlass Lint工具的自动化RTL代码检查。通过构建模块化、工程化的脚本框架,文章提供了从环境搭建、核心配置、规则定制到豁免管理的完整实战指南,并附有可复用的配置模板,旨在帮助IC设计工程师构建高效、一致的代码质量检查流水线。

weixin_29204205的博客 134

绝对最简单实用的kenlm语言模型的安装及使用

统计语言模型工具有比较多的选择,目前使用比较好的有srilm及kenlm,其中kenlm比srilm晚出来,训练速度也更快,号称单机版训练超级快,经过测试确实很快,支持大规模的语料训练,文件的输入格式一行行以空格隔开的文本。 kenlm训练语言模型用的是传统的“统计+平滑”的方法。 读者可以跳过第一部分直接看第二部分,第一部分我只是描述一下我遇到的一个坑。 1.坑 网上资料无非是各种弄个互相抄袭的...

lijiaqi0612的博客 1万+

编译CycloneDDS和CycloneDDS-CXX踩过的坑——CMake Error at CMakeLists.txt:227 (find_package):

最近编译CycloneDDS和CycloneDDS-CXX踩了两个坑,花了不少时间。做个简单的记录,免得以后又踩到。注意:CycloneDDS-CXX编译依赖CycloneDDS,因此必须先编译CycloneDDS需要严格按照步骤进行,否则要入坑步骤如下,1先编译CycloneDDS以上步骤完成CycloneDDS的编译和安装,生成的bin include lib等位于install目录下面。

usstmiracle的博客 1900

下载安装KENLM(DebianUbuntu)

KENLM安装指南

qq_51486769的博客 480

VSCode + Clangd 配置避坑实录:从‘红波浪线’到完美代码提示的完整心路

本文详细记录了VSCode与Clangd配置过程中的常见问题及解决方案,从编译数据库生成到参数调优,帮助C++开发者快速解决代码提示失效、头文件找不到等问题,实现完美代码补全体验。重点介绍了Clangd与LLDB的集成配置及性能优化技巧,适用于Linux和跨平台开发环境。

weixin_28829479的博客 490

SwinTransformer改进(5):与CBAM结合的视觉模型

这个模型的核心思想是将Swin Transformer的强大特征提取能力与CBAM的注意力机制相结合,以提升模型对重要特征的关注度。​​CBAM模块​​:包含通道注意力和空间注意力两个子模块​​Swin Transformer主干网络​​:作为基础特征提取器​​集成结构​​:在Swin Transformer的不同阶段插入CBAM模块使用移动窗口(Moving Window)机制减少计算量层次化设计,特征图逐渐缩小,通道数逐渐增加在不同阶段使用Patch Merging进行下采样。

2401_82355416的博客 688

centos安装 crf 和 kenlm

安装过程 1. crf安装并指定路径 这里下载 https://taku910.github.io/crfpp/#download tar -xzf CRF++-0.58.tar.gz cd CRF++-0.58 ./configure sudo make sudo make install cd python/ sudo python setup.py build sudo python setup.py install # 重新加载一下 sudo rm -f /etc/ld.so.

寒夜 752

一步一步详解LSTM网络【从RNN到LSTM到GRU等,直至attention】

本文主要译至并加上了部分笔者的见解,对于全面理解LSTM有一定的帮助。

zik的博客 3078

KenLM安装补坑实录

背景 为了高效、快速统计词频,故而采用KenLM。至于KenLM的详情,请参考源码: https://github.com/kpu/kenlm。 安装 作者提供了安装指南:https://kheafield.com/code/kenlm/ 。确实在一切其他依赖环境都具备的前提下,安装如下: wget -O - https://kheafield.com/code/kenlm.tar.gz |tar...

ljp1919的专栏 2940

存储硬盘格式怎么把512还原为520格式??

硬盘厂商工具(如SeaChestsg_format)可以调整扇区大小。备份数据,因为调整扇区会清除硬盘内容。根据硬盘型号和接口类型,选择合适的工具进行调整。如果你需要更详细的帮助,请提供你的硬盘型号和存储设备类型。希望如上措施及解决方案能够帮到有需要的你。PS:如若遇到采纳如下方案还是未解决的同学,希望不要抱怨&&急躁,毕竟影响因素众多,我写出来也是希望能够尽最大努力帮助到同类似问题的小伙伴,即把你未解决或者产生新Bug黏贴在评论区,我们大家一起来努力,一起帮你看看,可以不咯。

**My Coding Family** 1146

基于Matlab的深度学习OFDM系统信号检测

在接收端,我们首先去除循环前缀,然后对接收到的信号进行FFT变换和QAM解调。在通信系统中,正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)是一种常用的调制技术,它可以将高速数据流分成若干个低速子载波进行传输,提高了信道利用率和抗干扰性能。接下来,我们使用训练好的神经网络对QAM调制后的数据进行检测,得到估计的FFT变换结果。深度学习方法可以通过大量的训练数据来学习信号的特征,并具有一定的适应能力,在某些情况下可能能够获得更好的检测性能。

2301_79325657的博客 296

NLP中的用N-gram语言模型做英语完型填空的环境搭建

本文是对github上fork的xing_NLP中的用N-gram语言模型做完型填空这样一个NLP项目环境搭建的一个说明,本来写在README.md中。第一次用github中的wiki,想想尝试一下也不错,然而格式非常的混乱,自己都不满意,所以先在博客园记录一下,等github博客搭建成功了再说。 1. 操作系统: 作为programer,linux自然是首先选择,ubuntu,centos等...

weixin_30814223的博客 475

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

基于centos系统安装pip模块

pip模块安装 centos 6.5安装pip,centos安装Python包管理安装工具pip的方法如下: 此安装包使用的是pip1.5.5版本 wget --no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gz  注意:wget获取https的时候要加上:--no-chec...

aoy8074的博客 157

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

在 Prettier 中集成 Linter:划清职责边界、关闭冲突规则与正确的工作流

本指南聚焦于 Prettier 仓库文档《Integrating with Linters》的核心内容:如何让 Prettier 与 ESLint、stylelint 等 Linter 在同一项目中和平共处。读完本文,你将掌握"Prettier 管格式、Linter 管代码质量"的职责划分原则,学会用 `eslint-config-prettier` 一键关闭与 Prettier 冲突的样式规则,

gitblog_00032的博客 1020

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

facebook开源语音识别框架wav2letter++环境搭建

首先说明,本人只擅长在windows下开发。这次是因为公司需要做语音识别,采用wav2letter开源框架,所以在linux下搞一搞,如果有不对的地方还请指正。 先说下电脑配置: OS: Ubuntu16.04 GPU:Nvidia GTX 1060 5GB CPU : intel i7 os:ubuntu18.04 GTX1080Ti 安装先看下一篇中的注意事项 https...

tudou880306的专栏 2624

FunASR语音识别部署避坑指南:环境配置、模型加载与性能优化

本文介绍了如何在星图GPU平台上自动化部署FunASR语音识别镜像(基于speech_ngram_lm_zh-cn二次开发构建by科哥),实现高效中文语音转文本功能。该解决方案特别适用于智能客服场景,可自动将客户语音咨询转换为结构化文本,显著提升服务响应效率与质量。

weixin_29215509的博客 459

Whisper中文本地部署实战:从95%准确率到真实场景落地

自动语音识别(ASR)是人机交互的基础技术,其核心在于声学模型、语言建模与音频预处理的协同优化。Whisper作为开源语音识别标杆,虽标称高准确率,但原始模型在中文真实场景中常因语言检测不准、音频失真、解码策略单一等问题导致性能断崖式下降。本文聚焦中文语音识别落地难点,深入解析模型选型(medium优于large-v3)、强制中文tokenizer、FFmpeg音频标准化、VAD语音活动检测及术语后处理等关键技术环节,提供可复现的本地化部署方案。适用于医疗问诊、在线教育、会议记录等对数据隐私、低延迟和成本敏

aodanchui1057的博客 379

下载pycorrector时遇到kenlm下载失败问题

问题:pycorrector需要使用kenlm,但是直接pip install kenlm会报错。 解决办法: 在https://codeload.github.com/kpu/kenlm/zip/master直接下载kenlm的压缩包,解压缩后放到site-package路径下,然后cd进入包内,python setup.py install安装即可 ...

suuunnnyoy的博客 821

N-Gram语言模型工具kenlm的详细安装教程

【本配置过程基于Linux系统】OK, kenlm安装完成~

尚拙的博客 2093

Linux系统中安装KenLM步骤及注意事项

如果您希望在不使用sudo的情况下运行KenLM的二进制文件,您可能需要将KenLM的安装目录添加到您的PATH环境变量中。您可以通过运行KenLM的二进制文件来验证安装是否成功。您可以使用系统的包管理器来安装这些依赖项。如果您的系统中安装了GCC,那么通常也会安装。)被成功检测到并工作正常,但CMake需要C++编译器来编译KenLM中的C++代码。注意:路径和命令可能因您的系统配置和KenLM的版本而有所不同。解压源代码后,进入KenLM的源代码目录,并创建一个构建目录。您可以从KenLM的官方网站(

采菊东篱下,Python满乾坤! 1144
上一篇: 在CentOS7中安装Docker和OpenMeetings5
下一篇: python生成whl包
MasonYyp
博客等级 码龄9年 301粉丝 297原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值