Bagikan melalui


Teknologi pemrosesan bahasa alami

Pemrosesan bahasa alami memiliki banyak aplikasi, seperti analisis sentimen, deteksi topik, deteksi bahasa, ekstraksi frasa kunci, dan kategorisasi dokumen.

Secara khusus, Anda dapat menggunakan pemrosesan bahasa alami untuk:

  • Mengklasifikasikan dokumen. Misalnya, Anda dapat memberi label sebagai sensitif atau spam.
  • Lakukan pemrosesan atau pencarian berikutnya dengan menggunakan output pemrosesan bahasa alami.
  • Meringkas teks dengan mengidentifikasi entitas dalam dokumen.
  • Tandai dokumen dengan kata kunci dengan menggunakan entitas yang diidentifikasi.
  • Lakukan pencarian dan pengambilan berbasis konten dengan menggunakan tag.
  • Meringkas topik utama dokumen dengan menggunakan entitas yang diidentifikasi.
  • Kategorikan dokumen untuk navigasi dengan menggunakan topik yang terdeteksi.
  • Menghitung dokumen terkait berdasarkan topik yang dipilih.
  • Menilai sentimen teks untuk memahami nada positif atau negatifnya.

Seiring kemajuan teknologi, Anda dapat menggunakan pemrosesan bahasa alami untuk mengategorikan dan menganalisis data teks. Anda juga dapat menggunakannya untuk meningkatkan fungsi AI yang dapat ditafsirkan di berbagai domain. Integrasi model bahasa secara signifikan meningkatkan kemampuan pemrosesan bahasa alami. Model bahasa seperti GPT dan BERT dapat menghasilkan teks yang mirip manusia dan sadar kontekstual. Kemampuan ini membuatnya sangat efektif untuk tugas pemrosesan bahasa yang kompleks. Mereka melengkapi teknik pemrosesan bahasa alami yang ada dengan menangani tugas kognitif yang lebih luas, yang meningkatkan sistem percakapan dan keterlibatan pelanggan, terutama dengan model seperti Dolly 2.0Databricks.

Hubungan dan perbedaan antara model bahasa dan pemrosesan bahasa alami

Pemrosesan bahasa alami adalah bidang komprehensif yang mencakup berbagai teknik untuk memproses bahasa manusia. Sebaliknya, model bahasa adalah subset tertentu dari pemrosesan bahasa alami. Mereka fokus pada pembelajaran mendalam untuk melakukan tugas bahasa tingkat tinggi. Model bahasa meningkatkan pemrosesan bahasa alami dengan menyediakan pembuatan teks tingkat lanjut dan kemampuan pemahaman, tetapi tidak identik dengan pemrosesan bahasa alami. Sebaliknya, mereka berfungsi sebagai alat yang kuat dalam domain pemrosesan bahasa alami yang lebih luas dengan mengaktifkan pemrosesan bahasa yang lebih canggih.

Nota

Artikel ini berfokus pada pemrosesan bahasa alami. Hubungan antara pemrosesan bahasa alami dan model bahasa menunjukkan bahwa model bahasa meningkatkan proses pemrosesan bahasa alami melalui pemahaman bahasa yang unggul dan kemampuan pembuatan.

Potensi kasus penggunaan

