Cara Membangun Pipeline NLP Di AWS – Menuju AI

Cara Membangun Pipeline NLP Di AWS – Menuju AI

Pengarang: Yingjie Qu

Awalnya diterbitkan di Towards AI the World’s Leading AI and Technology News and Media Company. Jika Anda sedang membangun produk atau layanan terkait AI, kami mengundang Anda untuk mempertimbangkan untuk menjadi sponsor AI. Di Towards AI, kami membantu menskalakan AI dan startup teknologi. Biarkan kami membantu Anda melepaskan teknologi Anda kepada massa.

Pelajari cara menerapkan kode NLP pada mesin virtual

Musim panas ini, saya telah bekerja sebagai Data Science Intern di sebuah perusahaan lokal di AS. Sebuah proyek penting yang telah saya kerjakan dengan empat rekan adalah tentang membangun saluran berbasis Cloud untuk secara otomatis mengekstrak topik yang paling relevan dibahas setiap hari dari 50.000 tweet.

Layanan Web Amazon

Dalam artikel ini, saya akan menjelaskan langkah-langkah utama yang perlu Anda ikuti untuk membuat proyek serupa yang dihosting di AWS.

Mengapa menggunakan Awan?

Jika Anda belum mulai mempelajari cara menggunakan Cloud, kemungkinan besar Anda telah membuat semua proyek Anda menjadi lokal. Ini bukan masalah ketika Anda memiliki perangkat lunak ringan yang ingin Anda jalankan sesuka Anda, namun, jika Anda menginginkan sesuatu yang berjalan pada jadwal harian, itu perlu di-host di tempat lain. Untuk tujuan ini, kami dapat menyewa layanan di Cloud dari salah satu Penyedia Cloud utama (dalam kasus kami, AWS), sehingga perangkat lunak kami tidak memerlukan komputer pribadi kami saat berjalan.

Garis besar proyek

Proyek yang akan kita lakukan akan mengikuti arsitektur ini dan akan diatur dalam langkah-langkah berikut:

Menyiapkan mesin virtual Menulis kode python Menggores tweet Pemodelan topik Visualisasi Data Pengelompokan

3. Menjadwalkan pipa agar berjalan setiap hari

Di Tangan!

Jika Anda mencoba mengikuti langkah-langkah ini untuk membuat proyek serupa, pastikan Anda sudah memiliki akun AWS.

1. Siapkan mesin virtual

Mesin virtual adalah komputer simulasi yang dapat Anda sewa dari Cloud (dan Anda dapat membayar hanya 0,04 USD/jam) yang memungkinkan Anda menjalankan kode Anda. Layanan AWS yang perlu Anda gunakan untuk menyiapkan VM disebut EC2.

Untuk percobaan saya, saya akan menggunakan t2.small karena ini adalah contoh terkecil di mana saya dapat menginstal salah satu perpustakaan utama yang akan saya gunakan: pengubah kalimat. Bergantung pada kode Anda, Anda bahkan dapat menyewa instans EC2 yang lebih kecil, seperti t2.nano atau t2.micro, yang harganya relatif lebih murah.

Saat Anda meluncurkan EC2, seperti inilah tampilannya

Amazon Web Services, Inc. (AWS) menyediakan platform komputasi awan bagi individu, perusahaan, dan pemerintah untuk melakukan berbagai layanan web sebagaimana diperlukan. AWS Cloud memiliki banyak fitur luar biasa, termasuk skalabilitas tinggi, elastisitas tinggi, ketersediaan tinggi, dan sebagainya.

Mesin virtual adalah jenis sistem komputer yang sepenuhnya tervirtualisasi, tidak seperti server fisik apa pun. Mesin virtual “meminjam” CPU dan memorinya dari server jarak jauh, seperti AWS atau dari komputer fisik. Tidak hanya cukup berguna dalam menjalankan aplikasi dan kode yang tidak dapat berjalan di komputer lokal, tetapi juga dapat membuat cadangan sistem operasi pengguna saat ini.

2. Tulis kode python

sebuah. Pengikisan Web

Pustaka snscrape digunakan untuk pengikisan web, di mana pengguna dapat mengunduh sejumlah besar tweet dari Twitter berdasarkan topik dan rentang waktu yang mereka tentukan dengan Python. Dalam kasus kami, kami fokus pada topik Covid-19 karena dampaknya yang besar pada masyarakat sebagai pandemi global, dan kami telah menghapus 50.000 tweet secara total.

b. Pemodelan Topik

Topic Modeling adalah metode pemodelan statistik yang mengabstraksikan “topik” dalam satu set dokumen.

Langkah Penting Pemodelan Topik

Pertama, data diambil dan disimpan dalam file CSV sehingga setiap kalimat berada dalam satu baris. Kemudian metodologi encoding diterapkan untuk mengubah setiap kalimat menjadi koordinat dalam ruang. Selanjutnya, metode pengelompokan dikerahkan untuk memberi label setiap titik dalam ruang ke dalam grup tertentu. Akhirnya, semua titik divisualisasikan dalam ruang.

Untuk melakukan pengkodean, kita akan menggunakan perpustakaan yang disebut Sentence-Transformers, yang mengambil teks sebagai input dan mengeluarkan vektor multidimensi. Setelah pengkodean, setiap kalimat telah diubah menjadi koordinat dalam ruang dengan dimensi 768. Dengan menerapkan pengelompokan ke semua data vektor kami, kami dapat mengidentifikasi semua grup yang berbagi konten serupa: pada dasarnya, kami dapat mengekstrak semua tren/topik dari tweet kami.

Karena kami ingin melakukan clustering sederhana, kami menggunakan K-Means dengan jumlah referensi 200 cluster untuk semua tweet kami.

d. Visualisasi data

Langkah terakhir adalah memvisualisasikan data dengan cara yang jelas. Langkah penting adalah pengurangan dimensi dari 768 menjadi 2 (menggunakan Umap sebagai algoritme pengurangan dimensi), karena tidak mungkin memvisualisasikan vektor berdimensi lebih besar dari 3, kami memutuskan untuk memvisualisasikan hasilnya pada bidang XY dengan Plotly.

Visualisasi Data pada bidang 2-D

Pada grafik yang dihasilkan, setiap titik diberi label dengan warna tertentu, yang menunjukkan identitas kelompoknya. Dalam hal ini, ada 200 kelompok secara total.

3. Jadwalkan VM untuk dijalankan setiap hari

Untuk menjadwalkan mesin virtual agar berjalan setiap hari, Lambda dan EventBridge adalah dua layanan web di AWS yang dikerahkan untuk mengaktifkan dan menutup Mesin Virtual secara otomatis. Secara khusus, perintah Lambda digunakan untuk memulai dan menghentikan mesin virtual, sementara EventBridge membantu Lambda dalam menyiapkan jadwal berulang yang memicu perintah lambda.

Lambda digunakan untuk memulai dan menghentikan virtual, EventBridge digunakan untuk menjadwalkan Lambda secara berulang
EventBridge diluncurkan melalui AWS
Lambda dan EventBridge terhubung bersama dengan mesin virtual

How To Build an NLP Pipeline On AWS awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Menuju AI

Author: Scott Anderson