Google, 450.000 farklı türde metin sınıflandırması yaptı ve genel bir "model seçim algoritması" oluşturdu

Xinzhiyuan Raporu

Kaynak: developers.google.com

Derleyici: Xiao Qin, Daming

Xin Zhiyuan Rehberi Google resmi olarak bir "metin sınıflandırması" kılavuzu eğiticisini başlattı. Bir metin sınıflandırma modeli seçme sürecini büyük ölçüde basitleştirmek için, yaklaşık 450 bin metin sınıflandırma deneyi yaptıktan sonra, Google genel bir "model seçim algoritması" özetledi ve çok pratik olan eksiksiz bir akış şeması ekledi.

Metin sınıflandırması Algoritmalar, metin verilerini büyük ölçekte işleyen çeşitli yazılım sistemlerinin temelini oluşturur. Örneğin, e-posta yazılımı, alınan e-postaların gelen kutusuna mı yoksa istenmeyen klasörlere mi gönderileceğini belirlemek için metin sınıflandırmasını kullanır; tartışma forumları, kullanıcı yorumlarının uygunsuz olarak işaretlenip işaretlenmeyeceğini belirlemek için metin sınıflandırmasını kullanır.

Aşağıda iki Konu sınıflandırması (Konu sınıflandırması) örneği, görev, metin belgelerini önceden tanımlanmış bir dizi konu halinde sınıflandırmaktır. Konu sınıflandırma problemlerinin çoğu metindeki anahtar kelimelere dayanmaktadır.

Konu sınıflandırması, spam klasörlerine filtrelenen gelen spam e-postaları işaretlemek için kullanılır.

Diğer bir yaygın metin sınıflandırması duygu analizi (Duygu analizi), amacı metin içeriğinin kutupluluğunu tanımlamaktır: Türleri . Bu, ikili "beğenme / beğenmeme" veya 1 yıldızdan 5 yıldıza kadar bir derecelendirme gibi daha hassas bir seçenek kümesi kullanılarak derecelendirilebilir. Duygu analizi örnekleri, insanların Kara Panter filmlerini sevip sevmediklerini belirlemek için Twitter gönderilerini analiz etmeyi veya Wal-Mart'ın incelemelerinden yeni Nike markası hakkındaki genel kamuoyunun fikirlerini çıkarmayı içerir.

Bu kılavuz, size metin sınıflandırma problemlerini çözmek için bazı temel makine öğrenimi en iyi uygulamalarını öğretecektir. Öğreneceksiniz:

  • Makine öğrenimini kullanarak metin sınıflandırma sorunlarını çözmek için gelişmiş, uçtan uca iş akışı

  • Metin sınıflandırma problemleri için doğru model nasıl seçilir

  • Seçtiğiniz modeli uygulamak için TensorFlow nasıl kullanılır?

Metin sınıflandırması için iş akışı

Aşağıdakiler, makine öğrenimi sorunlarını çözmek için bir iş akışıdır

  • 1. Adım: Verileri toplayın

  • 2. Adım: Verilerinizi keşfedin

  • Adım 2.5: Bir model seçin *

  • 3. Adım: Verileri hazırlayın

  • 4. Adım: Modelinizi oluşturun, eğitin ve değerlendirin

  • Adım 5: Hiperparametreleri ayarlama

  • Adım 6: Modeli dağıtın

Makine öğrenimi sorunlarını çözmek için iş akışı

[Not] "Bir model seçmek", geleneksel bir makine öğrenimi iş akışında resmi bir adım değildir; ancak, probleminiz için doğru modeli seçmek, sonraki adımlarda işi netleştirip basitleştirebilen önemli bir görevdir.

Google Makine Öğrenimi Hızlandırıcı Kursu'nun "Metin Sınıflandırması" kılavuzu, her adımı ve bunların metin verileriyle nasıl uygulanacağını ayrıntılı olarak açıklar. Alan sınırlamaları nedeniyle, bu makale önemli en iyi uygulamaları ve pratik kuralları kapsama temelinde adım 2.5'e odaklanmaktadır: Veri setinin istatistiksel yapısına göre doğru model nasıl seçilir ve eksiksiz bir akış şeması nasıl sağlanır .

1. Adım: Verileri toplayın

Veri toplama Denetlenen herhangi bir makine öğrenimi problemini çözmenin en önemli adımıdır. Onu oluşturan veri kümesi ne kadar iyi, metin sınıflandırıcınız ne kadar iyi.

