永发信息网

有哪位用过python的CRFsuite工具包么?python2.7,Windows系统,测试文件运行不成功,应该怎么使用?

答案:2  悬赏:80  手机版
解决时间 2021-02-01 09:37
有哪位用过python的CRFsuite工具包么?python2.7,Windows系统,工具包中的测试文件运行不成功,应该怎么使用?已经成功安装CRF工具包,但是不会用。请求大家帮忙,分享一些学习文档或经验,毕设是有关条件随机场的,跪谢!
最佳答案
在swig/python目录里有一个readme,你参考着做一次编译就可以成生。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68

#!/usr/bin/env python

import crfsuite
import sys

# Inherit crfsuite.Trainer to implement message() function, which receives
# progress messages from a training process.
class Trainer(crfsuite.Trainer):
def message(self, s):
# Simply output the progress messages to STDOUT.
sys.stdout.write(s)

def instances(fi):
xseq = crfsuite.ItemSequence()
yseq = crfsuite.StringList()

for line in fi:
line = line.strip('\n')
if not line:
# An empty line presents an end of a sequence.
yield xseq, tuple(yseq)
xseq = crfsuite.ItemSequence()
yseq = crfsuite.StringList()
continue

# Split the line with TAB characters.
fields = line.split('\t')

# Append attributes to the item.
item = crfsuite.Item()
for field in fields[1:]:
p = field.rfind(':')
if p == -1:
# Unweighted (weight=1) attribute.
item.append(crfsuite.Attribute(field))
else:
# Weighted attribute
item.append(crfsuite.Attribute(field[:p], float(field[p+1:])))

# Append the item to the item sequence.
xseq.append(item)
# Append the label to the label sequence.
yseq.append(fields[0])

if __name__ == '__main__':
# This demonstrates how to obtain the version string of CRFsuite.
print crfsuite.version()

# Create a Trainer object.
trainer = Trainer()

# Read training instances from STDIN, and set them to trainer.
for xseq, yseq in instances(sys.stdin):
trainer.append(xseq, yseq, 0)

# Use L2-regularized SGD and 1st-order dyad features.
trainer.select('l2sgd', 'crf1d')

# This demonstrates how to list parameters and obtain their values.
for name in trainer.params():
print name, trainer.get(name), trainer.help(name)

# Set the coefficient for L2 regularization to 0.1
trainer.set('c2', '0.1')

# Start training; the training process will invoke trainer.message()
# to report the progress.
trainer.train(sys.argv[1], -1)
全部回答
期待看到有用的回答!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
兵家的意思是什么啊?知道的请说下!
有人说,世界上有三种人。第一种,先知先觉,
打算和女友用公积金贷款买套二手房,但是有些
沃尔沃s60l安全带高低如何调节?
星文的意思是什么啊?知道的请说下!
快玩怎么安装龙珠超宇宙2他让我去云盘安装不
《我家的剑仙大人》txt全集下载
上午后烟草局来人现场审核!说我没有烟柜!还
广州市体育馆颐和上苑,蓝天花园那边在哪里
避难走道的装修材料燃烧性能等级必须为()级。
一个本科生在金融行业应该如何职业规划?现在
眉毛连印堂 熟称连心眉会影响婚姻和其它吗?
玄枢的意思是什么啊?知道的请说下!
新生命孕育是从受精卵受精卵开始,人类性别决
怎么样才能考取牧师资格证或去哪个教堂可以成
推荐资讯
少儿平安意外险住院要打电话报案吗
磁县时村营乡中学地址好找么,我有些事要过去
【云南白药成分】云南白药的主要成份是什么?
赤壁威斯豪汀大酒店地址好找么,我有些事要过
浙江杭州树人大学分数线
一般情况下英语怎么说
百利酒吧地址在什么地方,我要处理点事
原词的意思是什么啊?知道的请说下!
龙跃网吧地址有知道的么?有点事想过去
最近热播神雕侠侣,然后我脑子里就出现问题了
《给我一个理由忘记》中“给我一个理由忘记那
累犯非法拘禁怎么判刑
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?