zoukankan      html  css  js  c++  java
  • 第一次个人编程作业

    GitHub链接:https://github.com/031804126/031804126
    PSP记录表格:

    经过查找资料,我发现实现文本相似度的计算大家比较常用并且难度不是很大的有TF-IDF与余弦相似性的应用、引用jieba库使用余弦相似度,还有难度稍微大一点的jaccard相似度,编辑距离,MinHash,SimHash+海明距离(对于我来说),所以这里选用了使用jieba库以及余弦相似度进行计算。原理如下:

    用到的主要函数:①extract_keyword():用来获取关键词。
    ②one_hot()。
    ③:cosine_similarity():计算余弦相似度。``
    计算模块部分的性能改进
    附上性能分析图:



    单元测试部分:
    函数部分与主函数相同
    if __name__ == '__main__':
    x=input()
    y=input()
    z=input()
    fx=open(x,'r',encoding='utf-8')
    fy=open(y,'r',encoding='utf-8')
    content_x = fx.read()
    content_y = fy.read()
    similarity = CosineSimilarity(content_x, content_y)
    similarity = similarity.main()
    g = open(r"C:Users123AppDataLocalProgramsPythonPython37 esult.txt",'w+')
    file_handle=open('result.txt',mode='w')
    file_handle.write('相似度: {:.2f}' .format(similarity))
    file_handle.close()
    fx.close()
    fy.close()
    print('相似度: {:.2f}' .format(similarity))
    测试结果:



    以上是在Windows中Python环境下测试的,读取方法比较low,在pycharm中进行性能测试的时候,进行了以下改进:
    文件读取方式改为:fx=open(sys.argv[1],'r',encoding='utf-8'),fy=open(sys.argv[2],'r',encoding='utf-8'),目标文件改为:output = open(sys.argv[3],'w',encoding='utf-8')
    覆盖率:

    异常处理
    (1)文件为空


    (2)文件不存在

    总结:
    没想到第一次实际编程就来了这么大的工程,刚开始属实有点吃不消,到处找资料,不过在实践中也丰富了自己,看来以后要多利用闲暇时间学习,才能面对接下来的挑战。

  • 相关阅读:
    [转载]ipmitool 对linux服务器进行IPMI管理
    js获取屏幕分辨率
    jquery实现点击块时高亮显示
    [转载]jquery的each()详细介绍
    jQuery用户登录时鼠标焦点事件
    ABAP Programs For Learners
    如何调整ABAP程序的性能
    函数 BAPI_GOODSMVT_CREATE调用实例
    For all entries使用中注意的问题
    用SAP Authority Object 对权限控制
  • 原文地址:https://www.cnblogs.com/sunqingqing/p/13685964.html
Copyright © 2011-2022 走看看