Membangun Asisten Penulisan Bertenaga AI untuk Kantor WPS
WPS Office adalah alat produktivitas yang dikembangkan oleh Kingsoft dengan lebih dari 150 juta pengguna di seluruh dunia. Departemen kecerdasan buatan (AI) perusahaan ini membangun asisten penulisan cerdas dari awal menggunakan algoritma pencocokan semantik seperti pengenalan maksud dan pengelompokan teks. Alat ini tersedia dalam bentuk aplikasi web dan program mini WeChat yang membantu pengguna dengan cepat membuat garis besar, paragraf individual, dan seluruh dokumen hanya dengan memasukkan judul dan memilih hingga lima kata kunci.
Mesin rekomendasi asisten penulis menggunakan Milvus, sebuah mesin pencari kemiripan sumber terbuka, untuk menggerakkan modul pemrosesan vektor intinya. Di bawah ini kita akan menjelajahi proses pembuatan asisten penulisan pintar WPS Offices, termasuk bagaimana fitur diekstraksi dari data yang tidak terstruktur serta peran yang dimainkan Milvus dalam menyimpan data dan memberi daya pada mesin rekomendasi alat ini.
Langsung ke:
- Membangun Asisten Penulisan Bertenaga AI untuk WPS Office
- Memahami data tekstual yang tidak terstruktur
- Menggunakan model TFIDF untuk memaksimalkan ekstraksi fitur
- Mengekstraksi fitur dengan model pembelajaran mendalam LSTM-CNNs-CRF dua arah
- Membuat sematan kalimat menggunakan Infersent
- Menyimpan dan menanyakan vektor dengan Milvus
- AI tidak menggantikan penulis, tetapi membantu mereka menulis
Memahami data tekstual yang tidak terstruktur
Sama seperti masalah modern lainnya yang perlu dipecahkan, membangun asisten penulisan WPS dimulai dengan data yang berantakan. Puluhan juta dokumen teks yang padat yang darinya fitur-fitur yang bermakna harus diekstraksi, untuk lebih tepatnya. Untuk memahami kompleksitas masalah ini, pertimbangkan bagaimana dua jurnalis dari outlet berita yang berbeda dapat melaporkan topik yang sama.
Meskipun keduanya akan mematuhi aturan, prinsip, dan proses yang mengatur struktur kalimat, mereka akan membuat pilihan kata yang berbeda, membuat kalimat dengan panjang yang berbeda-beda, dan menggunakan struktur artikel mereka sendiri untuk menceritakan kisah yang serupa (atau mungkin berbeda). Tidak seperti kumpulan data terstruktur dengan jumlah dimensi yang tetap, badan teks pada dasarnya tidak memiliki struktur karena sintaksis yang mengaturnya sangat mudah dibentuk. Untuk menemukan makna, fitur yang dapat dibaca oleh mesin harus diekstraksi dari kumpulan dokumen yang tidak terstruktur. Namun pertama-tama, data harus dibersihkan.
Ada berbagai cara untuk membersihkan data tekstual, yang tidak akan dibahas dalam artikel ini secara mendalam. Meskipun demikian, ini adalah langkah penting yang mendahului pemrosesan data, dan dapat mencakup menghapus tag, menghapus karakter beraksen, memperluas kontraksi, menghapus karakter khusus, menghapus kata henti, dan banyak lagi. Penjelasan rinci tentang metode untuk pra-pemrosesan dan pembersihan data teks dapat ditemukan di sini.
Menggunakan model TFIDF untuk memaksimalkan ekstraksi fitur
Untuk mulai memahami data tekstual yang tidak terstruktur, model frekuensi dokumen terbalik (TFIDF) diterapkan pada korpus yang diambil oleh asisten penulisan WPS. Model ini menggunakan kombinasi dari dua metrik, yaitu term frequency dan inverse document frequency, untuk memberikan nilai TFIDF pada setiap kata di dalam dokumen. Term frequency (TF) mewakili jumlah mentah sebuah istilah dalam dokumen dibagi dengan jumlah total istilah dalam dokumen, sedangkan inverse document frequency (IDF) adalah jumlah dokumen dalam korpus dibagi dengan jumlah dokumen di mana sebuah istilah muncul.
Hasil perkalian antara TF dan IDF memberikan ukuran seberapa sering sebuah istilah muncul dalam dokumen dikalikan dengan seberapa unik kata tersebut di dalam korpus. Pada akhirnya, nilai TFIDF adalah ukuran seberapa relevan sebuah kata dengan sebuah dokumen dalam kumpulan dokumen. Istilah diurutkan berdasarkan nilai TFIDF, dan istilah yang memiliki nilai rendah (misalnya kata-kata umum) dapat diberi bobot yang lebih rendah ketika menggunakan deep learning untuk mengekstrak fitur dari korpus.
Mengekstrak fitur dengan model pembelajaran mendalam LSTM-CNNs-CRF dua arah
Dengan menggunakan kombinasi memori jangka pendek dua arah (BLSTM), jaringan syaraf tiruan (CNN), dan medan acak bersyarat (CRF), representasi tingkat kata dan karakter dapat diekstraksi dari korpus. Model BLSTM-CNNs-CRF yang digunakan untuk membangun asisten penulisan WPS Office adalah sebagai berikut:
- CNN: Penyematan karakter digunakan sebagai input ke CNN, kemudian struktur kata yang relevan secara semantik (yaitu awalan atau akhiran) diekstraksi dan dikodekan ke dalam vektor representasi tingkat karakter.
- BLSTM: Vektor tingkat karakter digabungkan dengan vektor penyisipan kata, kemudian dimasukkan ke dalam jaringan BLSTM. Setiap urutan disajikan maju dan mundur ke dua keadaan tersembunyi yang terpisah untuk menangkap informasi masa lalu dan masa depan.
- CRF: Vektor keluaran dari BLSTM dimasukkan ke lapisan CRF untuk bersama-sama memecahkan kode urutan label terbaik.
Jaringan syaraf sekarang mampu mengekstraksi dan mengklasifikasikan entitas bernama dari teks yang tidak terstruktur. Proses ini disebut pengenalan entitas bernama (NER) dan melibatkan pencarian dan klasifikasi kategori seperti nama orang, institusi, lokasi geografis, dan banyak lagi. Entitas-entitas ini memainkan peran penting dalam menyortir dan mengingat data. Dari sini, kalimat-kalimat kunci, paragraf, dan ringkasan dapat diekstraksi dari korpus.
Membuat sematan kalimat menggunakan Infersent
Infersent, sebuah metode penyematan kalimat terawasi yang dirancang oleh Facebook yang menyematkan kalimat lengkap ke dalam ruang vektor, digunakan untuk membuat vektor yang akan dimasukkan ke dalam basis data Milvus. Infersent dilatih menggunakan korpus Stanford Natural Language Inference (SNLI), yang berisi 570 ribu pasangan kalimat yang ditulis dan dilabeli oleh manusia. Informasi tambahan tentang cara kerja Infersent dapat ditemukan di sini.
Menyimpan dan menanyakan vektor dengan Milvus
Milvus adalah mesin pencari kemiripan sumber terbuka yang mendukung penambahan, penghapusan, pembaruan, dan pencarian sematan hampir seketika dalam skala triliunan byte. Untuk meningkatkan kinerja kueri, Milvus memungkinkan jenis indeks ditentukan untuk setiap bidang vektor. Asisten pintar WPS Office menggunakan indeks IVF_FLAT, jenis indeks Inverted File (IVF) yang paling dasar di mana "flat" berarti vektor disimpan tanpa kompresi atau kuantisasi. Pengelompokan didasarkan pada IndexFlat2, yang menggunakan pencarian yang tepat untuk jarak L2.
Meskipun IVF_FLAT memiliki tingkat penarikan kueri 100%, kurangnya kompresi menghasilkan kecepatan kueri yang relatif lambat. Fungsi partisi Milvus digunakan untuk membagi data ke dalam beberapa bagian penyimpanan fisik berdasarkan aturan yang telah ditetapkan, membuat kueri lebih cepat dan lebih akurat. Ketika vektor ditambahkan ke Milvus, tag menentukan ke partisi mana data harus ditambahkan. Kueri data vektor menggunakan tag untuk menentukan pada partisi mana kueri harus dijalankan. Data dapat dipecah lebih lanjut menjadi beberapa segmen di dalam setiap partisi untuk lebih meningkatkan kecepatan.
Asisten penulis cerdas juga menggunakan cluster Kubernetes, yang memungkinkan kontainer aplikasi berjalan di berbagai mesin dan lingkungan, serta MySQL untuk manajemen metadata.
AI tidak menggantikan penulis, melainkan membantu mereka menulis
Asisten penulisan Kingsoft untuk WPS Office mengandalkan Milvus untuk mengelola dan meminta database lebih dari 2 juta dokumen. Sistem ini sangat fleksibel, mampu menjalankan pencarian hampir seketika pada kumpulan data berskala triliunan. Kueri selesai dalam rata-rata 0,2 detik, yang berarti seluruh dokumen dapat dihasilkan hampir seketika hanya dengan menggunakan judul atau beberapa kata kunci. Meskipun AI tidak menggantikan penulis profesional, teknologi yang ada saat ini mampu meningkatkan proses penulisan dengan cara yang baru dan menarik. Masa depan memang tidak diketahui, tetapi setidaknya penulis dapat menantikan metode yang lebih produktif, dan untuk beberapa metode yang tidak terlalu sulit dalam "menuangkan pena ke atas kertas."
Sumber-sumber berikut ini digunakan untuk artikel ini:
- "Pelabelan Urutan End-to-end melalui LSTM-CNNs-CRF dua arah," Xuezhe Ma dan Eduard Hovy.
- "Metode Tradisional untuk Data Teks," Dipanjan (DJ) Sarkar.
- "Ekstraksi Fitur Teks berdasarkan TF-IDF Associating Semantic," Qing Liu, Jing Wang, Dehai Zhang, Yun Yang, NaiYao Wang.
- "Memahami Penyisipan Kalimat menggunakan Infersent Facebook," Rehan Ahmad
- "Pembelajaran Terawasi Representasi Kalimat Universal dari Data Inferensi Bahasa Alami," Alexis Conneau, Douwe Kiela, Holger Schwenk, LoĂŹc Barrault, Antoine Bordes.V1
Baca cerita pengguna lain untuk mempelajari lebih lanjut tentang membuat sesuatu dengan Milvus.
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word