Menggunakan NLP untuk mengotomatiskan kategorisasi deskripsi pengguna

8

Saya memiliki file keluhan pelanggan yang sangat besar tentang produk yang dimiliki perusahaan saya dan saya ingin melakukan analisis data pada deskripsi tersebut dan menandai kategori untuk masing-masing.

Sebagai contoh: Saya perlu mencari tahu jumlah keluhan di sisi Perangkat Lunak dan Keras produk saya dari keluhan pelanggan. Saat ini, saya menggunakan excel untuk melakukan analisis data yang mencari sejumlah besar pekerjaan manual untuk mendapatkan nama tag untuk keluhan.

Apakah ada cara di NLP untuk membangun dan melatih model untuk mengotomatisasi proses ini? Saya telah membaca hal-hal tentang NLP selama beberapa hari terakhir dan sepertinya NLP memiliki banyak fitur yang baik untuk memulai dalam mengatasi masalah ini. Bisakah seseorang membimbing saya dengan cara saya harus menggunakan NLP untuk mengatasi masalah ini?

SRS
sumber
Apakah Anda memiliki keterampilan pemrograman? Ada banyak cara untuk melakukan ini, saya dapat menyarankan sesuatu semoga didasarkan pada sesuatu yang telah Anda gunakan di masa lalu.
sheldonkreger
Saya memiliki pengetahuan yang bagus di Jawa. Saya telah menggunakan R untuk beberapa tugas penambangan data. Saat ini saya sedang mempelajari Python untuk menggunakan NLP.
SRS

Jawaban:

6

Salah satu cara untuk menangani ini adalah dengan menggunakan 'klasifikasi terbimbing'. Dalam model ini, Anda secara manual mengklasifikasikan subkumpulan data dan menggunakannya untuk melatih algoritme Anda. Kemudian, Anda memasukkan data yang tersisa ke perangkat lunak Anda untuk mengklasifikasikannya.

Ini dilakukan dengan NLTK untuk Python (nltk.org).

Jika Anda hanya mencari string seperti "perangkat keras" dan "perangkat lunak", ini adalah kasus penggunaan yang sederhana, dan Anda kemungkinan akan mendapatkan hasil yang layak menggunakan 'fitur extractor', yang memberi tahu classifier Anda frasa mana dalam dokumen yang relevan.

Meskipun mungkin untuk menerapkan metode otomatis untuk menemukan kata kunci, sepertinya Anda sudah memiliki daftar dalam pikiran, sehingga Anda dapat melewati langkah itu dan cukup gunakan tag yang Anda ketahui. (Jika hasil Anda tidak memuaskan pertama kali, ini adalah sesuatu yang mungkin Anda coba nanti).

Itu gambaran umum untuk memulai. Jika Anda tidak puas dengan hasil awal, Anda dapat menyaring classifier Anda dengan memperkenalkan metode yang lebih kompleks, seperti segmentasi kalimat, identifikasi jenis tindakan dialog, dan pohon keputusan. Langit adalah batasnya (atau lebih mungkin, waktu Anda adalah batasnya)!

Info lebih lanjut di:

http://www.nltk.org/book/ch06.html

sheldonkreger
sumber
Strategi dasar ini juga akan berfungsi jika Anda menemukan toolkit NLP dalam bahasa lain yang Anda tahu, seperti Java. Aku hanya tidak terbiasa dengan itu.
sheldonkreger
1

Sheldon benar, ini terdengar seperti kasus penggunaan yang cukup umum untuk klasifikasi yang diawasi. Jika semua keluhan pelanggan Anda adalah perangkat lunak atau perangkat keras (yaitu, nol keluhan individual mencakup kedua kategori, dan nol di luar dua kelas ini), maka semua yang Anda butuhkan adalah pengelompokan biner, yang membuat segala sesuatunya lebih sederhana daripada yang seharusnya.

Jika Anda mencari toolkit NLP berbasis Java yang mendukung sesuatu seperti ini, Anda harus memeriksa Stanford Classifier: http://nlp.stanford.edu/software/classifier.shtml - ini dilisensikan sebagai perangkat lunak sumber terbuka di bawah GPL.

Halaman wiki mereka akan membantu Anda memulai menggunakan classifier: http://www-nlp.stanford.edu/wiki/Software/Classifier - perlu diingat bahwa Anda harus secara manual memberi anotasi sampel besar data Anda sebagai set pelatihan, seperti yang disebutkan Sheldon.

Charlie Greenbacker
sumber
Klasifikasi Perangkat Lunak / Perangkat Keras seperti contoh tugas yang saya coba kerjakan dengan kategorisasi. Ada beberapa kategori lain yang ada di pikiran saya yang akan mengambil pemahaman mendalam tentang apa yang salah dengan produk, dengan membaca kasus pelanggan, dan menandai kategori yang sesuai. Saya mulai membaca NLPTK menggunakan python tapi saya ingin tahu jenis fungsi yang harus saya cari untuk mengatasi kasus ini
SRS
Ini bukan masalah sederhana dalam mencari fungsi sihir. Apa yang ingin Anda lakukan adalah membangun classifier menggunakan pembelajaran mesin yang diawasi. Ini adalah langkah-langkahnya ... 1. secara manual memberi anotasi sampel data Anda sebagai set pelatihan, 2. mengekstrak fitur dari data Anda untuk dilatih (untuk teks, ini mungkin seperti ngram), 3. membangun model classifier menggunakan perpustakaan pembelajaran mesin, 4. menerapkan model classifier ke data baru. Beberapa perpustakaan seperti Stanford Classifier akan membantu Anda dengan langkah 2 & 3.
Charlie Greenbacker