Saat melakukan pemrosesan bahasa alami, seseorang dapat mengambil corpus dan mengevaluasi probabilitas kata berikutnya yang muncul dalam urutan n. n biasanya dipilih sebagai 2 atau 3 (bigrams dan trigram).
Adakah titik yang diketahui di mana pelacakan data untuk rantai ke-n menjadi kontraproduktif, mengingat jumlah waktu yang diperlukan untuk mengklasifikasikan korpus tertentu satu kali pada tingkat itu? Atau mengingat jumlah waktu yang diperlukan untuk mencari probabilitas dari kamus (struktur data)?
text-mining
natural-language
jonsca
sumber
sumber
Jawaban:
Anda harus mencari tabel atau plot yang membingungkan dengan ukuran n-gram .
Contoh:
http://www.itl.nist.gov/iad/mig/publications/proceedings/darpa97/html/seymore1/image2.gif :
http://images.myshared.ru/17/1041315/slide_16.jpg :
http://images.slideplayer.com/13/4173894/slides/slide_45.jpg :
Kekacauan tergantung pada model bahasa Anda, ukuran n-gram, dan kumpulan data. Seperti biasa, ada trade-off antara kualitas model bahasa, dan berapa lama waktu yang dibutuhkan untuk menjalankannya. Model bahasa terbaik saat ini didasarkan pada jaringan saraf, sehingga pilihan ukuran n-gram kurang menjadi masalah (tetapi kemudian Anda harus memilih ukuran filter jika Anda menggunakan CNN, di antara hyperparameter lainnya ...).
sumber
Ukuran Anda "kontra produktif" bisa sewenang-wenang - mis. dengan banyak memori cepat dapat diproses lebih cepat (lebih masuk akal).
Setelah mengatakan itu, pertumbuhan eksponensial masuk ke dalamnya dan dari pengamatan saya sendiri tampaknya berada di sekitar tanda 3-4. (Saya belum melihat studi khusus).
Trigram memang memiliki keunggulan dibandingkan bigrams tetapi kecil. Saya tidak pernah menerapkan 4 gram tetapi peningkatannya akan jauh lebih sedikit. Mungkin urutan besarnya serupa berkurang. Misalnya. jika trigram meningkatkan hal-hal 10% dari bigrams, maka perkiraan yang masuk akal untuk 4-gram mungkin peningkatan 1% dari trigram.
Namun pembunuh sebenarnya adalah memori dan pengenceran jumlah numerik. Dengan10 , 000 corpus kata yang unik, maka model bigram perlu 100002 nilai-nilai; model trigram perlu100003 ; dan 4 gram akan dibutuhkan100004 . Sekarang, oke, ini akan menjadi array yang jarang, tetapi Anda mendapatkan gambarannya. Ada pertumbuhan eksponensial dalam jumlah nilai, dan probabilitasnya menjadi jauh lebih kecil karena dilusi jumlah frekuensi. Perbedaan antara pengamatan 0 atau 1 menjadi jauh lebih penting dan pengamatan frekuensi masing-masing 4-gram akan turun.
Anda akan memerlukan corpus besar untuk mengimbangi efek dilusi, tetapi Hukum Zipf mengatakan corpus besar juga akan memiliki kata-kata yang lebih unik ...
Saya berspekulasi bahwa inilah mengapa kita melihat banyak model bigram dan trigram, implementasi, dan demo; tetapi tidak ada contoh 4-gram yang berfungsi penuh.
sumber