Çözmek istediğiniz belirli bir sorununuz yoksa, ancak yalnızca metin sınıflandırmasını keşfetmekle ilgileniyorsanız, çok sayıda açık kaynak veri kümesi mevcuttur. Aşağıdaki GitHub deposu ihtiyaçlarınız için yeterlidir:

https://github.com/google/eng-edu/blob/master/ml/guides/text_classification/load_data.py

Öte yandan, belirli bir sorunla uğraşıyorsanız, gerekli verileri toplamanız gerekir. Birçok kuruluş verilerine erişim sağlar Genel API Örneğin, Twitter API veya NY Times API, istediğiniz verileri bulmak için bunları kullanabilirsiniz.

Veri toplarken unutulmaması gereken bazı önemli noktalar şunlardır:

  • Herkese açık bir API kullanıyorsanız, lütfen kullanmadan önce API'nin sınırlamalarını anlayın. Örneğin, bazı API'ler sorgu hızına sınırlar koyar.

  • Ne kadar çok eğitim örneği (bu kılavuzun geri kalanında örnekler olarak anılacaktır), o kadar iyidir. Bu, modelin daha iyi genelleşmesine yardımcı olacaktır.

  • Her kategori veya konu için örneklem büyüklüğünün aşırı derecede dengesiz olmadığından emin olun. Diğer bir deyişle, her sınıfın önemli sayıda örneği olmalıdır.

  • Örneğin, yalnızca genel durumları değil, olası girdi alanını da yeterince kapsadığından emin olun.

Bu kılavuzda, bu iş akışını göstermek için IMDb'nin film inceleme veri kümesini kullanacağız. Bu veri kümesi, IMDb web sitesinde insanlar tarafından gönderilen film eleştirilerini ve ilgili etiketleri ("olumlu" veya "olumsuz") toplayarak gözden geçirenin filmi beğenip beğenmediğini belirtir. Bu, tipik bir duyarlılık analizi problemi örneğidir.

2. Adım: Verilerinizi keşfedin

  • Veri kümesini yükle

  • Verileri kontrol edin

  • Temel göstergeleri toplayın

Model oluşturma ve eğitme, iş akışının yalnızca bir parçasıdır. Verilerin özelliklerini önceden bilmek, daha iyi modeller oluşturmanıza yardımcı olabilir. Bu yalnızca daha yüksek doğruluk anlamına gelmez, aynı zamanda daha az eğitim verisi veya daha az bilgi işlem kaynağı gerektirir.

Adım 2.5: Bir model seçin

Bu noktada, veri setini topladık ve verilerin temel özelliklerini derinlemesine anladık. Daha sonra, 2. adımda topladığımız ölçümlere göre, Hangi sınıflandırma modelinin kullanılacağı . Bu, "Girdi sayılarını bekleyen algoritmalara metin verileri nasıl sunulur?" (Buna veri ön işleme ve vektörleştirme denir), "Ne tür bir model kullanmalıyız?", "Modelimiz ne kullanmalı? Yapılandırma parametreleri? "Vb.

On yıllarca süren araştırmalardan sonra, çok sayıda ön işleme ve model yapılandırma seçeneğine erişebildik. Bununla birlikte, aralarından seçim yapılabilecek çok sayıda uygulanabilir seçenek, eldeki spesifik sorunun karmaşıklığını ve kapsamını büyük ölçüde artırır. En iyi seçeneğin açık olmayabileceğini düşünürsek, doğal bir çözüm, olası her seçeneği denemek ve bazı seçenekleri sezgisel olarak dışlamaktır. Ancak bu maliyet çok pahalıdır.

Bu kılavuzda, bir metin sınıflandırma modeli seçme sürecini maksimum düzeyde basitleştirmeye çalışıyoruz. Belirli bir veri kümesi için amacımız, eğitim için gereken hesaplama süresini en aza indirirken maksimum doğruluğa yakın bir şekilde ulaşan bir algoritma bulmaktır. Farklı problem türleri için (özellikle duyarlılık analizi ve konu sınıflandırma problemleri) 12 veri seti kullandık. Çok sayıda (~ 450K) deney Her veri seti için dönüşümlü olarak farklı veri ön işleme teknikleri ve farklı model mimarileri kullanılmaktadır. Bu, en iyi seçimi etkileyen veri seti parametrelerini bulmamıza yardımcı olur.

