Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Machine Learning Stüdyosu (klasik) desteği 31 Ağustos 2024'te sona erecektir. Bu tarihe kadar Azure Machine Learning'e geçmenizi öneririz.
1 Aralık 2021'den başlayarak artık yeni Machine Learning Stüdyosu (klasik) kaynakları oluşturamayacaksınız. 31 Ağustos 2024'e kadar mevcut Machine Learning Stüdyosu (klasik) kaynaklarını kullanmaya devam edebilirsiniz.
- Makine öğrenmesi projelerini ML Studio'dan (klasik) Azure Machine Learning taşıma hakkındaki bilgilere bakın.
- Azure Machine Learning hakkında daha fazla bilgi edinin.
ML Stüdyosu (klasik) belgeleri kullanımdan kaldırılacak ve gelecekte güncelleştirilmeyecektir.
Vowpal Wabbit kitaplığını kullanarak metin verilerini tamsayı kodlanmış özelliklere dönüştürür
Kategori: Metin Analizi
Not
Şunlar için geçerlidir: yalnızca Machine Learning Studio (klasik)
Benzer sürükle ve bırak modülleri de Azure Machine Learning tasarımcısında kullanılabilir.
Modüle genel bakış
Bu makalede, bir İngilizce metin akışını tamsayı olarak temsil edilen bir özellik kümesine dönüştürmek için Machine Learning Studio'da (klasik) Özellik Karması modülünün nasıl kullanılacağı açıklanmaktadır. Daha sonra bu karma özellik kümesini bir makine öğrenmesi algoritmasına geçirerek metin analizi modelini eğitebilirsiniz.
Bu modülde sağlanan özellik karması işlevi Vowpal Wabbit çerçevesini temel alır. Daha fazla bilgi için bkz . Vowpal Wabbit 7-4 Modelini Eğit veya Vowpal Wabbit 7-10 Modelini Eğit.
Özellik karması hakkında daha fazla bilgi
Özellik karması, benzersiz belirteçleri tamsayılara dönüştürerek çalışır. Giriş olarak sağladığınız tam dizeler üzerinde çalışır ve herhangi bir dil analizi veya ön işlem gerçekleştirmez.
Örneğin, bunlar gibi bir dizi basit cümleyi ve ardından bir yaklaşım puanı alın. Model oluşturmak için bu metni kullanmak istediğinizi varsayalım.
| USERTEXT | DUYGULARI |
|---|---|
| Bu kitabı çok sevdim. | 3 |
| Bu kitaptan nefret ettim. | 1 |
| Bu kitap harikaydı | 3 |
| Kitapları severim | 2 |
Dahili olarak, Özellik Karması modülü n gramlık bir sözlük oluşturur. Örneğin, bu veri kümesinin bigrams listesi şöyle olabilir:
| TERM (bigrams) | FREKANS |
|---|---|
| Bu kitap | 3 |
| Çok sevdim. | 1 |
| Nefret ettim | 1 |
| Ben seviyorum | 1 |
N-gram özelliğini kullanarak n gram boyutunu denetleyebilirsiniz. Bigram'ları seçerseniz, tek birimleri de hesaplanır. Bu nedenle, sözlük aşağıdakine benzer tek terimler de içerebilir:
| Terim (tek birimleri) | FREKANS |
|---|---|
| Kitap | 3 |
| I | 3 |
| kitaplar | 1 |
| was | 1 |
Sözlük oluşturulduktan sonra Özellik Karması modülü sözlük terimlerini karma değerlere dönüştürür ve her durumda bir özelliğin kullanılıp kullanılmadığını hesaplar. Her metin verisi satırı için modül, her karma özellik için bir sütun olmak üzere bir sütun kümesi oluşturur.
Örneğin, karma oluşturma sonrasında özellik sütunları şöyle görünebilir:
| Derecelendirme | Karma özelliği 1 | Karma özelliği 2 | Karma özelliği 3 |
|---|---|---|---|
| 4 | 1 | 1 | 0 |
| 5 | 0 | 0 | 0 |
- Sütundaki değer 0 ise, satır karma özelliğini içermiyordur.
- Değer 1 ise, satır özelliği içeriyordu.
Özellik karması kullanmanın avantajı, değişken uzunluktaki metin belgelerini eşit uzunlukta sayısal özellik vektörleri olarak gösterebilmeniz ve boyutsallığı azaltabilmenizdir. Buna karşılık, eğitim için metin sütununu olduğu gibi kullanmaya çalışırsanız, birçok farklı değer içeren kategorik bir özellik sütunu olarak kabul edilir.
Çıkışların sayısal olması, sınıflandırma, kümeleme veya bilgi alma dahil olmak üzere verilerle birçok farklı makine öğrenmesi yönteminin kullanılmasını da mümkün kılar. Arama işlemleri dize karşılaştırmaları yerine tamsayı karmalarını kullanabileceğinden, özellik ağırlıklarını almak da çok daha hızlıdır.
Özellik Karması'nın yapılandırılması
Studio'daki (klasik) denemenize Özellik Karması modülünü ekleyin.
Çözümlemek istediğiniz metni içeren veri kümesini Bağlan.
İpucu
Özellik karması, sözcük kökü oluşturma veya kesme gibi sözcük temelli işlemler gerçekleştirmediğinden, bazen özellik karması uygulamadan önce metin ön işlemesi yaparak daha iyi sonuçlar elde edebilirsiniz. Öneriler için En iyi yöntemler ve Teknik notlar bölümlerine bakın.
Hedef sütunlar için karma özelliklere dönüştürmek istediğiniz metin sütunlarını seçin.
Sütunlar dize veri türü olmalı ve Özellik sütunu olarak işaretlenmelidir.
Giriş olarak kullanılacak birden çok metin sütunu seçerseniz, bunun özellik boyutsallığı üzerinde büyük bir etkisi olabilir. Örneğin, tek bir metin sütunu için 10 bit karma kullanılırsa, çıkış 1024 sütun içerir. İki metin sütunu için 10 bit karma kullanılırsa, çıkış 2048 sütun içerir.
Not
Varsayılan olarak, Studio (klasik) çoğu metin sütunlarını özellik olarak işaretler, bu nedenle tüm metin sütunlarını seçerseniz, aslında serbest metin olmayanlar da dahil olmak üzere çok fazla sütun alabilirsiniz. Diğer metin sütunlarının karma olmasını önlemek için Meta Verileri Düzenle'dekiÖzelliği temizle seçeneğini kullanın.
Karma tablosunu oluştururken kullanılacak bit sayısını belirtmek için Karma bit boyutu kullanın.
Varsayılan bit boyutu 10'dur. Birçok sorun için bu değer yeterliden fazladır, ancak verileriniz için yeterli olup olmadığı, eğitim metnindeki n gramlık sözcük dağarcığının boyutuna bağlıdır. Büyük bir kelime dağarcığıyla çarpışmaları önlemek için daha fazla alan gerekebilir.
Bu parametre için farklı sayıda bit kullanmayı denemenizi ve makine öğrenmesi çözümünün performansını değerlendirmenizi öneririz.
N-gram için, eğitim sözlüğüne eklenecek n-gram uzunluğunu tanımlayan bir sayı yazın. N-gram, benzersiz bir birim olarak ele alınan n sözcük dizisidir.
N-gram = 1: Tekgramlar veya tek sözcükler.
N-gram = 2: Bigram'lar veya iki sözcüklü diziler ve tekgramlar.
N-gram = 3: Trigramlar veya üç sözcüklü diziler, artı olarak bigramlar ve tek birimleri.
Denemeyi çalıştırın.
Sonuçlar
İşlem tamamlandıktan sonra modül, özgün metin sütununun birden çok sütuna dönüştürüldüğü ve her biri metindeki bir özelliği temsil eden dönüştürülmüş bir veri kümesi oluşturur. Sözlüğün ne kadar büyük olduğuna bağlı olarak, sonuçta elde edilen veri kümesi son derece büyük olabilir:
| Sütun adı 1 | Sütun türü 2 |
|---|---|
| USERTEXT | Özgün veri sütunu |
| DUYGULARI | Özgün veri sütunu |
| USERTEXT - Karma özelliği 1 | Karma özellik sütunu |
| USERTEXT - Karma özelliği 2 | Karma özellik sütunu |
| USERTEXT - Karma özelliği n | Karma özellik sütunu |
| USERTEXT - Karma özelliği 1024 | Karma özellik sütunu |
Dönüştürülen veri kümesini oluşturduktan sonra Modeli Eğit modülüne giriş olarak ve İki Sınıflı Destek Vektör Makinesi gibi iyi bir sınıflandırma modeliyle birlikte kullanabilirsiniz.
En iyi yöntemler
Metin verilerini modelleme sırasında kullanabileceğiniz bazı en iyi yöntemler, bir denemeyi temsil eden aşağıdaki diyagramda gösterilmiştir

