摘要: 1. 简述 最近要应用CRF模型,进行序列识别。选用了CRF++工具包,具体来说是在VS2008的C#环境下,使用CRF++的windows版本。本文总结一下了解到的和CRF++工具包相关的信息。 参考资料是CRF++的官方网站:CRF++: Yet Another CRF toolkit,网上的很多关于CRF++的博文就是这篇文章的全部或者部分的翻译,本文也翻译了一些。2. 工具包下载 第一,版本选择,当前最新版本是2010-05-16日更新的CRF++ 0.54版本,不过这个版本以前我用过一次好像运行的时候存在一些问题,网上一些人也说有问题,所以这里用的是2009-05-06: CRF++ 阅读全文
posted @ 2012-12-23 22:01 东嘉CEO 阅读(380) 评论(0) 推荐(0)
摘要: 文章出处:http://blog.sina.com.cn/s/blog_5980285201018m6r.htmlCRF++代码中还有LBFGS算法没有读,利用空闲时间仔细读了下,总结如下:LBFGS算法CRF++中与L-BFGS相关的代码都存放在lbfgs.h和lbfgs.cpp中其中mcsrch函数用于线性搜索,找到给定搜索方向后合适的步长lbfgs_optimize函数实现了L-BFGS算法。LBFGS算法的理论相关的最重要的论文:[Jorge Nocedal; updating quasi-newton matrices with limited storage是一个拟牛顿算法,它是7 阅读全文
posted @ 2012-12-21 22:02 东嘉CEO 阅读(494) 评论(0) 推荐(0)
摘要: 文章出处:http://blog.sina.com.cn/s/blog_5980285201018ijz.html先贴一个类图吧:再贴一个函数调用图:需要注意的地方也不多:最需要注意的是TaggerImpl::gradient()函数1. 首先调用buildLattice函数来构造出一个表buildLattice函数调用 rebuildFeatures函数在rebuildFeatures函数中,建立了tagger需要的node_矩阵,同时填充了path信息。重要需要关注的是node类:2. buildLattice函数接下来调用calcCost()函数分别对应于论文【条件随机场理论综述,韩雪冬 阅读全文
posted @ 2012-12-21 22:00 东嘉CEO 阅读(391) 评论(0) 推荐(0)
摘要: 文本的旋转显示 privatevoidForm1_Paint(objectsender,System.Windows.Forms.PaintEventArgse){Graphicsg=e.Graphics;g.SmoothingMode=SmoothingMode.AntiAlias;//声明并初始化Graphics对象gstringtempstr="Hello C#";//取得要显示的文字for(inti=0;i<361;i=i+10){g.TranslateTransform(150,150);g.RotateTransform(i);//将指定的旋转用于g的变换 阅读全文
posted @ 2012-12-19 22:43 东嘉CEO 阅读(582) 评论(0) 推荐(0)
摘要: 初始化把每个点所在集合初始化为其自身。通常来说,这个步骤在每次使用该数据结构时只需要执行一次,无论何种实现方式,时间复杂度均为O(N)。查找查找元素所在的集合,即根节点。合并将两个元素所在的集合合并为一个集合。通常来说,合并之前,应先判断两个元素是否属于同一集合,这可用上面的“查找”操作实现。C++程序#include <iostream>using namespace std;int father[30001],m,n,a,b,temp;;void init(int v){ father[v]=v; }int find(int v){ if(father[v]==v) retur 阅读全文
posted @ 2012-11-30 17:41 东嘉CEO 阅读(214) 评论(0) 推荐(0)
摘要: #include<iostream>#define MAXN 100001using namespace std;int father[MAXN],n,m,q;int getfather(int v){ if (father[v]==v) return v; return father[v]=getfather(father[v]);}bool same(int x,int y){ return (getfather(x)==getfather(y));}void judge(int x,int y){ int fx,fy; fx=getfather... 阅读全文
posted @ 2012-11-29 12:36 东嘉CEO 阅读(216) 评论(0) 推荐(0)
摘要: 字符识别 (IOI'97)问题描述 这个题目需要你编写一个字符识别程序。具体内容每一个假设的字符图像(字符点阵)有20行,每行有20个"0"或"1"的数字。FONT.DAT文件中有27个按照下列顺序排列的字符图像:□abcdefghijklmnopqrstuvwxyz□在这里表示空格符。文件IMAGE.DAT包含有一个或者多个被破损的字符图像,一个字符图形可能通过以下几种途径被破损:至多有一行被复制(复制的行紧接其后)至多有一行丢失有些"0"可能变成"1"有些"1"可能变成"0 阅读全文
posted @ 2012-11-26 21:14 东嘉CEO 阅读(434) 评论(0) 推荐(0)
摘要: 生产计划问题问题描述参考解答这是一个明显的多阶段问题,我们按照计划时间自然划分阶段,状态定义为每阶段开始时的存储量xk,决策为每个阶段的产量uk,记每个阶段的需求量(已知)为dk,则状态转移方程为:设每个阶段开工固定成本费用为a,生产单位数量产品的成本为b,每阶段单位数量产品的存储费用为c,阶段指标为阶段的生产成本费用和存储费用之和,即:指标函数Vkn为vk之和,最优值函数fk(xk)为从第k阶段的状态xk出发到过程终结的最小费用,满足其中允许决策集合Uk由每阶段的最大生产能力决定,设过程终结时允许存储量为x0n+1,则终端条件为:将以上各式代入到标准动态规划的框架中,就可以求得最优解。详情: 阅读全文
posted @ 2012-11-26 21:12 东嘉CEO 阅读(225) 评论(0) 推荐(0)
摘要: 动态规划引言——由一个问题引出的算法考虑以下问题[例1] 最短路径问题现有一张地图,各结点代表城市,两结点间连线代表道路,线上数字表示城市间的距离。如图1所示,试找出从结点A到结点E的最短距离。图 1我们可以用深度优先搜索法来解决此问题,该问题的递归式为其中是与v相邻的节点的集合,w(v,u)表示从v到u的边的长度。具体算法如下:function MinDistance(v):integer;begin if v=E then return 0 else begin min:=maxint; for 所有没有访问过的节点i do if v和i相邻 then ... 阅读全文
posted @ 2012-11-26 21:08 东嘉CEO 阅读(472) 评论(0) 推荐(0)
摘要: 一、关系抽取简介信息抽取的主要目的是将非结构化或半结构化描述的自然语言文本转化成结构化数据(Structuring),关系抽取是其重要的子任务,主要负责从文本中识别出实体(Entities),抽取实体之间的语义关系。如:句子“Bill Gates works at Microsoft Inc.”中包含归属关系Person-Affiliation实体对(Bill Gates,Microsoft Inc),又如:关系抽取的结构化数据可以用于自动问答系统、生物信息、知识推理、文摘等众多方面。关系抽取任务常用的评测数据集当属Automatic Content Extraction (ACE),现已被归 阅读全文
posted @ 2012-11-03 22:48 东嘉CEO 阅读(1509) 评论(1) 推荐(0)