notas de instalação e uso do Kenlm

Descrição ambiental

Python 3.6 instalado com sistema Debian e anaconda

Dependências de instalação

Se você tiver privilégios de root , você pode instalar dependências com apt. Veja o link no github

sudo apt install build-essential cmake libboost-system-dev libboost-thread-dev libboost-program-options-dev libboost-test-dev libeigen3-dev zlib1g-dev libbz2-dev liblzma-dev

Caso contrário, Eigen e impulsionar as bibliotecas precisam ser instalados.
Eigen instalação

cd $HOME
wget -O - https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.bz2 |tar xj

aumentar a instalação

# 下载boost
cd $HOME
wget https://jaist.dl.sourceforge.net/project/boost/boost/1.66.0/boost_1_66_0.tar.bz2
tar --bzip2 -xf /path/to/boost_1_61_0.tar.bz2
cd boost_1_61_0
./bootstrap.sh --prefix=$HOME/boost
./b2 install --prefix=$HOME/boost

Se houver um erro de que o pyconfig.h não foi encontrado durante a instalação, você precisará especificar o caminho de instalação do python e, em seguida, executar o comando de instalação.

# 找到自己python安装路径下的include dir, 比如 /usr/include/python2.7/
export CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH:$HOME/anaconda3/include/python3.6m"

referência:

Instale o Kenlm

git clone https://github.com/kpu/kenlm.git
cd kenlm
# 如果是apt安装的boost, 不用指定BOOST_ROOT
export BOOST_ROOT=$HOME/boost
mkdir -p build
cd build
cmake ..
make -j 4
# 安装python kenlm包
pip install https://github.com/kpu/kenlm/archive/master.zip

Treine e use o LM

Modelo de linguagem de treinamento

# path to kenlm bin
KENLM=$HOME/kenlm/build/bin
data=/path/to/yourdata
dst=/savepath
# 二进制后的文件
dstbin=/binpath
# 构建arpa的语言模型, -o 指定语言模型的阶数
# 这一步如果因为数据太大, 导致训练失败, 可以设定占用的内存和临时文件的位置改变
# -S 50% -T /tmp/  : 指定最多占用50%的内存和利用/tmp存储临时文件
$KENLM/lmplz -o 5 < $data > $dst 
# 将语言模型二进制化
$KENLM/build_binary $dst $dstbin

Use o modelo de linguagem treinado em python

import kenlm
model = kenlm.Model('lm/test.arpa')
print(model.score('this is a sentence .', bos = True, eos = True))

Acho que você gosta

Origin blog.csdn.net/feifei3211/article/details/108306144
Recomendado
Clasificación