gpt4 book ai didi

classification - Windows 上的 NLTK MEGAM Max Ent 算法

转载 作者:行者123 更新时间:2023-12-03 23:35:41 25 4
gpt4 key购买 nike

我一直在 Python 上使用 NLTK,但由于缺少等于或高于 0.3 的任何版本的 MEGAM 库的 Windows 64 位可执行文件(需要包含 NLTK 的 -nobias 选项以工作,这是在 v. 0.3 中引入的)。

http://www.cs.utah.edu/~hal/megam/

作者建议编译您自己的可执行文件,尽管让 O'Caml 在 Win64 上工作只是另一个噩梦。

有没有人有 0.4 或更高版本的 MEGAM 可执行文件的 Windows 编译版本?我将永远感激不尽!

最佳答案

在 Windows 7 上进行了一些工作后,我能够让 Python NLTK MegaM 库工作,解决方案相当简单(事后看来)。下面详细描述了我的方法,并包含了链接。我希望你觉得它们有用。

高层:

  • 安装OCaml编译器(特别版:OCamlPro)
  • 下载 MagaM 源代码
  • 下载并安装 GNU32Make 实用程序
  • 在 2 个地方编辑 MegaM MakeFile
  • 运行 Gnu32Make 生成 magam.exe 文件
  • 以编程方式指示 megam.exe 文件的位置
    Python NLTK
  • 运行 nltk.MaxentClassifier.train 命令

  • 友情链接:
  • MEGAM SITE:
  • Windows OCamlPro Download
  • GNU32 Make for Windows

  • 血腥详情

    由于缺乏文档,这个过程有一些特殊性很容易向南 - 我想提请注意我发现的一些......

    Windows OCamPro

    获得适用于 Windows 的 OCaml Pro 版本非常重要,它是一个独立的实体,不依赖于其他任何东西。我列出的版本就是这样,它将安装到您选择的单个目录中。添加到 的路径非常重要。垃圾箱目录到 windows系统路径 .

    MEGAM

    Windows 对这个库来说是一个挑战,因为它与开发人员有一些困惑,所以你被迫下载源代码并自己编译。这并不像最初看起来那么困难。作为一般过程,将 .Targz 文件解压缩到目录中并解压缩 2X 以到达源目录是相当简单的。要实现的最重要的 2 个目标是 (a) 正确编辑 生成文件 和 (b) 添加路径 包含生成的 megam.exe 文件的目录 到windows系统路径 .

    GNU32Win

    这是一个直接的过程,只需确保 添加路径 Gnu32Make exe 文件 到您的 Windows 系统路径 安装后。

    MEGAM MakeFile

    在您解压 MagaM 文件的目录中,将存在一个 MakeFile,其中有 2 行,您必须在其中获得编辑权限以确保正确构建。

    第一 :
    (将注释行中的粗体标志与未注释行中的粗体标志交换)
  • WITHSTR =str.cma -cclib -lstr
  • WITHSTR =str.cma -cclib -lcamlstr

  • 第二:
    (用系统上的等效路径换出第一行的路径)

    注意 : 那条路径 必须指向系统上 OcamlPro 安装的“\lib\caml”目录。
  • WITHCLIBS =-I/usr/lib/ocaml/3.09.2/caml
  • WITHCLIBS =-I E:\OCamlPro\OCPWin64\lib\caml

  • 在 megam 目录中运行 make

    在这个阶段,你应该可以只打开一个windows CMD shell,cd到你修改makefile的目录,然后运行make编译生成可执行文件megam.exe。

    您应该会看到类似于以下内容的输出:

    make ocamldep *.mli *.ml > .depend ocamlc -g -custom -o megam str.cma -cclib -lcamlstr bigarray.cma -cclib -lbigarray unix.cma -cclib -lunix -I E:\OCamlPro\OCPWin64\lib\caml fastdot_c.c fastdot.cmo intHashtbl.cmo arry.cmo util.cmo data.cmo bitvec.cmo cg.cmo wsemlm.cmo bfgs.cmo pa.cmo perceptron.cmo radapt.cmo kernelmap.cmo abffs.cmo main.cmo



    以编程方式将 Megam.exe 文件的位置指示到 Pythons NLTK

    我遇到的最后一个问题是如何向 Pythonn NLTK 精确指示我的 magam.exe 文件的位置。在调用代码中,我在调用 MaxentClassifier 本身的行之前放置了指示此类的语句,并且效果很好,见下文。

    注意:在我的开发工作站上花费了很长时间,所以请耐心等待。
     nltk.config_megam('E:\megam\megam.exe')
    self.classifier = nltk.MaxentClassifier.train(train_set, algorithm='megam', trace=0)

    关于classification - Windows 上的 NLTK MEGAM Max Ent 算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12606543/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com