Skenario bisnis yang dapat memperoleh manfaat dari pemrosesan bahasa alami kustom meliputi:

  • Kecerdasan dokumen untuk dokumen tulisan tangan atau buatan mesin di sektor keuangan, layanan kesehatan, ritel, pemerintah, dan lainnya.

  • Tugas pemrosesan bahasa alami yang tidak bergantung pada industri untuk pemrosesan teks, seperti pengenalan entitas bernama (NER), klasifikasi, pembuatan ringkasan, dan pengambilan relasi.

    Tugas-tugas ini membantu Anda mengambil, mengidentifikasi, dan menganalisis informasi dokumen secara otomatis seperti teks dan data yang tidak terstruktur. Contoh tugas ini termasuk model stratifikasi risiko, klasifikasi ontologi, dan ringkasan ritel.

  • Pengambilan informasi dan pembuatan grafik pengetahuan untuk pencarian semantik. Fungsionalitas ini memungkinkan untuk membuat grafik pengetahuan medis yang mendukung penemuan obat dan uji klinis.

  • Terjemahan teks untuk sistem AI percakapan dalam aplikasi yang berinteraksi dengan pelanggan di seluruh industri ritel, keuangan, perjalanan, dan lainnya.

  • Sentimen dan peningkatan kecerdasan emosional dalam analitik, terutama untuk memantau persepsi merek dan analitik umpan balik pelanggan.

  • Pembuatan laporan otomatis. Mensintesis dan menghasilkan laporan tekstual yang komprehensif dari input data terstruktur. Tugas-tugas ini membantu sektor-sektor seperti keuangan dan kepatuhan di mana dokumentasi menyeluruh diperlukan.

  • Antarmuka yang diaktifkan suara yang mengintegrasikan pemrosesan bahasa alami untuk pengenalan suara dan kemampuan percakapan alami. Integrasi ini meningkatkan interaksi pengguna di aplikasi Internet of Things dan aplikasi perangkat pintar.

  • Model bahasa adaptif yang dapat menyesuaikan output bahasa secara dinamis agar sesuai dengan berbagai tingkat pemahaman audiens. Kemampuan ini sangat penting untuk konten pendidikan dan peningkatan aksesibilitas.

  • Analisis teks keamanan cyber untuk menganalisis pola komunikasi dan penggunaan bahasa secara real time. Analisis ini membantu Anda mengidentifikasi potensi ancaman keamanan dalam komunikasi digital dan meningkatkan deteksi upaya phishing atau informasi yang salah.

Apache Spark sebagai kerangka kerja pemrosesan bahasa alami yang disesuaikan

Apache Spark adalah kerangka kerja pemrosesan paralel yang kuat yang meningkatkan performa aplikasi analitik big data dengan menggunakan pemrosesan dalam memori. Azure Synapse Analytics, Azure HDInsight, dan Azure Databricks menyediakan akses yang kuat ke kemampuan pemrosesan Spark. Akses ini membantu Anda menjalankan operasi data skala besar dengan mulus.

Spark NLP adalah kerangka kerja efisien yang dapat memproses teks dalam volume besar untuk beban kerja pemrosesan bahasa alami yang disesuaikan. Pustaka sumber terbuka ini menyediakan fungsionalitas yang luas dengan menggunakan pustaka Python, Java, dan Scala. Pustaka ini memberikan kecanggihan yang dapat Anda temukan di pustaka pemrosesan bahasa alami yang menonjol seperti spaSi dan Toolkit Bahasa Alami. Spark NLP menyertakan fitur tingkat lanjut seperti pemeriksaan ejaan, analisis sentimen, dan klasifikasi dokumen. Fitur-fitur ini membantu Anda secara konsisten memastikan akurasi dan skalabilitas yang optimal.

Diagram yang menunjukkan area fungsionalitas pemrosesan bahasa alami, seperti pengenalan entitas. Berbagai kotak mencantumkan anotator pemrosesan bahasa alami, model, dan bahasa yang didukung.

ApacheĀ®, Apache Spark, dan logo api adalah merek dagang terdaftar atau merek dagang Dari Apache Software Foundation di Amerika Serikat dan/atau negara lain. Tidak ada dukungan oleh Apache Software Foundation yang tersirat oleh penggunaan tanda-tanda ini.

Tolok ukur performa publik terbaru menyoroti performa Spark NLP. Tolok ukur ini menunjukkan peningkatan kecepatan yang signifikan dibandingkan perpustakaan perangkat lunak lainnya. Spark NLP juga mempertahankan akurasi yang sebanding untuk melatih model kustom. Terutama, integrasi model Llama 2 dan OpenAI Whisper meningkatkan antarmuka percakapan dan pengenalan ucapan multibahasa. Kemampuan ini menandai langkah signifikan dalam kemampuan pemrosesan yang dioptimalkan.

Spark NLP secara efektif menggunakan kluster Spark terdistribusi yang berfungsi sebagai ekstensi asli Spark ML dan beroperasi langsung pada bingkai data. Integrasi ini mendukung peningkatan perolehan performa pada kluster, yang memfasilitasi pembuatan pemrosesan bahasa alami terpadu dan alur pembelajaran mesin untuk tugas-tugas seperti klasifikasi dokumen dan prediksi risiko. Dukungan penyematan MPNet dan ONNX yang luas lebih lanjut memperkaya kemampuan ini dan memungkinkan pemrosesan yang tepat dan sadar konteks.

