Bagikan melalui


Teks Praproses

Penting

Dukungan untuk Studio Azure Machine Learning (klasik) akan berakhir pada 31 Agustus 2024. Sebaiknya Anda transisi ke Azure Machine Learning sebelum tanggal tersebut.

Mulai 1 Desember 2021, Anda tidak akan dapat membuat sumber daya Studio Azure Machine Learning (klasik) baru. Hingga 31 Agustus 2024, Anda dapat terus menggunakan sumber daya Pembelajaran Mesin Studio (klasik) yang ada.

ML Dokumentasi Studio (klasik) sedang berhenti dan mungkin tidak diperbarui di masa mendatang.

Melakukan operasi pembersihan pada teks

Kategori: Analiză text

Catatan

Berlaku untuk: Pembelajaran Mesin Studio (klasik) saja

Modul drag-and-drop serupa tersedia di Azure Machine Learning desainer.

Ringkasan Modul

Artikel ini menjelaskan cara menggunakan modul Teks Praproses di Pembelajaran Mesin Studio (klasik), untuk membersihkan dan menyederhanakan teks. Dengan memproses teks secara preprocessing, Anda dapat lebih mudah membuat fitur yang bermakna dari teks.

Misalnya, modul Teks Praproses mendukung operasi umum ini pada teks:

  • Penghapusan kata-kata henti
  • Menggunakan regex untuk menelusuri dan mengganti string target tertentu
  • Lemmatisasi, yang mengubah beberapa kata terkait menjadi bentuk kanonis tunggal
  • Memfilter pada bagian pidato tertentu
  • Normalisasi kasus
  • Penghapusan kelas karakter tertentu, seperti angka, karakter khusus, dan urutan karakter berulang seperti "aaaa"
  • Identifikasi serta penghapusan email dan URL

Anda dapat memilih opsi pembersihan mana yang akan digunakan, dan secara opsional menentukan daftar kata berhenti khusus.

Modul ini saat ini mendukung enam bahasa: Inggris, Spanyol, Prancis, Belanda, Jerman dan Italia.

