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

本文分享了使用kenlm进行自然语言处理时遇到的问题及解决方案,详细介绍了如何通过添加--discount_fallback参数来避免Kneser-Ney折扣计算错误,成功训练语料库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近自然语言处理可老师让我们用kenlm训练语料库,装了之后运行不了,不过终端也给出了解决问题的方法,最后一行(已放弃,核心已转储,的上面一行)告诉你说要
rerun with --discount_fallback
所以说,在执行命令
bin/lmplz -o 3 -S 50% --verbose_header --text text/text.txt --arpa MyModel/jisuanji.arpa
的中间插入一个参数,–discount_fallback就可以啦。
在这里插入图片描述lianfu@lianfu-Lenovo-Legion-Y7000P-1060:~/kenlm/build$ bin/lmplz -o 3 -S 50% --verbose_header --text text/text.txt --arpa MyModel/jisuanji.arpa
=== 1/5 Counting and sorting n-grams ===
Reading /home/lianfu/kenlm/build/text/text.txt
----5—10—15—20—25—30—35—40—45—50—55—60—65—70—75—80—85—90—95–100


Unigram tokens 3 types 6
=== 2/5 Calculating and sorting adjusted counts ===
Chain sizes: 1:72 2:2901334272 3:5440002048
/home/lianfu/kenlm/lm/builder/adjust_counts.cc:52 in void lm::builder::{anonymous}::StatCollector::CalculateDiscounts(const lm::builder::DiscountConfig&) threw BadDiscountException because `s.n[j] == 0’.
Could not calculate Kneser-Ney discounts for 1-grams with adjusted count 4 because we didn’t observe any 1-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

已放弃 (核心已转储)

在这里插入图片描述这是加了参数的结果,成功了!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值