Spark NLP memberikan hasil yang sangat akurat di berbagai tugas pemrosesan bahasa alami yang diperluas. Pustaka dilengkapi dengan model pembelajaran mendalam bawaan untuk pengenalan entitas bernama, klasifikasi dokumen, dan deteksi sentimen. Desainnya yang kaya fitur mencakup model bahasa yang telah dilatih sebelumnya yang mendukung penyematan kata, gugus, kalimat, dan dokumen.

Skala infrastruktur Spark NLP dicapai dengan menggunakan build yang dioptimalkan khusus untuk CPU, GPU, dan chip Intel Xeon terbaru, yang memungkinkan proses pelatihan dan inferensi memanfaatkan kluster Spark secara maksimal. Kemampuan ini membantu memastikan penanganan tugas pemrosesan bahasa alami yang efisien di berbagai lingkungan dan aplikasi.

Tantangan

  • Pemrosesan sumber daya: Memproses kumpulan dokumen teks bentuk bebas memerlukan sejumlah besar sumber daya komputasi. Pemrosesannya juga intensif waktu. Pemrosesan semacam ini sering melibatkan penyebaran komputasi GPU. Kemajuan terbaru yang mendukung kuantisasi, seperti pengoptimalan dalam arsitektur NLP Spark seperti Llama 2, membantu menyederhanakan tugas intensif ini dengan mengalokasikan sumber daya secara lebih efisien.

  • Standardisasi: Tanpa format dokumen standar, mungkin sulit untuk mencapai hasil yang akurat secara konsisten ketika Anda menggunakan pemrosesan teks bentuk bebas untuk mengekstrak fakta tertentu dari dokumen. Misalnya, mengekstrak nomor faktur dan tanggal dari berbagai faktur menimbulkan tantangan. Integrasi model pemrosesan bahasa alami yang dapat disesuaikan seperti M2M100 meningkatkan akurasi pemrosesan di beberapa bahasa dan format. Akurasi yang ditingkatkan ini menyebabkan hasil yang lebih konsisten.

  • Variasi dan kompleksitas data: Mengatasi berbagai struktur dokumen dan nuansa linguistik tetap kompleks. Inovasi seperti penyematan MPNet memberikan pemahaman kontekstual yang ditingkatkan, yang mengarah pada penanganan format tekstual yang lebih intuitif dan pemrosesan data yang lebih andal.

Kriteria pilihan utama

Di Azure, layanan Spark seperti Azure Databricks, Microsoft Fabric, dan HDInsight menyediakan fungsionalitas pemrosesan bahasa alami saat Anda menggunakannya dengan Spark NLP. Layanan Azure AI adalah opsi lain untuk fungsionalitas pemrosesan bahasa alami. Untuk membantu Anda memutuskan layanan mana yang akan digunakan, pertimbangkan aspek-aspek berikut:

  • Jika Anda ingin menggunakan model bawaan atau yang sudah dilatih sebelumnya, pertimbangkan untuk menggunakan API yang disediakan layanan AI. Atau Anda dapat mengunduh model pilihan Anda melalui Spark NLP, yang mencakup model tingkat lanjut seperti Llama 2 dan MPNet untuk kemampuan yang ditingkatkan.

  • Jika Anda perlu melatih model kustom terhadap kumpulan data teks yang besar, pertimbangkan untuk menggunakan Azure Databricks, Fabric, atau HDInsight dengan Spark NLP. Platform ini memberikan daya komputasi dan fleksibilitas yang Anda butuhkan untuk pelatihan model yang luas.

  • Jika Anda memerlukan kemampuan pemrosesan bahasa alami tingkat rendah seperti tokenisasi, stemming, lemmatisasi, dan frekuensi istilah/frekuensi dokumen terbalik (TF/IDF), pertimbangkan untuk menggunakan Azure Databricks, Fabric, atau HDInsight dengan Spark NLP. Atau, gunakan pustaka perangkat lunak sumber terbuka di alat pilihan pemrosesan Anda.

  • Jika Anda memerlukan kemampuan pemrosesan bahasa alami tingkat tinggi yang sederhana seperti entitas dan identifikasi niat, deteksi topik, pemeriksaan ejaan, atau analisis sentimen, pertimbangkan untuk menggunakan API yang disediakan layanan AI. Atau unduh model pilihan Anda melalui Spark NLP untuk menggunakan fungsi bawaan untuk tugas-tugas ini.

