Ejemplo n.º 1
0
def train_evaluate(ratios):
    # model = CWSTrainer().train(msr_train, msr_train, msr_model, 0, 1, 8).getModel()  # 训练模型
    model = JClass('com.hankcs.hanlp.model.perceptron.model.LinearModel')(
        msr_model)
    pre = -1
    scores = []
    for c in ratios:
        if c > 0:
            print('以压缩比{}压缩模型中...'.format(c))
            model.compress(1 - (1 - c) / pre, 0)
        pre = 1 - c
        result = CWSEvaluator.evaluate(
            PerceptronLexicalAnalyzer(model).enableCustomDictionary(False),
            msr_test, msr_output, msr_gold, msr_dict)
        scores.append(result.F1)
    return scores