Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.
- Lihat informasi tentang memindahkan proyek pembelajaran mesin dari ML Studio (klasik) ke Azure Machine Learning.
- Mer informasjon tentang Azure Machine Learning.
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
Tambahkan modul Teks Praproses ke eksperimen Anda di Studio (klasik). Anda dapat menemukan modul ini pada Analitik Teks.
Sambungkan himpunan data yang memiliki setidaknya satu kolom yang berisi teks.
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.
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.
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 .
Kolom teks untuk dibersihkan: Pilih kolom atau kolom yang ingin Anda praproses.
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 .
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.
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.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.
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,
AMsamaamdengan .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,httpsftpwww
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" .
Normalkan garis miring terbalik menjadi garis miring: Pilih opsi ini untuk memetakan semua instans
\\ke/.Pilih token di karakter khusus: Pilih opsi ini jika Anda ingin memisahkan kata pada karakter seperti
&,-, dan sebagainya.Misalnya, string
MS-WORDakan dipisahkan menjadi dua token,MSdanWORD.
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.