Cara mengonfigurasi Preprocessing Teks

  1. Tambahkan modul Teks Praproses ke eksperimen Anda di Studio (klasik). Anda dapat menemukan modul ini pada Analitik Teks.

  2. Sambungkan himpunan data yang memiliki setidaknya satu kolom yang berisi teks.

  3. Jika teks yang Anda praproses semuanya dalam bahasa yang sama, pilih bahasa dari daftar turun bawah Bahasa . Dengan opsi ini, teks diproses sebelumnya menggunakan aturan linguistik khusus untuk bahasa yang dipilih.

  4. Untuk memproses teks praproses yang mungkin berisi beberapa bahasa, pilih opsi Kolom berisi bahasa .

    Kemudian, gunakan properti kolom bahasa Budaya untuk memilih kolom dalam himpunan data yang menunjukkan bahasa yang digunakan di setiap baris. Kolom harus berisi pengenal bahasa standar, seperti "Bahasa Inggris" atau en.

    Berdasarkan pengidentifikasi ini, modul menerapkan sumber daya linguistik yang sesuai untuk memproses teks.

    Jika himpunan data Anda tidak berisi pengidentifikasi tersebut, gunakan modul Deteksi Bahasa untuk menganalisis bahasa sebelumnya, dan buat pengidentifikasi.

    Tip

    Kesalahan muncul jika bahasa yang tidak didukung disertakan. Lihat bagian Catatan teknis untuk informasi lebih lanjut.

  5. Hapus berdasarkan bagian ucapan: Pilih opsi ini jika Anda ingin menerapkan analisis bagian ucapan. Anda kemudian dapat menggunakan tag bagian ucapan untuk menghapus kelas kata tertentu.

    • Hapus kata benda: Pilih opsi ini untuk menghapus kata benda.
    • Hapus kata sifat: Pilih opsi ini untuk menghapus kata sifat.
    • Menghapus kata kerja: Pilih opsi ini untuk menghapus kata kerja.

    Untuk informasi selengkapnya tentang metode identifikasi bagian ucapan yang digunakan, lihat bagian Catatan teknis .

  6. Kolom teks untuk dibersihkan: Pilih kolom atau kolom yang ingin Anda praproses.

  7. Hapus kata henti: Pilih opsi ini jika Anda ingin menerapkan daftar kata henti yang sudah ditentukan sebelumnya ke kolom teks. Penghapusan kata stop dilakukan sebelum proses lainnya.

    Daftar stopword bergantung pada bahasa dan dapat disesuaikan; untuk informasi selengkapnya, lihat bagian Catatan teknis .

  8. Lemmatisasi: Pilih opsi ini jika Anda ingin kata direpresentasikan dalam bentuk kanonisnya. Opsi ini berguna untuk mengurangi jumlah kemunculan unik token teks serupa.

    Proses lemmatisasi sangat bergantung pada bahasa; lihat bagian Catatan teknis untuk detailnya.

  9. Deteksi kalimat: Pilih opsi ini jika Anda ingin modul menyisipkan tanda batas kalimat saat melakukan analisis.

    Modul ini menggunakan serangkaian tiga karakter pipa ||| untuk mewakili pemisah kalimat.

  10. Secara opsional, Anda dapat melakukan operasi cari dan ganti kustom menggunakan ekspresi reguler.

    • Ekspresi reguler kustom: Tentukan teks yang Anda cari.
    • String penggantian kustom: Tentukan nilai penggantian tunggal.
  11. Normalkan huruf menjadi huruf kecil: Pilih opsi ini jika Anda ingin mengubah karakter huruf besar ASCII ke bentuk huruf kecilnya.

    Jika karakter tidak dinormalisasi, kata yang sama dalam huruf besar dan kecil dianggap dua kata yang berbeda: misalnya, AM sama amdengan .

  12. Secara opsional, Anda dapat menghapus jenis karakter atau urutan karakter berikut dari teks keluaran yang diproses:

    • Hapus angka: Pilih opsi ini untuk menghapus semua karakter numerik untuk bahasa yang ditentukan.

    Identifikasi dari apa yang merupakan angka tergantung domain dan bahasa tergantung. Jika karakter numerik adalah bagian integral dari kata yang diketahui, angka tersebut mungkin tidak dihapus.

    • Hapus karakter khusus: Gunakan opsi ini untuk mengganti karakter khusus non-alfanumerik dengan karakter pipa | .

      Untuk informasi selengkapnya tentang karakter khusus, lihat bagian Catatan teknis .

    • Menghapus karakter duplikat: Pilih opsi ini untuk menghapus urutan apa pun yang mengulangi karakter. Misalnya, urutan seperti "aaaaa" akan dihapus.

    • Hapus alamat email: Pilih opsi ini untuk menghapus urutan format apa pun <string>@<string>.

    • Hapus URL: Pilih opsi ini untuk menghapus urutan apa pun yang menyertakan awalan URL berikut:

      • http, https
      • ftp
      • www
  13. Luaskan penyingkatan kata kerja: Opsi ini hanya berlaku untuk bahasa yang menggunakan penyingkatan kata kerja; saat ini, hanya tersedia dalam bahasa Inggris.

    Misalnya, dengan memilih opsi ini, Anda dapat mengganti frasa "tak akan tinggal di sana" dengan"tidak akan tinggal di sana" .

  14. Normalkan garis miring terbalik menjadi garis miring: Pilih opsi ini untuk memetakan semua instans \\ ke /.

  15. Pilih token di karakter khusus: Pilih opsi ini jika Anda ingin memisahkan kata pada karakter seperti &, -, dan sebagainya.

    Misalnya, string MS-WORD akan dipisahkan menjadi dua token, MS dan WORD.

Contoh

Contoh berikut di Galeri AI Azure menggambarkan penggunaan modul Teks Praproses :

Catatan teknis

Bagian ini memberikan informasi lebih lanjut tentang teknologi pra-pemrosesan teks yang mendasarinya, dan cara menentukan sumber daya teks khusus.

Bahasa yang didukung

Saat ini Pembelajaran Mesin mendukung preprocessing teks dalam bahasa-bahasa ini:

  • Belanda
  • Inggris
  • Prancis
  • Jerman
  • Italia
  • Spanyol

Bahasa tambahan direncanakan. Lihat blog Microsoft Pembelajaran Mesin untuk pengumuman.

Lemmatisasi

