返回介绍

数学基础

统计学习

深度学习

工具

Scala

三、Python 接口

发布于 2023-07-17 23:38:23 字数 3131 浏览 0 评论 0 收藏 0

3.1 安装

  1. 进入源码下的python 目录,执行命令:

    
    
    xxxxxxxxxx
    python3.6 setup.py build python3.6 setup.py install
  2. 如果希望安装到指定目录,则执行命令:

    
    
    xxxxxxxxxx
    python3.6 setup.py install --prefix=PREFIX

3.2 使用

  1. CRF++ 并没有提供Python 的训练结构,只提供了Python 的测试接口。

  2. CRFPP.Tagger 对象:调用解码器来解码。

    
    
    xxxxxxxxxx
    CRFPP.Tagger("-m ../model -v 3 -n2")

    创建对象,其中字符串中的内容就是crf_test 程序执行的参数(不包含测试文件)。

    • .add('line'):添加一行待解码的字段。
    • .clear():清除解码器的状态。
    • .parse():解码。它会修改解码器的状态。
    • .xsize():字段数量。
    • .size():样本行的数量。
    • .ysize():标记数量。
  3. 使用示例:

    
    
    xxxxxxxxxx
    import CRFPP tagger = CRFPP.Tagger("-m ../model -v 3 -n2") tagger.clear() tagger.add("Confidence NN") tagger.add("in IN") tagger.add("the DT") tagger.add("pound NN") tagger.add("is VBZ") tagger.add("widely RB") ​ print "column size: " , tagger.xsize() print "token size: " , tagger.size() print "tag size: " , tagger.ysize() ​ print "tagset information:" ysize = tagger.ysize() for i in range(0, ysize-1): print "tag " , i , " " , tagger.yname(i) ​ tagger.parse() print "conditional prob=" , tagger.prob(), " log(Z)=" , tagger.Z() size = tagger.size() xsize = tagger.xsize() ​ for i in range(0, (size - 1)): for j in range(0, (xsize-1)): print tagger.x(i, j) , "\t", print tagger.y2(i) , "\t", print "Details", for j in range(0, (ysize-1)): print "\t" , tagger.yname(j) , "/prob=" , tagger.prob(i,j),"/alpha=" , tagger.alpha(i, j),"/beta=" , tagger.beta(i, j), print "\n", ​ print "nbest outputs:" for n in range(0, 9): if (not tagger.next()): continue print "nbest n=" , n , "\tconditional prob=" , tagger.prob() # you can access any information using tagger.y()...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文