def train(self, depgraphs):
"""
:param depgraphs : list of DependencyGraph as the training data
:type depgraphs : DependencyGraph
"""
try:
input_file = tempfile.NamedTemporaryFile(
prefix='transition_parse.train',
dir=tempfile.gettempdir(),
delete=False)
self._create_training_examples_arc_eager(depgraphs, input_file)
input_file.close()
# Using the temporary file to train the libsvm classifier
x_train, y_train = load_svmlight_file(input_file.name)
# The parameter is set according to the paper:
# Algorithms for Deterministic Incremental Dependency Parsing by Joakim Nivre
# this is very slow.
self._model = svm.SVC(
kernel='poly',
degree=2,
coef0=0,
gamma=0.2,
C=0.5,
verbose=False,
probability=True)
print('Training support vector machine...')
self._model.fit(x_train, y_train)
print('done!')
finally:
os.remove(input_file.name)
transitionparser.py 文件源码
python
阅读 22
收藏 0
点赞 0
评论 0
评论列表
文章目录