TextGenerationEvaluationMetrics
1.0.0
Dies ist die Umsetzung von Metriken zur Messung von Vielfalt und Qualität, die in diesem Artikel eingeführt werden. Außerdem gibt es einige andere Metriken.
Für Bleu und SelbstbleU wird diese Hyperformance-Implementierung verwendet.
Hier ist ein Beispiel zur Berechnung der MS-Jaccard-Distanz. Die Eingabe dieser Metriken ist eine Liste von tokenisierten Sätzen.
from multiset_distances import MultisetDistances
ref1 = [ 'It' , 'is' , 'a' , 'guide' , 'to' , 'action' , 'that' , 'ensures' , 'that' , 'the' , 'military' , 'will' , 'forever' , 'heed' , 'Party' , 'commands' ]
ref2 = [ 'It' , 'is' , 'the' , 'guiding' , 'principle' , 'which' , 'guarantees' , 'the' , 'military' , 'forces' , 'always' , 'being' , 'under' , 'the' , 'command' , 'of' , 'the' , 'Party' ]
ref3 = [ 'It' , 'is' , 'the' , 'practical' , 'guide' , 'for' , 'the' , 'army' , 'always' , 'to' , 'heed' , 'the' , 'directions' , 'of' , 'the' , 'party' ]
sen1 = [ 'It' , 'is' , 'a' , 'guide' , 'to' , 'action' , 'which' , 'ensures' , 'that' , 'the' , 'military' , 'always' , 'obeys' , 'the' , 'commands' , 'of' , 'the' , 'party' ]
sen2 = [ 'he' , 'read' , 'the' , 'book' , 'because' , 'he' , 'was' , 'interested' , 'in' , 'world' , 'history' ]
references = [ ref1 , ref2 , ref3 ]
sentences = [ sen1 , sen2 ]
msd = MultisetDistances ( references = references )
msj_distance = msd . get_jaccard_score ( sentences = sentences ) Der Wert von msj_distance beträgt {3: 0.17, 4: 0.13, 5: 0.09} , was MS-Jaccard für 3-Gramm, 4-GARM bzw. 5-Gramm zeigt.
Hier ist ein Beispiel zur Berechnung der FBD- und EMB -Entfernung. Die Eingabe dieser Metriken ist eine Liste von Zeichenfolgen, und Bert -Tokenizer wird im Code verwendet.
from bert_distances import FBD , EMBD
references = [ "that is very good" , "it is great" ]
sentences1 = [ "this is nice" , "that is good" ]
sentences2 = [ "it is bad" , "this is very bad" ]
fbd = FBD ( references = references , model_name = "bert-base-uncased" , bert_model_dir = "/tmp/Bert/" )
fbd_distance_sentences1 = fbd . get_score ( sentences = sentences1 )
fbd_distance_sentences2 = fbd . get_score ( sentences = sentences2 )
# fbd_distance_sentences1 = 17.8, fbd_distance_sentences2 = 22.0
embd = EMBD ( references = references , model_name = "bert-base-uncased" , bert_model_dir = "/tmp/Bert/" )
embd_distance_sentences1 = embd . get_score ( sentences = sentences1 )
embd_distance_sentences2 = embd . get_score ( sentences = sentences2 )
# embd_distance_sentences1 = 10.9, embd_distance_sentences2 = 20.4Bitte zitieren Sie unser Papier, wenn es bei Ihrer Forschung hilft.
@misc{montahaei2019jointly,
title={Jointly Measuring Diversity and Quality in Text Generation Models},
author={Ehsan Montahaei and Danial Alihosseini and Mahdieh Soleymani Baghshah},
year={2019},
eprint={1904.03971},
archivePrefix={arXiv},
primaryClass={cs.LG}
}