我們經常需要檢查兩個文本文件的相似度有多高,這對於防止作弊,對比寫作風格等都有一定的用處。基於空間向量法,我寫了一個檢查文本相似度的命令行工具 FileCompare。
由於此產品是程序抄襲作弊檢測程序的副產品,所以針對英語、不需要分詞的語言效果較好,對中文支持不佳(主要是沒有加入較好的中文分詞模塊)。
程序返回的數值爲兩個所比較的文本文件的相似度數值。
支持的操作系統:Linux,MAC OS X,Windows 98/2000/XP/2003/Vista/7/2008(其中在 Windows Vista 以下版本需要安裝 .NET Framework 2.0;在某些 Linux 發行版和 Mac OS X 中需要安裝 mono 包(不包括 Ubuntu等系統)。)
下面舉例說明它的用法。
一、在 Ubuntu 系統下
在終端中輸入命令:
me@me-pc:~$ sudo chmod +x filecompare me@me-pc:~$ filecompare ./file1.c ./file2.c me@me-pc:~$ filecompare ./file1.c ./file2.c -e utf-8 -q |
第一句話是爲了給該程序附加執行權限;第二句話對比兩個文件的相似度。(這兩個文件必須存在)
第三句話顯式告訴程序要使用 UTF-8 編碼(默認就是這個編碼)。
二、在 Windows 7 系統下
在命令提示符中輸入命令:
C:\>filecompare.exe file1.c file2.c C:\>filecompare.exe file1.c file2.c -e gb2312 -q |
要獲得幫助,請直接鍵入 filecompare(.exe) 或附加參數 –-help。
閉源?
@BYVoid:剛開始寫的時候是為了臨時用,代碼太醜,回來整理下再開源吧。
您好,不知道您是否开源了呢?在帮老师的网站添加作业查重的功能,这个工具对我非常有用,谢谢您。
@:没有,时间相隔很久了。你的作业是什么格式的?
@ceeji:学生提交的作业是Latex代码文件和pdf文档。我看了,这个工具对tex检测还是比较好的,但是貌似对pdf不是很敏感。我怀疑是pdf文件有图片造成的。我就先用这个工具吧。或者您稍微跟我说一下基本思想,我自己再写一个。谢谢您~