当前位置:   article > 正文

使用kenlm训练语言模型,并对句子进行打分_kenlm 句子流畅度二分类

kenlm 句子流畅度二分类

我们可以使用一个kenlm的python包去训练一个语言模型,并对每个句子进行打分。

安装kenlm:

pip install https://github.com/kpu/kenlm/archive/master.zip
  • 1

训练语言模型

首先下载语言数据,我们可以下载Bible数据:

wget https://github.com/vchahun/notes/raw/data/bible/bible.en.txt.bz2
  • 1

然后创建一个process.py文件,对数据进行分词等预处理:

import sys
import nltk

for line in sys.stdin:
    for sentence in nltk.sent_tokenize(line):
        print(' '.join(nltk.word_tokenize(sentence)).lower())
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

接下来就是训练一个语言模型:

bzcat bible.en.txt.bz2 |\
python process.py |\
./kenlm/bin/lmplz -o 3 > bible.arpa
  • 1
  • 2
  • 3

然后可以将训练好的语言模型转换为二进制格式,便于导入模型等:

./kenlm/bin/build_binary bible.arpa bible.klm
  • 1

最后,我们就可以使用这个语言模型去对每个句子进行打分:

import kenlm
model = kenlm.LanguageModel('bible.klm')
model.score('in the beginning was the word')
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/357106
推荐阅读
相关标签
  

闽ICP备14008679号