Matriks kemampuan

Tabel berikut ini meringkas perbedaan utama dalam kemampuan layanan pemrosesan bahasa alami.

Kemampuan umum

Kemampuan Layanan Spark (Azure Databricks, Fabric, HDInsight) dengan Spark NLP Layanan AI
Menyediakan model yang telah dilatih sebelumnya sebagai layanan Ya Ya
REST API Ya Ya
Keterprograman Python, Scala Lihat bahasa pemrograman yang didukung
Mendukung pemrosesan himpunan data besar dan dokumen besar Ya Tidak

Kemampuan anotator

Kemampuan Layanan Spark (Azure Databricks, Fabric, HDInsight) dengan Spark NLP Layanan AI
Detektor kalimat Ya Tidak
Detektor kalimat mendalam Ya Ya
Tokenizer Ya Ya
Generator N-gram Ya Tidak
Segmentasi Kata Ya Ya
Stemmer Ya Tidak
Lemmatizer Ya Tidak
Pemberian tag bagian ucapan Ya Tidak
Pengurai dependensi Ya Tidak
Terjemahan Ya Tidak
Pembersih Stopword Ya Tidak
Koreksi ejaan Ya Tidak
Normalizer Ya Ya
Alat Pencocok Teks Ya Tidak
TF/IDF Ya Tidak
Pencocokan ekspresi reguler Ya Disematkan dalam fitur pemahaman bahasa percakapan (CLU)
Pencocok tanggal Ya Dimungkinkan dalam CLU melalui pengenal DateTime
Chunker Ya Tidak

Nota

Pemahaman Bahasa (LUIS) akan dihentikan pada 1 Oktober 2025. Anda harus memigrasikan aplikasi LUIS yang ada ke fitur pemahaman bahasa percakapan (CLU) bahasa Azure AI, yang meningkatkan kemampuan pemahaman bahasa dan menyediakan fitur baru.

Kemampuan pemrosesan bahasa alami tingkat tinggi

Kemampuan Layanan Spark (Azure Databricks, Fabric, HDInsight) dengan Spark NLP Layanan AI
Pemeriksa ejaan Ya Tidak
Ringkasan Ya Ya
Jawaban atas Pertanyaan Ya Ya
Deteksi sentimen Ya Ya
Deteksi emosi Ya Mendukung penggalian opini
Klasifikasi token Ya Ya, melalui model kustom
Klasifikasi teks Ya Ya, melalui model kustom
Representasi teks Ya Tidak
NER Ya Ya, analitik teks menyediakan sekumpulan NER
Pengenalan entitas Ya Ya, melalui model kustom
Deteksi bahasa Ya Ya
Mendukung bahasa selain bahasa Inggris Ya, mendukung lebih dari 200 bahasa Ya, mendukung lebih dari 97 bahasa

Menyiapkan Spark NLP di Azure

Untuk menginstal Spark NLP, gunakan kode berikut, tetapi ganti <version> dengan nomor versi terbaru. Untuk informasi selengkapnya, lihat dokumentasi Spark NLP.

# Install Spark NLP from PyPI.
pip install spark-natural language processing==<version>

# Install Spark NLP from Anaconda or Conda.
conda install -c johnsnowlabs spark-natural language processing

# Load Spark NLP with Spark Shell.
spark-shell --packages com.johnsnowlabs.natural language processing:spark-natural language processing_<version>

# Load Spark NLP with PySpark.
pyspark --packages com.johnsnowlabs.natural language processing:spark-natural language processing_<version>

# Load Spark NLP with Spark Submit.
spark-submit --packages com.johnsnowlabs.natural language processing:spark-natural language processing_<version>

