美文网首页自然语言处理
pyrouge和rouge,文本摘要评测方法库

pyrouge和rouge,文本摘要评测方法库

作者: 夕一啊 | 来源:发表于2018-09-04 13:07 被阅读0次

    rouge是自动文本摘要算法的评估指标:
    https://blog.csdn.net/qq_25222361/article/details/78694617

    Rouge-1、Rouge-2、Rouge-L分别是:生成的摘要的1gram-2gram在真实摘要的1gram-2gram的准确率召回率和f1值,还有最长公共子序列在预测摘要中所占比例是准确率,在真实摘要中所占比例是召回率,然后可以计算出f1值。


    pyrouge是现成的计算库,https://github.com/andersjo/pyrouge,安装方法 https://blog.csdn.net/qq_32458499/article/details/80282049(安装过程简直吐血,依赖perl语言的包,首先安装perl再安装各种依赖包,依赖包安装过程又发现要安装其他依赖包,一直安,各种错,最后依旧没安装成功)网上关于这个的介绍很多
    关键点是:安装好perl,以及perl安装包的CPAN
    能计算rouge 1/2/3/4/5/L


    rouge这个库同样可以计算评价指标但只能计算rouge1/2/L,且十分方便 https://github.com/pltrdy/rouge https://pypi.org/project/rouge/0.2.1/

    只需要pip install rouge, 然后代码里这样调用就行了

    from rouge import Rouge
    
    a = ["i am a student from xx school"]  # 预测摘要 (可以是列表也可以是句子)
    b = ["i am a student from school on china"] #真实摘要
    
    rouge = Rouge()
    rouge_score = rouge.get_scores(a, b)
    print(rouge_score[0]["rouge-1"])
    print(rouge_score[0]["rouge-2"])
    print(rouge_score[0]["rouge-l"])
    

    结果
    {'f': 0.7999999950222222, 'p': 0.8571428571428571, 'r': 0.75}
    {'f': 0.6153846104142012, 'p': 0.6666666666666666, 'r': 0.5714285714285714}
    {'f': 0.7929824561399953, 'p': 0.8571428571428571, 'r': 0.75}

    tips: 对于英文,直接把句子输入即可,中文的话, 没有空格无法识别词,所以得分词之后再计算rouge值。如果需要以字为单位也得每个字加个空格。

    相关文章

      网友评论

        本文标题:pyrouge和rouge,文本摘要评测方法库

        本文链接:https://www.haomeiwen.com/subject/swegwftx.html