diff --git a/EVALB/COLLINS.prm b/EVALB/COLLINS.prm new file mode 100644 index 0000000..cb1a2ff --- /dev/null +++ b/EVALB/COLLINS.prm @@ -0,0 +1,66 @@ +##------------------------------------------## +## Debug mode ## +## 0: No debugging ## +## 1: print data for individual sentence ## +##------------------------------------------## +DEBUG 0 + +##------------------------------------------## +## MAX error ## +## Number of error to stop the process. ## +## This is useful if there could be ## +## tokanization error. ## +## The process will stop when this number## +## of errors are accumulated. ## +##------------------------------------------## +MAX_ERROR 10 + +##------------------------------------------## +## Cut-off length for statistics ## +## At the end of evaluation, the ## +## statistics for the senetnces of length## +## less than or equal to this number will## +## be shown, on top of the statistics ## +## for all the sentences ## +##------------------------------------------## +CUTOFF_LEN 40 + +##------------------------------------------## +## unlabeled or labeled bracketing ## +## 0: unlabeled bracketing ## +## 1: labeled bracketing ## +##------------------------------------------## +LABELED 1 + +##------------------------------------------## +## Delete labels ## +## list of labels to be ignored. ## +## If it is a pre-terminal label, delete ## +## the word along with the brackets. ## +## If it is a non-terminal label, just ## +## delete the brackets (don't delete ## +## deildrens). ## +##------------------------------------------## +DELETE_LABEL TOP +DELETE_LABEL -NONE- +DELETE_LABEL , +DELETE_LABEL : +DELETE_LABEL `` +DELETE_LABEL '' +DELETE_LABEL . + +##------------------------------------------## +## Delete labels for length calculation ## +## list of labels to be ignored for ## +## length calculation purpose ## +##------------------------------------------## +DELETE_LABEL_FOR_LENGTH -NONE- + +##------------------------------------------## +## Equivalent labels, words ## +## the pairs are considered equivalent ## +## This is non-directional. ## +##------------------------------------------## +EQ_LABEL ADVP PRT + +# EQ_WORD Example example diff --git a/EVALB/LICENSE b/EVALB/LICENSE new file mode 100644 index 0000000..68a49da --- /dev/null +++ b/EVALB/LICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/EVALB/Makefile b/EVALB/Makefile new file mode 100644 index 0000000..0fe4ada --- /dev/null +++ b/EVALB/Makefile @@ -0,0 +1,4 @@ +all: evalb + +evalb: evalb.c + gcc -Wall -g -o evalb evalb.c diff --git a/EVALB/README b/EVALB/README new file mode 100644 index 0000000..106e927 --- /dev/null +++ b/EVALB/README @@ -0,0 +1,300 @@ +################################################################# +# # +# Bug fix and additional functionality for evalb # +# # +# This updated version of evalb fixes a bug in which sentences # +# were incorrectly categorized as "length mismatch" when the # +# the parse output had certain mislabeled parts-of-speech. # +# # +# The bug was the result of evalb treating one of the tags (in # +# gold or test) as a label to be deleted (see sections [6],[7] # +# for details), but not the corresponding tag in the other. # +# This most often occurs with punctuation. See the subdir # +# "bug" for an example gld and tst file demonstating the bug, # +# as well as output of evalb with and without the bug fix. # +# # +# For the present version in case of length mismatch, the nodes # +# causing the imbalance are reinserted to resolve the miscount. # +# If the lengths of gold and test truly differ, the error is # +# still reported. The parameter file "new.prm" (derived from # +# COLLINS.prm) shows how to add new potential mislabelings for # +# quotes (",``,',`). # +# # +# I have preserved DJB's revision for modern compilers except # +# for the delcaration of "exit" which is provided by stdlib. # +# # +# Other changes: # +# # +# * output of F-Measure in addition to precision and recall # +# (I did not update the documention in section [4] for this) # +# # +# * more comprehensive DEBUG output that includes bracketing # +# information as evalb is processing each sentence # +# (useful in working through this, and peraps other bugs). # +# Use either the "-D" run-time switch or set DEBUG to 2 in # +# the parameter file. # +# # +# * added DELETE_LABEL lines in new.prm for S1 nodes produced # +# by the Charniak parser and "?", "!" punctuation produced by # +# the Bikel parser. # +# # +# # +# David Ellis (Brown) # +# # +# January.2006 # +################################################################# + +################################################################# +# # +# Update of evalb for modern compilers # +# # +# This is an updated version of evalb, for use with modern C # +# compilers. There are a few updates, each marked in the code: # +# # +# /* DJB: explanation of comment */ # +# # +# The updates are purely to help compilation with recent # +# versions of GCC (and other C compilers). There are *NO* other # +# changes to the algorithm itself. # +# # +# I have made these changes following recommendations from # +# users of the Corpora Mailing List, especially Peet Morris and # +# Ramon Ziai. # +# # +# David Brooks (Birmingham) # +# # +# September.2005 # +################################################################# + +################################################################# +# # +# README file for evalb # +# # +# Satoshi Sekine (NYU) # +# Mike Collins (UPenn) # +# # +# October.1997 # +################################################################# + +Contents of this README: + + [0] COPYRIGHT + [1] INTRODUCTION + [2] INSTALLATION AND RUN + [3] OPTIONS + [4] OUTPUT FORMAT FROM THE SCORER + [5] HOW TO CREATE A GOLDFILE FROM THE TREEBANK + [6] THE PARAMETER FILE + [7] MORE DETAILS ABOUT THE SCORING ALGORITHM + + +[0] COPYRIGHT + +The authors abandon the copyright of this program. Everyone is +permitted to copy and distribute the program or a portion of the program +with no charge and no restrictions unless it is harmful to someone. + +However, the authors are delightful for the user's kindness of proper +usage and letting the authors know bugs or problems. + +This software is provided "AS IS", and the authors make no warranties, +express or implied. + +To legally enforce the abandonment of copyright, this package is released +under the Unlicense (see LICENSE). + +[1] INTRODUCTION + +Evaluation of bracketing looks simple, but in fact, there are minor +differences from system to system. This is a program to parametarize +such minor differences and to give an informative result. + +"evalb" evaluates bracketing accuracy in a test-file against a gold-file. +It returns recall, precision, tagging accuracy. It uses an identical +algorithm to that used in (Collins ACL97). + + +[2] Installation and Run + +To compile the scorer, type + +> make + + +To run the scorer: + +> evalb -p Parameter_file Gold_file Test_file + + +For example to use the sample files: + +> evalb -p sample.prm sample.gld sample.tst + + + +[3] OPTIONS + +You can specify system parameters in the command line options. +Other options concerning to evaluation metrix should be specified +in parameter file, described later. + + -p param_file parameter file + -d debug mode + -e n number of error to kill (default=10) + -h help + + + +[4] OUTPUT FORMAT FROM THE SCORER + +The scorer gives individual scores for each sentence, for +example: + + Sent. Matched Bracket Cross Correct Tag + ID Len. Stat. Recal Prec. Bracket gold test Bracket Words Tags Accracy +============================================================================ + 1 8 0 100.00 100.00 5 5 5 0 6 5 83.33 + +At the end of the output the === Summary === section gives statistics +for all sentences, and for sentences <=40 words in length. The summary +contains the following information: + +i) Number of sentences -- total number of sentences. + +ii) Number of Error/Skip sentences -- should both be 0 if there is no + problem with the parsed/gold files. + +iii) Number of valid sentences = Number of sentences - Number of Error/Skip + sentences + +iv) Bracketing recall = (number of correct constituents) + ---------------------------------------- + (number of constituents in the goldfile) + +v) Bracketing precision = (number of correct constituents) + ---------------------------------------- + (number of constituents in the parsed file) + +vi) Complete match = percentaage of sentences where recall and precision are + both 100%. + +vii) Average crossing = (number of constituents crossing a goldfile constituen + ---------------------------------------------------- + (number of sentences) + +viii) No crossing = percentage of sentences which have 0 crossing brackets. + +ix) 2 or less crossing = percentage of sentences which have <=2 crossing brackets. + +x) Tagging accuracy = percentage of correct POS tags (but see [5].3 for exact + details of what is counted). + + + +[5] HOW TO CREATE A GOLDFILE FROM THE PENN TREEBANK + + +The gold and parsed files are in a format similar to this: + +(TOP (S (INTJ (RB No)) (, ,) (NP (PRP it)) (VP (VBD was) (RB n't) (NP (NNP Black) (NNP Monday))) (. .))) + +To create a gold file from the treebank: + +tgrep -wn '/.*/' | tgrep_proc.prl + +will produce a goldfile in the required format. ("tgrep -wn '/.*/'" prints +parse trees, "tgrep_process.prl" just skips blank lines). + +For example, to produce a goldfile for section 23 of the treebank: + +tgrep -wn '/.*/' | tail +90895 | tgrep_process.prl | sed 2416q > sec23.gold + + + +[6] THE PARAMETER (.prm) FILE + + +The .prm file sets options regarding the scoring method. COLLINS.prm gives +the same scoring behaviour as the scorer used in (Collins 97). The options +chosen were: + +1) LABELED 1 + +to give labelled precision/recall figures, i.e. a constituent must have the +same span *and* label as a constituent in the goldfile. + +2) DELETE_LABEL TOP + +Don't count the "TOP" label (which is always given in the output of tgrep) +when scoring. + +3) DELETE_LABEL -NONE- + +Remove traces (and all constituents which dominate nothing but traces) when +scoring. For example + +.... (VP (VBD reported) (SBAR (-NONE- 0) (S (-NONE- *T*-1)))) (. .))) + +would be processed to give + +.... (VP (VBD reported)) (. .))) + + +4) +DELETE_LABEL , -- for the purposes of scoring remove punctuation +DELETE_LABEL : +DELETE_LABEL `` +DELETE_LABEL '' +DELETE_LABEL . + +5) DELETE_LABEL_FOR_LENGTH -NONE- -- don't include traces when calculating + the length of a sentence (important + when classifying a sentence as <=40 + words or >40 words) + +6) EQ_LABEL ADVP PRT + +Count ADVP and PRT as being the same label when scoring. + + + + +[7] MORE DETAILS ABOUT THE SCORING ALGORITHM + + +1) The scorer initially processes the files to remove all nodes specified +by DELETE_LABEL in the .prm file. It also recursively removes nodes which +dominate nothing due to all their children being removed. For example, if +-NONE- is specified as a label to be deleted, + +.... (VP (VBD reported) (SBAR (-NONE- 0) (S (-NONE- *T*-1)))) (. .))) + +would be processed to give + +.... (VP (VBD reported)) (. .))) + +2) The scorer also removes all functional tags attached to non-terminals +(functional tags are prefixed with "-" or "=" in the treebank). For example +"NP-SBJ" is processed to give "NP", "NP=2" is changed to "NP". + + +3) Tagging accuracy counts tags for all words *except* any tags which are +deleted by a DELETE_LABEL specification in the .prm file. (For example, for +COLLINS.prm, punctuation tagged as "," ":" etc. would not be included). + +4) When calculating the length of a sentence, all words with POS tags not +included in the "DELETE_LABEL_FOR_LENGTH" list in the .prm file are +counted. (For COLLINS.prm, only "-NONE-" is specified in this list, so +traces are removed before calculating the length of the sentence). + +5) There are some subtleties in scoring when either the goldfile or parsed +file contains multiple constituents for the same span which have the same +non-terminal label. e.g. (NP (NP the man)) If the goldfile contains n +constituents for the same span, and the parsed file contains m constituents +with that nonterminal, the scorer works as follows: + +i) If m>n, then the precision is n/m, recall is 100% + +ii) If n>m, then the precision is 100%, recall is m/n. + +iii) If n==m, recall and precision are both 100%. diff --git a/EVALB/bug/bug.gld b/EVALB/bug/bug.gld new file mode 100644 index 0000000..288a254 --- /dev/null +++ b/EVALB/bug/bug.gld @@ -0,0 +1,5 @@ +(TOP (S (NP-SBJ (DT The) (NN Thy-1) (NN gene) (NN promoter) ) (VP (VBZ resembles) (NP (DT a) (`` ") (JJ housekeeping) ('' ") (NN promoter) ) (PP (IN in) (SBAR (IN that) (S (NP-SBJ-68 (PRP it) ) (VP-COOD (VP (VBZ is) (ADJP-PRD (JJ located) (PP (IN within) (NP (DT a) (JJ methylation-free) (NN island) )))) (, ,) (VP (VBZ lacks) (NP (DT a) (JJ canonical) (NN TATA) (NN box) )) (, ,) (CC and) (VP (VBZ displays) (NP (NN heterogeneity) ) (PP (IN in) (NP (NP (DT the) (JJ 5'-end) (NNS termini) ) (PP (IN of) (NP (DT the) (NN mRNA) )))))))))) (. .) ) ) +(TOP (S (NP-SBJ (DT The) (JJ latter) (`` ") (NP (NP (JJ nuclear) (NN factor) ) (PP (IN for) (NP (VBN activated) (NN T) (NNS cells) ))) ('' ") ) (ADVP (RB likely) ) (VP (VBZ contributes) (PP (TO to) (NP (NP (DT the) (NN tissue) (NN specificity) ) (PP (IN of) (NP (NN IL-2) (NN gene) (NN expression) ))))) (. .) ) ) +(TOP (S (ADVP (RB Thus) ) (, ,) (NP-SBJ (PRP we) ) (VP (VBD postulated) (SBAR-COOD (SBAR (IN that) (S (NP-SBJ (NP (DT the) (JJ circadian) (NN modification) ) (PP (IN of) (NP (NN GR) ))) (VP (VBD was) (ADJP-PRD (JJ independent) (PP (IN of) (NP-COOD (NP (NP (DT the) (JJ diurnal) (NNS fluctuations) ) (PP (IN in) (NP (NN plasma) (NN cortisol) (NN level) ))) (CC or) (NP (NP (DT the) (JJ circadian) (NNS variations) ) (PP (IN in) (NP (JJ environmental) (NN lighting) ))))))))) (CC and) (SBAR (IN that) (S (NP-SBJ-79 (DT the) (NN rhythmicity) ) (VP (MD might) (VP (VB be) (VP (VBN regulated) (NP (-NONE- *-79) ) (PP (IN by) (NP-LGS (NP (DT the) (`` ') (JJ circadian) (NN pacemaker) ('' ') ) (ADJP (JJ located) (PP (IN in) (NP (DT the) (JJ human) (JJ basal) (NN brain) )))))))))))) (. .) ) ) +(TOP (S (NP-SBJ-70 (JJ Such) (NN transcription) (NNS factors) ) (VP (VBP play) (NP (DT a) (JJ key) (NN role) ) (PP (IN in) (NP (NP (DT the) (NN development) ) (PP (IN of) (NP (DT the) (JJ mature) (NN T-cell) (NN phenotype) )))) (PP (IN by) (S (NP-SBJ (-NONE- *-70) ) (VP (VBG functioning) (PP (IN as) (`` ') (NP (NP (JJ master) (NNS regulators) ) (PP (IN of) (NP (NN T-cell) (NN differentiation) ))) ('' ') ))))) (. .) ) ) +(TOP (S (NP-SBJ (NP (DT The) (NN conversion) ) (PP (IN of) (NP (DT the) (NN TCEd) )) (PP (TO to) (NP (DT a) (`` ') (JJ perfect) ('' ') (NN NF-kB) (NN binding) (NN site) ))) (VP-COOD (VP (VBZ leads) (PP (TO to) (NP-19 (NP (DT a) (JJR tighter) (NN binding) ) (PP (IN of) (NP (NN NF-kB) )) (PP (TO to) (NP (NN TCEd) (NN DNA) ))))) (CC and) (, ,) (VP (PP (IN as) (NP (DT a) (JJ functional) (NN consequence) )) (, ,) (PP (TO to) (NP=19 (NP (DT the) (NN activity) ) (PP (IN of) (NP (DT the) (`` ') (VBN converted) ('' ') (NN TCEd) (NNS motifs) )) (PP (IN in) (NP (NN HeLa) (NNS cells) )))))) (. .) ) ) diff --git a/EVALB/bug/bug.rsl-new b/EVALB/bug/bug.rsl-new new file mode 100644 index 0000000..4b143a2 --- /dev/null +++ b/EVALB/bug/bug.rsl-new @@ -0,0 +1,39 @@ +Sent. Matched Bracket Cross Correct Tag +ID Len. Stat. Recal Prec. Bracket gold test Bracket Words Tags Accracy +============================================================================ +1 37 0 77.27 65.38 17 22 26 5 34 27 79.41 +2 21 0 69.23 64.29 9 13 14 2 20 16 80.00 +3 47 0 80.00 82.35 28 35 34 4 44 40 90.91 +4 26 0 35.29 37.50 6 17 16 8 25 18 72.00 +5 44 0 42.31 33.33 11 26 33 17 38 28 73.68 +============================================================================ + 62.83 57.72 71 113 123 0 161 129 80.12 +=== Summary === + +-- All -- +Number of sentence = 5 +Number of Error sentence = 0 +Number of Skip sentence = 0 +Number of Valid sentence = 5 +Bracketing Recall = 62.83 +Bracketing Precision = 57.72 +Bracketing FMeasure = 60.17 +Complete match = 0.00 +Average crossing = 7.20 +No crossing = 0.00 +2 or less crossing = 20.00 +Tagging accuracy = 80.12 + +-- len<=40 -- +Number of sentence = 3 +Number of Error sentence = 0 +Number of Skip sentence = 0 +Number of Valid sentence = 3 +Bracketing Recall = 61.54 +Bracketing Precision = 57.14 +Bracketing FMeasure = 59.26 +Complete match = 0.00 +Average crossing = 5.00 +No crossing = 0.00 +2 or less crossing = 33.33 +Tagging accuracy = 77.22 diff --git a/EVALB/bug/bug.rsl-old b/EVALB/bug/bug.rsl-old new file mode 100644 index 0000000..3f10bc0 --- /dev/null +++ b/EVALB/bug/bug.rsl-old @@ -0,0 +1,45 @@ +Sent. Matched Bracket Cross Correct Tag +ID Len. Stat. Recal Prec. Bracket gold test Bracket Words Tags Accracy +============================================================================ +1 : Length unmatch (33|35) + 1 37 1 0.00 0.00 0 0 0 0 0 0 0.00 +2 : Length unmatch (19|21) + 2 21 1 0.00 0.00 0 0 0 0 0 0 0.00 +3 : Length unmatch (44|45) + 3 47 1 0.00 0.00 0 0 0 0 0 0 0.00 +4 : Length unmatch (24|26) + 4 26 1 0.00 0.00 0 0 0 0 0 0 0.00 +5 : Length unmatch (38|39) + 5 44 1 0.00 0.00 0 0 0 0 0 0 0.00 +============================================================================ + 0 0 0.00 + +=== Summary === + +-- All -- +Number of sentence = 5 +Number of Error sentence = 5 +Number of Skip sentence = 0 +Number of Valid sentence = 0 +Bracketing Recall = 0.00 +Bracketing Precision = 0.00 +Bracketing FMeasure = nan +Complete match = 0.00 +Average crossing = 0.00 +No crossing = 0.00 +2 or less crossing = 0.00 +Tagging accuracy = 0.00 + +-- len<=40 -- +Number of sentence = 3 +Number of Error sentence = 3 +Number of Skip sentence = 0 +Number of Valid sentence = 0 +Bracketing Recall = 0.00 +Bracketing Precision = 0.00 +Bracketing FMeasure = nan +Complete match = 0.00 +Average crossing = 0.00 +No crossing = 0.00 +2 or less crossing = 0.00 +Tagging accuracy = 0.00 diff --git a/EVALB/bug/bug.tst b/EVALB/bug/bug.tst new file mode 100644 index 0000000..d6b5194 --- /dev/null +++ b/EVALB/bug/bug.tst @@ -0,0 +1,5 @@ +(S1 (S (NP (DT The) (JJ Thy-1) (NN gene) (NN promoter)) (VP (VP (VBZ resembles) (NP (NP (DT a) (ADJP (CD ") (NN housekeeping)) (NN ") (NN promoter)) (SBAR (WHPP (IN in) (WHNP (WDT that))) (S (NP (PRP it)) (VP (VBZ is) (VP (VBN located) (PP (IN within) (NP (DT a) (JJ methylation-free) (NN island))))))))) (, ,) (VP (VBZ lacks) (NP (DT a) (JJ canonical) (NNP TATA) (NN box))) (, ,) (CC and) (VP (VBZ displays) (NP (NP (NN heterogeneity)) (PP (IN in) (NP (NP (DT the) (JJ 5'-end) (NNS termini)) (PP (IN of) (NP (DT the) (NN mRNA)))))))) (. .))) +(S1 (S (NP (NP (DT The) (JJ latter) (CD ") (JJ nuclear) (NN factor)) (PP (IN for) (NP (VBN activated) (NN T) (NNS cells)))) (VP (VBZ ") (ADJP (JJ likely) (S (VP (VBZ contributes) (PP (TO to) (NP (NP (DT the) (NN tissue) (NN specificity)) (PP (IN of) (NP (JJ IL-2) (NN gene) (NN expression))))))))) (. .))) +(S1 (S (ADVP (RB Thus)) (, ,) (NP (PRP we)) (VP (VBD postulated) (SBAR (SBAR (IN that) (S (NP (NP (DT the) (JJ circadian) (NN modification)) (PP (IN of) (NP (NNP GR)))) (VP (VBD was) (ADJP (JJ independent) (PP (IN of) (NP (DT the) (JJ diurnal) (NNS fluctuations)))) (PP (IN in) (NP (NP (NN plasma) (JJ cortisol) (NN level)) (CC or) (NP (NP (DT the) (JJ circadian) (NNS variations)) (PP (IN in) (NP (JJ environmental) (NN lighting))))))))) (CC and) (SBAR (IN that) (S (NP (DT the) (NN rhythmicity)) (VP (MD might) (VP (VB be) (VP (VBN regulated) (PP (IN by) (NP (DT the) ('' ') (NP (JJ circadian) (NN pacemaker) (POS ')) (VP (VBN located) (PP (IN in) (NP (DT the) (JJ human) (JJ basal) (NN brain))))))))))))) (. .))) +(S1 (S (NP (JJ Such) (NN transcription) (NNS factors)) (VP (VBP play) (NP (NP (DT a) (JJ key) (NN role)) (PP (IN in) (NP (NP (DT the) (NN development)) (PP (IN of) (NP (NP (DT the) (JJ mature) (JJ T-cell) (NN phenotype)) (PP (IN by) (NP (NP (NN functioning) (RB as) (POS ')) (NN master) (NNS regulators))))) (PP (IN of) (NP (JJ T-cell) (NN differentiation) (POS '))))))) (. .))) +(S1 (S (NP (NP (DT The) (NN conversion)) (PP (IN of) (NP (DT the)))) (VP (VBD TCEd) (PP (TO to) (NP (NP (DT a) ('' ') (JJ perfect) ('' ') (NN NF-kB)) (SBAR (S (NP (JJ binding) (NN site)) (VP (VBZ leads) (PP (TO to) (NP (NP (NP (DT a) (ADJP (RBR tighter) (JJ binding)) (PP (IN of) (NP (NP (NNS NF-kB)) (PP (PP (TO to) (NP (JJ TCEd) (NN DNA))) (CC and) (PP (, ,) (PP (IN as) (NP (DT a) (JJ functional) (NN consequence))) (, ,) (TO to) (NP (NP (DT the) (NN activity)) (PP (IN of) (NP (DT the)))))))) (POS ')) (JJ converted) ('' ') (JJ TCEd) (NNS motifs)) (PP (IN in) (NP (NNP HeLa) (NNS cells))))))))))) (. .))) diff --git a/EVALB/evalb.c b/EVALB/evalb.c new file mode 100644 index 0000000..425c2f1 --- /dev/null +++ b/EVALB/evalb.c @@ -0,0 +1,1538 @@ +/*****************************************************************/ +/* evalb [-p param_file] [-dh] [-e n] gold-file test-file */ +/* */ +/* Evaluate bracketing in test-file against gold-file. */ +/* Return recall, precision, tagging accuracy. */ +/* */ +/*