Metni Ön İşleme

Ö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.

ML Stüdyosu (klasik) belgeleri kullanımdan kaldırılacak ve gelecekte güncelleştirilmeyecektir.

Metinde temizleme işlemleri gerçekleştirir

kategori: Metin Analizi

Not

uygulama hedefi: yalnızca Machine Learning Studio (klasik)

benzer sürükle ve bırak modülleri Azure Machine Learning tasarımcısındakullanılabilir.

Modüle genel bakış

bu makalede, metni temizlemek ve basitleştirmek için Machine Learning Studio 'da (klasik) önceden işlem metin modülünün nasıl kullanılacağı açıklanır. Metni ön işlemden yararlanarak, metinden daha kolay anlamlı özellikler oluşturabilirsiniz.

Örneğin, preprocess metin modülü metinde bu genel işlemleri destekler:

  • Durma sözcüklerini kaldırma
  • Belirli hedef dizeleri aramak ve değiştirmek için normal ifadeleri kullanma
  • Birden çok ilgili sözcüğü tek bir kurallı forma dönüştüren limon
  • Belirli bir konuşma bölümünde filtreleme
  • Örnek olay normalleştirme
  • Sayılar, özel karakterler ve "aaaa" gibi yinelenen karakterlerin dizileri gibi belirli karakter sınıflarının kaldırılması
  • E-postaların ve URL 'Lerin tanımlanması ve kaldırılması

Hangi Temizleme seçeneklerinin kullanılacağını seçebilir ve isteğe bağlı olarak bir durdurma-sözcük listesi belirtebilirsiniz.

Modül Şu anda altı dili desteklemektedir: Ingilizce, Ispanyolca, Fransızca, Felemenkçe, Almanca ve Italyanca.

