最大熵工具包的使用
来源:互联网 发布:lol小智淘宝网址 编辑:程序博客网 时间:2024/04/29 08:21
最大熵工具包的使用
最大熵是自然语言处理中经常用到的一种统计方法。网上也有很多最大熵方面的工具包,目前大家用得最多的应该是张乐博士写的最大熵工具包了。该工具包既可以采用命令行形式运行,也可以直接调用接口函数,为大家的研究工作带来了很大的方便。但是,对于刚接触到该工具包的人来说,使用起来还是有些麻烦的。
一、命令行形式使用方法
1、利用命令行形式,首先要准备好特征文件。特征文件的格式在最大熵工具包的使用说明书(manual20041229.pdf)的P24。
特征文件中,一行就是一个事件(event),其格式首先是该event对应的类别label,然后是特征feature,两者都是string类型的。如果feature后边有“:”,则后边是该feature的值。Label与feature之间,以及feature与feature之间以空格间隔。例如一个事件形式如下:
Outdoor Sunny Sad Humid Outdoor
则,该event的label为Outdoor,特征有四个,包括Sunny,Sad,Humid,Outdoor。该事件中的特征没有给出特征值,如果没有显式给出,则其特征值默认为1。
准备好特征文件之后,可以采用命令进行训练:
maxent –m Modelname –i iteraterNum –v train.txt
例如:maxent –m Modelname –i 30 –v train.txt
则你将会得到一个名字为Modelname的最大熵模型。
测试过程,首先也是利用同样的特征模板抽取特征构成特征文件test.txt作为系统输入,然后测试的命令为:
maxent -p –m Modelname –o output.txt test.txt
将输出对每个事件的预测结果
或者采用命令:
maxent -p –m Modelname –detail –o output.txt test.txt
将输出详细的概率信息
二、调用函数API
n 使用函数接口
l 运行环境:VC7.1
l 加入头文件:#include <maxentmodel.hpp>
l 类名:MaxentModel
l 训练过程:
加入特征事件:
n begin_add_event();
n add_event(const vector< string > &context, const outcome_type &outcome, size_t count=1)
n end_add_event()
l 训练:train(size_t iter=15, const std::string &method="lbfgs", double sigma=0.0, double tol=1E-05)
保存模型:save(const string &model, bool binary=false)
-----------------------------------------------------------------------------------------------------------------
l 测试:
n 加载模型:load (const string &model)
n 加入特征,方法同训练
n 模型估计使用函数:eval_all((const vector< string > &context, std::vector< pair< outcome_type, double > > &outcomes, bool sort_result=true)
三、最大熵工具包下载
张乐博士的最大熵工具包
四、最大熵工具的一个介绍
下面的文档介绍了最大熵理论以及最大熵工具包的使用:
最大熵理论及其应用,下载
来源:http://ir.hit.edu.cn/~taozi/ME.htm
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sptoor/archive/2010/03/31/5437527.aspx
- 最大熵工具包的使用
- 最大熵工具包的使用
- 最大熵工具包的使用
- 最大熵工具包的使用
- 最大熵工具包的使用
- 最大熵工具包的模型文件格式分析及比较
- 张乐最大熵工具包的模型文件格式分析
- DBMS_REPAIR 工具包的使用
- BeanUtils工具包的使用
- BlocksKit工具包的使用
- BeanUtil工具包的使用
- alsa-utils工具包的使用
- alsa-utils工具包的使用
- alsa-utils工具包的使用
- alsa-utils的工具包的使用
- alsa-utils的工具包的使用
- Java工具包的安装配置和使用
- Java工具包的安装配置和使用
- Linux下 环境变量的设置
- Formtec.NCspeed.v5.1.0.4
- + - 作为文本输入
- 打扫真累!
- datagridview 去除 默认选中第一行
- 最大熵工具包的使用
- 在沙盒中共享document目录下的文件
- 有关CComPtr&CComQIPtr,CComBSTR,CComVariant,CAutoPtr的设计思想的分析
- 如何将MyGUi整合到HGE里面
- C字符串处理函数
- Android中通过程序获取SIM Card的信息
- DataView.RowFilter的使用(包括in,like等SQL中的操作符)
- webpart部署到服务器的sql连接问题
- zombie