第一次跑出结果
我现在太后悔以前的无所事事了,一套现成的工具摆在我的面前我却不会用,只有自己写了一个临时的,目的只是为了尽快跑出一个结果来体验一下感觉。刚才终于让我折腾出结果了。
昨天看似无所事事,其实上一篇日记和上面第一段话就是昨天的思想收获。然后昨天把XML parser实现了一个大概,今天一直debug到下午才基本可用了,顺便发给了ouyang,希望能help他的任务。
发现写程序慢的主要原因之一是无法证明程序的正确性,另一个主要原因是总担心需求的改变
然后为了尽快跑出来结果,只要用了最易实现的写法。用的Entity+Position的方法,因为Context还要实现一个字典,先不弄了。然后Entity的feature是2~4个,可ZhangPeng的似乎总是2个,不解。然后Position也是我个人弄的简化版,含2个feature。第一个feature表示NE1和NE2中间夹着的NE个数,并用正负表示先后,而且也是简化实现;第二个feature表示大概的包含关系,有4种取值。
然后是用svmlight自带的多类分类程序,C值按论文取的5000
然后写了个临时版的evaluation程序,结果如下:
precision: 421/659 = 0.638847
recall: 421/1895 = 0.222164
f-meature: 0.329679
extracted 659/1895 relations
其实大概看了一下svmlight的分类结果文件,最后分出来的不是NONE(7)类就是PART-WHOLE(4)类,就这就已经是0.22的recall了。有点汗……
昨天看似无所事事,其实上一篇日记和上面第一段话就是昨天的思想收获。然后昨天把XML parser实现了一个大概,今天一直debug到下午才基本可用了,顺便发给了ouyang,希望能help他的任务。
发现写程序慢的主要原因之一是无法证明程序的正确性,另一个主要原因是总担心需求的改变
然后为了尽快跑出来结果,只要用了最易实现的写法。用的Entity+Position的方法,因为Context还要实现一个字典,先不弄了。然后Entity的feature是2~4个,可ZhangPeng的似乎总是2个,不解。然后Position也是我个人弄的简化版,含2个feature。第一个feature表示NE1和NE2中间夹着的NE个数,并用正负表示先后,而且也是简化实现;第二个feature表示大概的包含关系,有4种取值。
然后是用svmlight自带的多类分类程序,C值按论文取的5000
然后写了个临时版的evaluation程序,结果如下:
precision: 421/659 = 0.638847
recall: 421/1895 = 0.222164
f-meature: 0.329679
extracted 659/1895 relations
其实大概看了一下svmlight的分类结果文件,最后分出来的不是NONE(7)类就是PART-WHOLE(4)类,就这就已经是0.22的recall了。有点汗……