Metin ön Işleme yapılandırma

  1. Işlem öncesi metin modülünü Studio 'daki denemenize (klasik) ekleyin. bu modülü Metin Analizialtına bulabilirsiniz.

  2. metin içeren en az bir sütun içeren bir veri kümesi Bağlan.

  3. Ön işleme yaptığınız metin aynı dilde ise, dil açılan listesinden dili seçin. Bu seçenekle, metin seçili dile özgü dil kuralları kullanılarak önceden işlenir.

  4. Birden çok dil içerebilen metni önceden işlemek için, dil seçeneğini Içeren sütunu seçin.

    Ardından, veri kümesinde her satırda kullanılan dili belirten bir sütun seçmek için kültür dili sütun özelliğini kullanın. Sütun, "Ingilizce" veya en gibi bir standart dil tanımlayıcısı içermelidir.

    Modül, bu tanımlayıcıya bağlı olarak, metni işlemek için uygun dil kaynaklarını uygular.

    Veri kümeniz bu tür tanımlayıcıları içermiyorsa, önceden dili çözümlemek için Dili algıla modülünü kullanın ve bir tanımlayıcı oluşturun.

    İpucu

    Desteklenmeyen bir dil dahil olduğunda bir hata oluşur. Daha fazla bilgi için Teknik notlar bölümüne bakın.

  5. Konuşmayı bir parçası olarak kaldır: konuşma bölümü analizini uygulamak istiyorsanız bu seçeneği belirleyin. Ardından, belirli sözcük sınıflarını kaldırmak için konuşma bölümü etiketlerini kullanabilirsiniz.

    • Isimleri kaldır: isimleri kaldırmak için bu seçeneği belirleyin.
    • Sıfatları kaldır: sıfatları kaldırmak için bu seçeneği belirleyin.
    • Fiilleri kaldır: fiilleri kaldırmak için bu seçeneği belirleyin.

    Kullanılan konuşma bölümü tanımlama yöntemi hakkında daha fazla bilgi için Teknik notlar bölümüne bakın.

  6. Temizleyen metin sütunu: önceden işlemek istediğiniz sütunu veya sütunları seçin.

  7. Durdurma sözcüklerini kaldır: metin sütununa önceden tanımlanmış bir durma sözcüğü listesi uygulamak istiyorsanız bu seçeneği belirleyin. Word kaldırma işlemini durdurma diğer işlemlerden önce gerçekleştirilir.

    Stopword listeleri dile bağlıdır ve özelleştirilebilir; daha fazla bilgi için Teknik notlar bölümüne bakın.

  8. Su kullanımı: sözcüklerinkurallı biçimde temsil edilebilmesi istiyorsanız bu seçeneği belirleyin. Bu seçenek, başka türlü benzer metin belirteçlerinin benzersiz oluşum sayısını azaltmak için yararlıdır.

    Katileştirme işlemi yüksek oranda dile bağımlıdır; Ayrıntılar için Teknik notlar bölümüne bakın.

  9. Cümleleri Algıla: modülün analiz gerçekleştirirken bir cümle sınır işareti eklemesini istiyorsanız bu seçeneği belirleyin.

    Bu modül, cümle sonlandırıcıyı temsil etmek için üç kanal karakter ||| serisi kullanır.

  10. İsteğe bağlı olarak, normal ifadeleri kullanarak özel bulma ve değiştirme işlemleri gerçekleştirebilirsiniz.

    • Özel normal ifade: aradığınız metni tanımlayın.
    • Özel değiştirme dizesi: tek bir değiştirme değeri tanımlayın.
  11. Büyük/küçük harf karakterlerini Normalleştir: ASCII büyük harfleri küçük formlarına dönüştürmek istiyorsanız bu seçeneği belirleyin.

    Karakterler normalleştirilmez ise, büyük harfle aynı sözcük ve küçük harfler iki farklı sözcük olarak değerlendirilir: Örneğin, AM ile aynıdır am .

  12. İsteğe bağlı olarak, işlenen çıkış metninde aşağıdaki karakter veya karakter dizilerini silebilirsiniz:

    • Sayıları kaldır: belirtilen dile ait tüm sayısal karakterleri kaldırmak için bu seçeneği belirleyin.

    Bir sayının, etki alanına bağımlı ve dile bağımlı olduğunu belirleme tanımlaması. Sayısal karakterler bilinen bir sözcüğün integral parçasıysa, sayı kaldırılmayabilir.

    • Özel karakterleri kaldır: Bu seçeneği, alfasayısal olmayan özel karakterleri kanal | karakteriyle değiştirmek için kullanın.

      Özel karakterler hakkında daha fazla bilgi için Teknik notlar bölümüne bakın.

    • Yinelenen karakterleri kaldır: karakterleri yinelemek istediğiniz tüm dizileri kaldırmak için bu seçeneği belirleyin. Örneğin, "aaaaa" gibi bir sıra kaldırılır.

    • E-posta adreslerini kaldır: biçimin <string>@<string> herhangi bir dizisini kaldırmak için bu seçeneği belirleyin.

    • URL 'Leri kaldır: aşağıdaki URL öneklerini içeren herhangi bir sırayı kaldırmak için bu seçeneği belirleyin:

      • http, https
      • ftp
      • www
  13. Fiil kodlamalarını Genişlet: Bu seçenek yalnızca fiil kodlamalarını kullanan diller için geçerlidir; Şu anda yalnızca Ingilizce.

    Örneğin, bu seçeneği belirleyerek "hiçbir zaman" kalmazın "olmaz" ifadesini " Notedin" olarak değiştirebilirsiniz.

  14. Ters eğik çizgileri eğik çizgiyle Normalleştir: tüm örneklerini \\ öğesine / eşlemek için bu seçeneği belirleyin.

  15. Belirteçleri özel karakterlere Böl:, - , vb. karakterler & üzerinde sözcükler kesmek istiyorsanız bu seçeneği belirleyin.

    Örneğin, dize MS-WORD iki belirtece MS ayrılmıştır ve WORD .

Örnekler

Azure yapay zeka Galerisi aşağıdaki örneklerde, ön işlem metin modülünün kullanımı gösterilmektedir:

Teknik notlar

Bu bölümde, temeldeki metin ön işleme teknolojisi ve özel metin kaynaklarının nasıl belirtilmesi hakkında daha fazla bilgi sağlanmaktadır.

Desteklenen diller

şu anda Machine Learning, bu dillerde metin ön işleme destekler:

  • Felemenkçe
  • İngilizce
  • Fransızca
  • Almanca
  • İtalyanca
  • İspanyolca

Ek diller planlanmaktadır. duyurular için Microsoft Machine Learning bloguna bakın.

Kök çözümleme

