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
Remove the dependency of pytablewriter
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)
Built Distribution
PYEVALB-0.1.3-py3-none-any.whl
(13.1 kB
view details)
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8991587bd33ac852781218779901c0f86af5bb1ccb17f1901045dcc7878dce7e |
|
MD5 | e1122784d3f014093e660e12babdc5a0 |
|
BLAKE2b-256 | 3de97ad269e7891de4565dd255771ab943e7ea72582ed467d53893698034d070 |
File details
Details for the file PYEVALB-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: PYEVALB-0.1.3-py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8387340b969ad31c48d73e6af3bacec6930abc1b1d74085d227410df4d08e7a4 |
|
MD5 | af670b998726ae2179d798f299776801 |
|
BLAKE2b-256 | ff2a7ef00e374e0378ad939b3e544c79418b9d61f29cead690201b391a3c8a61 |