一、前言:
- Kenlm模型:本项目基于Kenlm统计语言模型工具训练了中文NGram语言模型,结合规则方法、混淆集可以纠正中文拼写错误,方法速度快,扩展性强,效果一般
二、安装步骤:
1、安装依赖项
KenLM的编译需要一些依赖项,包括CMake、Boost库、bzip2等。您可以使用系统的包管理器来安装这些依赖项。
安装CMake:
对于Debian/Ubuntu系统,可以使用以下命令:
sudo apt-get install cmake
对于CentOS/RHEL系统,可以使用以下命令:
sudo yum install cmake
安装Boost库:
对于Debian/Ubuntu系统,可以使用以下命令:
sudo apt-get install libboost-all-dev
对于CentOS/RHEL系统,可以使用以下命令:
sudo yum install boost-devel boost-test boost
安装bzip2:
对于Debian/Ubuntu系统,可以使用以下命令:
sudo apt-get install bzip2 libbz2-dev
对于CentOS/RHEL系统,可以使用以下命令:
sudo yum install bzip2 bzip2-devel
2、下载并编译KenLM
下载KenLM源代码:
您可以从KenLM的官方网站(http://kheafield.com/code/kenlm/)下载源代码,或者使用wget命令直接从命令行下载:
wget -O - https://kheafield.com/code/kenlm.tar.gz | tar xz
创建构建目录并编译:
解压源代码后,进入KenLM的源代码目录,并创建一个构建目录
cd kenlm
mkdir build
cd build
使用CMake进行配置,并生成Makefile:
cmake ..
出错:
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is unknown
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
CMake Error at CMakeLists.txt:14 (project):
No CMAKE_CXX_COMPILER could be found.
Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.
-- Configuring incomplete, errors occurred!
See also "/root/app/text_detection/utility/kenlm/build/CMakeFiles/CMakeOutput.log".
See also "/root/app/text_detection/utility/kenlm/build/CMakeFiles/CMakeError.log".
这个错误信息表明CMake在配置过程中未能找到C++编译器(CXX编译器)。尽管C编译器(/usr/bin/cc
)被成功检测到并工作正常,但CMake需要C++编译器来编译KenLM中的C++代码。
要解决这个问题,请按照以下步骤操作:
在大多数Linux发行版中,GCC编译器套件同时包含C和C++编译器。如果您的系统中安装了GCC,那么通常也会安装g++
作为C++编译器。
g++ --version
您可以通过运行上方命令来检查它是否已安装。
如果没有安装,运行:
apt install g++
再编译:
cmake ..
使用make命令进行编译:
make -j$(nproc) # 使用所有可用的CPU核心进行编译
安装KenLM:
编译完成后,您可以使用make install命令将KenLM安装到系统路径中(通常需要root权限):
sudo make install
3、验证安装
您可以通过运行KenLM的二进制文件来验证安装是否成功。例如,您可以尝试运行lmplz命令(这是KenLM中的一个工具,用于创建语言模型):
lmplz --help
4、配置环境变量(可选)
如果您希望在不使用sudo的情况下运行KenLM的二进制文件,您可能需要将KenLM的安装目录添加到您的PATH环境变量中。这可以通过编辑您的shell配置文件(如/.bashrc或/.zshrc)来实现:
export PATH=/usr/local/bin:$PATH # 假设KenLM安装在/usr/local/bin目录中
source ~/.bashrc # 或~/.zshrc,取决于您使用的shell
注意:路径和命令可能因您的系统配置和KenLM的版本而有所不同。