UHFerret
Available as:
-
rubygem: rubygems.org/gems/uhferret
Description
UHFerret is a copy-detection tool, supporting the analysis of large sets of documents to find pairs of documents with substantial amounts of lexical copying. Documents containing either natural language (e.g. English) or computer programs (in C-family) may be processed.
This library provides a Ruby wrapper around uhferret suitable for scripting, a command-line executable, ‘uhferret’, and a simple server version, ‘uhferret-server’.
More about ferret and alternative implementations can be read on the ferret documentation.
NB: to install uhferret, Ruby must be able to compile and build C extensions.
Use
Command Line
Usage: uhferret [] file1 file2 ...
-h, --help help
-c, --code process documents as code
-t, --text process documents as text (default)
-d, --data-table output similarity table (default)
-l, --list-trigrams output trigram list
-a, --all-comparisons output list of all comparisons
-x, --xml-report FILE generate xml report from two documents
-f, --definition-file FILE read document names from file
To compute the similarities of a set of files, use:
$ uhferret file1.txt file2.txt ...
An xml output can be generated for a pair of files using:
$ uhferret -x outfile.xml file1.txt file2.txt
The xml output can be displayed in a browser using the style sheet ‘uhferret.xsl’ in the examples folder, and then printed from the browser.
Program
Ferret can also be used as a library, and called from within a program. For example:
ferret = Ferret.new
ferret.add 'filename1.txt'
ferret.add 'filename2.txt'
ferret.run
ferret.output_similarity_table
Will create a new instance of Ferret, add two documents, run and then output the similarity between the two.
Server
Usage: uhferret-server []
-h, --help help
-p, --port n port number
-f, --folder FOLDER base folder
The folder to store the processed files will default to ‘FerretFiles’ and the port to 2000. Initial address: localhost:2000/ferret/home
NB: The server uses some *nix commands, and so currently does not work under Windows.
Acknowledgements
UHFerret has been developed at the University of Hertfordshire by members of the Plagiarism Detection Group. The original concept of using trigrams for measuring copying was developed by Caroline Lyon and James Malcolm. JunPeng Bao, Ruth Barrett and Bob Dickerson also contributed to the development of earlier versions of Ferret.