Altında Model seçim algoritması (Model seçim algoritması) ve akış şeması Birçok deneyimizin bir özetidir.

Veri hazırlama ve model oluşturma algoritmaları

1. Her örnekteki örnek sayısı / kelime sayısı oranını hesaplayın.

2. Bu oran 1500'den azsa, metni n-gram olarak işaretleyin ve sınıflandırma için basit bir MLP modeli kullanın (aşağıdaki akış şemasının sol dalı):

a. Örneği n-gram kelimesine ayırın; n-gramları vektörlere dönüştürün.

b. Vektörün önemini puanlayın ve ardından dala göre ilk 20K'yı seçin.

c. Bir MLP modeli oluşturun.

3. Oran 1500'den büyükse, metni bir sıra olarak işaretleyin ve sınıflandırma için sepCNN modelini kullanın (akış şemasının sağ dalı):

a. Örneği kelimelere ayırın; sıklığa göre ilk 20.000 kelimeyi seçin.

b. Örnekleri kelime dizisi vektörlerine dönüştürün.

c) Orijinal örnek sayısı / örnek başına kelime sayısı oranı 15K'dan az ise, en iyi sonuçları elde etmek için önceden eğitilmiş ince ayarlı sepCNN modeli kullanılabilir.

4. Veri kümesi için en iyi model konfigürasyonunu bulmak üzere modelin performansını ölçmek için farklı hiperparametre değerleri kullanın.

Aşağıdaki akış şemasında sarı kutular, verileri ve model hazırlama sürecini temsil etmektedir. Gri ve yeşil kutular, her işlem için değerlendirdiğimiz seçenekleri gösterir. Yeşil kutular, her işlem için önerdiğimiz seçenekleri gösterir.

Bu akış şemasını ilk denemeniz için bir başlangıç noktası olarak kullanabilirsiniz, çünkü düşük hesaplama maliyetiyle iyi bir doğruluk elde etmenize olanak tanır. Sonraki yinelemelerde ilk modeli geliştirmeye devam edebilirsiniz.

Metin sınıflandırma akış şeması (büyütmek ve görüntülemek için tıklayın)

