1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*!
bleuscore is a [BLEU](https://en.wikipedia.org/wiki/BLEU) score calculator written in pure rust.
# Install:
The crate is called `bleuscore` and you can depend on it via cargo:
```ini
[dependencies]
bleuscore = "*"
```
# Features:
- Tokenized BLEU score calculation like
[huggingface evaluate](https://github.com/huggingface/evaluate/blob/main/metrics/bleu/bleu.py).
# Basic usage:
```rust
use bleuscore::{compute_score, RefLenMethod};
// get the references and prediction data:
let references: Vec<Vec<String>> = vec![vec!["Hello, World!".to_string()]];
let predictions: Vec<String> = vec!["Yellow, World!".to_string()];
// set the parameters:
let max_order: usize = 4;
let smooth: bool = true;
// calculate the BLEU score:
let res = compute_score(
&references,
&predictions,
max_order,
smooth,
RefLenMethod::Shortest,
);
println!("result: {:?}", res);
// result: BleuScore { bleu: 0.668740304976422, precisions: [0.8, 0.75, 0.6666666666666666, 0.5],
// brevity_penalty: 1.0, length_ratio: 1.0, translation_length: 4, reference_length: 4 }
```
!*/
pub use ;