Doğal Dil İşlemede Değerlendirme Metrikleri — BLEU

Nov 27 2022
Bu gönderi dizisinde, Doğal Dil İşleme alanındaki kullanım durumlarına özgü değerlendirme metriklerini tartışacağız. NLP'deki en yaygın görevler otomatik özetleme, soru cevaplama, makine çevirisidir.

Bu gönderi dizisinde, Doğal Dil İşleme alanındaki kullanım durumlarına özgü değerlendirme metriklerini tartışacağız. NLP'deki en yaygın görevler otomatik özetleme, soru cevaplama, makine çevirisidir. Bu ölçümlerin amacı, giriş metni verilen tahmin edilen metnin kalitesini belirlemektir. Öngörülen metin Aday olarak adlandırılır ve olası doğru veya hedef metinler Referans olarak adlandırılır.

Bu ölçümler, Geri Çağırma, Kesinlik ve F1 Puanı gibi bazı temel ölçümlere dayanmaktadır. Bu metriklerin farkında değilseniz, bunları kapsayan şu makaleye göz atın: Geri Çağırma, Kesinlik, F1 Puanı . Bu metriklerin hesaplanması ve anlaşılması için n-gram kavramı da önemlidir.

Aşağıdaki ölçümler genellikle Makine Çevirisi veya Otomatik Özetleme için kullanılır, ancak girdi ve hedef metin çiftlerini içeren diğer tüm görevlere uygulanabilir. Modellerin değerlendirilmesinin yanı sıra bu ölçümler, Makine Öğrenimi modellerinin hiperparametre ayarı için de kullanılabilir. İlk gönderide, Makine Çevirisini değerlendirmek için sıklıkla kullanılan BLEU metriğini ele alacağız.

İki Dilli Değerlendirme Öğrencisi (BLEU)

BLEU puanı, bir dizi referansla karşılaştırıldığında, aday olarak anılan tahmin edilen metnin kalitesini ölçer. Sequence to Sequence görevlerinde bir aday için birden fazla doğru/referans olabilir. Bu nedenle, referansların dikkatli bir şekilde seçilmesi ve olası tüm referansların dahil edilmesi önemlidir. BLEU puanı kesinliğe dayalı bir ölçümdür ve 0 ile 1 arasında değişir. Değer 1'e ne kadar yakınsa tahmin o kadar iyidir. 1 değerine ulaşmak mümkün değildir ve genellikle 0,3'ten yüksek bir değer iyi bir puan olarak kabul edilir.

Bir sonraki bölümde, örnek olarak tahmin edilen tek bir cümle üzerinde BLEU'nun hesaplanmasını ve ardından bir derlem hesaplamasını görüyoruz.

Hassas

Önceki gönderimizdeki kesinlik tanımını hatırlarsak (kelime oyunu değil), bu Gerçek Pozitifler/(Gerçek Pozitifler + Yanlış Pozitifler). Bu bağlamda, Gerçek Pozitifler, aday ve referans arasındaki tüm eşleşen n-gramlardır. Buradaki Yanlış Pozitifler, adayda görünen ancak referansta bulunmayan n-gramlar olarak görülebilir. Bu, kesinliğin, eşleşen n-gram sayısının adaydaki toplam n-gram sayısına bölünmesiyle elde edilebileceği anlamına gelir.

Reference: "Transformers make everything quick and efficient"
Candidate: "Transformers Transformers Transformers Transformers"

Değiştirilmiş Hassasiyet (MP)

Değiştirilmiş Kesinliği hesaplamak için, bir n-gramın sayısı, referanslarda göründüğü maksimum sayıya göre kırpılır. Aşağıda gösterilen formülde Max_Ref_Count ile gösterilir.

BLEU kağıdından Kırpılmış Sayım Formülü

Bir önceki bölümdeki örneğimizde Transformers, referanslarda sadece bir kez ve adayda 4 kez görünür. min (4, 1) dikkate alınır ve değiştirilen kesinlik şimdi 1/4 = 0,25'tir. Bu değer daha düşüktür ve bu nedenle bize tahminin kalitesi hakkında daha iyi bir tahmin verir.

Genellemek gerekirse, MP için formül aşağıda verilmiştir. Derlemdeki tüm adaylar için referanslarla eşleşen n-gramların sayısı sayılır ve toplanır. Bu, referanslardaki tüm n-gramların sayımlarının toplamına bölünür.

BLEU kağıdından Değiştirilmiş Hassasiyet Formülü

Kısalık Cezası(BP)

Bazen, daha uzun cümleler için adaylar çok küçük olabilir ve referansla ilgili önemli bilgiler eksik olabilir. Aşağıdaki örneği göz önünde bulundurun:

Reference: "Transformers make everything quick and efficient through 
            parallel computation of self-attention heads"
Candidate: "Transformers make everything quick and efficient"

Girin, Kısalık Cezası(BP). Bu terim, referanslara kıyasla çok kısa olan tahminleri cezalandırmak için kullanılır. Aday uzunluk referans uzunluktan büyükse bu 1'dir. Aday uzunluğu referansın ima ettiği değerden küçükse r/c > 1, (1 — (r/c)) daha düşüktür ve üstel bir azalma vardır.

