Mengenai menggunakan model bigram (N-gram) untuk membangun vektor fitur untuk dokumen teks

10

Pendekatan tradisional konstruksi fitur untuk penambangan teks adalah pendekatan bag-of-words, dan dapat ditingkatkan menggunakan tf-idf untuk mengatur vektor fitur yang menjadi ciri dokumen teks yang diberikan. Saat ini, saya mencoba menggunakan model bahasa bi-gram atau (N-gram) untuk membangun vektor fitur, tetapi tidak cukup tahu bagaimana melakukannya? Bisakah kita cukup mengikuti pendekatan bag-of-words, yaitu, menghitung jumlah frekuensi dalam hal bi-gram daripada kata-kata, dan meningkatkannya menggunakan skema pembobotan tf-idf?

pengguna3125
sumber

Jawaban:

4

Iya. Itu akan menghasilkan lebih banyak fitur: mungkin penting untuk menerapkan beberapa cut-off (misalnya membuang fitur bi-gram atau kata-kata yang muncul kurang dari 5 kali dalam dataset Anda) agar tidak menenggelamkan classifier Anda dengan terlalu banyak noise fitur.

ogrisel
sumber
Terima kasih. Apakah maksud Anda bahwa ide umum saya menghitung setiap nilai fitur dalam hal bigram (N-gram) benar? Dengan kata lain, tidak ada perbedaan besar dalam menghitung nilai fitur antara bag-of-words dan model N-gram. Terimakasih atas klarifikasinya.
user3125
Ya, Anda dapat menggunakan keduanya semua bigrams + unigrams (kata-kata) dalam sejumlah besar fitur (selama Anda memangkas yang paling sering dengan beberapa level cut-off).
ogrisel
3

Jumlah bigrams dapat dikurangi dengan memilih hanya mereka yang memiliki informasi timbal balik positif.

Kami melakukan ini untuk menghasilkan sekumpulan perwakilan bigrams di jalur Penambangan XML INEX, http://www.inex.otago.ac.nz/tracks/wiki-mine/wiki-mine.asp .

Apa yang tidak kami coba adalah menggunakan informasi timbal balik antara istilah dalam menimbang bi-gram. Lihat https://en.wikipedia.org/wiki/Pointwise_mutual_information , https://www.eecis.udel.edu/~trnka/CISC889-11S/lectures/philip-pmi.pdf dan http: //www.nltk. org / howto / collocations.html untuk penjelasan yang lebih baik tentang informasi timbal balik yang tajam untuk bigrams.

Lihat /programming/20018730/computing-pointwise-mutual-information-of-a-text-document-using-python dan /programming/22118350/python-sentiment-analysis -menggunakan-pointwise-mutual-informasi untuk pertanyaan lain yang berkaitan dengan ini.

Chris de Vries
sumber
dead link :-( ...
Renaud
1
@Renaud Links telah diperbarui :-)
Chris de Vries
0

Menggunakan proyeksi acak untuk mengurangi dimensi data mungkin terbukti bermanfaat untuk mengurangi ruang yang diperlukan untuk menyimpan fitur, https://en.wikipedia.org/wiki/Random_projection . Ini berskala sangat baik dan setiap contoh dapat diproyeksikan ke ruang dimensi yang lebih rendah secara mandiri dan tanpa metode optimasi langsung seperti PCA, SVD, Sammon Maps, NMF, dll.

Chris de Vries
sumber