Limon, birden çok sözcük belirtecini temsil etmek için tek bir kurallı form tanımlama işlemidir.

Machine Learning Studio 'ya dahil olan doğal dil işleme kitaplıkları (klasik), aşağıdaki birden fazla dil işlemini, bir katileştirme sağlamak için birleştirir:

  • Tümce ayrımı: yaklaşım Analizi ve diğer metin analizi için kullanılan serbest metinlerde, cümleler genellikle çalıştırma veya noktalama işareti eksik olabilir. Giriş metinleri, bir tweet veya parçadan tam paragrafa veya hatta belgeye kadar çok uzun bir metin öbeği oluşturur.

    Studio (klasik) tarafından kullanılan doğal dil araçları, temel alınan sözlü çözümlemenin bir parçası olarak tümce ayırmayı gerçekleştirir. Ancak, cümleler çıkışta ayrılmaz. İsteğe bağlı olarak, diğer metin işleme ve analiz işlemlerine yardımcı olmak için bir cümle sınırının işaretlenir.

  • Belirteçleme: Sözcüklerin sınırlarını belirleyen kurallar dile bağımlıdır ve sözcükler arasında boşluk kullanan dillerde bile karmaşık olabilir.

    Bazı diller (Çince veya Japonca gibi) sözcükler arasında boşluk kullanmaz ve sözcük ayrımı morfolojik analiz gerektirir.

    Bu nedenle, bu modülde kullanılan belirteçleme yöntemleri ve kuralları dilden dile farklı sonuçlar sağlar. Bu belirteçlere ekleme kuralları, Microsoft Research tarafından desteklenen her dil için sağlanan metin analizi kitaplıkları tarafından belirlenir ve özelleştirilebilir.

  • Konuşma parçası tanımlama: Herhangi bir sözcük dizisinde, her bir sözcük için konuşmanın tam kısmını hesaplamayla tanımlamak zor olabilir. "Zaman bir ok gibi zaman alır" gibi görünen basit bir cümle bile birçok düzine ayrıştırmaya (ünlü bir örnek) sahip olabilir. Konuşmanın bölümleri de farklı dillerin morfolojisi bağlı olarak çok farklıdır.

    Bu Machine Learning, geçerli cümle bağlamına göre konuşmanın en olası tek bölümünü seçmek için bir belirsizlik modeli kullanılır. Konuşma parçası bilgileri, özellik olarak kullanılan sözcükleri filtrelemeye ve anahtar ifade ayıklamaya yardımcı olmak için kullanılır. Ancak, bu modülün çıkışı açıkça POS etiketlerini içermez ve bu nedenle POS etiketli metin oluşturmak için kullanılamaz.

  • Sözlük formu oluşturma: Bir sözcüğün her biri farklı bir analizden gelen birden çok lemma veya sözlük formu olabilir. Örneğin İngilizce sözcük binasının iki olası lem'i vardır: sözcüğün adı ("uzun bina") ise derleme veya sözcük fiil ise derleme ("ev inşa ediyor"). Bu Machine Learning, yalnızca tek bir en olası sözlük formu oluşturulur.

Örnek özelleştirme çıkışı

Kaynak Büyük/büyük/harf dönüştürme ile Lemmatized
Yüzüyor yüzüyor
Yüzüyor o i go for a kulla
Yüzmek kas inşaa için iyidir kula, derleme kaslarına iyi bir şekilde devam etmek
Bir bina inşası var o i derleme
Hepimiz bina inşa ediyor Hepimiz derleme derlemesi oluruz

Not

Sözlük formu oluşturmak için kullanılan dil modelleri çeşitli genel amaçlı ve teknik metinlere karşı eğitilmiş ve test edilmiştir ve doğal dil API'leri gerektiren diğer birçok Microsoft üründe kullanılır. Ancak doğal dil doğal olarak belirsizdir ve tüm sözlükte %100 doğruluk uygun değildir. Örneğin, lemmatization konuşmanın diğer bölümleri veya cümlenin ayrıştırılama şekilde etkilenebilir.

Ek ön işlem gerçekleştirmeniz veya özelleştirilmiş veya etki alanına bağımlı bir sözlük kullanarak dilbilimsel analiz gerçekleştirmeniz gerekirse, Python ve R'de bulunanlar gibi özelleştirilebilir NLP araçlarını kullanmanızı öneririz.