Lemmatisasi adalah proses mengidentifikasi bentuk kanonik tunggal untuk mewakili beberapa token kata.

Pustaka pemrosesan bahasa alami yang termasuk dalam Pembelajaran Mesin Studio (klasik) menggabungkan beberapa operasi linguistik berikut untuk menyediakan lemmatisasi:

  • Pemisahan kalimat: Dalam teks gratis yang digunakan untuk analisis sentimen dan analisis teks lainnya, kalimat sering dijalankan atau tanda baca mungkin hilang. Teks input mungkin merupakan potongan teks yang panjang secara sewenang-wenang, mulai dari tweet atau fragmen hingga paragraf lengkap, atau bahkan dokumen.

    Alat bahasa alami yang digunakan oleh Studio (klasik) melakukan pemisahan kalimat sebagai bagian dari analisis leksikal yang mendasarinya. Namun, kalimat tidak dipisahkan dalam output. Secara opsional, Anda dapat menentukan bahwa batas kalimat ditandai untuk membantu pemrosesan dan analisis teks lainnya.

  • Tokenisasi: Aturan yang menentukan batas-batas kata tergantung pada bahasa dan bisa rumit bahkan dalam bahasa yang menggunakan spasi di antara kata-kata.

    Beberapa bahasa (seperti Cina atau Jepang) tidak menggunakan ruang putih antara kata-kata, dan pemisahan kata-kata memerlukan analisis morfologis.

    Oleh karena itu, metode tokenisasi dan aturan yang digunakan dalam modul ini memberikan hasil yang berbeda dari bahasa ke bahasa. Aturan tokenisasi ini ditentukan oleh pustaka analisis teks yang disediakan oleh Microsoft Research untuk setiap bahasa yang didukung, dan tidak dapat disesuaikan.

  • Identifikasi bagian-of-speech: Dalam urutan kata apa pun, mungkin sulit untuk secara komputasi mengidentifikasi bagian yang tepat dari ucapan untuk setiap kata. Bahkan kalimat yang tampaknya sederhana seperti "Waktu terbang seperti panah" dapat memiliki banyak lusin parses (contoh terkenal). Bagian pidato juga sangat berbeda tergantung pada morfologi bahasa yang berbeda.

    Dalam Pembelajaran Mesin, model disambiguasi digunakan untuk memilih satu bagian yang paling mungkin dari pidato, mengingat konteks kalimat saat ini. Informasi bagian dari ucapan digunakan untuk membantu memfilter kata-kata yang digunakan sebagai fitur dan membantu dalam ekstraksi kata kunci. Namun, output dari modul ini tidak secara eksplisit menyertakan tag POS dan oleh karena itu tidak dapat digunakan untuk menghasilkan teks yang ditandai POS.

  • Menghasilkan bentuk kamus: Sebuah kata mungkin memiliki beberapa lemmas, atau bentuk kamus, masing-masing berasal dari analisis yang berbeda. Misalnya, bangunan kata bahasa Inggris memiliki dua lemmas yang mungkin: membangun jika kata itu adalah kata benda ("gedung tinggi"), atau membangun jika kata itu adalah kata kerja ("mereka sedang membangun rumah"). Dalam Pembelajaran Mesin, hanya satu bentuk kamus yang paling mungkin dihasilkan.

Contoh output lemmatisasi

Sumber Lemmatized dengan konversi kasus
Dia berenang dia saya berenang
Dia akan berenang Dia aku pergi untuk berenang
Berenang baik untuk membangun otot berenang menjadi baik untuk membangun otot
Dia sedang membangun sebuah bangunan Dia membangun sebuah bangunan
Kita semua adalah bangunan bangunan Kita semua membangun bangunan

Catatan

Model bahasa yang digunakan untuk menghasilkan bentuk kamus telah dilatih dan diuji terhadap berbagai tujuan umum dan teks teknis, dan digunakan dalam banyak produk Microsoft lainnya yang memerlukan API bahasa alami. Namun, bahasa alami secara inheren ambigu dan akurasi 100% pada semua kosa kata tidak layak. Misalnya, lemmatisasi dapat dipengaruhi oleh bagian lain dari ucapan, atau dengan cara kalimat diurai.

