基于KenLM的句子打分项目

KenLM工具包

基于统计语言模型当中的训练语料库方法在这里介绍一下KenLM模型

KenLM基本介绍

工具介绍:https://kheafield.com/code/kenlm/
github地址:https://github.com/kpu/kenlm#kenlm
下载地址:http://kheafield.com/code/kenlm.tar.gz
在linux当中使用KenLM工具包
1.第一步安装依赖

!apt install libboost-all-dev
!apt install libbz2-dev
!apt install libeigen3-dev

下载KenLM编译

!wget -O - https://kheafield.com/code/kenlm.tar.gz | tar xz
!mkdir kenlm/build
!cd kenlm/build && cmake .. && make -j8

安装

!cd kenlm/build && make install

2.导入训练数据地址训练一个3-gram模型

!lmplz -o 3 </data/NLP/Language_Models/lm_train_data> /data/NLP/Language_Models/lm.arpa

模型压缩
对训练得到的文件进行压缩:将arpa文件转换为binary文件,这样可以对arpa文件进行压缩和序列化,提高后续在python中加载的速度。针对我们训练的到的 lm.arpa 文件其转换命令为:

!build_binary -s /data/NLP/Language_Models/lm.arpa /data/NLP/Language_Models/lm.bin

安装KenLM的python接口

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple kenlm

加载模型,导入训练模型

import kenlm

## 将文件导入到 kenlm 语言模型中
model = kenlm.LanguageModel("/data/NLP/Language_Models/lm.bin")
# 使用语言模型对句子进行打分
sentence = 'you are a good man'
model.score(sentence)#-20.92301368713379
sentence = "I'm fine,thinks"
model.score(sentence)#-21.117055892944336
sentence = "wos as dadawnqsao asd aa aa aa"
model.score(sentence)#-46.037437438964844
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值