Özel karakterler

Özel karakterler, konuşmanın başka bir parçası olarak tanımlanemeyen tek karakter olarak tanımlanır ve noktalama işaretleri içerebilir: iki nokta üst üste, noktalı virgül vb.

Stopwords

Durdurma sözcüğü (veya stopword), genellikle yaygın olduğu için dizinlerden kaldırılan ve dilsel olarak anlamlı olsa bile bilgilerin alınması için çok az değer sağlayan bir sözcüktir.

Örneğin, birçok dil kesin ve süresiz makaleler ("bina" ve "bina") arasında semantik bir ayrım yapmakta, ancak makine öğrenmesi ve bilgi alma için bilgiler bazen ilgili değildir. Bu nedenle, bu sözcükleri atarak karar vesersiniz.

Bu Machine Learning desteklenen dillerin her biri için en yaygın durdurma kelimelerinin listelerini içerir.

Dil Stopwords sayısı Örnekler
Felemenkçe 49 aan, af, al
İngilizce 312 a, about, above
Fransızca 154 de, des, d', la
Almanca 602 a, ab, aber
İtalyanca 135 a, adesso, ai
İspanyolca 368 ésa, ésta, éste

Size kolaylık olması için, tüm geçerli diller için varsayılan stopwords'ü içeren sıkıştırılmış bir dosya Azure depolamada kullanılabilir yapıldı: Stopwords.zip.

Stopword listesini değiştirme

Birçok kullanıcının kendi stopword listelerini oluşturmak veya varsayılan listeye dahil edilen terimleri değiştirmek istemesini bekliyoruz. Cortana Intelligence Gallery'de yapılan aşağıdaki deneme, bir durdurma sözcüğü listesini nasıl özelleştirebileceğinizi gösteriyor.

Listeyi değiştirir veya kendi durdurma sözcük listenizi oluşturmanız gerekirse şu gereksinimlere dikkat edin:

  • Dosya tek bir metin sütunu içermeli. Başka bir sütun varsa şu hatayı alabilirsiniz: "Metin Hatası Sütununu Önişle seçim deseni "Temizilecek metin sütunu"nun giriş veri kümesinde 1 sütuna sahip olması bekleniyor ancak 2 sütun sağlanıyor/sağlanıyor. ( Hata 0022 )"

    Bu durumda, stopword listesinin başlangıçta içe aktarılmış olduğu dosyada bulunan boşlukları, sekmeleri veya gizli sütunları bulun. Dosyanın nasıl hazırlanmıştır? buna bağlı olarak, metne dahil edilen sekmeler veya virgüller birden çok sütunun oluşturulmaya neden olabilir.

    Bu hatayı alırsanız kaynak dosyayı gözden geçirin veya Önişle Metni modülüne geçirmek üzere tek bir sütun seçmek için Veri Kümesinde Sütunları Seçme modülünü kullanın.

  • Her satır yalnızca bir sözcük içerebilir. Dosya ayrıştırma amacıyla sözcükler boşluk eklemeye göre belirlenir.

  • Stopword listesi boş olamaz.

İşlem sırası

Bu modülde metne birden çok işlem uygulayabilirsiniz. Ancak, bu işlemlerin uygulanma sırası değiştirilemez. Bu beklenen sonuçları etkileyebilir.

Örneğin metne lemmatization uygulayacak ve aynı zamanda stopword kaldırmayı kullanırsanız, durdurma listesi uygulanmadan önce tüm sözcükler lemma formlarına dönüştürülür. Bu nedenle, metniniz stopword listesinde yer alan ancak lemma değeri stopword listesinde yer alan bir sözcük içerirse sözcük kaldırılır.

Doğru sonuçları garanti etmek için hedef terimleri önceden test edin.

Desteklenmeyen diller

Metin sütunuz, Machine Learning desteklemeyen diller içerirse, yalnızca dile bağımlı işleme gerektirmeyen seçenekleri kullanmanızı öneririz. Bu, garip sonuçlardan kaçınmaya yardımcı olabilir.

Ayrıca Sütun dil içeriyor seçeneğini kullanırsanız, işlenen metne desteklenmeyen dillerin dahili olduğundan emin olmak gerekir. Veri kümesinde desteklenmeyen bir dil veya tanımlayıcısı varsa aşağıdaki çalışma zamanı hatası oluşturulur:

"Metin Ön İşle Hatası (0039): Lütfen desteklenen bir dil belirtin."

Desteklenmeyen bir dil algılandığından denemenin tamamının başarısız olması için Verileri Bölme modülünü kullanın ve veri kümesini desteklenen ve desteklenmeyen dillere bölmek için bir normal ifade belirtin.

Örneğin, aşağıdaki normal ifade veri kümelerini sütunu için algılanan dile göre böler Sentence:

\"Sentence Language" Dutch|English|French|Italian|Spanish

Dil tanımlayıcısını içeren bir sütuna sahipsiniz veya böyle bir sütun oluşturduysanız tanımlayıcı sütununu filtrelemek için aşağıdaki gibi bir normal ifade kullanabilirsiniz:

\"Sentence Iso6391 Name" nl|en|fr|it|es

Beklenen girişler

Ad Tür Description
Veri kümesi Veri Tablosu Giriş verileri
Sözcükleri durdurma Veri Tablosu Kaldıracak isteğe bağlı özel durdurma sözcükleri listesi

Modül parametreleri

Ad Tür Aralık İsteğe Bağlı Varsayılan Description
URL'leri kaldırma Boole Doğru

Yanlış
Gerekli true URL'leri kaldırma
Dil Dil İngilizce

İspanyolca

Fransızca

Felemenkçe

Almanca

İtalyanca
Gerekli İngilizce Ön işleme için dili seçin
Temizlenir metin sütunu Sütun Seçimi Gerekli StringFeature Temizlenir metin sütununu seçin
Özel normal ifade Dize İsteğe Bağlı Özel normal ifadeyi belirtme
Özel değiştirme dizesi Dize İsteğe Bağlı Özel normal ifade için özel değiştirme dizesini belirtme
Durdurma sözcüklerini kaldırma Boole Gerekli true Durdurma sözcüklerini kaldırma
Kök çözümleme Boole Gerekli true Lemmatization kullanma
Konuşmanın bir parçasına göre kaldırma Doğru Yanlış Tür true

yanlış
Gerekli Yanlış Belirli sözcük sınıflarını tanımlamak ve kaldırmak için konuşma parçası analizinin kullanıp kullanılmay gerektiğini belirt
Unları kaldırma Boole Konuşmanın bir parçasına göre filtrele seçeneği seçildiğinde geçerlidir true Unları kaldırma
Sıfatları kaldırma Boole Konuşmanın bir parçasına göre filtrele seçeneği seçildiğinde geçerlidir true Sıfatları kaldırma
Fiilleri kaldırma Boole Konuşmanın bir parçasına göre filtrele seçeneği seçildiğinde geçerlidir true Fiilleri kaldırma
Cümleleri algılama Boole Gerekli true Cümle sonlandırıcı \"||| \" n-gram özellik ayıkıcı modülü tarafından kullanılabilir
Büyük/küçük harfe normalleştirme Boole Gerekli true Büyük/küçük harfe normalleştirme
Sayıları kaldırma Boole Gerekli true Sayıları kaldırma
Özel karakterleri kaldırma Boole Gerekli true Alfasayısal olmayan özel karakterleri kaldırın ve \"|\" karakteriyle değiştirin
Yinelenen karakterleri kaldırma Boole Gerekli true Yinelenen karakterleri kaldırma
E-posta adreslerini kaldırma Boole Gerekli true E-posta adreslerini kaldırma

Çıkışlar

Ad Tür Description
Sonuç veri kümesi Veri Tablosu Sonuç veri kümesi

Özel durumlar

Özel durum Description
Hata 0003 Bir veya daha fazla giriş null veya boşsa özel durum oluşur.
Hata 0030 içinde bir dosya indirilenemay olduğunda özel durum oluşur.
Hata 0048 Bir dosyanın açılması mümkün değilken bir özel durum oluşur.
Hata 0049 Bir dosyayı ayrıştırmak mümkün değilken bir özel durum oluşur.

Studio (klasik) modüllerine özgü hataların listesi için bkz. Machine Learning kodları.

API özel durumlarının listesi için bkz. Machine Learning REST API Kodları.

Ayrıca bkz.

Metin Analizi

A-Z Modül Listesi