前几天,研究生老板给了个任务,让复现一个论文:《Text Filtering and Ranking for Security Bug Report Prediction》的部分内容,论文的项目主要是由clojure语言编写,通过过滤含有security cross words的非安全漏洞报告提高机器学习模型的表现;今天和大佬同学一起终于基本上解决了老板要解决的问题;
-
下载相应的项目源码:
https://bitbucket.org/fayola21-lero/farsec47/downloads/
-
学习clojure语言,这里是大佬同学分享的教程,别瞎看别的了,就认准一个就行:
https://www.tuicool.com/articles/zMbiauJ -
安装项目部署工具leiningen(这里注意科学上网的时候可能会出现网络错误导致lein repl不能正常启动,还有启动的时候会有很多retrieving,等着就行,还会有四个warnning,但是不报错就不要在意哈哈哈哈)
https://blog.youkuaiyun.com/m_yeah/article/details/79437131 -
安装gorilla工具,gorilla相当于python的jupyter notebook,这是官方配置:http://gorilla-repl.org/configuration.html
把图片上的代码替代项目文件夹中的project.clj的对应位置,如图
-
cmd运行gorilla,lein gorilla,注意在项目目录下输入lein gorilla这个命令;
复制running at的链接在浏览器里面打开,运行快捷键shift+Enter
至于其他的快捷键参考官网, -
复制core.clj文件中的所有代码到gorilla中,可以把注释删除一下
-
这里由于对语言不是很熟悉,传参数总是有错,干脆删除了部分参数,然后运行相应的命令得到了老板想要的其中一个文件,其他的基本上原理相同:
删除参数后的代码部分:
然后老板的任务基本上就算解决大部分了,其实也没什么,但是还是想记录一下,最后还是非常感谢自己的大佬同学,嘛大概就是这么多;
需要相应的资源可以联系lzhchris@outlook.com