Skip to main content

Scoring tools for bracket tree banks.

Project description

PYEVALB

EVEVALB is a python version of Evalb which is used to score the bracket tree banks.

Installation

pip install PYEVALB

Examples

Score two corpus

from PYEVALB import scorer

gold_path = 'gold_corpus.txt'
test_path = 'test_corpus.txt'
result_path = 'result.txt'

scorer.evalb(gold_path, test_path, result_path)

And the result would be:

 ID | length | state | recall | prec | matched_brackets | gold_brackets | test_brackets | cross_brackets | words | correct_tags | tag_accracy
---:|-------:|------:|-------:|-----:|-----------------:|--------------:|--------------:|---------------:|------:|-------------:|------------:
   0|      44|      0|    0.57|  0.61|                31|             54|             51|              16|     44|            43|         0.98
   1|      13|      0|    0.64|  0.60|                 9|             14|             15|               3|     13|            12|         0.92
   2|      29|      0|    0.97|  0.97|                29|             30|             30|               0|     29|            29|         1.00
   3|      20|      0|    0.80|  0.80|                20|             25|             25|               4|     20|            20|         1.00
   4|      19|      0|    0.91|  1.00|                21|             23|             21|               0|     19|            19|         1.00
   5|      71|      0|    0.67|  0.68|                52|             78|             77|              15|     71|            65|         0.92
   6|      16|      0|    0.61|  0.69|                11|             18|             16|               0|     16|            14|         0.88
   7|      27|      0|    0.92|  0.96|                24|             26|             25|               0|     27|            26|         0.96
   8|      19|      0|    1.00|  1.00|                20|             20|             20|               0|     19|            19|         1.00
   9|      41|      0|    0.80|  0.78|                32|             40|             41|               5|     41|            39|         0.95

=================================================================================================================================================
Number of sentence: 10.00
Number of Error sentence:   0.00
Number of Skip  sentence:   0.00
Number of Valid sentence:   10.00
Bracketing Recall:  75.91
Bracketing Precision:       77.57
Bracketing FMeasure:        76.73
Complete match:     10.00
Average crossing:   4.30
No crossing:        50.00
Tagging accuracy:   95.65

Score two trees

from PYEVALB import scorer
from PYEVALB import parser

gold = '(IP (NP (PN 这里)) (VP (ADVP (AD 便)) (VP (VV 产生) (IP (NP (QP (CD 一) (CLP (M 个))) (DNP (NP (JJ 结构性)) (DEG 的)) (NP (NN 盲点))) (PU :) (IP (VP (VV 臭味相投) (PU ,) (VV 物以类聚)))))) (PU 。))'

test = '(IP (IP (NP (PN 这里)) (VP (ADVP (AD 便)) (VP (VV 产生) (NP (QP (CD 一) (CLP (M 个))) (DNP (ADJP (JJ 结构性)) (DEG 的)) (NP (NN 盲点)))))) (PU :) (IP (NP (NN 臭味相投)) (PU ,) (VP (VV 物以类聚))) (PU 。))'

gold_tree = parser.create_from_bracket_string(gold)
test_tree = parser.create_from_bracket_string(test)

result = scorer.score_trees(gold_tree, test_tree)

print('Recall =' + str(result.recall))
print('Precision =' + str(result.prec))

And the result is:

Recall = 64.29
Precision =  56.25

TODO

  1. Remove the dependency of pytablewriter

  2. Add more configurations, such as limiting the length of sentence.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PYEVALB-0.1.3.tar.gz (23.0 kB view details)

Uploaded Source

Built Distribution

PYEVALB-0.1.3-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file PYEVALB-0.1.3.tar.gz.

File metadata

  • Download URL: PYEVALB-0.1.3.tar.gz
  • Upload date:
  • Size: 23.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for PYEVALB-0.1.3.tar.gz
Algorithm Hash digest
SHA256 8991587bd33ac852781218779901c0f86af5bb1ccb17f1901045dcc7878dce7e
MD5 e1122784d3f014093e660e12babdc5a0
BLAKE2b-256 3de97ad269e7891de4565dd255771ab943e7ea72582ed467d53893698034d070

See more details on using hashes here.

File details

Details for the file PYEVALB-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for PYEVALB-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8387340b969ad31c48d73e6af3bacec6930abc1b1d74085d227410df4d08e7a4
MD5 af670b998726ae2179d798f299776801
BLAKE2b-256 ff2a7ef00e374e0378ad939b3e544c79418b9d61f29cead690201b391a3c8a61

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page