# Load Spark NLP as an external JAR after compiling and building Spark NLP by using SBT assembly.
spark-shell --jars spark-natural language processing-assembly-3 <version>.jar

Mengembangkan alur pemrosesan bahasa alami

Spark NLP mengikuti konsep pengembangan yang sama dengan model pembelajaran mesin Spark ML tradisional saat menjalankan alur pemrosesan bahasa alami. Ini juga menerapkan teknik pemrosesan bahasa alami khusus.

Diagram yang memperlihatkan tahapan alur pemrosesan bahasa alami, seperti perakitan dokumen, deteksi kalimat, tokenisasi, normalisasi, dan penyematan kata.

Alur Spark NLP mencakup komponen inti berikut:

  • DocumentAssembler adalah transformator yang menyiapkan data dengan mengonversinya menjadi format yang dapat diproses oleh Spark NLP. Tahap ini adalah titik masuk untuk setiap alur NLP Spark. DocumentAssembler membaca kolom String atau Array[String] dan dapat memproses teks terlebih dahulu dengan menggunakan setCleanupMode, yang nonaktif secara default.

  • SentenceDetector adalah anotator yang mengidentifikasi batas kalimat dengan menggunakan pendekatan yang telah ditentukan sebelumnya. Ini dapat mengembalikan setiap kalimat yang terdeteksi dalam Array atau dalam baris terpisah saat explodeSentences diatur ke true.

  • Tokenizer adalah anotator yang membagi teks mentah menjadi token diskrit, seperti kata, angka, dan simbol, dan mengeluarkannya sebagai TokenizedSentence. Tokenizer tidak terpasang dan menggunakan konfigurasi input di dalam RuleFactory untuk membuat aturan tokenisasi. Anda dapat menambahkan aturan kustom jika aturan default tidak memadai.

  • Normalizer adalah anotator yang ditugaskan untuk menyempurnakan token. Normalizer menerapkan ekspresi reguler dan transformasi kamus untuk membersihkan teks dan menghapus karakter asing.

  • WordEmbeddings adalah anotator pencarian yang memetakan token ke vektor dan memfasilitasi pemrosesan semantik. Anda dapat menentukan kamus penyematan kustom dengan menggunakan setStoragePath, di mana setiap baris berisi token dan vektornya, dipisahkan oleh spasi. Token yang tidak terselesaikan akan menjadi vektor nol.

Spark NLP menggunakan alur Spark MLlib yang memiliki dukungan asli dari MLflow, platform sumber terbuka yang mengelola siklus hidup pembelajaran mesin. MLflow memiliki komponen utama berikut:

  • Pelacakan MLflow merekam jalannya percobaan dan menyediakan kemampuan kueri yang kuat untuk menganalisis hasil akhir.

  • MLflow Projects memungkinkan Anda menjalankan kode ilmu data di berbagai platform. Kemampuan ini meningkatkan portabilitas dan reproduksi.

  • Model MLflow mendukung penyebaran model serbaguna di berbagai lingkungan melalui kerangka kerja yang konsisten.

  • Model Registry menyediakan manajemen model yang komprehensif dengan menyimpan versi secara terpusat untuk akses dan penyebaran yang disederhanakan. Langkah ini memfasilitasi kesiapan produksi.

MLflow terintegrasi dengan platform seperti Azure Databricks, tetapi Anda juga dapat menginstalnya di lingkungan berbasis Spark lainnya untuk mengelola dan melacak eksperimen Anda. Integrasi ini memungkinkan Anda menggunakan MLflow Model Registry untuk membuat model tersedia untuk tujuan produksi. Anda dapat menyederhanakan proses penyebaran dan mempertahankan tata kelola model.

Dengan menggunakan MLflow bersama Spark NLP, Anda dapat memastikan manajemen dan penyebaran alur pemrosesan bahasa alami yang lebih efisien. Anda juga dapat mengatasi persyaratan modern untuk skalabilitas dan integrasi sambil mendukung teknik lanjutan seperti penyematan kata dan adaptasi model bahasa.

Kontributor

Microsoft mempertahankan artikel ini. Kontributor berikut menulis artikel ini.

Penulis utama:

Untuk melihat profil LinkedIn nonpublik, masuk ke LinkedIn.

Langkah berikutnya