Saya mencoba mengelompokkan, misalnya, string tentang pemrograman dengan string lain tentang pemrograman, string tentang fisika dengan string lain tentang fisika, dll., Untuk berbagai topik. Terlepas dari aspek linguistik teoretis yang menyolok dari masalah, saya mencari untuk benar-benar melakukan ini menggunakan pemrograman / perangkat lunak.
Ikhtisar: Diberikan sejumlah besar string, bagaimana cara mengelompokkan mereka berdasarkan tema semantik?
Aplikasi khusus: Saya punya ~ 200 ribu pertanyaan trivia yang ingin saya kategorikan ke dalam pengelompokan bersama (mobil, komputer, politik, Kanada, makanan, Barack Obama, dll.).
Apa yang saya teliti: Wikipedia memiliki daftar toolkit pemrosesan bahasa alami (dengan asumsi bahwa apa yang saya coba lakukan sebenarnya disebut NLP) jadi saya telah melihat beberapa tetapi tidak ada yang melakukan sesuatu yang mirip dengan kebutuhan saya.
Catatan: Telah ditunjukkan bahwa melakukan hal ini membutuhkan pengetahuan tambahan (mis. Porsche menjadi mobil, C ++ menjadi bahasa pemrograman). Saya berasumsi bahwa data pelatihan diperlukan, tetapi jika saya hanya memiliki daftar pertanyaan dan jawaban, bagaimana saya bisa menghasilkan data pelatihan? Lalu bagaimana cara saya menggunakan data pelatihan?
Lebih banyak catatan: Jika pemformatan saat ini dari bantuan Tanya Jawab (meskipun terlihat seperti JSON, pada dasarnya ini adalah file teks mentah):
// row 1: is metadata
// row 2: is a very specific kind of "category"
// row 3: is the question
// row 4: is the answer
{
15343
A MUSICAL PASTICHE
Of classical music's "three B's", he was the one born in Hamburg in 1833
Johannes Brahms
}
Tetapi sebelum seseorang menunjukkan bahwa sudah ada kategori, perhatikan bahwa ada ~ 200 ribu pertanyaan dan jawaban seperti ini, dan pada dasarnya sebanyak "kategori". Saya mencoba mengelompokkan ini ke dalam kelompok yang lebih luas seperti yang tercantum di atas. Juga, format ini dapat diubah untuk semua pertanyaan dengan sangat mudah, saya melakukannya secara terprogram.
Dan lebih banyak catatan: Saya sebenarnya tidak tahu berapa banyak kategori yang saya perlukan (setidaknya 10-20), karena saya belum membaca semua pertanyaan itu sendiri. Saya mengharapkan sebagian untuk menentukan jumlah hingga entah bagaimana selama kategorisasi. Bagaimanapun, saya selalu dapat secara manual membuat sejumlah kategori.