【转载】在macOS上使用pip本地安装kenlm

本文由 简悦 SimpRead 转码, 原文地址 blog.you7n.com

KenLM 是一个高效的 n-gram 语言模型库,但在 Mac 上安装时遇到了各种问题。弄了一晚上加一上午终于安装好了,本文记录了成功安装 KenLM 的方法。

12 Feb 2025 •

KenLM 是一个高效的 n-gram 语言模型库,但在 Mac 上安装时遇到了各种问题。弄了一晚上加一上午终于安装好了,本文记录了成功安装 KenLM 的方法。

如果你使用 Python 3.10 以上版本,你可能适用这个解决办法。其他解决办法参见:

尝试使用pippip3安装kenlm的时候很可能会失败。大概原因从 GitHub 的 issues 中看,似乎是 pip 那边的 kenlm 库有某种问题 (?)

直接pip3 install kenlm或者pip3 install pypi-kenlm会这样报错:

主要表现为

Failed to build kenlm
ERROR: Failed to build installable wheels for some pyproject.toml based projects (kenlm)


所以尝试使用 GitHub 版手动编译。

git clone https://github.com/kpu/kenlm


cd 进入 kenlm 文件夹

KenLM 无法在最新的 Python 3.13 版本下正常编译,因此使用 Python 3.10。

可以通过brew安装:

重新创建 python3 软链接啊、设置全局 Python 版本都太麻烦了。直接通过pip3.10安装本地库。

因为刚才已经 cd 进了 kenlm 文件夹,直接安装本文件夹:

此时应该安装成功,可以测试一下。kenlm/python/example.py是一个测试文件,用 python3.10 运行:

python3.10 /Users/■■■/kenlm/python/example.py 


如图运行结果则成功:

以上。

装不上,放弃了

改用了open-ngram

farcompilestrings --symbols=syms.txt --keep_symbols=1 input.txt > input.far

ngramcount --order=3 input.far > input.cnts

ngrammake --method=kneser_ney input.cnts > output.lm

ngramprint --ARPA output.lm > output.arpa

感谢博主转载!^ ^

1 Like

感谢原作者捧场(✪ω✪)

最后装的是pip包,确实可以import kenlm了,但没法用命令行进行相关操作

命令行那些应该是得编译才能用,于是改成open-ngram完成了相关任务