Mevcut çok girişli maksimum entropi sınıflandırıcısından maksimum entropi Markov modeli oluşturma


9

Bir Maksimum Entropi Markov Modeli (MEMM) kavramı ile ilgileniyorum ve bunu Konuşma Parçası (POS) etiketleyici için kullanmayı düşünüyorum. Şu anda, her bir kelimeyi etiketlemek için geleneksel bir Maksimum Entropi (ME) sınıflandırıcısı kullanıyorum. Bu, önceki iki etiket de dahil olmak üzere bir dizi özellik kullanır.

MEMM'ler, Viterbi algoritmasını Markov Zinciri boyunca optimum yolu bulmak için kullanır (yani, her kelime için ayrı ayrı optimumlar yerine cümle için eksiksiz bir optimum etiket kümesi bulmak için). Bunu okurken, bu harika bir zarafet ve sadeliğe sahip gibi görünüyor. Ancak, her aşama sadece bir önceki aşamanın "sonuçlarına" dayanır (yani bir Markov Zinciri'ne göre).

Ancak, ME modelim önceki iki aşamayı kullanır (yani önceki iki sözcüğün etiketleri). İki olası yaklaşımım var gibi görünüyor:

  • Geleneksel bir Viterbi uygulamasında olduğu gibi, bir (önceki) aşamaya göre saklanan bir yol kümesi kullanın. ME sınıflandırıcım, transfer fonksiyonunu üretmek için bu ve bundan önce (söz konusu yola dondurulmuş) bu ve 'dondurulmuş' aşamayı kullanırdı.

  • Ya da iki aşamayı takip etmek için algoritmayı yazıyorum. Bu daha karmaşıktır ve artık gerçek bir Markov Modeli olmayacaktır çünkü her transfer fonksiyonu (yani ME Modelinden) bir aşamaya değil önceki iki aşamaya bağlı olacaktır.

Daha karmaşık olmasına rağmen, ikincisinin daha doğru olacağına dikkat çekiyor.

Literatür araştırmamda bununla ilgili henüz bir örnek bulamadım. Denendi mi? İki aşamalı yaklaşım genel doğrulukta bir gelişme sağladı mı?

Yanıtlar:


4

(Bu gerçekten karşı karşıya olduğum gerçek bir soru ve ML StackExchange sitesi canlı yayında oldukça mükemmel bir zamanlama oldu: Birkaç gün kitap okuma ve çevrimiçi araştırma yaptım ve uygulamaya başlamak üzereydim. İşte sonuçlarım. onlar benim kendi soruma cevap verdiklerini düşünüyorum. Şimdilik herhangi bir yararlı girdisi varsa, benzer bir şey denediğinde veya bazı yararlı referansları varsa, soruyu şimdilik açık bırakacağım.)

Tamam, son birkaç gün içinde bunu kodladım. Kod çok verimli değil - çok sayıda koleksiyon oluşturma ve kopyalama, ancak egzersizin amacı işe yarayıp yaramayacağını ve ne kadar iyi çalıştığını görmekti.

Verilerimi rasgele iki listeye ayırıyorum: egzersiz verileri ve test verileri. Test verilerini geleneksel Maksimum Entropi POS Etiketleyici üzerinden çalıştırıyorum; ve yeni MEMM etiketleyicim. Dolayısıyla, aynı test verilerini görüyorlar, doğrudan karşılaştırmaya izin veriyorlar - seçilen verilerdeki rasgelelik nedeniyle, testler arasında bazı farklılıklar görüyorum (tipik olarak yaklaşık% 0.2-0.4).

İlk test, tek aşamalı bir MEMM etiketleyici kullanır (yani gerçek bir Markov Zinciri). Bu sürekli olarak basit ME etiketleyicisinden yaklaşık% 0.1-0.25 daha iyi performans gösterdi.

Daha sonra, daha doğru olması gereken iki aşamalı yaklaşımı denedim. Ancak sonuçlar daha da marjinaldi. Genellikle sonuçlar özdeş olur, bazen biraz daha düşük olur, ancak muhtemelen çoğu zaman biraz daha iyiydi (yani +/-% 0,05).

MEMM etiketleyici yavaş. Tamam, herhangi bir optimizasyon uygulamadım, ancak 1 aşaması (gerçek Markov Zinciri) N kat daha yavaştır (burada N = Etiket sayısı) çünkü bu, her adım arasında aktarılan yolların sayısıdır. 2 aşamalı uygulama N * N yavaştır (aktarılan yol sayısının fazla olması nedeniyle). Optimizasyonlar işleri iyileştirebilse de, bu muhtemelen çoğu pratik uygulama için çok yavaştır.

Denediğim bir şey, yollara daha düşük bir olasılık sınırı uygulamaktır. Yani. Viterbi yolları, her bir yineleme sırasında belirli bir olasılıkın altındaki tüm yollar ile budanır (şu anda Log (toplam yol P) <- 20.0) budanır. Bu biraz daha hızlı çalışıyor, ancak buna değip değmeyeceği sorusu devam ediyor. Sanırım muhtemelen değil.

Neden bir gelişme görmüyoruz? Bence bu öncelikle POS etiketlerinin davranış şekli ve Maksimum Entropi modeli. Model, önceki iki etikete dayalı özellikler alsa da, hemen önceki etiket, önceki etikete göre çok daha önemlidir. Sezgisel olarak bu, İngilizce dili için anlamlı olacaktır (örn. Bir sıfat genellikle bir isim veya başka bir sıfat tarafından takip edilir, ancak bu gerçekten sıfattan önce olana bağlı değildir).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.