Bu akış şeması iki temel soruyu yanıtlar:

  • Hangi öğrenme algoritmasını veya modelini kullanmalıyız?

  • Metin ve etiketler arasındaki ilişkiyi etkili bir şekilde öğrenmek için verileri nasıl hazırlamalıyız?

  • İkinci sorunun cevabı, ilk sorunun cevabına bağlıdır; biz Verilerin ön işleme şekli, seçtiğimiz modele bağlı olacaktır. . Modeller kabaca iki kategoriye ayrılabilir: kelime sıralaması bilgilerini kullanan modeller ( Sıra modeli ) ve metni yalnızca kelime olarak değerlendiren bir "çanta" (setler) modeli ( n-gram modeli ).

    Dizi modeli şunları içerir: Evrişimli Sinir Ağı (CNN) , Tekrarlayan Sinir Ağı (RNN) ve çeşitleri . N-gram modeli şunları içerir: Lojistik regresyon , Basit çok katmanlı algılayıcı (MLP veya tam bağlı sinir ağı), Gradyan artıran ağaç (Gradyan destekli ağaçlar) ve Vektör makineleri desteklemek (SVM).

    Deneyde, "örnek sayısı" (S) ile "örnek başına düşen kelime sayısı" (W) oranının modelin performansı ile ilişkili olduğunu gözlemledik.

    Ne zaman Oranın değeri küçüktür ( < 1500) O zamanlar, girdi olarak n-gram olan küçük çok katmanlı algılayıcı (seçenek A) daha iyi veya en azından dizi modeli kadar iyi performans gösterdi. MLP'nin tanımlanması ve anlaşılması kolaydır ve sıra modellerinden daha az hesaplama süresi gerektirir.

    Bu ne zaman Oranın değeri büyük ( > = 1500) Dizi modelini kullandığımızda (B seçeneği). Sonraki adımlarda bu oranın büyüklüğüne göre seçilen modelin ilgili bölümlerini doğrudan okuyabilirsiniz.

    IMDb yorum veri setimiz için, örnek sayısı / örnek başına kelime sayısı oranı 144'ün altındadır. Bu, bir MLP modeli oluşturacağımız anlamına gelir.

    3. Adım: Verileri hazırlayın

    • N-gram vektör

    • Sıra vektörü

    • Etiketlerin vektörleştirilmesi

    4. Adım: Modeli oluşturun, eğitin ve değerlendirin

    • Son katmanı oluşturun

    • N-gram modeli oluşturun

    • Bir sıra modeli oluşturun

    • Eğitim modeli

    Adım 5: Hiperparametreleri ayarlama

    Adım 6: Modeli dağıtın

    sonuç olarak

    Metin sınıflandırması, çeşitli ürün uygulamalarında yer alan makine öğreniminde temel bir sorundur. Bu kılavuzda, metin sınıflandırmasının iş akışını birkaç adıma ayırıyoruz. Her adım için, belirli bir veri kümesinin özelliklerine dayalı özel bir uygulama yöntemi öneriyoruz. Özellikle, modelin en iyi performansa daha hızlı yaklaşabilmesi için, örnek sayısının her bir örnekteki kelime sayısına oranına dayalı olarak hangi modeli kullandığınızı öneriyoruz. Diğer adımlar modele göre seçilir. Bu kılavuzdaki önerileri takip ederek, ekteki koda ve akış şemasına başvurmak, metin sınıflandırma problemlerini öğrenmenize ve anlamanıza ve hızla çözüm bulmanıza yardımcı olacaktır.

    "Metin Sınıflandırma" kılavuz adresi:

    https://developers.google.com/machine-learning/guides/text-classification/

    Xinzhiyuan AI WORLD 2018 [Erken Kayıt Bileti] satışa çıktı!

    Xinzhiyuan, AI WORLD 2018 konferansını 20 Eylül'de Pekin'deki Ulusal Kongre Merkezi'nde gerçekleştirecek ve makine öğrenimi vaftiz babası, CMU profesörü Tom Mitchell, Mikes Tekmark, Zhou Zhihua, Tao Dacheng, Chen Yiran ve diğer AI liderlerini makine zekasına dikkat etmeye davet edecek. Ve insan kaderi.

    Konferans resmi web sitesi:

    Şu andan 19 Ağustos'a kadar Xinzhiyuan, küresel yapay zeka liderleriyle iletişim kurmak ve küresel yapay zeka endüstrisinin sıçrama gelişimine tanık olmak için sınırlı sayıda erken kayıt bileti satacak.

    • Aktivite hattı bileti satın alma bağlantısı:

    • Etkinlik satırı bilet alımı için QR kodu:

    Hayranların bu 6 yeni arabanın beklenenden daha fazla hayal kırıklığına uğradığını söylemek zor
    önceki
    Guangzhou'yu dikin ve Chongqing'i yenin! Mütevazı Kanton mutfağının doğduğu yer Chen Xiaoqingin favorisi ve herkese layıktır.
    Sonraki
    Lynk & Co anında hit olabilir mi? Geely, Kong Ming'i taklit ediyor ve üç ipucu veriyor
    Google AutoML gerçekten bu kadar muhteşem mi? Derin öğrenme "gizemden arındırılmalıdır"
    Japonya, İtalya'dan Pekin'e, bu yabancı gerçekten "dalga".
    İstihdam ve girişimcilik ve işsizlik sigortası poliçesi uygulama teşviki, Hanchuan eylemde
    Gözlerinizi açık tutun ve pişmanlık duymayın: Amerikan İmparatoru'nun en çok tavsiye edilen beş modeli hakkında kısa bir yorum
    Seyahate çıkmadan önce görmelisiniz! Qingming'e seyahat etmek için ipuçları, hepsi kuru mal!
    Karlı gün motosikleti kontrolü kaybetti ve buzlu nehre yuvarlandı, polis üniformalarını çıkardı ve insanları kurtarmak için nehre atladı ...
    Hanchuan 2 Nolu Ortaokulun taşınmasının ilerleyişine ilişkin rapor (9.5)
    Her yerde yeni arabalarla, hangi beş modeli dört gözle beklemeye değer?
    "Yatırımcıların AI kullanmasına izin verin" AI sunucusu, yüksek performanslı derin öğrenme modeli eğitimi için daha uygundur
    Afrika domuz vebası ülke geneline yayıldı 23 Ekim itibariyle salgın 12 ilde 31 şehri kapsadı!
    Artık ona "Küçük Maldivler" demeyin, dünyanın en güzel gün batımına sahip ...
    To Top