🚀 Coba Zilliz Cloud, Milvus yang sepenuhnya terkelola, secara gratis—rasakan performa 10x lebih cepat! Coba Sekarang>>

milvus-logo
LFAI
  • Home
  • Blog
  • Membangun Asisten Penulisan Bertenaga AI untuk Kantor WPS

Membangun Asisten Penulisan Bertenaga AI untuk Kantor WPS

  • Scenarios
July 28, 2020
milvus

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:

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:

  1. 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.
  2. 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.
  3. 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:

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 Started

    Like the article? Spread the word

    Terus Baca