Amazon Neptün ML bir makine öğrenimi (ML) yeteneğidir. Amazon Neptün Bu, grafik verileriniz üzerinde doğru ve hızlı tahminler yapmanıza yardımcı olur. Başlık altında, Neptune ML, eldeki görevi çözmek için grafik yapısından ve düğüm/kenar özelliklerinden aynı anda yararlanmak için Grafik Sinir Ağlarını (GNN'ler) kullanır. Geleneksel yöntemler ya yalnızca özellikleri kullanır ve grafik yapısı kullanmaz (örneğin, XGBoost, Sinir Ağları) veya yalnızca grafik yapısı kullanır ve özellik içermez (örneğin, node2vec, Etiket Yayılımı). Düğüm/kenar özelliklerini daha iyi işlemek için, ML algoritmaları verilerin iyi davranışlı sayısal veriler olmasını gerektirir, ancak bir veritabanındaki ham veriler, ham metin gibi başka türlere sahip olabilir. Bu diğer veri türlerini kullanmak için, onları yerel türlerinden sayısal verilere dönüştüren özel işlem adımlarına ihtiyacımız var ve ML sonuçlarının kalitesi, bu veri dönüşümlerinin kalitesine büyük ölçüde bağlıdır. Ham metin, cümleler gibi, dönüştürülmesi en zor türler arasındadır, ancak Doğal Dil İşleme (NLP) alanındaki son gelişmeler, birden çok dilden ve çok çeşitli uzunluklardan gelen metinleri işleyebilen güçlü yöntemlere yol açmıştır.
1.1.0.0 sürümünden başlayarak, Neptune ML şunları destekler: çoklu metin kodlayıcılar (metin_fasttext, metin_sbert, text_word2vec, ve text_tfidf), NLP'deki son gelişmelerin faydalarını getiren ve diller ve metin uzunluğu hakkında ek çıkarım gereksinimlerinin yanı sıra çok dilli metin özellikleri için destek sağlayan. Örneğin, bir iş tavsiyesi kullanım durumunda, farklı ülkelerdeki iş ilanları farklı dillerde tanımlanabilir ve iş tanımlarının uzunluğu önemli ölçüde değişebilir. Ek olarak, Neptune ML, bir Oto verilerdeki metin özelliğinin özelliklerine göre en iyi kodlama yöntemini otomatik olarak seçen seçenek.
Bu gönderide, her metin kodlayıcının kullanımını gösteriyoruz, avantajlarını ve dezavantajlarını karşılaştırıyoruz ve bir iş önerisi görevi için doğru metin kodlayıcıların nasıl seçileceğine dair bir örnek gösteriyoruz.
Metin kodlayıcı nedir?
Metin kodlamanın amacı, Neptün'deki metin tabanlı kenar/düğüm özelliklerini, düğüm sınıflandırması veya bağlantı tahmini görevleri için aşağı akış makine öğrenimi modellerinde kullanılmak üzere sabit boyutlu vektörlere dönüştürmektir. Metin özelliğinin uzunluğu çok değişebilir. Bir kelime, tümcecik, cümle, paragraf ve hatta birden fazla cümle içeren bir belge olabilir (Neptün'de tek bir özelliğin maksimum boyutu 55 MB'dir). Ek olarak, metin özellikleri farklı dillerde olabilir. olarak tanımladığımız birkaç farklı dilde kelime içeren cümleler de olabilir. kod değişimi.
1.1.0.0 sürümünden itibaren Neptune ML, birkaç farklı metin kodlayıcı arasından seçim yapmanıza olanak tanır. Her kodlayıcı biraz farklı çalışır, ancak Neptune'den bir metin değeri alanını Neptune ML kullanarak GNN modelimizi oluşturmak için kullandığımız sabit boyutlu bir vektöre dönüştürmekle aynı hedefe sahiptir. Yeni kodlayıcılar aşağıdaki gibidir:
- metin_fasttext (yeni) – Kullanımlar hızlıMetin kodlama. FastText, verimli metin gösterimi öğrenimi için bir kütüphanedir.
text_fasttext
fastText'in desteklediği beş dilden (İngilizce, Çince, Hintçe, İspanyolca ve Fransızca) birini ve yalnızca birini kullanan özellikler için önerilir.text_fasttext
yöntem isteğe bağlı olarak alabilirmax_length
Bir metin özelliği değerinde kodlanacak ve ardından dize kesilecek maksimum simge sayısını belirten alan. Bir jetonu bir kelime olarak kabul edebilirsiniz. Bu, metin özelliği değerleri uzun dizeler içerdiğinde performansı artırabilir, çünkü eğermax_length
belirtilmezse fastText, dize uzunluğundan bağımsız olarak tüm belirteçleri kodlar. - metin_sbert (yeni) – BERT Cümlesini kullanır (SBERT) kodlama yöntemi. SBERT, bağlamsal temsil öğrenme modelleri olan BERT-Networks'ü kullanan bir tür cümle yerleştirme yöntemidir.
text_sbert
dil tarafından desteklenmediğinde önerilir.text_fasttext
. Neptün iki SBERT yöntemini destekler:text_sbert128
, yalnızca belirtirseniz varsayılan olantext_sbert
, vetext_sbert512
. Aralarındaki fark, bir metin özelliğinde kodlanan maksimum simge sayısıdır. butext_sbert128
kodlama yalnızca ilk 128 belirteci kodlar, oysatext_sbert512
512 jetona kadar kodlar. Sonuç olarak, kullanaraktext_sbert512
göre daha fazla işlem süresi gerektirebilirtext_sbert128
. Her iki yöntem de daha yavaştır.text_fasttext
. - text_word2vec - Kullanımlar Word2Vec Google tarafından orijinal olarak metni kodlamak için yayınlanan algoritmalar. Word2Vec yalnızca İngilizce'yi destekler.
- text_tfidf – Frekans-ters belge frekansı terimini kullanır (TF-IDF) metni kodlamak için vektörleştirici. TF-IDF kodlaması, diğer kodlamaların desteklemediği istatistiksel özellikleri destekler. Bir düğüm özelliğindeki kelimelerin diğer tüm düğümler arasındaki önemini veya alaka düzeyini ölçer.
Bunu not et text_word2vec
ve text_tfidf
daha önce desteklenmiş ve yeni yöntemler text_fasttext
ve text_sbert
eski yöntemlere göre tavsiye edilir.
Farklı metin kodlayıcıların karşılaştırılması
Aşağıdaki tablo, desteklenen tüm metin kodlama seçeneklerinin ayrıntılı karşılaştırmasını gösterir (text_fasttext
, text_sbert
, ve text_word2vec
). text_tfidf
model tabanlı bir kodlama yöntemi değil, daha ziyade bir belirtecin (örneğin bir kelimenin) diğer düğümlerdeki veya kenarlardaki metin özellikleriyle ne kadar alakalı olduğunu değerlendiren sayıma dayalı bir ölçüdür, bu nedenle dahil etmiyoruz text_tfidf
Karşılaştırma için. kullanmanızı öneririz text_tfidf
diğer tüm düğüm veya kenar özellikleri arasında bir düğüm veya kenar özelliğindeki bazı kelimelerin önemini veya alaka düzeyini ölçmek istediğinizde.)
. | . | metin_fasttext | metin_sbert | text_word2vec |
Model Yeteneği | Desteklenen dil | İngilizce, Çince, Hintçe, İspanyolca ve Fransızca | 50'den fazla dil | İngilizce |
Farklı dillerde kelimeler içeren metin özelliklerini kodlayabilir | Yok hayır | Evet | Yok hayır | |
Maksimum uzunluk desteği | Maksimum uzunluk sınırı yok | Metin dizisini maksimum uzunluk 128 ve 512 ile kodlar | Maksimum uzunluk sınırı yok | |
Zaman Maliyeti | yükleme | Yaklaşık 10 saniye | Yaklaşık 2 saniye | Yaklaşık 2 saniye |
sonuç | Hızlı | Yavaş | Orta |
Aşağıdaki kullanım ipuçlarını not edin:
- İngilizce, Çince, Hintçe, İspanyolca ve Fransızca metin özelliği değerleri için,
text_fasttext
önerilen kodlamadır. Ancak, aynı cümlenin birden fazla dilde kelime içerdiği durumları işleyemez. Bu beş dil dışındaki diğer diller içinfastText
destekler, kullanıntext_sbert
kodlayan. - Örneğin 120 jetondan daha uzun birçok özellik değeri metin dizeniz varsa,
max_length
her dizedeki belirteç sayısını sınırlamak için alantext_fasttext
kodlar.
Özetlemek gerekirse, kullanım durumunuza bağlı olarak aşağıdaki kodlama yöntemini öneririz:
- Metin özellikleriniz desteklenen beş dilden birindeyse, kullanmanızı öneririz.
text_fasttext
hızlı çıkarımı nedeniyle.text_fasttext
önerilen seçeneklerdir ve ayrıca kullanabilirsiniztext_sbert
aşağıdaki iki istisnada. - Metin özellikleriniz farklı dillerdeyse, kullanmanızı öneririz.
text_sbert
çünkü birkaç farklı dilde sözcükler içeren metin özelliklerini kodlayabilen desteklenen tek yöntem budur. - Metin özellikleriniz, desteklenen beş dilden biri olmayan bir dildeyse, şunu kullanmanızı öneririz:
text_sbert
çünkü 50'den fazla dili destekliyor. - Metin özelliklerinizin ortalama uzunluğu 128'den uzunsa, kullanmayı düşünün
text_sbert512
ortext_fasttext
. Her iki yöntem de daha uzun metin dizilerini kodlayabilir. - Metin özellikleriniz yalnızca İngilizce ise,
text_word2vec
, ancak kullanmanızı öneririztext_fasttext
hızlı çıkarımı için.
Kullanım örneği demosu: İş önerisi görevi
İş önerisi görevinin amacı, kullanıcıların önceki başvurularına, demografik bilgilerine ve iş geçmişine dayanarak hangi işlere başvuracaklarını tahmin etmektir. Bu yazı şunu kullanır: açık bir Kaggle veri kümesi. Veri kümesini üç düğümlü bir grafik olarak oluşturuyoruz: iş, kullanıcı, ve Şehir.
Bir iş, unvanı, tanımı, gereksinimleri, bulunduğu şehir ve eyalet ile karakterize edilir. Bir kullanıcı, ana dal, derece türü, çalışma geçmişi sayısı, çalışma deneyimi için toplam yıl sayısı ve daha fazlası gibi özelliklerle tanımlanır. Bu kullanım durumu için iş unvanı, iş tanımı, iş gereksinimleri ve ana dalların tümü metin biçimindedir.
Veri kümesinde, kullanıcılar aşağıdaki özelliklere sahiptir:
- Eyalet – Örneğin, CA veya 广东省 (Çince)
- Büyük – Örneğin, İnsan Kaynakları Yönetimi veya Lic Cytura Fisica (İspanyolca)
- DereceTürü – Örneğin, Lisans, Yüksek Lisans, Doktora veya Yok
- Çalışma GeçmişiSayısı – Örneğin, 0, 1, 16 vb.
- ToplamYıllarDeneyim – Örneğin, 0.0, 10.0 veya NAN
İşler aşağıdaki özelliklere sahiptir:
- Başlık – Örneğin, İdari Asistan veya Lic Cultura Física (İspanyolca).
- Açıklama – Örneğin, “Bu İdari Asistan pozisyonu, iletişim alanlarında çeşitli büro ve idari destek işlevlerini yerine getirmekten sorumludur…” Bir tanımdaki ortalama kelime sayısı 192.2 civarındadır.
- Yer Alan Kurallar – Örneğin, “İŞ GEREKSİNİMLERİ: 1. Detaylara dikkat; 2.Hızlı bir ortamda çalışabilme;3.Faturalama…”
- Eyalet: – Örneğin, CA, NY vb.
düğüm türü Şehir Washington DC ve Orlando FL gibi yalnızca her düğüm için tanımlayıcıya sahiptir. Aşağıdaki bölümde, farklı metin özelliklerinin özelliklerini analiz ediyoruz ve farklı metin özellikleri için uygun metin kodlayıcıların nasıl seçileceğini gösteriyoruz.
Farklı metin kodlayıcıları nasıl seçilir
Örneğimiz için, Büyük ve Başlık özellikler birden çok dildedir ve kısa metin dizilerine sahiptir, bu nedenle text_sbert
tavsiye edilir. için örnek kod dışa aktarma parametreleri Şöyleki. İçin text_sbert
yazın, başka parametre alanı yok. İşte seçiyoruz text_sbert128
başka text_sbert512
, çünkü metin uzunluğu 128'den nispeten daha kısadır.
The Açıklama ve Yer Alan Kurallar özellikler genellikle uzun metin dizileri halindedir. Bir açıklamanın ortalama uzunluğu yaklaşık 192 kelimedir; bu, maksimum giriş uzunluğundan daha uzundur. text_sbert
(128). Kullanabiliriz text_sbert512
, ancak daha yavaş çıkarımla sonuçlanabilir. Ayrıca, metin tek bir dildedir (İngilizce). Bu nedenle, tavsiye ederiz text_fasttext
ile en hızlı çıkarımı ve sınırlı giriş uzunluğu nedeniyle dil değeri. için örnek kod dışa aktarma parametreleri Şöyleki. bu text_fasttext
kodlama kullanılarak özelleştirilebilir dil ve maksimum uzunluk. language
değer gereklidir, ancak max_length
İsteğe bağlı.
İş tavsiyesi kullanım örnekleriyle ilgili daha fazla ayrıntı şurada bulunabilir: Neptün not defteri öğreticisi.
Gösteri amacıyla, bir kullanıcı seçiyoruz, yani 'Yönetim ve İnsan Kaynakları' alanında yüksek lisans derecesine sahip 443931 kullanıcı. Kullanıcı, “İnsan Kaynakları (İK) Müdürü”, “İK Genel Müdürü”, “İnsan Kaynakları Müdürü”, “İnsan Kaynakları Yöneticisi” ve “Kıdemli Bordro Uzmanı” olmak üzere beş farklı işe başvurmuştur. Tavsiye görevinin performansını değerlendirmek için kullanıcının başvuru işlerinin (kenarların) %50'sini sileriz (burada “İnsan Kaynakları Yöneticisi” ve “İnsan Kaynakları (İK) Yöneticisini sileriz) ve üst noktayı tahmin etmeye çalışırız. Bu kullanıcının başvurması muhtemel 10 iş.
İş özelliklerini ve kullanıcı özelliklerini kodladıktan sonra, bir ilişkisel grafik evrişim ağı (RGCN) modeli eğiterek bir bağlantı tahmini görevi gerçekleştiriyoruz. Bir Neptune ML modelinin eğitimi üç adım gerektirir: veri işleme, model eğitimi ve uç nokta oluşturma. Çıkarım uç noktası oluşturulduktan sonra, 443931 kullanıcısı için önerilerde bulunabiliriz. Kullanıcı 10 için öngörülen ilk 443931 işten (yani, "İK Genel Uzmanı", "İnsan Kaynakları (İK) Yöneticisi", "Kıdemli Bordro Uzmanı", "İnsan Kaynaklar Yöneticisi”, “İK Analisti” ve diğerleri), silinen iki işin 10 tahmin arasında olduğunu gözlemliyoruz.
Sonuç
Bu yazıda Neptune ML'de yeni desteklenen metin kodlayıcıların kullanımını gösterdik. Bu metin kodlayıcıların kullanımı basittir ve birden fazla gereksinimi destekleyebilir. Özetle,
- text_fasttext, text_fasttext'in desteklediği beş dilden yalnızca birini kullanan özellikler için önerilir.
- text_fasttext'in desteklemediği metinler için text_sbert önerilir.
- text_word2vec yalnızca İngilizce'yi destekler ve herhangi bir senaryoda text_fasttext ile değiştirilebilir.
Çözüm hakkında daha fazla ayrıntı için bkz. GitHub repo. Gereksinimlerinizi karşılamak için grafik verilerinizde metin kodlayıcıları kullanmanızı öneririz. GNN modelini değiştirmeden sadece bir kodlayıcı adı seçebilir ve bazı kodlayıcı niteliklerini ayarlayabilirsiniz.
yazarlar hakkında
Jiani Zhang AWS AI Research and Education'ın (AIRE) uygulamalı bilim adamıdır. Özellikle doğal dil ve grafiklerle ilgili problemler olmak üzere makine öğrenme algoritmalarını kullanarak gerçek dünyadaki uygulamaları çözmeye çalışıyor.
- Gelişmiş (300)
- AI
- yapay zeka
- AI sanat üreteci
- yapay zeka robotu
- Amazon Neptün
- yapay zeka
- yapay zeka sertifikası
- bankacılıkta yapay zeka
- yapay zeka robotu
- yapay zeka robotları
- yapay zeka yazılımı
- AWS Makine Öğrenimi
- blockchain
- blockchain konferans ai
- zeka
- konuşma yapay zekası
- kripto konferans ai
- dal-e
- derin öğrenme
- google ai
- makine öğrenme
- Platon
- plato yapay zekası
- Plato Veri Zekası
- Plato Oyunu
- PlatoVeri
- plato oyunu
- ölçek ai
- sözdizimi
- zefirnet