Giriş metnini önceden işlemek için Özellik Karması'nı kullanmadan önce bir R Betiği Yürütme modülü eklemeniz gerekebilir. R betiği ile özel sözcük dağarcığını veya özel dönüşümleri kullanma esnekliğine de sahipsiniz.
Çıkış veri kümesinden metin sütunlarını kaldırmak için Özellik Karması modülünden sonra Veri Kümesindeki Sütunları Seçme modülü eklemelisiniz. Karma özellikleri oluşturulduktan sonra metin sütunlarına ihtiyacınız yoktur.
Alternatif olarak, özellik özniteliğini metin sütunundan temizlemek için Meta Verileri Düzenle modülünü kullanabilirsiniz.
Ayrıca sonuçları basitleştirmek ve doğruluğu artırmak için bu metin ön işleme seçeneklerini kullanmayı göz önünde bulundurun:
- hataya neden olan sözcük
- sözcük kaldırmayı durdur
- büyük/küçük harf normalleştirme
- noktalama işaretlerinin ve özel karakterlerin kaldırılması
- Dallanma.
Herhangi bir çözümde uygulanacak en uygun ön işleme yöntemleri kümesi etki alanına, kelime dağarcığına ve iş gereksinimine bağlıdır. Hangi özel metin işleme yöntemlerinin en etkili olduğunu görmek için verilerinizle denemeler yapmanızı öneririz.
Örnekler
Özellik karması özelliğinin metin analizi için nasıl kullanıldığına ilişkin örnekler için bkz. Azure AI Galerisi:
Haber Kategorisi: Makaleleri önceden tanımlanmış bir kategori listesine sınıflandırmak için özellik karması kullanır.
Benzer Şirketler: Şirketleri kategorilere ayırmak için Wikipedia makalelerinin metnini kullanır.
Metin Sınıflandırması: Bu beş bölümden oluşan örnek, yaklaşım analizi gerçekleştirmek için Twitter mesajlarından metin kullanır.
Teknik notlar
Bu bölüm uygulama ayrıntılarını, ipuçlarını ve sık sorulan soruların yanıtlarını içerir.
İpucu
Özellik karmasını kullanmaya ek olarak, metinden özellikleri ayıklamak için başka yöntemler de kullanmak isteyebilirsiniz. Örnek:
- Yazım hataları gibi yapıtları kaldırmak veya karmaya metin hazırlamayı basitleştirmek için Metni Önişle modülünü kullanın.
- Tümcecikleri ayıklamak için doğal dil işlemeyi kullanmak için Anahtar İfadeleri Ayıkla'yı kullanın.
- Önemli varlıkları tanımlamak için Adlandırılmış Varlık Tanıma'yi kullanın.
Machine Learning Studio (klasik), özellik ayıklama için Özellik Karması modülünü kullanma konusunda size yol gösteren bir Metin Sınıflandırması şablonu sağlar.
Uygulama ayrıntıları
Özellik Karması modülü, özellikleri bellek içi dizinlere dönüştüren Vowpal Wabbit adlı hızlı bir makine öğrenmesi çerçevesi kullanır ve murmurhash3 adlı popüler bir açık kaynak karma işlevi kullanır. Bu karma işlevi, metin girişlerini tamsayılarla eşleyen şifreleme olmayan bir karma algoritmasıdır ve anahtarların rastgele dağılımında iyi performans sergilediğinden popülerdir. Şifreleme karma işlevlerinin aksine, bir saldırgan tarafından kolayca tersine çevrilebilir, böylece şifreleme amacıyla uygun değildir.
Karma oluşturmanın amacı, boyutsallığın azaltılmasını desteklemek ve özellik ağırlıklarının daha hızlı aranması için değişken uzunluktaki metin belgelerini eşit uzunlukta sayısal özellik vektörlerine dönüştürmektir.
Her karma özelliği, bit sayısına (k olarak gösterilir) ve parametre olarak belirtilen n-gram sayısına bağlı olarak bir veya daha fazla n gram metin özelliğini (tekgramlar veya tek tek sözcükler, iki gram, üç gram vb.) temsil eder. Özellik adlarını, daha sonra (2^k)-1 ile AND-ed olan murmurhash v3 (yalnızca 32 bit) algoritmasını kullanarak makine mimarisi işaretsiz sözcüğüne projeler. Diğer bir ifadeyle, karma değer ilk k alt sıra bitlerine yansıtılır ve kalan bitler sıfırlanır. Belirtilen bit sayısı 14 ise, karma tablosu 214-1 (veya 16.383) girişi tutabilir.
Birçok sorun için, varsayılan karma tablosu (bit boyutu = 10) yeterliden fazladır; ancak, eğitim metnindeki n gram sözcük dağarcığının boyutuna bağlı olarak, çakışmaları önlemek için daha fazla alan gerekebilir. Karma bit boyutu parametresi için farklı sayıda bit kullanmayı denemenizi ve makine öğrenmesi çözümünün performansını değerlendirmenizi öneririz.
Beklenen girişler
| Ad | Tür | Description |
|---|---|---|
| Veri kümesi | Veri Tablosu | Giriş veri kümesi |
Modül parametreleri
| Name | Aralık | Tür | Varsayılan | Description |
|---|---|---|---|---|
| Hedef sütunlar | Herhangi biri | ColumnSelection | StringFeature | Karmanın uygulanacağı sütunları seçin. |
| Bit boyutu karması oluşturma | [1;31] | Tamsayı | 10 | Seçili sütunların karması yapılırken kullanılacak bit sayısını yazın |
| N-gram | [0;10] | Tamsayı | 2 | Karma oluşturma sırasında oluşturulan N-gram sayısını belirtin. Varsayılan olarak, hem tekgramlar hem de bigram'lar ayıklanır |
Çıkışlar
| Ad | Tür | Description |
|---|---|---|
| Dönüştürülmüş veri kümesi | Veri Tablosu | Karma sütunlar içeren çıkış veri kümesi |
Özel durumlar
| Özel durum | Description |
|---|---|
| Hata 0001 | Veri kümesinin belirtilen bir veya daha fazla sütunu bulunamazsa özel durum oluşur. |
| Hata 0003 | Bir veya daha fazla giriş null veya boşsa özel durum oluşur. |
| Hata 0004 | Parametre belirli bir değerden küçük veya buna eşitse özel durum oluşur. |
| Hata 0017 | Belirtilen bir veya daha fazla sütun geçerli modül tarafından desteklenmeyen bir türe sahipse özel durum oluşur. |
Studio (klasik) modüllerine özgü hataların listesi için bkz. Machine Learning Hata kodları.
API özel durumlarının listesi için bkz. MACHINE LEARNING REST API Hata Kodları.