Jika Anda perlu melakukan pra-pemrosesan tambahan, atau melakukan analisis linguistik menggunakan kosakata khusus atau tergantung domain, kami sarankan Anda menggunakan alat NLP yang dapat disesuaikan, seperti yang tersedia di Python dan R.

Karakter khusus

Karakter khusus didefinisikan sebagai karakter tunggal yang tidak dapat diidentifikasi sebagai bagian lain dari pidato, dan dapat mencakup tanda baca: titik dua, semi-koloni, dan sebagainya.

Kata kunci berhenti

Kata berhenti (atau stopword) adalah kata yang sering dihapus dari indeks karena umum dan memberikan sedikit nilai untuk pengambilan informasi, meskipun mungkin bermakna secara linguistik.

Misalnya, banyak bahasa membuat perbedaan semantik antara artikel yang pasti dan tidak terbatas ("bangunan" vs "bangunan"), tetapi untuk pembelajaran mesin dan pengambilan informasi, informasinya terkadang tidak relevan. Oleh karena itu Anda mungkin memutuskan untuk membuang kata-kata ini.

Lingkungan Pembelajaran Mesin mencakup daftar kata berhenti yang paling umum untuk masing-masing bahasa yang didukung.

Bahasa Jumlah stopwords Contoh
Belanda 49 aan, af, al
Inggris 312 a, tentang, di atas
Prancis 154 de, des, d', la
Jerman 602 a, ab, aber
Italia 135 a, adesso, ai
Spanyol 368 ésa, ésta, éste

Demi kenyamanan Anda, file zip yang berisi stopwords default untuk semua bahasa saat ini telah tersedia di penyimpanan Azure: Stopwords.zip.

Cara memodifikasi daftar stopword

Kami berharap bahwa banyak pengguna ingin membuat daftar stopword mereka sendiri, atau mengubah istilah yang termasuk dalam daftar default. Eksperimen berikut di Galeri Intelijen Cortana menunjukkan bagaimana Anda dapat menyesuaikan daftar kata berhenti.

Jika Anda mengubah daftar, atau membuat daftar kata berhenti Anda sendiri, perhatikan persyaratan berikut:

  • File harus berisi satu kolom teks. Anda mungkin mendapatkan kesalahan berikut jika kolom tambahan hadir: "Pola pemilihan Kolom Kesalahan Teks Praproses "Kolom teks untuk dibersihkan" diharapkan memberikan 1 kolom yang dipilih dalam himpunan data input, tetapi 2 kolom adalah / sebenarnya disediakan. (Kesalahan 0022)"

    Jika ini terjadi, cari spasi, tab, atau kolom tersembunyi yang ada dalam file tempat daftar stopword awalnya diimpor. Bergantung pada bagaimana file disiapkan, tab atau koma yang disertakan dalam teks juga dapat menyebabkan beberapa kolom dibuat.

    Saat Anda mendapatkan kesalahan ini, tinjau file sumber, atau gunakan modul Pilih Kolom dalam Himpunan Data untuk memilih satu kolom untuk diteruskan ke modul Teks Praproses .

  • Setiap baris hanya dapat berisi satu kata. Untuk tujuan penguraian file, kata-kata ditentukan oleh penyisipan spasi.

  • Daftar stopword tidak bisa kosong.

Urutan operasi

Dalam modul ini, Anda dapat menerapkan beberapa operasi ke teks. Namun, urutan di mana operasi ini diterapkan tidak dapat diubah. Hal ini dapat mempengaruhi hasil yang diharapkan.

Misalnya, jika Anda menerapkan lemmatisasi ke teks, dan juga menggunakan penghapusan stopword, semua kata dikonversi ke bentuk lemma mereka sebelum daftar stopword diterapkan. Oleh karena itu, jika teks Anda menyertakan kata yang tidak ada dalam daftar stopword, tetapi lemmanya ada dalam daftar stopword, kata tersebut akan dihapus.

Pastikan untuk menguji persyaratan target terlebih dahulu untuk menjamin hasil yang benar.

Bahasa yang tidak didukung

Jika kolom teks Anda menyertakan bahasa yang tidak didukung oleh Pembelajaran Mesin, sebaiknya gunakan hanya opsi yang tidak memerlukan pemrosesan bergantung pada bahasa. Ini dapat membantu menghindari hasil yang aneh.

