赞
踩
NLP之kenlm:kenlm的简介、安装、使用方法之详细攻略
目录
kenlm是一款语言模型工具包。KenLM是一个高效的语言模型库,可以用于训练和评估n-gram语言模型。它提供了一个C++库和Python绑定,可以在Python中使用。KenLM Python库提供了一些方便的方法来加载和使用KenLM语言模型,包括计算句子概率、生成句子、计算句子的困惑度等。
KenLM估计、过滤和查询语言模型。由于本文中解释的流算法,估计是快速和可扩展的。可扩展的改进Kneser-Ney语言模型估计。如本文所示,查询速度快,内存少。KenLM是更快更小的语言模型查询。
GitHub:https://github.com/i3thuan5/kenlm
官网:kenlm . code . Kenneth Heafield
使用KenLM之前,需要先安装KenLM C++库。然后,可以使用pip安装KenLM Python库
- pip install pypi-kenlm
-
- pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pypi-kenlm
- import kenlm
-
- model = kenlm.Model('path/to/language/model')
-
- sentence = 'this is a test sentence'
- log_prob = model.score(sentence)
- prob = kenlm.exp(log_prob)
- import kenlm
-
- model = kenlm.Model('path/to/language/model')
-
- generated_sentence = model.generate()
- import kenlm
-
- model = kenlm.Model('path/to/language/model')
-
- sentence = 'this is a test sentence'
-
-
- test_set = ['test sentence 1', 'test sentence 2', 'test sentence 3']
- ppl = model.perplexity(test_set)
- # 加载模型
- import kenlm
- # 将训练得到的文件导入到 kenlm 语言模型中
- model = kenlm.LanguageModel("/data/NLP/Language_Modelslm.bin")
- # 使用语言模型对句子进行打分
- sentence = 'how are you'
- print(model.score(sentence))
-
- sentence = 'you are a good man'
- print(model.score(sentence))
-
- sentence = 'you are a a a a a abandon'
- print(model.score(sentence))
- import kenlm
-
- # 加载语言模型
- model = kenlm.Model('path/to/language/model.arpa')
-
- # 待计算概率的句子
- sentence = 'This is a test sentence.'
-
- # 计算句子的概率
- log_prob = model.score(sentence)
-
- # 将对数概率转换为标准概率
- prob = 10 ** log_prob
-
- # 输出概率
- print('The probability of the sentence "{}" is {:.2f}%.'.format(sentence, prob * 100))
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。