Son BLEU puanını elde etmek için N'ye kadar tüm değiştirilmiş kesinliklerin geometrik ortalaması hesaplanır ve BP ile çarpılır. Burada N, hesaplama için kullanılacak n-gram sırasıdır. Genel olarak 4'tür, yani uni, bi, tri ve tetra gramların tümü hesaplama için dikkate alınır. N'ye göre toplamı 1 olan w_1, w_2,… ile gösterilen ağırlıklarla ağırlıklandırılırlar. N = 4 için w_1 = w_2 = w_3 = w_4 = 1/4'tür.

BLEU kağıdından BP ve BLEU için formül

Yukarıdaki örnek cümle için, BP'nin exp(1 — (reference_length/translation_length)) = exp(1 — (6/12)) = 0,37 olarak hesaplandığını görebiliriz. Bu değer MP(1, çünkü biz sadece unigram kullanıyoruz) ile çarpıldığında, eksik n-gramları açıklayan 1 yerine 0,37 gibi çok daha düşük BLEU puanı verir.

Bu gönderide, hesaplama kolaylığı için unigramları kullandık. Ancak burada kelime sırası göz ardı edildiğinden adayları değerlendirmek için çoğu zaman yeterli olmuyorlar. Örneğin, “Etkin Transformatörler hızlı tahmin yapar” adayı, cümlenin anlamını değiştiriyor ancak kaynakta eşleşen kelimeler olduğu için yüksek bir MP puanı (0,6) veriyor. Bundan kaçınmak için puanları 2-4 gram ile değerlendirmek daha iyidir.

Corpus BLEU

Anlama kolaylığı için şimdiye kadar tek bir metin çifti kullandık, ancak BLEU puanı genellikle her aday için bir veya daha fazla referansla tüm derlem için hesaplanır.

Şimdi aşağıdaki derlem için BLEU puanını hesaplayalım. Adayların bir çeviri sisteminin sonuçları olduğunu varsayalım.

import evaluate
bleu = evaluate.load('bleu')
predictions = ["Transformers Transformers are fast plus efficient", 
               "Good Morning", "I am waiting for new Transformers"]
references = [
              ["HuggingFace Transformers are quick, efficient and awesome", 
               "Transformers are awesome because they are fast to execute"], 
              ["Good Morning Transformers", "Morning Transformers"], 
              ["People are eagerly waiting for new Transformer models", 
               "People are very excited about new Transformers"]

]
results = bleu.compute(predictions=predictions, references=references, 
          max_order = 2)
print(results)

{'bleu': 0.5037930378757725,
'precisions': [0.7142857142857143, 0.5454545454545454], 
'brevity_penalty': 0.8071177470053892, 'length_ratio': 0.8235294117647058, 
'translation_length': 14, 'reference_length': 17}

Benzer şekilde, çıktıdaki kesinlik dizisindeki ikinci değer olan bigramlarla değiştirilen kesinliği hesaplayın.

Buradaki ağırlıklar w_1, w_2 1/2'dir, çünkü maksimum sıra yalnızca 2'dir. Kesinlik değerlerinin geometrik ortalaması daha sonra nihai puanı almak için BP ile çarpılır. BP'yi hesaplamak için toplam aday uzunluğu 14(c) ve etkin referans uzunluğu 17(r)'dir. Etkili referans uzunluğu, adaya daha yakın olan referanslardaki n-gramların toplanmasıyla hesaplanır. Burada Referans için - 1 ilk cümle 8 belirteçle seçilir, Referans-2 ve 3'ün ikinci cümlelerinde 2 ve 7 belirteç bulunur.

Son BLEU hesaplaması,

Total MP = (0.7142857142857143)^0.5 * (0.5454545454545454)^0.5
Total MP = 0.6241878

Since c < r, 

BP = exp(1 - (17/14)) =  0.8071177

BLEU = BP * Total MP = 0.8071177 * 0.6241878 = 0.503793

Rounded BLEU score = 0.5

  1. BLEU puanının hesaplanması kolaydır ve yaygın olarak kullanılmaktadır.
  2. BLEU puanının, tahmin kalitesine ilişkin insan yargısı ile yüksek bir korelasyona sahip olduğu görülmüştür.
  1. n-gramların eşanlamlıları, referanslardan biri olarak mevcut olmadıkça dikkate alınmaz. Bunun nedeni, n-gramların anlamının dikkate alınmamasıdır. Örneğin, "Transformers hızlı ve verimlidir" ve "Transformers hızlı yürütme süresine sahiptir" benzer bir anlama sahiptir ancak BLEU-1 puanı yalnızca 0,2'dir.
  2. Kelime sırası sorunu, yalnızca yüksek dereceli n-gramlar kullanılarak çözülemez. Örneğin, “hızlı ve verimli Transformers” adayı, “Transformers hızlı ve verimlidir” referansıyla yüksek bir BLEU-2 puanı (0.87) verir ancak çeviri doğru kabul edilemez.
  3. BLEU puanı, referans sayısı, normalleştirme ve simgeleştirme teknikleri vb. faktörlere bağlı olarak büyük ölçüde değişir. Bu nedenle, farklı teknikleri kullanan veri kümeleri arasında karşılaştırma yapmak için bunları kullanmak zordur.

Referanslar

TU Dortmund'da Veri Biliminde Yüksek Lisans öğrencisiyim. Gönderilerime ilişkin herhangi bir geri bildirim veya herhangi bir profesyonel iletişim için LinkedIn'de benimle bağlantı kurmaktan çekinmeyin .