TextGenerationEvaluationMetrics
1.0.0
これは、このペーパーで導入された多様性と品質を測定するためのメトリックの実装です。その上、他のいくつかのメトリックが存在します。
BLEUとSelfBleuの場合、このハイパフォーマンスの実装が使用されます。
MS-Jaccard距離を計算する例を次に示します。これらのメトリックの入力は、トークン化された文のリストです。
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 ) msj_distanceの値は{3: 0.17, 4: 0.13, 5: 0.09}であり、それぞれ3グラム、4-GARM、5グラムのMS-Jaccardを示しています。
FBDとEMBD距離を計算する例を次に示します。これらのメトリックの入力は文字列のリストであり、Bert Tokenizerはコードで使用されています。
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.4それがあなたの研究に役立つなら、私たちの論文を引用してください。
@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}
}