27 | | === Text processing pipelines === |
28 | | * Czech: {{{alba:/opt/majka/majka-desamb-czech.sh | cut -f1-3}}} |
29 | | * Czech [http://nlp.fi.muni.cz/projekty/rule_ind/index.cgi web interface] |
30 | | * English: {{{alba:/opt/TreeTagger/tools/tt-english\_v2.sh | awk '{print \$1"\textbackslash t"\$3"\textbackslash t"\$2}'}}} |
| 26 | Either: Create 5 documents (with a similar topic) and 5 plagiarisms of these documents, 10 documents total. //(For the sake of simplicity: A plagiarism cannot have more sources here.)// //The minimal homework.// |
| 27 | * 100 words <= document lenght <= 500 words |
| 28 | * 20 % <= plagiarism content <= 90 % |
| 29 | * File format: A POS tagged vertical consisting of structures {{{doc}}} with attributes {{{author}}}, {{{id}}}, {{{class}}}, {{{source}}}. Pair author, id is unique. Start with id = 1. Class is "original" or "plagiarism". Source is the id of the source (in the case of plagiarism) or the same as the id of the document (in the case of original). |
| 30 | * POS tagged text: 3 columns: word, lemma (the base form of the word), POS/morphological tag. |
| 31 | * Text processing pipelines for converting a text file to a 3-column vertical: |
| 32 | * Czech: {{{alba:/opt/majka/majka-desamb-czech.sh | cut -f1-3}}} or a [http://nlp.fi.muni.cz/projekty/rule_ind/index.cgi web interface] (short documents only) |
| 33 | * English: {{{alba:/opt/TreeTagger/tools/tt-english\_v2.sh | awk '{print \$1"\textbackslash t"\$3"\textbackslash t"\$2}'}}} |
| 34 | * For each plagiarism: |
| 35 | * describe plagiarsim technique(s) used |
| 36 | * which detection methods might be able to reveal it -- give reasons |
| 37 | * which detection methods might not be able to reveal it -- give reasons |
| 38 | * Submit a text file containing 10 documents according to the requirements + 1 text file describing techniques used and your estimation which detection techniques may or may not work. |
32 | | === Input data example (2 + 3 documents only) === |
| 40 | Or: Select a detection algorithm and implement it in Python. //The right homework if you want to learn something.// |
| 41 | * A basic detection script to extend: [raw-attachment:plagiarism_simple.py] -- usage: {{{python plagiarism_simple.py < training_data.vert}}} |
| 42 | * A bag of words + cosine similarity of word vectors approach is implemented in this script. //(For the sake of simplicity: A plagiarism cannot have more sources here.)// |
| 43 | * You can modify the script to |
| 44 | * use other input attributes than the word or a combination of attributes, e.g. the lemma or the morphological tag, |
| 45 | * or implement other lexical/syntactic based detection approach, e.g. n-grams of words or Levenshtein's distance, |
| 46 | * or implement other semantic based detection approach, e.g. the similarity of {{{word2vec}}} vectors. |
| 47 | * Input format: see above. [raw-attachment:training_data.vert] |
| 48 | * Output: One plagiarism per line: id TAB detected source id TAB real source id. Evaluation line: precision, recall F1 measure. |
| 49 | * Your script will be evaluated using data made by others. |
| 50 | * Describe which plagiarism detection technique(s) were implemented -- put it in a comment in the beginning of your script. |
| 51 | |
| 52 | === Examples of a source document and a plagiarism document === |