Skip to main content

PyTorch implementation of BERT score

Project description

BERTScore

Automatic Evaluation Metric described in the paper BERTScore: Evaluating Text Generation with BERT.

Authors:

*: Equal Contribution

Overview

BERTScore leverages the pre-trained contextual embeddings from BERT and matches words in candidate and reference sentences by cosine similarity. It has been shown to correlate with human judgment on setence-level and system-level evaluation. Moreover, BERTScore computes precision, recall, and F1 measure, which can be useful for evaluating different language generation tasks.

For an illustration, BERTScore precision can be computed as

If you find this repo useful, please cite:

@article{bert-score,
  title={BERTScore: Evaluating Text Generation with BERT},
  author={Zhang, Tianyi and Kishore, Varsha and Wu, Felix and Weinberger, Kilian Q. and Artzi, Yoav.},
  journal={arXiv preprint arXiv:1904.09675},
  year={2019}
}

Installation

Install from pip by

pip install bert-score

Install it from the source by:

git clone https://github.com/Tiiiger/bert_score
cd bert_score
pip install -r requiremnts.txt
pip install .

Usage

Metric

We provide a command line interface(CLI) of BERTScore as well as a python module. For the CLI, you can use it as follows:

  1. To evaluate English text files:

We provide example inputs under ./example.

bert-score -r example/refs.txt -c example/hyps.txt --bert bert-base-uncased 
  1. To evaluate Chinese text files:

Please format your input files similar to the ones in ./example.

bert-score -r [references] -c [candidates] --bert bert-base-chinese
  1. To evaluate text files in other languages:

Please format your input files similar to the ones in ./example.

bert-score -r [references] -c [candidates]

See more options by bert-score -h.

For the python module, we provide a demo. Please refer to bert_score/score.py for more details.

Acknowledgement

This repo wouldn't be possible without the awesome bert and pytorch-pretrained-BERT.

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

bert_score-0.1.2.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

bert_score-0.1.2-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file bert_score-0.1.2.tar.gz.

File metadata

  • Download URL: bert_score-0.1.2.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for bert_score-0.1.2.tar.gz
Algorithm Hash digest
SHA256 db27bb570d4adcf336ee88331139052581e2d80edf482b1bb140091cdd5c7056
MD5 b548221a52d9f6b45faf77ad482b1d54
BLAKE2b-256 45adaa216c4e58fc4c6d0d2ae07ae0d11881e9181932532ebff4bbec077d9432

See more details on using hashes here.

File details

Details for the file bert_score-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: bert_score-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for bert_score-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0dc5dba7dc34849f91e0a442f8cf0067f891ef46c8c4e8a08c19b7490c177aab
MD5 018aa69253f3a79e28d6b28fe1b596b0
BLAKE2b-256 19d8a11b9f21be4de8423e9fd3448a490e6b3c8de54afe759c772dad0deded28

See more details on using hashes here.

Supported by

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