改进的kneser-ney平滑语言模型

knlm的Python项目详细描述


knlm

python的改进kneser-ney平滑语言模型模块

安装

$ pip install knlm
$ pip3 install knlm

示例

from knlm import KneserNey

mode = 'build'
if mode == 'build':
    # build model from corpus text. order = 3, word size = 4 byte
    mdl = KneserNey(3, 4)
    for line in open('corpus.txt', encoding='utf-8'):
        mdl.train(line.lower().strip().split())
    mdl.optimize()
    mdl.save('language.model')
else:
    # load model from binary file
    mdl = KneserNey.load('language.model')
    print('Loaded')
print('Order: %d, Vocab Size: %d, Vocab Width: %d' % (mdl.order, mdl.vocabs, mdl._wsize))

# evaluate sentence score
print(mdl.evaluateSent('I love kiwi .'.split()))
print(mdl.evaluateSent('ego kiwi amo .'.split()))

# evaluate scores for each word
print(mdl.evaluateEachWord('I love kiwi .'.split()))
print(mdl.evaluateEachWord('ego kiwi amo .'.split()))

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Esper中声明Classtype实例变量并调用实例方法时未调用java实例方法   java Android真的很慢   macos在Mac上用Java播放声音   java如何在springboot中生成clientid和clientsecret并存储在数据库中?   返回假条件的java方法   数组在Java中截断同步ArrayList的正确方法   java HashMap<Long,String>和HashMap<>之间有什么区别?   正在寻找允许按名称读取列的java CSV库   HQL Hibernate查询中的java左连接   java以编程方式添加可绘制图像的最佳方法是什么?   已使用NetworkImageView下载的安卓加载图像上的java截击不起作用   java CORBA通知订阅(错误:org.omg.CORBA.MARSHAL:vmcid:0x0次要代码:0已完成:否)   Java BufferedReader openvms   java是搜索字符串中的一个字母并在字母前加上“a”的最佳算法?   由于测试依赖关系,java Gradle Spring云流项目未生成   Java程序中的数组ArrayIndexOutOfBoundsException,用于检查double是否为负数   java Android/RxJava如何链接网络请求并在失败时重试   java告诉OpenEJB忽略MDB   java如何在不迁移的情况下在room数据库中添加表