Selain itu, jika Anda menggunakan opsi Kolom berisi bahasa, Anda harus memastikan bahwa tidak ada bahasa yang tidak didukung yang disertakan dalam teks yang diproses. Jika bahasa yang tidak didukung atau pengenalnya ada dalam himpunan data, kesalahan run-time berikut dihasilkan:

"Kesalahan Teks Praproses (0039): Harap tentukan bahasa yang didukung."

Untuk menghindari kegagalan seluruh eksperimen karena bahasa yang tidak didukung terdeteksi, gunakan modul Pisahkan Data , dan tentukan ekspresi reguler untuk membagi himpunan data menjadi bahasa yang didukung dan tidak didukung.

Misalnya, ekspresi reguler berikut membagi himpunan data berdasarkan bahasa yang terdeteksi untuk kolom Sentence:

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

Jika Anda memiliki kolom yang berisi pengenal bahasa, atau jika Anda telah membuat kolom seperti itu, Anda dapat menggunakan ekspresi reguler seperti berikut untuk memfilter pada kolom pengenal:

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

Input yang diharapkan

Nama Jenis Deskripsi
Himpunan Data Tabel Data Data input
Hentikan kata-kata Tabel Data Daftar kata berhenti kustom opsional untuk dihapus

Parameter modul

Nama Jenis Rentang Opsional Default Deskripsi
Hapus URL Boolean True

Salah
Diperlukan true Hapus URL
Bahasa Bahasa Inggris

Spanyol

Prancis

Belanda

Jerman

Italia
Diperlukan Inggris Pilih bahasa yang akan diproses sebelumnya
Kolom teks untuk dibersihkan Pilihan Kolom Diperlukan StringFeature Pilih kolom teks yang akan dibersihkan
Ekspresi reguler kustom Untai (karakter) Opsional Tentukan ekspresi reguler kustom
String pengganti kustom Untai (karakter) Opsional Tentukan string pengganti kustom untuk ekspresi reguler kustom
Menghapus kata stop Boolean Diperlukan true Menghapus kata stop
Lemmatisasi Boolean Diperlukan true Gunakan lemmatisasi
Hapus berdasarkan bagian ucapan Tipe Palsu Sejati TRUE

salah
Diperlukan False Menunjukkan apakah analisis bagian dari pidato harus digunakan untuk mengidentifikasi dan menghapus kelas kata tertentu
Hapus kata benda Boolean Berlaku saat opsi Filter menurut bagian ucapan dipilih TRUE Hapus kata benda
Menghapus kata sifat Boolean Berlaku saat opsi Filter menurut bagian ucapan dipilih TRUE Menghapus kata sifat
Menghapus kata kerja Boolean Berlaku saat opsi Filter menurut bagian ucapan dipilih TRUE Menghapus kata kerja
Mendeteksi kalimat Boolean Diperlukan true Mendeteksi kalimat dengan menambahkan terminator kalimat \"||| \" yang dapat digunakan oleh modul ekstraktor fitur n-gram
Menormalkan kasus ke huruf kecil Boolean Diperlukan true Menormalkan kasus ke huruf kecil
Menghapus angka Boolean Diperlukan true Menghapus angka
Menghapus karakter khusus Boolean Diperlukan true Hapus karakter khusus non-alfanumerik dan ganti dengan karakter "|""
Menghapus karakter duplikat Boolean Diperlukan true Menghapus karakter duplikat
Menghapus alamat email Boolean Diperlukan true Menghapus alamat email

Output

Nama Jenis Deskripsi
Kumpulan data hasil Tabel Data Kumpulan data hasil

Pengecualian

Pengecualian Deskripsi
Kesalahan 0003 Pengecualian terjadi jika satu atau lebih input null atau kosong.
Kesalahan 0030 pengecualian terjadi ketika tidak mungkin mengunduh file.
Kesalahan 0048 Pengecualian terjadi ketika tidak mungkin untuk membuka file.
Kesalahan 0049 Pengecualian terjadi ketika tidak mungkin mengurai file.

Untuk daftar kesalahan khusus untuk modul Studio (klasik), lihat Pembelajaran Mesin Kode kesalahan.

Untuk daftar pengecualian API, lihat Pembelajaran Mesin Kode Kesalahan REST API.

Lihat juga

Text Analytics

Daftar Modul A-Z